我有一个罗技 MX400 激光鼠标,它有 5 个按钮 + 4 个用于垂直/水平滚动。我希望它设置为这样,而不是水平滚动,按下滚轮上的右将发送Ctrl+Tab并且左将发送Ctrl+ Shift+ Tab,这将允许我在浏览器中的选项卡之间循环。
此外,如果我可以将中间按钮重新映射到侧面的一个按钮,那就太好了,因为它真的很难按下。
另一个好处是,如果我可以编写一个脚本,允许我根据当前活动的窗口定义哪些按钮做什么。
我试过使用xmodmap
,但我只能看到如何重新排列按钮,而不是让它们发送键信号。
提前致谢。
按钮图(使用xev
):
Left 1
Middle 2
Right 3
ScrollUp 4
ScrollDown 5
ScrollLeft 6
ScrollRight 7
Backward 8
Forward 9
xbindkeys和xte可以帮助您。
例如,我的 .xbindkeysrc 文件如下所示:
感谢大家的解决方案。这是一个更简单/组合的指南(在 Xubuntu 18.04 上完成)。
打开一个终端(如 xterm/terminal/terminator),成为 root (
sudo su -
) 或在命令前使用 sudo:检查按钮映射
xev
,为此您不需要 root 权限,因此退出 root 会话(使用exit
)或以用户身份打开另一个终端。将出现一个小窗口。您必须将鼠标移入该窗口并按下要重新映射的按钮。终端中的示例输出将是:
这是我想用作 PAGE_DOWN 的鼠标上的第二个侧键。
这是我想用作 PAGE_UP 的第一个(是的,顺序相反)侧面按钮。
当您拥有要重新映射的所有按钮时,您可以关闭小 xev 窗口。打开您喜欢的编辑器(例如 gedit/vi/nano)并编辑配置文件。
如果文件中已经有一些内容,请查看是否已经有类似的绑定(不太可能,默认情况下不是)并在最后添加。
注意:您需要两个条目,一个用于按钮按下,一个用于释放。
按钮 8+9 将映射到键“Next”(即 PAGE_DOWN)和“Prior”(PAGE_UP)。如果要映射不同的键,可以使用 xev 找到键符号。
像以前一样,在终端中启动它,将鼠标移动到小窗口并按下想要的键。
保存并杀死 xbindings。
您现在可以使用鼠标上的附加侧键。该设置将在下次重新启动/登录时自动加载。如果您更改设置,则只需要
killall [...]
上面的命令。