All of lore.kernel.org
 help / color / mirror / Atom feed
From: Warner Losh <imp@bsdimp.com>
To: Samuel Thibault <samuel.thibault@ens-lyon.org>
Cc: QEMU Developers <qemu-devel@nongnu.org>,
	Gerd Hoffmann <kraxel@redhat.com>
Subject: Re: [Qemu-devel] [PATCH] Reduce curses escdelay from 1s to 0.2s
Date: Sun, 3 Mar 2019 10:11:52 -0700	[thread overview]
Message-ID: <CANCZdfpiyw32LGt5A5=V59nv3xFiVT8o1xPf6aDt3oEgPeJUmw@mail.gmail.com> (raw)
In-Reply-To: <20190303061406.7631-1-samuel.thibault@ens-lyon.org>

On Sun, Mar 3, 2019, 12:45 AM Samuel Thibault <samuel.thibault@ens-lyon.org>
wrote:

> 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 0.2s provides good enough user
> experience, while still allowing 200ms for keypad sequences to get in,
> which
> should be more than enough.
>

How did you come up with this number? Still seems a bit long for the ESC
ESC case where the user hits ESC twice in quick succession. Even back in
the day, terminals would send the characters back to back at 1200 baud,
which is 8ms per character. 32ms is 4x that, 32x 9600 baud rates. 25 or
50ms is suggested from these figures.

Warner

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
> ---
>  ui/curses.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/ui/curses.c b/ui/curses.c
> index 6e0091c3b2..700315bc09 100644
> --- a/ui/curses.c
> +++ b/ui/curses.c
> @@ -231,7 +231,7 @@ static void curses_refresh(DisplayChangeListener *dcl)
>          keycode = curses2keycode[chr];
>          keycode_alt = 0;
>
> -        /* alt key */
> +        /* alt or esc key */
>          if (keycode == 1) {
>              int nextchr = getch();
>
> @@ -361,6 +361,7 @@ static void curses_setup(void)
>      initscr(); noecho(); intrflush(stdscr, FALSE);
>      nodelay(stdscr, TRUE); nonl(); keypad(stdscr, TRUE);
>      start_color(); raw(); scrollok(stdscr, FALSE);
> +    set_escdelay(200);
>
>      /* Make color pair to match color format (3bits bg:3bits fg) */
>      for (i = 0; i < 64; i++) {
> --
> 2.20.1
>
>
>

  reply	other threads:[~2019-03-03 17:12 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-03  6:14 [Qemu-devel] [PATCH] Reduce curses escdelay from 1s to 0.2s Samuel Thibault
2019-03-03 17:11 ` Warner Losh [this message]
2019-03-03 17:26   ` Samuel Thibault
  -- strict thread matches above, loose matches on Subject: below --
2016-10-30 11:38 Samuel Thibault
2016-06-22 15:44 Samuel Thibault
2016-06-22 20:49 ` Peter Maydell
2016-06-22 21:06   ` Samuel Thibault
2016-06-22 21:11     ` Peter Maydell
2016-10-15 17:24   ` Samuel Thibault
2016-10-26 12:51     ` Gerd Hoffmann
2016-10-26 15:20       ` Samuel Thibault

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CANCZdfpiyw32LGt5A5=V59nv3xFiVT8o1xPf6aDt3oEgPeJUmw@mail.gmail.com' \
    --to=imp@bsdimp.com \
    --cc=kraxel@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=samuel.thibault@ens-lyon.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.