The Single UNIX ® Specification, Version 2
Copyright © 1997 The Open Group


get_wch, mvget_wch, mvwget_wch, wget_wch - get a wide character from a terminal


#include <curses.h>

int get_wch(wint_t *ch);

int mvget_wch(int y, int x, wint_t *ch);

int mvwget_wch(WINDOW *win, int y, int x, wint_t *ch);

int wget_wch(WINDOW *win, wint_t *ch);


These functions read a character from the terminal associated with the current or specified window. If keypad() is enabled, these functions respond to the pressing of a function key by setting the object pointed to by ch to the corresponding KEY_ value defined in <curses.h> and returning KEY_CODE_YES.

Processing of terminal input is subject to the general rules described in Input Processing .

If echoing is enabled, then the character is echoed as though it were provided as an input argument to add_wch(), except for the following characters:

<backspace>, <left-arrow> and the current erase character: The input is interpreted as specified in and then the character at the resulting cursor position is deleted as though were called, except that if the cursor was originally in the first column of the line, then the user is alerted as though were called.
Function keys The user is alerted as though 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.


When these functions successfully report the pressing of a function key, they return KEY_CODE_YES. When they successfully report a wide character, they return OK. Otherwise, they return ERR.


No errors are defined.


Applications should not define the escape key by itself as a single-character function.

When using these functions, nocbreak() mode and echo() mode should not be used at the same time. Depending on the state of the terminal when each character is typed, the application may produce undesirable results.


Input Processing , beep(), cbreak(), ins_wch(), keypad(), move(), <curses.h>, <wchar.h> (in the XSH specification).

UNIX ® is a registered Trademark of The Open Group.
Copyright © 1997 The Open Group
[ Main Index | XSH | XCU | XBD | XCURSES | XNS ]