Page suivantePage précédenteTable des matières

5. Tablettes sous XFree

5.1 Version de XFree requise

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.

5.2 Une partie de XF86Config

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

5.3 Section Module

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.

5.4 Différents types de dispositifs

Un dispositif peut être :

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 :

5.5 Noms de périphériques

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.

5.6 Port

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.

5.7 Les niveaux de déboggage (DebugLevel)

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

5.8 Numéro de série (séries intuos seulement)

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.

Comment trouver le numéro de série d'un dispositif

  1. Configurer le DebugLevel à 6
  2. Lancer le serveur X en tapant X 2>t
  3. Passer tous les dispositifs (pointe, gomme...) sur la tablette en les notant dans l'ordre où ils sont passés
  4. Tuer le serveur X (Ctrl + Alt + Backspace)
  5. Faites un grep serial_num t

Vous devriez obtenir la liste de vos différents numéros de série.

Numéro de série - exemple de résultat obtenu

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).

5.9 Mode absolu, mode relatif

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

5.10 Pointeur en modes étendu, natif ou "AlwaysCore"

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

5.11 La taille de l'historique (HistorySize)

Ceci configure la taille du buffer qui est utilisé pour le cache des mouvements.

5.12 Dissimulation (Suppress)

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

5.13 Le mode inclinaison (intuos seulement) (Tilt Mode)

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.

5.14 Les spécifications TopX, TopY, BottomX, BottomY

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

Obtenir les valeurs X,Y maximales, la configuration courante et la résolution

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.

Obtenir la résolution - exemple de résultat

(--) 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

5.15 Conservation de la forme

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.

5.16 Seuil de pression

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"


Page suivantePage précédenteTable des matières