我的鼠标上有一个按钮无法禁用。它就在我的拇指旁边,我总是不小心点击它。它会触发某种 alt+tab 功能,这非常烦人!
这是我的 xinput 输出:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech M720 Triathlon id=11 [slave pointer (2)]
⎜ ↳ Wacom Pen and multitouch sensor Finger touch id=13 [slave pointer (2)]
⎜ ↳ Wacom Pen and multitouch sensor Pen stylus id=14 [slave pointer (2)]
⎜ ↳ Elan Touchpad id=15 [slave pointer (2)]
⎜ ↳ Elan TrackPoint id=16 [slave pointer (2)]
⎜ ↳ Wacom Pen and multitouch sensor Pen eraser id=20 [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)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Sleep Button id=8 [slave keyboard (3)]
↳ Apple, Inc Apple Keyboard id=9 [slave keyboard (3)]
↳ Apple, Inc Apple Keyboard id=10 [slave keyboard (3)]
↳ Integrated Camera: Integrated C id=12 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=17 [slave keyboard (3)]
↳ ThinkPad Extra Buttons id=18 [slave keyboard (3)]
↳ Logitech M720 Triathlon id=19 [slave keyboard (3)]
这是xinput test 11
当我单击按钮时的输出:
key press 37
key press 64
key press 23
key release 23
key release 64
key release 37
编辑:xev 输出
KeyPress event, serial 40, synthetic NO, window 0x4e00001,
root 0x16b, subw 0x0, time 3927972, (-192,136), root:(679,596),
state 0x10, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 40, synthetic NO, window 0x4e00001,
root 0x16b, subw 0x0, time 3927980, (-192,136), root:(679,596),
state 0x14, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 40, synthetic NO, window 0x4e00001,
root 0x16b, subw 0x0, time 3927988, (-192,136), root:(679,596),
state 0x1c, keycode 23 (keysym 0xff09, Tab), same_screen YES,
XLookupString gives 1 bytes: (09) " "
XmbLookupString gives 1 bytes: (09) " "
XFilterEvent returns: False
有没有办法在启动时忽略设备 ID 11?如果是这样,如何以及如何确保它在启动时不会忽略其他内容?我可以忽略 xinput 中的这些按键,但随后我的键盘将无法再按下这些按键。
答案1
鼠标既可以作为鼠标,也可以作为键盘。您可以通过以下方式禁用键盘部分:
$ xinput disable 19
通常,您会使用设备名称“Logitech M720 Triathlon”作为最后一个参数,但鼠标具有相同的名称,因此您必须通过处理列表来获取编号。例如:
$ xinput disable $(xinput --list | grep M720.*keyboard | sed -E 's/.*id=([0-9]+).*/\1/g')
要在 Xfce 会话开始时进行设置,您可以检查这。
答案2
要映射 Logitech M720 Triathlon 多设备鼠标上的拇指按钮,请打开 dconf 编辑器并导航到 org/cinnamon/desktop/keybindings/wm/(switch-panels),关闭“使用默认值”。输入您想要的自定义值。既然我想禁用我输入的拇指按钮[''],本质上是一个空值。我正在使用 Ubuntu 22.04.2 LTS,如果这对我的答案有所帮助的话。
答案3
经过更多搜索,我确实找到了答案。 linux下有一个软件叫派珀(https://www.linuxuprising.com/2020/11/configure-logitech-steelseries-and.html)并且我能够将“未知”键映射到 Firefox 中的“前进”,并且由于我很少有机会向前移动页面,因此该按钮实际上什么也不做。 Piper 中有许多按钮可以映射到的功能。