![如何将鼠标按钮重新映射到修饰键?](https://linux22.com/image/80667/%E5%A6%82%E4%BD%95%E5%B0%86%E9%BC%A0%E6%A0%87%E6%8C%89%E9%92%AE%E9%87%8D%E6%96%B0%E6%98%A0%E5%B0%84%E5%88%B0%E4%BF%AE%E9%A5%B0%E9%94%AE%EF%BC%9F.png)
我有一个相当标准的 Logitech M510 无线鼠标,带有三个常规按钮、前进和后退按钮以及滚动和侧向滚动按钮。前进和后退按钮比无用更糟糕,因为当我不小心按下它们时,它们可以关闭新打开的选项卡或其他不良行为。我希望它们充当控制和替代功能。使用 xev,我确定它们分别是按钮 9 和 8。我尝试使用xmodmap -e "pointer = 1 2 3 4 5 6 7 Alt_L Control_L"
,但 xmodmap 不接受其中包含键的指针按钮列表。然后我尝试使用 xbindkeys 和 xautomation,设置以下 .xbindkeysrc:
"xte 'keydown Alt_L'"
b:8
"xte 'keyup Alt_L'"
Release + b:8
"xte 'keydown Control_L'"
b:9
"xte 'keyup Control_L'"
Release + b:9
然后运行 xbindkeys。以前,当我没有拆分 keydown 和 keyup 部分时,前进和后退功能已暂停,但没有发生任何替代或控制。 keydown 和 keyup 设置非常有问题,因为一旦我按下后退按钮,alt 键在大多数意图和目的上都会被按下,就组合键而言,我无法输入任何内容,尽管当我按住后退按钮 alt + click 时行为返回到只是单击行为,无论哪种方式,我都必须按住键盘上的 alt 切换到另一个终端并杀死 xbindkeys。我怎样才能真正重新映射这些按钮?我更喜欢使用 xmodmap 或至少使用 xbindkeys,但我很欣赏任何解决方案。在最坏的情况下,我知道我可以通过使用按钮使按钮不执行任何操作xmodmap -e "pointer = 1 2 3 4 5 6 7 0 0"
。