diff options
-rw-r--r-- | src/virtualkeyboard/defaultinputmethod.cpp | 3 | ||||
-rw-r--r-- | tests/auto/inputpanel/data/tst_inputpanel.qml | 13 |
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, "") + } + } } |