Fix so Shift keys work on osx

This commit is contained in:
Snesrev
2023-03-06 05:53:46 +01:00
parent 47d0725e38
commit a649e422ab

View File

@@ -111,9 +111,13 @@ static int KeyMapHash_Find(uint16 key) {
int FindCmdForSdlKey(SDL_Keycode code, SDL_Keymod mod) { int FindCmdForSdlKey(SDL_Keycode code, SDL_Keymod mod) {
if (code & ~(SDLK_SCANCODE_MASK | 0x1ff)) if (code & ~(SDLK_SCANCODE_MASK | 0x1ff))
return 0; return 0;
int key = mod & KMOD_ALT ? kKeyMod_Alt : 0; int key = 0;
key |= mod & KMOD_CTRL ? kKeyMod_Ctrl : 0; if (code != SDLK_LALT && code != SDLK_RALT)
key |= mod & KMOD_SHIFT ? kKeyMod_Shift : 0; key |= mod & KMOD_ALT ? kKeyMod_Alt : 0;
if (code != SDLK_LCTRL && code != SDLK_RCTRL)
key |= mod & KMOD_CTRL ? kKeyMod_Ctrl : 0;
if (code != SDLK_LSHIFT && code != SDLK_RSHIFT)
key |= mod & KMOD_SHIFT ? kKeyMod_Shift : 0;
key |= REMAP_SDL_KEYCODE(code); key |= REMAP_SDL_KEYCODE(code);
return KeyMapHash_Find(key); return KeyMapHash_Find(key);
} }