lineedit: add support for M-b, M-f, M-d, M-Backspace
function old new delta ctrl_left - 96 +96 ctrl_right - 76 +76 static.esccmds 81 93 +12 read_line_input 3876 3885 +9 ------------------------------------------------------------------------------ (add/remove: 2/0 grow/shrink: 2/0 up/down: 193/0) Total: 193 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
@@ -40,13 +40,14 @@ int64_t FAST_FUNC read_key(int fd, char *buffer, int timeout)
|
||||
'[','C' |0x80,KEYCODE_RIGHT ,
|
||||
'[','D' |0x80,KEYCODE_LEFT ,
|
||||
/* ESC [ 1 ; 2 x, where x = A/B/C/D: Shift-<arrow> */
|
||||
/* ESC [ 1 ; 3 x, where x = A/B/C/D: Alt-<arrow> */
|
||||
/* ESC [ 1 ; 3 x, where x = A/B/C/D: Alt-<arrow> - implemented below */
|
||||
/* ESC [ 1 ; 4 x, where x = A/B/C/D: Alt-Shift-<arrow> */
|
||||
/* ESC [ 1 ; 5 x, where x = A/B/C/D: Ctrl-<arrow> - implemented below */
|
||||
/* ESC [ 1 ; 6 x, where x = A/B/C/D: Ctrl-Shift-<arrow> */
|
||||
'[','H' |0x80,KEYCODE_HOME , /* xterm */
|
||||
/* [ESC] ESC [ [2] H - [Alt-][Shift-]Home */
|
||||
'[','F' |0x80,KEYCODE_END , /* xterm */
|
||||
/* [ESC] ESC [ [2] H - [Alt-][Shift-]Home (End similarly?) */
|
||||
/* '[','Z' |0x80,KEYCODE_SHIFT_TAB, */
|
||||
'[','1','~' |0x80,KEYCODE_HOME , /* vt100? linux vt? or what? */
|
||||
'[','2','~' |0x80,KEYCODE_INSERT ,
|
||||
/* ESC [ 2 ; 3 ~ - Alt-Insert */
|
||||
@@ -86,8 +87,12 @@ int64_t FAST_FUNC read_key(int fd, char *buffer, int timeout)
|
||||
/* '[','1',';','5','B' |0x80,KEYCODE_CTRL_DOWN , - unused */
|
||||
'[','1',';','5','C' |0x80,KEYCODE_CTRL_RIGHT,
|
||||
'[','1',';','5','D' |0x80,KEYCODE_CTRL_LEFT ,
|
||||
/* '[','1',';','3','A' |0x80,KEYCODE_ALT_UP , - unused */
|
||||
/* '[','1',';','3','B' |0x80,KEYCODE_ALT_DOWN , - unused */
|
||||
'[','1',';','3','C' |0x80,KEYCODE_ALT_RIGHT,
|
||||
'[','1',';','3','D' |0x80,KEYCODE_ALT_LEFT ,
|
||||
/* '[','3',';','3','~' |0x80,KEYCODE_ALT_DELETE, - unused */
|
||||
0
|
||||
/* ESC [ Z - Shift-Tab */
|
||||
};
|
||||
|
||||
pfd.fd = fd;
|
||||
|
Reference in New Issue
Block a user