{{tag>Xenial Trusty matériel graphisme tablette_graphique}}
----
====== Tablettes graphiques Wacom ======
{{:180px-wacom_pen-tablet.jpg|}}
**[[wpfr>Wacom]]** est l'un des plus gros producteurs de tablettes graphiques, dont les produits sont très populaires auprès des artistes, des designers graphiques, des architectes, et des dessinateurs de BD.
Les tablettes Wacom sont remarquables par leur utilisation d'un système de **stylet sans-fil**, **sans-pile**, **sensible à la pression** et à l'**inclinaison**. Les derniers produits supportent le toucher (//touch//), éliminant le recours à une souris.
En plus de fabriquer et de vendre des tablettes graphiques comme produits à part entière, Wacom fournit aussi des //technologies d'entrées graphiques// utilisées dans la plupart des tablettes pour ordinateurs, appelées **Penabled Technology**.
Les pilotes linux pour le matériel Wacom sont développés avec la collaboration d'un employé de Wacom, [[https://sourceforge.net/p/linuxwacom/_members/|Ping Chen]].
Les tablettes graphiques jusqu'à la série Intuos5 et Bamboo (tablettes non tactiles, jusqu'à CTH 460 et 661 - antérieures à 2013) fonctionnent nativement avec les pilotes **[[apt>xserver-xorg-input-wacom]]** présents dans les dépôts officiels.
Pour les tablettes de la gamme Intuos Pen et Intuos Pen and Touch (CTH 480 et 680 - depuis 2013), le support a été rajouté le 6 décembre 2013 dans les pilotes [[https://sourceforge.net/projects/linuxwacom/|Linux Wacom]] (version 0.22) Ces pilotes sont compatibles avec le noyau Linux à partir de la version 2.6.26. Depuis Ubuntu 14.04 et le noyau Linux 3.13, le support des dernières tablettes (CTH 480 et 680) est intégré d'office.
Vous trouverez [[:liste_tablettes_graphique|ici]] une liste du niveau de prise en charge des tablettes wacom.
ATTENTION: en raison d’incessant changement entre les versions du pilote, cette documentation est indicative et vous devrez __vous même vérifier les syntaxes des commandes__ que vous emploierez! (ex: //%%--list devices%%// pour vérifier l’appellation des périphériques, etc..)
===== Installation=====
La première chose à faire est de tester si les pilotes présents dans les dépôts officiels fonctionnent avec votre matériel. Il suffit alors [[:tutoriel:comment_installer_un_paquet|d'installer le paquet]] **[[apt>xserver-xorg-input-wacom]]** s'il n'est pas déjà présent, puis de redémarrer votre ordinateur.
Si votre matériel n'est pas reconnu, soit vous [[:migration|migrez]] vers une version plus récentes d'Ubuntu, soit vous [[:ltsenablementstack|installez une version plus récente du noyau]].
===== Configuration =====
Si votre tablette est correctement prise en charge par le pilote, vous pourrez la configurer via l'outil **Tablette graphique Wacom** présente dans les **[[:gnome-control-center|Paramètres système]]** d'Ubuntu.
{{ :materiel:wacom_parametres_xenial.png?350 }}
Néanmoins, pour une configuration plus poussée ou pour les tablettes dont le support par le pilote est récent ou incomplet, il faut passer par l'utilitaire en ligne de commande **xsetwacom**. Celui-ci permet de gérer les paramètres de sensibilité de pression, de seuil de clic, des fonctions des boutons, du mode du curseur et de sa vitesse, sans modifier manuellement le fichier de configuration du serveur X.
Attention toutefois, tout réglage effectué avec **xsetwacom** est perdu lors du redémarrage du système et lorsque la tablette est débranchée. Si vous voulez conserver vos réglages, il faudra les écrire dans un script (voir plus bas).
==== Les commandes de base ====
En entrant le nom du programme, sans options, dans un [[:terminal]] :
xsetwacom
Vous obtiendrez la syntaxe principale ainsi que la liste des options.\\
__La syntaxe principale suit cette règle :__
xsetwacom option commande arguments
Il existe trois **commandes** que nous allons principalement utiliser.\\
* **list**, liste les périphériques, les paramètres disponibles et les modificateurs de touches
* **set**, change la valeur actuel d'un paramètre
* **get**, affiche la valeur actuel d'un paramètre
les trois **arguments de list** sont **dev**, **param** et **mod** respectivement pour périphériques, paramètre et modificateurs.\\
si aucun argument n'est donné à list l'argument dev est utilisé.
Voir la page [[:tuto_configuration_wacom_intuos5|configuration d'une tablette Wacom intuos 5 (ubuntu 12.04)]] pour la configuration spécifique des tablettes équipées d'un anneau tactile (touchring).
=== Lister les périphériques ===
xsetwacom --list dev
Exemple de sortie (Intuos Touch & Pen CTH 680) :
Wacom Intuos PT M Pen stylus id: 16 type: STYLUS
Wacom Intuos PT M Pen eraser id: 17 type: ERASER
Wacom Intuos PT M Finger touch id: 18 type: TOUCH
Wacom Intuos PT M Finger pad id: 19 type: PAD
Notez que si vous débranchez puis rebranchez la tablette, les **id** peuvent changer.
=== Lister les paramètres disponibles ===
La sortie peut être longue. Toutes les options sont les une à la suite des autres avec une description en anglais.\\
xsetwacom --list parameters
=== Lister les modificateurs de touches ===
Cela vous donnera le nombre de modificateurs disponibles et leurs noms ainsi que le nombre et les noms des touches spéciales supportées
xsetwacom --list modifiers
=== Afficher la valeur actuelle d'un paramètre ===
Les deux **arguments de get** sont **dev_name** et **param** respectivement pour le nom du périphériques, le paramètre que l'on veut voir.\\
On peut faire suivre param par un autre paramètre pour obtenir une liste de la valeur de ces options.\\
dev_name est le nom du périphérique que vous avez récupéré avec list dev.\\
Ici on récupère, pour le stylet, le mode, les paliers de pression, la courbe de pression, le mode double ecran
xsetwacom get stylus mode Threshold PressCurve TwinView
1
6
25700
0
=== Changer la valeur actuelle d'un paramètre ===
Les trois arguments de set sont dev_name, param et value respectivement pour le nom du périphériques,le paramètre à changer et la nouvelle valeur de ce paramètre.\\
Value peut être une valeur décimale ou en utilisant le nom anglais pour ce paramètre
xsetwacom set stylus mode Relative
xsetwacom get stylus mode
0
xsetwacom set stylus mode Absolute
xsetwacom get stylus mode
1
l'option -x affiche le resultat sous la forme du fichier de configuration xorg
xsetwacom -x get stylus mode
Option "Mode" "on"
=== Dual Screen ou Mapper la tablette sur un seul écran ===
On commence par trouver le nom de l’écran que l'on souhaite utiliser :
xrandr
Screen 0: minimum 320 x 200, current 3286 x 1080, maximum 8192 x 8192
LVDS connected 1366x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
1366x768 60.0*+
1280x720 59.9
1152x768 59.8
1024x768 59.9
800x600 59.9
848x480 59.7
720x480 59.7
640x480 59.4
HDMI-0 disconnected (normal left inverted right x axis y axis)
VGA-0 connected 1920x1080+1366+0 (normal left inverted right x axis y axis) 510mm x 287mm
1920x1080 60.0*+
1600x1200 60.0
1680x1050 60.0
1280x1024 75.0 60.0
1440x900 75.0 59.9
1280x960 60.0
1280x800 59.8
1152x864 75.0
1024x768 75.1 70.1 60.0
832x624 74.6
800x600 72.2 75.0 60.3 56.2
640x480 72.8 75.0 66.7 60.0
720x400 70.1
J'ai donc deux écrans actifs, je vais garder "VGA-0"
on a aussi besoin du nom des différent périphériques de la tablette
xsetwacom list dev
Wacom BambooFun 6x8 stylus id: 14 type: STYLUS
Wacom BambooFun 6x8 eraser id: 15 type: ERASER
Wacom BambooFun 6x8 cursor id: 16 type: CURSOR
Wacom BambooFun 6x8 pad id: 17 type: PAD
Il ne reste plus qu'as faire "xsetwacom --set "Nom du périphérique" MapToOutput Nom de l'écran" pour chacun des périphériques donc:
xsetwacom --set "Wacom BambooFun 6x8 stylus" MapToOutput VGA-0
xsetwacom --set "Wacom BambooFun 6x8 eraser" MapToOutput VGA-0
xsetwacom --set "Wacom BambooFun 6x8 cursor" MapToOutput VGA-0
et on peut en faire un script comme expliqué au chapitre suivant :)
**Pour les utilisateurs de carte graphique Nvidia** (avec les pilotes propriétaires uniquement) la commande "xrandr" pour trouver le nom de l'écran sera inutile; le "nom de l'écran" **doit être spécifié** par "HEAD-0", "HEAD-1", etc.\\
2 ou 3 essais empiriques de "xsetwacom --set .... HEAD-X " suffiront à déterminer lequel de vos écrans est celui que vous voulez utiliser avec votre tablette. [[http://sourceforge.net/apps/mediawiki/linuxwacom/index.php?title=Dual_and_Multi-Monitor_Set_Up|Source]].
=== Vérifier que la surface active est proportionnelle à l'écran ===
__La surface active n'est pas forcément proportionnelle à votre écran!__
Cette commande donne la surface totale de la tablette active par défaut:
xsetwacom --get "Wacom Intuos3 9x12 stylus" Area
Un calcul avec une simple règle de trois en fonction du nombre de px de l'écran donne la surface active à définir,
et l'applique avec:
xsetwacom --set "Wacom Intuos3 9x12 stylus" Area 0 0 MaxXvalue MaxYvalue
Voir [[http://www.timotheegiet.com/animtim|animtim]]
== Exemple: avec une intuos3 ==
J'ai un dual screen (facultatif). Je "map" ma palette sur l’écran le plus grand (cf haut dessus).
C'est un 1240X1024, donc **1280/1024=1.25**
La tablette me donne elle:
60960 45720, donc **60960/45720=1.3333** damned! :-/
Il est donc nécessaire de corriger le plus gros chiffre pour faire correspondre les ratios.
Je prend donc le plus petit chiffre que je multiplie par le bon ratio pour avoir l'autre chiffre correspondant.
Donc: **45720*1.25=57150**
Je peut donc configurer le bon ratio de la palette avec:
xsetwacom --set "Wacom Intuos3 9x12 stylus" Area 0 0 57150 45720
Il faut donc re-faire la même ligne pour "**__eraser__**" au lieu de "**__stylus__**"!
==== Automatiser le chargement des options ====
Comme mentionné plus haut, les réglages effectués via **xsetwacom** sont éphémères, et perdus lors du débranchement de la tablette ou du redémarrage de l'ordinateur. Pour les sauvegarder et les rendre permanents, il est possible :
* d'utiliser le démon **[[http://sourceforge.net/apps/mediawiki/linuxwacom/index.php?title=Wdaemon|wdaemon]]**
* de rentrer les paramètres en dur dans le répertoire **xorg.conf.d** ou dans le fichier **xorg.conf**, mais ces paramètres seront perdus lors de la mise à jour du système d'exploitation et/ou des pilotes de la carte graphique,
* de scripter les commandes **xsetwacom** puis d'exécuter ces scripts à la demande, avec l'avantage de conserver les scripts après une réinstallation du système, mais avec l'inconvénient de n'offrir ces réglages qu'à un seul utilisateur de l'ordinateur.
=== Exemples de scripts ===
Script écrit pour une Wacom Bomboo :
#!/bin/sh
# Correspondance:
# "< " == button1
# ">" == button3
# "FN1" == button2
# "FN2" == button4
# Assigne "< " à ctrl+z (that's "undo" in GIMP)
xsetwacom set pad button1 "core key ctrl z"
# Assigne ">" à ctrl+y (that's "redo" in GIMP)
xsetwacom set pad button3 "core key ctrl y"
# Assigne "FN1" à ctrl
xsetwacom set pad button2 "core key ctrl"
# Assigne "FN2" à shift
xsetwacom set pad button4 "core key shift"
# Position absolue contrairement à la souris
xsetwacom set stylus mode "Absolute"
# Zoom pour Gimp
xsetwacom set pad AbsWDn "CORE KEY +"
xsetwacom set pad AbsWUp "CORE KEY -"
Sauvegardez ce script dans votre répertoire personnel, par exemple dans un dossier caché **./tablette/**, avec le nom **Bamboo.sh**.
Autre script écrit pour une Intuos Touch & Pen (CTH680) :
#!/bin/bash
## Pad
PAD="Wacom Intuos PT M Finger pad"
xsetwacom set "$PAD" Button 3 "key Ctrl Super T" #bouton en haut à gauche
xsetwacom set "$PAD" Button 1 "key super" #bouton en bas bas à gauche
xsetwacom set "$PAD" Button 9 "key Ctrl Z" #bouton en haut à droite
xsetwacom set "$PAD" Button 8 "key Ctrl Y" #bouton en bas à droite
# Tactile
TOUCH="Wacom Intuos PT M Finger touch"
xsetwacom set "$TOUCH" ScrollDistance 10
xsetwacom set "$TOUCH" TapTime 400
Sauvegardez ce script dans votre répertoire personnel, par exemple dans un dossier caché **''./tablette/''**, avec le nom **Intuos.sh**.
Script d'activation/désactivation de l'interface tactile à la demande (sur une Intuos Pen & Touch - pour éviter les clics parasites de la paume lors de l'utilisation du stylet) :
#!/bin/bash
## Get the "Device name" or ID number
## for touch from 'xsetwacom list dev'
DEVICE="Wacom Intuos PT M Finger touch"
TOUCH_STATE=`xsetwacom get "$DEVICE" touch`
if [ "$TOUCH_STATE" == "on" ]
then
echo "Touch is ON, turning OFF."
xsetwacom set "$DEVICE" touch off
else
echo "Touch is OFF, turning ON."
xsetwacom set "$DEVICE" touch on
fi
Sauvegardez ce script dans votre répertoire personnel, par exemple dans un dossier caché **./tablette/**, avec le nom **touch.sh**.
=== Utilisation de la configuration ===
Rendez vos scripts [[:tutoriel:script_shell#executer_un_script|exécutables]].
Ensuite, pour les configurations, vous pourrez créer un [[:raccourci-lanceur]] avec la commande : ''.tablette/config.sh''
Il vous suffira alors d'aller chercher le lanceur dans votre menu et de cliquer dessus pour charger vos réglages lorsque vous branchez votre tablette. Ça n'est pas très convivial, mais ça a le mérite de marcher.
Pour l'activation/désactivation du tactile, il faut passer par le menu **Clavier** des [[:paramètres système]] d'Ubuntu et suivantes : définissez un raccourci pointant vers
.tablette-scripts/touch.sh
Dans l'exemple ci-dessus, la combinaison de touche associée à ce raccourci est ''Ctrl + Super + T''. Veillez à assigner la même combinaison de touches à l'un des boutons de votre tablette (dans l'exemple ci-dessus, pour la CTH 680, il s'agit de la touche 3 à laquelle on passe le paramètre ''"key Ctrl Super T"''), dans le script de configuration. Vous n'aurez alors qu'à appuyer sur le bouton concerné pour activer et désactiver le tactile.
===== Voir aussi =====
* Configurer votre tablette graphique Wacom avec GitHub (en) [[https://github.com/linuxwacom/xf86-input-wacom/wiki/Tablet-Configuration-1:-xsetwacom-and-xorg.conf|GitHub xsetwacom]],
* Configurer votre tablette graphique Wacom avec [[http://www.petit-laboratoire-de-graphisme-potentiel.com/tutoriels/configurer-tablette-graphique-wacom-avec-xsetwacom.html|xsetwacom]],
* [[https://linuxwacom.github.io|Linux wacom project]]
* [[https://ubuntuforums.org/showthread.php?p=4785779|post sur le sujet]] (Anglais)
* [[https://forum.ubuntu-fr.org/viewtopic.php?pid=2884137|sur le forum]] Mine d'informations!! 8-O
* [[https://forum.ubuntu-fr.org/viewtopic.php?id=319659|Thread : personnaliser les boutons Wacom]]
* [[https://www.juggling.ch/gisin/videos/videos_bg.html|Une vidéo et un document expliquant la calibration de tablettes Wacom]]
* Logiciels utiles :
* [[:xournal]] est un logiciel de prise de notes manuscrite et d'annotation de PDF, proposant de nombreuses options pour tirer parti des tablettes graphiques.
* Inkscape : Le célèbre logiciel de dessin vectoriel [[:inkscape]] prend en charge la pression, l'angle et la vitesse du stylet. La configuration se passe dans **FIchier => Périphériques de saisie**, passez alors le stylet en mode "fenêtre".
* [[:Gimp]] prend en charge la pression du stylet pour gérer l'opacité des traits. La configuration s'opère dans le menu **Edition => Préférences => Périphériques d'entrée => Configurer les périphériques d'entrée étendus**. Pour les périphériques //Stylus//, //Eraser//, et //Cursor// choisissez "Ecran" au lieu de "Désactivé".
* [[:Cellwriter]] : Logiciel de reconnaissance d'écriture manuscrite.
* [[:krita]]: Le logiciel de création graphique 2D.
=====Problèmes connus=====
====Cadrage de la tablette ====
[[http://www.think-underground.com/post/2006/09/25/44-faire-marcher-|Voir ici]]. Lien HS
====Après mise en veille tablette ne fonctionne plus====
* Après une simple mise en veille, la tablette ne fonctionne plus : Il vous faudra redémarrer complètement l'ordinateur pour retrouver la tablette, fermer X ne suffit pas. Ou alors exécuter les commandes suivantes pour recharger le module Wacom :
sudo modprobe -r wacom
sudo modprobe -i wacom
D'apres le site [[http://linuxwacom.sourceforge.net/index.php/howto/main|Linux Wacom Project]]
Introduction traduite de [[wp>Wacom]]
==== xorg-macros ====
Si le message d'erreur suivant apparait:
must install xorg-macros 1.8 or later before running autoconf/autogen
Vous pouvez essayer [[https://forum.ubuntu-fr.org/viewtopic.php?id=449985|ce tuto, point 3]].
Essayé avec intuos-pen CTH480, ça fonctionne.
----
//Contributeurs: [[utilisateurs:benje]] , [[utilisateurs:maxouille]], [[utilisateurs:yagraph]], [[utilisateurs:aurelien88]] [[utilisateurs:sduth]] [[utilisateurs:Xzu Rukneg]]//