Table des matières

, , , ,

Configuration d'une tablette Wacom intuos 5

Cette page explique comment configurer et faire fonctionner une tablette graphique wacom intuos 5 (et aussi intuos 4) sous Ubuntu (testé sous 12.04). Sont proposés dans ce tutoriel deux scripts qui permettent non seulement de configurer les boutons pour les associer à des raccourcis, mais également de faire fonctionner le touch ring comme sous windows : c'est à dire avec quatre modes différents que l'on sélectionne grâce au bouton central du touch ring (par exemple : mode 1 = zoom in/out, mode 2 = brush size, mode 3 = switch layers, mode 4 = rotation).

Principales commandes

Ça se fait en ligne de commande, parce que l'application graphique est très limitée. Vous pouvez cependant changer l'orientation de la tablette (gaucher ou droitier), ainsi que le mode absolu ou souris. Le reste des fonctionnalités proposées ne fonctionnent qu'en ligne de commande.

Les principales commandes utiles sont :

## Note : il y a des scripts qui gèrent le touch ring et les boutons, voir plus bas. Je ne donne ces commandes qu'à titre purement indicatif (pour montrer comment on fait). Mais seuls les scripts sont nécessaires et suffisants.

commande :

xsetwacom #dans un terminal
# puis :
xsetwacom --list devices

Ainsi que :

xinput list-props "Wacom Intuos5 touch L Pen stylus"

