Mon fidèle portable ASUS M70Vn, après plus de 9 ans de bons et loyaux services, m'ayant lâché (snif... en fait, c'est la carte graphique ou l'écran, je pourrai malgré tout continuer à m'en servir en fixe avec un écran Hdmi), j'ai réinstallé mon système sur un ASUS de récup plus récent (mais avec un écran de moins bonne qualité : adieu ma belle définition de 1920 x 1200 en 16/10, pour un petit 1600 x 900 en 16/9).
Malheureusement, le pavé tactile ne répondait pas de la même façon et pas aussi bien (Grrr !) :
- défilement vertical inversé par rapport à la nouvelle configuration,
- "tap" trop sensible qui fait que lorsque je mets le doigts sur le pavé (notamment pour faire défiler), cette action est interprétée quasi systématiquement comme un click : pas du tout pratique et énervant.
- défilement vertical avec une position du doigt éloignée du bord droit du touchpad (on ne peut plus s'y appuyer pour se guider)
Il a fallu donc chercher des infos. Voici mes principales sources :
- https://wiki.archlinux.fr/Touchpad_Synaptics
- https://www.techrepublic.com/article/tweak-your-touchpad-to-taste-in-linux/
- https://www.x.org/archive/X11R7.5/doc/man/man4/synaptics.4.html
- https://ianrenton.com/guides/howto-linux-and-synaptics-touchpads-for-little-fingers/
I- Réglage du sens du défilement :
Vu le paramétrage simpliste proposé par défaut sous Ubuntu 16.04, il n'a été possible de régler que le défilement vertical inversé en décochant la case "Défilement naturel" :
II- Obtenir des infos sur son pavé tactile et ses réglages :
Pour tous les autres réglages, il faut passer par la ligne de commande (pas le choix). Les commandes essentielles sont "xinput" et "synclient".
a) Avec la commande "xinput" :
Pour connaître son modèle, taper la commande :
xinput -list
Voici ce que j'obtiens :
Mon modèle est donc "ETPS/2 Elantech Touchpad".
Pour avoir davantage de détails, je tape la commande suivante :
xinput -list-props "ETPS/2 Elantech Touchpad"
Et voici, ce que j'obtiens :
Device 'ETPS/2 Elantech Touchpad': Device Enabled (162): 1 Coordinate Transformation Matrix (164): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000 Device Accel Profile (287): 1 Device Accel Constant Deceleration (288): 2.500000 Device Accel Adaptive Deceleration (289): 1.000000 Device Accel Velocity Scaling (290): 12.500000 Synaptics Edges (291): 46, 1106, 31, 545 Synaptics Finger (292): 29, 35, 0 Synaptics Tap Time (293): 100 Synaptics Tap Move (294): 56 Synaptics Tap Durations (295): 180, 100, 100 Synaptics ClickPad (296): 0 Synaptics Middle Button Timeout (297): 75 Synaptics Two-Finger Pressure (298): 282 Synaptics Two-Finger Width (299): 7 Synaptics Scrolling Distance (300): 25, 25 Synaptics Edge Scrolling (301): 1, 1, 0 Synaptics Two-Finger Scrolling (302): 0, 0 Synaptics Move Speed (303): 1.000000, 1.750000, 0.155400, 0.000000 Synaptics Off (304): 2 Synaptics Locked Drags (305): 0 Synaptics Locked Drags Timeout (306): 5000 Synaptics Tap Action (307): 2, 3, 0, 0, 1, 3, 0 Synaptics Click Action (308): 1, 1, 0 Synaptics Circular Scrolling (309): 0 Synaptics Circular Scrolling Distance (310): 0.100000 Synaptics Circular Scrolling Trigger (311): 0 Synaptics Circular Pad (312): 0 Synaptics Palm Detection (313): 0 Synaptics Palm Dimensions (314): 10, 200 Synaptics Coasting Speed (315): 20.000000, 50.000000 Synaptics Pressure Motion (316): 30, 160 Synaptics Pressure Motion Factor (317): 1.000000, 1.000000 Synaptics Resolution Detect (318): 1 Synaptics Grab Event Device (319): 0 Synaptics Gestures (320): 1 Synaptics Capabilities (321): 1, 0, 1, 1, 1, 1, 1 Synaptics Pad Resolution (322): 31, 31 Synaptics Area (323): 0, 0, 0, 0 Synaptics Noise Cancellation (324): 6, 6 Device Product ID (282): 2, 14 Device Node (283): "/dev/input/event6"
b) Avec la commande "synclient" :
Pour lister, toutes les valeurs des paramètres, taper :
synclient -l
Voici les réglages obtenues :
thierry@thierry-N71Jv:~$ synclient -l Parameter settings: LeftEdge = 46 RightEdge = 1106 TopEdge = 31 BottomEdge = 545 FingerLow = 1 FingerHigh = 1 MaxTapTime = 180 MaxTapMove = 56 MaxDoubleTapTime = 100 SingleTapTimeout = 180 ClickTime = 100 EmulateMidButtonTime = 75 EmulateTwoFingerMinZ = 282 EmulateTwoFingerMinW = 7 VertScrollDelta = 25 HorizScrollDelta = 25 VertEdgeScroll = 1 HorizEdgeScroll = 1 CornerCoasting = 0 VertTwoFingerScroll = 0 HorizTwoFingerScroll = 0 MinSpeed = 1 MaxSpeed = 1.75 AccelFactor = 0.1554 TouchpadOff = 2 LockedDrags = 0 LockedDragTimeout = 5000 RTCornerButton = 2 RBCornerButton = 3 LTCornerButton = 0 LBCornerButton = 0 TapButton1 = 1 TapButton2 = 3 TapButton3 = 0 ClickFinger1 = 1 ClickFinger2 = 1 ClickFinger3 = 0 CircularScrolling = 0 CircScrollDelta = 0.1 CircScrollTrigger = 0 CircularPad = 0 PalmDetect = 0 PalmMinWidth = 10 PalmMinZ = 200 CoastingSpeed = 20 CoastingFriction = 50 PressureMotionMinZ = 30 PressureMotionMaxZ = 160 PressureMotionMinFactor = 1 PressureMotionMaxFactor = 1 ResolutionDetect = 1 GrabEventDevice = 0 TapAndDragGesture = 1 AreaLeftEdge = 0 AreaRightEdge = 0 AreaTopEdge = 0 AreaBottomEdge = 0 HorizHysteresis = 6 VertHysteresis = 6 ClickPad = 0
III- Faire des tests :
Ensuite, il faut faire des tests pour arriver aux réglages qui nous conviennent. Pour cela, il est facile de faire des modifications avec la commande "synclient" suivi du nom du paramètre et de sa nouvelle valeur. Par exemple :
synclient "FingerHigh=35"
Malheureusement, ces réglages ne sont pas pérennes et il va falloir passer par un script afin de les retrouver à chaque démarrage (voir plus bas).
IV- Réglage de la sensibilité du Tap :
Voici les réglages que j'ai donc adoptés pour régler la sensibilité du "tap" : FingerHigh=35 et FingerLow=29
V- Fixer de façon pérenne ces réglages :
Pour retrouver ces réglages au prochain démarrage, il faut éditer le fichier /usr/share/X11/xorg.conf.d/50-synaptics.conf avec la commande :
sudo vim /usr/share/X11/xorg.conf.d/50-synaptics.conf
et rajouter dans la section :
Section "InputClass" Identifier "touchpad catchall" Driver "synaptics" MatchIsTouchpad "on" MatchDevicePath "/dev/input/event*" Option "FingerLow" "29" Option "FingerHigh" "35" EndSection
Afin de ne pas perdre ces réglages lors d'une mise à jour du système, il faut copier ce fichier dans le répertoire /etc/X11 avec la commande :
sudo cp 50-synaptics.conf /etc/X11/50-synaptics.conf
V- Réglage de la zone du défilement vertical :
Toujours à l'aide de la commande "synclient", il faut aller regarder du côté des paramètres :
synclient RightEdge=1143