diff --git a/user/ansi_parser_callbacks.c b/user/ansi_parser_callbacks.c index 3d8028e..b135d56 100644 --- a/user/ansi_parser_callbacks.c +++ b/user/ansi_parser_callbacks.c @@ -153,10 +153,23 @@ apars_handle_CSI(char leadchar, int *params, int count, char keychar) switch (keychar) { // CUU CUD CUF CUB - case 'A': screen_cursor_move(-n1, 0, false); break; - case 'B': screen_cursor_move(n1, 0, false); break; - case 'C': screen_cursor_move(0, n1, false); break; - case 'D': screen_cursor_move(0, -n1, false); break; + case 'a': + case 'A': + screen_cursor_move(-n1, 0, false); + break; + + case 'e': + case 'B': + screen_cursor_move(n1, 0, false); + break; + + case 'C': + screen_cursor_move(0, n1, false); + break; + + case 'D': + screen_cursor_move(0, -n1, false); + break; case 'E': // CNL - Cursor Next Line screen_cursor_move(n1, 0, false); @@ -412,6 +425,10 @@ void ICACHE_FLASH_ATTR apars_handle_shortCode(char c) screen_cursor_set_x(0); break; + case 'F': // bottom left + screen_cursor_set(termconf_scratch.height-1, 0); + break; + case 'D': // move cursor down, scroll screen up if needed screen_cursor_move(1, 0, true); break;