Użyj Caps Lock, aby przełączać się między językami w Sierra

9

Sierra dodała tę funkcję, która umożliwia przełączanie z układu na łaciński z układu niełacińskiego przez Caps Lock . Nie działa z rosyjskim, chociaż ostatnio sprawdziłem, że rosyjski nie jest językiem łacińskim.

Czy ktoś ma szczęście w obchodzeniu tego błędu?

JBaruch
źródło
1
Przetestowałem kilka z nich i wygląda na to, że rosyjski i grecki mogą być jedynymi, w których to nie działa. Prawdopodobnie coś musi naprawić Apple.
Tom Gewecke,
Oh :( Problem w tym, że seil już nie działa . Więc utknąłem :( Czas na obniżenie wersji.
JBaruch,
Czy ktoś wysłał raport o błędzie?
icem
1
Nie działa również w układzie bułgarskim (fonetycznym). Nie ma pola wyboru „Użyj klawisza Caps Lock, aby przełączyć się na bułgarski iz niego”.
0xC0DEGURU
@TomGewecke Według tego źródła japoński też nie działa (prawdopodobnie koreański. Zastanawiam się, czy chiński działa, czy nie). Jednak nie przetestowałem tego, ponieważ wciąż jestem na El Capitan.
Blaszard

Odpowiedzi:

4

Moje testy wskazują, że funkcja przełączania Caps Lock działa teraz z klawiaturami cyrylickimi, greckimi i ormiańskimi w High Sierra. (Nie działają w Sierra).

Tom Gewecke
źródło
Alliluya! Mogę przejść na emeryturę Karabiner!
JBaruch,
6

Aby zmienić układ klawiatury za pomocą klawisza Caps-Lock, należy ponownie przypisać Caps-Lock do F18 za pomocą polecenia (w aplikacji Terminal.app):

hidutil property --set '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000039,"HIDKeyboardModifierMappingDst":0x70000006D}]}'

Następnie przejdź do Preferencji systemowych / Klawiatury / Skrótów / Źródeł wejściowych, użyj klawisza 'Caps Lock', aby przełączyć źródło wejściowe.

W systemie Mac OS Sierra nie jest wymagane żadne dodatkowe oprogramowanie.

Aby to działało po wylogowaniu, wykonaj następujące czynności: utwórz plik ~/bin/caps2f18.sho następującej treści:

hidutil property --set '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000039,"HIDKeyboardModifierMappingDst":0x70000006D}]}' > /dev/null 2>&1

Spraw, by był wykonywalny:

chmod +x ~/bin/caps2f18.sh

Utwórz plik ~/Library/LaunchAgents/com.user.loginscript.plisto następującej treści:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
   <key>Label</key>
   <string>com.user.loginscript</string>
   <key>ProgramArguments</key>
   <array>
        <string>zsh</string>
        <string>-c</string>
        <string>~/bin/caps2f18.sh</string>
   </array>
   <key>RunAtLoad</key>
   <true/>
   <key>ThrottleInterval</key>
   <integer>86400</integer>
</dict>
</plist>

Wykonać

launchctl load ~/Library/LaunchAgents/com.user.loginscript.plist

wyloguj się zaloguj lub uruchom launchctl start com.user.loginscript

ra.
źródło
Po tym, czy Caps Lock zawsze zmienia klawiatury, niezależnie od tego, czy są w to zaangażowane klawiatury niełacińskie? Czy przełącza się na ostatnio używaną klawiaturę? Czy następny na liście?
Tom Gewecke,
Mam układy klawiatur 2 - us i ua (non Latin, cyryllic). Ta metoda polega tylko na mapowaniu caps-lock na F18. Standardowy przełącznik źródła wejściowego systemu Mac OS nie jest modyfikowany.
ra.
Ale zmieniłoby to także dwie łacińskie klawiatury, prawda? Co by to zrobiło z 3 klawiaturami?
Tom Gewecke,
tak i łaciński, jeśli ustawisz „Wybierz następne źródło w menu wprowadzania” na F18 (Capslock), zmieni on kolejno 3 klawiatury.
ra.
4

Chociaż zarówno Seil, jak i klasyczny Karabiner nie działają już pod Sierra, Karabiner przepisał, „Karabiner Elements” (w bardzo wczesnej wersji beta) faktycznie działa.

Mapowanie klawiszy interfejsu użytkownika jeszcze nie działa, ale możesz edytować plik konfiguracyjny json pod ~/.karabiner.d/configuration/karabiner.json(patrz przykład poniżej), aby zamapować Caps Lock na F19. Stamtąd wszystko jest takie samo jak poprzednio - wyłącz Caps Lock, układ klawiatury mapy wyzwalający F19, zysk.

Przykład karabiner.json:

{  "profiles": [
    {
      "name": "Default profile",
      "selected": true,
      "simple_modifications": {
        "caps_lock": "f19"
      }
    }
  ]
}

Degradacja odroczona!

JBaruch
źródło
Jak zmapowałeś układ wyzwalający do F19? Ponieważ Karabiner już nie działa, również nie działa, prawda?
Blaszard