我的Elantech触控板至少有半年了,我有个恼人的问题。大多数情况下,它随机失去同步,并被识别为PS/2 Elantech Touchpad或比亚迪Touchpad。它因更新而异,但本质上这些错误在dmesg中仍然存在:
psmouse serio1: Failed to enable mouse on isa0060/serio1
psmouse serio1: elantech: synaptics_send_cmd query 0x01 failed.
psmouse serio1: Failed to enable mouse on isa0060/serio1
input: PS/2 Generic Mouse as /devices/platform/i8042/serio1/input/input19当触控板被正确地检测到的时候,它仍然工作非常糟糕,幸运的是多点触摸,敲击,双指滚动,并且有一些校准问题(只有触控板的中心是响应的,而其他区域忽略任何输入)。此场景的dmesg如下所示:
psmouse serio1: elantech: assuming hardware version 4 (with firmware version 0x595f03)
psmouse serio1: elantech: Synaptics capabilities query result 0x10, 0x15, 0x0e.
psmouse serio1: elantech: Elan sample query result 04, 02, 86
input: ETPS/2 Elantech Touchpad as /devices/platform/i8042/serio1/input/input2在系统正常运行期间,它开始随机地对我的输入作出反应,点击并向随机方向移动。
我现在正在使用Arch,但是Ubuntu16.04和14.04也存在这个问题。
在Arch Linux页面上有一篇关于联想Y700的说明,为了让触摸屏工作,pata_legacy模块应该被完全列入黑名单,所以我把它添加到内核引导程序配置中:
options: ... modprobe.blacklist=pata_legacy ...lsmod没有显示已加载的pata_legacy,所以黑名单是有效的。但这在任何方面都没有帮助,因为触摸屏的问题依然存在。
我正在使用libinput,已经有一段时间没有改变我的配置了(在触屏感觉良好的时间框架内,它可以完美地工作):
Section "InputClass"
Identifier "libinput touchpad catchall"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
Option "Tapping" "True"
Option "DisableWhileTyping" "True"
Option "NaturalScrolling" "True"
Option "MiddleEmulation" "True"
EndSection我相信这个问题与内核有某种联系,但我不喜欢低层次的东西,所以我无法让它自己工作。
任何帮助、文档引用、调试技巧等都会受到强烈欢迎,因为我不介意自己修复它,但我不知道从哪里开始(以及查看)。
$ uname -r
4.10.13-1-ARCH发布于 2017-08-06 16:52:21
我也有同样的烦人问题。因为我没有找到任何解决方案,所以我使用这个简单的bash脚本作为解决方案。
#!/usr/bin/bash
while [[ $(dmesg | tail -n 3 | grep ETPS) == "" ]]
do
sudo modprobe --remove psmouse
sudo modprobe psmouse
sleep 3
done
notify-send "Touchback" "Your touchpad is back ready to use"
exit当然,将sudoers配置为不为这两个命令要求密码是个好主意。
https://unix.stackexchange.com/questions/362165
复制相似问题