在DirectFB 1.2.9或Qt Embedded 4.7.3中有没有办法实现USB鼠标的热插拔?
目前我的应用程序堆栈是这样的..
-----------------
GUI
-----------------
Qt Embedded 4.7.3
-----------------
DirectFB 1.2.9
-----------------
/dev/input/eventX
-----------------DirectFB打开Linux input device节点。Qt使用QSocketNotifier来等待DirectFB事件缓冲区,并设置一个插槽来读取鼠标数据。但在热插拔时,DirectFB不会打开设备节点,也不会生成鼠标事件。
据我所知,DirectFb目前还不支持热插拔。
我尝试禁用DirectFB对Linux输入设备的处理(从directfbrc中的linux- input - device =选项中删除dev节点),并将QWS_MOUSE_PROTO=设置为“linuxinput:..”但由于某些原因,这并不起作用。似乎没有生成鼠标事件。即使我设法让它工作,我也不认为QT提供任何对热插拔的支持。
那么我的子类QMouseDriverPlugin和QWSMouseHandle类的唯一替代方法是什么呢?为此,我还没有弄清楚如何让QT使用我实现的子类。也就是说,一旦我实现了这些类,我如何将它们链接到处理frame的QT输入设备中,这样我就可以设置类似QWS_MOUSE_PROTO="mylinuxinput:..“的东西了?
发布于 2012-12-21 15:12:55
就我记忆所及,我在Qt Embedded 4.7.2 (没有DirectFB)中没有遇到鼠标或键盘热插拔的问题。如果你想自己子类化,可以从linuxinput插件开始修改插件。您将在Qt sources中发现这一点:this是放置插件的目录,但一些类包含在其他目录中。
另外,在插入电源后,您的linux设备中是否可以获得数据?你有没有试过猫这个装置?
https://stackoverflow.com/questions/13985014
复制相似问题