TOUCHPAD : Copier comportement d'une distribution à l'autre

Vous aimeriez que votre touchpad fonctionne aussi bien sur votre distribution préférée que sur la distribution que vous aviez testé.

C’est possible simplement, grâce à cette ligne de commande qui va créer un script de configuration.

Lancez cette ligne de commande sur la distribution avec laquelle vous êtes satisfait du fonctionnement de votre touchpad,
et récupérez le script qui aura été créé : “confSyn.sh
Il ne vous restera plus qu’à exécuter le script créé à partir de votre ou vos distributions préférées.

Description de la ligne de commande :

synclient -l                      Option "-l" de "synclient" pour récupérer les paramètres en cours.
|                                 Connecter le flux de sortie de "synclient" à l'entrée de la commande "sed"
sed                               Lancement de la commande "sed".
'                                 Début des commandes de "sed".
s/Parameter settings:/synclient/;   Remplacer "Parameter settings:" par "synclient".
s/ //g;                             Supprimer tous les caractères "espace".
s/$/ \\/g;                          Ajouter les caractères " \" avant la fin de chaque ligne.
$ s/ \\/\n/                         Remplacer, dans la dernière ligne, les caractères " \" par un retour à la ligne.
'                                 Fin des commandes de "sed".
>                                 Rediriger le flux de sortie de la commande "sed"...
confSyn.sh                        ...vers (création ou écrasement) du fichier "confSyn.sh".

====================
Le script ci-dessus permet d’afficher un paramètre de la commande “synclient” par ligne,
et c’est bien pratique si vous voulez modifier la valeur d’un paramètre.

Une autre solution qui va créer un script où tous les paramètres sont affichés séquentiellements sur une seule ligne:

NOTE: je n’ai pas trouvé comment faire pour n’appeler “sed” qu’une seule fois.

Du nouveau

En fouillant, par ci et par là, j’ai trouvé mieux, avec ce bout de script (que j’ai très légèrement modifié) qui permet de formater le retour de [mono]synclient[/mono].

synclient -l | sed -e ‘/Parameter settings:/d’ -e 's/ ([a-zA-Z0-9]*) = ([0-9.-])/\tOption “\1”\t\t\t"\2"/'
Source

Après avoir affiné le comportement du touchpad de mon EeePC 1005PE et avec le retour de ce script,

j’ai supprimé quelques caractères de tabulation en trop et j’ai recopié le tout dans le fichier
/usr/share/X11/xorg.conf.d/50-synaptics.conf
qu’il faudra déplacer dans le répertoire
/etc/X11/xorg.conf.d

(EDIT suite à ce fil de discussion)

dont voici l’extrait correspondant à la section modifiée :

[code]…

Section "InputClass"
Identifier "touchpad catchall"
Driver "synaptics"
MatchIsTouchpad “on”

This option is recommend on all Linux systems using evdev, but cannot be

enabled by default. See the following link for details:

http://who-t.blogspot.com/2010/11/how-to-ignore-configuration-errors.html

MatchDevicePath “/dev/input/event*”

