From e02af544a89566e766c178439119538eddc89e66 Mon Sep 17 00:00:00 2001 From: Even Oscar Andersen Date: Mon, 19 May 2025 06:14:12 +0200 Subject: [PATCH] wasm: ignore keypresses if alt and numeric keyboard MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When left-alt + num lock activated + number pressed the number was inserted in the text. However in this input mode a 4 digit keycode is used to insert a special character, it is wrong to insert the individual digits in addition Fixes: QTBUG-136799 Pick-to: 6.8 Change-Id: Iebafd1dfe5df1701a87a824ed99a440b122f0c57 Reviewed-by: Morten Johan Sørvig (cherry picked from commit 5c82db79d98d456a9299314fab2e7576db227fd0) Reviewed-by: Qt Cherry-pick Bot --- src/plugins/platforms/wasm/qwasmevent.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/plugins/platforms/wasm/qwasmevent.cpp b/src/plugins/platforms/wasm/qwasmevent.cpp index 3326989e164..5cb370ebac5 100644 --- a/src/plugins/platforms/wasm/qwasmevent.cpp +++ b/src/plugins/platforms/wasm/qwasmevent.cpp @@ -111,6 +111,14 @@ KeyEvent::KeyEvent(EventType type, emscripten::val event) : Event(type, event) key = webKeyToQtKey(code, webKey, deadKey, modifiers); text = QString::fromUtf8(webKey); + + // Alt + keypad number -> insert utf-8 character + // The individual numbers shall not be inserted but + // on some platforms they are if numlock is + // activated + if ((modifiers & Qt::AltModifier) && (modifiers & Qt::KeypadModifier)) + text.clear(); + if (text.size() > 1) text.clear();