summaryrefslogtreecommitdiff
path: root/qutebrowser/keyinput
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2021-02-24 09:57:06 +0100
committerFlorian Bruhin <me@the-compiler.org>2021-02-24 09:57:06 +0100
commitd0d71149236ef596f19ba5896090f4c2ad9b9525 (patch)
treee1330ab27ee94430643c448824292d1c5bf976f9 /qutebrowser/keyinput
parentee9f3fc7cbfd976b3d9ca467322ebfdf7ed7e6a7 (diff)
downloadqutebrowser-d0d71149236ef596f19ba5896090f4c2ad9b9525.tar.gz
qutebrowser-d0d71149236ef596f19ba5896090f4c2ad9b9525.zip
Revert "old qt: Use ApplicationAttribute to switch Ctrl/Meta on Mac"
This reverts commit 1132324db9d665ba0f0143fb1d071995a3fc7715. Causes various issues with Qt/QtWebEngine shortcuts. Fixes #6174 Closes #6149
Diffstat (limited to 'qutebrowser/keyinput')
-rw-r--r--qutebrowser/keyinput/keyutils.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/qutebrowser/keyinput/keyutils.py b/qutebrowser/keyinput/keyutils.py
index c25ed6f17..5872514bd 100644
--- a/qutebrowser/keyinput/keyutils.py
+++ b/qutebrowser/keyinput/keyutils.py
@@ -612,6 +612,18 @@ class KeySequence:
not ev.text().isupper()):
modifiers = Qt.KeyboardModifiers() # type: ignore[assignment]
+ # On macOS, swap Ctrl and Meta back
+ # WORKAROUND for https://bugreports.qt.io/browse/QTBUG-51293
+ if utils.is_mac:
+ if modifiers & Qt.ControlModifier and modifiers & Qt.MetaModifier:
+ pass
+ elif modifiers & Qt.ControlModifier:
+ modifiers &= ~Qt.ControlModifier
+ modifiers |= Qt.MetaModifier
+ elif modifiers & Qt.MetaModifier:
+ modifiers &= ~Qt.MetaModifier
+ modifiers |= Qt.ControlModifier
+
keys = list(self._iter_keys())
keys.append(key | int(modifiers))