Eventfilter не получил никакого события TouchEnd в приложении Qt5.9.2 QML на встроенном Linux imx6

Существует плата imx6 с linux3.0.35 и Qt4.8.5.
Я обновил Qt4.8.5 до Qt5.9.2 путем кросс-компиляции исходного кода Qt5.9.2.
Приложение QML может собрать OK и отобразить OK с Qt5.9.2 .
Но сенсорный экран недействителен, хотя сенсорный дисплей работает хорошо.

Журнал в eventfilter(), как показано ниже:

QEvent::Type(ChildAdded)
QEvent::Type(TouchBegin)
QEvent::Type(TouchBegin)
QEvent::Type(TouchBegin)
QEvent::Type(TouchBegin)
QEvent::Type(Timer)
QEvent::Type(UpdateRequest)
QEvent::Type(TouchUpdate)
QEvent::Type(ChildAdded)
QEvent::Type(TouchUpdate)
QEvent::Type(ChildAdded)
QEvent::Type(TouchUpdate)
QEvent::Type(ChildAdded)
QEvent::Type(TouchUpdate)

Почему в логе четыре TouchBegin, хотя и с одним касанием?
Почему в логе нет ни одного TouchEnd?

PS:
Моя конфигурация кросс-компиляции выглядит следующим образом:

./configure -release -xplatform linux-arm-gnueabi-g++ -no-opengl -opengl es2 -prefix ~/qt5.9.2-arm -opensource -confirm-license -make libs -nomake tools -nomake тесты -пропустить qtandroidextras -пропустить qtconnectivity -пропустить qtdoc -пропустить qtgamepad -пропустить qtlocation -пропустить qtmacextras -пропустить qtnetworkauth -пропустить qtpurchasing -пропустить qtsensors -пропустить qtserialbus -пропустить qtspeech -пропустить qtsvg -пропустить qttools -пропустить qtwebchannel -пропустить qtwebengine -пропустить qtwebsockets -пропустить qtwebsockets значок без функции - жесты без функции - без qml-debug


person CN.Hu    schedule 19.01.2018    source источник


Ответы (1)


Установите QT_QPA_GENERIC_PLUGINS как tslib и evdevkeyboard, но не evdev.
Проблема устранена.

export QT_QPA_GENERIC_PLUGINS=tslib:/dev/input/ts0,evdevkeyboard:/dev/input/event6
person CN.Hu    schedule 25.01.2018