ma config pour Eee1005pe

    Option "LeftEdge"                "1775"
    Option "RightEdge"               "5505"
    Option "TopEdge"                 "1648"
    Option "BottomEdge"              "4602"
    Option "FingerLow"               "25"
    Option "FingerHigh"              "30"
    Option "FingerPress"             "256"
    Option "MaxTapTime"              "180"
    Option "MaxTapMove"              "243"
    Option "MaxDoubleTapTime"        "180"
    Option "SingleTapTimeout"        "180"
    Option "ClickTime"               "100"
    Option "FastTaps"                "0"
    Option "EmulateMidButtonTime"    "75"
    Option "EmulateTwoFingerMinZ"    "35"
    Option "EmulateTwoFingerMinW"    "8"
    Option "VertScrollDelta"         "110"
    Option "HorizScrollDelta"        "110"
    Option "VertEdgeScroll"          "0"
    Option "HorizEdgeScroll"         "0"
    Option "CornerCoasting"          "0"
    Option "VertTwoFingerScroll"     "1"
    Option "HorizTwoFingerScroll"    "0"
    Option "MinSpeed"                "1"
    Option "MaxSpeed"                "1.75"
    Option "AccelFactor"             "0.0361598"
    Option "TrackstickSpeed"         "40"
    Option "EdgeMotionMinZ"          "30"
    Option "EdgeMotionMaxZ"          "160"
    Option "EdgeMotionMinSpeed"      "1"
    Option "EdgeMotionMaxSpeed"      "442"
    Option "EdgeMotionUseAlways"     "0"
    Option "TouchpadOff"             "0"
    Option "LockedDrags"             "0"
    Option "LockedDragTimeout"       "5000"
    Option "RTCornerButton"          "0"
    Option "RBCornerButton"          "0"
    Option "LTCornerButton"          "0"
    Option "LBCornerButton"          "0"
    Option "TapButton1"              "1"
    Option "TapButton2"              "2"
    Option "TapButton3"              "3"
    Option "ClickFinger1"            "1"
    Option "ClickFinger2"            "1"
    Option "ClickFinger3"            "1"
    Option "CircularScrolling"       "0"
    Option "CircScrollDelta"         "0.1"
    Option "CircScrollTrigger"       "0"
    Option "CircularPad"             "0"
    Option "PalmDetect"              "0"
    Option "PalmMinWidth"            "10"
    Option "PalmMinZ"                "200"
    Option "CoastingSpeed"           "20"
    Option "CoastingFriction"        "50"
    Option "PressureMotionMinZ"      "30"
    Option "PressureMotionMaxZ"      "160"
    Option "PressureMotionMinFactor" "1"
    Option "PressureMotionMaxFactor" "1"
    Option "GrabEventDevice"         "1"
    Option "TapAndDragGesture"       "1"
    Option "AreaLeftEdge"            "0"
    Option "AreaRightEdge"           "0"
    Option "AreaTopEdge"             "0"
    Option "AreaBottomEdge"          "0"
    Option "HorizHysteresis"         "27"
    Option "VertHysteresis"          "27"
    Option "ClickPad"                "0n

EndSection

…[/code]

=====
Mon touchpad est maintenant parfaitement fonctionnel même dans la fenêtre de login de lightdm.

Bien sûr, il est possible de récupérer les paramètres d’une distribution pour l’appliquer sur une autre.

Une remarque, les récents ASUS ont un touchpad qui fonctionne très mal (non reconnu comme touchpad), l’installation de psmouse-dkms_7.1-elantech_all.deb permet de régler ce problème. Ce paquet est disponible chez moi:

deb http://boisson.homeip.net/depot wheezy divers(paquet psmouse-dkms)

Pour certains ALPS, on trouverait, dans les retours de [mono]dmesg[/mono] :

… psmouse serio1: alps: Unknown ALPS touchpad: E7=73 03 0a, EC=88 b6 06 …

=======
À rajouter dans la liste des machines qui auront besoin de ce paquetage :

Dell Latitude E5430 (Mid 2012)
Dell Latitude E5530 (Mid 2012)
Dell Latitude E6230 (Mid 2012)
Dell Latitude E6330 (Mid 2012)
Dell Latitude E6430 (Mid 2012)
Dell Latitude E6430 ATG
Dell Latitude E6430s (Mid 2012)
Dell Latitude E6530 (Mid 2012)
Dell Latitude - série E6 (particulièrement le E6530), série E7
Dell Inspiron 15R N5110
Dell Inspiron 17R 7720
Dell Vostro series
Dell vostro 3555
Dell Vostro 3360
certains HP “y-en a aussi…” ("…de la pomme" dans “Les tontons flingueurs” M.Audiard)
Fujitsu A512
Toshiba Z30-A-12N

[quote=“fran.b”]Une remarque, les récents ASUS ont un touchpad qui fonctionne très mal (non reconnu comme touchpad), l’installation de psmouse-dkms_7.1-elantech_all.deb permet de régler ce problème. Ce paquet est disponible chez moi:

Bonsoir,
J’aimerais récupérer ce paquet qui semble régler mon problème sur un portable Asus … mais ile st invisible en passant par le lien donné. N’existerait-il plus ?

Il faudrait, (depuis le compte root) dans ton fichier [mono]/etc/sources.list[/mono] , ajouter la ligne suivante :

[mono]deb boisson.homeip.net/depot wheezy divers[/mono]

Puis mettre à jour la liste des paquetages avec (compte root) un :apt-get update
Et installer (compte root) le paquetage avec :apt-get install psmouse-dkms

(Je ne sais pas s’il y aura ou pas de problèmes de clef GPG, mais ça devrait passer…)

dépot signé dont la clef peut être trouvé par

gpg --keyserver pgpkeys.mit.edu --recv-key D78A5C23CEA8D8FF
qui récupère la clef sur le serveur de clef et

puis sous root

(mais ça fonctionne sans clef aussi)

