获取 Qt 4.8 中 QInputEvent 被放入 QEventLoop 队列时的时间戳

2024-02-11

这个问题与以下问题密切相关QEventLoop:获取安排事件的时间 https://stackoverflow.com/questions/34682196/qeventloop-get-time-when-an-event-was-scheduled。在这里,我专门询问输入事件,而不是“所有类型的事件”。我也对 Qt 4.8 的解决方案感兴趣。

对于 Qt 5 中的 QInputEvent,有一个可以使用的 timestamp() 成员方法。在 Qt 4.8 中没有这样的方法。当驱动程序/更深层次的系统最初“发出”输入事件时,是否有任何其他方法可以获取时间戳。或者什么时候它最初被 Qt“接收”并放入事件队列?


我查看了嵌入式 Qt 中的不同键盘/输入驱动程序,发现没有任何时间戳处理。所以可用的默认实现并不令人满意。

我设法通过在我的特定平台上实现我自己的逻辑来获取时间戳。就我而言,这需要从 dev/input/event 文件读取并自己创建 QInput 事件。每个键盘输入还包含一个时间戳,该时间戳似乎是输入发生时的时间戳。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取 Qt 4.8 中 QInputEvent 被放入 QEventLoop 队列时的时间戳 的相关文章

随机推荐