Ich möchte das Feststelltastenverhalten in virtuellen Terminals ändern (z. B. tty CtrlAltF3), damit es als Steuerungsmodifikator fungiert. Im Idealfall möchte ich auch, dass es als Escape fungiert, wenn es alleine gedrückt wird, aber es erweist sich als schwierig, nur das Kontrollverhalten zu erhalten.
Ich verwende Ubuntu 17.04. Ich habe zahlreiche Ansätze gelesen und ausprobiert, um diese Änderung vorzunehmen, aber keiner scheint wie beschrieben auf mein System zuzutreffen. Ich habe das Gefühl, dass systemd eine Rolle dabei spielt, aber die Einzelheiten sind unklar.
Ich habe eine Datei geschrieben caps_control.kmap
, die Kappen der Steuerung zuordnet.
keymaps 0-255
keycode 58 = Control
Wenn ich loadkeys caps_control.kmap
von einer virtuellen Konsole aus laufe , funktioniert es. Jetzt möchte ich, dass es beim Booten / Anmelden / was auch immer automatisch geladen wird ...
Ich fand Hinweise auf die Verwendung /etc/rc.local
so zu tun, aber mein System hat keine solche Datei, obwohl es mehrere Verzeichnisse hat gefallen /etc/rc0.d/
, /etc/rc1.d/
...
Es klingt so, als ob Ubuntu 17 sytemd verwendet. Ich sollte es verwenden localectl
, um so etwas zu verwalten, aber mir ist nicht klar, wie ich das machen soll. Zum Beispiel,
$ 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.
Die Manpage für localectl
Erwähnungen /etc/locale.conf
und /etc/vconsole.conf
, von denen keine auf meinem System vorhanden ist.
Ich bin total ratlos. Kann mich jemand in die richtige Richtung weisen?
loadkeys caps_control.kmap
, die ausgeführt wird, wenn Sie sich anmelden.loadkeys
von ~ / .profile scheint problematisch zu sein. Wenn ich mich anmelde, wird die Fehlermeldung "Dateideskriptor für die Konsole konnte nicht abgerufen werden" angezeigt.Antworten:
Um Caps Lock in einen zusätzlichen Strg-Modifikator zu verwandeln, der auch in tty-Konsolen wirksam ist, öffnen Sie ihn
/etc/default/keyboard
zum Bearbeiten und Festlegen:Wenn Sie bereits festgelegt haben
XKBOPTIONS
, fügen Siectrl:nocaps
den vorhandenen Wert mit einem Komma für das Trennzeichen hinzu, z.Sollte nach dem nächsten Neustart oder der Ausgabe des
setupcon
Befehls wirksam sein .Die Option sollte beim Ausführen vorhanden sein
localectl status
:In der X-Sitzung können Sie außerdem überprüfen, ob sie festgelegt ist:
quelle
"ctrl:nocaps"
. In X ist der Unterschied geringfügig : Mit derctrl
Optionxev
und anderen Werkzeugen wird einControl_L
Symbol angezeigt, wenn die CapsLock-Taste gedrückt wird, während diecaps
Option weiterhin das Keysym anzeigtCaps_Lock
. Ich bin mir nicht sicher, ob sich dieser Unterschied auf die Keymap der virtuellen Konsole auswirkt.ctrl:nocaps
. Ich habe es meiner Antwort hinzugefügt.caps:ctrl_modifier
) in tty nicht wirksam ist. Allerdings ist für mich (am 17.10)ctrl:nocaps
. Bitte beachten Sie meine bearbeitete Antwort.ckbcomp
ich glaube?). Ich habe mich nicht an diecaps:ctrl_modifier
Option erinnert, die Sie zuerst erwähnt haben, also habe ich sie nachgeschlagen, um sie mit derctrl:nocaps
normalerweise verwendeten zu vergleichen , und dachte, der Unterschied könnte hier erwähnenswert sein. Ich bin froh, dass es hilfreich war.