我在一个项目中,需要编写一个简单的驱动程序,该驱动程序接受来自 USB 设备的输入,并根据收到的消息在 GUI 上执行操作(就像编写 USB 鼠标驱动程序,但使用我自己的协议)。
我正在寻找这种可能性,我发现像 LDTP 这样的软件测试自动化工具已经可以生成鼠标点击和键盘点击等操作。
还有其他API可以使用吗?如果我的团队对 C 语言有很好的了解,但没有 Linux 经验,那么需要多长时间?
我能想到的基本上有两种选择:
- X11:使用 XTest 扩展(
XTestFakeDeviceKeyEvent
, XTestFakeRelativeMotionEvent
, etc.)
- 模块u输入。
第一个利用fake输入设备(尝试运行xinput list
在 shell 中)存在于大多数(所有?)X 服务器中。每次调用其中一个XTestFake*
函数生成 X 输入消息。
第二个是内核模块,允许用户应用程序创建输入设备并发送输入事件。您只需打开/dev/uinput
设备,发送一些ioctl
s来配置它,然后write
直接输入事件。
当然,您可以编写输入内核驱动程序!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)