ubuntuusers.de

xev

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


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.

Diese Revision wurde am 25. September 2024 09:42 von fleet_street erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Hardware, Multimedia