diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-09-17 18:08:28 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-09-23 12:27:32 +0200 |
commit | 39857cd7a2f5d819b100e8839b0f6d5d1b2d9cdd (patch) | |
tree | 657394cdb3913d4bcec5d7a72d6f55325cf9d06d /src | |
parent | bb6fffd1ad3168edc9d67492cca585084d8ae6b4 (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.cpp | 3 |
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. |