By default, curses will only report single ESC key event after 1s delay,
since ESC is also used for keypad escape sequences. This however makes
users believe that ESC is not working. Reducing to 25ms provides good user
experience, while still allowing 25ms for keypad sequences to get in, which
should be enough.
Signed-off-by: Samuel Thibault <[email protected]>
Message-Id: <
20190303172557[email protected]>
Signed-off-by: Gerd Hoffmann <[email protected]>
keycode = curses2keycode[chr];
keycode_alt = 0;
- /* alt key */
+ /* alt or esc key */
if (keycode == 1) {
int nextchr = getch();
initscr(); noecho(); intrflush(stdscr, FALSE);
nodelay(stdscr, TRUE); nonl(); keypad(stdscr, TRUE);
start_color(); raw(); scrollok(stdscr, FALSE);
+ set_escdelay(25);
/* Make color pair to match color format (3bits bg:3bits fg) */
for (i = 0; i < 64; i++) {