X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=man%2Fcurs_getch.3x;h=b8d6a82b05c242a0e23880bc94fdd4e36aa0a701;hp=e81923f0570cd5cba601b33284166a3e940ed7d8;hb=c3b21f65a2687f3894a0d3217006c23f162c893a;hpb=b9a2bd87a73d976d1c916815e2d370bf1090d1b2 diff --git a/man/curs_getch.3x b/man/curs_getch.3x index e81923f0..b8d6a82b 100644 --- a/man/curs_getch.3x +++ b/man/curs_getch.3x @@ -1,6 +1,6 @@ '\" 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 * @@ -27,7 +27,7 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: curs_getch.3x,v 1.43 2015/09/19 22:25:05 tom Exp $ +.\" $Id: curs_getch.3x,v 1.49 2016/10/15 16:44:01 tom Exp $ .TH curs_getch 3X "" .na .hy 0 @@ -95,10 +95,17 @@ is read. .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\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\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. @@ -111,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. +.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 @@ -118,9 +132,17 @@ returned by the next call to \fBwgetch\fR. There is just one input queue for all windows. .PP .SS Predefined key-codes -The following special keys, defined in \fB\fR, may be returned by -\fBgetch\fR if \fBkeypad\fR has been enabled. +The following special keys are defined in \fB\fR. +.bP +Except for the special case \fBKEY_RESIZE\fP, +it is necessary to enable \fBkeypad\fR for \fBgetch\fP to return these codes. +.bP Not all of these are necessarily supported on any particular terminal. +.bP +The naming convention may seem obscure, with some apparent +misspellings (such as "RSUME" for "resume"). +The names correspond to the long terminfo capability names for the keys, +and were defined long ago, in the 1980s. .PP .TS center tab(/) ; @@ -267,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 -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 @@ -278,7 +300,9 @@ if there is no more room in the FIFO. \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 @@ -363,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. -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 @@ -376,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_variables\fR(3X), \fBresizeterm\fR(3X). .PP Comparable functions in the wide-character (ncursesw) library are