On Mon, Jan 18, 2021 at 05:48:51PM -0800, Kevin J. McCarthy wrote:
> On Mon, Jan 18, 2021 at 08:16:09PM -0500, Thomas Dickey wrote:
> > On Mon, Jan 18, 2021 at 04:05:14PM -0800, Kevin J. McCarthy wrote:
> > > This is an ncurses question, but if I'm lucky Thomas Dickey might see it
> > > here. :-)
> > > 
> > > Anyway, I'm wondering if 'keypad (stdscr, TRUE);' is technically required 
> > > to
> > > be called again after an (temporary) endwin()?
> > 
> > keypad sets a property on the window, and it should not be needed,
> > since the window is not altered by endwin
> 
> Thank you Thomas for your time, and for the fast response.
> 
> I was grepping around the ncurses code after I asked the question (without
> understanding much of it, TBH), but I did find something about "keypad_xmit"
> and "keypad_local" inside _nc_keypad(), that sort of looks like it may be
> sending those to the terminal.
> 
> Am I misunderstanding, or does that set a property on the terminal too? If
> it does, could some terminals need the property reset on endwin() +
> refresh()?

offhand, I suspect this chunk in lib_getch.c is solving that problem:

    if (win->_use_keypad != sp->_keypad_on)
        _nc_keypad(sp, win->_use_keypad);

-- 
Thomas E. Dickey <dic...@invisible-island.net>
https://invisible-island.net
ftp://ftp.invisible-island.net

Attachment: signature.asc
Description: PGP signature

Reply via email to