簡體   English   中英

雖然鍵盤是DVORAK,但IntelliJ 14鍵盤快捷鍵是QWERTY

[英]IntelliJ 14 keyboard shortcuts are QWERTY though keyboard is DVORAK

  • 運行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)

事實證明這是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 OSX ,解決方法是:

  • https://pqrs.org/osx/karabiner/下載並安裝Karabiner
  • 在OSX系統偏好設置中,將鍵盤設置為默認的“US International”PC。 如果您經常輸入變音符號和其他國際字符,則只需將鍵盤設置為“US”即可。
  • 在Karabiner設置中,在搜索框中鍵入“dvorak”,然后向下滾動到“ For US 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。 上面總結的解決方案應該可以緩解所有情況下的問題。

我在linux (紅帽)的intellij 16中使用了ctrl + n這樣的鍵組合也遇到了類似的問題。 我使用Colemak鍵盤。 我在操作系統中設置了兩個輸入源,即系統首選項。

  1. 英語(美國)

  2. 英語(Colemak鍵盤)

當我改變輸入源的順序,並將Colemak放在第一位時,問題似乎就消失了。

系統工具>設置>鍵盤>輸入源

JetBrains正在等待在JDK上游修復bug,這當然永遠不會發生。 這里的另一個答案是提供信息,但只適用於Mac OS,所以如果你在Linux或Windows上,那你就不幸了。

我寫了一個腳本來解決這個問題,你可以在這里找到。 如果你通常在linux上的pycharm中使用GNOME keymap,那么你很幸運 - 你可以簡單地導入我的dvorak_settings.jar文件並重新編碼。

否則,您可以使用該腳本生成自己的bugfixed鍵映射,繼續閱讀...

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

用法示例:

./to_dvorak Keymap_Emacs.xml -o Keymap_Emacs_Dvorak.xml

瀏覽生成的文件,如果它看起來很dvorak_settings.jar ,請將其打包到.jar文件中(請參閱我的dvorak_settings.jar示例以獲取所需的結構)並在IDE中導入它。

這個問題(最終!)已在IntelliJ IDEA 2017.1中修復。 請參閱JetBrains問題JRE-172,“在Mac OSX 10.6.2中的dvorak布局上選擇了錯誤的密鑰”

它似乎也在其他JetBrains工具中修復。 我測試了它已在PyCharm 2017.1,CLion 2017.1和AppCode 2017.1中修復。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM