ihr habt mir ja schon einige Male großartig geholfen (hier und hier), deshalb versuche ich es noch einmal
Es geht um an den Raspberry Pi angeschlossene Taster, die sich dank devicetree overlays und dem Kerneltreiber gpio-key wie eine Tastatur verhalten.
Bis jetzt verwende ich python-evdev um die Events mitzubekommen und das meiste funktioniert, allerdings schaffe ich es nicht lange Tastendrücke zu erkennen. Laut [1] sollten lange Tastendrücke einen Event mit value=2 erzeugen, aber wenn ich einen Taster lange drücke kommt kein solcher event
Code: Alles auswählen
# python3 -m evdev.evtest
ID Device Name Phys Uniq
-----------------------------------------------------------------------------------------------------
0 /dev/input/event0 button@19 gpio-keys/input0
1 /dev/input/event1 button@18 gpio-keys/input0
2 /dev/input/event2 soc:shutdown_button@17 gpio-keys/input0
3 /dev/input/event3 rotary@a
4 /dev/input/event4 rotary@1b
Select devices [0-4]: 1
Listening for events (press ctrl-c to exit) ...
time 1628979450.041453 type 1 (EV_KEY), code 59 (KEY_F1), value 1
time 1628979450.041453 --------- SYN_REPORT --------
time 1628979466.986278 type 1 (EV_KEY), code 59 (KEY_F1), value 0
time 1628979466.986278 --------- SYN_REPORT --------
Gibt es da vielleicht irgendeinen Trick, dass auch Events für lange Tastendrücke erzeugt werden – gefunden habe ich in der Dokumentation darüber nichts.
lg smutbert
[1] https://github.com/gvalkov/python-evdev/issues/70