如何让数字键盘箭头与 Linux 上的 java 应用程序一起使用

How to get numeric keypad arrows working with java applications on Linux

数字小键盘上的箭头键不适用于 Linux 上的 Java 应用程序。奇怪的是,Home、End、PgUp、PgDn、Ins、Del 都能正常工作。

这在使用 Intellij 进行编程时尤其烦人。

如何使用箭头键?

键盘上的物理键使用 xkb 映射到键码。以下是我如何在 Linux 的 Debian 衍生版上使用 java 应用程序(如 Intellij)工作的数字键:

  1. 切换到根用户
  2. cd /usr/share/X11/xkb/symbols
  3. cp 小键盘keypad.original(以防万一)
  4. 编辑小键盘并替换所有出现的 KP_UpKP_DownKP_Left & KP_RightUp, Down, & ,分别
  5. 保存
  6. dpkg-重新配置 xkb-数据
  7. 重启

现在数字小键盘将发出常规、箭头、键代码,而不是 java-无法识别的数字小键盘、箭头、键代码。

另一个选项:

  1. 编辑/etc/default/keyboard(保存副本以防万一)
  2. 将 XKBOPTIONS 的值添加或更新为 "numpad:microsoft"
  3. 保存文件
  4. 重启

IntelliJ(和 CLion)提供配置键映射的功能。在 File->Settings->Keymap->Editor actions 下,可以将两个击键("normal" up/down/left/right 和键盘击键)分配给相应的操作。一旦完成,一切都像魅力一样。不需要 fiddle 和 xkb 之类的东西。