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

Maseczki

Parę tygodni temu minister zdrowia nakazał stosowanie maseczek. Tu powinna być gwiazdka i dywagacje na temat czy minister zdrowia może, czy to obowiązujące prawnie itd. Przyznaję, że na stronach rządowych nie znalazłem informacji dotyczących aktu prawnego, coś było ogłoszone na konferencji prasowej, jest wpisane na stronie z aktualnymi zasadami i… tyle. Także portale nie linkują do tekstów źródłowych. Dla porządku jednak jakieś źródło. Ale nie o trybie wprowadzania ograniczeń czy spójności informacji i łatwości znalezienia informacji na stronach rządowych będzie tym razem. Chcę się skupić na technicznych aspektach.

Na początku pandemii był boom na przyłbice, różne DIY dostarczano medykom, wszyscy ich pożądali. Teraz okazuje się, że „już nie chronią”. Cudzysłów mój i złośliwy, bo oczywiście faktycznie nic się nie zmieniło. Przyłbice nadal dają jakieś zabezpieczenie, w określonych okolicznościach. Podobnie jest z innymi niż maseczki środkami ochrony. Chusty, szaliki itp. – były zalecane, nagle „już nie chronią”. O co chodzi?

Przede wszystkim, większość środków ochrony chroni głównie otoczenie przed noszącym, nie noszącego przed otoczeniem. Dopiero szczelna maseczka ze stosownym filtrem albo maska przeciwgazowa będzie chronić noszącego. O ile będzie szczelna i poprawnie założona. I będzie utrudniać oddychanie, choć oczywiście da się biegać w masce przeciwgazowej. Tu stosowny dowcip ze strony dla rozluźnienia atmosfery.

– Tato! Tato! Pokaż jak biegają słoniki.
– Daj spokój synku, wystarczy.
– Tato… Ale ja baaardzo proszę. Buuuu…
– No dobrze synku. Pluton! Maski włóż! I jeszcze jedno okrążenie!

W kwietniu zeszłego rok, gdy ludzie na potęgę szyli DIY maseczki, kupiłem chusty. Zwykłe bandamy za 3,5 zł. Sztuk 12, żeby dostawa z Allegro była za darmo. Czemu? Tanie, wygodne, wielorazowe, zapewniają jakąś ochronę. Wystarczy złożyć w trójkąt, zawiązać z tyłu i gotowe. Szybciej zakłada się tylko maseczkę z gumkami na uszy. Do tej pory korzystałem niemal wyłącznie z chust. Owszem, zdarzyło mi się parę razy korzystać z różnych maseczek. Zarówno jednorazowych, jak i wielorazowych. Ale używałem ich tylko chwilowo i w specyficznych okolicznościach, więc nie zwracałem uwagi na ich wady i zalety.

Zalet chust nad maseczkami jest wiele. Są tanie i wielorazowe. Można je schować gdziekolwiek. Awaryjna chusta w kieszeni, w schowku w samochodzie, w plecaku? Korzystam namiętnie. Zawiązaną chustę – w przeciwieństwie do wiązanej maseczki – łatwo opuścić, a następnie z powrotem założyć. W przeciwieństwie do maseczki na gumkach nie ciągnie za uszy.

Bardziej techniczne zalety bandamy w stosunku do maseczek? Można je rozłożyć do prania czy suszenia. Dwie warstwy materiału schną dłużej niż jedna – czysta fizyka. Długo nie rozumiałem o co chodzi narzekaniem na parowanie okularów przy korzystaniu z maseczek. Okularów nadal nie noszę, ale już rozumiem. Otóż maseczka ma luz/mniejszy docisk w okolicy nosa, czyli górnej. W momencie wydechu powietrze kieruje się głównie tam, gdzie napotyka najmniejszy opór. Czyli do góry. Gdy noszę maseczkę „na gumki” to przy intensywniejszym wydechu czuję powiew na rzęsach. Zjawisko, które nie występuje w chuście W przypadku chusty główny docisk jest u góry, na dole jest luz, więc okulary nie powinny tak bardzo parować.

Jest też pewne wytłumaczenie maseczek noszonych na brodzie czy – może nawet bardziej – odsłoniętych nosów. Komfortowa, czyli nie ciągnąca za uszy maseczka gdy wchłonie wilgoć robi się ciężka i potrafi się zsunąć. Zawilgocona chusta generalnie nadal tkwi tam, gdzie była pierwotnie.

Czy to znaczy, że chusty są gorsze? Może tak, może nie. Nie sądzę, by były wiarygodne badania na ten temat. Na oko nie widzę różnicy w skuteczności między bawełnianą maseczką a chustą. Tak, chusta ma na dole względny luz, ale chroni przed wydostawaniem się kropelek przy mówieniu czy oddychaniu. Z drugiej strony czuję, jak przy intensywniejszym wydechu maseczka się odchyla i powietrze wylatuje na boki… wszędzie. Głównie do góry. W przypadku chusty intensywność wydechu nie miała praktycznie znaczenia. No i chusta sięga znacznie dalej, niż maseczka. Zarówno na boki, jak i w dół. A od góry ma lepszy docisk. Nie zdziwiłbym się, gdyby chusty okazały się wręcz lepsze…

