/** * Copyright (c) 2025 Dominic Masters * * This software is released under the MIT License. * https://opensource.org/licenses/MIT */ #include "duskraylib.h" #include "input.h" typedef struct { int32_t key; uint8_t bind; } inputmap_t; inputmap_t INPUT_MAP[] = { { KEY_UP, INPUT_BIND_UP }, { KEY_W, INPUT_BIND_UP }, { KEY_DOWN, INPUT_BIND_DOWN }, { KEY_S, INPUT_BIND_DOWN }, { KEY_LEFT, INPUT_BIND_LEFT }, { KEY_A, INPUT_BIND_LEFT }, { KEY_RIGHT, INPUT_BIND_RIGHT }, { KEY_D, INPUT_BIND_RIGHT }, { KEY_SPACE, INPUT_BIND_ACTION }, { KEY_E, INPUT_BIND_ACTION }, { KEY_ENTER, INPUT_BIND_ACTION }, { KEY_ESCAPE, INPUT_BIND_CANCEL }, { KEY_Q, INPUT_BIND_CANCEL }, { KEY_BACKSPACE, INPUT_BIND_CANCEL }, { 0, 0 } }; uint8_t inputStateGet() { uint8_t state = 0; inputmap_t *map = INPUT_MAP; do { if(IsKeyDown(map->key)) state |= map->bind; map++; } while(map->key != 0); return state; }