从输入事件读取红外代码

从输入事件读取红外代码

我有一台内置红外接收器并在 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}"

相关内容