在 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:.." 的东西?