我在 Ubuntu 上使用 Logitech Anywhere Mouse MX。鼠标工作正常,但我无法将操作分配给鼠标上的额外按钮。我最怀念的是分配给滚轮左右倾斜的“后退”和“前进”操作。
我如何才能激活这些功能?
答案1
我有同样的鼠标,我想将鼠标侧面的两个按钮绑定到前进和后退。以下是我解决这个问题的方法:
1) 使用实用程序“xev”确定要重新映射的按钮对应的数字。您可能需要使用以下命令安装此包
sudo apt-get install xev
安装 xev 后,在终端中输入“xev”,将弹出一个白色带黑框的 X 窗口。将鼠标移到该窗口中将开始向终端注册事件。仔细阅读该输出将告诉您鼠标按钮的编号。在我的鼠标上,左右倾斜分别映射到按钮 6 和 7。
2) 现在我们将使用实用程序“xbindkeys”将鼠标按钮重新映射到按键。如果您尚未安装它,您可能需要使用
sudo apt-get install xbindkeys
3) 在您的主目录中创建一个名为“.xbindkeysrc”的文件。这是 xbindkeys 将读取的内容,以查看您正在重新映射的内容。我的 .xbindkeysrc 文件的内容如下:
"/usr/bin/xvkbd -xsendevent -text "\[Alt_L]\[Left]""
m:0x0 + b:8
"/usr/bin/xvkbd -xsendevent -text "\[Alt_L]\[Right]""
m:0x0 + b:9
因此,这会告诉我的计算机,每当按下鼠标 0 上的按钮 8 或鼠标 0 上的按钮 9 时,使用虚拟键盘 (xvkbd) 将键盘按钮按下“Alt+Left”或“Alt+Right”发送到系统。这些键对应于大多数应用程序中的前进和后退键。例如,这将在 Nautilus、chrome/
笔记xvkbd
:如果您的系统上尚未安装,则可能需要安装。sudo apt-get install xvkbd
答案2
我xbindkeys
与 结合使用xdotool
。
.xbindkeysrc
在您的主目录中创建一个文件。它必须包含:
# Mapping BACK to mousewheel left on old Logitech
"xdotool key Alt_L+Left"
m:0x0 + b:6
# Mapping FORWARD to mousewheel right on old Logitech
"xdotool key Alt_L+Right"
m:0x0 + b:7
但是使用 VMware,你不需要做任何其他事情,只需添加
mouse.vusb.enable = "TRUE"
到主机系统中的 .vmx 文件。每次启动客户系统时,VMware 都会打开该文件。
答案3
这是我所做的。无需sudo
命令或新包:
- 我用以下方法测试了我的按钮
xev
--> 所有按钮都对应一个特定的值,这意味着它们被系统识别 - 检查设备
xinput list
--> 鼠标列在ID 9就我而言 xinput list-props 9
显示当前映射,特别是说明按钮标签 --> 似乎前进/后退对应于按钮 8 和 9,而我没有(滚轮倾斜是 6 和 7,并映射到水平滚动)- 通过 X 解释重新映射绑定
xmodmap
对我来说是最方便的解决方案。前五个按钮不应更改(左、右、中键单击和上下滚动),但报告为按钮 6 和 7 的按钮应向前/向后导航 xmodmap -e "pointer = 1 2 3 4 5 8 9 6 7 10 11 12 13 14 15 16"
在终端中执行将按钮 6 和 7 与 8 和 9 交换(虚拟地)- 如果此映射不适合您恢复默认设置
xmodmap -e "pointer = default"
并尝试不同的映射 - 现在,我在启动应用程序中有按钮交换命令,可以在登录后执行
- 似乎也可以将此
man xmodmap
命令存储在名为的文件中~/.xmodmaprc
,或将指令附加到~/.bashrc
对我有用。希望这能有所帮助。
答案4
Easystroke 非常容易配置。
sudo apt-get install easystroke