旧 PS/2 键盘上的 Capslock 重新映射

旧 PS/2 键盘上的 Capslock 重新映射

我有一个旧的 IBM 键盘,通过 PS/2 转 USB 适配器连接到我的笔记本电脑。我无法将 重新映射到Linux 中的Caps LockCtrl。按住Caps Lock,重新映射到Ctrl,仅适用于第一个键盘快捷键。即使我仍然按住Caps Lock,之后的每个按键都不会改变。

使用时sudo showkey我发现即使我仍然按住Caps Lock,当我释放另一个键时,的释放代码Caps Lock也会被发送。

我不知道这是键盘还是 USB 适配器的限制。按键绑定适用于我的笔记本电脑键盘,但不适用于我的外接键盘。有办法解决这个问题吗?

答案1

我遇到过类似的问题,一个旧的 PS2 键盘通过 ps2->usb 适配器连接,在 Windows(XP 和 Win7)中将 capslock 重新映射到 ctrl 后,我无法将第二个控制修改的按键视为控制字符。我发现,在我释放第一个控制修改的字符后,我必须释放并重新按下 capslock 键才能发送另一个 ctrl 字符。

我已编辑 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout 的注册表项,并添加了 Scancode Map 项

我知道原始的 ctrl 键在 PS2 键盘上可以正常工作,因为它允许输入多个 ctrl 修饰的字符而无需重新按下 ctrl 字符。我还知道,当键盘通过 PS2 端口连接到计算机时,将 capsLock 键重新映射到 ctrl 字符后,可以作为 ctrl 键正常工作。所以我的结论是 USB 转换器或连接无法传递多个 ctrl 按键。

最后,我尝试将 USB 键盘连接到 PC 上的 USB 端口,发现它可以正常工作,无论是使用原始的 ctrl 键还是使用重新映射的 caps-lock 键。有了可行的解决方案,我没有做任何进一步的研究,但似乎问题出在我使用的 PS/2 -> USB 转换器上。

相关内容