aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/virtualkeyboard/defaultinputmethod.cpp3
-rw-r--r--tests/auto/inputpanel/data/tst_inputpanel.qml13
2 files changed, 15 insertions, 1 deletions
diff --git a/src/virtualkeyboard/defaultinputmethod.cpp b/src/virtualkeyboard/defaultinputmethod.cpp
index cf511e9a..4d1aa280 100644
--- a/src/virtualkeyboard/defaultinputmethod.cpp
+++ b/src/virtualkeyboard/defaultinputmethod.cpp
@@ -63,7 +63,8 @@ bool DefaultInputMethod::setTextCase(InputEngine::TextCase textCase)
bool DefaultInputMethod::keyEvent(Qt::Key key, const QString &text, Qt::KeyboardModifiers modifiers)
{
- inputContext()->sendKeyClick(key, text, modifiers);
+ const Qt::KeyboardModifiers mods = (key == Qt::Key_Return) ? Qt::NoModifier : modifiers;
+ inputContext()->sendKeyClick(key, text, mods);
return true;
}
diff --git a/tests/auto/inputpanel/data/tst_inputpanel.qml b/tests/auto/inputpanel/data/tst_inputpanel.qml
index 0b9f11ff..05c88d82 100644
--- a/tests/auto/inputpanel/data/tst_inputpanel.qml
+++ b/tests/auto/inputpanel/data/tst_inputpanel.qml
@@ -1858,5 +1858,18 @@ Rectangle {
}
}
+ function test_fullScreenModeReturnKey() {
+ prepareTest()
+
+ textInput.text = ""
+ textInput.inputMethodHints = Qt.ImhUppercaseOnly
+ inputPanel.setFullScreenMode(true)
+ waitForRendering(inputPanel)
+ inputPanel.shadowInputControlVisibleSpy.wait()
+ verify(inputPanel.virtualKeyClick(Qt.Key_A))
+ verify(inputPanel.virtualKeyClick(Qt.Key_Return))
+ compare(inputPanel.shadowInput.text, "")
+ }
+
}
}