Linux/Ubuntu : Améliorer le trackpad/touchpad

Attention, cet article date de 7 ans, les informations peuvent ne plus être à jour...

Mon gros souci (si je peux dire) avec le Dell XPS c’est le touchpad/trackpad qui est un peu mal géré sous Ubuntu par défaut, surtout en ce qui concerne la reconnaissance de la paume lors de la frappe.

Je vous propose quelques options, toutes indépendantes les unes des autres pour améliorer la chose, à vous de les assembler si besoin.

Je pense que ça doit marcher avec les autres distributions aussi.

 

 

Désactiver les boutons physiques clique-gauche et clique-droit pour augmenter la surface du touchpad

Éditer le fichier « xxx-synaptics.conf » (avec xxx un numéro) se trouvant dans Ordinateur > usr > share > X11 > xorg.conf.d

Une fois le fichier trouvé, l’éditer via la commande suivante : (merci à worldsayshi pour l’astuce)

gksudo gedit /usr/share/X11/xorg.conf.d/xxx-synaptics.conf

(en remplaçant « xxx » par votre numéro, dans mon cas, le numéro est 70)

Chercher la ligne :

Option « SoftButtonAreas »

et la commenter :

# Option « SoftButtonAreas »

(ajouter un # devant)

Le clique-droit devient un simple clique-gauche et permet de faire bouger le curseur comme le reste du touchpad.

 


Activer le PalmDetection lors de la frappe :

Même fichier qu’au-dessus où il faut ajouter :

Option « PalmDetect » « 1 »

en-dessous de « Option « SecondarySoftButtonAreas » « 58% 0 0 15% 42% 58% 0 15% » »

 


Désactiver le touchpad pendant la frappe sur le clavier :

  • Soit, via le logiciel Touchpad-Indicator
    (de mon côté, il ne fonctionne pas au démarrage, et fais planter mon curseur, obligé de brancher une souris pour le débloquer, mais permet bon nombre de réglage)
  • Soit via « syndaemon » qui est déjà dans Linux et permet justement de bloquer le touchpad pendant l’utilisation du clavier mais se fait en ligne de commande (l’option que j’utilise actuellement).

Pour cela, ouvrez un terminal et lancez la commande

xinput list

afin de vérifier le nombre de pilotes gérant votre touchpad.

Résultat de la commande xinput

Résultat de la commande

 

Sur le XPS il y a 2 pilotes : un qui commence par « DLL0 » et l’autre par « SynPS ».

Si vous n’avez que le « DLL », sautez l’étape suivante.

Sinon, il va falloir désactiver le « SynPS ». Pour cela, éditez le fichier « xxx-synaptics-quirks.conf » (avec xxx un numéro) se trouvant dans Ordinateur > usr > share > X11 > xorg.conf.d

Une fois le fichier trouvé, l’éditer via la commande suivante :

gksudo gedit /usr/share/X11/xorg.conf.d/xxx-synaptics-quirks.conf

(en remplaçant « xxx » par votre numéro, dans mon cas, le numéro est 51)

Et ajoutez tout en dessous les lignes suivantes : (merci à ddarling pour l’astuce)

# Disable generic Synaptics device, as we're using
# "DLL0704:01 06CB:76AE Touchpad"
# Having multiple touchpad devices running confuses syndaemon
Section "InputClass"
 Identifier "SynPS/2 Synaptics TouchPad"
 MatchProduct "SynPS/2 Synaptics TouchPad"
 MatchIsTouchpad "on"
 MatchOS "Linux"
 MatchDevicePath "/dev/input/event*"
 Option "Ignore" "on"
EndSection

 

Fichier synaptics-quirks

 

Enfin, dans vos programmes, chercher celui permettant d’ajouter des programmes au démarrage (sous Ubuntu c’est « Applications au démarrage ») et ajoutez la ligne suivante dans la partie commande et enregistrez : (merci à BassT pour l’astuce)

sh -c "sleep 5; killall syndaemon; syndaemon -i 0.2 -K -R -d -t"

 

Explication :

On inscrit la commande dans le fichier permettant de gérer les tâches via la commande « sh -c »

sleep 5 : Le nombre 5 est le temps d’arrêt en seconde qu’il faut au programme syndaemon avant qu’il puisse se lancer à l’ouverture de la session (à régler selon la puissance de votre machine et donc du temps qu’elle met avant d’afficher votre bureau + quelques secondes. Si ça ne marche pas essayez d’augmenter un peu le temps) ; si on ne met pas de temps, le programme ne démarre pas.

Pour savoir combien de temps votre machine met à démarrer, on peut le voir avec la commande suivante :

systemd-analyze time

killall syndaemon : Permet de réinitialiser syndameon à chaque fois (pour être sûr qu’il n’y a pas d’interférence.

syndaemon -i 0.2 -K -R -d -t : C’est la commande qui nous intéresse. Le nombre 0.2 est le temps en seconde pendant lequel vous ne pouvez pas réutiliser le touchpad après la dernière pression sur une touche du clavier. Les autres paramètres sont expliqués ici : ftp://www.x.org/pub/X11R7.5/doc/man/man1/syndaemon.1.html
(Certains enlèvent l’option « -t » ce qui permet de bloquer le curseur pendant la frappe).

Fermer la session et vous reconnecter pour que la commande prenne effet.

Si cette commande ne vous convient pas, il faut tester les différents paramètres dans un terminal en modifiant simplement la commande suivante :

syndaemon -i 0.2 -K -R -d -t

en tapant à chaque fois la commande :

killall syndaemon

pour réinitialiser syndaemon.

Par exemple, j’ai voulu tester les différents temps de reprise du touchpad :

test-syndaemon

L’option « -t » est manquante, ce qui permet de voir quand le blocage prend fin

 

Pas besoin de redémarrer dans ce cas, les modifications sont visibles instantanément mais ne sont pas sauvegarder.

Quand votre ligne de commande vous convient, n’oubliez pas d’éditer celle du programme de démarrage, c’est celle-là qui fera effet.

 

Il se peut que syndaemon vous empêche d’utiliser le « tap » du trackpad ou l’utilisation des 2 doigts. Si c’est le cas, la démarche à suivre est la suivante :
Copier le fichier /usr/share/X11/xorg.conf.d/xxx-synaptics.conf vers /etc/X11/xorg.conf.d(si le dossier n’existe pas, le créer) et, dans les 2 fichiers sous les lignes

Section "InputClass"
  Identifier "touchpad catchall"
  Driver "synaptics"
  MatchIsTouchpad "on"

coller

	Option "VertTwoFingerScroll" "on"
	Option "HorizTwoFingerScroll" "on"

(merci à invernizzie pour l’astuce)

 


Émuler le clique-central

Vérifier que l’option fonctionne en ouvrant un terminal et en collant la ligne suivante :

sh -c "synclient TapButton3=2"

Puis valider. Aller sur une page web avec du contenu (comme ma page d’accueil) et tapoter avec 3 doigts le touchpad. Si c’est bon, ouvrir le gestionnaire de programme de démarrage (« Applications au démarrage » dans Ubuntu) et ajouter un entrée en mettant le nom que vous voulez, et en commande coller :

sh -c "sleep 3; synclient TapButton3=2"

La différence par rapport à l’autre ligne est le fait que cette commande ne démarre qu’après 3 secondes à l’ouverture de la session, empêchant les programmes de synaptics d’écraser la modification. En gros, vous ré-écrivez par dessus.

Vérifiez que ça marche. SI ce n’est pas le cas, changer la valeur de 3 à 5 ou 10.

 


Modifier la zone de détection du PalmDetection :

http://pappanyn.me/blog/2017/05/03/ubuntu-and-the-dell-xps-9560-touchpad/

(Pas testé mais au cas où)

 


Désactiver le touchpad lors du branchement d’une souris :

gksudo gedit /etc/udev/rules.d/10-local.rules

Et y coller :

ACTION=="add", SUBSYSTEM=="input", KERNEL=="mouse[0-9]", ENV{DISPLAY}=":0",ENV{XAUTHORITY}="/home/$USER/.Xauthority", ENV{REMOVE_CMD}="/bin/sh -c '/usr/bin/synclient TouchpadOff=0'", RUN+="/bin/sh -c '/usr/bin/synclient TouchpadOff=1' "

En remplaçant $USER par votre nom de session.

(Merci à afternoon_sister pour l’astuce)

 


Passer à « libinput » :

sudo apt-get install git build-essential autoconf automake pkg-config libtool

sudo apt-get install libmtdev1 libmtdev-dev libudev-dev libevdev-dev xutils-dev libwacom-dev

sudo apt-get install xserver-xorg-dev

sudo apt-get install xserver-xorg-input-libinput-hwe-16.04 instead

gksudo gedit /usr/share/X11/xorg.conf.d/40-libinput.conf

Repérer la partie suivante :

Section « InputClass »
Identifier « libinput touchpad catchall »

Sous « Driver « libinput » » ajouter :

Option "Tapping" "True"
Option "PalmDetection" "True"
Option "TappingDragLock" "True"
Option "DisableWhileTyping" "True"

Redémarrer pour mettre à jour.

Libinput est censé être meilleur que Synaptics pour les options de Trackpad/Touchpad.

2 avis sur l'article “Linux/Ubuntu : Améliorer le trackpad/touchpad”

  1. Da Scritch dit :

    Avant d’éditer à la main, vérifier que votre window manager ne propose déjà pas déjà tout ça !
    Il se trouve que KDE (donc si vous utilisez Kubuntu ou que vous l’avez installé après coup) propose dans ses options de périphériques d’entrées pas mal d’options concernant les trackpads.

    La plupart de ce qui est décrit plus haut est donc plus facilement paramétable/testable/désa/réactivable

    • Lokoyote dit :

      @Da Scritch :

      Évidemment, mais là c’est surtout pour Ubuntu (comme indiqué dans le titre, qui est différent de KDE).

      Les options disponibles sont vérifiables sur la documentation officielle d’Ubuntu : https://doc.ubuntu-fr.org/touchpad

      Il y a Gpointing,KDE-touchpad, etc. Mais à savoir s’ils sont compatibles avec Ubuntu, là je ne sais pas.

      Mais merci de l’avoir spécifié pour ceux qui ne le savent pas.

Répondre à Lokoyote Annuler la réponse

Votre adresse de messagerie ne sera pas publiée.

Possibilité d'ajouter une balise de SPOILER via la syntaxe suivante :
[spoiler] Texte à cacher [/spoiler]