получить (или вернуть) символы с клавиатуры терминала curses (get (or push back) characters from curses terminal keyboard)
Портативность (Portability)
The *get* functions are described in the XSI Curses standard,
Issue 4. They read single-byte characters only. The standard
specifies that they return ERR on failure, but specifies no error
conditions.
The echo behavior of these functions on input of KEY_ or
backspace characters was not specified in the SVr4 documentation.
This description is adopted from the XSI Curses standard.
The behavior of getch and friends in the presence of handled
signals is unspecified in the SVr4 and XSI Curses documentation.
Under historical curses implementations, it varied depending on
whether the operating system's implementation of handled signal
receipt interrupts a read(2) call in progress or not, and also
(in some implementations) depending on whether an input timeout
or non-blocking mode has been set.
KEY_MOUSE is mentioned in XSI Curses, along with a few related
terminfo capabilities, but no higher-level functions use the
feature. The implementation in ncurses is an extension.
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 interrupt getch;
(b) signal receipt interrupts getch and causes it to return ERR
with errno set to EINTR.
The has_key function is unique to ncurses. We recommend that any
code using it be conditionalized on the NCURSES_VERSION feature
macro.