Chciałbym zmienić zachowanie Caps Lock w terminalach wirtualnych (np. Tty CtrlAltF3), aby działał jak modyfikator sterowania. Idealnie, chciałbym również, aby działał jako ucieczka, gdy jest wciśnięty sam, ale samo uzyskanie kontroli jest trudne.
Używam Ubuntu 17.04. Przeczytałem i próbowałem wielu podejść do wprowadzenia tej zmiany, ale żadne z nich nie wydaje się mieć zastosowania do mojego systemu zgodnie z opisem. Mam wrażenie, że systemd odgrywa w tym rolę, ale szczegóły są niejasne.
Napisałem plik caps_control.kmap
, który mapuje czapki do kontroli,
keymaps 0-255
keycode 58 = Control
Jeśli uruchomię loadkeys caps_control.kmap
z wirtualnej konsoli, to działa. Teraz chciałbym, aby ładował się automatycznie podczas rozruchu / logowania / cokolwiek ...
Znalazłem odniesień do korzystania /etc/rc.local
z tego prawa, ale mój system nie ma takiego pliku, choć ma kilka katalogów podoba /etc/rc0.d/
, /etc/rc1.d/
...
Wygląda na to, że ponieważ Ubuntu 17 używa sytemd, powinienem użyć tego localectl
do zarządzania, ale nie jest dla mnie jasne, jak to zrobić. Na przykład,
$ localectl status
System Locale: LANG=en_US.UTF-8
VC Keymap: n/a
X11 Layout: us
X11 Model: pc105
$ localectl list-keymaps
Couldn't find any console keymaps.
Strona localectl
podręcznika zawierająca wzmianki /etc/locale.conf
i /etc/vconsole.conf
żadne z nich nie istnieje w moim systemie.
Jestem całkowicie zagubiony. Czy ktoś może skierować mnie we właściwym kierunku?
loadkeys caps_control.kmap
który byłby wykonywany po zalogowaniu.loadkeys
z ~ / .profile wydaje się być problematyczne. Kiedy się loguję, pojawia się komunikat „Nie można uzyskać deskryptora pliku odnoszącego się do konsoli”.Odpowiedzi:
Aby zmienić Caps Lock w dodatkowy modyfikator Ctrl, który działa również w konsolach tty,
/etc/default/keyboard
można go edytować i ustawić:Jeśli już
XKBOPTIONS
ustawiłeś, dołączctrl:nocaps
do jego istniejącej wartości, używając przecinka dla separatora, np .:Powinien być skuteczny po następnym ponownym uruchomieniu lub wydaniu
setupcon
polecenia.Opcja powinna być obecna podczas uruchamiania
localectl status
:W sesji X innym sposobem sprawdzenia, czy jest ustawiony, jest:
źródło
"ctrl:nocaps"
. w X różnica jest subtelna: zctrl
opcją,xev
a inne narzędzia zobacząControl_L
symbol po naciśnięciu klawisza CapsLock, podczas gdycaps
opcja nadal będzie wyświetlać klawiszCaps_Lock
. nie jestem pewien, czy ta różnica przełoży się na mapę klawiszy wirtualnej konsoli.ctrl:nocaps
. Dodałem to do mojej odpowiedzi.caps:ctrl_modifier
) nie działa w tty. Jednak dla mnie (17.10)ctrl:nocaps
jest. Zobacz moją zredagowaną odpowiedź.ckbcomp
myślę, że to wymaga ?). nie pamiętałemcaps:ctrl_modifier
opcji, o której wspomniałeś po raz pierwszy, więc spojrzałem na to, aby porównać ją z tym, któregoctrl:nocaps
zwykle używam, i pomyślałem, że warto tu wspomnieć o różnicy. Cieszę się, że było pomocne.