summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2020-09-17 18:08:28 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2020-09-23 12:27:32 +0200
commit39857cd7a2f5d819b100e8839b0f6d5d1b2d9cdd (patch)
tree657394cdb3913d4bcec5d7a72d6f55325cf9d06d /src
parentbb6fffd1ad3168edc9d67492cca585084d8ae6b4 (diff)
Do not pass a native keycode matching the menu key when it is remapped
Chromium will recreate the original mapping based on the native keycode, breaking any remapping. Fixes: QTBUG-86672 Change-Id: I4b7e6f7434049cdf7250bee1ef759a9df4d4987c Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/core/web_event_factory.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/core/web_event_factory.cpp b/src/core/web_event_factory.cpp
index 08f0bf2c6..798ee9633 100644
--- a/src/core/web_event_factory.cpp
+++ b/src/core/web_event_factory.cpp
@@ -216,6 +216,9 @@ static quint32 nativeKeyCodeForKeyEvent(const QKeyEvent *ev)
#elif defined(Q_OS_MACOS)
return keyboardDriver() == KeyboardDriver::Cocoa ? ev->nativeVirtualKey() : 0;
#elif defined(Q_OS_LINUX)
+ // Do not set native code to menu key if it was mapped to something else.
+ if (ev->nativeScanCode() == 135 && ev->key() != Qt::Key_Menu)
+ return 0;
return keyboardDriver() == KeyboardDriver::Xkb ? ev->nativeScanCode() : 0;
#else
return 0; // 0 means unknown, KeyboardEvent.code will be empty string.