XKB
„XKB“ wurde von Dirk (Diskussion) als in Bearbeitung markiert. Um Bearbeitungskonflikte zu vermeiden, kontaktiere Dirk (Diskussion) bitte, bevor du den Artikel bearbeitest.
Dieser Artikel oder Artikelabschnitt ist noch nicht vollständig!
Die X keyboard extension, oder kurz XKB, ist ein unter X optionales und unter Wayland standardmäßiges System zur Definition eigener, und Anpassung bestehender, Tastaturlayouts, ähnlich wie es exklusiv für X mittels der Xmodmap möglich ist. XKB hat dabei einen modernen Ansatz und erlaubt neben der einfachen Tastenbelegung sehr viele und komplexe Anpassungen des Layouts.
Installation
XKB wird über das Paket libxkbcommon bereitgestellt, es muss allerdings im Normalfall nicht installiert werden, da sowohl die gängigen Desktopumgebungen als auch Fenstermanager indirekt durch deren Abhängigkeiten von XKB abhängen.
Für X gibt es diverse Programme, über die XKB konfiguriert werden kann. Da XKB unabhängig von X ist, und die Programme daher nichts X-spezifisches machen, können diese teilweise auch innerhalb von Wayland-Kompositoren benutzt werden. libxkbcommon bringt zudem xkbcli
mit, um sich verschiedene XKB-Konfigurationen ausgeben zu lassen.
Die Verwendung von XKB ist abhängig des benutzten Desktop Environments, Fenstermanagers, oder Kompositors. Siehe hier.
Überblick
Die systemweite Konfiguration von XKB liegt bei Arch unter /usr/share/X11/xkb/
. In dessen Unterverzeichnis symbols
befinden sich die die verfügbaren Tastaturlayoutdefinitionsdateien. Die gleiche Struktur kann für die userbezogene Konfiguration unter ~/.config/xkb/
aufgebaut werden.
Genau genaommen geht XKB in dieser Reihenfolge durch spezifizierten Verzeichnisse. XKB iteriert so lange durch die Verzeichnisse, bis die angeforderte Information gefunden wird.
$XDG_CONFIG_HOME/xkb/
oder$HOME/.config/xkb/
, wenn die UmgebungsvariableXDG_CONFIG_HOME
micht gesetzt wurde- Aus historischen Gründen noch
$HOME/.xkb/
, sollte aber nicht mehr genutzt werden $XKB_CONFIG_EXTRA_PATH
oder wenn nicht gesetzt/etc/xkb
.$XKB_CONFIG_ROOT
oder wenn nicht gesetzt/usr/share/X11/xkb
Die Dateien in diesen Verzeichnissen werden automatisch erkannt und können über ihren Namen, oder die von XKB aus den Dateien heraus generierten IDs direkt benutzt werden.
Eigenes Layout
Will man ein eigenes Layout anlegen, so kann man dies entweder systemweit unter /usr/share/X11/xkb/symbols/mein_layout
oder userbezogen unter ~/.config/xkb/symbols/mein_layout
geschehen. Der Wiki-Artikel benutzt als Beispiel eine Tastatur mit englischem Layout (ANSI-US, QWERTY-Layout), prinzipiell lässt sich alles aus diesem Artikel genau so auf alle anderen Layouts anwenden.
Vorbereitungen
Sofern man das eigene Layout bei der Erstellung auf dem Gerät testet, auf dem man es auch entwickelt, so sollte man sicherstellen, dass die Möglichkeit besteht, das System nur unter Verwendung der Maus sauber zu verlassen. Zum Beispiel durch einen Menüeintrag zum Abmelden, eine per Doppelklick ausführbare Scriptdatei die ein killall
an den X-Server oder Wayland-Kompositor sendet, etc.
Alternativ kann man sich z.B. per SSH von einem anderen Host aus zum Rechner verbinden, und XKB im Remote-Terminal konfigurieren, so dass fehlende Funktionalität der Tastatur auf dem Gerät nicht relevant ist.
Es ist zu beachten, dass XKB bei Fehlkonfiguration sowohl den X-Server als auch jegliche Wayland-Kompositoren zum Absturz bringen kann. Wenn man das Layout entwickelt, sollte man also sicherstellen, dass andere Programme und Dateien geschlossen oder gespeichert sind.
Da Die XKB-Konfiguration geladen wird, sobald die Grafische Oberfläche geladen wird, sollte man für eine Anmeldemethode sorgen, bei der keine grafische Oberfläche gestartet wird. Da XKB in der Shell nicht aktiv ist, reicht es, während der Entwicklungsphase den automatischen Start des Grafikservers abzustellen, so dass man immer erst in der Befehlszeile landet, um die XKB-Konfiguration vorher zu reparieren.
Abschnitte
XKB-Dateien werden in Abschnitte unterteilt. Diese Umfassen die eigentlichen Tastenkonfigurationen (xkb_symbols
), die verschiedenen Varianten des Layouts, die physikalische Beschreibung der Tastatur, etc. In diesem Wiki-Artikel werden nur die xkb_symbols
behandelt.
Konfigurations-„Header“
Sonderzeichen
„Better CapsLock“
Ein Layout verwenden
Wayland
X
Systemweit
Userbezogen
Siehe auch
- Xmodmap für einen X-spezifischen Weg