Mapowanie klawiszy w macOS bez Karabiner Elements – HOWTO

Karabiner Elements to popularne narzędzie do mapowania klawiszy na macOS. Narzędzie jest wygodne, ale ma parę problemów. Trzeba instalować oddzielny program, były ostrzeżenia o legacy system extension, które opisywałem przy okazji opisu upgrade. Nie testowałem, ale podobno nie działa po upgrade do Big Sur.

Większość znanych mi ludzi wykorzystuje Karabiner Elements do prostego celu: zamiany prawego option z prawym command. Wszystko po to, żeby wygodnie, czyli tak samo jak na PC, wpisywać polskie znaki diakrytyczne. Robiłem tak i ja, a program był w ogóle zupełnym must have na macOS.

Mapowanie klawiszy w macOS bez Karabiner Elements - obrazek
Źródło: wygenerowane za pomocą https://thumbnail.ai/

Ponieważ znalazłem dziś kolejną osobę, która nie wiedziała, że się da, a wykorzystywała właśnie w tak prosty sposób, podzielę się sposobem, który sprzedał mi znajomy z pracy (dzięki J!). Rozwiązanie nie wymaga dodatkowych programów, wystarczy wbudowane oprogramowanie systemowe.

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

Powyższe polecenie spowoduje, że klawisze zostaną przemapowane tymczasowo, do restartu systemu. Aby osiągnąć ten efekt na stałe, tworzymy plik ~/Library/LaunchAgents/mapkeys.plist o zawartości:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.nanoant.KeyRemapping</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/bin/hidutil</string>
        <string>property</string>
        <string>--set</string>
        <string>{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x7000000e7,"HIDKeyboardModifierMappingDst":0x7000000e6}]}</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

Oczywiście rozwiązanie można stosować także do bardziej skomplikowanego mapowania klawiatury. Jednak jak wspominałem na początku, większości użytkowników powinien wystarczyć ww. gotowiec. Po takim zabiegu, skoro mamy działającą aleternatywę, można odinstalować Karabiner Elements zupełnie.

UPDATE: Przydatne linki
Generator mapowania
Gotowa do użycia wersja online

Ładowarka USB-C a macbook

Czy można ładować macbooka używając ładowarki do telefonu i portu USB-C? Każdy, kto zapomniał oryginalnej ładowarki[1], zadawał sobie pewnie to pytanie. Niedawno i ja zapomniałem ładowarki do laptopa i stanąłem przed dylematem: czy da się naładować maca przy pomocy ładowarki telefonicznej?

Szybki research w sieci nie dał jednoznacznej odpowiedzi. Odpowiedź nie jest prosta. Na oficjalnej stronie[2] Apple odpowiadają nie, ale to zależy. Jeśli jednak nasz laptop jest ładowany przez USB-C, to… można próbować.

Ładowarka

Ładowarkę miałem Unitek model Y-P547A (link do oferty za 26 zł, sprawdziłem i kupiłem za 19 zł), więc nie pierwszą lepszą. Ale też nie żadną rewelację. Żadne quick charge ani nic takiego, zwykłe 5 V. Wg oznaczeń jedno gniazdo jest 1 A, drugie 2,4 A. Całkiem sporo, bo w teorii to mocniejsze daje aż 12 W. Czyli mniej więcej tyle, ile z tego co pamiętam przy niezbyt intensywnych operacjach pobiera laptop.

Kabel

Ważny jest też kabel. Miałem niezły – wg wcześniejszych testów na telefonach – dzielony na trzy końcówki. Przy jego użyciu laptop zgłaszał co prawda, że jest podłączony do prądu, ale i tak zużywał prąd z akumulatora[3]. Wyraźnie wolniej, niż bez zasilacza, ale nadal się rozładowywał. Sprawdziłem później pobór prądu miernikiem – 0,93 A z ładowarki.

