重新映射鼠标上的电源按钮(使用 X)

重新映射鼠标上的电源按钮(使用 X)

我的鼠标上有一个按钮,可以休眠系统,我想将其映射为不执行任何操作。此按钮最初使用鼠标附带的 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 

我不知道10111213是什么,因为我的鼠标没有那么多按钮。但是我本以为会看到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,您就可以在xinputCLI 上临时重新映射它,或者通过编写自定义按钮永久重新映射它~/.xsessionrc,如上面的答案所示。

相关内容