input: recognize the sequences for Ctrl+Shift+Delete on xterm and urxvt

This fixes https://savannah.gnu.org/bugs/?54648.
This commit is contained in:
Benno Schulenberg 2018-09-12 15:00:06 +02:00
parent 09ab2e3d0e
commit 3c5e5d4b6f

View File

@ -1101,12 +1101,18 @@ int convert_sequence(const int *seq, size_t length, int *consumed)
if (seq[3] == '5')
/* Esc [ 3 ; 5 ~ == Ctrl-Delete on xterm. */
return CONTROL_DELETE;
if (seq[3] == '6')
/* Esc [ 3 ; 6 ~ == Ctrl-Shift-Delete on xterm. */
return controlshiftdelete;
}
if (length > 2 && seq[2] == '^') {
/* Esc [ 3 ^ == Ctrl-Delete on urxvt. */
*consumed = 3;
return CONTROL_DELETE;
}
if (length > 2 && seq[2] == '@')
/* Esc [ 3 @ == Ctrl-Shift-Delete on urxvt. */
return controlshiftdelete;
break;
case '4': /* Esc [ 4 ~ == End on VT220/VT320/
* Linux console/xterm. */