有没有办法在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输入设备节点。 Qt使用QSocketNotifier在DirectFB事件缓冲区上等待,并设置一个槽来读取鼠标数据。但是在热插拔时,DirectFB不会打开设备节点,也不会生成鼠标事件。
据我所知,到目前为止,DirectFb不支持热插拔..
我尝试禁用DirectFB处理Linux输入设备(从directfbrc中的linux-input-devices =选项中删除dev节点),并设置QWS_MOUSE_PROTO =" linuxinput:.."但由于某种原因,这不起作用。似乎没有生成鼠标事件。即使我设法让它工作,我也不认为QT为热插拔提供任何支持。
那么我是子类QMouseDriverPlugin和QWSMouseHandle类的唯一替代品吗?为此,我还没弄明白如何让QT使用我实现的子类。即,一旦我实现这些类,我如何将它们链接到QT输入设备处理框架工作,以便我可以设置像QWS_MOUSE_PROTO =" mylinuxinput:.."?
答案 0 :(得分:1)
据我所知,在Qt Embedded 4.7.2(没有DirectFB)中我没有遇到鼠标或键盘热插拔的问题。如果你想自己子类化,请从linuxinput插件开始修改插件。你会发现在Qt源代码中:this是放置插件的目录,但是其他目录中包含了一些类。
另外,你是否在插件后在linux设备中获取数据?你试图捕捉设备吗?