Reduce curses escdelay from 1s to 25ms
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 <samuel.thibault@ens-lyon.org> Message-Id: <20190303172557.17139-1-samuel.thibault@ens-lyon.org> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
e2a18635a4
commit
633786fea7
@ -231,7 +231,7 @@ static void curses_refresh(DisplayChangeListener *dcl)
|
|||||||
keycode = curses2keycode[chr];
|
keycode = curses2keycode[chr];
|
||||||
keycode_alt = 0;
|
keycode_alt = 0;
|
||||||
|
|
||||||
/* alt key */
|
/* alt or esc key */
|
||||||
if (keycode == 1) {
|
if (keycode == 1) {
|
||||||
int nextchr = getch();
|
int nextchr = getch();
|
||||||
|
|
||||||
@ -361,6 +361,7 @@ static void curses_setup(void)
|
|||||||
initscr(); noecho(); intrflush(stdscr, FALSE);
|
initscr(); noecho(); intrflush(stdscr, FALSE);
|
||||||
nodelay(stdscr, TRUE); nonl(); keypad(stdscr, TRUE);
|
nodelay(stdscr, TRUE); nonl(); keypad(stdscr, TRUE);
|
||||||
start_color(); raw(); scrollok(stdscr, FALSE);
|
start_color(); raw(); scrollok(stdscr, FALSE);
|
||||||
|
set_escdelay(25);
|
||||||
|
|
||||||
/* Make color pair to match color format (3bits bg:3bits fg) */
|
/* Make color pair to match color format (3bits bg:3bits fg) */
|
||||||
for (i = 0; i < 64; i++) {
|
for (i = 0; i < 64; i++) {
|
||||||
|
Loading…
Reference in New Issue
Block a user