From a649e422ab32df9b13d98912ca254b98ad8a6ea2 Mon Sep 17 00:00:00 2001 From: Snesrev Date: Mon, 6 Mar 2023 05:53:46 +0100 Subject: [PATCH] Fix so Shift keys work on osx --- src/config.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/config.c b/src/config.c index 24df47c..2d9f3d5 100644 --- a/src/config.c +++ b/src/config.c @@ -111,9 +111,13 @@ static int KeyMapHash_Find(uint16 key) { int FindCmdForSdlKey(SDL_Keycode code, SDL_Keymod mod) { if (code & ~(SDLK_SCANCODE_MASK | 0x1ff)) return 0; - int key = mod & KMOD_ALT ? kKeyMod_Alt : 0; - key |= mod & KMOD_CTRL ? kKeyMod_Ctrl : 0; - key |= mod & KMOD_SHIFT ? kKeyMod_Shift : 0; + int key = 0; + if (code != SDLK_LALT && code != SDLK_RALT) + 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); return KeyMapHash_Find(key); }