交换一些键盘键

交换一些键盘键

我想交换一些键,比如键盘上的 Home 和 End。我使用 xmodmap 实现了这个功能,但每次我的电脑进入睡眠状态时,这个功能都会恢复,而且有些应用程序(例如 VSCode)不尊重这一点。

有没有办法永久交换密钥并让每个应用程序都能正确检测?

我正在使用 Ubuntu 20.04。

答案1

事实证明,您可以在 Linux 内核中重新映射按键。

  1. 确定扫描代码您要重新映射的键的值为其他键。这将是一个十六进制数,您可以在中看到它sudo showkey -s。请注意,程序将发出按键事件和释放事件的代码。假设我想更改 0xe021 键的行为(键盘上的计算器)。
  2. 确定关键代码您希望按键表现为的按键。这将是一个十进制数,您可以使用获取它sudo showkey -k。请注意,程序将发出按键事件和释放事件的代码。假设我想要另一个“107”键(键盘上的 End)。
  3. 问题sudo setkeycodes e021 107,附上您的代码。
  4. 要使它永久生效,您必须在每次以 root 身份启动后运行它。您可以使用 crontab 解决它。运行sudo crontab -e并将上面的命令放在文件末尾(不使用 sudo 但使用绝对路径):/usr/bin/setkeycodes e021 107

相关内容