如何仅重新映射一个键盘上的按键?

如何仅重新映射一个键盘上的按键?

我知道我可以用它xinput重新映射一只鼠标上的鼠标按钮,而其他按钮保持不变。这非常有用。就我而言,我用它将两个鼠标连接到我的桌面,一只右手鼠标,另一只左手鼠标。

当连接了多个键盘时,也可以这样做吗?我可以将一个键盘上的按键重新映射到其他按键上,而其他按键保持不变吗?

在我的特定情况下,我的鼠标似乎被注册为附加键盘,并且它的第 6 和第 7 个按钮被转换为pageuppagedown,我想将它们绑定到复制/粘贴 - 但我不想影响标准键盘上的常规pageuppagedown键。

输出如下所示xinput- 有问题的键盘的 ID 为 10:

$ xinput
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ SteelSeries Diablo III Gaming Mouse       id=9    [slave  pointer  (2)]
⎜   ↳ SteelSeries Diablo III Gaming Mouse       id=11   [slave  pointer  (2)]
⎜   ↳ Logitech USB Optical Mouse                id=12   [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)]
    ↳ Power Button                              id=7    [slave  keyboard (3)]
    ↳ Creative Technology Ltd SB Tactic3D Rage USB  id=8    [slave  keyboard (3)]
    ↳ SteelSeries Diablo III Gaming Mouse       id=10   [slave  keyboard (3)]
    ↳ Logitech USB Keyboard                     id=13   [slave  keyboard (3)]
    ↳ Logitech USB Keyboard                     id=14   [slave  keyboard (3)]
    ↳ HP WMI hotkeys                            id=15   [slave  keyboard (3)]

答案1

您的问题更多是关于重新映射鼠标按钮而不是键盘按钮,对吗?我认为 ImWheel 可以重新映射多个设备。我使用它并在此处写了一篇文章:http://www.gdargaud.net/Hack/LinuxMouse.html

答案2

这无法通过 xinput/xf86-input-evdev 完成,您必须直接在 evdev 中执行此操作,请查看 evtest 包。

相关内容