Marre du touchpad ? Xinput est votre ami
Si comme moi, le touchpad de votre ordinateur portable vous fait tourner en bourrique. Si vous en arrivez, comme moi, à recourir au DuckTape et au morceau de carton pour l'éradiquer. C'est vrai quoi, c'est soulant un touchpad ! surtout quand il est de mauvaise qualité ou que vous ne vous en servez jamais. Il est toujours là pour bouger le curseur au mauvais moment ( quand on tape du texte !!! sisi, ca vous est déja arrivé ! ). Mort aux touchpads !!
Alors hier, j'ai pris la décision de lui fermer le clapet définitivement. Sans rire : un morceau de carton et du DuckTape, c'est super efficace et pas prise de tete. Un peu radical, soit. C'est ce que m'a dit JLaunay sur twitter, qui m'a proposé une solution : utiliser Xinput. Un article de son blog permet de comprendre le principe ( lisez aussi les commentaires ).
Je découvre et fais un petit xinput --list
pour savoir ce qu'il y a dans le ventre de mon Hp.
⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ Logitech USB Optical Mouse id=10 [slave pointer (2)] ⎜ ↳ ImPS/2 Generic Wheel Mouse id=13 [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)] ↳ Power Button id=8 [slave keyboard (3)] ↳ Sleep Button id=9 [slave keyboard (3)] ↳ hp webcam id=11 [slave keyboard (3)] ↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)] ↳ HP WMI hotkeys id=14 [slave keyboard (3)]
Pour ma part, le touchpad est répertorié sous l'id 13 (ImPS/2 Generic Wheel Mouse). La logitech Usb est la souris externe. En suivant l'aide de Jlaunay, je tente un
xinput set-int-prop 13 "Device Enabled" 8 0
Et miracle, ce fichu touchpad est réduit au silence \\o/ Pour réactiver le touchpad :
xinput set-int-prop 13 "Device Enabled" 8 1
il me suffit donc de faire deux alias dans mon ~/.zshrc
alias nopad='xinput set-int-prop 13 "Device Enabled" 8 0' alias pad='xinput set-int-prop 13 "Device Enabled" 8 1'
Et l'affaire est réglée. Merci encore à JLaunay pour l'aide, je n'y serais pas arrivé tout seul, et le DuckTape c'est vrai que ça fonctionne, mais c'est moins constructif !!
Edit du 27 octobre 2011
Suite au commentaire de Pat Guano, je rajoute ici un script de sa composition, qui permet la meme chose mais en beaucoup plus propre :
#!/bin/sh # Désactiver le touchpad DNAME="Generic Wheel Mouse" DEV=`xinput --list | grep "$DNAME"|cut -d= -f2|cut -c1,2` xinput -set-prop "$DEV" "Device Enabled" 0 exit
Je vous remets également le contenu de son commentaire (Ça s'est déjà vu que des commentaires se perdaient :/) :
Il devrait suffire d'écrire xinput set-int-prop 13 "Device Enabled" 1. En effet, c'est ici que j'ai vu la première fois le '8'. L'idée avec les alias n'est pas mal, mais les IDs peuvent changer avec un update du système. Ça m'est arrivé. Des variables, bien placée, aident à compenser cet effet. Aussi, un script est plus facilement adaptée aux noms du «device». Alors, je favorise la version avec grep et cut:
DNAME="Touchpad" DEV=`xinput --list | grep "$DNAME"|cut -d= -f2|cut -c1,2` xinput -set-prop "$DEV" "Device Enabled" 0``