From 248eb2b590cfc5dee387ad2c20278acbe639442c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Deuc=D0=B5?= <shurd@sasktel.net> Date: Wed, 17 Mar 2021 16:38:18 -0400 Subject: [PATCH] Special-case TAB so "backtab" works properly. --- src/conio/sdl_con.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/conio/sdl_con.c b/src/conio/sdl_con.c index af79d5ebd4..e585781acb 100644 --- a/src/conio/sdl_con.c +++ b/src/conio/sdl_con.c @@ -670,7 +670,7 @@ static unsigned int sdl_get_char_code(unsigned int keysym, unsigned int mod) if(mod & KMOD_CTRL) expect=sdl_keyval[i].ctrl; else if(mod & KMOD_SHIFT) { - if(mod & KMOD_CAPS) + if((mod & KMOD_CAPS) && keysym != '\t') expect=sdl_keyval[i].key; else expect=sdl_keyval[i].shift; @@ -878,6 +878,8 @@ void sdl_video_event_thread(void *data) break; } } + if ((ev.key.keysym.mod & KMOD_SHIFT) && (ev.key.keysym.sym == '\t')) + block_text = 1; 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) @@ -890,7 +892,6 @@ void sdl_video_event_thread(void *data) 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