diff options
author | kdx <kikoodx@paranoici.org> | 2023-03-18 16:26:00 +0100 |
---|---|---|
committer | kdx <kikoodx@paranoici.org> | 2023-03-18 16:26:00 +0100 |
commit | c357b72d6a6c3ecf68d1545cfd8004a1ecde25e1 (patch) | |
tree | 99e91944545aa4a34e66be8341420b63adba03f7 | |
parent | 1ae914f3baf48d199985bb34c55e6b7159dfdb76 (diff) | |
download | hyperultra-c357b72d6a6c3ecf68d1545cfd8004a1ecde25e1.tar.gz |
lefty and righty keybindings
-rw-r--r-- | src/lzy.h | 17 |
1 files changed, 12 insertions, 5 deletions
@@ -468,9 +468,13 @@ const char *LZY_GetError(void) { #include <stdlib.h> #include <string.h> -static const SDL_Scancode sc[LZYK_COUNT] = { - SDL_SCANCODE_LEFT, SDL_SCANCODE_RIGHT, SDL_SCANCODE_UP, - SDL_SCANCODE_DOWN, SDL_SCANCODE_Z, SDL_SCANCODE_X, +static const SDL_Scancode sc[LZYK_COUNT * 2] = { + SDL_SCANCODE_LEFT, SDL_SCANCODE_A, + SDL_SCANCODE_RIGHT, SDL_SCANCODE_D, + SDL_SCANCODE_UP, SDL_SCANCODE_W, + SDL_SCANCODE_DOWN, SDL_SCANCODE_S, + SDL_SCANCODE_Z, SDL_SCANCODE_J, + SDL_SCANCODE_X, SDL_SCANCODE_K, }; static const SDL_Scancode fullscreen_sc = SDL_SCANCODE_F11; static const char *error = NULL; @@ -949,7 +953,9 @@ int LZY_PollEvent(LZY_Event *e) { if (!sdl_e.key.repeat) { int i = LZYK_COUNT; while (i-- > 0) { - if (sc[i] == + if (sc[i*2] == + sdl_e.key.keysym.scancode || + sc[i*2 + 1] == sdl_e.key.keysym.scancode) { e->type = LZY_KEYDOWN; e->u.key.scancode = i; @@ -971,7 +977,8 @@ int LZY_PollEvent(LZY_Event *e) { case SDL_KEYUP: { int i = LZYK_COUNT; while (i-- > 0) { - if (sc[i] == sdl_e.key.keysym.scancode) { + if (sc[i*2] == sdl_e.key.keysym.scancode || + sc[i*2 + 1] == sdl_e.key.keysym.scancode) { e->type = LZY_KEYUP; e->u.key.scancode = i; input[i] = 0; |