减慢 IMWheel 中两只鼠标之一的滚动速度

减慢 IMWheel 中两只鼠标之一的滚动速度

我有两只鼠标。我想只将设置应用于其中一只。在网站上 →https://wiki.archlinux.org/title/IMWheel我只看到选定窗口的设置,而看不到选定鼠标的设置。

xinput --list      
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ 2.4G Mouse                                id=8    [slave  pointer  (For ID 8 mouse I want to set IMWheel to slow down scrolling. If it is possible?2)]
⎜   ↳ Lenovo TrackPoint Keyboard II Mouse       id=10   [slave  pointer  (2)]

我做到了

".*"
None,       Up,     Up,     1
None,       Down,   Down,   1

目前,我已将鼠标和键盘上的第二个鼠标的滚动减速设置为非常慢。我想仅为鼠标 ID:8 设置滚动减速,可以吗?

答案1

我强烈怀疑答案是“否”,因为 IMWheel 不使用 XInput 来接收原始输入事件 - 它仅使用 X11“核心输入”事件,无法区分多个来源。(这就是“虚拟核心指针”所指的xinput。)

重写 IMWheel 以使用 XInput 可能需要一些工作(其最新版本实际上比当前的 XInput2 早了几年)。

如果你无法找到此 XInput 属性(在xinput list-props "2.4G Mouse"),那么使用基于 evdev 事件构建的现代工具来构建类似的东西可能会更容易,例如拦截工具对 EV_REL/REL_WHEEL (相对车轮运动)事件进行速率限制,或者明祥

相关内容