summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/cocoa/qnsview_keys.mm
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2020-07-02 15:23:50 +0200
committerTor Arne Vestbø <tor.arne.vestbo@qt.io>2020-07-02 15:35:18 +0200
commit0a52eba3c0ba1c3ddaa263f83db8b64c3058824c (patch)
tree45f8a211fd4ded1b528df1a526f8ba35ebda4f7f /src/plugins/platforms/cocoa/qnsview_keys.mm
parent0ad35db302a4945edeb057cb77da69b3af63671d (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.mm27
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));
}
}