X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fcurs_getch.3x.html;h=1df5dd04f0b12e5ca3879ce56fc97a376b80706f;hp=e7df66324213464aa381b02e386ef5d8d9481356;hb=b11cef1e315b58820ea0cde239ebf2f741ef8948;hpb=027ae42953e3186daed8f3882da73de48291b606 diff --git a/doc/html/man/curs_getch.3x.html b/doc/html/man/curs_getch.3x.html index e7df6632..1df5dd04 100644 --- a/doc/html/man/curs_getch.3x.html +++ b/doc/html/man/curs_getch.3x.html @@ -1,8 +1,7 @@ - +
+ +- curs_getch(3x) curs_getch(3x)-
+NAME
getch, wgetch, mvgetch, mvwgetch, ungetch, has_key - get (or push back) characters from curses terminal keyboard-SYNOPSIS
+SYNOPSIS
#include <curses.h> int getch(void); - int wgetch(WINDOW *win); - int mvgetch(int y, int x); - int mvwgetch(WINDOW *win, int y, int x); - int ungetch(int ch); - int has_key(int ch); + int wgetch(WINDOW *win); + int mvgetch(int y, int x); + int mvwgetch(WINDOW *win, int y, int x); + int ungetch(int ch); + int has_key(int ch);-DESCRIPTION
+DESCRIPTION
+ ++Reading characters
The getch, wgetch, mvgetch and mvwgetch, routines read a character from the window. In no-delay mode, if no input is waiting, the value ERR is returned. In delay mode, the @@ -76,24 +79,37 @@ waits until a character is typed or the specified timeout has been reached. - Unless noecho has been set, then the character will also - be echoed into the designated window according to the fol- - lowing rules: If the character is the current erase char- - acter, left arrow, or backspace, the cursor is moved one - space to the left and that screen position is erased as if - delch had been called. If the character value is any oth- - er KEY_ define, the user is alerted with a beep call. - Otherwise the character is simply output to the screen. + If echo is enabled, and the window is not a pad, then the + character will also be echoed into the designated window + according to the following rules: + + o If the character is the current erase character, left + arrow, or backspace, the cursor is moved one space to + the left and that screen position is erased as if + delch had been called. + + o If the character value is any other KEY_ define, the + user is alerted with a beep call. + + o If the character is a carriage-return, and if nl is + enabled, it is translated to a line-feed after echo- + ing. + + o Otherwise the character is simply output to the + screen. If the window is not a pad, and it has been moved or modi- fied since the last call to wrefresh, wrefresh will be called before another character is read. + ++Keypad mode
If keypad is TRUE, and a function key is pressed, the to- ken for that function key is returned instead of the raw characters. Possible function keys are defined in <curs- es.h> as macros with values outside the range of 8-bit - characters whose names begin with KEY_. Thus, a variable + characters whose names begin with KEY_. Thus, a variable intended to hold the return value of a function key must be of short size or larger. @@ -106,19 +122,23 @@ experience a delay between the time a user presses the es- cape key and the escape is returned to the program. + ++Ungetting characters
The ungetch routine places ch back onto the input queue to be returned by the next call to wgetch. There is just one input queue for all windows. - Function Keys - The following function keys, defined in <curses.h>, might - be returned by getch if keypad has been enabled. Note - that not all of these are necessarily supported on any - particular terminal. - ++Predefined key-codes
+ The following special keys, defined in <curses.h>, may be + returned by getch if keypad has been enabled. Not all of + these are necessarily supported on any particular termi- + nal. Name Key name + ------------------------------------------------- KEY_BREAK Break key KEY_DOWN The four arrow keys ... KEY_UP @@ -166,6 +186,7 @@ KEY_FIND Find key KEY_HELP Help key KEY_MARK Mark key + KEY_MESSAGE Message key KEY_MOUSE Mouse event read KEY_MOVE Move key @@ -180,7 +201,6 @@ KEY_RESIZE Screen resized KEY_RESTART Restart key KEY_RESUME Resume key - KEY_SAVE Save key KEY_SBEG Shifted beginning key KEY_SCANCEL Shifted cancel key @@ -216,7 +236,6 @@ Keypad is arranged like this: - +-----+------+-------+ | A1 | up | A3 | +-----+------+-------+ @@ -224,47 +243,87 @@ +-----+------+-------+ | C1 | down | C3 | +-----+------+-------+ - The has_key routine takes a key value from the above list, - and returns TRUE or FALSE according to whether the current - terminal type recognizes a key with that value. Note that - a few values do not correspond to a real key, e.g., - KEY_RESIZE and KEY_MOUSE. See resizeterm(3x) for more de- - tails about KEY_RESIZE, and curs_mouse(3x) for a discus- - sion of KEY_MOUSE. + A few of these predefined values do not correspond to a + real key: + o KEY_RESIZE is returned when the SIGWINCH signal has + been detected (see curs_initscr(3x) and resizeterm(3x)). + This code is returned whether or not keypad has been + enabled. + + o KEY_MOUSE is returned for mouse-events (see + curs_mouse(3x)). This code relies upon whether or not + keypad(3x) has been enabled, because (e.g., with xterm + mouse prototocol) ncurses must read escape sequences, + just like a function key. + + ++Testing key-codes
+ The has_key routine takes a key-code value from the above + list, and returns TRUE or FALSE according to whether the + current terminal type recognizes a key with that value. + + The library also supports these extensions: + + define_key + defines a key-code for a given string (see de- + fine_key(3x)). + + key_defined + checks if there is a key-code defined for a given + string (see key_defined(3x)).-RETURN VALUE
+RETURN VALUE
All routines return the integer ERR upon failure and an integer value other than ERR (OK in the case of ungetch()) upon successful completion. - ungetch - returns an error if there is no more room in - the FIFO. + ungetch + returns ERR if there is no more room in the FIFO. + + wgetch + returns ERR if the window pointer is null, or if + its timeout expires without having any data. - wgetch - returns an error if the window pointer is - null, or if its timeout expires without having - any data. + Functions with a "mv" prefix first perform a cursor move- + ment using wmove, and return an error if the position is + outside the window, or if the window pointer is null.-NOTES
+NOTES
Use of the escape key by a programmer for a single charac- ter function is discouraged, as it will cause a delay of up to one second while the keypad code looks for a follow- ing function-key sequence. - Note that some keys may be the same as commonly used con- - trol keys, e.g., KEY_ENTER versus control/M, KEY_BACKSPACE - versus control/H. Some curses implementations may differ - according to whether they treat these control keys spe- - cially (and ignore the terminfo), or use the terminfo def- - initions. Ncurses uses the terminfo definition. If it - says that KEY_ENTER is control/M, getch will return - KEY_ENTER when you press control/M. + Some keys may be the same as commonly used control keys, + e.g., KEY_ENTER versus control/M, KEY_BACKSPACE versus + control/H. Some curses implementations may differ accord- + ing to whether they treat these control keys specially + (and ignore the terminfo), or use the terminfo defini- + tions. Ncurses uses the terminfo definition. If it says + that KEY_ENTER is control/M, getch will return KEY_ENTER + when you press control/M. + + Generally, KEY_ENTER denotes the character(s) sent by the + Enter key on the numeric keypad: + + o the terminal description lists the most useful keys, + + o the Enter key on the regular keyboard is already han- + dled by the standard ASCII characters for carriage-re- + turn and line-feed, + + o depending on whether nl or nonl was called, pressing + "Enter" on the regular keyboard may return either a + carriage-return or line-feed, and finally + + o "Enter or send" is the standard description for this + key. When using getch, wgetch, mvgetch, or mvwgetch, nocbreak mode (nocbreak) and echo mode (echo) should not be used at @@ -285,7 +344,7 @@-PORTABILITY
+PORTABILITY
The *get* functions are described in the XSI Curses stan- dard, Issue 4. They read single-byte characters only. The standard specifies that they return ERR on failure, @@ -301,10 +360,18 @@ documentation. Under historical curses implementations, it varied depending on whether the operating system's im- plementation of handled signal receipt interrupts a - read(2) call in progress or not, and also (in some imple- + read(2) call in progress or not, and also (in some imple- mentations) depending on whether an input timeout or non- blocking mode has been set. + KEY_MOUSE is mentioned in XSI Curses, along with a few re- + lated terminfo capabilities, but no higher-level functions + use the feature. The implementation in ncurses is an ex- + tension. + + KEY_RESIZE is an extension first implemented for ncurses. + NetBSD curses later added this extension. + Programmers concerned about portability should be prepared for either of two cases: (a) signal receipt does not in- terrupt getch; (b) signal receipt interrupts getch and @@ -318,21 +385,36 @@-SEE ALSO
- curses(3x), curs_inopts(3x), curs_mouse(3x), - curs_move(3x), curs_refresh(3x), resizeterm(3x). +SEE ALSO
+ curses(3x), curs_inopts(3x), curs_outopts(3x), + curs_mouse(3x), curs_move(3x), curs_refresh(3x), re- + sizeterm(3x). - Comparable functions in the wide-character (ncursesw) li- + Comparable functions in the wide-character (ncursesw) li- brary are described in curs_get_wch(3x). curs_getch(3x)-
- -Man(1) output converted with -man2html - +