嵌入式DirectFB/QT中的USB鼠标热插拔
在DirectFB 1.2.9或Qt Embedded 4.7.3中有没有办法实现USB鼠标的热插拔 目前,我的应用程序堆栈是如此嵌入式DirectFB/QT中的USB鼠标热插拔,qt,directfb,qtembedded,hotplugging,Qt,Directfb,Qtembedded,Hotplugging,在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输入设备节点
-----------------
GUI
-----------------
Qt Embedded 4.7.3
-----------------
DirectFB 1.2.9
-----------------
/dev/input/eventX
-----------------
DirectFB打开Linux输入设备节点。Qt使用QSocketNotifier等待DirectFB事件缓冲区,并设置一个插槽来读取鼠标数据。但在热插拔时,DirectFB不会打开设备节点,也不会生成鼠标事件
据我所知,到目前为止,DirectFb不支持热插拔
我尝试禁用DirectFB对Linux输入设备的处理(从directfbrc中的Linux输入设备=选项中删除dev节点),并设置QWS_MOUSE_PROTO=“linuxinput:…”但由于某些原因,这不起作用。似乎没有生成鼠标事件。即使我设法让它工作,我也不认为QT提供了任何热插拔支持
那么,我的子类QMouseDriverPlugin和QWSMouseHandle类的唯一替代方案是什么呢?。为此,我还没有弄清楚如何让QT使用我实现的子类。i、 e,一旦我实现了这些类,我如何将它们链接到QT输入设备处理框架中,这样我就可以设置像QWS_MOUSE_PROTO=“mylinuxinput:…”?据我所知,我在QT Embedded 4.7.2(没有DirectFB)中没有遇到鼠标或键盘热插拔的问题。如果您想对自己进行子类化,请从linuxinput插件开始修改插件。您将在Qt sources中发现:是插件所在的目录,但有些类包含在其他目录中
另外,在插入linux设备后,您是否在linux设备中获取数据?您是否尝试对设备进行cat操作?使用QWS_mouse_PROTO从QT直接启动鼠标。但正如预期的那样,没有热插拔。然后,您可能希望查看代码并进行调试,而不是重写。抱歉,在我的第一条评论中应该更清楚。虽然我会猫。。一旦我插上鼠标插头,猫就会退出。设备节点不再存在。。接通电源后,我需要再次进行cat。设备节点由udev动态管理。重要的是,您可以在再次插入后进行cat。在这种情况下,这意味着较低的级别是正常的。试着调试Qt插件,看看为什么它在再次插入时无法获取数据。