如何记录鼠标输入来源以排查指针瞬移重复点击故障
这种鼠标突然瞬移到屏幕顶部还疯狂重复点击的问题真的太闹心了!既然你已经试过禁用触摸设备暂时缓解了症状,那咱们来一步步追踪到底是哪个设备在搞鬼,给你几个实用的方法:
实时监控单个设备的输入事件
你已经通过xinput list拿到了设备ID(15、16、17这些),可以用xinput test <设备ID>命令实时查看对应设备的所有输入动作。比如开个终端运行xinput test 15,然后等着故障出现——如果这个命令输出了对应的移动/点击事件,那这个设备就是罪魁祸首。
小技巧:可以多开几个终端窗口,分别监控不同的设备,这样故障发生时能立刻定位到是哪个设备在输出事件。用evtest查看底层输入细节
要是xinput的信息不够详细,试试更底层的evtest工具。首先得安装它(Debian/Ubuntu系可以用sudo apt install evtest),运行sudo evtest后会列出所有系统识别的输入设备,选对应的编号就能看到每一个事件的完整信息:包括设备来源、事件类型(移动、点击)、甚至具体坐标和按键状态。故障发生时,你能一眼看到是哪个设备在“偷偷发指令”。把输入事件记录到日志,方便事后排查
如果故障不是随时都能触发,没法一直盯着终端,可以把输出重定向到日志文件里。比如:xinput test 15 > touchscreen_log.txt 2>&1或者用evtest的话:
sudo evtest /dev/input/eventX > input_log.txt 2>&1等故障出现后,直接打开日志文件,找对应时间点的事件记录就行。
逐个恢复设备,缩小排查范围
既然你已经禁用了三个设备,不妨用“排除法”:先恢复其中一个设备的启用状态(比如xinput set-prop 15 "Device Enabled" 1),同时用上面的监控方法观察。如果故障重现,那这个设备就是问题所在;如果没重现,再启用下一个,直到找到根源。
备注:内容来源于stack exchange,提问作者reducing activity

