diff -u a\qtbase\src\plugins\platforms\linuxfb/qlinuxfbintegration.cpp b\qtbase\src\plugins\platforms\linuxfb/qlinuxfbintegration.cpp --- a\qtbase\src\plugins\platforms\linuxfb/qlinuxfbintegration.cpp 2013-03-20 10:22:32 +0100 +++ b\qtbase\src\plugins\platforms\linuxfb/qlinuxfbintegration.cpp 2013-03-25 14:49:03 +0100 @@ -48,6 +48,9 @@ #include #include +#include +#include + #include #include @@ -59,6 +62,9 @@ { QGuiApplicationPrivate::instance()->setEventDispatcher(m_eventDispatcher); + new QEvdevKeyboardManager(QLatin1String("EvdevKeyboard"), QString() /* spec */, 0); + new QEvdevMouseManager("EvdevMouse", QString() /* spec */, 0); + m_primaryScreen = new QLinuxFbScreen; if (m_primaryScreen->initialize(paramList)) screenAdded(m_primaryScreen); @@ -89,7 +95,9 @@ QPlatformWindow *QLinuxFbIntegration::createPlatformWindow(QWindow *window) const { - return new QFbWindow(window); + QPlatformWindow *w = new QFbWindow(window); + w->requestActivateWindow(); + return w; } QAbstractEventDispatcher *QLinuxFbIntegration::guiThreadEventDispatcher() const diff -u a\qtbase\src\plugins\platforms\linuxfb/qlinuxfbscreen.cpp b\qtbase\src\plugins\platforms\linuxfb/qlinuxfbscreen.cpp --- a\qtbase\src\plugins\platforms\linuxfb/qlinuxfbscreen.cpp 2013-03-20 12:03:10 +0100 +++ b\qtbase\src\plugins\platforms\linuxfb/qlinuxfbscreen.cpp 2013-03-22 15:53:16 +0100 @@ -41,6 +41,7 @@ #include "qlinuxfbscreen.h" #include +#include #include #include // overrides QT_OPEN @@ -416,5 +417,23 @@ return touched; } +QPlatformCursor *QLinuxFbScreen::cursor() const +{ + return mCursor; +} + +QWindow *QLinuxFbScreen::topLevelAt(const QPoint & p) const +{ + //Q_UNUSED(p); + for (int i = 0; i < mWindowStack.size(); i++) { + if (mWindowStack[i]->geometry().contains(p, false) && + mWindowStack[i]->window()->isVisible() + /*&& + !mWindowStack[i]->widget()->isMinimized()*/ ) { + return mWindowStack[i]->window(); + } + } + return 0; +} QT_END_NAMESPACE diff -u a\qtbase\src\plugins\platforms\linuxfb/qlinuxfbscreen.h b\qtbase\src\plugins\platforms\linuxfb/qlinuxfbscreen.h --- a\qtbase\src\plugins\platforms\linuxfb/qlinuxfbscreen.h 2013-03-20 10:22:32 +0100 +++ b\qtbase\src\plugins\platforms\linuxfb/qlinuxfbscreen.h 2013-03-22 15:46:45 +0100 @@ -57,7 +57,8 @@ ~QLinuxFbScreen(); bool initialize(const QStringList &args); - + virtual QPlatformCursor *cursor() const; + virtual QWindow * topLevelAt(const QPoint & p) const; public slots: QRegion doRedraw();