Tasten umbelegen in Linux.
Meine neue Tastatur hat ein amerikanisches Layout. Da ich blind tippe, soweit kein Problem, allerdings fehlt hier die Taste für <, > und |. Das Problem ist, diese liegt nicht irgendwo anders, sondern fehlt.
Was tun?
Meine Idee war eine andere Taste dafür zu verwenden. Eine Taste, welche dafür gut infrage kommt, ist die Caps-Lock-Taste. Diese verwende ich ohnehin nicht und ich halte die Taste ohnehin für überflüssig.
Unter Windows war die Lösung recht einfach, hier konnte ich die Taste einfach mit “KeyTweak” umkonfigurieren. Das war in 5 Minuten erledigt.
Linux ist da etwas herausfordernder. Hier gibt es die Software “Xmodmap“. Diese kann prinzipiell Tasten umkonfigurieren, hat aber ein paar Limitierungen, dazu später mehr.
Zuerst legen wir die Konfigurationsdaten an:
vim ./Xmodmap
Hier nun der Inhalt der Datei:
clear Lock keycode 108 = Mode_switch Mode_switch Mode_switch Mode_switch keycode 66 = less greater bar bar keycode 24 = q Q at keycode 26 = e E EuroSign keycode 35 = plus asterisk asciitilde keycode 11 = 2 quotedbl twosuperior keycode 12 = 3 section threesuperior keycode 16 = 7 slash braceleft keycode 17 = 8 parenleft bracketleft keycode 18 = 9 parenright bracketright keycode 19 = 0 equal braceright keycode 20 = ssharp question backslash
Gehen wir kurz auf den Inhalt ein. Mit der ersten Zeile schalten wir die Standard-Funktion von Caps-Lock aus. Ansonsten aktiviert sich Caps-Lock immer noch zusätzlich.
Die zweite Zeile mit dem “Mode_switch” mappt die ALT-GR Taste um. Diese wird benötigt um das | Zeichen zu erhalten. ALT-GR macht kleine Probleme mit Xmodmap.
Die dritte Zeile mappt dann Caps-Lock entsprechend auf unsere gewünschen Zeichen. Die Syntax ist normal, dann mit Shift und anschließend der Wert für den Modifier-Key.
Was machen die anderen Zeilen? Nun das Umkonfigurieren von ALT-GR hat die Nebenwirkung, dass die anderen Zeichen, welche mit ALT-GR erzeugt werden, nicht mehr gehen. Dazu gehören das Euro-, At-Zeichen, Tilde und ein paar andere Zeichen. Daher konfigurieren wir diese Tasten mit.
Den Keycode können wir mit dem “xev”-Befehl ermitteln. Das einfach über die Konsole starten und dann die Taste drücken. Der Code ist in der dritten Zeile.
KeyRelease event, serial 38, synthetic NO, window 0x8600001, root 0x3d0, subw 0x0, time 7427147, (1301,516), root:(1391,678), state 0x10, keycode 35 (keysym 0x2b, plus), same_screen YES, XLookupString gives 1 bytes: (2b) "+" XFilterEvent returns: False
Sobald wir die Datei gespeichert haben, können wir diese aktivieren:
xmodmap ~/.Xmodmap
Caps-Lock sollte vorher deaktiviert sein. Hat man sich vertan und die Konfiguration ist Mist, kann man diese mit folgendem Befehl wieder rückgängig machen.
setxkbmap –option
Die Einstellung ist nur bis zum nächsten Neustart gültig. Von daher bietet es sich an, den Aufruf für die Einstellung in das Login-Script aufzunehmen.
Bisher funktioniert es soweit recht gut. Ich hoffe, ich habe keine ALT-GR-Taste übersehen, aber dies lässt sich ansonsten ja auch recht leicht erweitern.