Puis pour gérer la déceleration du curseur en mode relatif seulement (la valeur par défaut est 1.000000, c'est à dire pas de déceleration) :

xinput set-float-prop "Wacom Intuos5 touch L Pen stylus" "Device Accel Constant Deceleration" 3.000000
xinput set-float-prop "Wacom Intuos5 touch L Pen eraser" "Device Accel Constant Deceleration" 3.000000

Vous mettez la valeur que vous voulez à la place de 3.000000, plus le chiffre est grand plus cela ralentit le curseur, mais uniquement en mode souris (relatif), pas en absolu ! Personnellement je ne m'en sers plus car ma tablette est en mode absolu… Mais c'est pratique si vous avez une petite surface (A6) mappée sur un grand écran et que ça manque de précision…

_

Pour la configuration des boutons, en passant par xsetwacom :

Les boutons sont ainsi disposés (pour gaucher) :

• bouton central (du touch ring) = bouton 1

Puis on remonte les huit boutons dans l'ordre croissant :

(boutons du bas)

• 1er bouton = button 2

• 2eme bouton = button 3

• 3eme bouton = button 8

• 4eme bouton = button 9

(boutons du haut)

• 5eme bouton = button 10

• 6eme bouton = button 11

• 7eme bouton = button 12

• 8eme bouton = button 13

_

(touch ring, note : les up et down sont inversés pour gaucher)

xsetwacom set "Wacom Intuos5 touch L Pen pad" AbsWheelDown "key i"
xsetwacom set "Wacom Intuos5 touch L Pen pad" AbsWheelUp "key d"

Exemple pour les boutons 2, 3, 8 et 9 que l'on associe à différents raccourcis :

xsetwacom set "Wacom Intuos5 touch L Pen pad" Button 2 "key ctrl"
xsetwacom set "Wacom Intuos5 touch L Pen pad" Button 3 "key ctrl z"
xsetwacom set "Wacom Intuos5 touch L Pen pad" Button 8 "key m"
xsetwacom set "Wacom Intuos5 touch L Pen pad" Button 9 "key p"

_

Pour mapper la tablette sur un seul écran :

xrandr #Pour avoir le nom de l'écran. Ici c'est DFP2 qui m'intéresse.
xsetwacom --list devices #Pour avoir les périphériques tablettes.
xsetwacom set "Wacom Intuos5 touch L Pen stylus" MapToOutput DFP2
xsetwacom set "Wacom Intuos5 touch L Pen eraser" MapToOutput DFP2

Les scripts de configuration prêt à l'emploi

Script principal

Ce script lance la configuration, il faut le lancer soit à chaque démarrage de session, soit manuellement, mais dans tout les cas après que vous ayez branché votre tablette.

Créer un fichier .sh, avec le script dedans, puis, le rendre exécutable. Notez que des changements peuvent être nécessaires pour rendre fonctionnels ces scripts, il faut les personnaliser quelque peu. En particulier, vous devez récupérer et remplacer les noms des différents périphériques de votre tablette (commande xsetwacom –list devices).

intuos.sh
#!/bin/bash
 
## Si la modification du fichier rc.local n'ouvre pas les droits en écriture du fichier status_led0_select, alors passer par sudo et décommenter la ligne suivante :
#sudo /bin/chmod 666 /sys/bus/usb/devices/2-7:1.0/wacom_led/status_led0_select
## note : sudo demande de taper le mot de passe administrateur. De plus, allez dans votre système de fichier pour trouver le chemin exact vers le fichier "status_led0_select" et
## corriger la commande si nécessaire.
## Voir les commentaires au sujet de la technique rc.local versus sudo.
 
## lance xbindkeys si il n'est pas déjà lancé. Ceci concerne le touch ring. Voir les commentaires du script "Toggle ring.sh".
ps -e | grep -q xbindkeys || xbindkeys &
 
## In order to bind key "Ctrl Alt r" to "Toggle ring.sh".
xsetwacom set "Wacom Intuos5 touch L Pen pad" Button 1 "key Ctrl Alt r"
 
## Faites vos associations de bouttons ici.
xsetwacom set "Wacom Intuos5 touch L Pen pad" Button 9 "key r"
xsetwacom set "Wacom Intuos5 touch L Pen pad" Button 2 "key Ctrl z"
xsetwacom set "Wacom Intuos5 touch L Pen pad" Button 3 "key PgDn"
xsetwacom set "Wacom Intuos5 touch L Pen pad" Button 8 "key PgUp"
xsetwacom set "Wacom Intuos5 touch L Pen pad" Button 10 "key h"
 
## Mappe le stylet et la gomme à un écran donné (ici DFP2) :
xsetwacom set "Wacom Intuos5 touch L Pen stylus" MapToOutput DFP2
xsetwacom set "Wacom Intuos5 touch L Pen eraser" MapToOutput DFP2
 
#end

_

Script de commutation pour le touch ring

Le script "Toggle ring.sh" change automatiquement les commandes associées à AbsWheelUp et AbsWheelDown lorsque l'on appuie sur le bouton central du touch ring. Cela permet de commuter entre les quatre modes. Pour cela, il faut associer un raccourcis clavier (par exemple Alt Ctrl r) au script suivant (un raccourcis qui si possible n'est pas déjà utilisé pour autre chose!). Il faut pour cela utiliser xbindkeys et installer la version graphique xbindkeys-config.

Pour lancer xbindkey en version graphique, tapez dans un terminal :

xbindkeys-config

Enregistrer le fichier script suivant sous le nom "Toggle ring.sh" et le rendre exécutable, puis associer dans xbindkeys-config le raccourcis "Control Alt r" à la commande/action suivante : /home/erwan/Documents/Admin_PC/Tablette\ Wacom\ Intuos/Toggle\ ring.sh ## Note : pensez à corriger la commande avec votre propre chemin d'accès à votre script "Toggle ring.sh".

:!: ATTENTION : Il faut aussi penser à donner les droits de modification du fichier "status_led0_select" qui gère les LEDs du touch ring. Pour cela passer par la modification du rc.local donnée en commentaire du script "Toggle ring.sh", ou par la commande sudo dans le script "intuos.sh". Pour voir la différence et choisir entre ces deux techniques, voir le commentaire dans le script "Toggle ring.sh":

Toggle_ring.sh
#!/bin/bash
 
