- The <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, and <STRONG>mvwget_wch</STRONG> functions
- read a character from the terminal associated with the
- current or specified window. In no-delay mode, if no in-
- put is waiting, the value <STRONG>ERR</STRONG> is returned. In delay mode,
- the program waits until the system passes text through to
- the program. Depending on the setting of <STRONG>cbreak</STRONG>, this is
- after one character (cbreak mode), or after the first new-
- line (nocbreak mode). In half-delay mode, the program
- waits until the user types a character or the specified
- timeout interval has elapsed.
-
- Unless <STRONG>noecho</STRONG> has been set, these routines echo the char-
- acter into the designated window.
-
- If the window is not a pad and has been moved or modified
- since the last call to <STRONG>wrefresh</STRONG>, <STRONG>wrefresh</STRONG> will be called
- before another character is read.
-
- If <STRONG>keypad</STRONG> is enabled, these functions respond to the
- pressing of a function key by setting the object pointed
- to by <EM>wch</EM> to the keycode assigned to the function key, and
- returning <STRONG>KEY_CODE_YES</STRONG>. If a character (such as escape)
- that could be the beginning of a function key is received,
- curses sets a timer. If the remainder of the sequence
- does arrive within the designated time, curses passes
- through the character; otherwise, curses returns the func-
- tion key value. For this reason, many terminals experi-
- ence a delay between the time a user presses the escape
- key and the time the escape is returned to the program.
-
- The keycodes returned by these functions are the same as
- those returned by <STRONG>wgetch</STRONG>:
-
- <STRONG>o</STRONG> The predefined function keys are listed in <STRONG><curses.h></STRONG>
- as macros with values outside the range of 8-bit char-
- acters. Their names begin with <STRONG>KEY_</STRONG>.
-
- <STRONG>o</STRONG> Other (user-defined) function keys which may be de-
- fined using <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> have no names, but also are
- expected to have values outside the range of 8-bit
- characters.
-
- The <STRONG>unget_wch</STRONG> function pushes the wide character <EM>wch</EM> back
- onto the head of the input queue, so the wide character is
- returned by the next call to <STRONG>get_wch</STRONG>. The pushback of one
- character is guaranteed. If the program calls <STRONG>unget_wch</STRONG>
- too many times without an intervening call to <STRONG>get_wch</STRONG>, the
- operation may fail.