diff options
author | Dyami Caliri <dyami@dragonframe.com> | 2014-09-16 11:31:03 -0700 |
---|---|---|
committer | Dyami Caliri <dyami@dragonframe.com> | 2014-09-17 22:35:16 +0200 |
commit | 82dbea55a746b5ba58316186b201dc6505782d17 (patch) | |
tree | c6aafe3704247c0d44d113a1da948e8c062c27ae /src/plugins/platforms/cocoa/qcocoakeymapper.mm | |
parent | d0be032e5c0435c0cb13245a011b9159d8940d19 (diff) |
OS X: Add scan code mappings for Escape, Return and function keys.
In OS X, certain keyboard layouts (such as Japanese) do not produce
unicode character conversions for Escape and other keys. In these cases
the code uses a fallback scan code check to map the key. The scan code
mapping had the function keys, but there are several other important
keys it can map.
Task-number: QTBUG-41090
Change-Id: I624793c9bb28ae8c98b54539c277943905cac7e2
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Diffstat (limited to 'src/plugins/platforms/cocoa/qcocoakeymapper.mm')
-rw-r--r-- | src/plugins/platforms/cocoa/qcocoakeymapper.mm | 42 |
1 files changed, 26 insertions, 16 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoakeymapper.mm b/src/plugins/platforms/cocoa/qcocoakeymapper.mm index e46eaff6be..93fbf3cb0f 100644 --- a/src/plugins/platforms/cocoa/qcocoakeymapper.mm +++ b/src/plugins/platforms/cocoa/qcocoakeymapper.mm @@ -213,22 +213,32 @@ static qt_mac_enum_mapper qt_mac_keyboard_symbols[] = { }; static qt_mac_enum_mapper qt_mac_keyvkey_symbols[] = { //real scan codes - { 122, QT_MAC_MAP_ENUM(Qt::Key_F1) }, - { 120, QT_MAC_MAP_ENUM(Qt::Key_F2) }, - { 99, QT_MAC_MAP_ENUM(Qt::Key_F3) }, - { 118, QT_MAC_MAP_ENUM(Qt::Key_F4) }, - { 96, QT_MAC_MAP_ENUM(Qt::Key_F5) }, - { 97, QT_MAC_MAP_ENUM(Qt::Key_F6) }, - { 98, QT_MAC_MAP_ENUM(Qt::Key_F7) }, - { 100, QT_MAC_MAP_ENUM(Qt::Key_F8) }, - { 101, QT_MAC_MAP_ENUM(Qt::Key_F9) }, - { 109, QT_MAC_MAP_ENUM(Qt::Key_F10) }, - { 103, QT_MAC_MAP_ENUM(Qt::Key_F11) }, - { 111, QT_MAC_MAP_ENUM(Qt::Key_F12) }, - { 105, QT_MAC_MAP_ENUM(Qt::Key_F13) }, - { 107, QT_MAC_MAP_ENUM(Qt::Key_F14) }, - { 113, QT_MAC_MAP_ENUM(Qt::Key_F15) }, - { 106, QT_MAC_MAP_ENUM(Qt::Key_F16) }, + { kVK_F1, QT_MAC_MAP_ENUM(Qt::Key_F1) }, + { kVK_F2, QT_MAC_MAP_ENUM(Qt::Key_F2) }, + { kVK_F3, QT_MAC_MAP_ENUM(Qt::Key_F3) }, + { kVK_F4, QT_MAC_MAP_ENUM(Qt::Key_F4) }, + { kVK_F5, QT_MAC_MAP_ENUM(Qt::Key_F5) }, + { kVK_F6, QT_MAC_MAP_ENUM(Qt::Key_F6) }, + { kVK_F7, QT_MAC_MAP_ENUM(Qt::Key_F7) }, + { kVK_F8, QT_MAC_MAP_ENUM(Qt::Key_F8) }, + { kVK_F9, QT_MAC_MAP_ENUM(Qt::Key_F9) }, + { kVK_F10, QT_MAC_MAP_ENUM(Qt::Key_F10) }, + { kVK_F11, QT_MAC_MAP_ENUM(Qt::Key_F11) }, + { kVK_F12, QT_MAC_MAP_ENUM(Qt::Key_F12) }, + { kVK_F13, QT_MAC_MAP_ENUM(Qt::Key_F13) }, + { kVK_F14, QT_MAC_MAP_ENUM(Qt::Key_F14) }, + { kVK_F15, QT_MAC_MAP_ENUM(Qt::Key_F15) }, + { kVK_F16, QT_MAC_MAP_ENUM(Qt::Key_F16) }, + { kVK_Return, QT_MAC_MAP_ENUM(Qt::Key_Return) }, + { kVK_Tab, QT_MAC_MAP_ENUM(Qt::Key_Tab) }, + { kVK_Escape, QT_MAC_MAP_ENUM(Qt::Key_Escape) }, + { kVK_Help, QT_MAC_MAP_ENUM(Qt::Key_Help) }, + { kVK_UpArrow, QT_MAC_MAP_ENUM(Qt::Key_Up) }, + { kVK_DownArrow, QT_MAC_MAP_ENUM(Qt::Key_Down) }, + { kVK_LeftArrow, QT_MAC_MAP_ENUM(Qt::Key_Left) }, + { kVK_RightArrow, QT_MAC_MAP_ENUM(Qt::Key_Right) }, + { kVK_PageUp, QT_MAC_MAP_ENUM(Qt::Key_PageUp) }, + { kVK_PageDown, QT_MAC_MAP_ENUM(Qt::Key_PageDown) }, { 0, QT_MAC_MAP_ENUM(0) } }; |