blob: 462ad48ed7af642679b24739b5d3042e08576c9e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
from evdev import InputDevice, list_devices, ecodes
device = None
last = 0x00
for path in list_devices():
candidate = InputDevice(path)
if candidate.name == "meson-ir":
device = candidate
break
if device is None:
raise RuntimeError("meson-ir input device not found")
print(f"Listening on {device.path}: {device.name}")
for event in device.read_loop():
if event.type == ecodes.EV_MSC and event.code == ecodes.MSC_SCAN:
if (event.value != last):
print(f"scancode {event.value:#x}")
last = event.value
# Do logic here
else:
print(f"repeat scancode {event.value:#x}")
last = 0x00
|