[Ubuntu] Paramétrer son pavé tactile finement

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 !) :

Il a fallu donc chercher des infos. Voici mes principales sources :

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" :

reglage touchpad

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 :

reglage touchpad2

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