Mastodon
Zdjęcie okładkowe wpisu Zmiana mapowania klawiatury pod macOS Sonoma za pomocą plist, bez Karabiner-Elements

Zmiana mapowania klawiatury pod macOS Sonoma za pomocą plist, bez Karabiner-Elements

0
Dodane: 10 miesięcy temu

Na koniec 2021 roku, jak przesiadałem się na swojego 14-calowego MacBooka Pro z M1 Pro, po razy pierwszy zrobiłem czystą przesiadkę, bez migracji danych, bez odtwarzania ich z poprzedniego komputera. Ręcznie przeniosłem to, co potrzebowałem.

Cały proces przenosi w sumie zajął mi wiele tygodni, bo przy okazji postanowiłem całkowicie przeorganizować strukturę swoich plików na dysku. Tak czy siak, pracuję tak bez zmian od listopada 2021 i wszystko spisuje się wzorowo, a pełną historię przenosin i komputera znajdziecie w archiwum, łącznie z czterema wpisami (część 1, część 2, część 3część 4) na temat moich aplikacji na macOS, z których korzystam na bieżąco.

Jednym z etapów przenosin była rezygnacja z aplikacji Karabiner Elements, nowszej i całkowicie przebudowanej wersji Karabinera, na rzecz wbudowaną możliwość przemapowania klawiatury w macOS za pomocą natywnych narzędzi.

Zmiana funkcja przypisanej do klawisza pod macOS za pomocą shell skryptu, bez Karabiner / Karabiner-Elements

Ta metoda pięknie działała pod macOS Monterey i Ventura, ale niestety przestała pod macOS Sonoma, a ja z braku czasu odkładałem rozwiązanie tego problemu, do dzisiaj.

Przypomnę, że korzystam z układu przypominającego HHKB na wszystkich swoich klawiaturach, nawet na tych, które mają klawisz CTRL w dolnym lewym rogu (HHKB tego klawisza nie ma, co widać na załączonym zdjęciu powyżej i ilustracji poniżej.

Jedyne, z czego nie korzystam, z ogromnym żalem, to przesunięcie klawisza Backspace o jeden rząd niżej, zaraz nad Enterem, co widać na ilustracji powyżej. Backspace to często naciskany klawisz i jego położenie w układzie HHKB jest zdecydowanie bardzo ergonomiczne. Niestety, pracuję również na MacBookach, więc nie mam fizycznie możliwości zmiany klawiszy na nim. Mogę jednak przemapować klawisze tak, aby sprawnie mi się pracowało na wszystkich swoich klawiaturach, dzięki czemu nie muszę się ich na nowo uczyć. To oznacza, że na każdej klawiaturze mam przemapowane następujące klawisze…

  • Caps Lock → Lewy Control
  • Prawy Command → Prawy Alt/Option
  • Prawy Alt/Option → Prawy Command

W poprzedniej wersji tego przepisu korzystałem ze skryptu, który był wyzwalany za pomocą plista w LaunchAgents. To niestety przestało działać w macOS Sonoma, ale dzięki skryptowi Marcina Czachurskiego, przerobiłem swojego na taki, aby działał prawidłowo.

Plik plist nazwałem com.moridin.moridin_mac_keyboard_remap_v2.plist, a jego zawartość możecie sobie podejrzeć i pobrać stąd.

Jego struktura jest dosyć prosta i polega na wywołaniu komendy hidutil bezpośrednio z plista, zamiast wywoływać skrypt z tą komendą, jak to robiłem wcześniej. Najważniejsze będą tutaj pary usage id, które widzicie powyżej i oznaczają one następujące klawisze:

  • 0x7000000e7 = Prawy Command
  • 0x7000000e6 = Prawy Alt/Option
  • 0x700000039 = Caps Lock
  • 0x7000000e0 = Lewy Control

Same pary oznaczają, że zmieniam zachowanie klawiatury następująco:

  • Prawy Command → Prawy Alt/Option
  • Prawy Alt/Option → Prawy Command
  • Caps Lock → Lewy Control

Finalnie prawe Command i Alt/Option są po prostu zamienione miejscami, aby łatwiej było mi wprowadzać polski znaki oraz dla spójności z Windows, gdzie prawy Alt znajduje się obok klawisza Spacji i służy jako modyfikator do dodawania naszych znaków diakrytycznych. Caps Lock całkowicie wywalam i zastępuję go klawiszem Lewy Control. Po tej zmianie z tego właściwego lewego Controla w ogóle przestaję korzystać – jak się okazało bardzo szybko po przesiadce na HHKB, ergonomia tego klawisza jest tak podła, że mięśnie błyskawicznie przyzwyczaiły się do nowego layoutu.

Tutaj znajdziecie ten sam skrypt, ale zamieniający tylko prawy Command z prawym Alt/Option, jeśli nie interesuje Was podmienianie Caps Locka.

Tabelę z usage id dla klawiatur USB znajdziecie albo tutaj w formie PDF-a, albo tutaj w dokumencie dla deweloperów macOS.

Miłego pisania!

Wojtek Pietrusiewicz

Wydawca, fotograf, podróżnik, podcaster – niekoniecznie w tej kolejności. Lubię espresso, mechaniczne zegarki, mechaniczne klawiatury i zwinne samochody.

Zapraszamy do dalszej dyskusji na Mastodonie lub Twitterze .