[quote=“MicP”]Il faudrait, (depuis le compte root) dans ton fichier [mono]/etc/sources.list[/mono] , ajouter la ligne suivante :
[mono]deb boisson.homeip.net/depot wheezy divers[/mono]
Puis mettre à jour la liste des paquetages avec (compte root) un :apt-get update
Et installer (compte root) le paquetage avec :apt-get install psmouse-dkms
(Je ne sais pas s’il y aura ou pas de problèmes de clef GPG, mais ça devrait passer…)[/quote]
Aucun problème pour ce qui précède … mais cela ne fonctionne toujours pas. :frowning:
Je précise qu’il n’y a pas eu de problème de clef, l’installation (compilation du noyau ?) s’est déroulée normalement mais s’est terminée par

[quote=“docanski2”][quote=“MicP”]Il faudrait …
Puis mettre à jour la liste des paquetages … Et installer (compte root) le paquetage[/quote]
… cela ne fonctionne toujours pas. :frowning:
Je précise qu’il n’y a pas eu de problème de clef, l’installation (compilation du noyau ?) s’est déroulée normalement mais s’est terminée par

This package appears to be a binaries-only package you will not be able to build against kernel 3.2.0-4-amd64 since the package source was not provided

Youhou ! Il n’y a pas de SAV pour ce problème ? :006
Il n’y a plus personne au numéro que j’ai demandé ? :laughing:

Bizarre, essaye en faisant

dkms add psmouse/7.1-elantech /usr/src/psmouse-7.1-elantech/ dkms build psmouse/7.1-elantech dkms install psmouse/7.1-elantech

Il me retourne, à la dernière commande :

Building module: cleaning build area.... make KERNELRELEASE=3.2.0-4-amd64 -C /lib/modules/3.2.0-4-amd64/build M=/var/lib/dkms/psmouse/7.1-elantech/build/src psmouse.ko....(bad exit status: 2) Error! Bad return status for module build on kernel: 3.2.0-4-amd64 (x86_64) Consult /var/lib/dkms/psmouse/7.1-elantech/build/make.log for more information.
et le log est celui-ci :

DKMS make.log for psmouse-7.1-elantech for kernel 3.2.0-4-amd64 (x86_64) samedi 15 novembre 2014, 12:08:48 (UTC+0100) make: entrant dans le répertoire « /usr/src/linux-headers-3.2.0-4-amd64 » CC [M] /var/lib/dkms/psmouse/7.1-elantech/build/src/psmouse-base.o CC [M] /var/lib/dkms/psmouse/7.1-elantech/build/src/synaptics.o /var/lib/dkms/psmouse/7.1-elantech/build/src/synaptics.c: In function ‘set_input_params’: /var/lib/dkms/psmouse/7.1-elantech/build/src/synaptics.c:1278:3: error: too many arguments to function ‘input_mt_init_slots’ /usr/src/linux-headers-3.2.0-4-common/include/linux/input/mt.h:65:5: note: declared here /var/lib/dkms/psmouse/7.1-elantech/build/src/synaptics.c:1286:3: error: too many arguments to function ‘input_mt_init_slots’ /usr/src/linux-headers-3.2.0-4-common/include/linux/input/mt.h:65:5: note: declared here make[3]: *** [/var/lib/dkms/psmouse/7.1-elantech/build/src/synaptics.o] Erreur 1 make[2]: *** [psmouse.ko] Erreur 2 make[1]: *** [sub-make] Erreur 2 make: *** [all] Erreur 2 make: quittant le répertoire « /usr/src/linux-headers-3.2.0-4-amd64 »

Hum, je l’ai utilisé sur un noyau 3.10. Tu as un tel noyau sur mon dépot.

Ce qui suppose sans doute qu’à la prochaine mise à jour du noyau, le tien étant plus ancien, ce serait retour à la case départ ? :confused:
Je ne suis pas très emballé, là … :017

Pas vraiment, 2 < 10, le 3.10 est plus récent ce qui explique que le driver (récent) compile sur le 3.10 et pas le 3.2. Tu peux toujours l’installer tout en gardant l’autre noyau. Quoi qu’il en soit le noyau reste lors des mises à jour.

Après avoir cherché sur le web, je remarque que l’installation du noyau 3.10 n’est pas vraiment évidente. Par ailleurs, il semble bien qu’il y ait incompatibilité avec le pilote Nvidia (Geforce 620) de mon portable.
Ce dernier point peut éventuellement être secondaire, en attendant correction, mais reste à connaître la façon la plus simple et sans risque de passer à ce nouveau noyau.
Aurais-tu un lien … ou une méthode “finger in the noose” ?