Linux 上的 Logitech M560 鼠标发送混乱的输入事件

xan*_*.pl 6 linux kernel logitech-mouse

我的朋友昨天买了一个罗技 M560 鼠标(你可以在这里看到它)并在她的 Ubuntu 系统上试用。它似乎是一个相对较新的模型,所以除了罗技自己的网站外,任何地方都没有关于它的信息。键映射已关闭,但我认为重新映射按钮很容易 - 过去十年我一直在使用各种罗技鼠标进行此操作。但是,与其他鼠标不同,您必须用按钮 2 说切换按钮 13,这款鼠标会发送一些按键事件,就像您在键盘上打字一样。

鼠标具有左键和右键单击按钮、具有倾斜功能的滚轮(4 个按钮)、侧面的后退和前进按钮,以及滚轮后面的小方形按钮 - 总共九个按钮。按下滚轮不会起到中键的作用,它下面没有开关。相反,按下轮子会接合和松开锁,使其可以逐步或自由旋转。

我想让所有“常用”按钮执行它们应该执行的操作并将中间单击操作映射到轮子后面的小按钮,因此我从 xev 和 xinput 开始确定哪个是哪个:

按钮 1 -> 左击按钮 3 -> 右击按钮 4 -> 向上滚轮 按钮 5 -> 向下滚轮 按钮 8 -> 向左倾斜 按钮 9 -> 向右倾斜

这是奇怪的部分:按下前进按钮就像按下 Super_R(键码 134)。按下后退按钮会同时产生 Super_L 和 d(键码 133 和 40)。

更奇怪的是:按一次方形按钮,同时给出 Alt_L、Super_L 和 XF86TouchpadOff(键码 64、133、201)。第二次按下它就像按下按钮 1...

因此,前六个按钮发送按钮按下/释放事件,而其他三个按钮发送多个按键按下/释放事件。

将鼠标按钮映射到键盘键码相对容易,但是否可以在不损坏系统键盘的情况下进行相反的操作?我应该从 kernel.org 联系某人以添加对鼠标的支持吗?

小智 5

您可以通过 udev 重新映射密钥。鼠标充当键盘。这里有一个工作:https : //bugzilla.redhat.com/show_bug.cgi?id=1035668