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.