Niektóre skróty dvorak nie działają. 10.8.2


9

Właśnie dostałem nowego Macbooka Air i podekscytowałem się kodem: ale potem.

Na przykład nie mogę zrobić command+ /Co jest dość cenne podczas kodowania. Traktuje to jako Command+{

Próbuję użyć standardowego dvoraka, a nie Dvoraka-Qwerty (nie żebym tego chciał), chociaż ma dokładnie ten sam problem.

Zdarza się to zarówno w Netbeans, jak i PHPStorm, co prowadzi do przekonania, że ​​może to być problem z komputerem Mac, a nie IDE. Bardzo frustrujące jest pisanie kodu, gdy niektóre skróty klawiaturowe nie działają. Chociaż niektórzy lubią Command+ C, V, Zdziałać dobrze.

Jak sprawić, by te skróty klawiaturowe działały tak samo, jak w każdym innym systemie operacyjnym?


Tak więc - żeby to sobie wyobrazić: chcesz skomentować linię za pomocą Command Slash - a ponieważ używasz układu Dvoraka, faktycznie wcisnąłeś Command i klawisz [oznaczony na nim. Która uruchamia polecenie aplikacji [skrót?
Diggory,

To jest poprawne.
Serhiy

1
Dla następujących znaków Dvorak: ',. - = []; JVM zgłasza kod klucza dla odpowiednika QWERTY w obiekcie KeyEvent, ale wyświetla znak Dvorak w polach tekstowych. Dziwne ...
kwiqsilver,

Tak, tak, są jakieś przemyślenia na temat rezolucji?
Serhiy,

Odpowiedzi:


8

Ponownie opublikuję tutaj moją odpowiedź z SO na ten sam problem:

Okazuje się, że jest to problem w Javie, który istnieje od kilku lat i nadal występuje w Javie 9. Zobacz raport o błędzie tutaj: https://bugs.openjdk.java.net/browse/JDK-8022079

JetBrains zdaje sobie sprawę z problemu od kilku lat, ale czeka na rozwiązanie go przez Oracle. Zobacz te raporty błędów JetBrains: https://youtrack.jetbrains.com/issue/IDEABKL-6493 i https://youtrack.jetbrains.com/issue/IDEA-63779

W tych raportach znajdziesz obejście za pomocą bezpłatnego narzędzia o nazwie Karabiner. Właśnie zweryfikowałem, że działa dla IntelliJ. Prawdopodobnie będzie działać również w przypadku innych narzędzi opartych na Javie.

Obejściem problemu jest:

  • Pobierz i zainstaluj Karabiner z https://pqrs.org/osx/karabiner/
  • W Preferencjach systemowych OSX ustaw klawiaturę na domyślny komputer „US International”. Jeśli często nie wpisujesz znaków diakrytycznych i innych znaków międzynarodowych, łatwiej jest po prostu ustawić klawiaturę na „US”.
  • W ustawieniach Karabinera wpisz „dvorak” w polu wyszukiwania, a następnie przewiń w dół do sekcji For U.S. Input Sourcei zaznacz układ klawiatury Dvorak (QWERTY na Dvorak) `

Dziękuję za wszystkie szczegóły, chociaż nie lubię obejść tego problemu, prawdopodobnie po prostu uniknę kodowania na moim Macbooku z tego powodu. Nie mogę uwierzyć, że Oracle nadal nie rozwiązało tego problemu.
Serhiy

Próbowałem obejść, ale to dziwne rzeczy dla pojedynczego i podwójnego cytatu. Kiedy po raz pierwszy naciskam klawisz, pod postacią pojawia się dziwny znak. Kiedy naciskam spację, znak znika, ale nie pojawia się spacja, ale potem wszystko jest w porządku. Po naciśnięciu innego znaku pojawia się znak i wszystko jest w porządku. Zmieniłem na podstawowy układ w USA i wszystko działa dobrze.
kwiqsilver,

@kwiqsilver musisz ustawić klawiaturę na „US”, a nie „US International” - to, co widzisz, to OSX, który pomaga Ci wprowadzać znaki diakrytyczne, ponieważ wybrałeś klawiaturę międzynarodową. Używam tego trybu, ponieważ często muszę wprowadzać znaki diakrytyczne. Jeśli nie, to po prostu ustaw „US”
Charl Botha,

2

OK - Właśnie pobrałem NetBeans i widzę ten sam problem.

Myślę, że może to być problem z JAVA, ponieważ oba wymienione środowiska IDE to aplikacje JAVA. Aplikacje kakaowe, takie jak TextMate, wydają się działać dobrze.

Może nie być to odpowiedź, którą chcesz, ale jeśli chcesz użyć układu Dvorak i mieć klucze modyfikujące działające poprawnie, użyj IDE, które nie jest napisane w JAVA.


Dzięki za wypróbowanie tego. Nie sądziłem, że może to być Java, ponieważ nie wiedziałem, że to właśnie PHPStorm jest zbudowany na Javie, ale wydaje się to mieć sens. Nie wiem, jakiego IDE innego niż Java należy użyć, ponieważ uwielbiam PHPStorm i Netbeans. Czy uważasz, że jest to zgłoszenie błędu, które należy złożyć w Oracle lub Apple?
Serhiy

Przepraszamy - szczerze mówiąc nie wiem, ponieważ nie znam się na Javie - spróbuj zgłosić to na stronie bugreport.apple.com Może to jednak być problem z obsługą zdarzeń Java.
Diggory,

Jedyne, co mnie zastanawia, to to, w jaki sposób Java jest w stanie powiedzieć, który klucz trafiasz na pierwszym miejscu. Wydaje mi się, że może to problem ze strony Apple, ponieważ zakładam, że należy się tym zająć na niższym poziomie zdarzeń.
Serhiy

Innym problemem, który się zastanawiam, jest to, że wszystkie aktualizacje przechodzą przez Apple. Słyszałem, że jest to pewien problem: Oracle nie może wypychać aktualizacji Java bez ich uprzedniego przejścia przez Apple, powodując poważne opóźnienia. Kto wie, może to zostało załatane i utknęło w otchłani. Chociaż jednocześnie uważam, że Java nie powinna nawet zdawać sobie sprawy z tego, który klawisz naciskam, ale naprawdę mam wrażenie, że jest to problem z komputerem Mac. Spróbuję to zgłosić w ten weekend na podany przez ciebie link. Prawdopodobnie da ci nagrodę, ponieważ nikt inny nawet nie próbował odpowiedzieć. Dzięki za pomoc.
Serhiy,

To nie jest problem „java”. Używam Eclipse na Macu (również napisany w Javie) od kilku lat bez problemu. Zainstalowałem NetBeans do pracy nad projektem, który był dość związany z NetBeans, i dostaję ten sam problem, o którym tu mowa. Jest to więc coś, co NetBeans robi (lub nie robi), a nie wina języka, w którym został napisany.
crowmagnumb

0

Widziałem podobny problem z Xcode i norweską klawiaturą. W poprzednim pytaniu OP stwierdził, że jego skrót komentarza nie działa, a ikona skrótu zniknęła z menu rozwijanego na pasku nawigacyjnym OS X.

Wydawało się, że zadziałało ponowne mapowanie kluczy na coś innego jako obejście. Tak było, aby przejść do Preferencji systemowych > Klawiatura > Skróty , a następnie Skróty do aplikacji , dodać nowy skrót. Dopasuj tytuł menu dokładnie do tego z menu OS X i zamapuj skrót klawiaturowy.

wprowadź opis zdjęcia tutaj

Powiedzmy, że chciałem na przykład zmapować klucze nowej karty w przeglądarce Firefox. Tak to by wyglądało.


Nie jestem jednak pewien, czy to zadziała dla aplikacji Java.


0

W macOS Sierra możesz wybierać pomiędzy Dvorak i Dvorak Command (programista Dvorak) w Preferencjach systemowych. Nie potrzebuję już Karabinera.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.