<[email protected]>
<[email protected]>
Copyright (c) 1999,2000 par Stefan Runkel [email protected]
Ce document d�crit l'installation de tablettes Wacom sous Linux.
Vous pouvez le distribuer soit sous les termes de la licence GPL version 2 ou sup�rieur, soit sous les termes du Projet de Documentation de Linux (LPD).
Ces licenses devraient �tre applicables quelque soit l'endroit o� vous avez obtenu ce document.
Derni�re remarque, depuis que le LDP n'autorise pas de modifications autre que les traductions, les versions modifi�es ne peuvent �tre distribu�es que sous la license GPL.
Les tablettes graphiques sont aujourd'hui relativement bon march�. Elles sont d'un grand secours pour la retouche d'image. En plus de faire la m�me chose qu'une souris, elles proposent les caract�ristiques suivantes :
Ce document s'adresse principalement aux produits Wacom, parce que j'en poss�de trois diff�rents et que ces produits sont assez courants en Europe.
Cependant, je pense que ce doit �tre facile d'adapter ces explications pour d'autres produits.
J'ai �crit ce document car je n'en ai pas trouv� sur ce sujet qui contenait tout ce que je voulais savoir. J'ai donc rassembl� toutes les parties d'informations trouv�es sur le Net dans ce HowTo. Consid�rant les questions de mes lecteurs, je sais que ce document aussi n'est pas complet et qu'il ne le sera jamais, mais je peux dire qu'il aidera beaucoup de gens et chaque nouvelle question compl�tera ce HowTo.
La derni�re version de ce document sera disponible sur http://www.runkeledv.de/linux.htm.
Les commentaires, corrections et compl�ments sont les bienvenus. Contactez-moi �
[email protected] ou � [email protected]
Je voudrais remercier tous les auteurs list�s sur la section Plus d'informations / Documents utilis�s ainsi que tous ceux qui ont r�pondu � mes questions par email. Ce HowTo refl�te leur travail.
Ce chapitre contient ce qui est n�cessaire pour faire fonctionner votre tablette.
Premi�rement, vous devez bien s�r avoir une tablette graphique. Celle-ci doit pouvoir se connecter au port s�rie (RS232) de votre ordinateur car le support USB pour Linux est encore en d�veloppement. Au moment o� ce doument est �crit (mars 2000), le support du noyau est commenc� pour les nouveaux produits USB de Graphire et Intuos et cela fonctionne avec XFree. Gpm n'est plus maintenu, donc il ne faudra pas s'attendre � un driver USB pour ce logiciel.
Les tablettes Wacom suivantes sont support�es :
Les plus anciennes s�ries SD et HD ne sont pas support�es par XFree86 standard. Cependant, un driver modifi� qui supporte ces p�riph�riques ainsi que quelques produits OEM avec un �cran int�gr� comme le Thinkpad 360 PE d'IBM et le Toshiba T200 est t�l�chargeable � l'adresse : http://hwr.nici.kun.nl/pen-computing/pen-computing-formats.html
Il existe un grand nombre de programmes bas�s sur la biblioth�que GTK.
XInput est support� par GTK ce qui le rend facile � utiliser.
Enfin, les applications suivantes supportent XInput :
Il est disponible � l'adresse : ftp://kiwi.cs.berkeley.edu/pub/raph/xink.tar.gz
Le gpm d�mon Gpm supporte beaucoup de p�riph�riques d'entr�e incluant les tablettes. Si vous voulez avoir la liste du mat�riel support� par votre Gpm, tapez :
gpm -t help
et vous l'obtiendrez.
Le driver Wacom de gpm 1.18.0 et inf�rieur semble aller pour les tr�s vieux mod�les artpad, mais la documentation n'en parle pas. Je l'ai test� avec les mod�les ultrapad, penpartner, graphire et intuos mais �a ne marchait pas. J'ai r��crit le driver Wacom pour gpm et pour l'utiliser il faut au moins la version 1.18.2 de Gpm. Depuis cette version, l'ancien driver Wacom a �t� remplac� par mon driver Wacom pour les produits graphire, penpartner et ultrapad.
Cependant, si vous avez une vieille artpad, utilisez gpm < 1.18.1 et essayez :
killall gpm ; gpm -t wacom -m /dev/ttyS0
et �a devrait marcher.
Si vous poss�dez une graphire, utilisez plut�t gpm > 1.18.1 et pour le mode relatif (comme une souris) :
killall gpm ; gpm -t wacom -o relative -m /dev/ttyS0
pour le mode absolu (comme une tablette) :
killall gpm ; gpm -t wacom -o absolute -m /dev/ttyS0
Bien s�r, vous n'aurez que les boutons et le mouvement, la pression et la sensibilit� ne sont pas impl�ment�es parce qu'elles ne sont pas utiles dans les �diteurs de texte.
Il n'y a pas de support pour les boutons de fonction d'ultrapad et la roulette de graphire.
Si vous utilisez gpm et XFree86, il se peut que vous ayez des probl�mes car normalement un p�riph�rique peut �tre utilis� par un seul programme � la fois. Pour cela, il y a deux solutions :
Si vous ne voulez pas de traductions et que vous ne voulez que les donn�es octet par octet, tapez : gpm -t ps2 -R raw . Vous pouvez ensuite demander � XFree d'utiliser ce second p�riph�rique en ajoutant la ligne Device "/dev/gpmdata" dans XF86Config dans la section pointeur ou dans la section XInput.
Il faut au moins XFree la version 3.3.3.1 car elle a d�velopp� le support de XInput, le deuxi�me bouton fonctionne et il n'y a plus l'effet bloquant de la souris.
Si vous devez utiliser une version ant�rieure, Xinput est support� depuis la 3.1.2.d.
Le support de XInput dans XFree est configur� dans un fichier appel� XF86Config. Dans la plupart des cas, ce fichier est plac� dans /etc ou dans /etc/X11. Je vais pr�senter une tr�s courte section de configuration et expliquer ce qui peut �tre chang� et pourquoi.
Section "Module"
# Wacom Device Driver
Load "xf86Wacom.so"
EndSection
Section "XInput"
# Settings for Wacom pen
SubSection "WacomStylus" # type of input device
Port "/dev/ttyS0" # Serial Port
DeviceName "Pen1" # Name, choose it free
Baudrate 9600 # Usable only for intuos
Mode Absolute # Map Tablet Area to Screen
AlwaysCore # See text
HistorySize 200 # Buffer size for motion events
EndSubSection
EndSection
XFree supporte XInput gr�ce � l'utilisation de modules. Le module pour Wacom s'appelle xf86Wacom.so. Il se place dans la section "Module" et ne doit appara�tre qu'une seule fois par fichier XF86Config.
Les produits pentpartner et graphire ne reconnaissent que le type de dispositif mais ne peuvent pas les distinguer. Par exemple, vous ne pouvez pas utilisez deux crayons diff�rents, un configur� en rouge et l'autre configur� en bleu ; tout ce que diront ces produits c'est : "J'ai reconnu une pointe de crayon", ou "J'ai trouv� une gomme", ou "J'ai trouv� une souris".
XInput d�crit les types de dispositifs aux p�riph�riques. Ces dispositifs sont ensuite sp�cifi�s dans XF86Config comme une sous-section de la section XInput :
WacomStylus
Pointe d'un stylo ou a�rographe.WacomEraser
Gomme d'un stylo ou a�rographe.WacomCursor
Souris, par exemple souris graphire, "lens cursor", souris 4d.Vous devez donner un nom � chaque p�riph�rique configur� (vous pouvez choisir n'importe quel nom). Ce nom sera ensuite utilis� dans votre logiciel pour communiquer avec ce dispositif.
XInput doit conna�tre le port s�rie o� se trouve votre tablette. Cela me permet d'utiliser deux tablettes diff�rentes en m�me temps, par exemple une graphire connect�e � /dev/ttyS0 et une penpartner connect�e � /dev/ttyS1.
Ceci contr�le comment le driver Wacom fonctionne. Le niveau va de 0 � 10. Si cette sp�cification n'est pas indiqu�e, le DebugDevel 0 est utilis�, ce qui repr�sente le niveau le plus bas.
Exemple :
SubSection "WacomStylus" # Pen
DeviceName "PenRed" # Name, choose it free
...
DebugLevel 10 # be very verbose
...
EndSubSection
Le produit intuos est plus comp�tent que les produits penpartner et graphire car il peut distinguer plusieurs dispositifs en m�me temps. Cela signifie qu'il est maintenant possible d'utiliser deux crayons (un configur� en rouge et l'autre en bleu). Comme on l'a vu, l'utilisation de dispositifs (pointe, gomme, a�rographe, souris) n'est pas assez document� pour manipuler des stylos diff�rents. Cependant, chaque dispositif intuos, que ce soit un stylo, une souris ou autre, a un num�ro de s�rie que l'on sp�cifie � XInput pour savoir ce qui est utilis�. Voici la section de configuration :
Section "XInput"
SubSection "WacomStylus" # Pen
DeviceName "PenRed" # Name, choose it free
...
Serial 2609917443 # Serial Number of that device
...
EndSubSection
SubSection "WacomStylus" # another Pen
DeviceName "PenBlue" # Name, choose it free
...
Serial 2609918664 # Serial Number of that device
...
EndSubSection
EndSection
Notez que les dispositifs combin�s comme les stylos ont seulement un num�ro de s�rie. Le driver utilise ce num�ro de s�rie pour reconna�tre un stylo sp�cifique et le type de dispositif pour distinguer la pointe de ce stylo de sa gomme.
Vous devriez obtenir la liste de vos diff�rents num�ros de s�rie.
BEGIN xf86WcmProc dev=0x8354d60 priv=0x833e3f0 type=stylus flags=9 what=1
xf86WcmProc pWcm=0x8354d60 what=ON
END xf86WcmProc Success what=1 dev=0x8354d60 priv=0x833e3f0
device_id=0x96 serial_num=2595227137 type=cursor
[cursor] abs prox=false x=0 y=0 z=0 button=false buttons=0
(le num�ro de s�rie est � la ligne 4, 2e block).
Si vous configurez un dispositif en mode absolu, cela signifie que la surface active de la tablette repr�sente votre �cran. Chaque fois que vous pointez un point sur la tablette avec un dispositif absolu, votre pointeur de souris appara�tra au m�me point sur votre �cran.
Si vous avez configur� le dispositif en mode relatif, le comportement de votre souris sera plus intuitif, c'est-�-dire que si vous d�collez la souris de la tablette, la bougez et que vous la remettez, le pointeur de souris n'aura (normalement) pas boug�.
Exemple :
Mode absolu
XFree connait deux pointeurs : un avec seulement les caract�ristiques standards (boutons, mouvements), qui est utilis� pour s�lectionner les menus, du texte ou pour cliquer sur des boutons. Ceci est le pointeur natif (Core device).
L'autre pointeur est utilis� par des applications qui veulent plus d'informations, comme la pression ou l'inclinaison.
Ceci est le pointeur �tendu (Extension device).
Avec la version 3.3.3.1, l'expression "AlwaysCore" indique au driver qu'il doit envoyer les deux types d'�v�nements.
Si vous ne sp�cifiez pas "AlwaysCore" dans votre XF86Config, alors le pointeur est initialement utilis� comme pointeur �tendu, c'est-�-dire qu'il n'est utilisable qu'avec des applications et que vous ne pouvez pas l'utiliser pour s�lectionner des menus dans votre gestionnaire de fen�tre.
Sinon (si "AlwaysCore" est sp�cifi�), votre pointeur r�agit comme un pointeur natif (en plus de la souris) et donne des informations sur la pression et l'inclinaison aux applications qui ouvrent le pointeur en mode �tendu.
Vous pouvez configurer deux pointeurs logiques, un en mode natif et un en mode �tendu, pour un m�me pointeur physique.
Pour ce faire, tapez tout simplement deux sections identiques, seule la d�signation du DeviceName doit changer, puis sp�cifiez "AlwaysCore" dans la derni�re section seulement.
Exemple :
AlwaysCore
Ceci configure la taille du buffer qui est utilis� pour le cache des mouvements.
Ceci sp�cifie de combien d'unit�s le dispositif doit bouger avant que le driver bouge le pointeur. Ce peut �tre n�cessaire quand de grandes r�solutions sont utilis�es.
Exemple :
Suppress 6
Le mode inclinaison permet l'envoi d'informations sur l'inclinaison pour les pointeurs intuos. Si cette d�claration est omise, seule l'information sur la pression est transmise.
Ces quatre sp�cifications permettent de r�duire la surface active de la tablette. Mon �norme tablette intuos A4, par exemple, est tellement grande que l'on ne peut pas l'utiliser pour un travail de peinture car les passages du stylo sont trop longs. J'utilise donc ces quatre sp�cifications pour indiquer au driver que l'�cran sera repr�sent� sur le quart en bas � gauche de la tablette.
Il est possible de d�finir plus d'une surface active sur la m�me tablette :
d�finissez autant de sous sections que vous avez besoin avec la m�me sp�cification du Port mais avec des sp�cifications Top, Bottom... diff�rents, ainsi que les noms de p�riph�riques.
Ceci d�finit de multiples pointeurs logiques ayant chacun leurs limites individuelles.
De m�me, vous pouvez utiliser un pointeur en mode absolu et un autre en mode relatif.
Exemple :
TopX 0 #coordonnees du coin en haut a gauche
TopY 5000
BottomX 5000 #coordonnees du coin en bas a droite
BottomY 10000
Si vous utilisez les quatre sp�cifications ci-avant, vous voulez parfois faire des calculs sur la taille et la position d'un rectangle qui doit �tre d�fini, et souvent les coordonn�es maximales de la tablette et la r�solution sont utiles. Pour obtenir ces valeurs, lancer votre serveur : X 2>t. Tuer le serveur X (Ctrl+Alt+Backspace) et faites un grep "X=" t . Vous devriez r�cup�rer les valeurs en question.
(--) Wacom IV tablet maximum X=5103 maximum Y=3711 X
resolution=1000 Y resolution=1000 suppress=6
(--) Wacom tablet top X=0 top Y=0 bottom X=5103 bottom Y=3711
(--) Wacom tablet top X=0 top Y=0 bottom X=5103 bottom Y=3711
(--) Wacom tablet top X=0 top Y=0 bottom X=5103 bottom Y=3711
Cette option utilise les sp�cifications TopX, TopY (ou leurs valeurs par d�faut, si rien n'est indiqu�) et ajuste les valeurs BottomX et BottomY, ainsi :
Les sp�cifications BottomX, BottomY sont ignor�es, car ces valeurs seront calcul�es.
Ceci est disponible depuis la version alpha 16 et est utilis� pour contr�ler la pression minimum requise pour d�tecter qu'un outil est press� sur la tablette. Cela fonctionne avec les gammes intuos et graphire. Notez que la valeur enti�re doit �tre cod�e comme une cha�ne de caract�re, contrairement � toutes les autres valeurs enti�res.
Exemple :
Threshold "5"
Gimp a �t� compil� avec le support XInput depuis la version 1.1.x.
Gimp doit conna�tre les p�riph�riques qu'il peut utiliser et dans quel mode. Vous devez ouvrir la boite de dialogue Fichier/Dialogues/P�riph�riques d'Acquisition pour le configurer. Vous trouverez deux listes d�roulantes en haut de cette fen�tre appel�e P�riph�rique et Mode. Choisissez le p�riph�rique � configurer dans la liste des P�riph�riques et choisissez un mode dans la liste Mode .
Les modes sont :
Si vous avez deux curseurs li�s � votre p�riph�rique, vous avez deux solutions :
Sous les deux listes d�roulantes, se trouve un tableau avec deux registres Axes et Touches. Axes assigne un axe a une fonction, ce n'est g�n�ralement pas n�cessaire de le changer. Mais dans le cas d'un peripherique tactile construit dans une tablette qui bouge a 90 degres, vous pourrez echanger les axes x et y.
Certaines tablettes ont des touches programmables permettant d'appeler des fonctions souvent utilis�es. La
partie Touches vous permet d'associer un caractere � une touche de fonction. Par exemple, vous pouvez associer Ctrl+Shift+R a une touche de fonction. Si vous activez cette touche, elle remplace Ctrl+Shift+R.
Le driver actuel de Wacom supporte seulement les touches de fonction de la serie ultrapad et la partie macro des produits intuos n'est pas encore utilisable.
Maintenant, nous allons vois commment les peripheriques peuvent �tre utilis�s. Ouvrez la boite de dialogue dans Fichier/Dialogues/Device Status. Ouvrez une image.
Vous configurez chaque peripherique les uns ind�pendemment des autres dans Gimp.
Si vous utilisez le curseur avec plusieurs peripheriques dans la fenetre o� se trouve l'image, vous verrez que les p�riph�riques de la boite de dialogue Device Status changent. Si vous choisissez un outil, pinceau, couches ou couleur avec un p�riph�rique, une fois encore les changements sont visibles dans la boite de dialogue. Vous pouvez sauvegarder les parametres de la boite de dialogue Status, pour qu'ils soient restor�s a la prochaine session.
C'est un p�riph�rique sp�cial toujours pr�sent. Il g�n�re un �v�nement chaque fois qu'un nouveau p�riph�rique devient un pointeur natif. Cela s'appelle "axes", sa valeur est l'identificateur du p�riph�rique de pointage natif. Je ne sais pas comment un utilisateur peut l'utiliser, c'est principalement utile pour une usage interne.
Les boutons des p�riph�riques sont aussi diff�rents que les p�riph�riques le sont :
Un stylo a au moins une pointe, mais il peut avoir un ou deux c�t�s et une gomme. Une souris peut avoir jusqu'a 32 boutons (mais habituellement 3).Les boutons sont numerot�s de 1 au nombre de boutons. Avec les deux prochaines "astuces" vous pouvez changer cette numerotation.
xmodmap ne change que le pointeur natif. Comme il n'y a qu'un pointeur natif a la fois, il ne fait pas de diff�rence entre les p�riph�riques physiques pouvant devenir un pointeur natif. Pour le moment, oublions tout ce qu'on a dit sur XInput et pensez au gaucher qui veut simplement �changer les boutons gauche et droit de la souris. Vous allez ex�cuter xmodmap -pp pour voir quel est le pointeur natif courant. Vous allez obtenir le tableau suivant :
Physical Button
Button Code
1 1 # ( Left Button )
2 2 # ( Right Button )
3 3 # ( Middle Button )
Pour �changer les boutons, tapez xmodmap -e "pointer = 2 1 3" et pour revenir a l'�tat d'origine xmodmap -e "pointer = default". Ceci marche avec chaque p�riph�rique avec au moins 2 boutons. Notez que l'expression "pointer = x x x" doit �tre accompagn�e de guillemets pour �viter que cela soit chang� par le shell.
Revenons a XInput. Si vous utilisez Gimp, vous voulez sans doute changer la configuration du bouton pour chaque p�riph�rique s�par�ment (�changer les deux c�t�s du crayon). Frederic Lepied ecrit un utilitaire, appel� xinput.
Pour �changer les deux c�t�s, faites un xinput list pour avoir la liste des peripheriques et leur configuration actuelle. L'echange est fait avec xinput set-button-map Pen1 1 3 2 ou Pen1 est le p�riph�rique � changer.
Lancez avec XFree 3.3.2, cela marche aussi avec les p�riph�riques configur�s avec AlwaysCore dans XF86Config.
Avec xsetmode vous pouvez changer le mode d'un p�riph�rique entre absolu et relatif.
Exemple :
xsetmode GraphireMouse ABSOLUTE
.
Si aucun des p�riph�riques n'est configur� en AlwaysCore et que vous voulez en configurer un, utilisez xsetpointer.
Faites un xsetpointer Devicename. L'ancien p�riph�rique natif (souvent une souris) n'est plus utilisable et celui specifi� sera active. Par exemple, on peut configurer une souris graphire en p�riph�rique natif standard avec un XFree lanc�.
xsetpointer -l liste tous les peripheriques et le mode dans lequel ils sont.
Certains p�riph�riques ont les boutons ou pads programmables pour lesquels un scancode ou une chaine peuvent etre associ�s. Cela ne fonctionne qu'avec des p�riph�riques en mode extension et est fait pour l'application dans laquelle vous voulez utiliser ces touches.
xinput -l donne des informations � propos du num�ros des touches et autre comme le premier scancode.
Je poss�de trois tablettes Wacom et je les utilise sur mon portable. Quand aucune tablette n'est connect�e et que je lance le mode X, je dois attendre longtemps jusqu'� ce que le driver abandonne. Si xdm est utilis�, cela augmente le nombre d'essais.
J'ai �crit deux utilitaires qui devrait faciliter ceci :
Ceci est bas� sur le fait qu'un fichier XF86Config est s�par� en au moins un fichier XF86Config.bare, qui contient les informations communes � toutes les configurations et de nombreux exemples, chacun d'eux pr�sentant une information sp�ciale d'une configuration particuli�re.
Les deux utilitaires sont mis ensemble pour une configuration qui marche.
Vous pouvez t�l�charger ce paquet � l'adresse http://www.runkeledv.de/download, il se nomme xinput_chooser_sr.
Il semble que vous n'avez pas compil� votre gtk avec le support XInput. Recompilez gtk et utilisez ./configure --with-xinput=xfree pour compiler le Makefile, puis faites un make && make install. Enfin, recompilez votre Gimp pour qu'il utilise ce gtk �tendu.
Oui, cela g�n�re les �v�nements bouton 4 et bouton 5.
Lisez la section � propos des Num�ros de s�rie.
Reportez vous � la section � propos des boutons.
D�sol�, vous ne pouvez pas utiliser les macros de l'intuos.
Seules les macros artpad/ultrapad fonctionnent.
Lisez la section � propos des
Cl�s de Gimp.
Oui, lisez la section � propos des Sp�cifications Haut...
Oui, lisez la section � propos des Sp�cification de port.
Vous avez probablement m�lang� un nouveau gpm avec une ancienne biblioth�que gpm, ou vous utilisez un ancien client qui cherche la socket gpmctl dans /var/run au lieu de /dev. Dans le dernier cas, vous avez deux options : r�cup�rer de nouveaux clients et les recompiler ou changer gpm.h pour qu'il utilise /var/run au lieu de /dev et recompiler gpm et libgpm.
gpm :
page de manuel gpm, FAQ gpm, code souce du fichier mice.c
XInput :
HOWTO XInput de Owen Taylor
XFree et Wacom :
page de manuel XF86Config
site de Frederic Lepied
beaucoup, beaucoup d'e-mails ...