我有一个带有 5 个按钮的基本罗技鼠标:左键、右键、左滚轮、滚轮、右滚轮。
我以前用左右滚轮在浏览器或导航器中来回移动。现在这个不行了。我找到了很多解决办法,有人告诉我安装这个或那个程序,但似乎都不管用。
答案1
安装包
xautomation
,我们需要命令xte
:sudo apt-get install xautomation
安装包
x11-utils
,我们需要命令xev
:sudo apt-get install x11-utils
检查两个鼠标按钮的代码。
xev
在终端中启动命令:xev
将鼠标移到新窗口中
按下wheel left和wheel right。
就我而言,请注意输出
button 6
和button 7
:ButtonRelease event, serial 36, synthetic NO, window 0x2e00001, root 0x233, subw 0x0, time 9222464, (94,21), root:(1774,85), state 0x10, button 6, same_screen YES ButtonPress event, serial 36, synthetic NO, window 0x2e00001, root 0x233, subw 0x0, time 9223854, (94,21), root:(1774,85), state 0x10, button 7, same_screen YES
编辑您的
xbindkeys
配置,例如:nano ~/.xbindkeysrc
并添加以下几行
"xte 'keydown Alt_L' 'keydown Left' 'keyup Left' 'keyup Alt_L'" b:6 "xte 'keydown Alt_L' 'keydown Right' 'keyup Right' 'keyup Alt_L'" b:7
用您的输出数字替换
b:6
和。b:7
xev
从
man xte
:key k Press and release key k keydown k Press key k down keyup k Release key k
终止所有
xbindkeys
进程:killall xbindkeys
使用您的配置重新启动
xbindkeys
,例如:xbindkeys -f ~/.xbindkeysrc
答案2
修复 Logitech G900 上的滚动速度和后退/前进按钮(这个应该相同):
xev
对我的鼠标不起作用,我xinput
首先使用命令找出鼠标的设备 ID。要列出输入设备:
# xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech Gaming Mouse G900 id=8 [slave pointer (2)]
⎜ ↳ Logitech Gaming Mouse G900 id=9 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Power Button id=7 [slave keyboard (3)]
↳ HD Pro Webcam C920 id=11 [slave keyboard (3)]
↳ Logitech Gaming Mouse G900 id=12 [slave keyboard (3)]
↳ Apple Inc. Magic Keyboard with Numeric Keypad id=10 [slave keyboard (3)]
然后使用xinput test 8
(这是鼠标 ID,9 没有给出任何输出)找出侧面按钮实际上是按钮 8 和 9(只需按下它们并查看输出以查看您按了哪些按钮)。
我之前已经安装了 imwheel 来调整鼠标滚动速度
创建一个像这样的 .imwheelrc:
cat >~/.imwheelrc<<EOF
".*"
None, Up, Button4, 5
None, Down, Button5, 5
None, Thumb1, Alt_L|Left
None, Thumb2, Alt_L|Right
EOF
意思是".*"
,将该配置用于所有 x-windows。例如,如果您只想在 chrome 中使用该配置,则可以在此处插入"^google-chrome$"
。
您可以使用xprop WM_CLASS | grep -o '"[^"]*"' | head -n 1
然后单击窗口来获取应在配置中的名称。
None
第一列的部分表示无需同时按住任何修饰键(例如 、 、 )即可注册鼠标按钮Shift点击Ctrl。Alt
Button4 和 Button5 通常是鼠标滚轮。5
行尾定义滚动速度(越高越快,越低越慢)
我不知道这是什么ThumbN
意思。
应Alt_L|Left
模拟按住左键Alt(Alt_L),然后按左箭头 (←) 键返回浏览器。使用 KP_Left 代替 Left 也可以。
killall imwheel
使用和重新启动 imwheel imwheel
。
注意:您必须重新打开窗口才能生效。
要查找按钮名称,请使用列表xmodmap -pke
或其中的图形界面xkeycaps
我使用了许多来源。以下是其中一些来源: 另一篇关于同一主题的帖子 还有关于鼠标 示例 imwheelrc 文件
答案3
有多鼠标按钮说明请点击此处和xorg.conf 信息在这里。
本质上,你只是在摆弄 xinput。(或者使用 imwheel 获得更多选项。)
首先,打开终端。列出您的输入设备:
# show all input devices
xinput list
你会得到类似这样的结果:
$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Microsoft Natural® Ergonomic Keyboard 4000 id=11 [slave pointer (2)]
⎜ ↳ Evoluent VerticalMouse 4 id=12 [slave pointer (2)]
我有一个 Evoluent VerticalMouse。您可以看到标识符编号为 12:“id=12”。
我可以用以下方法测试我的鼠标:
# show all input from device with identifier number 12
xinput test 12
现在,当我移动鼠标或单击时,我会在终端中得到输出,告诉我按下了哪个按钮。按Ctrl-c结束测试。
如果您的后退/前进按钮没有输出,请尝试使用 set-button-map 将按钮映射重置为默认值。请注意,我使用的是通过以下方式输出的设备名称xinput list
:
xinput set-button-map "Evoluent VerticalMouse 4" 1 2 3 4 5 6 7 8 9 10 11 12 13 14
现在尝试xinput test
使用您的 ID 运行。如果您在这里得到正确的按钮响应,那么您只需要找出您想要的映射并更新您的 xorg.conf。(我还不知道如何做到这一点。)
答案4
经过一番努力后,我发现要让拇指下方的两个小三角形按钮(拇指轮旁边)用作 Logitech MX Master 的后退/前进功能,我必须:
安装imwheel
,然后编辑~/.imwheelrc
成如下所示:
".*"
None, Up, Button4, 5
None, Down, Button5, 5
Control_L, Up, Control_L|Button4
Control_L, Down, Control_L|Button5
Shift_L, Up, Shift_L|Button4
Shift_L, Down, Shift_L|Button5
None, Thumb1 , Alt_L|Left
None, Thumb2 , Alt_L|Right
底部的两行意味着按下两个拇指按钮中较低的一个(显然是“Thumb1”)而不按住任何修饰键(例如Shift、Ctrl、Alt)(即“无”部分)应该模拟按住左 Alt 键(Alt_L),然后按左箭头(←)键返回浏览器。
类似地,“Thumb2”行生成左 Alt 键加右箭头,以向前移动。
看起来有很多不同的方法可以做到这一点,但这是我在 Ubuntu 18.04 中发现并对我有用的方法。我在解释手册页告诉imwheel
我做什么时遇到了一些麻烦,所以我希望这对某些人有所帮助。
编辑.imwheelrc
文件后,不要忘记重新启动imwheel
以使更改生效:
sudo imwheel -k