我有一台罗技 MX-510,我已经使用了大约六年。
鼠标有几个额外的按钮,我想在 Gnome 中使用,但我对鼠标发送到驱动程序的按钮代码有问题:
按钮 1(鼠标滚轮按钮)按预期工作。一项
ButtonPress
事件在state 0x10
新闻button 1
发布ButtonRelease
时发生state 0x110
。按钮 2(鼠标滚轮按钮)按预期工作。一项
ButtonPress
事件在state 0x10
新闻button 2
发布ButtonRelease
时发生state 0x210
。按钮 3(右侧按钮)按预期工作。一项
ButtonPress
事件在state 0x10
新闻button 3
发布ButtonRelease
时发生state 0x410
。按钮 4(向上滚动)按预期工作。它发送一个
ButtonPress
带有state 0x10
和的事件button 4
,以及一个ButtonRelease
带有 的事件state 0x810
。这两个事件在每个滚动步骤上瞬时发生。按钮 5(向下滚动)按预期工作。它发送一个
ButtonPress
带有state 0x10
和的事件button 5
,以及一个ButtonRelease
带有 的事件state 0x1010
。这两个事件在每个滚动步骤上瞬时发生。
按钮 6 和 7 似乎不存在。
按钮 8(后退按钮)按预期工作。它发送一个带有和
ButtonPress
的事件,以及一个带有 的事件。这两个事件在每个滚动步骤上瞬时发生。state 0x10
button 8
ButtonRelease
state 0x10
按钮 9(后退按钮)按预期工作。它发送一个带有和
ButtonPress
的事件,以及一个带有 的事件。这两个事件在每个滚动步骤上瞬时发生。state 0x10
button 9
ButtonRelease
state 0x10
鼠标具有三个附加按钮,如上图所示。
按钮 10(位于鼠标最顶部)无法使用。它发送一个带有和
ButtonPress
的事件,以及一个带有 的事件。该按钮无法在 Gnome 中使用,因为它不可选择。大多数选项选择器(例如 CompizConfig 设置管理器之一)仅上升到按钮 9。state 0x10
button 10
ButtonRelease
state 0x10
按钮 11(鼠标滚轮前面的额外按钮)不太好用。按下时,它会发送一个带有和 的
ButtonPress
事件,state 0x10
button 11
和与和 的另一个ButtonPress
事件state 0x10
button 4
和还有一个ButtonPress
带有 和 的事件state 0x810
(button 4
最后两个行为与滚轮向上移动一步的行为相同)。发布时,它会发送一个带有和 的ButtonRelease
事件。但问题是,当按住按钮时,它会每秒重复大约五次“鼠标滚轮模拟”。 (比如鼠标滚轮巡航控制之类的)。state 0x10
button 11
按钮 12(鼠标滚轮背面的额外按钮)不太好用。按下时,它会发送一个带有和 的
ButtonPress
事件,state 0x10
button 12
和与和 的另一个ButtonPress
事件state 0x10
button 5
和还有一个ButtonPress
带有 和 的事件state 0x1010
(button 5
最后两个行为与滚轮向上移动一步的行为相同)。发布时,它会发送一个带有和 的ButtonRelease
事件。按住时,它会显示与按钮 11 相同的巡航控制行为,但具有相应的按钮和状态参数。state 0x10
button 12
有没有办法以某种方式重新映射这些附加键,以便我可以使用它们或使它们可以与 Gnome 一起使用?特别是,如果可能的话,使按钮 11 和 12 停止发送鼠标滚轮上下滚动的代码。如果可能的话,我怎样才能改变鼠标按钮的一般行为?
答案1
您需要使用 lomoco 进行永久性更改(例如停止按钮 11 和 12 发送滚轮事件。)您可能必须在启动时运行 lomoco 以保留更改。我用 MX1000 做到了这一点。
如果您想要分配按钮 6 和 7(通常在 X 下被视为水平滚动),您可以使用 xmodmap 重新映射按钮。
答案2
(我自己有一台 Mx518,我根据我的 518 对 500 做出一些假设。)
方向盘前面和后面的两个按钮用于控制鼠标的 DPI。由于这似乎是在硬件本身中完成的,因此我不知道是否建议将它们用于其他用途。
您也许可以使用LMCTL配置最上面的按钮或车轮侧面的按钮。还有一个程序叫logitech_applet
,但我从未使用过它