From d784c14d101ebb1c357cf3096d99e7e9be274931 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.6 6.5 Change-Id: Iced9abc7b23e079b1060d2474a139aa653a8ca01 Reviewed-by: Morten Johan Sørvig Reviewed-by: Piotr Wierciński --- 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 c9e88da2455..11ce724b019 100644 --- a/src/plugins/platforms/wasm/qwasmwindow.cpp +++ b/src/plugins/platforms/wasm/qwasmwindow.cpp @@ -80,9 +80,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")); @@ -362,6 +362,8 @@ void QWasmWindow::raise() { bringToTop(); invalidate(); + if (QWasmIntegration::get()->inputContext()) + m_canvas.call("focus"); } void QWasmWindow::lower()