Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
嵌入式DirectFB/QT中的USB鼠标热插拔_Qt_Directfb_Qtembedded_Hotplugging - Fatal编程技术网

嵌入式DirectFB/QT中的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输入设备节点

在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输入设备=选项中删除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插件,看看为什么它在再次插入时无法获取数据。