我有两个 HP 遥控器,一个是用于控制电视调谐器和媒体中心的巨型遥控器,另一个是仅用于控制媒体中心的微型遥控器。
是否可以使用 LIRC 让它们与 Ubuntu (11.04) 配合使用?我知道至少有一个被识别了,因为我可以使用其中一个按钮关闭屏幕。
我需要什么才能获得全面支持?(笔记本电脑是 HP DV7 1020us,但从那时起,几乎所有 HP 笔记本电脑都配有遥控器)。
答案1
LIRC 支持遥控器主要有两种方式。
一种是通过通用红外接收器。可以“训练”它们以获取配置文件,或下载配置文件。这些只是列出每个按钮的脉冲时序。
另一种方法是通过事件设备 - 这可能是您所拥有的遥控器的机制,因为它已经对您的机器产生了影响。内核为此遥控器配备了驱动程序,并将其脉冲转换为事件。
该设备实际上是作为一个额外的键盘接入的,带有一些奇怪的键,其中一些键在 X 中具有绑定。您可以使用 LIRC 通过其 evdev(事件设备)模块向此类设备添加额外的绑定。
做
lsmod | grep evdev
并查看 evdev 模块是否已加载 - 这通常是对其中一个远程接收器的响应。这些模块的内核驱动程序通常将事件映射到标准的键代码集。一些键甚至可能在通常的键映射中 - 我拥有的遥控器为数字、输入等生成正确的键代码 - 您可以看到它们像任何其他 HID 键盘一样将键输入到应用程序中。
尝试找出你的遥控器是哪个 /dev/input/eventN 设备 - 尝试查看你的dmesg
输出;e/g/
dmesg | grep event
然后运行 LIRC 调试工具之一 irw
irw /dev/input/eventN
# 应该会在您瞄准并拍摄时生成一个按钮标识符列表。一旦您让它工作起来...
从这里,您可以配置 LIRC 以接收某些按钮按下并将其他键发送到应用程序。我有一个 MythTV 的混合设置 - 一些按钮是我想要的值(OK == ENTER、0-9 等),其中一些我在 LIRC 中重新映射(STOP == d 表示删除)。