Déjà en standard, vous aurez peut-être remarqué que le défilement de la vue verticalement et horizontalement fonctionne alors qu'il n'est même pas représenté sur le pavé tactile ! En plus, si vous tapotez dans le coin supérieur droit vous découvrirez peut-être que ceci génère un clic milieu de souris[1]. Le coin inférieur droit génère quant à lui un clic droit. Tout ceci est lié au pilote des pavés tactiles dont le nom est synaptics[2]. Un petit tour dans sa documentation nous indique (traduction en Français pour les besoins du billet) :

$ man synaptics
      ·   Mouvement avec accélération et vitesse ajustables
      […]
      ·   Tirer/déplacer via tapotement court puis maintien du doigt sur le pavé tactile
      ·   Événements bouton du milieu et droit sur les coins haut et bas du pavé tactile
      ·   Défilement vertical en déplaçant le doigt sur le bord droit du pavé tactile
      ·   Défilement horizontal en déplaçant le doigt sur le bord inférieur du pavé tactile
      ·   Tapotements multi-doigts : deux doigts pour l'événement bouton du milieu et trois pour celui du bouton droit (Nécessite un matériel adéquat. Tous les modèles n'implémentent pas cette fonctionnalité.)
      ·   Vitesse de défilement sensible à la pression
      […]

Il est cependant précisé que toutes ces fonctionnalités ne sont pas disponibles sur tous les modèles, notamment les tapotements multi-doigts. Par ailleurs en fouinant un peu dans les paramètres de configuration décrits dans la documentation, on découvrira aussi qu'il est possible d'activer un défilement vertical de la vue par un mouvement circulaire du doigt démarrant dans un coin particulier du pavé tactile. Ça monte ou ça descend selon le sens de rotation, ce qui est très pratique sur les longs documents (pages web par exemple).

Configurer le pavé tactile

Si vous souhaitez accéder aux fonctionnalités les plus avancées de votre pavé tactile, l'article Synaptics Touchpad Tricks (« astuces pour pavé tactile Synaptics ») nous indique que c'est le fichier de configuration du serveur X qu'il faut modifier, le fameux /etc/X11/xorg.conf. Vous avez alors deux alternatives non exclusives :

  1. faire un réglage utilisateur par utilisateur, avec des interfaces graphiques spécialisées (par exemple gsynaptics[3])
  2. faire un réglage global pour tout le monde sans intervention de l'utilisateur

À chaque fois il faudra modifier la section de configuration du pavé tactile dans le fichier /etc/X11/xorg.conf. Pour la première alternative, il faut seulement ajouter l'option SHMConfig avec une valeur true sans quoi les outils graphiques n'auront aucun effet[4]. Pour la seconde alternative, il faut ajouter dans la section toutes les options qui correspondent à ce que vous souhaitez modifier. On obtient la liste des options en consultant la documentation de synaptics (voir plus loin pour un exemple).

Remarque : Synaptics est en fait un type de pavé tactile, l'autre type courant étant dénommé Alps. Tous deux sont gérés par le pilote synaptics mais on ne sait pas si les deux donnent accès aux mêmes fonctionnalités. La littérature sur Internet semble sous-entendre qu'il faudrait un pavé tactile Synaptics pour bénéficier des fonctionnalités avancées, ce que n'indique pas vraiment la documentation du pilote synaptics… En cas de problème, vous devriez pouvoir déterminer votre type de pavé tactile avec cette commande pour chercher ensuite de plus amples informations :

$ grep TouchPad /proc/bus/input/devices
N: Name="SynPS/2 Synaptics TouchPad"

Modification de /etc/X11/xorg.conf

Pour modifier le fichier /etc/X11/xorg.conf, il faut l'éditer en tant que root, ce qui donne dans une console avec l'éditeur nano :

$ sudo nano /etc/X11/xorg.conf

Rappelons que la commande sudo permet de se faire passer pour l'administrateur de la machine, si tant est qu'on ait été autorisé à utiliser cette commande[5].

Il faut ensuite chercher la section relative au pavé tactile. On la repère grâce au pilote synaptics :

Section "InputDevice"
       Identifier  "Synaptics Touchpad"
       Driver      "synaptics"
       Option      "SendCoreEvents" "true"
       Option      "Protocol" "auto-dev"
       Option      "Device" "/dev/psaux"
EndSection

Sur les Linux récent il est toutefois possible que cette section n'apparaisse pas car le serveur X privilégie maintenant un processus de configuration automatique. Dans ce cas il faudra ajouter la section ci-dessus avant la section Server Layout ci-dessous, puis modifier cette dernière afin d'y mentionner le pavé tactile configuré manuellement :

