.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_getch.3x,v 1.45 2016/05/15 01:05:18 tom Exp $
+.\" $Id: curs_getch.3x,v 1.48 2016/09/10 21:56:25 Leon.Winter Exp $
.TH curs_getch 3X ""
.na
.hy 0
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
\fBwgetch\fP
returns ERR
if the window pointer is null, or
-if its timeout expires without having any data.
+if its timeout expires without having any data, or
+if the execution was interrupted by a signal (\fBerrno\fR will be set to
+\fBEINTR\fR).
.RE
.PP
Functions with a "mv" prefix first perform a cursor movement using
cases: (a) signal receipt does not interrupt \fBgetch\fR; (b) signal receipt
interrupts \fBgetch\fR and causes it to return ERR with \fBerrno\fR set to
\fBEINTR\fR.
-Under the \fBncurses\fR implementation, handled signals never
-interrupt \fBgetch\fR.
.PP
The \fBhas_key\fR function is unique to \fBncurses\fR.
We recommend that
\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