summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkdx <kikoodx@paranoici.org>2023-03-18 16:26:00 +0100
committerkdx <kikoodx@paranoici.org>2023-03-18 16:26:00 +0100
commitc357b72d6a6c3ecf68d1545cfd8004a1ecde25e1 (patch)
tree99e91944545aa4a34e66be8341420b63adba03f7
parent1ae914f3baf48d199985bb34c55e6b7159dfdb76 (diff)
downloadhyperultra-c357b72d6a6c3ecf68d1545cfd8004a1ecde25e1.tar.gz
lefty and righty keybindings
-rw-r--r--src/lzy.h17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/lzy.h b/src/lzy.h
index 67c654a..3fbfc24 100644
--- a/src/lzy.h
+++ b/src/lzy.h
@@ -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;