Jak zmienić klawisz CapsLock, aby uzyskać „a”?


22

Podczas pisania często naciskam CapsLockklawisz zamiast aklawisza. (Klawiatura QWERTZU) Jest to dość irytujące, ponieważ w momencie, gdy zdam sobie sprawę, że uderzyłem niewłaściwy klawisz, będę musiał usunąć wiele znaków / wierszy tekstu i przepisać je we właściwej formie.

Szukam sposobu, aby temu zapobiec.

Znalazłem możliwość wyłączenia z CapsLockkluczyka w klawiaturowe opcji układu . Ale w moim przypadku oznaczałoby to, że zamiast pisać anapisałbym nic.

Pozytywne -> Nie muszę przepisywać całej linii, ale tylko jeden znak

Negatywne -> Nie jest tak oczywiste, że nacisnąłem niewłaściwy klawisz, ponieważ brakujący znak nie jest postrzegany jako duża linia tekstu.

Chciałbym w związku z tym wolą możliwość mapowania CapsLockdo a. Tak więc, gdy uderzenie CapsLockjest acharakter będzie napisane.

Pozytywne -> Jeśli uderzę CapsLockzamiast adostaję wynik, który naprawdę chciałem wpisać.

Negatywne -> Jeśli uderzę CapsLockw innym kontekście, dostanę apostać. Ponieważ nigdy celowo nie używam CapsLockklucza, tak naprawdę nie stanowiłoby to problemu. (Myślę, czy to prawda?)

Moje pytanie:

  1. Jak mam się zmienić na a?
  2. I czy jest jakikolwiek przypadek, w którym może to być niebezpieczne / wywołać niepożądane zachowanie?

3
Jak udało Ci się uzyskać CapsLock i wyglądać tak elegancko i jak guziki?
djeikyb

fluteflute zredagował moje pytanie, aby wyglądały tak, ale byłbym również zainteresowany.
Pit

7
Piszesz <kbd>a</kbd>(działa tylko w pytaniach i odpowiedziach, a nie w komentarzach)
8128

Odpowiedzi:


21

W szczególności, nie wiem jak zmienić CapsLocksię a, bo nie pamiętam kodu dostępu. Znajdę to trochę później. Ale ogólnie rzecz biorąc, możesz użyć xmodmap(i .Xmodmap), aby zmienić przypisania klawiszy. Gdy GNOME po raz pierwszy wykryje twój .Xmodmapplik, zapyta, czy chcesz go zawsze ładować, a potem jesteś ustawiony.

Myślę też, że Caps Lock jest głupiutki. Jednak kluczowa pozycja jest przydatna. Lubię mapować to na klawisz Control. Używam kontrolować wiele , a to męczące dla mojego pinky być stale sięgające w tej niewygodnej pozycji. I jak się później przekonałem, historycznie Controljest to, gdzie Caps Lockjest obecnie. Tak czy inaczej. Utwórz plik w katalogu domowym o nazwie .Xmodmapz następującymi wierszami:

remove Lock = Caps_Lock
keysym Caps_Lock = Control_L

Aby zmiany zostały wprowadzone natychmiast, uruchom xmodmap ~/.Xmodmap.

Możesz znaleźć kody dostępu na własną rękę xev. Okazuje się, że kod aklucza to 38 lub hex 0x61. Zamiast tego Twoja .Xmodmap może być:

remove Lock = Caps_Lock
keysym Caps_Lock = 0x61

Bardzo polecam przeczytanie strony podręcznika man, wiele interesujących rzeczy.


Czy muszę używać tylko ostatnich wierszy, które opublikowałeś? Pojawia się następujący błąd: xmodmap: /home/pit/.Xmodmap:1: bad keysym in remove modifier list 'Caps_Lock', no corresponding keycodes xmodmap: /home/pit/.Xmodmap:2: bad keysym target keysym 'Caps_Lock', no corresponding keycodes xmodmap: 2 errors encountered, aborting. Nie widziałem niczego na stronie podręcznika wyjaśniającego to zachowanie. Próbowałem również uruchomić polecenie jako sudo, ale nie zmieniło to błędów.
Pit

2
Lol, nadal miałem wyłączony klawisz CapsLock z mojego poprzedniego testu w opcjach układu klawiatury. Po ponownym włączeniu działa. Dzięki.
Pit

Tylko uwaga: skorzystałem z tego przewodnika, aby uzyskać kontrolę nad klawiszem Caps Lock do mapy, ale musiałem wstawić add Control = Caps_Lockpomiędzy wierszami usuwania i klawiszami klawiszy, aby działał.
Bryan Head

2

Po przyjrzeniu man xmodmapsię okazuje się, że istnieje idempotentny sposób zdefiniowania tego:

clear Lock
keysym Caps_Lock = Caps_Lock Control_L

Po zrestartowaniu X powinieneś być w stanie uruchamiać się xmodmap ~/.Xmodmapwielokrotnie bez żadnych błędów „złego klucza”.

Aktualizacja : Niestety nie wydaje się to przenośne i idempotentne .

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.