libinput 触摸板在周边“死”了

libinput 触摸板在周边“死”了

我有一台罗技 T650。很久以前,我遇到了一个问题,触控板周边大约 1cm 处“死”了——没有 POINTER_MOTION 事件,没有点击, 、 、 或 中都没有xev任何libinput-debug-events内容xinput test。不幸的是,我的鼠标风格主要涉及触摸板的左下角,因此这会丢弃我的大部分输入。

我发现降级到 3.18 内核可以恢复该问题,这表明它与https://lkml.org/lkml/2015/3/23/155——这看起来没有解决。我现在已经升级到 Fedora 22,它不再支持 3.18 内核。

鉴于用户态工具缺乏输出,我认为问题出在内核驱动程序中。我如何确定哪个内核驱动程序负责,以及我可以调整哪些选项来恢复此功能?

答案1

在 Benjamin Tissoires(驱动程序的作者)的一些电子邮件帮助下,我能够解决这个问题。问题在于,3.19 内核包含了一些更改,以便在由软件解释其数据的模式下运行 T650,从而允许通过与其他触摸板相同的代码来处理手势等。不幸的是,这导致了我观察到的问题以及手势处理方面的一些变化。本杰明提到他要在线程中添加的参数是disable_raw_mode,这基本上会在运行时恢复该更改。

要启用此设置,

  1. 添加options hid_logitech_hidpp disable_raw_mode=1/etc/modprobe.d/hid_logitech_hidpp.conf
  2. 关闭主机电源,取下“统一接收器”(小USB加密狗)并关闭T650(将左侧开关设置为红色)。
  3. 打开主机电源并完成 Linux 启动过程
  4. 重新插入接收器并重新打开 T650。

我发现T650本身的电源循环是这个过程的重要组成部分:没有它,设备仍然有“死区”。

您可以测试该evtest程序的正确行为;以 root 身份运行它,然后选择与“Logitech T650”对应的输入。如果单击玻璃表面的最边缘显示EV_KEY... BTN_LEFT,则说明一切正常。如果什么也没有出现,则问题尚未解决。

相关内容