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

Oak*_*Oak 18 keyboard input-devices xinput

我知道我只能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)]
Run Code Online (Sandbox Code Playgroud)

dar*_*aud 1

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


小智 0

这不能用 xinput/xf86-input-evdev 来完成,你必须直接在 evdev 中完成,查看 evtest 包。