ncurses 6.0 - patch 20170826
[ncurses.git] / man / curs_getch.3x
index 642205a8c5f72082a9838c7a437371b265c065e8..b8d6a82b05c242a0e23880bc94fdd4e36aa0a701 100644 (file)
@@ -27,7 +27,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_getch.3x,v 1.45 2016/05/15 01:05:18 tom Exp $
+.\" $Id: curs_getch.3x,v 1.49 2016/10/15 16:44:01 tom Exp $
 .TH curs_getch 3X ""
 .na
 .hy 0
 .TH curs_getch 3X ""
 .na
 .hy 0
@@ -118,6 +118,13 @@ time, the character is passed through;
 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.
 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
 .SS Ungetting characters
 .PP
 The \fBungetch\fR routine places \fIch\fR back onto the input queue to be
@@ -282,7 +289,7 @@ string (see \fBkey_defined\fP(3X)).
 .PP
 .SH RETURN VALUE
 All routines return the integer \fBERR\fR upon failure and an integer value
 .PP
 .SH RETURN VALUE
 All routines return the integer \fBERR\fR upon failure and an integer value
-other than \fBERR\fR (\fBOK\fR in the case of ungetch()) upon successful
+other than \fBERR\fR (\fBOK\fR in the case of \fBungetch\fP) upon successful
 completion.
 .RS 3
 .TP 5
 completion.
 .RS 3
 .TP 5
@@ -293,7 +300,9 @@ if there is no more room in the FIFO.
 \fBwgetch\fP
 returns ERR
 if the window pointer is null, or
 \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
 .RE
 .PP
 Functions with a "mv" prefix first perform a cursor movement using
@@ -378,8 +387,6 @@ Programmers concerned about portability should be prepared for either of two
 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.
 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
 .PP
 The \fBhas_key\fR function is unique to \fBncurses\fR.
 We recommend that
@@ -391,6 +398,7 @@ any code using it be conditionalized on the \fBNCURSES_VERSION\fR feature macro.
 \fBcurs_mouse\fR(3X),
 \fBcurs_move\fR(3X),
 \fBcurs_refresh\fR(3X),
 \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
 \fBresizeterm\fR(3X).
 .PP
 Comparable functions in the wide-character (ncursesw) library are