Daten|teiler
Kopieren als Kulturtechnik

Tastatur ohne Pipe-Zeichen

30. September 2018 von Christian Imhorst

Ich habe mir bei Luxnote-Hannover ein ThinkPad X201 gekauft. Das ist ein kleiner, leichter Laptop, der sich sehr gut für Linux eignet. Wenn man Luxnote direkt anschreibt, kann man noch Geld sparen, wenn man das Notebook ohne Festplatte und Windows-Lizenz nimmt. Eine SSD mit openSUSE Leap 15 hatte ich bereits aus einem anderen Laptop, welche ich dann einfach eingebaut habe und openSUSE im X201 ohne Neuinstallation weiter benutzen kann.

Das Notebook hat allerdings eine refurbishte Tastatur, das kann z.B. ein US-Keyboard sein, das mit deutschen Zeichen neu bedruckt wurde, was für Linux-Nutzer ein Problem sein kann: Es fehlt die Taste zwischen „Shift“ und „Y“ mit den „<|>“-Zeichen, also u.a. dem Zeichen für die Pipeline im Terminal. Ohne die Taste mit den spitzen Klammern kann man auch nur schwer HTML-Code schreiben.

Eine Taste fehlt

Es gibt dafür aber eine Lösung: Man wählt eine Taste aus, mit der man die Zeichen belegen möchte. Für einen Linuxer eignet sich da zum Beispiel die Windows-Taste ganz gut.

Um den Code der Taste herauszufinden, die man neu belegen möchte, gibt es das Kommandozeilentool showkey. Nach dem Ausführen des Befehls showkey -s drückt man auf die Taste, die man neu belegen möchte. Jetzt wird der Tasten-Code angezeigt. Für meine Windows-Taste ist das e05b.

Den Keycode für das Zielzeichen habe ich aus dem Thinkpad-Forum und ist 86. Man übernimmt das Mapping auf der refubishten Tastatur anschließend mit dem Befehl:

sudo setkeycodes e05b 86

Der Code der Taste, die verwendet werden soll, ist e05b, die Zahl 86 ist dezimal und entspricht HEX 0x56 aus dem Scancode. Damit die Tastenbelegung auch nach einem Neustart noch da ist, habe ich den Befehl in ein Skript setmykeycode kopiert:

#!/bin/sh
setkeycodes e05b 86
exit 0

Das Skript lasse ich von einem Systemd-Service /etc/systemd/system/setkeycodes.service beim Start ausführen:

#########################################################################
#
# setkeycodes.service
# systemd service: Put <|> on super key 
#
#########################################################################
 
[Unit]
Description=Enable keycodes on super key
 
[Service]
Type=oneshot
ExecStart=/usr/bin/setmykeycode
 
[Install]
WantedBy=multi-user.target
 
# EOF

Dann wird der Dienst aktiviert und gestartet:

sudo systemctl enable setkeycodes.service
sudo systemctl start setkeycodes.service
sudo systemctl daemon-reload

Und schon hat man für die Windows- oder SuperKey-Taste unter Linux eine sinnvolle Anwendung gefunden, wenn man einen gebrauchten Laptop mit refurbishter Tastatur hat.

Geschrieben in Allgemein, Gnu/Linux, OpenSuse