由于这个主题有多个线程,我希望有人能帮助我。从一天到另一天,我的触摸板停止正常工作,也就是说,由于某种原因,双指滚动被停用了。我在 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
,因为它是三个独立的值(我认为它们可以更好地表示为“假”和“真”字符串,但是哦)。
此外,您使用数字代替设备和属性。对于实验来说,这可能没问题,但是如果您想将此命令添加到自动启动中(您可能会这样做,因为xinput
XServer 重启后修改会丢失),那么您可能会发现这些数字可能会根据情况不时发生变化。相反,请使用标识设备和属性的实际字符串。
您想要的命令是:
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
最新更新解决了这个问题,看起来这确实是一个错误,绝不是错误配置的结果。这也解释了为什么所有所谓的解决方案最终都无济于事。
谢谢阅读。