From: Leo C Date: Thu, 16 Jun 2016 14:10:23 +0000 (+0200) Subject: catch weird escape sequence: 'SS3 F' --> KEY_END X-Git-Tag: hexrel-6.8.1~10 X-Git-Url: http://cloudbase.mooo.com/gitweb/z180-stamp.git/commitdiff_plain/f6edf92baa4ed307ca517574f38dd0b8752cbc52?ds=sidebyside catch weird escape sequence: 'SS3 F' --> KEY_END --- diff --git a/avr/cli_readline.c b/avr/cli_readline.c index c2e2326..81230e0 100644 --- a/avr/cli_readline.c +++ b/avr/cli_readline.c @@ -105,7 +105,8 @@ FKEY_TBL_ITEM(24~, KEY_F(12)), // Function key F12 typedef enum { STATE_GROUND, STATE_ESCAPE, - STATE_CSI_ENTRY + STATE_CSI_ENTRY, + STATE_SS3 } vtparse_state_t; #define CHB_SIZE 15 @@ -145,6 +146,15 @@ int vt_parse (void) i_param = 0; continue; } + if (ch == 'O') { + state = STATE_SS3; + continue; + } + state = STATE_GROUND; + break; + case STATE_SS3: + if (ch == 'F') /* weird */ + ch = KEY_END; state = STATE_GROUND; break; case STATE_CSI_ENTRY: