diff --git a/glfw/cocoa_init.m b/glfw/cocoa_init.m index a35f182d3..4ca95d6aa 100644 --- a/glfw/cocoa_init.m +++ b/glfw/cocoa_init.m @@ -179,10 +179,10 @@ static void createMenuBar(void) // static void createKeyTables(void) { - int scancode; + int keycode; memset(_glfw.ns.keycodes, -1, sizeof(_glfw.ns.keycodes)); - memset(_glfw.ns.scancodes, -1, sizeof(_glfw.ns.scancodes)); + memset(_glfw.ns.key_to_keycode, -1, sizeof(_glfw.ns.key_to_keycode)); _glfw.ns.keycodes[0x1D] = GLFW_KEY_0; _glfw.ns.keycodes[0x12] = GLFW_KEY_1; @@ -299,11 +299,11 @@ static void createKeyTables(void) _glfw.ns.keycodes[0x43] = GLFW_KEY_KP_MULTIPLY; _glfw.ns.keycodes[0x4E] = GLFW_KEY_KP_SUBTRACT; - for (scancode = 0; scancode < 256; scancode++) + for (keycode = 0; keycode < 256; keycode++) { // Store the reverse translation for faster key name lookup - if (_glfw.ns.keycodes[scancode] >= 0) - _glfw.ns.scancodes[_glfw.ns.keycodes[scancode]] = scancode; + if (_glfw.ns.keycodes[keycode] >= 0) + _glfw.ns.key_to_keycode[_glfw.ns.keycodes[keycode]] = keycode; } } diff --git a/glfw/cocoa_platform.h b/glfw/cocoa_platform.h index 8941aab77..0b399d02e 100644 --- a/glfw/cocoa_platform.h +++ b/glfw/cocoa_platform.h @@ -166,7 +166,7 @@ typedef struct _GLFWlibraryNS char keyName[64]; char text[256]; short int keycodes[256]; - short int scancodes[GLFW_KEY_LAST + 1]; + short int key_to_keycode[GLFW_KEY_LAST + 1]; char* clipboardString; CGPoint cascadePoint; // Where to place the cursor when re-enabled diff --git a/glfw/cocoa_window.m b/glfw/cocoa_window.m index fb0503020..1576d92e8 100644 --- a/glfw/cocoa_window.m +++ b/glfw/cocoa_window.m @@ -327,8 +327,8 @@ format_text(const char *src) { } static const char* -safe_name_for_scancode(unsigned int scancode) { - const char *ans = _glfwPlatformGetNativeKeyName(scancode); +safe_name_for_keycode(unsigned int keycode) { + const char *ans = _glfwPlatformGetNativeKeyName(keycode); if (!ans) return ""; if ((1 <= ans[0] && ans[0] <= 31) || ans[0] == 127) ans = ""; return ans; @@ -965,16 +965,16 @@ is_ascii_control_char(char x) { - (void)keyDown:(NSEvent *)event { - const unsigned int scancode = [event keyCode]; + const unsigned int keycode = [event keyCode]; const NSUInteger flags = [event modifierFlags]; const int mods = translateFlags(flags); - const int key = translateKey(scancode, true); - const bool process_text = !window->ns.textInputFilterCallback || window->ns.textInputFilterCallback(key, mods, scancode, flags) != 1; + const int key = translateKey(keycode, true); + const bool process_text = !window->ns.textInputFilterCallback || window->ns.textInputFilterCallback(key, mods, keycode, flags) != 1; const bool previous_has_marked_text = [self hasMarkedText]; [self unmarkText]; _glfw.ns.text[0] = 0; GLFWkeyevent glfw_keyevent; - _glfwInitializeKeyEvent(&glfw_keyevent, key, scancode, GLFW_PRESS, mods); + _glfwInitializeKeyEvent(&glfw_keyevent, key, keycode, GLFW_PRESS, mods); if (!_glfw.ns.unicodeData) { // Using the cocoa API for key handling is disabled, as there is no // reliable way to handle dead keys using it. Only use it if the @@ -989,7 +989,7 @@ is_ascii_control_char(char x) { const bool in_compose_sequence = window->ns.deadKeyState != 0; if (UCKeyTranslate( [(NSData*) _glfw.ns.unicodeData bytes], - scancode, + keycode, kUCKeyActionDown, convert_cocoa_to_carbon_modifiers(flags), LMGetKbdType(), @@ -999,20 +999,20 @@ is_ascii_control_char(char x) { &char_count, text ) != noErr) { - debug_key(@"UCKeyTranslate failed for scancode: 0x%x (%@) %@\n", - scancode, @(safe_name_for_scancode(scancode)), @(format_mods(mods))); + debug_key(@"UCKeyTranslate failed for keycode: 0x%x (%@) %@\n", + keycode, @(safe_name_for_keycode(keycode)), @(format_mods(mods))); window->ns.deadKeyState = 0; return; } - debug_key(@"scancode: 0x%x (%@) %@char_count: %lu deadKeyState: %u repeat: %d", - scancode, @(safe_name_for_scancode(scancode)), @(format_mods(mods)), char_count, window->ns.deadKeyState, event.ARepeat); + debug_key(@"keycode: 0x%x (%@) %@char_count: %lu deadKeyState: %u repeat: %d", + keycode, @(safe_name_for_keycode(keycode)), @(format_mods(mods)), char_count, window->ns.deadKeyState, event.ARepeat); if (process_text) { // this will call insertText which will fill up _glfw.ns.text [self interpretKeyEvents:[NSArray arrayWithObject:event]]; } else { window->ns.deadKeyState = 0; } - if (window->ns.deadKeyState && (char_count == 0 || scancode == 0x75)) { + if (window->ns.deadKeyState && (char_count == 0 || keycode == 0x75)) { // 0x75 is the delete key which needs to be ignored during a compose sequence debug_key(@"Sending pre-edit text for dead key (text: %@ markedText: %@).\n", @(format_text(_glfw.ns.text)), markedText); glfw_keyevent.text = [[markedText string] UTF8String]; @@ -1896,14 +1896,14 @@ void _glfwPlatformSetCursorMode(_GLFWwindow* window, int mode UNUSED) updateCursorMode(window); } -const char* _glfwPlatformGetNativeKeyName(int scancode) +const char* _glfwPlatformGetNativeKeyName(int keycode) { UInt32 deadKeyState = 0; UniChar characters[8]; UniCharCount characterCount = 0; if (UCKeyTranslate([(NSData*) _glfw.ns.unicodeData bytes], - scancode, + keycode, kUCKeyActionDisplay, 0, LMGetKbdType(), @@ -1925,7 +1925,7 @@ const char* _glfwPlatformGetNativeKeyName(int scancode) int _glfwPlatformGetNativeKeyForKey(int key) { - return _glfw.ns.scancodes[key]; + return _glfw.ns.key_to_keycode[key]; } int _glfwPlatformCreateCursor(_GLFWcursor* cursor,