No ale to tylko takie gdybanie i marudzenie. Rząd wie lepiej, więc nosimy maseczki. Po cichu liczę, że się ogarną i najdalej na majówkę wrócą stare zasady.

Terminal HP T620

Czasy się zmieniają, nawet terminale się zmieniają. Wieki temu miałem terminal T5520, który robił za router i potencjalnie mógł robić za media center dla audio. Teraz szukałem czegoś, na czym mógłby zrobić media center bardziej filmowe. Znaczy, upraszczając: miał działać Netflix.

Rozwiązania dedykowane

Początkowo rozważałem coś w stylu Xiaomi Mi TV Stick albo Xiaomi Mi TV Box. Potem znajomy zainteresował mnie sprzętem Fire TV Stick[1]. Ostatecznie od różnych rozwiązań z Androidem odstraszyły mnie stare wersje systemu oraz uwagi w opisach w stylu „Netflix działa, ale nie wolno aktualizować appki, bo przestanie”. Czyli zauważalny nadchodzący brak wsparcia i możliwości aktualizacji, w tym aktualizacji bezpieczeństwa. Czytaj: spory potencjał na elektrośmieć.

HP T620

Równolegle na horyzoncie pojawił się terminal HP T620.

HP T620
Źródło: strona producenta

HP T620 to tak naprawdę nie konkretny model, a cała rodzina terminali. Łączy je wiele cech wspólnych: duża ilość portów różnego rodzaju, umieszczonych zarówno z przodu, jak i z tyłu, pasywne chłodzenie, energooszczędność (<5 W w idle). Posiadają dwu- lub czterordzeniowy procesor AMD. Pamięć można rozbudować do 16 GB przy pomocy modułów SODIMM. Więcej informacji na stronie producenta.

Wybór

Ostatecznie wygrał sentyment do bezwentylatorowych terminali HP i Linuksa. Po co zamknięty TV stick, skoro można za grosze kupić używany terminal HP T620 z 4 GB RAM? Taki, który będzie nie tylko odtwarzał filmy, ale będzie pełnowartościowym komputerem np. do WWW. I który – co najważniejsze – będzie można zaktualizować.

Jak pomyślałem, tak zrobiłem. Co prawda opisy nie zachęcały, bo HP T620 sprzedawane były jako deklarowane bez podstawki i zasilacza. Podstawki nie potrzebowałem, zasilacz to zwykły laptopowy HP, więc i tak miałem. Ostatecznie przybył egzemplarz z podstawką i zasilaczem. Podstawka w nieidealnym stanie, ale do odratowania. Zresztą nie używam na razie.

Instalacja

Instalacja Debiana stable z drobnymi problemami. Nie pamiętam z czego dokładnie instalowałem, bo chwyciłem co było pod ręką. Jeden instalator upierał się przy GPT, efektem czego był niebootujący się system. Drugi z kolei miał problem z WiFi – znany temat braku firmware w instalatorach Debiana. Ostatecznie po prostu na czas instalacji podpiąłem kabel. Przy okazji przetestowałem działanie systemu uruchomionego z USB. HT T620 posiada USB 3.0, więc powinno być OK. I jest. Zresztą taki był pierwotny plan uruchomienia. Jednak wbudowane 8 GB flash okazało się wystarczające nawet na rozbudowany system.

Wydajność

Przyznam, że początek był rozczarowujący. Po włączeniu Firefoksa i Netfliksa trochę jakby cięło, a procesor na 100%. Po włączeniu filmu było lepiej, ale nadal nie byłem przekonany o pełnej płynności. Zmieniłem przeglądarkę na Brave i jest o niebo lepiej. Nadal duże obciążenie CPU po włączeniu strony, ale już po uruchomieniu filmu jest OK. O tyle, o ile może być OK na i przeglądarce. Bo zdaje się full HD wymaga dodatkowych zabiegów. Nie wiem, nie robiłem, jakość jest zupełnie wystarczająca. Może kiedyś się pobawię.

Netflix i 1080p w przeglądarce

No to na koniec garść linków dotyczących Netfliksa w 1080p w przeglądarce. Nie testowałem póki co.

  1. Watch Netflix in 1080p in Firefox web extension download now
  2. Netflix in 1080p in Chrome
  3. Raspberry Pi Netflix One Line Easy Install – along with Hulu, Amazon Prime, Disney Plus, HBO, Spotify, Pandora, and many others

[1] Niezła strona z „hackami”: firestickhacks.com