diff options
author | Morteza Jamshidi <[email protected]> | 2024-09-30 15:06:31 +0200 |
---|---|---|
committer | Morteza Jamshidi <[email protected]> | 2025-01-06 14:25:15 +0000 |
commit | 4d9f99c4ea70cdae58c80e1bfdbabefe3abb455f (patch) | |
tree | bbfd741499f5fca2558ae50c7293a0a54c4257a2 | |
parent | f2ce68d8f31f4c90471183d66075bd6fd5955d6a (diff) |
Windows: Add Key_Backtab as possible key combination for Shift+Tab
In windows Backtab key event always comes as "Shift+Backtab".
So in order for Backtab key to be recognized as a shortcut sequence,
we also consider Backtab without shift modifier a possibility.
Fixes: QTBUG-94890
Change-Id: I20a7b404b57d8df5bea23765257a178f2e098ed0
Pick-to: 6.8
Reviewed-by: Oliver Wolff <[email protected]>
-rw-r--r-- | src/plugins/platforms/windows/qwindowskeymapper.cpp | 5 | ||||
-rw-r--r-- | tests/manual/shortcuts/main.cpp | 2 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/plugins/platforms/windows/qwindowskeymapper.cpp b/src/plugins/platforms/windows/qwindowskeymapper.cpp index ba76cda40b4..5b8e4e58ffe 100644 --- a/src/plugins/platforms/windows/qwindowskeymapper.cpp +++ b/src/plugins/platforms/windows/qwindowskeymapper.cpp @@ -1354,6 +1354,11 @@ QList<QKeyCombination> QWindowsKeyMapper::possibleKeyCombinations(const QKeyEven return result; } + // If Key_Tab+Shift is pressed we add Key_Backtab without + // shift modifier as a possible combination too + if (baseKey == Qt::Key_Tab && (keyMods & Qt::ShiftModifier)) + result << (Qt::Key_Backtab | (keyMods & ~Qt::ShiftModifier)); + // The base key is _always_ valid, of course result << QKeyCombination::fromCombined(int(baseKey) + int(keyMods)); diff --git a/tests/manual/shortcuts/main.cpp b/tests/manual/shortcuts/main.cpp index 514d62a4841..2f480ad2e43 100644 --- a/tests/manual/shortcuts/main.cpp +++ b/tests/manual/shortcuts/main.cpp @@ -102,6 +102,8 @@ void ShortcutTester::setupLayout() Qt::ControlModifier | Qt::Key_BracketRight, Qt::ShiftModifier | Qt::Key_F3, Qt::ControlModifier | Qt::Key_F3, + Qt::Key_Backtab, + Qt::ShiftModifier | Qt::Key_Backtab, }; for (const auto k : keys3) |