diff options
Diffstat (limited to 'Source/WebCore/page/qt/EventHandlerQt.cpp')
-rw-r--r-- | Source/WebCore/page/qt/EventHandlerQt.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/Source/WebCore/page/qt/EventHandlerQt.cpp b/Source/WebCore/page/qt/EventHandlerQt.cpp index 240ea75eb..b717b1f54 100644 --- a/Source/WebCore/page/qt/EventHandlerQt.cpp +++ b/Source/WebCore/page/qt/EventHandlerQt.cpp @@ -49,6 +49,7 @@ #include "PlatformWheelEvent.h" #include "RenderWidget.h" #include "Scrollbar.h" +#include <QCoreApplication> namespace WebCore { @@ -123,7 +124,14 @@ bool EventHandler::passMouseReleaseEventToSubframe(MouseEventWithHitTestResults& unsigned EventHandler::accessKeyModifiers() { #if OS(DARWIN) - return PlatformEvent::CtrlKey | PlatformEvent::AltKey; + // On macOS, the ControlModifier value corresponds + // to the Command keys on the keyboard, + // and the MetaModifier value corresponds to the Control keys. + // See http://doc.qt.io/qt-5/qt.html#KeyboardModifier-enum + if (UNLIKELY(QCoreApplication::testAttribute(Qt::AA_MacDontSwapCtrlAndMeta))) + return PlatformEvent::CtrlKey | PlatformEvent::AltKey; + else + return PlatformEvent::MetaKey | PlatformEvent::AltKey; #else return PlatformEvent::AltKey; #endif |