From f1c1249eca3e691c9e66fecdabbe036687458906 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Deuc=D0=B5?= <shurd@sasktel.net>
Date: Sun, 14 Mar 2021 06:06:09 -0400
Subject: [PATCH] Fix SF #44 problem keypad non-numbers

Make an exception for all keypad stuff.
---
 src/conio/sdl_con.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/conio/sdl_con.c b/src/conio/sdl_con.c
index 16be1e3227..f9028479ab 100644
--- a/src/conio/sdl_con.c
+++ b/src/conio/sdl_con.c
@@ -876,11 +876,17 @@ void sdl_video_event_thread(void *data)
 					}
 					if (block_text || ev.key.keysym.sym < 0 || ev.key.keysym.sym > 127) {
 						// NUMLOCK makes 
-						if ((ev.key.keysym.mod & KMOD_NUM) && ((ev.key.keysym.sym >= SDLK_KP_1 && ev.key.keysym.sym <= SDLK_KP_0) || ev.key.keysym.sym == SDLK_KP_PERIOD))
+						if ((ev.key.keysym.mod & KMOD_NUM) && ((ev.key.keysym.sym >= SDLK_KP_1 && ev.key.keysym.sym <= SDLK_KP_0)
+						    || ev.key.keysym.sym == SDLK_KP_DIVIDE
+						    || ev.key.keysym.sym == SDLK_KP_MULTIPLY
+						    || ev.key.keysym.sym == SDLK_KP_MINUS
+						    || ev.key.keysym.sym == SDLK_KP_PLUS
+						    || ev.key.keysym.sym == SDLK_KP_PERIOD))
 							break;
 						sdl_add_key(sdl_get_char_code(ev.key.keysym.sym, ev.key.keysym.mod));
 					}
 					else if (!isprint(ev.key.keysym.sym)) {
+
 						if (ev.key.keysym.sym < 128)
 							sdl_add_key(ev.key.keysym.sym);
 					}
-- 
GitLab