python evdev liest Tastendruck nicht

OP #6599359
Lesenswert?

Hey

ich möchte das evdev Modul von Python für ein Skript unter Linuxmint 
20.1 nutzen. Dabei sollen Events von einem USB-Fußschalter, der von 
Linux als HID Keyboard erkannt wird, ausgelesen werden. (Grundsätzlich 
funktioniert der Schalter und entspricht, in der aktuellen 
Konfiguration, bei Betätigung dem Drücken der B-Taste bei mir auf der 
Tastatur)
Jetzt wollte ich den Beispielcode aus der Dokumentation zu python evdev 
testen 
(https://python-evdev.readthedocs.io/en/latest/tutorial.html#reading-events):
1
dev = InputDevice('/dev/input/event5')
2

3
print(dev)
4

5

6
for event in dev.read_loop():
7
    if event.type == ecodes.EV_KEY:
8
        print(categorize(event))
und bekomme aber keinen Output. Die Funktion read_loop() scheint keinen 
Tastendruck zu registrieren (aber nen b wird trotzdem an die Stelle des 
Cursors im Terminal geschrieben).
Ich habe vorher mit evtest im Virtuellen Terminal die entsprechende 
eventfile zum Schalter rausgesucht - müsste eigentlich passen.
Weiß jemand, woran das liegen könnte?

(Drei Sachen sind mir noch aufgefallen, die für die Fehlersuche helfen 
könnten:
1. mit der Maus funktionierts, da bekomme ich einen entsprechenden 
Output bei re/li Click
2. python evdev liefert auch ein evtest Modul mit. Wenn ich das mit
Code: [Auswählen]

sudo python -m evdev.evtest

im Terminal ausführe und dann das eventfile vom Fußschalter auswähle 
passiert da bei Tastendruck auch nichts (beim ausführen von evtest im 
viruellen Terminal hingegen schon)
3. Im Zusammenhang mit evtest bin ich auf sudo fuser -v 
/dev/input/event... gestoßen und habe festgestellt, dass auf der 
entsprechenden eventfile einige root prozesse laufen)

Vielen Dank schon einmal für Eure Hilfe!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren