diff options
author | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2020-07-09 17:05:55 +0200 |
---|---|---|
committer | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2020-07-10 12:16:54 +0200 |
commit | 7917f9b7f54b5fe574adc6e092a7562b1f0be4fb (patch) | |
tree | 490e42a9c57b3a1c1c35f9d1341a0aaeca7d5c58 /src/plugins/platforms/cocoa/qcocoakeymapper.mm | |
parent | 0ef46b41d86b9fad4fc4a18bd577d208afa1fce8 (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.mm | 13 |
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) |