Как избавиться от задержек на сенсорных событиях?
Я пытаюсь запустить приложения 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 проще в использовании.