From 65f8fc5e396f342f0691c7024f10af5d472dedc2 Mon Sep 17 00:00:00 2001
From: kub <derkub@gmail.com>
Date: Tue, 10 Sep 2024 22:28:51 +0200
Subject: [PATCH] fix repeated redraw events

---
 input.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/input.c b/input.c
index 4f91a55..4bf2e32 100644
--- a/input.c
+++ b/input.c
@@ -357,8 +357,13 @@ int in_update_keycode(int *dev_id_out, int *is_down_out, char *charcode, int tim
 
 	if (in_have_async_devs) {
 		result = in_update_kc_async(&dev_id, &is_down, timeout_ms);
-		if (result == -1)
+		if (result == -1) {
+#ifdef SDL_REDRAW_EVT
+			// no key up event for RDRAW, clear to avoid key repeat
+			menu_key_state &= ~PBTN_RDRAW;
+#endif
 			return -1;
+		}
 		drv = &DRV(in_devices[dev_id].drv_id);
 		goto finish;
 	}
-- 
2.39.5