diff --git a/src/plugins/platforms/eglfs/qeglfsintegration.cpp b/src/plugins/platforms/eglfs/qeglfsintegration.cpp index b485eba050..a42f685a38 100644 --- a/src/plugins/platforms/eglfs/qeglfsintegration.cpp +++ b/src/plugins/platforms/eglfs/qeglfsintegration.cpp @@ -45,10 +45,16 @@ #include "qeglfsbackingstore.h" #include "qeglfshooks.h" +#include + #include #include #include +#include +#include +#include + #include #include #include @@ -60,8 +66,14 @@ QT_BEGIN_NAMESPACE QEglFSIntegration::QEglFSIntegration() - : mFontDb(new QGenericUnixFontDatabase()), mScreen(new QEglFSScreen) + : mEventDispatcher(createUnixEventDispatcher()), mFontDb(new QGenericUnixFontDatabase()), mScreen(new QEglFSScreen) { + QGuiApplicationPrivate::instance()->setEventDispatcher(mEventDispatcher); + + new QEvdevKeyboardManager(QLatin1String("EvdevKeyboard"), QString() /* spec */, this); + new QEvdevMouseManager(QLatin1String("EvdevMouse"), QString() /* spec */, this); + new QEvdevTouchScreenHandlerThread(QString() /* spec */, this); + screenAdded(mScreen); #ifdef QEGL_EXTRA_DEBUG @@ -120,7 +132,7 @@ QPlatformFontDatabase *QEglFSIntegration::fontDatabase() const QAbstractEventDispatcher *QEglFSIntegration::guiThreadEventDispatcher() const { - return createUnixEventDispatcher(); + return mEventDispatcher; } QVariant QEglFSIntegration::styleHint(QPlatformIntegration::StyleHint hint) const diff --git a/src/plugins/platforms/eglfs/qeglfsintegration.h b/src/plugins/platforms/eglfs/qeglfsintegration.h index 04d77a5903..14cec21d13 100644 --- a/src/plugins/platforms/eglfs/qeglfsintegration.h +++ b/src/plugins/platforms/eglfs/qeglfsintegration.h @@ -76,6 +76,7 @@ public: void *nativeResourceForContext(const QByteArray &resource, QOpenGLContext *context); private: + QAbstractEventDispatcher *mEventDispatcher; QPlatformFontDatabase *mFontDb; QPlatformScreen *mScreen; };