将鼠标上的按钮绑定到滚轮操作

将鼠标上的按钮绑定到滚轮操作

为了清楚地说明这一点,我不是想将鼠标滚轮绑定到模拟按钮上。我想将滚轮推到左边,让它向上滚动,而将滚轮推到右边,让它向下滚动。我之所以问这个问题,是因为我的鼠标滚轮磨损严重,很难用它滚动。

我用的是罗技 G500。可以使用 SetPoint,但它只提供“上下巡航”功能,而不是发送实际的鼠标事件。我需要另一个选项,一个可以产生通用鼠标滚动事件的选项。我需要一个适用于 Windows 和 Gentoo Linux 的解决方案(可能是两个独立的解决方案 - 如果一个用户提供了一个有效的 Windows 解决方案,另一个用户提供了一个有效的 Linux 解决方案,我将“回答”我自己的问题,指向这两个解决方案)。

答案1

显然,我使用的 SetPoint 版本太旧了。更新到最新版本的“Logitech 游戏软件”(撰写本文时为版本 8.70.315)将“上下巡航”功能更改为“上下滚动”,并且此功能会发送正确的鼠标滚轮事件。我尚未在 Windows 中找到与制造商无关的解决方案,并且我认为目前不存在这样的解决方案。

然而,在 Linux 中,尽管我在 Windows 上设置了鼠标,向左/向右推动鼠标滚轮仍会发送向左/向右滚动事件。xmodmap -e "pointer 1 2 3 0 0 4 5 8 9 10"通过我的桌面环境的正常自动启动功能在登录时运行,这个问题得到了迅速解决。对于那些不懂 xmodmap 的人来说,向上和向下滚动事件实际上被认为是“按钮”4 和 5,而人类称之为“4 和 5”的按钮被 xmodmap 视为按钮 8 和 9。此命令禁用真正的滚轮,并将“按钮 6 和 7”(向左/向右滚动)重新绑定为 4 和 5(向上/向下滚动)。不要费心使用“4 5 4 5”——X.Org 会认为您是个卑鄙的骗子,因为您说您有两个滚轮并抛出错误。

xorg.conf 中还有一个 ZMapping 配置选项,我还没有尝试过,但我应该尝试一下:有些程序不尊重 xmodmap 并且仍然期望来自真实滚轮的滚动事件。

相关内容