Les touchpads Synaptics sont présents dans beaucoup d'ordinateurs portables, de marque Acer, Asus, Dell, Fujitsu, HP, Thinkpad, Sony, Toshiba entre autres. (Une liste ici.)

Ces touchpads permettent le multi-touch, le scrolling circulaire, le scrolling avec deux doigts.

Le clic à plusieurs doigts :

Sur la plupart des distributions, le clic à plusieurs doigts fonctionne déjà.

Si vous tapez avec un doigt, c'est un clic gauche, deux doigts un clic central, et trois doigts un clic droit, pratique !

Si cela n'est pas activé, je vous expliquerais dans la suite comment l'installer.

Activer les fonctions supplémentaires :

Il y a deux façons d'activer ces options : la modification directe dans le xorg.conf, ou utiliser l'interface graphique gsynaptics.

Avant de pouvoir utiliser gsynaptics, il faut activer l'option SHMConfig dans le xorg.conf.

Il faut d'abord sauvegarder le xorg.conf pour pouvoir le retrouver en cas d'erreur :

Dans un terminal :

sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak

En cas d'erreur, pour rétablir le fichier d'origine :

sudo cp /etc/X11/xorg.conf.bak /etc/X11/xorg.conf

Maintenant on peut modifier le xorg.conf :

Ouvrir le fichier :

sudo gedit /etc/X11/xorg.conf

Ensuite, chercher une section qui ressemble à cela :

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

Il suffit de rajouter cette ligne :

Option         "SHMConfig" "on"

La méthode graphique : gsynaptics

gsynaptics est un utilitaire permettant d'activer toutes ces options.
Il suffit de l'installer.
Pour Gnome, Gsynaptics se trouve dans le menu Système>Préférences>Touchpad

Et voilà, vous pouvez régler le type de défilement, la vitesse, les zones de défilement,...

La méthode "texte", la modification directe du xorg.conf

Pour ceux qui ne veulent pas utiliser gsynaptics, aiment configurer à la main, et les curieux qui veulent savoir ce qui se passe dans le fichiers de configuration :

Toutes les lignes données sont à rajouter dans la section synaptics.

Le défilement circulaire :

Option "CircularScrolling" "on"
Option "CircScrollTrigger" "0"


CircScrollTrigger défini le coin de départ du défilement il se règle comme ceci :

0 Tous les bords
1 Bord superieurs
2 Coin superieur droit
3 Bord droit
4 Coin inferieur droit
5 Bord inferieur
6 Coin inferieur gauche
7 Bord gauche
8 Coin inferieur gauche

Scrolling à deux doigts :
Option "VertTwoFingerScroll" "1"
Option "HorizTwoFingerScroll" "1"


Une configuration complète du xorg.conf
Section "InputDevice"
      Identifier "Touchpad"
      Driver "synaptics"
      Option "Device" "/dev/input/mouse0"
      Option "Protocol" "auto-dev"
      Option "LeftEdge" "130"
      Option "RightEdge" "840"
      Option "TopEdge" "130"
      Option "BottomEdge" "640"
      Option "FingerLow" "7"
      Option "FingerHigh" "8"
      Option "MaxTapTime" "180"
      Option "MaxTapMove" "110"
      Option "EmulateMidButtonTime" "75"
      Option "VertScrollDelta" "20"
      Option "HorizScrollDelta" "20"
      Option "MinSpeed" "0.25"
      Option "MaxSpeed" "0.50"
      Option "AccelFactor" "0.010"
      Option "EdgeMotionMinSpeed" "200"
      Option "EdgeMotionMaxSpeed" "200"
      Option "UpDownScrolling" "1"
      Option "CircularScrolling" "1"
      Option "CircScrollDelta" "0.1"
      Option "CircScrollTrigger" "2"
      Option "SHMConfig" "on"
EndSection


Oui, il y a beaucoup d'options et elles ne sont pas toutes là ! Je vais en présenter quelques-unes, mais pour plus de détails, voir man synpatics (la page de man sur internet).


*Edge sont les coordonnées des coins du touchpad.
FingerLow et FingerHigh : Quand la pression du doigt est en dessous (au dessus) de cette valeur, le driver considère un relâchement (une pression).
ClickTime : la durée du click par "tapping" (frappe du doigt).
AccelFactor : facteur d'accélération.
PalmDetect : active (ou désactive) la gestion du toucher de la paume (pour éviter les mouvements de souris lors d'une frappe au clavier par exemple).

Pour aller encore plus loin :

J'ai trouvé sur le site d'IBM un article pour ajouter le support du multi-touch.(comme par exemple l'agrandissement de la police avec 2 doigts,....)

Une vidéo d'exemple :


/!\ Ces modifications ne sont pas triviales, faites attention !

Je vais vous présenter rapidement la mise en œuvre mais pour les détails, je vous conseille vivement d'aller visiter la page sur le site d'IBM.

Il faut un kernel avec le support evdev activé, mais la plupart des distributions récentes sont dans ce cas.
Et il faut le module X11::GuiTest, disponible sur CPAN.

Pour l'installer :
Rendez-vous dans le dossier avec un terminal, puis :


perl Makefile.PL
make
make test
make install


Puis téléchargez le script perl du site IBM.

Pour lancer ce script :
Déplacez-vous dans le dossier du script puis :


sudo perl gestureListener.pl


Des que vous voulez utiliser les fonctions, il faudra lancer ce script.

Et voilà.