Некоторые ярлыки двораков не работают. 10.8.2


9

Я только что получил новый Macbook Air, и все были в восторге от написания кода: но потом.

Например, я не могу сделать command+, /что очень ценно при кодировании. Это относится к Command+{

Я пытаюсь использовать стандартный дворак, а не Dvorak-Qwerty (не то, что я тоже хочу), хотя у него точно такая же проблема.

Это происходит как в Netbeans, так и в PHPStorm, что наводит на мысль, что это может быть проблема Mac, а не проблема IDE. Довольно сложно пытаться кодировать, когда некоторые сочетания клавиш не работают. В то время как некоторые , как Command+ C, V, Zработа просто отлично.

Как заставить эти сочетания клавиш работать так же, как и в любой другой операционной системе?


Так что - просто чтобы получить это прямо в моей голове: Вы хотите закомментировать строку с помощью Command Slash - и, поскольку вы используете макет Dvorak, вы фактически нажимаете Command и клавишу с [помечены на нем. Что запускает команду приложения [ярлык?
— Диггори

Это правильно.
— Сергей

1
Для следующих символов Дворжака: ',. знак равно JVM сообщает код ключа для эквивалента QWERTY в объекте KeyEvent, но отображает символ Дворжака в текстовых полях. Странно ...
— kwiqsilver

Да, да, есть какие-нибудь мысли о резолюции?
— Сергей

Ответы:


8

Я перепишу здесь мой ответ от SO на ту же проблему:

Оказывается, это проблема в 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.

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

Обходной путь :

  • Загрузите и установите Karabiner с https://pqrs.org/osx/karabiner/
  • В Системных настройках OSX установите для своей клавиатуры ПК по умолчанию "US International". Если вы не часто вводите диакритические знаки и другие международные символы, вместо этого проще просто установить клавиатуру на «US».
  • В настройках Карабинера введите «dvorak» в поле поиска, затем прокрутите вниз до раздела For U.S. Input Sourceи выберите «Раскладка клавиатуры Dvorak (QWERTY to Dvorak)».

Спасибо за все детали, хотя, тьфу, я ненавижу обходные пути, я, скорее всего, просто буду избегать кодирования на своем macbook, как это было годами из-за этого. Я не могу поверить, что Oracle до сих пор не решил эту проблему.
— Сергей

Я попытался обойти, но это делает странные вещи в одинарные и двойные кавычки. Когда я впервые нажимаю клавишу, я получаю странную отметку под персонажем. Когда я нажимаю пробел, отметка исчезает, но пробел не появляется, но после этого все в порядке. Когда я нажимаю другой символ, появляется символ, и все в порядке. Я сменил базовый макет в США, и все работает нормально.
— kwiqsilver

@kwiqsilver вы должны установить клавиатуру на «US», а не «US International» - вы видите, что OSX помогает вам вводить диакритические знаки, потому что вы выбрали международную клавиатуру. Я использую этот режим, потому что мне часто приходится вводить диакритические знаки. Если нет, то просто установите «США»
— Чарл Бота

2

ОК - Я только что загрузил NetBeans и вижу ту же проблему.

Я думаю, что это может быть проблемой JAVA, так как обе упомянутые вами IDE являются приложениями JAVA. Какао-приложения, такие как TextMate, работают нормально.

Это может быть не тот ответ, который вам нужен, но если вы хотите использовать макет Dvorak и правильно работать с клавишами-модификаторами, используйте IDE, которая не написана на JAVA.


Спасибо, что попробовали это. Я не думал, что это может быть Java, так как не знал, что PHPStorm построен на Java, но, похоже, это имеет смысл. Я не знаю, какую не-Java IDE использовать, так как я люблю PHPStorm и Netbeans. Считаете ли вы, что это сообщение об ошибке, поданное в Oracle или Apple?
— Сергей

Извините - честно говоря, я не знаю, так как я не очень знаком с Java - попробуйте сообщить об этом на bugreport.apple.com. Однако, это может быть проблемой при обработке событий Java.
— Диггори

Единственное, что заставляет меня задуматься, это то, как Java может определить, какой ключ вы нажимаете в первую очередь. Я чувствую, что, возможно, проблема со стороны Apple, так как я предполагаю, что об этом нужно позаботиться на более низком уровне событий.
— Сергей

Другой вопрос, который меня интересует, заключается в том, что все обновления проходят через Apple. Я слышал, что это небольшая проблема: Oracle не может загружать обновления Java, если они не прошли через Apple в первую очередь, что вызывает серьезные задержки. Кто знает, может быть, это было исправлено и просто застрял в подвешенном состоянии. Хотя в то же время я чувствую, что Java не должна даже осознавать, какую клавишу я нажимаю, на самом деле мне кажется, что это проблема Mac. Я постараюсь сообщить об этом в эти выходные по предоставленной вами ссылке. Скорее всего, даст вам награду, так как никто даже не пытался ответить. Спасибо за помощь.
— Сергей

Это не проблема Java. Я использую Eclipse на Mac (также написанный на Java) уже несколько лет без проблем. Установил NetBeans для работы над проектом, который был довольно привязан к NetBeans, и я получаю ту же проблему, упомянутую здесь. Таким образом, это то, что NetBeans делает (или не делает), а не ошибка языка, на котором он был написан.
— crowmagnumb

0

Я видел похожую проблему с Xcode и норвежской клавиатурой. В предыдущем вопросе ОП сказал, что его ярлык комментария не работает, и что ярлык исчез из выпадающего списка в навигационной панели OS X.

То, что, казалось, работало, должно было повторно сопоставить ключи к чему-то другому как обходной путь. Вы выбрали « Системные настройки» > « Клавиатура» > « Сочетания клавиш» , а затем « Сочетания клавиш приложения» и добавили новый ярлык. Сделайте заголовок меню точно таким же, как в выпадающем списке OS X, и сопоставьте комбинацию клавиш.

введите описание изображения здесь

Допустим, я, например, хотел переназначить ключи New Tab в Firefox. Вот как это будет выглядеть.


Однако я не уверен, будет ли это работать для приложений Java.


0

В macOS Sierra вы можете выбирать между командами Dvorak и Dvorak (Programmer Dvorak) в Системных настройках. Поэтому мне больше не нужен Карабинер.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.