From 1d829361f73039a35f54656574bc0bfce3989b00 Mon Sep 17 00:00:00 2001 From: Martin Plicht Date: Fri, 24 May 2013 19:24:31 +0200 Subject: [PATCH] mac: Minimal fix after scancode merge --- src/gui/C4KeyboardInput.cpp | 9 ++++++++- src/platform/C4WindowMac.mm | 8 ++++---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/gui/C4KeyboardInput.cpp b/src/gui/C4KeyboardInput.cpp index 52b675b36..dc5c82b60 100644 --- a/src/gui/C4KeyboardInput.cpp +++ b/src/gui/C4KeyboardInput.cpp @@ -417,7 +417,7 @@ StdStrBuf C4KeyCodeEx::KeyCode2String(C4KeyCode wCode, bool fHumanReadable, bool // for config files and such: dump scancode return FormatString("$%x", static_cast(wCode)); } -#if defined(_WIN32) || defined(USE_COCOA) +#if defined(_WIN32) // TODO: Works? // StdStrBuf Name; Name.SetLength(1000); @@ -435,6 +435,13 @@ StdStrBuf C4KeyCodeEx::KeyCode2String(C4KeyCode wCode, bool fHumanReadable, bool // buf is nullterminated name return StdStrBuf(buf); } +#elif defined (USE_COCOA) + // query map + const C4KeyCodeMapEntry *pCheck = KeyCodeMap; + while (pCheck->szName) + if (wCode == pCheck->wCode) return StdStrBuf((pCheck->szShortName && fShort) ? pCheck->szShortName : pCheck->szName); else ++pCheck; + // not found: Compose as direct code + return FormatString("\\x%x", static_cast(wCode)); #elif defined(USE_X11) Display * const dpy = gdk_x11_display_get_xdisplay(gdk_display_get_default()); KeySym keysym = (KeySym)XkbKeycodeToKeysym(dpy,wCode+8,0,0); diff --git a/src/platform/C4WindowMac.mm b/src/platform/C4WindowMac.mm index f2321270e..da8893650 100644 --- a/src/platform/C4WindowMac.mm +++ b/src/platform/C4WindowMac.mm @@ -134,10 +134,10 @@ bool C4Window::ReInit(C4AbstractApp* pApp) return true; } -C4KeyCode K_SHIFT_L; // FIXME -C4KeyCode K_SHIFT_R; -C4KeyCode K_ALT_L; -C4KeyCode K_ALT_R; +C4KeyCode K_SHIFT_L = 56 + CocoaKeycodeOffset; +C4KeyCode K_SHIFT_R = 60 + CocoaKeycodeOffset; +C4KeyCode K_ALT_L = 58 + CocoaKeycodeOffset; +C4KeyCode K_ALT_R = 61 + CocoaKeycodeOffset; C4KeyCode K_F1 = 122 + CocoaKeycodeOffset; C4KeyCode K_F2 = 120 + CocoaKeycodeOffset; C4KeyCode K_F3 = 99 + CocoaKeycodeOffset;