
Wenn ich zu einem TTY wechsle und die Feststelltaste einschalte, leuchtet die Feststelltaste-LED auf meiner Tastatur nicht. Unter X funktioniert es einwandfrei. Wenn ich die Feststelltaste aktiviere und dann zu einem TTY wechsle und dann die Feststelltaste drücke (auf dem TTY), bleibt die LED an (obwohl das TTY die Feststelltaste selbst verfolgt). Es scheint also, dass sich die TTYs überhaupt nicht um die LED kümmern.
Kann ich die LED bei TTYs irgendwie aktivieren? Es ist sehr ärgerlich, wenn man gezwungen ist, etwas einzugeben, ohne zu wissen, ob die Feststelltaste aktiviert ist.
Ich verwende Debian Jessie (häufig aktualisiert) Arch: amd64
Antwort1
Dies ist ein seit langem bestehendes DebianInsekt. Es scheint sich um einen zugrunde liegenden Kernel zu handelnInsektdas wurde schon lange behoben. Das Problem scheint gewesen zu sein, dass es Caps_Lock
bei Nicht-ASCII-Zeichen nicht funktionierte. Die Problemumgehung bestand daher darin, Shift_Lock
oder CtrlL_Lock
stattdessen der Feststelltaste zuzuordnen.
Auf der Debian-Seite wird das Problem dadurch verursacht, ckbcomp
dass verwendet wird, console-setup
um die Konsolen-Tastaturbelegung aus der XKB-Tastaturbeschreibung zu erstellen. Beachten Sie, dass der ursprüngliche Code, auf den im Fehlerbericht verwiesen wird, Shift_Lock
durch anderen Code ersetzt worden zu sein scheint, der CtrlL_Lock
stattdessen durch ersetzt. Wenn Sie interessiert sind, können Sie nach Verwendungen der broken_caps
Variable im ckbcomp
Perl-Skript suchen.
Ich habe keine Ahnung, ob der Code aus irgendeinem Grund noch benötigt wird. Vielleicht lohnt es sich, den Fehlerbericht hochzustufen. Der Workaround besteht jedoch darin, die folgende Zeile einzufügen. /etc/kbd/remap
Nach einem Neustart sollte das Problem behoben sein:
s/CtrlL_Lock/Caps_Lock/
Oder führen Sie zur vorübergehenden Lösung bis zum nächsten Neustart Folgendes in einer tty
Sitzung aus:
dumpkeys | sed s/CtrlL_Lock/Caps_Lock/ | sudo loadkeys
Aktualisieren
Es scheint, dass /etc/kbd/remap
es nur dann tatsächlich verwendet wird, wenn setupcon
es nicht verfügbar ist. Eine bessere Problemumgehung besteht darin, einfach die folgende Zeile einzufügen /etc/rc.local
:
dumpkeys | sed s/CtrlL_Lock/Caps_Lock/ | loadkeys
Antwort2
Ich habe Lösungen für Debian 6 und Debian 7 gefunden.
Debian 6
Fügen Sie Folgendes am Ende der /etc/console-setup/remap.inc
Datei ein:
keycode 58 = Caps_Lock
Dann rennesetupcon
Debian 7
Fügen Sie Folgendes am Ende des /etc/default/keyboard
Skripts ein:
dumpkeys | sed -e "s/keycode 58 = CtrlL_Lock/keycode 58 = Caps_Lock/" | \
loadkeys 2>&1 >/dev/null
Dann rennesetupcon
Beachten Sie, dass zwischen dem Schlüsselcode und 58 zwei Leerzeichen stehen. Die Weiterleitung /dev/null
unterdrückt lediglich störende Konsolenausgaben.