]> cloudbase.mooo.com Git - z180-stamp.git/commitdiff
catch weird escape sequence: 'SS3 F' --> KEY_END
authorLeo C <erbl259-lmu@yahoo.de>
Thu, 16 Jun 2016 14:10:23 +0000 (16:10 +0200)
committerLeo C <erbl259-lmu@yahoo.de>
Fri, 17 Jun 2016 18:52:19 +0000 (20:52 +0200)
avr/cli_readline.c

index c2e2326a61560f6d3de2e22290f2b9aa201469bf..81230e02d86e092abddde298e6ec6d2823ac9045 100644 (file)
@@ -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: