summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/cocoa/qcocoakeymapper.mm
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2020-07-09 17:05:55 +0200
committerTor Arne Vestbø <tor.arne.vestbo@qt.io>2020-07-10 12:16:54 +0200
commit7917f9b7f54b5fe574adc6e092a7562b1f0be4fb (patch)
tree490e42a9c57b3a1c1c35f9d1341a0aaeca7d5c58 /src/plugins/platforms/cocoa/qcocoakeymapper.mm
parent0ef46b41d86b9fad4fc4a18bd577d208afa1fce8 (diff)
macOS: Add QCocoaKeyMapper::toCocoaModifiers
Change-Id: I489c64733275260bb041f8df5cc5ff4a571d4e9c Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Diffstat (limited to 'src/plugins/platforms/cocoa/qcocoakeymapper.mm')
-rw-r--r--src/plugins/platforms/cocoa/qcocoakeymapper.mm13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoakeymapper.mm b/src/plugins/platforms/cocoa/qcocoakeymapper.mm
index 21e7573984..7391f9079a 100644
--- a/src/plugins/platforms/cocoa/qcocoakeymapper.mm
+++ b/src/plugins/platforms/cocoa/qcocoakeymapper.mm
@@ -84,6 +84,19 @@ Qt::KeyboardModifiers QCocoaKeyMapper::fromCocoaModifiers(NSEventModifierFlags c
return swapModifiersIfNeeded(qtModifiers);
}
+NSEventModifierFlags QCocoaKeyMapper::toCocoaModifiers(Qt::KeyboardModifiers qtModifiers)
+{
+ qtModifiers = swapModifiersIfNeeded(qtModifiers);
+
+ NSEventModifierFlags cocoaModifiers = 0;
+ for (const auto &[cocoaModifier, qtModifier] : cocoaModifierMap) {
+ if (qtModifiers & qtModifier)
+ cocoaModifiers |= cocoaModifier;
+ }
+
+ return cocoaModifiers;
+}
+
using CarbonModifiers = UInt32; // As opposed to EventModifiers which is UInt16
static CarbonModifiers toCarbonModifiers(Qt::KeyboardModifiers qtModifiers)