xev
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Ubuntu 22.04 Jammy Jellyfish
Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Achtung!
Wie der Name erraten lässt, handelt sich um ein Tool für den X-Server. Die Entsprechung unter Wayland lautet wev aus dem gleichnamigen Paket.
Gelegentlich ist zur Konfiguration eines Eingabegerätes die Prüfung notwendig, welche Funktion dessen Tasten, Achsen, Räder oder Sensoren haben. Dabei hilft das Programm xev.
Installation¶
xev ist Teil des folgenden Pakets, das auf jedem Ubuntu-System mit grafischer Oberfläche bereits vorinstalliert ist:
x11-utils
Befehl zum Installieren der Pakete:
sudo apt-get install x11-utils
Oder mit apturl installieren, Link: apt://x11-utils
Benutzung¶
In einem Terminal [2] muss der Befehl xev
eingeben [3] werden. Auf dem Bildschirm öffnet sich darauf das leere xev-Fenster. Dieses wird fokussiert und der Mauszeiger darüber bewegt. Nach Betätigen der gewünschten Funktion eines Eingabegerätes können die Ausgaben im Terminal verfolgt werden.
Falls sich dort keine Reaktion findet, ist das Eingabegerät nicht richtig konfiguriert.
Ermittlung des Signals einer Tastaturtaste (keycode)¶
Bei der Konfiguration von Tastaturen, Multimediatasten und Presentern ist die Zahl hinter dem Eintrag keycode
interessant. Im folgenden Beispiel wurde die Taste
Z gedrückt:
KeyPress event, serial 31, synthetic NO, window 0x2a00001, root 0xa4, subw 0x0, time 9071110, (56,109), root:(723,158), state 0x10, keycode 29 (keysym 0x7a, z), same_screen YES, XLookupString gives 1 bytes: (7a) "z" XmbLookupString gives 1 bytes: (7a) "z" XFilterEvent returns: False KeyRelease event, serial 31, synthetic NO, window 0x2a00001, root 0xa4, subw 0x0, time 9071190, (56,109), root:(723,158), state 0x10, keycode 29 (keysym 0x7a, z), same_screen YES, XLookupString gives 1 bytes: (7a) "z"
Man drückt nun nacheinander jede Taste von Interesse und schreibt die dazugehörigen „keycodes“ auf. Vereinfachen lässt sich dies durch die alleinige Ausgabe der Zeile mit dem „keycode“ [2]:
xev | grep keycode
Sendet die Taste beim Drücken (KeyPress event
) und beim Loslassen (KeyRelease event
) unterschiedliche Codes, ist der Code für das Drücken relevant.
Tastaturcode nutzen¶
Im Homeverzeichnis kann nun mit einem Editor [3] die Datei .Xmodmap erstellt werden. Diese sollte nach dem folgenden Schema aufgebaut sein:
keycode 174 = XF86AudioLowerVolume keycode 176 = XF86AudioRaiseVolume keycode 162 = XF86AudioPlay keycode 164 = XF86AudioStop keycode 144 = XF86AudioPrev keycode 153 = XF86AudioNext
Ein Liste aller XF86 findet man unter sourceforge.net 🇬🇧.
Anschließend werden die Symlinks aktiviert:
xmodmap .Xmodmap
Ermittlung des Signals einer Maustaste (button)¶
Bei der Konfiguration von Mäusen, Touchpads oder Grafiktabletts ist die Zahl hinter dem Eintrag button
interessant. Im folgenden Beispiel wurde die Taste
1 gedrückt:
ButtonPress event, serial 31, synthetic NO, window 0x4800001, root 0x1a5, subw 0x0, time 1003798585, (122,77), root:(129,891), state 0x10, button 1, same_screen YES ButtonRelease event, serial 31, synthetic NO, window 0x4800001, root 0x1a5, subw 0x0, time 1003799097, (122,77), root:(129,891), state 0x110, button 1, same_screen YES
Man drückt nun nacheinander jede Taste von Interesse und schreibt die dazugehörigen „buttons“ auf. Dies lässt sich durch die alleinige Ausgabe der Zeilen, die „button“ enthalten, vereinfachen:
xev | grep button
Sendet die Taste beim Drücken (ButtonPress event
) und beim Loslassen (ButtonRelease event
) unterschiedliche Codes, ist der Code für das Drücken relevant.
Links¶