为什么Qt在重新插拔USB触控设备后无法捕捉触控事件?

时间:2017-07-31 08:37:39

标签: qt hotplugging

祝你有个美好的一天。

我对触控设备的热插拔有疑问。

我将环境变量设置如下。 export QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS = / dev / input / ts_uinput:rotate = 0

“/ dev / input / ts_uinput”由ts库的应用程序“ts_uinput”创建。

在重新插入USB触控设备之前,触控功能可以正常工作。 如果我重新插入USB触摸设备,则触摸功能不起作用。

重新插入USB触控设备后,仍会创建“/ dev / input / ts_uinput”。

我还监视“/ dev / input / ts_uinput”中的数据,它还有数据报告。

重新插拔USB触控设备后,为什么Qt没有触及触控事件?

1 个答案:

答案 0 :(得分:0)

我会大胆猜测这是因为当应用程序启动时,Qt(Qt evdev平台插件)会打开/dev/input/ts_uinput。当您重新插入触摸设备时,将重新创建该文件,但Qt保留的文件句柄已变为无效。再次使用它需要Qt关闭并重新打开句柄。

您可以尝试通过启用调试日志来获取更多信息:http://doc.qt.io/qt-5/embedded-linux.html#debugging-input-devices

但是,我不知道这是错误还是遗失功能,您可能需要联系Qt interest mailing listreport a bug