'\" t
.\"***************************************************************************
-.\" Copyright (c) 1998-2014,2015 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2015,2016 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_getch.3x,v 1.44 2015/12/20 01:43:03 tom Exp $
+.\" $Id: curs_getch.3x,v 1.47 2016/06/11 22:56:33 tom Exp $
.TH curs_getch 3X ""
.na
.hy 0
.SS Keypad mode
.PP
If \fBkeypad\fR is \fBTRUE\fR, and a function key is pressed, the token for
-that function key is returned instead of the raw characters.
-Possible function
-keys are defined in \fB<curses.h>\fR as macros with values outside the range
-of 8-bit characters whose names begin with \fBKEY_\fR.
+that function key is returned instead of the raw characters:
+.bP
+The predefined function
+keys are listed in \fB<curses.h>\fR as macros with values outside the range
+of 8-bit characters.
+Their names begin with \fBKEY_\fR.
+.bP
+Other (user-defined) function keys which may be defined using \fBdefine_key\fP(3X)
+have no names, but also are expected to have values outside the range of
+8-bit characters.
+.PP
Thus, a variable
intended to hold the return value of a function key must be of short size or
larger.
otherwise, the function key value is returned.
For this reason, many terminals experience a delay between the time
a user presses the escape key and the escape is returned to the program.
+.PP
+In \fBncurses\fP, the timer normally expires after the value in \fBESCDELAY\fP (see \fBcurs_variables\fP(3X)).
+If \fBnotimeout\fP is \fBTRUE\fP, the timer does not expire;
+it is an infinite (or very large) value.
+Because function keys usually begin with an escape character,
+the terminal may appear to hang in notimeout mode after pressing the escape key
+until another key is pressed.
.SS Ungetting characters
.PP
The \fBungetch\fR routine places \fIch\fR back onto the input queue to be
\fBcurs_mouse\fR(3X),
\fBcurs_move\fR(3X),
\fBcurs_refresh\fR(3X),
+\fBcurs_variables\fR(3X),
\fBresizeterm\fR(3X).
.PP
Comparable functions in the wide-character (ncursesw) library are