我有一个基本的Logitech鼠标,带有5个按钮:左,右,左滚轮,滚轮,右滚轮。
我曾经在浏览器或导航器中使用左右滚轮来回前进。现在这不起作用。人们发现要安装此程序或那样的程序,我发现很多解决方案似乎都行不通。
我有一个基本的Logitech鼠标,带有5个按钮:左,右,左滚轮,滚轮,右滚轮。
我曾经在浏览器或导航器中使用左右滚轮来回前进。现在这不起作用。人们发现要安装此程序或那样的程序,我发现很多解决方案似乎都行不通。
Answers:
安装软件包xautomation
,我们需要命令xte
sudo apt-get install xautomation
安装软件包x11-utils
,我们需要命令xev
sudo apt-get install x11-utils
检查两个鼠标按钮的代码。
xev
在终端中启动命令:
xev
在新窗口中移动鼠标
向左按下车轮,向右车轮
就我而言,请注意输出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
杀死所有kbindkeys
进程
killall xbindkeys
重新启动xbindkeys
您的配置,例如:
xbindkeys -f ~/.xbindkeysrc
这里有多个鼠标按钮说明,并且这里的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。(我还不知道该怎么做。)
首先,安装所需的软件包:
$ sudo apt install x11-utils xbindkeys xautomation
接下来,使用xev
提供的x11-utils
来检测鼠标的后退和前进按钮的确切按钮号。
$ xev |grep -A2 ButtonPress
对于我的有线垂直Anker鼠标,后退和前进分别是按钮8和9。
ButtonPress event, serial 37, synthetic NO, window 0x3600001,
root 0x1da, subw 0x0, time 1708382, (68,54), root:(939,498),
state 0x10, button 8, same_screen YES
--
ButtonPress event, serial 37, synthetic NO, window 0x3600001,
root 0x1da, subw 0x0, time 1711030, (69,48), root:(940,492),
state 0x10, button 9, same_screen YES
继续.xbindkeysrc
在主目录中创建一个隐藏文件,其内容如下:
"xte 'keydown Down'"
b:8
"xte 'keyup Down'"
b:8 + Release
"xte 'keydown Up'"
b:9
"xte 'keyup Up'"
b:9 + Release
该xte
命令由xautomation
软件包提供。
最后,从桌面注销并再次登录,以使这些更改生效。现在,您可以通过按住鼠标的后退和前进按钮在浏览器和其他程序中上下滚动。
经过多番努力后,我发现要使拇指下方的两个小三角形按钮(拇指轮旁边)与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