如何在Linux上使用java应用程序获得数字键盘箭头

如何在Linux上使用java应用程序获得数字键盘箭头,java,linux,intellij-idea,numeric,keypad,Java,Linux,Intellij Idea,Numeric,Keypad,数字键盘上的箭头键不适用于Linux上的Java应用程序。奇怪的是,Home、End、PgUp、PgDn、Ins、Del都可以工作 当使用Intellij进行编程时,这尤其令人讨厌 如何使箭头键工作?键盘上的物理键使用映射到键代码。下面是我如何在Linux的Debian派生版本上使用java应用程序(如Intellij)获得数字键的: 切换到root用户 cd/usr/share/X11/xkb/symbols cp键盘。原装(以防万一) 编辑键盘并将所有出现的KP_Up、KP_Down、KP_

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

当使用Intellij进行编程时,这尤其令人讨厌


如何使箭头键工作?

键盘上的物理键使用映射到键代码。下面是我如何在Linux的Debian派生版本上使用java应用程序(如Intellij)获得数字键的:

  • 切换到root用户
  • cd/usr/share/X11/xkb/symbols
  • cp键盘。原装(以防万一)
  • 编辑键盘并将所有出现的KP_Up、KP_Down、KP_Left和KP_Right分别替换为Up、Down、Left和Right
  • 拯救
  • dpkg重新配置xkb数据
  • 重新启动
  • 现在,数字键盘将发出常规的箭头键代码,而不是java无法识别的数字键盘箭头键代码。

    另一个选项:

  • 编辑/etc/default/键盘(保存副本以防万一)
  • 将XKBOPTIONS的值添加或更新为“numpad:microsoft”
  • 保存文件
  • 重新启动

  • IntelliJ(和CLion)提供了配置密钥映射的功能。在
    File->Settings->Keymap->Editor actions
    下,可以将两个击键(“正常”上/下/左/右和键盘操作)分配给相应的操作。一旦这样做,所有的工作就像一个魅力。不需要摆弄xkb之类的东西。

    我以前使用这种方法时,键盘上有一个“Fn”键。但现在我使用xkb在传统键盘上模拟“Fn”键:。但是谢谢@mikesullivan,他似乎有一个比我更简单的答案。嗨,Peter,我正在尝试做同样的事情(但我使用capslock访问额外的键,键映射略有不同),并且面临同样的问题。我很好奇这个技巧是否解决了你安装的Freeplane的问题。对我来说,
    RedirectKey
    在非java应用程序和Eclipse等java应用程序中工作,但在Freemind/Freeplane中无法工作。我设法使Freeplane使用覆盖图查看这些键,但未能使用修改器制作键(如
    u
    用于
    Ctrl-Left
    o
    用于
    Ctrl-Right
    ,使用
    重定向键(修改器=控制,…)
    ),并且在使用其他修改器键按capslock时出现奇怪的错误。@krvkir,对不起,我不用免费飞机。我以为xkb黑客可以解决所有问题。我每天都会使用类似的xkb破解来获得适合我所有用途的密码。这听起来可能像是暗示了为什么需要进行此更改…@matanster,不知道你的意思。除了“Del”按钮(CLion将其解释为“Period”)外,这对所有键盘键都很有用