From 7917f9b7f54b5fe574adc6e092a7562b1f0be4fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Thu, 9 Jul 2020 17:05:55 +0200 Subject: macOS: Add QCocoaKeyMapper::toCocoaModifiers Change-Id: I489c64733275260bb041f8df5cc5ff4a571d4e9c Reviewed-by: Timur Pocheptsov --- src/plugins/platforms/cocoa/qcocoakeymapper.mm | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/plugins/platforms/cocoa/qcocoakeymapper.mm') 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) -- cgit v1.2.3