summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/cocoa/qcocoakeymapper.mm
diff options
context:
space:
mode:
authorDyami Caliri <dyami@dragonframe.com>2014-09-16 11:31:03 -0700
committerDyami Caliri <dyami@dragonframe.com>2014-09-17 22:35:16 +0200
commit82dbea55a746b5ba58316186b201dc6505782d17 (patch)
treec6aafe3704247c0d44d113a1da948e8c062c27ae /src/plugins/platforms/cocoa/qcocoakeymapper.mm
parentd0be032e5c0435c0cb13245a011b9159d8940d19 (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.mm42
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) }
};