Section "Server Layout"
       Identifier      "Default Layout"
       Screen          "Default Screen"
       InputDevice     "Generic Keyboard"
       InputDevice     "Synaptics Touchpad"
EndSection

Notez bien que le nom donné dans la section Server Layout coïncide avec l'identifiant mentionné dans la section du pavé tactile (ligne « Identifier "Synaptics Touchpad" »). Si vous ne vous sentez pas à l'aise avec la modification de ce fichier qui conditionne quand même aussi l'affichage graphique de votre machine, vous pouvez en faire une copie avant modification :

$ sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.orig

Il est aussi possible de régénérer le fichier d'origine en cas de problème avec cette commande comme indiqué dans son entête :

$ sudo dpkg-reconfigure -phigh xserver-xorg

N'oubliez pas d'ajouter dans la section du pavé tactile les options qui vous conviennent ! Par exemple :

Section "InputDevice"
       Identifier  "Synaptics Touchpad"
       Driver      "synaptics"
       Option      "SendCoreEvents" "true"
       Option      "Protocol" "auto-dev"
       Option      "Device" "/dev/psaux"
       Option      "SHMConfig" "true"
       Option      "CornerCoasting" "true"
       Option      "VertTwoFingerScroll" "true"
       Option      "HorizTwoFingerScroll" "true"
       Option      "CircularScrolling" "true"
       Option      "CircScrollTrigger" "8"
EndSection

Ici on a activé le réglage du pavé via les outils types gsynaptics, la poursuite du défilement dans les coins, le défilement à deux doigts et le défilement circulaire. Pour finir il faut redémarrer le serveur X, ce que la combinaison de touches Control+Alt+Backspace doit faire[6]. Sinon il y a toujours la version ligne de commande, si pratique quand on opère à distance :

$ sudo /etc/init.d/gdm restart

Options du pilote synaptics

Comme indiqué plus haut les options sont toutes décrites dans la documentation du pilote (« man synaptics » dans une console) mais en langue anglaise. Celles qui paraissent les plus intéressantes sont :

  • VertScrollDelta et HorizScrollDelta : distance à parcourir par le doigt pour générer un événement scroll (permet de régler la vitesse de défilement)
  • CornerCoasting : active la poursuite du défilement lorsque le doigt arrive dans un coin du pavé tactile
  • VertTwoFingerScroll et HorizTwoFingerScroll : active le défilement à deux doigts pour les pavés tactiles le supportant
  • CircularScrolling et CircScrollTrigger : active le défilement par mouvements circulaires du doigt et définit dans quel coin du pavé tactile cette fonctionnalité est mise en marche (valeur 8 pour le coin supérieur gauche)

Si vous souhaitez sauvegarder auparavant les valeurs utilisées par défaut par le système, vous pouvez enregistrer le résultat de la commande suivante :

$ synclient -l
Parameter settings:
   LeftEdge                = 1872
   RightEdge               = 5072
   TopEdge                 = 1712
   BottomEdge              = 4144
   FingerLow               = 25
   FingerHigh              = 30
   FingerPress             = 256
   […]

Ceci vous permettra éventuellement aussi de régler la vitesse de défilement si elle ne vous convient pas en vous basant sur la valeur d'origine. La commande synclient utilisée est fournie avec le pilote synaptics comme le montre la recherche de ce nom de fichier dans les paquets du système :

$ dpkg -S synclient
xserver-xorg-input-synaptics: /usr/share/man/man1/synclient.1.gz
xserver-xorg-input-synaptics: /usr/bin/synclient

Pour sauvegarder les paramètres initiaux, on peut envoyer le résultat dans un fichier nommé par exemple synaptics-params.orig par une classique redirection de sortie texte dans la console[7] :

$ synclient -l > synaptics-params.orig

Vous voilà désormais armé pour entreprendre toutes les expérimentations possibles et imaginables avec votre pavé tactile ! ;-)

Notes

[1] lequel sert à coller la dernière sélection dans les systèmes Linux/Unix

[2] à ne pas confondre avec le gestionnaire d'applications sous les Linux Debian et dérivés : synaptic, sans s final…

[3] ou encore qsynaptics selon l'article cité mais dont aucune trace n'a été trouvée dans Debian Lenny

[4] de toute façon si vous lancez gsynaptics sans avoir fait cela, il vous le dira !

[5] c'est le cas par défaut sous Ubuntu pour l'utilisateur qui est créé à l'installation du système

[6] attention à enregistrer votre travail avant cela : ça stoppe net votre session…

[7] avec le caractère supérieur (>)