diff options
author | David Boddie <dboddie@trolltech.com> | 2010-06-30 17:06:37 (GMT) |
---|---|---|
committer | David Boddie <dboddie@trolltech.com> | 2010-06-30 17:06:37 (GMT) |
commit | 0713442baa4120050e85c13998797415bb40efce (patch) | |
tree | 2735cae5573363fd5edceae71ae8b7af60518df2 /src/gui/kernel/qkeymapper_mac.cpp | |
parent | 08478207ee9a6563ae63ebcef833925db6426bd8 (diff) | |
parent | 01648005f1f546dc0281155fecd94b4f47a94584 (diff) | |
download | Qt-0713442baa4120050e85c13998797415bb40efce.zip Qt-0713442baa4120050e85c13998797415bb40efce.tar.gz Qt-0713442baa4120050e85c13998797415bb40efce.tar.bz2 |
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into 4.7
Conflicts:
tools/qdoc3/test/qt-html-templates.qdocconf
Diffstat (limited to 'src/gui/kernel/qkeymapper_mac.cpp')
-rw-r--r-- | src/gui/kernel/qkeymapper_mac.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/gui/kernel/qkeymapper_mac.cpp b/src/gui/kernel/qkeymapper_mac.cpp index 873b8f9..3dc6afc 100644 --- a/src/gui/kernel/qkeymapper_mac.cpp +++ b/src/gui/kernel/qkeymapper_mac.cpp @@ -866,14 +866,27 @@ bool QKeyMapperPrivate::translateKeyEvent(QWidget *widget, EventHandlerCallRef e UInt32 macModifiers = 0; GetEventParameter(event, kEventParamKeyModifiers, typeUInt32, 0, sizeof(macModifiers), 0, &macModifiers); +#ifdef QT_MAC_USE_COCOA + // The unicode characters in the range 0xF700-0xF747 are reserved + // by Mac OS X for transient use as keyboard function keys. We + // wont send 'text' for such key events. This is done to match + // behavior on other platforms. + unsigned int *unicodeKey = (unsigned int*)info; + if (*unicodeKey >= 0xf700 && *unicodeKey <= 0xf747) + text = QString(); + bool isAccepted; +#endif handled_event = QKeyMapper::sendKeyEvent(widget, grab, (ekind == kEventRawKeyUp) ? QEvent::KeyRelease : QEvent::KeyPress, qtKey, modifiers, text, ekind == kEventRawKeyRepeat, 0, macScanCode, macVirtualKey, macModifiers #ifdef QT_MAC_USE_COCOA - ,static_cast<bool *>(info) + ,&isAccepted #endif ); +#ifdef QT_MAC_USE_COCOA + *unicodeKey = (unsigned int)isAccepted; +#endif } return handled_event; } |