X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=man%2Fcurs_getch.3x;h=53716beeff916deed4482bd309abb049a05e56c9;hp=642205a8c5f72082a9838c7a437371b265c065e8;hb=17c5992a16be94247b83f2bbb9accdd9b7e7bb72;hpb=5dbe81a41e3c75806996cd762b9e55dcc9edb835 diff --git a/man/curs_getch.3x b/man/curs_getch.3x index 642205a8..53716bee 100644 --- a/man/curs_getch.3x +++ b/man/curs_getch.3x @@ -1,6 +1,6 @@ '\" t .\"*************************************************************************** -.\" Copyright (c) 1998-2015,2016 Free Software Foundation, Inc. * +.\" Copyright (c) 1998-2017,2018 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,12 +27,13 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: curs_getch.3x,v 1.45 2016/05/15 01:05:18 tom Exp $ +.\" $Id: curs_getch.3x,v 1.53 2018/07/28 22:15:59 tom Exp $ .TH curs_getch 3X "" .na .hy 0 .de bP -.IP \(bu 4 +.ie n .IP \(bu 4 +.el .IP \(bu 2 .. .SH NAME \fBgetch\fR, @@ -102,7 +103,8 @@ 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) +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 @@ -118,6 +120,14 @@ 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 @@ -282,18 +292,20 @@ 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 \fBungetch\fP -returns ERR +returns \fBERR\fP if there is no more room in the FIFO. .TP \fBwgetch\fP -returns ERR +returns \fBERR\fP 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 @@ -305,7 +317,9 @@ discouraged, as it will cause a delay of up to one second while the keypad code looks for a following function-key sequence. .PP Some keys may be the same as commonly used control -keys, e.g., \fBKEY_ENTER\fP versus control/M, \fBKEY_BACKSPACE\fP versus control/H. +keys, e.g., +\fBKEY_ENTER\fP versus control/M, +\fBKEY_BACKSPACE\fP versus control/H. Some curses implementations may differ according to whether they treat these control keys specially (and ignore the terminfo), or use the terminfo definitions. @@ -371,15 +385,13 @@ input timeout or non-blocking mode has been set. terminfo capabilities, but no higher-level functions use the feature. The implementation in ncurses is an extension. .PP -\fBKEY_RESIZE\fP is an extension first implemented for ncurses. +\fBKEY_RESIZE\fP is an extension first implemented for ncurses. NetBSD curses later added this extension. .PP 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 +interrupts \fBgetch\fR and causes it to return \fBERR\fP 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 @@ -391,6 +403,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