2015-05-28 2 views
15

ЯIntelliJ 14 сочетания клавиш QWERTY, хотя клавиатура DVORAK

  • работает IntelliJ 14
  • с помощью Mac OS X раскладку
  • работает на OS X (Yosemite)

IntelliJ использует DVORAK вообще, но не для быстрых клавиш. сочетания клавиш находятся в QWERTY. Как будто они были основаны на scancode вместо значения ключа после сопоставления.

Идеи?

редактировать 1 @gabriel трудно сказать, но вот несколько примеров ... примечание: м, а и 0-9 одинаковы на DVORAK и QWERTY

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) 
+0

Можете ли вы привести нам пример? Например, что на самом деле происходит, если вы нажмете 'command' +' O'? И что вы ожидаете? – GabrielOshiro

+0

Всегда отправляйте комментарий с @, чтобы он поднял вопрос. Я не видел вашего редактирования ;-) Итак, ваша клавиатура изначально QUERTY? и вы настроили его как DVORAK, используя MacOS 'System Preferences'? – GabrielOshiro

+0

@GabrielOshiro да. Тот же/похожий результат на клавиатуре MS Natural, встроенной и яблочной клавиатуре. Является разочаровывающим, чтобы не работать со всеми ярлыками. Размышления о следующих шагах. –

ответ

18

Оказывается, это проблема в Java, которая существует уже несколько лет и по-прежнему присутствует на Java 9. См. отчет об ошибке здесь: https://bugs.openjdk.java.net/browse/JDK-8022079

JetBrains уже некоторое время знает об этой проблеме, но ожидает, что Oracle ее исправит. См. Эти сообщения об ошибках JetBrains: https://youtrack.jetbrains.com/issue/IDEABKL-6493 и https://youtrack.jetbrains.com/issue/IDEA-63779

В этих отчетах вы найдете обход, используя бесплатный инструмент под названием Карабинер. Я только что проверил, что он работает для IntelliJ. Он, вероятно, также будет работать и для других инструментов на основе Java.

для OSX раньше Sierra The work-around является:

  • Скачать и установить Карабин из https://pqrs.org/osx/karabiner/
  • В настройках OSX системы, установите клавиатуру по умолчанию "США International" PC. Если вы не часто печатают диакритические знаки и другие международные символы, проще просто установить клавиатуру на «U.S».
  • В карабин настройки, типа «Дворжак» в поле поиска, а затем прокрутите вниз до раздела 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/ и кратко изложил ее здесь:

  • Загрузить и установить Карабиновые элементы.
  • Скопируйте qwerty_to_dvorak.json из примеров и установите его в качестве нового конфигурационного файла karabiner.json.
  • Если Karabiner Elements запущен, он подберет новый файл.

Эта ошибка затронет большинство Java-инструментов, таких как JetBrains (IntelliJ, PyCharm, WebStorm, AppCode) и, возможно, также Netbeans. Обход, описанный выше, должен облегчить проблему во всех случаях.

+0

Спасибо за это! Прекрасно работает на моем mac. – wim

+0

Это не решает проблему. На самом деле это не повлияло. –

+0

У меня есть много подтвержденных положительных результатов.Возможно, вы имеете дело с другой проблемой, или это та же проблема, но вы не применили это исправление правильно? –

2

JetBrains ждут, что ошибка будет исправлена ​​вверх по течению в JDK, чего, конечно, никогда не произойдет. other answer здесь информативен, но будет работать только на Mac OS, поэтому, если вы работаете в Linux или Windows, вам там не повезло.

Я написал сценарий, чтобы обойти проблему, которую вы можете найти here. Если вы обычно используете клавиатуру GNOME в pycharm на linux, то вам повезло - вы можете просто импортировать мой файл dvorak_settings.jar и вернуться к кодированию.

В противном случае вы можете использовать скрипт для создания своей собственную с исправлениями раскладки, читайте дальше ...

Оригинальные KEYMAP файлы расположены в <pycharm>/lib/resources.jar/idea/Keymap_*.xml.

Примера использование:

./to_dvorak Keymap_Emacs.xml -o Keymap_Emacs_Dvorak.xml 

У просматривания над сгенерированным файлом, и если он выглядит вменяемым, упаковать его в файл .jar (см моего dvorak_settings.jar примера для требуемой структуры) и импортировать это в IDE ,

3

Я имел подобную проблему с помощью комбинации клавиш, как Ctrl + N в IntelliJ 16 на Linux (RedHat). Я использую клавиатуру Colemak. У меня было две исходные настройки источника в моей операционной системе, системные настройки.

  1. Английский (США)

  2. Английский (Colemak)

Когда я изменил порядок источников входного сигнала, и поставить Colemak первый, проблема, казалось, чтобы уйти.

System Tools> Настройки> Клавиатура> Входные источники

+0

приятно. Я пробовал то же самое на osx, без радости :( –

+0

У меня никогда не было проблемы с osx, всегда работал –

+2

Это также работало для меня на Kubuntu 16.04 с neo2-layout - огромное спасибо! – nidomiro

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.

+1

fyi ... просто установите новую машину с intellij 2017.1.1 ... диалог ярлыка mapper все еще не учитывает dvorak в osx. –

Смежные вопросы