diff --git a/stmhal/readline.c b/stmhal/readline.c index ec13a269aca26abde51e048f801c66e3ca93f471..7df347f03cf3722e38d79a313ceacc1e06894af2 100644 --- a/stmhal/readline.c +++ b/stmhal/readline.c @@ -58,8 +58,8 @@ int readline(vstr_t *line, const char *prompt) { } else if (c == 27) { // escape sequence escape_seq = 1; - } else if (c == 127) { - // backspace + } else if (c == 8 || c == 127) { + // backspace/delete if (cursor_pos > orig_line_len) { vstr_cut_out_bytes(line, cursor_pos - 1, 1); // set redraw parameters @@ -125,6 +125,7 @@ int readline(vstr_t *line, const char *prompt) { } // redraw command prompt, efficiently + // TODO we can probably use some more sophisticated VT100 commands here if (redraw_step_back > 0) { for (int i = 0; i < redraw_step_back; i++) { stdout_tx_str("\b");