在 Mint 18.1 上设置鼠标 MX Master 拇指按钮

在 Mint 18.1 上设置鼠标 MX Master 拇指按钮

MX Master 的拇指按钮不是一个按钮,而是一个模拟击键。问题是我无法弄清楚它是哪一个,因为 xev 无法识别它。快捷方式面板告诉我它是“CTR + ALT + TAB”,但它没有执行“CTR + ALT + TAB”应该执行的操作,即“在面板之间切换”。相反,拇指按钮的作用是从我所在的窗口到最后一个显示的窗口来回移动,无限循环。有谁知道这个功能是什么?


编辑(按两次拇指按钮的结果):

Event: time 1486843409.135360, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1486843409.135360, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 1
Event: time 1486843409.135360, -------------- SYN_REPORT ------------
Event: time 1486843409.143358, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e2
Event: time 1486843409.143358, type 1 (EV_KEY), code 56 (KEY_LEFTALT), value 1
Event: time 1486843409.143358, -------------- SYN_REPORT ------------
Event: time 1486843409.151354, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7002b
Event: time 1486843409.151354, type 1 (EV_KEY), code 15 (KEY_TAB), value 1
Event: time 1486843409.151354, -------------- SYN_REPORT ------------
Event: time 1486843409.159360, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7002b
Event: time 1486843409.159360, type 1 (EV_KEY), code 15 (KEY_TAB), value 0
Event: time 1486843409.159360, -------------- SYN_REPORT ------------
Event: time 1486843409.167356, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e2
Event: time 1486843409.167356, type 1 (EV_KEY), code 56 (KEY_LEFTALT), value 0
Event: time 1486843409.167356, -------------- SYN_REPORT ------------
Event: time 1486843409.175354, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1486843409.175354, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 0
Event: time 1486843409.175354, -------------- SYN_REPORT ------------
Event: time 1486843410.633371, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1486843410.633371, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 1
Event: time 1486843410.633371, -------------- SYN_REPORT ------------
Event: time 1486843410.641373, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e2
Event: time 1486843410.641373, type 1 (EV_KEY), code 56 (KEY_LEFTALT), value 1
Event: time 1486843410.641373, -------------- SYN_REPORT ------------
Event: time 1486843410.649370, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7002b
Event: time 1486843410.649370, type 1 (EV_KEY), code 15 (KEY_TAB), value 1
Event: time 1486843410.649370, -------------- SYN_REPORT ------------
Event: time 1486843410.657362, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7002b
Event: time 1486843410.657362, type 1 (EV_KEY), code 15 (KEY_TAB), value 0
Event: time 1486843410.657362, -------------- SYN_REPORT ------------
Event: time 1486843410.665363, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e2
Event: time 1486843410.665363, type 1 (EV_KEY), code 56 (KEY_LEFTALT), value 0
Event: time 1486843410.665363, -------------- SYN_REPORT ------------
Event: time 1486843410.673364, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1486843410.673364, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 0 

编辑二我设法从 xev 得到结果。也可以按两次:

KeyPress事件,序列号37,合成NO,窗口0x6400001,根0xf5,子w 0x0,时间20443872,(-455,-283),根:(1367,722),状态0x10,键码37(keysym 0xffe3,Control_L),same_screen是,XLookupString 给出 0 个字节: XmbLookupString 给出 0 个字节: XFilterEvent 返回: False

KeyPress事件,序列号37,合成NO,窗口0x6400001,根0xf5,子w 0x0,时间20443880,(-455,-283),根:(1367,722),状态0x14,键码64(keysym 0xffe9,Alt_L),same_screen是,XLookupString 给出 0 个字节: XmbLookupString 给出 0 个字节: XFilterEvent 返回: False

FocusOut 事件,序列号 37,合成 NO,窗口 0x6400001,模式 NotifyGrab,详细信息 NotifyAncestor

FocusOut 事件,序列号 37,合成 NO,窗口 0x6400001,模式 NotifyWhileGrabbed,详细信息 NotifyNonlinear

PropertyNotify事件,序列号37,合成NO,窗口0x6400001,原子0x16b(_NET_WM_STATE),时间20443950,状态PropertyNewValue

FocusIn 事件,序列号 37,合成 NO,窗口 0x6400001,模式 NotifyWhileGrabbed,详细信息 NotifyNonlinear

KeymapNotify事件,序列号37,合成NO,窗口0x0,按键:0 0 0 0 32 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

FocusIn 事件,序列号 37,合成 NO,窗口 0x6400001,模式 NotifyUngrab,详细信息 NotifyNonlinear

KeymapNotify 事件,序列 37,合成 NO,窗口 0x0,按键:3 0 0 0 32 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

KeyRelease 事件,序列 37,合成 NO,窗口 0x6400001,根 0xf5,subw 0x0,时间 20445256,(-455,-283),根:(1367,722),状态 0x14,键码 37(keysym 0xffe3,Control_L),same_screen是,XLookupString 给出 0 个字节:XFilterEvent 返回:False

PropertyNotify事件,序列号37,合成NO,窗口0x6400001,原子0x16b(_NET_WM_STATE),时间20445283,状态PropertyNewValue

答案1

通过evtest检查内核输入evdev设备,并xev检查X接收到的事件,您可以看到它确实是一个Ctrl Alt Tab序列(前三个事件是按键,后三个事件按相反顺序是按键释放)。

人们还可以从xev日志中发现某些应用程序(可能是您的窗口管理器)识别该序列:它抑制事件Tab,并开始自行操作(这就是为什么xev会收到FocusOut)。以下PropertyNotify事件KeymapNotify表明它确实很可能是窗口管理器,并且可能正在尝试更改为不同的键盘布局或类似的布局。

这意味着一切都按预期进行:您的鼠标 MX 主控发送序列,X 理解该序列,并且某些程序对该序列做出反应。

如果反应不是你想要的,你需要识别对其做出反应的程序(关闭所有应用程序,用 重试xev,如果发生同样的情况,则表明它是窗口管理器),找到该程序的配置文件,找出该序列出现在配置文件中的位置,并将其更改为您希望发生的任何内容。无论如何,通读窗口管理器的文档将是一个好主意,因为这就是对序列的反应应该进行配置,即使事实证明某些其他程序(xbindkeys等)吞没了这个程序。

相关内容