【问题标题】:Why Qt can not capture touch event after re-plug USB touch device?为什么重新插入 USB 触摸设备后 Qt 无法捕获触摸事件?
【发布时间】:2017-07-31 08:37:39
【问题描述】:

祝你有美好的一天。

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

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

【问题讨论】:

  • 嘿,我知道它已经 2 年多了,但是您找到任何解决方案了吗?

标签: qt hotplugging


【解决方案1】:

我大胆猜测这是因为 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多