Des geekeries, de la MAO, de tout et de rien…
Je suis
Charlie

Astuces diverses concernant la tablette wacom

Icône auteur nah, Icône canondrier 15 août 2011, Icône commentaire
Mots clés Icône catégorie geekeries, GNU/Linux, linux, Tablet PC, classé dans Icône catégorie Asrall, Geekeries, Linux

Updated En cherchant une solution (qui marche) pour l'astuce 7 de l'article précédent, j'ai joué un peu avec xinput et les propriétés de la tablette.


Tout d'abord, listons les périphériques disponibles :

alex@yue ~> xinput list
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ Wacom ISDv4 E3 Finger touch             	id=11	[slave  pointer  (2)]
⎜   ↳ Wacom ISDv4 E3 Pen stylus               	id=12	[slave  pointer  (2)]
⎜   ↳ Microsoft X-Box 360 pad                 	id=15	[slave  pointer  (2)]
⎜   ↳ Logitech USB Laser Mouse                	id=16	[slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad              	id=18	[slave  pointer  (2)]
⎜   ↳ Wacom ISDv4 E3 Pen eraser               	id=20	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ Power Button                            	id=6	[slave  keyboard (3)]
    ↳ Video Bus                               	id=7	[slave  keyboard (3)]
    ↳ Video Bus                               	id=8	[slave  keyboard (3)]
    ↳ Power Button                            	id=9	[slave  keyboard (3)]
    ↳ Sleep Button                            	id=10	[slave  keyboard (3)]
    ↳ HP Webcam                               	id=13	[slave  keyboard (3)]
    ↳ Microsoft X-Box 360 pad (keys)          	id=14	[slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard            	id=17	[slave  keyboard (3)]
    ↳ HP WMI hotkeys                          	id=19	[slave  keyboard (3)]

Concentrons nous sur le stylet.

alex@yue ~> xinput list-props "Wacom ISDv4 E3 Pen stylus"
Device 'Wacom ISDv4 E3 Pen stylus':
	Device Enabled (152):	1
	Coordinate Transformation Matrix (154):	1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
	Device Accel Profile (274):	0
	Device Accel Constant Deceleration (275):	1.000000
	Device Accel Adaptive Deceleration (276):	1.000000
	Device Accel Velocity Scaling (277):	10.000000
	Wacom Tablet Area (283):	0, 0, 26112, 16320
	Wacom Rotation (284):	0
	Wacom Pressurecurve (298):	0, 0, 100, 100
	Wacom Serial IDs (285):	227, 0, 2, 0
	Wacom Serial ID binding (286):	0
	Wacom Capacity (287):	-1
	Wacom Pressure Threshold (288):	27
	Wacom Sample and Suppress (289):	2, 4
	Wacom Enable Touch (290):	1
	Wacom Hover Click (299):	0
	Wacom Enable Touch Gesture (291):	0
	Wacom Touch Gesture Parameters (292):	50, 20, 250
	Wacom Tool Type (293):	"STYLUS" (296)
	Wacom Button Actions (294):	"None" (0), "None" (0), "None" (0), "None" (0), "None" (0), "None" (0), "None" (0), "None" (0), "None" (0), "None" (0), "None" (0), "None" (0), "None" (0), "None" (0), "None" (0), "None" (0)
	Wacom Debug Levels (295):	0, 0

Je souhaite retrouver le même comportement que sous Windows : un appui sur le bouton du stylet simule un clic droit de la souris, sans toucher l'écran. Par défaut, il faut appuyer sur le bouton puis tapoter sur l'écran avec le stylet.

Utilisons alors la propriété Wacom Hover Clic

alex@yue ~> xinput set-prop "Wacom ISDv4 E3 Pen stylus" "Wacom Hover Click" 1
alex@yue ~>

Désormais, le comportement du stylet correspond à ce que je souhaite.


Parfois, il peut être utile de désactiver le mode tactile de l'écran.

Effectuons la même chose que pour le stylet :

alex@yue ~> xinput list-props "Wacom ISDv4 E3 Finger touch"
Device 'Wacom ISDv4 E3 Finger touch':
	Device Enabled (152):	1
	Coordinate Transformation Matrix (154):	1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
	Device Accel Profile (274):	0
	Device Accel Constant Deceleration (275):	1.000000
	Device Accel Adaptive Deceleration (276):	1.000000
	Device Accel Velocity Scaling (277):	10.000000
	Wacom Tablet Area (283):	0, 0, 2611, 1632
	Wacom Rotation (284):	0
	Wacom Serial IDs (285):	227, 1, 3, 0
	Wacom Serial ID binding (286):	0
	Wacom Capacity (287):	-1
	Wacom Pressure Threshold (288):	27
	Wacom Sample and Suppress (289):	2, 4
	Wacom Enable Touch (290):	1
	Wacom Enable Touch Gesture (291):	1
	Wacom Touch Gesture Parameters (292):	50, 20, 250
	Wacom Tool Type (293):	"TOUCH" (273)
	Wacom Button Actions (294):	"None" (0), "None" (0), "None" (0), "None" (0), "None" (0), "None" (0), "None" (0), "None" (0), "None" (0), "None" (0), "None" (0), "None" (0), "None" (0), "None" (0), "None" (0), "None" (0)
	Wacom Debug Levels (295):	0, 0

La propriété est bien entendu "Wacom Enable Touch".

alex@yue ~> xinput set-prop "Wacom ISDv4 E3 Finger touch" "Wacom Enable Touch" 0
alex@yue ~>

Pour réactiver l'écran tactile, il suffit de remettre la propriété à "1".
À noter que le stylet,a la gomme et le tactile sont totalement indépendants les uns des autres.
Pour que les changements soient permanents, il suffit d'écrire un petit script qui sera exécuté lors de l'ouverture de la session.


Pour revenir sur l'objectif de départ : faire en sorte que le stylet ne soit utilisable que sur un seul écran, au lieu de s'étendre sur les deux.
J'ai testé les deux méthodes :

xinput set-prop "Wacom ISDv4 E3 Pen stylus" --type=float "Coordinate Transformation Matrix" 0.4 0 0.6 0 0.666667 0 0 0 1
xsetwacom set "Wacom ISDv4 E3 Pen stylus" MapToOutput "LVDS1"

Aucune différence pour les deux, le curseur est toujours instable, et saute d'un écran à l'autre, que ça soit avec la carte intel ou la carte ati.
Je laisse tomber pour le moment.

Bonne nouvelle : J'ai refait des tests (le 5 janvier 2012), et cela fonctionne, en tout cas, avec la carte AMD. En "mappant" le stylet sur l'écran LVDS, le stylet reste bien sur l'écran du laptop, il n'y a plus le phénomène de "jitter" ou de saut d'un écran à l'autre qui se produit. J'ai pu dessiner sous Gimp sur mon écran tout en "regardant" une vidéo sur l'autre écran. Regardant entre guillements, parce que c'est difficile de regarder les deux écrans en même temps, tout en étant concentré sur un seul :D.