получить (или вернуть) символы с клавиатуры терминала 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.