Map Caps Lock to Control w Linux Mint

13

Korzystam z najnowszej wersji Linux Mint z Cinnamon. Próbuję map Caps Lockdo Ctrl, ale nie mogę dowiedzieć się, jak to zrobić. Wszystkie wyszukiwane przeze mnie strony internetowe doprowadziły mnie do starszych wersji Linux Mint (w moich ustawieniach nie ma opcji układu klawiatury). W jaki sposób mogę to zrobić?

Zach Russell
źródło
3
Czy możesz zaktualizować swoje pytanie, aby dokładnie wskazać najnowszą wersję? To pytanie może być obecne przez lata.
Keith Thompson
Tytułem przewodnika ... „bieżąca” wersja Linux Mint to numer 18 (~ 2016), więc zacytowanie „ najnowszego ” prawie wszystkiego w informatyce szybko rozmyje kolor „ faktyczny ”. (W tym ten.)
będzie

Odpowiedzi:

18

Możesz to zrobić za pomocą xmodmap. Dodaj następujące elementy ~/.xmodmap:

remove Lock = Caps_Lock
keysym Caps_Lock = Control_L
add Control = Control_L

i uruchom polecenie xmodmap ~/.xmodmap. Możesz umieścić to polecenie we wszystkich plikach startowych przetwarzanych przez WM lub DE. Działa to tylko w X, ale działa niezależnie od używanego środowiska graficznego.

Casey
źródło
Jakie byłoby idealne miejsce dla tego polecenia dla użytkownika Linux Mint Cinnamon?
Zamicol,
18

Znalazłem to. Został przeniesiony do sekcji preferencji regionalnych:

Przejdź do ustawień> preferencje regionalne> układy klawiatury> ustawienia i rozwiń sekcję Caps Lock.

AKTUALIZACJA:

W Linux Mint 17.1 możesz się do niego dostać za pośrednictwem;

Ustawienia systemu> Sprzęt> Klawiatura> Układy klawiatury> Opcje> Zachowanie klawisza Caps Lock

Zach Russell
źródło
6

Nie ma potrzeby korzystania z przestarzałych, xmodmapponieważ istnieje już xkbopcja - mianowicie ctrl:nocapsnp. W terminalu:

setxkbmap -option ctrl:nocaps

Z gnome 3 możesz użyć dconf-editori dodać ctrl:nocapsdo swoich opcji xkb w org> gnome> desktop> źródła wejściowe :

wprowadź opis zdjęcia tutaj

lub po prostu włącz Caps Lock jako Ctrl w gnome-tweak-toolobszarze Pisanie> Ctrl pozycja klucza :

wprowadź opis zdjęcia tutaj

don_crissti
źródło
dzięki setxkbmap -option ctrl: nocaps działa dobrze na Debianie Jessie.
Ján Lalinský
Być może warto wspomnieć, man keyboarda także stałą lokalizację konfiguracji/etc/default/keyboard
jchook
3

W przypadku LinuxMint 17 z KDE było to: Ustawienia systemowe> Urządzenia wejściowe> Klawiatura> Zaawansowane> Pozycja klawisza Ctrl

zrozumiałem
źródło
3

Zdaję sobie sprawę, że ma już Zaakceptowanych odpowiedź, ale tutaj jest jedyną prawdziwą drogę do zmian Caps Lockna ctrl. Działa to na wszystkich wersjach Linuksa, na wszystkich dystrybucjach, dla całego systemu (konsola, X, cokolwiek). Ustawia mapowanie w jądrze, gdzie powinno być .

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

Dodaj to do skryptu startowego (np. /etc/rc.localLub utwórz własny).

W Debianie (i pochodnych) dumpkeys / loadkeys jest częścią kbdpakietu, jeśli z jakiegoś powodu nie jest jeszcze zainstalowany.

bahamat
źródło
Chyba że nie byłem w stanie uzyskać tego działającego w / Linux Mint 18.1. Próbowałem zarówno ręcznie jako root, jak i dodając go /etc/rc.local, a także próbowałem wylogować się i uruchomić ponownie
Roy Truelove
Nie działa na mojej Debian Jessie.
Ján Lalinský
1

W Mennicy 17.2 wybierz Preferencje -> Klawiatura -> Układy -> Opcje, wybierz zachowanie klawisza Caps Lock, wybierz „Ustaw Caps Lock jako dodatkową kontrolę”.

Stu
źródło
0

Aktualizacja tego wątku do Linux Mint 18.3 (Beta), ponieważ ta opcja wydaje się być ruchomym celem.

  1. Kliknij Centrum sterowania z menu Start i wybierz przycisk Klawiatura.
  2. W wyskakującym oknie wybierz kartę Układy.
  3. W oknie Układy. kliknij przycisk Opcje u dołu.
  4. Na liście Opcje rozwiń pozycję „Ctrl key key”.
  5. W kierunku dołu zaznacz pole wyboru „Zamień Ctrl i Caps Lock”.
David Harper
źródło
0

Oto wersja destylowana:

0) Upewnij się, że Caps Lock jest WYŁĄCZONY

1) Utwórz następujący plik:

/etc/udev/hwdb.d/10-caps-modifier.hwdb
---
evdev:atkbd:dmi:*            # built-in keyboard: match all AT keyboards for now
  KEYBOARD_KEY_3a=leftctrl   # bind capslock to leftctrl

2) Uruchom następujące polecenie:

$ systemd-hwdb update

3) Uruchom następującą komendę, aby zmiana przypisania stała się natychmiastowa:

$ udevadm trigger

Zostało to przetestowane na Ubuntu 18.04.2 LTS z systemem Xfce. Ponowne mapowanie działa świetnie w konsolach tty i systemie wejściowym X.

Dzięki tej stronie za wszystkie szczegóły: https://wiki.archlinux.org/index.php/Map_scancodes_to_keycodes, ale zajęło dużo wysiłku, aby przeanalizować, co naprawdę trzeba było zrobić.

jdsumsion
źródło