web-dev-qa-db-fra.com

Défilement à deux doigts avec libinput ne fonctionnant pas, 18.04

Comme il y a plusieurs fils sur ce sujet, j'espère que quelqu'un pourra m'aider. D'un jour à l'autre, mon pavé tactile a cessé de fonctionner correctement, à savoir que le défilement à deux doigts a été désactivé pour une raison quelconque. J'utilise Ubuntu 18.04 bionic sur le noyau générique x86_64 Linux 4.15.0-58 avec un Thinkpad E480.

J'utilise libinput, qui refuse de modifier les paramètres.

➤ xinput list              
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ PS/2 Synaptics TouchPad                   id=11   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ ... 

Les méthodes de défilement sont répertoriées comme suit. Pour le défilement à deux doigts, je veux définir la valeur à 100.

libinput Scroll Methods Available (284):    0, 0, 1
libinput Scroll Method Enabled (285):   0, 0, 1
libinput Scroll Method Enabled Default (286):   0, 0, 1

Quelle que soit la méthode de défilement que j'essaie de modifier (également en tant que root), le résultat est le même:

➤ xinput set-prop 11 286 100
X Error of failed request:  BadAccess (attempt to access private resource denied)
  Major opcode of failed request:  131 (XInputExtension)
  Minor opcode of failed request:  57 ()
  Serial number of failed request:  19

De plus, le fichier /usr/share/X11/xorg.conf.d/99-libinput.conf, que j'ai également copié dans /etc/X11/xorg.conf/ ressemble à ça:

Section "InputClass"
        Identifier "libinput touchpad catchall"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
        Option "ScrollMethod" "twofinger"
EndSection

Changer le nombre de priorité n'a pas aidé ici non plus.

Essayer de changer le pilote en synaptics en réinstallant (ou en désinstallant) les synaptics (libinput), comme certains l'ont suggéré sur des threads similaires, n'a pas fonctionné.

Le synclient semble ne pas fonctionner, quelle que soit la priorité que je donne à l'un des .conf fichiers dans le xorg.conf répertoire

➤ synclient 
Couldn't find synaptics properties. No synaptics driver loaded?

Dans le journal Xorg, je constate seulement que l'option souhaitée ne peut pas être chargée à partir du .conf fichier:

➤ grep -ie "touch" /var/log/Xorg.0.log 
[     6.212] (II) config/udev: Adding input device PS/2 Synaptics TouchPad (/dev/input/event4)
[     6.212] (**) PS/2 Synaptics TouchPad: Applying InputClass "evdev pointer catchall"
[     6.212] (**) PS/2 Synaptics TouchPad: Applying InputClass "libinput pointer catchall"
[     6.212] (II) Using input driver 'libinput' for 'PS/2 Synaptics TouchPad'
[     6.212] (**) PS/2 Synaptics TouchPad: always reports core events
[     6.213] (II) event4  - PS/2 Synaptics TouchPad: is tagged by udev as: Mouse
[     6.213] (II) event4  - PS/2 Synaptics TouchPad: device is a pointer
[     6.213] (II) event4  - PS/2 Synaptics TouchPad: device removed
[     6.248] (II) XINPUT: Adding extended input device "PS/2 Synaptics TouchPad" (type: MOUSE, id 11)
[     6.248] (EE) libinput: PS/2 Synaptics TouchPad: Failed to set scroll to twofinger
[     6.248] (**) PS/2 Synaptics TouchPad: (accel) selected scheme none/0
[     6.248] (**) PS/2 Synaptics TouchPad: (accel) acceleration factor: 2.000
[     6.248] (**) PS/2 Synaptics TouchPad: (accel) acceleration threshold: 4
[     6.248] (II) event4  - PS/2 Synaptics TouchPad: is tagged by udev as: Mouse
[     6.248] (II) event4  - PS/2 Synaptics TouchPad: device is a pointer
[     6.248] (EE) libinput: PS/2 Synaptics TouchPad: Failed to set scroll to twofinger
[     6.248] (II) config/udev: Adding input device PS/2 Synaptics TouchPad (/dev/input/mouse0)

Je suis vraiment désespéré maintenant, car aucune solution qui fonctionne pour les autres ne semble m'aider. Y a-t-il des suggestions? Merci beaucoup d'avoir lu.

2
enzo

Quelle que soit la méthode de défilement que j'essaie de modifier (également en tant que root), le résultat est le même:

➤ xinput set-prop 11 286 100
X Error of failed request:  BadAccess (attempt to access private resource denied)
  Major opcode of failed request:  131 (XInputExtension)
  Minor opcode of failed request:  57 ()
  Serial number of failed request:  19

Pas besoin de root. Vous avez une faute de frappe: 100 devrait être 1 0 0, car il s'agit de trois valeurs distinctes (je pense qu'elles auraient pu être mieux représentées comme des chaînes "fausses" et "vraies", mais bon) .

En outre, vous utilisez un numéro à la place de l'appareil et de la propriété. Cela peut être acceptable pour les expériences, cependant si vous voulez ajouter cette commande au démarrage automatique (vous le faites probablement parce que xinput les modifications sont perdues après le redémarrage de XServer) , vous pouvez alors constater que ces chiffres peuvent changer de temps en temps, selon les circonstances. À la place, utilisez la chaîne réelle qui identifie le périphérique et la propriété.

La commande que vous souhaitez est:

xinput set-prop "PS/2 Synaptics TouchPad" "libinput Scroll Method Enabled" 1 0 0
➤ synclient
Couldn't find synaptics properties. No synaptics driver loaded?

Oh, désolé, trop de synaptics, c'est déroutant. Fondamentalement, le synclient a été utilisé pour gérer le pilote synaptics obsolète, mais vous ne l'avez pas ni n'en avez besoin. Il était obsolète de préférence à libinput. Vous pouvez également lire ce blog du mainteneur de libinput.


Désolé, je ne vais pas vous aider avec le fichier xorg.conf car IMO leur syntaxe est un labyrinthe, et je ne suis pas une personne pour vous conseiller à ce sujet. Personnellement, je viens d'utiliser xinput ajouté au démarrage automatique. J'espère que quelqu'un publiera une réponse sur la configuration de xorg.

1
Hi-Angel

Avec la dernière mise à jour, le problème a été résolu, il semble vraiment que c'était un bug et en aucun cas un effet de fausse configuration. Cela expliquerait également pourquoi aucune des supposées solutions n'a finalement aidé.

Merci d'avoir lu.

1
enzo