Tworzenie fizycznego klawisza Escape w nowym MacBooku Pro za pomocą paska TouchBar poprzez zmianę .keylayout dla klawisza §

10

Układy klawiatury w Wielkiej Brytanii dla TouchBar MacBook Pro mają dość bezużyteczny klawisz § / ± w lewym górnym rogu, który byłby idealny do użycia jako fizyczny klawisz ucieczki (zobacz ten obraz ).

macOS ma system mapowania klawiatury (/ Library / Keyboard Layouts / - np. patrz http://www.gingerbeardman.com/UK.keylayout/ i https://developer.apple.com/library/content/technotes/tn2056/ _index.html ), który umożliwia zmianę kluczy.

Wydaje mi się możliwe, że wstawienie linii w odpowiedni układ klawiatury podobny do:

<key code="<code for that key>" output="&#x1B;" />

powinien pozwolić mi uczynić ten klucz kluczem ucieczkowym. (Jeśli mogę również znaleźć / utworzyć układ dla wszystkich innych kluczy!)

Googling Nie znalazłem nikogo, kto wspominałby, że to zrobili, co wydaje mi się dziwne. Czy jest jakiś powód, dla którego to nie zadziałałoby? Czy klawiaturę TouchBar można ponownie mapować za pomocą pliku .keylayout bez utraty funkcjonalności?

Wstrzymałem się od zakupu nowego MacBooka Pro z obawy przed utratą fizycznego klucza ucieczki! Wiem, że możesz zmienić mapowanie ctrl / cmd / etc na Escape za pomocą Preferencji systemowych, ale wydaje się, że to kiepskie rozwiązanie w porównaniu.

JosephH
źródło
Jakiego klucza użyjesz, jeśli nie Caps Lock lub dołączone klucze Apple sprawia, że ​​jest bardzo łatwy i konfigurowalny?
bmike
1
@bikeike Klawisz § / ± w lewym górnym rogu układu klawiatury w Wielkiej Brytanii - zobacz ten obraz, aby zobaczyć klawisz, o którym mówię: d.ibtimes.co.uk/en/full/1570365/macbook-pro-touch- bar.jpg - to bezużyteczny klucz, którego nigdy nie użyłem zgodnie z przeznaczeniem na żadnym komputerze Mac!
JosephH
Wow - całkowicie tęskniłem za tą częścią. Zobaczmy, czy mogę znaleźć jakieś opcje, aby to odwzorować. Moja odpowiedź nie jest tak elastyczna dzięki opcji „łatwego” remapowania.
bmike
@bmike Thanks! Tak. To interesująca opcja, niedostępna na mapach klawiatury w USA. :-) Mam nadzieję, że można to osiągnąć dzięki .keylayout. Właśnie zamówiłem teraz pasek dotykowy MacBooka Pro, więc będę mógł eksperymentować, kiedy się pojawi.
JosephH

Odpowiedzi:

9
  1. Zainstaluj Karabiner-Elements
  2. Uruchom z Launchpada (oczywiście)
  3. W zakładce „Proste modyfikacje” utwórz mapowanie „bezluzowy” dla „ucieczki”
  4. Cieszyć się!

Kod klucza BTW dla „§” to 0A (jak podaje Karabiner Event Viewer)

Igrini
źródło
1
literówka:s/non-us-backlash/non-us-backslash
Shlomi Noach
6

Otwórz Preferencje systemowe - wybierz klawiaturę. Następnie wybierz Klawisze modyfikujące ... w prawym dolnym rogu okna.

Mam klawisz Escape przypisany do klawisza Caps Lock.

wprowadź opis zdjęcia tutaj

Zgadzam się, że użycie klawiszy sterujących do ucieczki jest kiepskie, ale klawisz Caps Lock działa bardzo dobrze. W praktyce tak naprawdę nie miałem problemu z nauką korzystania z klawisza soft escape. Blokowanie czapek jest znacznie szybsze, gdy się do tego przyzwyczaiłem, ze względu na zmniejszoną odległość podróży od rzędu domów.

bmike
źródło
6

Znalazłem trochę dokumentacji dotyczącej mapowania kluczy w macOS 10.12 Sierra, która działa bez żadnych narzędzi innych firm.

Aby zmienić klucz tuż nad kartą, ustaw src na 0x64 (Klawiatura spoza USA \ i |), a dst na 0x29 (Escape). Z jakiegoś powodu wartości te powinny być OR z 0x700000000 w wywołaniu hidutil.

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

Możesz umieścić to w LaunchAgent (~ / Library / LaunchAgents / give.me.esc.key.plist), aby ustawić go przy każdym logowaniu.

<?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>give.me.esc.key</string>
    <key>ProgramArguments</key>
    <array>
        <string>hidutil</string>
        <string>property</string>
        <string>--set</string>
        <string>{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000064,"HIDKeyboardModifierMappingDst":0x700000029}]}</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>
gipset
źródło
Uratowałeś mi życie. Nienawidzę klawiatur z klawiszem Tilda obok przycisku skrótu i ​​f * n §pod klawiszem Escape. Zmapowałem go więc przyciskiem tilda i rozszerzonym przesunięciem. hidutil property --set '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000064,"HIDKeyboardModifierMappingDst":0x700000035},{"HIDKeyboardModifierMappingSrc":0x700000035,"HIDKeyboardModifierMappingDst":0x7000000e1}]}'Nawiasem mówiąc, możesz uzyskać te kody za pomocą przeglądarki klucza z karabinka
DanSkeel
Jak mogę zachować dostęp do shift- §aby nadal móc korzystać ±? Czy mogę używać modyfikatorów?
Wivku