我昨天刚从 Logitech (M720 Triathlon) 买了一只新鼠标。起初,一切都运行良好。然而,今天,我还没有对系统进行任何更改,前进和后退按钮就停止工作了。我用另一只鼠标也遇到了同样的问题,而且在 Windows 上都能正常工作,所以这不是硬件问题。
我在 Xorg 上运行 Ubuntu 20.04.1 (Linux 5.8.0)。当然,我尝试用 测试事件。当我单击的窗口xev
时,普通按钮会触发两个事件:和,每个事件都会显示(用于左键单击)等等。但是,前进和后退按钮仅显示三个事件:、和。xev
ButtonPress
ButtonRelease
button 1
LeaveNotify
KeymapNotify
EnterNotify
当我单击鼠标左键时:
ButtonPress event, serial 37, synthetic NO, window 0x3000001,
root 0x7ae, subw 0x0, time 8493778, (71,177), root:(3048,529),
state 0x10, button 1, same_screen YES
ButtonRelease event, serial 37, synthetic NO, window 0x3000001,
root 0x7ae, subw 0x0, time 8493905, (71,177), root:(3048,529),
state 0x110, button 1, same_screen YES
当我单击前进/后退按钮时(是一样的):
LeaveNotify event, serial 37, synthetic NO, window 0x3000001,
root 0x7ae, subw 0x0, time 8494941, (71,177), root:(3048,529),
mode NotifyGrab, detail NotifyAncestor, same_screen YES,
focus YES, state 16
EnterNotify event, serial 37, synthetic NO, window 0x3000001,
root 0x7ae, subw 0x0, time 8495038, (71,177), root:(3048,529),
mode NotifyUngrab, detail NotifyAncestor, same_screen YES,
focus YES, state 16
KeymapNotify event, serial 37, synthetic NO, window 0x0,
keys: 4294967214 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
然而,最奇怪的事情现在开始了。如果我按住任意按钮(当然除了这两个),然后点击前进/后退,事情就会发生变化:
ButtonPress event, serial 37, synthetic NO, window 0x3000001,
root 0x7ae, subw 0x0, time 8883308, (65,122), root:(3042,474),
state 0x10, button 1, same_screen YES
ButtonPress event, serial 37, synthetic NO, window 0x3000001,
root 0x7ae, subw 0x0, time 8885715, (65,122), root:(3042,474),
state 0x110, button 9, same_screen YES
ButtonRelease event, serial 37, synthetic NO, window 0x3000001,
root 0x7ae, subw 0x0, time 8885813, (65,122), root:(3042,474),
state 0x110, button 9, same_screen YES
ButtonRelease event, serial 37, synthetic NO, window 0x3000001,
root 0x7ae, subw 0x0, time 8886525, (65,122), root:(3042,474),
state 0x110, button 1, same_screen YES
按住任何其他按钮(button 1
在本例中为 )时,这两个刚刚起作用(包括浏览器和其他东西)。注意到这一点后,我测试了我拥有的另外两只鼠标,它们都表现出相同的行为。
我读了这,但是它不起作用。
那么,即使我没有按下其他按钮,我该怎么做才能让这些按钮触发事件?
答案1
我意识到imwheel
是造成混乱的原因。显然,它试图将按钮 8 和 9 重新映射到谁知道是什么。幸运的是,imwheel
只需查看一些按钮就可以很容易地分辨出来。对于使用按钮 4、5、6 和 7 进行滚动的鼠标,我只需以imwheel
这种方式开始:
imwheel -b "4 5 6 7"
它会忽略所有其他按钮。