Bonjour à tous,

j'ai récemment appris qu'on pouvait faire du scrolling à deux doigts comme sur macosx moyennant quelques éléments de configuration.
Source :
http://ubuntuforums.org/showthread.php?t=1127095&page=2

Il semblerait que j'ai un touchpad Alps vu que :
# lshal | grep Alp
info.product = 'AlpsPS/2 ALPS GlidePoint' (string)
input.product = 'AlpsPS/2 ALPS GlidePoint' (string)
info.vendor = 'Alps Electric Co., Ltd' (string)
usb_device.vendor = 'Alps Electric Co., Ltd' (string)
usb.vendor = 'Alps Electric Co., Ltd' (string)
usb.vendor = 'Alps Electric Co., Ltd' (string)
usb.vendor = 'Alps Electric Co., Ltd' (string)
usb.vendor = 'Alps Electric Co., Ltd' (string)
J'ai donc ajouté un fichier :
# cat /etc/hal/fdi/policy/10-synaptics.fdi
<?xml version="1.0" encoding="ISO-8859-1"?>

<!-- DO NOT EDIT THIS FILE IN PLACE.
This file will be overwritten with the next update. If you need to add
custom options, copy the file into /etc/hal/fdi/policy/ first.

See https://fedoraproject.org/wiki/Input_device_configuration -->

<deviceinfo version="0.2">
<device>
<match key="info.capabilities" contains="input.touchpad">
<!-- To add custom options for the touchpad, modify the examples below
to suit your needs. The available options are listed in the
"synaptics" man page. After modifyfing this file, you must
restart HAL. Check the output of lshal whether your modifications
have been merged successfully.

Note: Options must always be type "string".
The following examples enable left, right, middle clicks on
single, double, triple finger tapping, respectively.

<merge key="input.x11_options.TapButton1" type="string">1</merge>
<merge key="input.x11_options.TapButton2" type="string">3</merge>
<merge key="input.x11_options.TapButton3" type="string">2</merge>
-->
<!-- <merge key="input.x11_options.TapButton1" type="string">1</merge>
<merge key="input.x11_options.TapButton2" type="string">3</merge>
<merge key="input.x11_options.TapButton3" type="string">2</merge>-->
<merge key="input.x11_options.SHMConfig" type="string">On</merge>
<merge key="input.x11_options.EmulateTwoFingerMinZ" type="string">85</merge>
<merge key="input.x11_options.VertTwoFingerScroll" type="string">1</merge>
<merge key="input.x11_options.HorizTwoFingerScroll" type="string">1</merge>
<merge key="input.x11_driver" type="string">synaptics</merge>
</match>
</device>
</deviceinfo>
Au moins, ça m'a permis de faire fonctionner synclient -m 10 pour voir l'état du touchpad et des variables associées (x, y, z, f).
Une petite session synclient -m 10 avec d'abord un doigt, puis deux me donne :
time x y z f w l r u d m multi gl gm gr gdx gdy
6.793 527 298 57 1 0 0 0 0 0 0 00000000 0 0 0 0 0
6.803 527 299 58 1 0 0 0 0 0 0 00000000 0 0 0 0 0
6.813 527 300 58 1 0 0 0 0 0 0 00000000 0 0 0 0 0
6.824 528 301 57 1 0 0 0 0 0 0 00000000 0 0 0 0 0
6.935 528 301 49 1 0 0 0 0 0 0 00000000 0 0 0 0 0
6.945 528 301 32 1 0 0 0 0 0 0 00000000 0 0 0 0 0
6.955 528 301 0 0 0 0 0 0 0 0 00000000 0 0 0 0 0
7.973 477 217 116 1 0 0 0 0 0 0 00000000 0 0 0 0 0
8.034 477 218 115 1 0 0 0 0 0 0 00000000 0 0 0 0 0
8.044 477 219 115 1 0 0 0 0 0 0 00000000 0 0 0 0 0
8.054 477 220 114 1 0 0 0 0 0 0 00000000 0 0 0 0 0
8.074 478 221 115 1 0 0 0 0 0 0 00000000 0 0 0 0 0
8.114 479 222 115 1 0 0 0 0 0 0 00000000 0 0 0 0 0
8.134 480 224 113 1 0 0 0 0 0 0 00000000 0 0 0 0 0
8.145 482 228 111 1 0 0 0 0 0 0 00000000 0 0 0 0 0
8.155 483 231 110 1 0 0 0 0 0 0 00000000 0 0 0 0 0
8.165 483 234 112 1 0 0 0 0 0 0 00000000 0 0 0 0 0
8.175 484 237 111 1 0 0 0 0 0 0 00000000 0 0 0 0 0
8.195 484 239 111 1 0 0 0 0 0 0 00000000 0 0 0 0 0
8.205 485 240 110 1 0 0 0 0 0 0 00000000 0 0 0 0 0
time x y z f w l r u d m multi gl gm gr gdx gdy
8.215 485 241 112 1 0 0 0 0 0 0 00000000 0 0 0 0 0
8.225 486 241 112 1 0 0 0 0 0 0 00000000 0 0 0 0 0
8.236 486 242 111 1 0 0 0 0 0 0 00000000 0 0 0 0 0
8.276 486 243 111 1 0 0 0 0 0 0 00000000 0 0 0 0 0
8.387 486 243 93 1 0 0 0 0 0 0 00000000 0 0 0 0 0
8.407 486 243 0 0 0 0 0 0 0 0 00000000 0 0 0 0 0
Donc un z de 100 serait suffisant. Sauf que ça ne marche pas et j'ai testé à 85, ça ne marche pas non plus.
Je ne pense pas qu'une valeur plus basse soit bien vu que à un doigt, le z va jusqu'à 80 assez souvent...

