diff --git a/src/events/SDL_keymap.c b/src/events/SDL_keymap.c index 53bd6edd5b..6f9a532d8e 100644 --- a/src/events/SDL_keymap.c +++ b/src/events/SDL_keymap.c @@ -1010,19 +1010,16 @@ const char *SDL_GetKeyName(SDL_Keycode key) // SDL_Keycode is defined as the unshifted key on the keyboard, // but the key name is defined as the letter printed on that key, // which is usually the shifted capital letter. - if (key > 0x7F || (key >= 'a' && key <= 'z')) { - SDL_bool translated = SDL_FALSE; + if (key >= 'a' && key <= 'z') { + key = 'A' + (key - 'a'); + } else if (key > 0x7F) { SDL_Scancode scancode = SDL_GetScancodeFromKey(key, SDL_KMOD_NONE); if (scancode != SDL_SCANCODE_UNKNOWN) { SDL_Keycode capital = SDL_GetKeyFromScancode(scancode, SDL_KMOD_SHIFT); if (capital > 0x7F || (capital >= 'A' && capital <= 'Z')) { key = capital; - translated = SDL_TRUE; } } - if (!translated && key >= 'a' && key <= 'z') { - key = 'A' + (key - 'a'); - } } end = SDL_UCS4ToUTF8(key, name);