diff --git a/src/controls/QskTextEdit.cpp b/src/controls/QskTextEdit.cpp index 87e3949d..fd8cf3d2 100644 --- a/src/controls/QskTextEdit.cpp +++ b/src/controls/QskTextEdit.cpp @@ -294,13 +294,20 @@ void QskTextEdit::keyPressEvent( QKeyEvent* event ) { QGuiApplication::inputMethod()->commit(); - if ( !( inputMethodHints() & Qt::ImhMultiLine ) ) + const auto hints = inputMethodQuery( Qt::ImHints ).toInt(); + + if ( hints & Qt::ImhMultiLine ) + { + m_data->wrappedEdit->handleEvent( event ); + } + else { setEditing( false ); // When returning from a virtual keyboard qskForceActiveFocus( this, Qt::PopupFocusReason ); } + break; } #if 1 diff --git a/src/controls/QskTextInput.cpp b/src/controls/QskTextInput.cpp index eff363ae..05181f5f 100644 --- a/src/controls/QskTextInput.cpp +++ b/src/controls/QskTextInput.cpp @@ -308,7 +308,13 @@ void QskTextInput::keyPressEvent( QKeyEvent* event ) { QGuiApplication::inputMethod()->commit(); - if ( !( inputMethodHints() & Qt::ImhMultiLine ) ) + const auto hints = inputMethodQuery( Qt::ImHints ).toInt(); + + if ( hints & Qt::ImhMultiLine ) + { + m_data->wrappedInput->handleEvent( event ); + } + else { setEditing( false ); @@ -316,6 +322,7 @@ void QskTextInput::keyPressEvent( QKeyEvent* event ) qskForceActiveFocus( this, Qt::PopupFocusReason ); } } + break; } #if 1