X-Server
X-Server

Maus

Tastaturbelegung

X-Clients erhalten vom X-Server Benachrichtigungen sowohl beim Drücken ("KeyPress event") als auch beim Loslassen ("KeyRelease event") von Tasten. Ausschlaggebende Information ist dabei das sog. Xkeysym, das die Bedeutung der Taste beschreibt, also einen Buchstaben, ein Sonderzeichen oder eine bestimmte Funktion (Löschen, Cusrsor Verschieben etc.).

BildschirmtastaturZur Abb. rechts:
Der X-Server ist auch ohne physikalische Tastatur in der Lage, Key-Events an die X-Clients zu senden.
Mit einer virtuellen Bildschirmtastatur, hier als Beispiel
 xvkbd  können mit Mausklicks Tasten emuliert werden. Dabei ist zuerst "Focus" anzuklicken und per Maus das X-Fenster auszuwählen, an das die Tasten geschickt werden sollen (z.B. Xterm). Anschließend können mit der Bilschirmtastatur Eingaben gemacht werden.
Tip: Mit Klick auf den Schriftzug xvkbd rechts unten öffnet sich ein recht umfangreiches Konfigurationsmenü.

Die eigentlichen Tasten werden einfach mit Nummern durchgezählt, den sog. Keycodes. Der Kern der Tastaurbelegung ist also die Zuweisung von Xkeysyms zu Keycodes, mit Berücksichtigung von evtl. gleichzeitig gedrückten "Modifers", dh. Tasten wie Shift, Alt und Control.
Mit welcher Tastaturbelegung der X-Server startet, wird in der Regel bei der Installation des Betriebssystems vorkonfiguriert. Auf aktuellem Linux ist dafür in der  xorg.conf  die Zeile
Option       "XkbLayout" "de"
verantwortlich.

Das Mittel der Wahl zur Abfrage und Veränderung der Tastaturbelegung ist  xmodmap.

Mit
xmodmap -pk
erhält man die aktuelle Tastaturbelegung des X-Servers.

Die nebenstehende Liste gibt verkürzt den Anfang einer deutschen Tastaturbelegung.

Links stehen die Keycodes, dann folgen die Belegungen ohne Modifier, mit Shift, mit AltGr ...
xmodmap -pke
erzeugt eine inhaltlich gleiche Liste in einem kompakteren, aber weniger übersichtlichen Format. Dafür umso besser lesbar für xmodmap selbst. Mit
xmodmap -e "expression"
 werden Tastenbelegungen gemäß der xmodmap-Syntax gesetzt; für das Tastaturmapping immer beginnend mit
keycode no = ... ... ...
There are 6 KeySyms per KeyCode; KeyCodes range from 8 to 255.

    KeyCode    Keysym (Keysym)    ...
    Value      Value   (Name)     ...

      8       
      9        0xff1b (Escape)   
     10        0x0031 (1)    0x0021 (exclam)        0x00b9 (onesuperior)   
     11        0x0032 (2)    0x0022 (quotedbl)    0x00b2 (twosuperior)
     12        0x0033 (3)    0x00a7 (section)    0x00b3 (threesuperior)
     13        0x0034 (4)    0x0024 (dollar)        0x00bc (onequarter)
     14        0x0035 (5)    0x0025 (percent)    0x00bd (onehalf)
     15        0x0036 (6)    0x0026 (ampersand)    0x00ac (notsign)
     16        0x0037 (7)    0x002f (slash)        0x007b (braceleft)
     17        0x0038 (8)    0x0028 (parenleft)    0x005b (bracketleft)
     18        0x0039 (9)    0x0029 (parenright)    0x005d (bracketright)
     19        0x0030 (0)    0x003d (equal)        0x007d (braceright)
     20        0x00df (ssharp)    0x003f (question)    0x005c (backslash)
     21        0x00b4 (acute)    0x0060 (grave)        0x00b8 (cedilla)
     22        0xff08 (BackSpace)    0xfed5 (Terminate_Server)   
     23        0xff09 (Tab)    0xfe20 (ISO_Left_Tab)   
     24        0x0071 (q)    0x0051 (Q)    0x0040 (at)
     25        0x0077 (w)    0x0057 (W)    0x01b3 (lstroke)
     26        0x0065 (e)    0x0045 (E)    0x20ac (EuroSign)
 ...
Darüber hinaus verrät xmodmap -pm, welche Tasten die Funktion von Modifiern tragen. Auch diese Zuweisungen lassen sich mit xmodmap  bei Bedarf verändern.
Schließlich ist xmodmap auch für die Zuweisung von Maustasten zuständig, was aber erst im Kapitel Maus näher behandelt wird.

Abschließend sei bemerkt, dass sowohl gnome als auch KDE komfortable graphische Tools für die Tastaturbelegung enthalten, so dass das klassische GUI zu xmodmap meist nicht mehr Teil aktueller Linux-Distributionen ist:

XkeyCapsXkeyCaps
agiert als graphisches Frontend für xmodmap.

Nebenbei kann es wie das oben aufgeführte xvkbd Key-Events an andere X-Applikationen senden, also als Bildschirmtastatur dienen.
X-Server
     ©2005, 2007 Andreas Gottwald
Maus