IntelliJ 14键盘快捷键是QWERTY虽然键盘是DVORAK

时间:2015-05-28 19:54:44

标签: macos intellij-idea osx-yosemite intellij-14

我'米

  • 运行IntelliJ 14
  • 使用Mac OS X布局
  • 在OS X(Yosemite)上运行

IntelliJ通常使用DVORAK,但不是键盘快捷键。 键盘快捷键在QWERTY中。好像它们是基于扫描码而不是映射后的键值。

想法?

编辑1 @gabriel很难说,但这里有一些例子...... 注意:在DVORAK和QWERTY

上,m,a和0-9相同
cmd+/     'comment line' flashes code menu and sometimes moves to a brace (/ == {)
cmd+b      works, goes to definition  (b == n)
cmd+opt+l 'reformat' flashes code menu  (l == p)

4 个答案:

答案 0 :(得分:19)

事实证明这是Java中存在多年的问题,并且仍然存在于Java 9中。请参阅此处的错误报告:https://bugs.openjdk.java.net/browse/JDK-8022079

JetBrains多年来一直意识到这个问题,但正在等待Oracle修复它。请参阅这些JetBrains错误报告:https://youtrack.jetbrains.com/issue/IDEABKL-6493https://youtrack.jetbrains.com/issue/IDEA-63779

在这些报告中,您将使用名为Karabiner的免费工具找到解决方法。我刚刚确认它适用于IntelliJ。它可能也适用于其他基于Java的工具。

对于早于Sierra The work-around的OSX是:

  • https://pqrs.org/osx/karabiner/
  • 下载并安装Karabiner
  • 在OSX系统偏好设置中,将键盘设置为默认值"美国。国际" PC。如果您经常输入变音符号和其他国际字符,那么将键盘设置为"美国"更容易。代替。
  • 在Karabiner设置中,键入" dvorak"在搜索框中,然后向下滚动到For U.S. Input Source部分,然后选中Use Dvorak Keyboard Layout (QWERTY to Dvorak)

从macOS Sierra开始,正如用户MithrilTuxedo在评论中报道的那样,程序是不同的。您必须使用Karabiner Elements(新的Karabiner核心)和配置文件。我已在https://cpbotha.net/2016/12/16/dvorak-remapping-with-karabiner-elements-on-macos-sierra-works/概述了该程序,并在此简要概述:

  • 下载并安装Karabiner Elements。
  • 从示例中复制qwerty_to_dvorak.json并将其安装为新的karabiner.json配置文件。
  • 如果Karabiner Elements正在运行,它会选择新文件。

此错误将影响大多数基于Java的工具,例如JetBrains(IntelliJ,PyCharm,WebStorm,AppCode)以及Netbeans。上面总结的解决方案应该可以缓解所有情况下的问题。

答案 1 :(得分:9)

我在 linux (红帽)上的 intellij 16 中使用 ctrl + n 等组合键会遇到类似的问题。我使用Colemak键盘。我在操作系统中设置了两个输入源,即系统首选项。

  1. 英语(US)

  2. 英语(Colemak键盘)

  3. 当我更改输入源的顺序,并将Colemak放在第一位时,问题似乎就消失了。

    系统工具>设置>键盘>输入来源

答案 2 :(得分:2)

JetBrains正在等待在JDK上游修复bug,这当然永远不会发生。 other answer这里提供了丰富的信息,但只适用于Mac OS,因此如果您使用的是Linux或Windows,那么您的运气就不好了。

我写了一个脚本来解决这个问题,你可以找到here。如果你通常在linux上的pycharm中使用GNOME keymap,那么你很幸运 - 你只需导入我的dvorak_settings.jar文件并重新编码。

否则,您可以使用该脚本生成自己的bugfixed keymap,请继续阅读...

原始的keymap文件位于<pycharm>/lib/resources.jar/idea/Keymap_*.xml

使用示例:

./to_dvorak Keymap_Emacs.xml -o Keymap_Emacs_Dvorak.xml

浏览生成的文件,如果它看起来很清晰,请将其打包到.jar文件中(请参阅我的dvorak_settings.jar示例了解所需的结构)并在IDE中导入它。

答案 3 :(得分:0)

这个问题(最终!)已在IntelliJ IDEA 2017.1中修复。请参阅JetBrains issue JRE-172, “Wrong keys are picked up on dvorak layout in Mac OSX 10.6.2”

它似乎也在其他JetBrains工具中得到修复。我测试了它已在PyCharm 2017.1,CLion 2017.1和AppCode 2017.1中修复。