diff --git a/src/plugins/platforms/cocoa/qcocoaintegration.h b/src/plugins/platforms/cocoa/qcocoaintegration.h index b1b73e5f08..24adc7a95b 100644 --- a/src/plugins/platforms/cocoa/qcocoaintegration.h +++ b/src/plugins/platforms/cocoa/qcocoaintegration.h @@ -129,6 +129,7 @@ public: QCocoaServices *services() const; QVariant styleHint(StyleHint hint) const; + Qt::KeyboardModifiers queryKeyboardModifiers() const; QList possibleKeys(const QKeyEvent *event) const; void updateScreens(); diff --git a/src/plugins/platforms/cocoa/qcocoaintegration.mm b/src/plugins/platforms/cocoa/qcocoaintegration.mm index 1892a5b6bf..d612c7ff28 100644 --- a/src/plugins/platforms/cocoa/qcocoaintegration.mm +++ b/src/plugins/platforms/cocoa/qcocoaintegration.mm @@ -464,6 +464,11 @@ QVariant QCocoaIntegration::styleHint(StyleHint hint) const return QPlatformIntegration::styleHint(hint); } +Qt::KeyboardModifiers QCocoaIntegration::queryKeyboardModifiers() const +{ + return QCocoaKeyMapper::queryKeyboardModifiers(); +} + QList QCocoaIntegration::possibleKeys(const QKeyEvent *event) const { return mKeyboardMapper->possibleKeys(event); diff --git a/src/plugins/platforms/cocoa/qcocoakeymapper.h b/src/plugins/platforms/cocoa/qcocoakeymapper.h index 0629de9317..4f419b3651 100644 --- a/src/plugins/platforms/cocoa/qcocoakeymapper.h +++ b/src/plugins/platforms/cocoa/qcocoakeymapper.h @@ -83,6 +83,7 @@ class QCocoaKeyMapper public: QCocoaKeyMapper(); ~QCocoaKeyMapper(); + static Qt::KeyboardModifiers queryKeyboardModifiers(); QList possibleKeys(const QKeyEvent *event) const; bool updateKeyboard(); void deleteLayouts(); diff --git a/src/plugins/platforms/cocoa/qcocoakeymapper.mm b/src/plugins/platforms/cocoa/qcocoakeymapper.mm index 0745cc2254..e46eaff6be 100644 --- a/src/plugins/platforms/cocoa/qcocoakeymapper.mm +++ b/src/plugins/platforms/cocoa/qcocoakeymapper.mm @@ -346,6 +346,11 @@ QCocoaKeyMapper::~QCocoaKeyMapper() deleteLayouts(); } +Qt::KeyboardModifiers QCocoaKeyMapper::queryKeyboardModifiers() +{ + return qt_mac_get_modifiers(GetCurrentEventKeyModifiers()); +} + bool QCocoaKeyMapper::updateKeyboard() { const UCKeyboardLayout *uchrData = 0;