diff options
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/platforms/cocoa/qnsview_keys.mm | 2 | ||||
-rw-r--r-- | src/plugins/platforms/cocoa/qnsview_mouse.mm | 10 |
2 files changed, 8 insertions, 4 deletions
diff --git a/src/plugins/platforms/cocoa/qnsview_keys.mm b/src/plugins/platforms/cocoa/qnsview_keys.mm index 85c0607265..28db532ddc 100644 --- a/src/plugins/platforms/cocoa/qnsview_keys.mm +++ b/src/plugins/platforms/cocoa/qnsview_keys.mm @@ -47,7 +47,7 @@ Qt::KeyboardModifiers qtMods =Qt::NoModifier; if (modifierFlags & NSEventModifierFlagShift) qtMods |= Qt::ShiftModifier; - if (modifierFlags & NSEventModifierFlagShift) + if (modifierFlags & NSEventModifierFlagControl) qtMods |= dontSwapCtrlAndMeta ? Qt::ControlModifier : Qt::MetaModifier; if (modifierFlags & NSEventModifierFlagOption) qtMods |= Qt::AltModifier; diff --git a/src/plugins/platforms/cocoa/qnsview_mouse.mm b/src/plugins/platforms/cocoa/qnsview_mouse.mm index 468f26ffb4..3d6471005d 100644 --- a/src/plugins/platforms/cocoa/qnsview_mouse.mm +++ b/src/plugins/platforms/cocoa/qnsview_mouse.mm @@ -198,7 +198,9 @@ const auto modifiers = [QNSView convertKeyModifiers:theEvent.modifierFlags]; const auto buttons = currentlyPressedMouseButtons(); - const auto button = cocoaButton2QtButton(theEvent); + auto button = cocoaButton2QtButton(theEvent); + if (button == Qt::LeftButton && m_sendUpAsRightButton) + button = Qt::RightButton; const auto eventType = cocoaEvent2QtMouseEvent(theEvent); QWindowSystemInterface::handleMouseEvent(targetView->m_platformWindow->window(), @@ -266,12 +268,14 @@ if (m_sendUpAsRightButton && button == Qt::LeftButton) button = Qt::RightButton; - if (button == Qt::RightButton) - m_sendUpAsRightButton = false; m_buttons &= ~button; [self handleMouseEvent:theEvent]; + + if (button == Qt::RightButton) + m_sendUpAsRightButton = false; + return true; } |