From 82dbea55a746b5ba58316186b201dc6505782d17 Mon Sep 17 00:00:00 2001 From: Dyami Caliri Date: Tue, 16 Sep 2014 11:31:03 -0700 Subject: OS X: Add scan code mappings for Escape, Return and function keys. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- src/plugins/platforms/cocoa/qcocoakeymapper.mm | 42 ++++++++++++++++---------- 1 file changed, 26 insertions(+), 16 deletions(-) (limited to 'src/plugins/platforms/cocoa/qcocoakeymapper.mm') 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) } }; -- cgit v1.2.3