0

有一个带有linux3.0.35&Qt4.8.5的imx6板。
我已通过交叉编译 Qt5.9.2 源代码将 Qt4.8.5 更新为 Qt5.9.2。
QML 应用程序可以用Qt5.9.2 构建OK 并显示OK。
但是触摸无效,虽然触摸显示效果很好。

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 tests -skip qtandroidextras -skip qtconnectivity -skip qtdoc -skip qtgamepad -skip qtlocation -skip qtmacextras -skip qtnetworkauth -skip qtpurchasing -skip qtsensors -skip qtserialbus -skip qtspeech -skip qtsvg -skip qttools -skip qtwebchannel -skip qtwebengine -skip qtwebsockets -skipextrastq no-feature-iconv -no-feature-gestures -no-qml-debug

4

1 回答 1

1

将 QT_QPA_GENERIC_PLUGINS 设置为 tslib 和 evdevkeyboard,但不是 evdev。
问题已解决。

export QT_QPA_GENERIC_PLUGINS=tslib:/dev/input/ts0,evdevkeyboard:/dev/input/event6
于 2018-01-25T04:10:50.150 回答