使用 libinput 进行双指滚动不起作用,18.04

使用 libinput 进行双指滚动不起作用,18.04

由于这个主题有多个线程,我希望有人能帮助我。从一天到另一天,我的触摸板停止正常工作,也就是说,由于某种原因,双指滚动被停用了。我在 x86_64 Linux 4.15.0-58-generic 内核上使用 Ubuntu 18.04 bionic 和 Thinkpad E480。

我正在使用 libinput,它拒绝更改设置。

➤ 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)]
    ↳ ... 

滚动方法如下。对于双指滚动,我想将值设置为 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

无论我尝试更改哪种滚动方法(也以 root 身份),结果都是一样的:

➤ 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

/usr/share/X11/xorg.conf.d/99-libinput.conf此外,我复制的文件/etc/X11/xorg.conf/如下所示:

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

改变优先级的数量在这里也没有帮助。

尝试通过重新安装(或卸载)synaptics(libinput)将驱动程序更改为synaptics,正如一些类似线程所建议的那样,但没有成功。

无论我为目录.conf中的任何文件赋予何种优先级,synclient 似乎都不起作用xorg.conf

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

在 Xorg 日志中我只发现无法从文件中加载我想要的选项.conf

➤ 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)

我现在真的很绝望,因为其他人的解决方案似乎都无法帮助我。有什么建议吗?非常感谢阅读。

答案1

无论我尝试更改哪种滚动方法(也以 root 身份),结果都是一样的:

➤ 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

根目录中不需要。你输入错误:100应该是1 0 0,因为它是三个独立的值(我认为它们可以更好地表示为“假”和“真”字符串,但是哦)

此外,您使用数字代替设备和属性。对于实验来说,这可能没问题,但是如果您想将此命令添加到自动启动中(您可能会这样做,因为xinputXServer 重启后修改会丢失),那么您可能会发现这些数字可能会根据情况不时发生变化。相反,请使用标识设备和属性的实际字符串。

您想要的命令是:

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

哦,抱歉,太多的 synaptics,让人困惑。基本上,synclient用于管理已弃用的 synaptics 驱动程序,但您没有它,也不需要它。它已被淘汰,取而代之的是 libinput。您可能还想阅读这篇博文来自 libinput 维护者。


抱歉,我不会帮助解决 xorg.conf 文件的问题,因为在我看来,它们的语法很复杂,而且我也不是能在这方面提供建议的人。我个人只是使​​用xinput添加到自动启动中。希望有人能发布有关 xorg 配置的答案。

答案2

最新更新解决了这个问题,看起来这确实是一个错误,绝不是错误配置的结果。这也解释了为什么所有所谓的解决方案最终都无济于事。

谢谢阅读。

相关内容