I tak potrzebowałem drugiego kabla USB-C, do telefonu robiącego za router GSM. Ze sklepów najbliżej był Rossmann, w którym kupiłem metrowy kabel USB. Przepłaciłem okrutnie, bo kosztował 25 zł, ale za to reklamowali go na opakowaniu jako 2,4 A. Faktycznie lepiej się zachowywał. Trzymał mniej więcej stały poziom naładowania. Dłuższy test, kolejnego dnia potwierdził wstępną obserwację. Spokojnie dało się na tym tandemie pracować cały dzień, zupełnie jak na oryginalnej ładowarce. Poziom naładowania przy nieintensywnej pracy nie spadał. Komunikaty co prawda te same, ale prąd pobierany z ładowarki to już 2,11 A.

Nie polecam rozwiązania na co dzień, jednak w sytuacji awaryjnej można próbować się tak ratować. Do niezbyt intensywnych zadań typu strony WWW, praca w konsoli i edytorze tekstu może wystarczyć. Oczywiście o ile mamy w miarę porządną ładowarkę (min. 2 A z gniazda USB) i nie boimy się jej spalenia. Powinno działać z każdym laptopem ładowanym przez USB-C.

Na koniec mała dygresja o cenach ładowarek do maców. Zamienniki  kosztują jakieś 100-120 zł. Cokolwiek dedykowanego, wyglądem mocno odbiegającego od oryginału 65 zł i więcej. Tymczasem istnieją takie piękne rozwiązania. 120 W, 4 porty, ładowanie bezprzewodowe za 35 dolarów czyli 130 zł. W przypadku wykorzystania stacjonarnie, jako druga ładowarka itp. wygląda to znacznie lepiej.

[1] Oryginalna ładowarka USB-C Apple to w tym przypadku model A1947, 61 W. Wg opisu output to 20,3 V lub 15 V lub 9 V lub 5,2 V, zawsze przy 3 A.
[2] Wydawało mi się, że była to oficjalna strona, ale nie mogę teraz znaleźć, więc mogę się mylić.
[3] Komunikaty Power source: power adapter. Battery is not charging.

Aktualizacje macOS

Pierwszą aktualizacją macOS, którą robiłem, była ta między „dużymi” wersjami, do wersji Catalina. Wtedy byłem umiarkowanie zadowolony, bo to duża aktualizacja. I pierwsza. I się udała. Od tego czasu miałem parę razy okazję aktualizować system między „małymi” wersjami i… wyrobiłem sobie zdanie.

Źródło: http://www.highstreetcomputers.com/apple-logo-broken/

Aktualizacje systemu w macOS to porażka, generalnie. „Duże” może nie są najgorsze, ale „małe” są tragiczne. Spójrzmy na listę aktualizacji Cataliny na Wikipedii, linkującą do opisu aktualizacji na stronach Apple. Od końca października 2019 do lipca 2020 było sześć aktualizacji. Każda to przynajmniej 3 GB do pobrania i blisko godzina stracona na aktualizację.

No właśnie, jeśli ktoś zastanawia się, o co mi w ogóle chodzi i czy da się system aktualizować lepiej, to szybko nakreślę jak wygląda proces aktualizacji w Linuksie. Otóż sprowadza się do pobrania pakietów i wykonania restartu. Cały czas można pracować na komputerze. Restart i okoliczne czynności nie trwają pół godziny, to zwykły reboot, jak każdy inny, czyli pewnie minuta. Aktualizowany jest zarówno kernel, kluczowe pakiety, jak i pakiety opcjonalne. Nie trzeba pobierać 3 GB, ale to już detal. Chodzi głównie o brak przerwy w możliwości korzystania z komputera.

No właśnie, gdy pisałem o aktualizacji do Cataliny i porównywałem jej czas z aktualizacją Debiana, popełniłem błąd. Porównywałem jabłka z gruszkami – w przypadku macOS brałem pod uwagę czas aktualizacji samego systemu, czyli podstawki, a w przypadku Linuksa systemu i wszystkich dodatkowych aplikacji będących w repozytoriach, a trochę tego jest (LibreOffice, Firefox, Chromium). Nie jest to aż tak ważne, bo to, czy pobieranie trwa pół godziny, czy godzinę nie ma większego znaczenia, jeśli można korzystać z systemu. Kluczowy jest czas niedostępności komputera.

Tyle o aktualizacjach systemu w makach, dopóki coś się diametralnie nie zmieni albo nie wybuchnie przy upgrade, nie będę wracał do tego smutnego tematu.