Que faire pour que le scrolling à deux doigts fonctionne ?

Note : gsynaptic fonctionne, je peux le démarrer et configurer quelques éléments (le tap par exemple, la vitesse du pointeur, etc...) sauf le scrolling à deux doigts...
J'ai continué de faire de tests et, vu que gsynaptic n'écrit pas dans xorg.conf ni dans un fdi, je me suis dit qu'il passait directement par synclient.. et doit probablement stoquer les informations via la configuration de gnome pour les récupérer au démarrage.

Donc j'ai essayer d'utilise synclient.
L'option qui m'a intéressé est synclient -l qui liste les propriétés actuelles. Il y en a un GRAND nombre. Donc beaucoup de choses à configurer...
$ synclient -l
Parameter settings:
    LeftEdge                = 153
    RightEdge               = 870
    TopEdge                 = 115
    BottomEdge              = 652
    FingerLow               = 10
    FingerHigh              = 15
    FingerPress             = 127
    MaxTapTime              = 180
    MaxTapMove              = 56
    MaxDoubleTapTime        = 180
    SingleTapTimeout        = 180
    ClickTime               = 100
    FastTaps                = 0
    EmulateMidButtonTime    = 75
    EmulateTwoFingerMinZ    = 85
    EmulateTwoFingerMinW    = 7
    VertScrollDelta         = 25
    HorizScrollDelta        = 25
    VertEdgeScroll          = 0
    HorizEdgeScroll         = 0
    CornerCoasting          = 0
    VertTwoFingerScroll     = 1
    HorizTwoFingerScroll    = 1
    MinSpeed                = 0.416
    MaxSpeed                = 0.7
    AccelFactor             = 0.141
    TrackstickSpeed         = 40
    EdgeMotionMinZ          = 14
    EdgeMotionMaxZ          = 79
    EdgeMotionMinSpeed      = 1
    EdgeMotionMaxSpeed      = 102
    EdgeMotionUseAlways     = 1
    UpDownScrolling         = 1
    LeftRightScrolling      = 1
    UpDownScrollRepeat      = 1
    LeftRightScrollRepeat   = 1
    ScrollButtonRepeat      = 100
    TouchpadOff             = 0
    GuestMouseOff           = 0
    LockedDrags             = 0
    LockedDragTimeout       = 5000
    RTCornerButton          = 0
    RBCornerButton          = 0
    LTCornerButton          = 0
    LBCornerButton          = 0
    TapButton1              = 1
    TapButton2              = 3
    TapButton3              = 2
    ClickFinger1            = 1
    ClickFinger2            = 1
    ClickFinger3            = 1
    CircularScrolling       = 0
    CircScrollDelta         = 0.1
    CircScrollTrigger       = 0
    CircularPad             = 0
    PalmDetect              = 0
    PalmMinWidth            = 10
    PalmMinZ                = 99
    CoastingSpeed           = 0
    PressureMotionMinZ      = 14
    PressureMotionMaxZ      = 79
    PressureMotionMinFactor = 1
    PressureMotionMaxFactor = 1
    GrabEventDevice         = 1
