0

祝你有美好的一天。

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

我将环境变量设置如下。导出 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 没有得到触摸事件?

4

1 回答 1

0

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

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

但是,我不知道这是一个错误还是缺少的功能,您可能想联系 Qt兴趣邮件列表报告错误

于 2017-07-31T10:05:00.607 回答