diff options
author | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2020-07-02 15:23:50 +0200 |
---|---|---|
committer | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2020-07-02 15:35:18 +0200 |
commit | 0a52eba3c0ba1c3ddaa263f83db8b64c3058824c (patch) | |
tree | 45f8a211fd4ded1b528df1a526f8ba35ebda4f7f /src/plugins/platforms/cocoa/qnsview_keys.mm | |
parent | 0ad35db302a4945edeb057cb77da69b3af63671d (diff) |
macOS: Move Cocoa modifier mapping logic to QCocoaKeyMapper
Along with similar logic for Carbon.
Change-Id: Ie32f8ffa336006387d50d3b9e8491816aba4ea04
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Diffstat (limited to 'src/plugins/platforms/cocoa/qnsview_keys.mm')
-rw-r--r-- | src/plugins/platforms/cocoa/qnsview_keys.mm | 27 |
1 files changed, 3 insertions, 24 deletions
diff --git a/src/plugins/platforms/cocoa/qnsview_keys.mm b/src/plugins/platforms/cocoa/qnsview_keys.mm index 847adca207..73b2b89176 100644 --- a/src/plugins/platforms/cocoa/qnsview_keys.mm +++ b/src/plugins/platforms/cocoa/qnsview_keys.mm @@ -39,27 +39,6 @@ // This file is included from qnsview.mm, and only used to organize the code -@implementation QNSView (KeysAPI) - -+ (Qt::KeyboardModifiers)convertKeyModifiers:(ulong)modifierFlags -{ - const bool dontSwapCtrlAndMeta = qApp->testAttribute(Qt::AA_MacDontSwapCtrlAndMeta); - Qt::KeyboardModifiers qtMods =Qt::NoModifier; - if (modifierFlags & NSEventModifierFlagShift) - qtMods |= Qt::ShiftModifier; - if (modifierFlags & NSEventModifierFlagControl) - qtMods |= dontSwapCtrlAndMeta ? Qt::ControlModifier : Qt::MetaModifier; - if (modifierFlags & NSEventModifierFlagOption) - qtMods |= Qt::AltModifier; - if (modifierFlags & NSEventModifierFlagCommand) - qtMods |= dontSwapCtrlAndMeta ? Qt::MetaModifier : Qt::ControlModifier; - if (modifierFlags & NSEventModifierFlagNumericPad) - qtMods |= Qt::KeypadModifier; - return qtMods; -} - -@end - @implementation QNSView (Keys) - (int)convertKeyCode:(QChar)keyChar @@ -71,7 +50,7 @@ { ulong timestamp = [nsevent timestamp] * 1000; ulong nativeModifiers = [nsevent modifierFlags]; - Qt::KeyboardModifiers modifiers = [QNSView convertKeyModifiers: nativeModifiers]; + Qt::KeyboardModifiers modifiers = QCocoaKeyMapper::fromCocoaModifiers(nativeModifiers); NSString *charactersIgnoringModifiers = [nsevent charactersIgnoringModifiers]; NSString *characters = [nsevent characters]; if (m_inputSource != characters) { @@ -219,7 +198,7 @@ { ulong timestamp = [nsevent timestamp] * 1000; ulong modifiers = [nsevent modifierFlags]; - Qt::KeyboardModifiers qmodifiers = [QNSView convertKeyModifiers:modifiers]; + Qt::KeyboardModifiers qmodifiers = QCocoaKeyMapper::fromCocoaModifiers(modifiers); // calculate the delta and remember the current modifiers for next time static ulong m_lastKnownModifiers; @@ -255,7 +234,7 @@ timestamp, (lastKnownModifiers & mac_mask) ? QEvent::KeyRelease : QEvent::KeyPress, qtCode, - qmodifiers ^ [QNSView convertKeyModifiers:mac_mask]); + qmodifiers ^ QCocoaKeyMapper::fromCocoaModifiers(mac_mask)); } } |