summaryrefslogtreecommitdiff
path: root/Source/WebCore/page/qt/EventHandlerQt.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/page/qt/EventHandlerQt.cpp')
-rw-r--r--Source/WebCore/page/qt/EventHandlerQt.cpp10
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