Получите временную метку, когда QInputEvent был помещен в очередь QEventLoop в Qt 4.8. - PullRequest
0 голосов
/ 15 октября 2018

Этот вопрос тесно связан с QEventLoop: получить время, когда было запланировано событие .Здесь я спрашиваю конкретно о входных событиях в отличие от «всевозможных событий».Меня также интересует решение для Qt 4.8.

Для QInputEvent в Qt 5 есть метод члена timestamp (), который можно использовать.В Qt 4.8 такого метода нет.Существуют ли другие подходы для получения метки времени, когда входное событие изначально «испускалось» драйверами / более глубокими системами.Или когда он был изначально "получен" Qt и помещен в очередь событий?

1 Ответ

0 голосов
/ 04 декабря 2018

Я взглянул на различные драйверы клавиатуры / ввода во встроенном Qt и обнаружил, что обработка временных меток вообще отсутствует.Таким образом, доступные реализации по умолчанию были неудовлетворительными.

Мне удалось получить временные метки, реализовав собственную логику на моей конкретной платформе.В моем случае это потребовало чтения из файла dev / input / event и создания событий QInput самостоятельно.Каждый ввод с клавиатуры также содержит временную метку, которая, по-видимому, является временной меткой, когда произошел ввод.

...