La partie intéressante est :
EmulateTwoFingerMinW = 7
car la valeur w est toujours à 0 dans mon cas...
Il me suffit donc de mettre l'option à 0 est Hop, ça fonctionne !! :-D

Faut que je teste ces diverses options, ça a l'air super ! Je ne savais pas qu'on pouvait modifier de telles choses.

C'est donc plus ou moins RESOLU. 😉

Modéré: pour les grands textes utilise la balise code plutôt que quote
Si t'es sous GNOME, t'as pensé à regarder du côté de gnome-mouse-properties ?
Sat wrote:Si t'es sous GNOME, t'as pensé à regarder du côté de gnome-mouse-properties ?
Je dis +1.
Sur mon ibook G4 le scrolling a 2 doigts fonctionne parfaitement en activant le Two-finger scrolling.
J'ai testé, évidemment. C'est comme avec gsynaptics, j'ai l'option pour utiliser le scrolling à deux doigts, mais la choisir ne fait rien. En fait, ça désactive le scrolling sur les côtés, et le scrolling à deux doigts ne fonctionne pas non plus...

Reste que ma configuration actuelle via fdi fonctionne très bien. Je peux tester en live avec synclient, puis stoquer les valeurs dans le fdi pour que la configuration reste...
... et ça semble marcher correctement. Je peux ainsi profiter du scroll à deux doigts AINSI que du scroll sur les côtés en même temps. (:-D ok, c'est pas forcément très utile...)
Par contre, j'ai dû désactiver le tap pour les deux autres boutons (2 et 3) car ils entraient parfois en conflit avec le scrolling à deux doigts.
Maintenant, mon seul problème actuel est que le scrolling à deux doigt et trop lent...
... j'imagine qu'il doit bien y avoir une option pour régler à quelle vitesse le scrolling se fait.
Merci pour l'information.

Reste que les options VertScrollDelta et HorizScrollDelta fournissent un moyen de régler la vitesse de scroll.
Par défaut, c'est à 25. Pour aller plus vite, il faut donner une valeur plus petite (genre 10), tandis qu'une valeur plus grande ralentira le scroll. Allez savoir !
En tout cas, ça fonctionne, mais ça s'applique à tous les scrolls (aussi ceux sur les côtés du touchpad).
Il faudrait trouver quel fichier permet de modifier l'information envoyée par le touchpad mais là... Ou peut-être est-ce dans le bios ?
A vrai dire, la solution VertScrollDelta me suffit largement. 😉
Je ne pense pas qu'il soit utile d'aller plus loin, vu que la solution me satisfait.

Par contre, je dois avoir quelque chose de faux car mon fdi n'est pas complètement pris en compte.
Si j'ai un fdi dans /etc/hal/fdi/policy, il est pris en compte.

Mais si j'en ai un dans /usr/share/hal/..., est-il aussi pris en compte ?
Lequel est plus important ? dans quel ordre ?

Il me semble que certains paramètres ne sont pas pris en compte dans mon fdi sous /etc/hal/fdi/policy (TapButton par exemple, VertScrollDelta de même).