DirectFB / QT Embedded中的USB鼠标热插拔

时间:2012-12-21 05:59:51

标签: 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输入设备节点。 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:.."?

1 个答案:

答案 0 :(得分:1)

据我所知,在Qt Embedded 4.7.2(没有DirectFB)中我没有遇到鼠标或键盘热插拔的问题。如果你想自己子类化,请从linuxinput插件开始修改插件。你会发现在Qt源代码中:this是放置插件的目录,但是其他目录中包含了一些类。

另外,你是否在插件后在linux设备中获取数据?你试图捕捉设备吗?