Jak wyłączyć lub zmienić klawisz Caps Lock na klawiaturze?

10

W pracy mamy ergonomiczne klawiatury, do których nie jestem do końca przyzwyczajony. Wydaje mi się, że wciąż uderzam w klawisz Capslock, kiedy jestem w środku, vimi zaczyna mnie to denerwować. Jak mogę wyłączyć ten klucz i / lub zmienić go na inny?

ksenoterracid
źródło
Powiązane: Ponowne mapowanie caps-lock, aby uciec, i menu do komponowania na konsoli Linux . Czy chcesz tego tylko w X, czy w konsoli twojego systemu operacyjnego (który?)?
Gilles 'SO - przestań być zły'

Odpowiedzi:

7

Szybki i brudny sposób na wyłączenie to xmodmap:

$ xmodmap -e 'clear Lock'

Następne pytanie brzmi: co chciałbyś z tym zrobić? Zazwyczaj robię to albo Ctrlkluczem:

$ xmodmap -e 'keycode 66 = Control_L'

W zależności od DE / WM istnieje prawdopodobnie sposób, aby to zrobić w konfiguracji GUI. Na przykład Gnome ma opcję „układu klawiatury” na panelach sterowania z kartą opcji zawierającą kilka podobnych modyfikacji układu.

Caleb
źródło
Arrr, za szybko 4 mnie;) W każdym razie, więc właśnie dodałem setxkbmaprozwiązanie do mojej odpowiedzi, a następnie ...
rozcietrzewiacz
6

Zastosowanie xmodmap.

Ustawienie wyłączania blokady klawiszy to

remove Lock = Caps_Lock

Zostanie to umieszczone w twoim .xmodmappliku.

Inna opcja - aby tymczasowo ją wyłączyć, możesz użyć setxkbmapopcji:

setxkbmap -option ctrl:nocaps

a następnie, aby przywrócić normalne zachowanie: setxkbmap -option

rozcietrzewiacz
źródło
3

Użycie xmodmap zmieni tylko powiązanie klawiszy w X. Jeśli potrzebujesz go na konsoli, jest trochę inaczej. Poniższe zmiany zmodyfikują X, a także konsolę, więc zawsze robię to w ten sposób.

W systemie Linux dodaj to do /etc/rc.local (lub stwórz skrypt init):

(echo $(dumpkeys |grep -i keymaps); echo keycode 58 = Control) | loadkeys -

W przypadku systemu Solaris na PC z edycją klawiatury USB /usr/share/lib/keytables/type_6/reset(w przypadku innych typów klawiatur należy zastąpić type_6odpowiednim typem):

Znajdź tę linię:

key 57   all shiftkeys+capslock

Zamień na:

key 57   all shiftkeys+leftctrl up shiftkeys+leftctrl

Oczywiście możesz zastąpić Controldowolnym kluczem.

bahamat
źródło
0

To część mojej .xmodmaprc, która zamienia się CapsLockw Esci odwrotnie:

clear lock

keycode 9 = Caps_Lock ISO_Next_Group Caps_Lock ISO_Next_Group
keycode 66 = Escape NoSymbol Escape

add lock = Caps_Lock

Możesz sprawdzić kody klawiszy, uruchamiając xevi naciskając przyciski, które chcesz sprawdzić.

polemon
źródło
Jest to całkiem przydatne do użycia w Vi / Vim
polemon