From a78d5c8559381df5c02be045e0ddc67e2629a283 Mon Sep 17 00:00:00 2001 From: Lorn Potter Date: Tue, 28 Nov 2023 11:20:15 +1000 Subject: [PATCH] wasm: prevent native mobile keyboard from popping up always MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit also fix misspelled 'inputMode' which seems to work. we need to re focus to the canvas when window is raised which will automagically close the native keyboard when user clicks on non edit area. Fixes: QTBUG-101404 Pick-to: 6.5 Change-Id: Iced9abc7b23e079b1060d2474a139aa653a8ca01 Reviewed-by: Morten Johan Sørvig Reviewed-by: Piotr Wierciński (cherry picked from commit d784c14d101ebb1c357cf3096d99e7e9be274931) Reviewed-by: Qt Cherry-pick Bot --- src/plugins/platforms/wasm/qwasmwindow.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/plugins/platforms/wasm/qwasmwindow.cpp b/src/plugins/platforms/wasm/qwasmwindow.cpp index e3655db9824..de592bd6484 100644 --- a/src/plugins/platforms/wasm/qwasmwindow.cpp +++ b/src/plugins/platforms/wasm/qwasmwindow.cpp @@ -68,9 +68,9 @@ QWasmWindow::QWasmWindow(QWindow *w, QWasmDeadKeySupport *deadKeySupport, QWasmClipboard::installEventHandlers(m_canvas); - // set inputmode to none to stop mobile keyboard opening + // set inputMode to none to stop mobile keyboard opening // when user clicks anywhere on the canvas. - m_canvas.set("inputmode", std::string("none")); + m_canvas.set("inputMode", std::string("none")); // Hide the canvas from screen readers. m_canvas.call("setAttribute", std::string("aria-hidden"), std::string("true")); @@ -346,6 +346,8 @@ void QWasmWindow::raise() { m_compositor->raise(this); invalidate(); + if (QWasmIntegration::get()->inputContext()) + m_canvas.call("focus"); } void QWasmWindow::lower()