wasm: prevent native mobile keyboard from popping up always

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 <morten.sorvig@qt.io>
Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io>
(cherry picked from commit d784c14d101ebb1c357cf3096d99e7e9be274931)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Lorn Potter 2023-11-28 11:20:15 +10:00 committed by Qt Cherry-pick Bot
parent c2bcf9c2fb
commit a78d5c8559

View File

@ -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<void>("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<void>("focus");
}
void QWasmWindow::lower()