我有一台内置红外接收器并在 ubuntu 20.04 上运行的英特尔 nuc7pjyh。在不使用 lirc 和 lircd 的情况下,我想使用 python 读取红外命令。使用 ir-keytable,我设置了一些 ir-codes->keys。
我正在这样做:
import evdev
device = evdev.InputDevice('/dev/input/event12')
for event in device.read_loop():
print(evdev.categorize(event))
“event12” 是硬编码的,我从 ir-keytable 中获取了它。如何才能知道我必须在 event12 处监听才能获取 IR 代码?
答案1
device = next(Path("/sys/class/rc/").glob("rc*/input*/event*/"),None)
if device == None:
devpath = None
else:
devpath = f"/dev/input/{device.name}"