如何在内核中禁用/重新映射键盘键?

nh2*_*nh2 10 linux keyboard

我想将我的 Caps Lock 键重新映射为空或我选择的键码。

为了在不同的环境(X/Wayland/非图形 TTY)中获得相同的行为,并学习如何做这样的事情,在内核级别做这件事很重要(所以xmodmap/xkb解决方案对我没有帮助)。

我该怎么做?

此外,内核模块是否足够,还是需要直接更改代码?

感谢您的任何提示!

小智 8

内核模块和内核 hack 都不是必需的。

使用setkeycodes您可以更改正在运行的内核的扫描码到键码转换映射,当然需要 root 权限。

要映射 Caps Lock(扫描码 0x3a)以说出带有字母 x 的键(键码 45),您将用来setkeycodes 3a 45举例。

使用showkey -s并且showkey您应该能够找到所需的扫描码和键码。

确保从控制台而不是终端发出给定的命令。