Как избавиться от задержек на сенсорных событиях?

Я пытаюсь запустить приложения Qt на Raspberry Pi 3 с сенсорным экраном Waveshare LCD (с резистивным касанием) в качестве ввода-вывода. Я использую версию Qt 5.12, а операционная система Raspberry Pi - Raspbian Stretch. Драйвер ввода - evdev, и сенсорные события правильно отправляются в ОС. Я уверен в этом, потому что я провел несколько тестов с evtest,

Все работает нормально, когда я нажимаю на виджеты мышью, но когда я щелкаю их через сенсорную панель, у меня возникают некоторые проблемы.

Щелчки сенсорного экрана генерируют события мыши (как я и ожидал), но не каждое событие доставляется вовремя. MouseReleases доставляются сразу после выпуска виджета, но события MousePress доставляются после некоторой задержки.

Если я нажму какой-нибудь виджет и удержу его, то QWidget::mousePressEvent(QMouseEvent*) будет вызываться только через ~1 с.

Если я освобожу виджет до события MousePress, то MouseRelease будет ожидать его, и оба будут доставлены вместе.

Есть ли способ избавиться от задержки события MousePress?

PS Я знаю, что мог бы использовать TouchEvents вместо MouseEvents, но MouseEvents проще в использовании.

0 ответов

Другие вопросы по тегам