用C抓住一个设备

时间:2015-10-23 12:50:49

标签: c linux device

如何用C语言获取设备(让我们说一个鼠标?),这样只有给定的进程可以使用它?

例如,它允许鼠标仅用于当前进程。

我创建了一个虚拟设备,我在" / dev / uinput"发送鼠标动作。如何将此虚拟鼠标限制为仅一个进程。

1 个答案:

答案 0 :(得分:2)

evtestevemu是否不足以满足您的测试需求?它们在大多数Linux发行版中都是标准存储库,当然也足以进行临时测试。

我已在here上发布了一些示例代码how to read barcodes from a specific input event device in Linux作为答案。它具有超时支持,并抓取输入设备(在输入事件设备文件描述符上使用ioctl(fd, EVIOCGRAB, 1)),以便不传播事件,并且尝试获取设备的其他进程因EBUSY而失败。

修改它以便以您觉得舒适的方式检查设备提供的事件结构应该不会太难。