diff --git a/src/conio/sdl_con.c b/src/conio/sdl_con.c index 16be1e3227f2dbfa9e835be237a1c287bf183bb0..f9028479abb962f273673e15a29a82114e5a9a1b 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); }