summaryrefslogtreecommitdiff
path: root/ui/input.c
diff options
context:
space:
mode:
authorDanny Holman <dholman@gymli.org>2024-10-14 21:20:55 -0500
committerDanny Holman <dholman@gymli.org>2024-10-14 21:20:55 -0500
commit74df10cc9f7ce264ac017b4efac918818f460c25 (patch)
treeaf5cdf00d4dd77021d1ace8311ba5577d1621cf4 /ui/input.c
parent9ccb7a37e25ddce2f8b88f2cb425ae90a65fac25 (diff)
ui: input: use scancodes instead of keycodesHEADmaster
Use scancodes instead of keycodes for indexing into the callback array. This makes the engine keyboard-agnostic. Signed-off-by: Danny Holman <dholman@gymli.org>
Diffstat (limited to 'ui/input.c')
-rw-r--r--ui/input.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/ui/input.c b/ui/input.c
index 728e540..e434d46 100644
--- a/ui/input.c
+++ b/ui/input.c
@@ -8,6 +8,7 @@ static int keyboard_mode;
static void (*key_hooks[256])(void);
void _key_callback(GLFWwindow *window, int key, int scancode, int action, int mods) {
+ scancode -= 8;
if (action == GLFW_PRESS && key_hooks[scancode] != NULL)
(*key_hooks[scancode])();
}
@@ -31,8 +32,8 @@ int get_keyboard_mode(void) {
return keyboard_mode;
}
-void register_key_hook(int key, void (*func)(void)) {
- key_hooks[key] = func;
+void register_key_hook(uint8_t scancode, void (*func)(void)) {
+ key_hooks[scancode] = func;
}
void rune_input_tick(void) {