diff --git a/maliit-plugins-quick/input-method/minputmethodquick.cpp b/maliit-plugins-quick/input-method/minputmethodquick.cpp index 6ee95fb..12f920d 100644 --- a/maliit-plugins-quick/input-method/minputmethodquick.cpp +++ b/maliit-plugins-quick/input-method/minputmethodquick.cpp @@ -44,6 +44,7 @@ #include #include #include +#include #include #if QT_VERSION < QT_VERSION_CHECK(5, 0, 0) @@ -307,6 +308,7 @@ void MInputMethodQuick::show() const QRegion r(inputMethodArea().toRect()); d->handleInputMethodAreaUpdate(inputMethodHost(), r); d->syncInputMask(); + QTimer::singleShot(100, this, SLOT(centerMouseOnKeyboard())); } } @@ -323,6 +325,15 @@ void MInputMethodQuick::hide() d->handleInputMethodAreaUpdate(inputMethodHost(), r); } +void MInputMethodQuick::centerMouseOnKeyboard() +{ + Q_D(MInputMethodQuick); + if(d->sipIsInhibited) { + return; + } + QCursor::setPos(d->inputMethodArea.center().x(), d->inputMethodArea.center().y()); +} + void MInputMethodQuick::handleAppOrientationChanged(int angle) { Q_D(MInputMethodQuick); diff --git a/maliit-plugins-quick/input-method/minputmethodquick.h b/maliit-plugins-quick/input-method/minputmethodquick.h index 862b0cf..02e3bac 100644 --- a/maliit-plugins-quick/input-method/minputmethodquick.h +++ b/maliit-plugins-quick/input-method/minputmethodquick.h @@ -152,6 +152,7 @@ private: MInputMethodQuickPrivate *const d_ptr; private Q_SLOTS: + void centerMouseOnKeyboard(); //! Propagates change to QML. void onSentActionKeyAttributesChanged(const QString &keyId, const MKeyOverride::KeyOverrideAttributes changedAttributes); };