--- lbbs/src/screen.c 2025/06/11 11:55:50 1.93 +++ lbbs/src/screen.c 2025/06/11 14:54:15 1.94 @@ -315,16 +315,17 @@ int display_data(const void *p_data, lon iflush(); input_ok = 0; - ch = igetch_t(MAX_DELAY_TIME); while (!SYS_server_exit && !input_ok) { + ch = igetch_t(MAX_DELAY_TIME); + input_ok = 1; + // extended key handler if (key_handler(&ch, &ctx) != 0) { goto cleanup; } - input_ok = 1; switch (ch) { case KEY_NULL: @@ -461,10 +462,6 @@ int display_data(const void *p_data, lon } BBS_last_access_tm = time(0); - if (!input_ok) - { - ch = igetch_t(MAX_DELAY_TIME); - } } continue;