From d4428e4e21c79064dea669dfc6c93f1a1cb9c536 Mon Sep 17 00:00:00 2001 From: kub Date: Wed, 15 Jan 2025 20:14:59 +0100 Subject: [PATCH] keyboard unbinding --- input.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/input.c b/input.c index b7c4959..cd50431 100644 --- a/input.c +++ b/input.c @@ -823,7 +823,7 @@ int in_bind_kbd_key(int dev_id, int keycode, int kbd_key) if (keycode < 0 || keycode >= count) return -1; - dev->kbd_binds[keycode] = kbd_key; + dev->kbd_binds[keycode] = (kbd_key == -1 ? 0 : kbd_key); return 0; } @@ -856,9 +856,11 @@ void in_unbind_all(int dev_id_, int act_mask, int bind_type) if (act_mask != -1) { for (i = 0; i < count; i++) dev->binds[IN_BIND_OFFS(i, bind_type)] &= ~act_mask; - } - else + } else { memset(dev->binds, 0, sizeof(dev->binds[0]) * count * IN_BINDTYPE_COUNT); + if (dev->kbd_binds) + memset(dev->kbd_binds, 0, sizeof(dev->kbd_binds[0]) * count); + } } } -- 2.39.5