From 8d34d53ea5dda846df0ad4b6d511e937b355a3c9 Mon Sep 17 00:00:00 2001 From: Andrea Chiavazza Date: Fri, 28 Mar 2025 12:40:58 +0000 Subject: [PATCH] WIP fix keybindings wrongly causing key repeats on key release --- dwl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dwl.c b/dwl.c index 688b70a..e3e0fd5 100644 --- a/dwl.c +++ b/dwl.c @@ -1597,13 +1597,13 @@ keypress(struct wl_listener *listener, void *data) /* On _press_ if there is no active screen locker, * attempt to process a compositor keybinding. */ + bool run_func = event->state == WL_KEYBOARD_KEY_STATE_PRESSED; if (!locked) { - bool run_func = event->state == WL_KEYBOARD_KEY_STATE_PRESSED; for (i = 0; i < nsyms; i++) handled = keybinding(mods, syms[i], run_func) || handled; } - if (handled && group->wlr_group->keyboard.repeat_info.delay > 0) { + if (handled && run_func && group->wlr_group->keyboard.repeat_info.delay > 0) { group->mods = mods; group->keysyms = syms; group->nsyms = nsyms;