## Touch ring toggle script
##
## Bind Button 1 (button center of touch ring) to the script. Ceci est fait dans l'interface graphique d'xbindkeys. Voir commentaire à ce sujet.
##
## Technique du "rc.local", ne marche que si la tablette est branchée au moment du boot de l'ordi.
## To allow script to select mode status LEDs edit rc.local to change root
## only permissions on the sysfs status_led0_select file:
##   gksudo gedit /etc/rc.local
## Add the following comment and command (before 'exit 0'):
##   # Change permissions on status_led0_select file so being root isn't
##   # required to switch Wacom touch ring mode status LEDs.
##   /bin/chmod 666 /sys/bus/usb/devices/2-7:1.0/wacom_led/status_led0_select
##   # OR (chez moi il y en a deux, il faut tester l'un et l'autre pour trouver le bon)
##   /bin/chmod 666 /sys/bus/usb/devices/2-7:1.1/wacom_led/status_led0_select
##
## Cette technique modifiant le fichier "rc.local" ne fonctionne que lorsque la tablette est branchée dès le boot du PC. Une autre technique existe si vous souhaitez pouvoir brancher votre tablette en cours de cession,
## mais il faudra alors rentrer votre mot de passe administrateur à chaque fois... Pour cela décommenter la ligne sudo bin/chmod 666 dans le script "intuos.sh"
## Pour vérifier que les droits sont acquis :
## ls -l /sys/bus/usb/devices/2-7:1.0/wacom_led/status_led0_select
## Si réponse est la suivante, les droits ne sont pas acquis, et il faut donc passer par sudo :
## -rw------- 1 root root 4096 Mar  6 12:10 /sys/bus/usb/devices/3-2:1.0/wacom_led/status_led0_select
##
##
## Intuos - status_led0_select file = the left (only) ring status LEDs.
## Cintiq - status_led1_select = the left ring; status_led0_select =
## the right ring status LEDs.  Same for the touchstrips.
##
## For mode state notification use:
##   sudo apt-get install libnotify-bin
## Otherwise comment (#) out the notify-send lines.  If libnotify-bin
## installed see 'man notify-send' for details.
 
# check if mode_state file exists, if not create it and set to 0
if [ ! -f /tmp/mode_state ]; then
        echo 0 > /tmp/mode_state
fi
 
# read mode state value from temporary file
MODE=`cat /tmp/mode_state`
 
# select touch ring mode status LED for current mode state
echo $MODE > /sys/bus/usb/devices/2-7:1.0/wacom_led/status_led0_select
 
# for DEVICE use the pad "device name" from 'xinput list'
#DEVICE="Wacom Intuos4 6x9 pad"
DEVICE="Wacom Intuos5 touch L Pen pad"
 
# set touch ring function option and notification for the 4 toggled modes
if [ "$MODE" == 0 ]; then
        xsetwacom set  "$DEVICE" AbsWheelUp key minus  # scroll up
        xsetwacom set  "$DEVICE" AbsWheelDown key plus  # scroll down
        notify-send -t 1500 "Mode 1:  Scroll up or down."
elif [ "$MODE" == 1 ]; then
        xsetwacom set  "$DEVICE" AbsWheelUp key d  # increase brush radius (must be mapped in GIMP)
        xsetwacom set  "$DEVICE" AbsWheelDown key i  # decrease brush radius (must be mapped in GIMP)
        notify-send -t 1500 "Mode 2:  Increase or decrease brush size in Gimp"
elif [ "$MODE" == 2 ]; then
        xsetwacom set  "$DEVICE" AbsWheelUp key a  # zoom in
        xsetwacom set  "$DEVICE" AbsWheelDown key b  # zoom out
        notify-send -t 1500 "Mode 3:  Zoom in or out in Gimp."
elif [ "$MODE" == 3 ]; then
        xsetwacom set  "$DEVICE" AbsWheelUp key c  # select previous layer
        xsetwacom set  "$DEVICE" AbsWheelDown key e  # select next layer
        notify-send -t 1500 "Mode 4:  Select previous or next layer in Gimp"
fi
 
# toggle button increment counter
MODE=$((MODE += 1))
 
# set next mode state
if (( "$MODE" > 3 )); then  # roll over to 0, only 4 mode states available
        echo 0 > /tmp/mode_state
else
        echo $MODE > /tmp/mode_state
fi

Pour lancer la config, une fois la tablette branchée, exécuter le script principal "intuos.sh" et c'est bon !

Sources