在读取输入设备时插入/拔出输入设备

时间:2012-03-02 10:11:30

标签: linux udev

我有一个与我的linux盒配对的蓝牙遥控器,当激活时,此遥控器在/dev/input/event13处可见。

我有一个小型的C程序,open这个设备直接从它读取,工作正常。

现在,我的问题是这个遥控器在几分钟不活动后进入睡眠状态,/dev/input/event13消失。一按下遥控器上的按键,它就会重新出现。

我将udevadm的输出放在这里:https://gist.github.com/9fff2f0d7edef1050060

我使用以下代码(我编写的小ruby ext)来阅读设备:https://gist.github.com/b403d538eb6a8627e2bd

我想过写一个udev规则,当我添加遥控器时启动我的程序,并在删除它时停止它。我阅读了udev文档,但我无法弄明白该怎么做。我愿意接受建议。

1 个答案:

答案 0 :(得分:1)

经过一番挖掘和挫折之后,我做了以下几点:

我投入/etc/udev/rules.d/99-rmote.rules

KERNEL=="event*", SUBSYSTEM=="input", ACTION=="add|remove", ATTRS{name}=="TiVo Keyboard Remote", RUN+="/home/kuon/handleConnect.rb"

handleConnect.rb中,我检查ACTION环境变量,然后相应地启动/停止我的守护进程。最后非常简单,效果很好。