From 842f0c7ceab2994c066812c3d3fb70e96995466d Mon Sep 17 00:00:00 2001 From: kub Date: Tue, 21 Jan 2025 22:22:08 +0100 Subject: [PATCH] optimize keyboard readout --- in_sdl.c | 6 +++--- input.c | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/in_sdl.c b/in_sdl.c index 524cda0..9bde4fd 100644 --- a/in_sdl.c +++ b/in_sdl.c @@ -450,7 +450,7 @@ static int in_sdl_update_kbd(void *drv_data, const int *binds, int *result) { struct in_sdl_state *state = drv_data; keybits_t mask; - int i, sym, bit, b; + int i, sym, bit, b = 0; collect_events(state, NULL, NULL); @@ -462,11 +462,11 @@ static int in_sdl_update_kbd(void *drv_data, const int *binds, int *result) if ((mask & 1) == 0) continue; sym = i * KEYBITS_WORD_BITS + bit; - result[sym] = binds[sym]; + result[b++] = binds[sym]; } } - return 0; + return b; } diff --git a/input.c b/input.c index cd50431..205efb1 100644 --- a/input.c +++ b/input.c @@ -339,7 +339,7 @@ int in_update_kbd(int *result) for (i = 0; i < in_dev_count; i++) { in_dev_t *dev = &in_devices[i]; if (dev->probed && dev->binds != NULL) - ret |= DRV(dev->drv_id).update_kbd(dev->drv_data, dev->kbd_binds, result); + ret += DRV(dev->drv_id).update_kbd(dev->drv_data, dev->kbd_binds, result+ret); } return ret; -- 2.39.5