* layout.c (init_curses) [!HAVE_SLANG]: Set ESCDELAY to 200ms.

If ESCDELAY is 0, ncurses 5.2 may stop recognizing escape
sequences under heavy CPU load.
This commit is contained in:
Pavel Roskin 2002-12-21 02:09:00 +00:00
parent f5dc73aa71
commit bec62b69f1
3 changed files with 14 additions and 6 deletions

View File

@ -1,3 +1,9 @@
2002-12-20 Pavel Roskin <proski@gnu.org>
* layout.c (init_curses) [!HAVE_SLANG]: Set ESCDELAY to 200ms.
If ESCDELAY is 0, ncurses 5.2 may stop recognizing escape
sequences under heavy CPU load.
2002-12-19 Pavel Roskin <proski@gnu.org>
* screen.c (chdir_other_panel): Use do_panel_cd() on the

View File

@ -1,9 +1,6 @@
Before 4.6.0-pre2
=================
ncurses 5.2 turns off keypad under heavy load on xterm. Check if
anything can be done about it.
ftp and fish with home != '/' - readjust directory to the home.
Allow modifiers for keys in mc.lib, like "shift-up".

View File

@ -587,10 +587,15 @@ void init_curses (void)
initscr();
#ifdef HAVE_ESCDELAY
/*
* If ncurses exports the ESCDELAY variable it should be set to 0
* or you'll have to press Esc three times to dismiss a dialog box.
* If ncurses exports the ESCDELAY variable, it should be set to
* a low value, or you'll experience a delay in processing escape
* sequences that are recognized by mc (e.g. Esc-Esc). On the other
* hand, making ESCDELAY too small can result in some sequences
* (e.g. cursor arrows) being reported as separate keys under heavy
* processor load, and this can be a problem if mc hasn't learned
* them in the "Learn Keys" dialog. The value is in milliseconds.
*/
ESCDELAY = 0;
ESCDELAY = 200;
#endif /* HAVE_ESCDELAY */
do_enter_ca_mode ();
mc_raw_mode ();