Jak używać CapsLock jako klawisza modyfikującego bez konieczności używania klawiszy Alt + Shift?


18

Chcę użyć CapsLockjako klawisza modyfikującego do wpisywania symboli, takich jak ({\})=używanie klawiszy alfabetycznych na klawiaturze.

Na przykład:

CapsLock+a is mapped to =
CapsLock+k is mapped to \

Aby to zrobić, zmapowałem CapsLockdo Option+ Shiftza pomocą Keyremap4Macbook, postępując zgodnie z instrukcjami w „ Przydatnym klawiszem Capslock ”.

<item>
    <name>F19 to F19</name>
    <appendix>(F19 (capslock) to (shift+opt))</appendix>
    <identifier>private.f192f19_escape</identifier>
    <not>VIRTUALMACHINE</not>
    <autogen>
        --KeyOverlaidModifier--
        KeyCode::F19,
        KeyCode::OPTION_L,
        ModifierFlag::SHIFT_L,
    </autogen>
</item>

Zauważ, że wcześniej zmapowałem CapsLockdo kodu klucza 80 w PcKeyboardHack, który jest kodem klucza F19.

Następnie zamapowałem kombinacje klawiszy CapsLock + alphabetical charactersna symbole, takie jak =\})(używanie Ukelele.

Jak dotąd wszystko działa poprawnie, z wyjątkiem tego, że występuje taki efekt uboczny: nie mogę użyć modyfikatora Alt+ Shiftdo żadnego innego powiązania klawiszy. Jest to dość restrykcyjny kompromis.

Próbowałem odwzorować CapsLockna bardziej złożone powiązania klawiszy, takie jak Ctrl+ Shift+ Altlub Cmd+ Shift+ Altlub Ctrl+ Cmd+ Shift+ Alt. Ale to nie działało dobrze, ponieważ następnie mapowanie CapsLock+ alphabetical keysw Ukelele zmienia również klawisze alfabetyczne. Załóżmy na przykład, że Ctrl+ Shift+ Alt+ ajest odwzorowany na =. Wtedy asam mapowany jest =również na.

Zastanawiam się, czy ten problem można jakoś rozwiązać? Myślę, że mogą istnieć dwie alternatywne ścieżki poszukiwania rozwiązania:

  1. Utworzenie nowego niestandardowego klucza modyfikującego, aby CapsLocknie zużywał istniejących kluczy modyfikujących, takich jak Alt+ Shift.
  2. Zapobieganie mapowaniu Ctrl+ Shift+ Alt+, aaby zmienić aklucz razem.

Czy te rozwiązania są możliwe do wdrożenia?


Właśnie zdałem sobie sprawę, że nigdy nie uderzyłem Caps Locka celowo ...
Max Ried

2
Większość ludzi nie używa również Caps Lock. Ale lokalizacja Caps Lock jest znacznie łatwiej dostępna niż jakikolwiek inny klawisz modyfikujący. Używanie kluczy wiersza domowego wraz z klawiszem Caps Lock w celu wpisywania symboli to bardzo duży wzrost wydajności.
Mert Nuhoglu

Czy nie możesz po prostu wykonać części Ukelele bez uprzedniej blokady klawiszy mapowania na opcję + shift?
Tom Gewecke,

Odpowiedzi:


1

Mam to wszystko z nowszych postów Bretta Terpstry , więc w pełni mu to dziękuję.

Używając Karabiner Elements i BetterTouchTool , możesz utworzyć klucz „Hyper” zamapowany na polecenie control- Option -shift-Command (który prawdopodobnie nie będzie używany przez żadną aplikację jako domyślny modyfikator). Następnie możesz użyć BetterTouchTool do mapowania Cap Locks + „a”, aby wpisać „=”. Samo wpisanie „a” nadal powoduje otrzymanie litery „a”. Możesz także ustawić, aby stukanie w klawisze Cap Locks działało jak klawisz Escape, a nawet jako standardowy klawisz Caps Lock.

Zamiast ponownie opublikować kod Bretta tutaj, odsyłam do postu: A Hyper Key with Karabiner Elements, pełne instrukcje .

Niektóre zrzuty ekranu, które pomogą Ci przeprowadzić:

Elementy Karabinera Złożone okienko modyfikacji Po dodaniu kodu Bretta do karabiner.json tak będzie wyglądać okienko Złożone modyfikacje . Nie musisz tutaj nic więcej robić.

Panel klawiatury BetterTouchTool W BetterTouchTool przejdź do panelu Klawiatura , dodaj skrót, wpisz Caps Lock + znak, a następnie wybierz „Wstaw / Wpisz / Wklej tekst niestandardowy” jako wstępnie zdefiniowaną czynność wyzwalacza.

Wstaw / wpisz / wklej niestandardowy arkusz tekstowy W arkuszu Wstaw / Wpisz / Wklej tekst niestandardowy wpisz żądane znaki i wybierz „Wstaw tekst wpisując”.


Nie zdawałem sobie sprawy, ile lat miało to pytanie. Pojawił się na pierwszej stronie jednej z opcji sortowania.
Bruce
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.