CAPSLOCK unter Linux und Windows umfunktionieren


Die CAPSLOCK-Taste oder präziser gesagt die Feststell-Taste (ja, es gibt da scheinbar tatsächlich einen Unterschied) dient dazu, das Eintippen von Zeichen, die mit der Shift-Taste modifiziert werden müssen, zu "erleichtern". Das kann tatsächlich nützlich sein, wenn man nur eine Hand zur Verfügung hat (z.B. wegen Gipsverband). Aber in den 99% der übrigen Fälle ist diese Taste lästig, da man sie oft versehentlich drückt. Ohne es zu merken, passiert es dann, dass man den rEST EINER ZEILE IN GROßBUCHSTABEN WEITERSCHREIBT.

CAPSLOCK unter Linux manipulieren

Linux User können sich mit xmodmap helfen. xmodmap-Befehle können direkt in die Shell eingegeben werden, aber auch bequem in die Datei ~/.bash_profile mit aufgenommen werden. Ein typisches Beispiel ist das simple Ausschalten von CAPSLOCK, was somit eine tote Taste auf der Tastatur erzeugt:
loh@jerry:~ > xmodmap -e "remove Lock = Caps_Lock"
Die reinen xmodmap-Befehle können auch in die Datei ~/.Xmodmap geschrieben werden, wie im nächsten Beispiel. Es muss aber sichergestellt werden, dass xmodmap diese Datei einliest. Dies kann man z.B. dadurch erreichen, dass man in der Datei ~/.bash_profile "xmodmap ~/.Xmodmap" hineinschreibt. Hier wird die CAPSLOCK-Taste als weitere Modifikator-Taste (so wie ALT, CTRL, WIN) umkonfiguriert, was einem einen größeren Spielraum für Tastenkombinationen gibt:
remove Lock = Caps_Lock
add mod4 = Caps_Lock
Geschickter wäre es evtl., aus der CAPSLOCK-Taste eine zweite (linke) SHIFT-Taste zu machen. Erwischt man versehentlich statt SHIFT die CAPSLOCK-Taste, hat es keine unerwünschten Konsequenzen mehr:
remove Lock = Caps_Lock
add Shift = Caps_Lock
Es ist zu beachten, dass xmodmap, wie das "x" im Namen schon vermuten lässt, mit der X-Umgebung funktioniert. Mit dem Befehl xev kann man überprüfen, welchen "Namen" eine Taste hat, um sie in Config-Dateien ansprechen zu können. xev öffnet ein Fenster, das einem den Namen der gerade gedrückten Taste nennt.

Wer nicht in einer X-Umgebung arbeitet, muss sich mit dem Befehl loadkeys behelfen. Dies kann z.B. während des Systemstarts über ein Startup-Skript gehandhabt werden. Eine bewährte Methode zum ausprobieren ist es, mit dumpkeys die aktuelle Tastenbelegung in eine Datei schreiben zu lassen. Davon fertigt man eine Kopie an, mit der man herumspielen kann. Sollte alles schiefgehen, kann man ja immer noch die (funktionierende) alte Version wieder laden:

dumpkeys > my_keymap
cp my_keymap trial_keymap
vi trial_keymap
loadkeys trial_keymap


CAPSLOCK unter Windows manipulieren

Unter Windows gibt es 2 Möglichkeiten, um das Verhalten der CAPSLOCK-Taste zu beeinflussen.

Entweder man benutzt ein kleines Progrämmchen, was ständig im Hintergrund läuft und die Tastatureingabe abfängt und umwandelt, bevor das System dies tut. Leider benötigt das ständig Ressourcen, verkompliziert das System und ist nicht so elegant. Dann muss es immer über das Autostart-Verzeichnis geladen werden oder als Systemdienst registriert werden.

Oder man nimmt den eleganteren (und abenteuerlicheren) Weg und führt in der Windows Registry eine kleine Änderung durch:

Das obige Beispiel macht aus der Capslock-Taste eine zweite Shift-Taste.

Wie funktioniert das?
Der Schlüssel Scancode Map legt eine Umdefinierung der Tasten fest. Der Schlüsselwert folgt dabei folgendem System:
CAPSLOCK -> SHIFT
Windows-Screenshot von Regedit:
Capslock wird zur zweiten Shift-Taste umfunktioniert
Die Scancodes sind nur von der Geometrie der Tastatur abhängig, nicht von deren regionalen Tastenbelegung.