getch(3X) getch(3X)
NAME
getch, wgetch, mvgetch, mvwgetch - get a single-byte character from
the terminal
SYNOPSIS
cc [flag ...] file ... -lcurses [library ...]
#include <curses.h>
int getch(void);
int mvgetch(int y, int x);
int mvwgetch(WINDOW *win, int y, int x);
int wgetch(WINDOW *win);
DESCRIPTION
These functions read a single-byte character from the terminal associ-
ated with the current or specified window. The results are unspecified
if the input is not a single-byte character. If keypad() is enabled,
these functions respond to the pressing of a function key by returning
the corresponding KEY value defined in <curses.h>.
Processing of terminal input is subject to the general rules described
in "X/Open Curses, Issue 4, Version 2, Section 3.5".
If echoing is enabled, then the character is echoed as though it were
provided as an input argument to addch(), except for the following
characters:
<backspace>, <left-arrow> and the current erase character:
The input is interpreted as specified in "X/Open Curses, Issue 4,
Version 2, Section 3.4.3" and then the character at the resulting
cursor position is deleted as though delch() were called, except
that if the cursor was originally in the first column of the
line, then the user is alerted as though beep() were called.
Function keys:
The user is alerted as though beep() were called. Information
concerning the function keys is not returned to the caller.
If the current or specified window is not a pad, and it has been moved
or modified since the last refresh operation, then it will be
refreshed before another character is read.
RETURN VALUE
Upon successful completion getch(), mvgetch(), mvwgetch() and wgetch()
return the single-byte character, KEY value; otherwise ERR is
returned. When in the nodelay mode and no data is available, ERR is
returned.
Page 1 Reliant UNIX 5.44 Printed 11/98
getch(3X) getch(3X)
ERRORS
No errors are defined.
NOTES
Applications should not define the escape key by itself as a single-
character function.
When using these functions, nocbreak mode [nocbreak()] and echo mode
[echo()] should not be used at the same time. Depending on the state
of the terminal when each character is typed, the program may produce
undesirable results.
SEE ALSO
cbreak(3X), curses(3X), doupdate(3X), insch(3X), curses(5).
Page 2 Reliant UNIX 5.44 Printed 11/98