我观察到两个 Logitech 鼠标(MX Master 3 和 Marathon M705)存在奇怪的滚动问题:在棘轮模式下,向上或向下滚动一步有时会被记录为 0 或 2 步(滚动时,触发新滚动事件的点移动,直到没有/两个卷轴之间一次棘轮咔嗒声)。
REL_HWHEEL_HI_RES
按建议禁用这里确实有所改进,但问题仍然存在(我尝试了不同的 PC、发行版、DE 和 MX 3 的蓝牙连接,但没有成功)。
在 Windows 上使用鼠标工作正常,所以我怀疑这是某种硬件错误。观察启用的输出sudo libinput debug-events | grep SCROLL
显示REL_HWHEEL_HI_RES
,一个棘轮滚动事件的总和在105*
到 的范围内135*
,而它应该是120*
:
$ sudo libinput debug-events | grep SCROLL
event20 POINTER_SCROLL_WHEEL +1.662s vert 7.50/60.0* horiz 0.00/0.0 (wheel)
event20 POINTER_SCROLL_WHEEL +1.670s vert 1.88/15.0* horiz 0.00/0.0 (wheel)
event20 POINTER_SCROLL_WHEEL +1.678s vert 1.88/15.0* horiz 0.00/0.0 (wheel)
event20 POINTER_SCROLL_WHEEL +1.688s vert 1.88/15.0* horiz 0.00/0.0 (wheel) # first scroll is 105*
event20 POINTER_SCROLL_WHEEL +4.140s vert -7.50/-60.0* horiz 0.00/0.0 (wheel)
event20 POINTER_SCROLL_WHEEL +4.148s vert -5.62/-45.0* horiz 0.00/0.0 (wheel)
event20 POINTER_SCROLL_WHEEL +4.156s vert -3.75/-30.0* horiz 0.00/0.0 (wheel) # second scroll is -135*
event20 POINTER_SCROLL_WHEEL +6.714s vert 7.50/60.0* horiz 0.00/0.0 (wheel)
event20 POINTER_SCROLL_WHEEL +6.722s vert 1.88/15.0* horiz 0.00/0.0 (wheel)
event20 POINTER_SCROLL_WHEEL +6.730s vert 1.88/15.0* horiz 0.00/0.0 (wheel)
event20 POINTER_SCROLL_WHEEL +6.738s vert 1.88/15.0* horiz 0.00/0.0 (wheel)
event20 POINTER_SCROLL_WHEEL +6.746s vert 3.75/30.0* horiz 0.00/0.0 (wheel) # third scroll is 135* too
event20 POINTER_SCROLL_WHEEL +26.460s vert -7.50/-60.0* horiz 0.00/0.0 (wheel)
event20 POINTER_SCROLL_WHEEL +26.468s vert -3.75/-30.0* horiz 0.00/0.0 (wheel)
event20 POINTER_SCROLL_WHEEL +26.476s vert -1.88/-15.0* horiz 0.00/0.0 (wheel)
event20 POINTER_SCROLL_WHEEL +26.484s vert -1.88/-15.0* horiz 0.00/0.0 (wheel) # fourth scroll is -120*
现在我们已经滚动-15*
(105-135+135-120
)到很远了(只有当这个漂移是否会> 120*
导致出现额外的滚动?
是否有某种方法可以在接收之前对滚动进行微调或过滤libinput
?
作为一种解决方法,我可以禁用它ratchet mode
(通过鼠标按钮或例如 Solaar),但这显然不是一个真正的解决方案。