我的鼠标上有一个按钮,可以休眠系统,我想将其映射为不执行任何操作。此按钮最初使用鼠标附带的 Windows 软件在 Windows 中映射为执行其他操作,但该软件不适用于 Ubuntu。我不知道为什么它现在被映射到电源按钮。
我一直尝试使用xinput
重新映射按钮,但有问题的按钮没有显示,xinput get-button-map <device id>
所以我不知道如何更改它。有问题的设备是 Genius X-G500。
我的设备根据xinput list
:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Genius X-G500 id=12 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=15 [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)]
↳ Power Button id=8 [slave keyboard (3)]
↳ HID 0566:3002 id=9 [slave keyboard (3)]
↳ HID 0566:3002 id=10 [slave keyboard (3)]
↳ Genius X-G500 id=11 [slave keyboard (3)]
↳ Laptop_Integrated_Webcam_HD id=13 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=14 [slave keyboard (3)]
↳ Dell WMI hotkeys id=16 [slave keyboard (3)]
运行xinput test 12
并按下鼠标按钮会产生正常结果(例如,1
左键单击、2
中键单击、3
右键单击等),但当我按下相关按钮时,它会产生代码124
。当然,这个数字只有在我休眠后再次打开计算机时才可见。
运行xinput get-button-map 12
结果如下:
1 2 3 4 5 6 7 8 9 10 11 12 13
我不知道10
、11
、12
和13
是什么,因为我的鼠标没有那么多按钮。但是我本以为会看到124
一些我没看到的东西。这让我很困惑,因为现在我无法将其重新映射到0
正在举办的xmodmap -pk
演出(以及其他活动):
124 0x1008ff2a (XF86PowerOff) 0x0000 (NoSymbol) 0x1008ff2a (XF86PowerOff)
所以这是电源按钮,这很合理124
。我不知道是否有办法使用xmodmap
或其他工具更改此映射,但我找不到它...我也尝试过输入xev
然后按下此键,但没有输出。
我是 X 的新手,所以我真的不知道自己在做什么。我在 Google 上搜索了很多,使用xinput
或的想法xmodmap
就来自于我的 Google 搜索。
任何帮助都值得感激。谢谢。
答案1
我希望这有帮助:https://askubuntu.com/a/492745
我建议使用xinput test
并按下您想要更改的按钮。一旦您知道实际的按钮 ID,您就可以在xinput
CLI 上临时重新映射它,或者通过编写自定义按钮永久重新映射它~/.xsessionrc
,如上面的答案所示。