|  | LXVII. Функции управления экраном терминала Ncurses| Предупреждение! | 
|---|
 | Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, имена его функций и всё, что задокументировано, может измениться в последующих релизах РНР без предупреждения. Вы предупреждены и можете использовать это расширение только под вашу ответственность. | 
 ncurses (new curses/новые курсы) это свободная программная эмуляция курсов
в System V Rel 4.0 (и выше). Она использует формат terminfo, поддерживает заполнения, цвета, множественную подсветку/highlights, отображение символов формы и ключей функций. Ncurses имеется для следующих платформ:
 AIXBeOSCygwinDigital Unix (aka OSF1)FreeBSDGNU/LinuxHPUXIRIXOS/2SCO OpenServerSolarisSunOS
 Вам необходимы библиотеки и header-файлы ncurses. Загрузите последнюю версию с
ftp://ftp.gnu.org/pub/gnu/ncurses/ или с другого зеркала GNU. Чтобы эти функции работали, вы должны скомпилировали CGI-версию PHP с
опцией --with-ncurses. При ошибке ncurses-функции возвращают NCURSES_ERR. Таблица 1. Константы цветов ncurses| константа | значение | 
|---|
 | NCURSES_COLOR_BLACK | нет цвета (чёрный) |  | NCURSES_COLOR_WHITE | белый |  | NCURSES_COLOR_RED | красный - поддерживается, если терминал находится в режиме color |  | NCURSES_COLOR_GREEN | зелёный - поддерживается, если терминал находится в режиме color |  | NCURSES_COLOR_YELLOW | жёлтый - поддерживается, если терминал находится в режиме color |  | NCURSES_COLOR_BLUE | синий - поддерживается, если терминал находится в режиме color |  | NCURSES_COLOR_CYAN | cyan - поддерживается, если терминал находится в режиме color |  | NCURSES_COLOR_MAGENTA | magenta - поддерживается, если терминал находится в режиме color | 
 Таблица 2. Константы клавиш ncurses| константа | значение | 
|---|
 | NCURSES_KEY_F0 - NCURSES_KEY_F64 | функциональные клавиши F1 - F64 |  | NCURSES_KEY_DOWN | стрелка вниз |  | NCURSES_KEY_UP | стрелка вверх |  | NCURSES_KEY_LEFT | стрелка влево |  | NCURSES_KEY_RIGHT | стрелка вправо |  | NCURSES_KEY_HOME | клавиша home (upward+left arrow) |  | NCURSES_KEY_BACKSPACE | backspace |  | NCURSES_KEY_DL | удалить строку |  | NCURSES_KEY_IL | вставить строку |  | NCURSES_KEY_DC | удалить символ |  | NCURSES_KEY_IC | вставить символ или войти в режим insert/вставки |  | NCURSES_KEY_EIC | выйти из режима вставки символов |  | NCURSES_KEY_CLEAR | очистить экран |  | NCURSES_KEY_EOS | очистить до конца экрана |  | NCURSES_KEY_EOL | очистить до конца строки |  | NCURSES_KEY_SF | прокрутить вперёд на одну строку |  | NCURSES_KEY_SR | прокрутить назад на одну строку |  | NCURSES_KEY_NPAGE | следующая страница |  | NCURSES_KEY_PPAGE | предыдущая страница |  | NCURSES_KEY_STAB | установить tab/табуляцию |  | NCURSES_KEY_CTAB | очистить tab |  | NCURSES_KEY_CATAB | очистить все tabs |  | NCURSES_KEY_SRESET | мягкий (частичный) reset |  | NCURSES_KEY_RESET | reset (или жёсткий reset) |  | NCURSES_KEY_PRINT | print |  | NCURSES_KEY_LL | lower left/самая нижняя левая |  | NCURSES_KEY_A1 | upper left цифрового блока |  | NCURSES_KEY_A3 | upper right цифрового блока |  | NCURSES_KEY_B2 | center цифрового блока |  | NCURSES_KEY_C1 | lower left цифрового блока |  | NCURSES_KEY_C3 | lower right цифрового блока |  | NCURSES_KEY_BTAB | back tab |  | NCURSES_KEY_BEG | начало |  | NCURSES_KEY_CANCEL | cancel |  | NCURSES_KEY_CLOSE | close |  | NCURSES_KEY_COMMAND | cmd (command/команда) |  | NCURSES_KEY_COPY | copy |  | NCURSES_KEY_CREATE | create |  | NCURSES_KEY_END | end |  | NCURSES_KEY_EXIT | exit |  | NCURSES_KEY_FIND | find |  | NCURSES_KEY_HELP | help |  | NCURSES_KEY_MARK | mark |  | NCURSES_KEY_MESSAGE | message |  | NCURSES_KEY_MOVE | move |  | NCURSES_KEY_NEXT | next |  | NCURSES_KEY_OPEN | open |  | NCURSES_KEY_OPTIONS | options |  | NCURSES_KEY_PREVIOUS | previous |  | NCURSES_KEY_REDO | redo |  | NCURSES_KEY_REFERENCE | ref (reference) |  | NCURSES_KEY_REFRESH | refresh |  | NCURSES_KEY_REPLACE | replace |  | NCURSES_KEY_RESTART | restart |  | NCURSES_KEY_RESUME | resume |  | NCURSES_KEY_SAVE | save |  | NCURSES_KEY_SBEG | shiftet beg (beginning) |  | NCURSES_KEY_SCANCEL | shifted cancel |  | NCURSES_KEY_SCOMMAND | shifted command |  | NCURSES_KEY_SCOPY | shifted copy |  | NCURSES_KEY_SCREATE | shifted create |  | NCURSES_KEY_SDC | shifted delete char |  | NCURSES_KEY_SDL | shifted delete line |  | NCURSES_KEY_SELECT | select |  | NCURSES_KEY_SEND | shifted end |  | NCURSES_KEY_SEOL | shifted end of line |  | NCURSES_KEY_SEXIT | shifted exit |  | NCURSES_KEY_SFIND | shifted find |  | NCURSES_KEY_SHELP | shifted help |  | NCURSES_KEY_SHOME | shifted home |  | NCURSES_KEY_SIC | shifted input |  | NCURSES_KEY_SLEFT | shifted left arrow |  | NCURSES_KEY_SMESSAGE | shifted message |  | NCURSES_KEY_SMOVE | shifted move |  | NCURSES_KEY_SNEXT | shifted next |  | NCURSES_KEY_SOPTIONS | shifted options |  | NCURSES_KEY_SPREVIOUS | shifted previous |  | NCURSES_KEY_SPRINT | shifted print |  | NCURSES_KEY_SREDO | shifted redo |  | NCURSES_KEY_SREPLACE | shifted replace |  | NCURSES_KEY_SRIGHT | shifted right arrow |  | NCURSES_KEY_SRSUME | shifted resume |  | NCURSES_KEY_SSAVE | shifted save |  | NCURSES_KEY_SSUSPEND | shifted suspend |  | NCURSES_KEY_UNDO | undo |  | NCURSES_KEY_MOUSE | mouse event has occured |  | NCURSES_KEY_MAX | maximum key value | 
 Таблица 3. mouse-константы| константа | значение | 
|---|
 | NCURSES_BUTTON1_RELEASED - NCURSES_BUTTON4_RELEASED | кнопка (1-4) отпущена |  | NCURSES_BUTTON1_PRESSED - NCURSES_BUTTON4_PRESSED | кнопка (1-4) нажата |  | NCURSES_BUTTON1_CLICKED - NCURSES_BUTTON4_CLICKED | кнопка (1-4) щёлкнула |  | NCURSES_BUTTON1_DOUBLE_CLICKED - NCURSES_BUTTON4_DOUBLE_CLICKED | кнопка (1-4) дважды щёлкнула |  | NCURSES_BUTTON1_TRIPLE_CLICKED - NCURSES_BUTTON4_TRIPLE_CLICKED | кнопка (1-4) трижды щёлкнула |  | NCURSES_BUTTON_CTRL | ctrl нажата при щелчке |  | NCURSES_BUTTON_SHIFT | shift нажата при щелчке |  | NCURSES_BUTTON_ALT | alt нажата при щелчке |  | NCURSES_ALL_MOUSE_EVENTS | сообщает обо всех событиях мыши |  | NCURSES_REPORT_MOUSE_POSITION | сообщает о позиции мыши | 
 Содержаниеncurses_addch - добавляет символ в текущей позиции и продвигает курсор вперёдncurses_addchnstr - добавляет атрибуированную строку со специфицированной длиной в текущей позицииncurses_addchstr - добавляет атрибуированную строку в текущей позицииncurses_addnstr - добавляет строку со специфицированной длиной в текущей позицииncurses_addstr - выводит текст в текущей позицииncurses_assume_default_colors - определяет цвет по умолчанию для цвета 0ncurses_attroff - отключает данный атрибутncurses_attron - включает данный атрибутncurses_attrset - устанавливает данные атрибутыncurses_baudrate - возвращает baudrate терминалаncurses_beep - разрешает терминалу подать сигналncurses_bkgd - устанавливает свойство background экрана терминалаncurses_bkgdset - управляет фоном экранаncurses_border - рисует рамку вокруг экрана с использованием атрибуированных символовncurses_can_change_color - проверяет, можем ли мы изменить цвета терминалаncurses_cbreak - отключает буферизацию вводаncurses_clear - очищает экранncurses_clrtobot - очищает экран от текущей позиции до низаncurses_clrtoeol - очищает экран от текущей позиции до конца строчкиncurses_color_set - устанавливает цвета переднего плана и фонаncurses_curs_set - устанавливает статус курсораncurses_def_prog_mode - сохраняет режим терминала (программы)ncurses_def_shell_mode - сохраняет режим терминала (оболочки/shell)ncurses_define_key - определяет keycode/код клавишиncurses_delay_output - задерживает вывод на терминал, используя заполняющие символыncurses_delch - удаляет символ в текущей позиции, остаток строки сдвигается влевоncurses_deleteln - удаляет строчку в текущей позиции, остаток экрана сдвигается вверхncurses_delwin - удаляет ncurses-окноncurses_doupdate - записывает все подготовленные обновления в терминалncurses_echo - активирует отображение ввода с клавиатурыncurses_echochar - вывод одного символа, включая обновлениеncurses_end - останавливает использование ncurses, очищает экранncurses_erase - стирает экран терминалаncurses_erasechar - возвращает текущий удалённый символncurses_filter -ncurses_flash - вспышка на экране терминала (визуальный сигнал)ncurses_flushinp - очищает буфер клавиатурного вводаncurses_getch - читает символ с клавиатурыncurses_getmouse - читает событие от мышиncurses_halfdelay - переводит терминал в режим halfdelayncurses_has_colors - проверяет, имеет ли терминал цветаncurses_has_ic - проверяет возможность вставки/удаленияncurses_has_il - проверяет возможность вставки/удаленияncurses_has_key - проверяет существование функциональной клавиши на клавиатуре терминалаncurses_hline - рисует горизонтальную линию в текущей позиции, используя атрибуированный символ и max. n длину символовncurses_inch - получает символ и атрибут в текущей позицииncurses_init_color - устанавливает новое RGB-значение цветаncurses_init_pair - размещает цветовую паруncurses_init - инициализирует ncursesncurses_insch - вставляет символ, перемещая остаток строки, включая символ в текущей позицииncurses_insdelln - вставляет строчки перед текущей строчкой, прокручивая вниз (отрицательные числа удаляют и прокручивают вверх)ncurses_insertln - вставляет строчку, перемещая остаток экрана внизncurses_insstr - вставляет string в текущей позиции, перемещая остаток строчки вправоncurses_instr - читает строчку с экрана терминалаncurses_isendwin - Ncurses находится в режиме endwin, может выполняться нормальный вывод экранаncurses_keyok - включает или отключает keycode/код клавишиncurses_killchar - возвращает kill-символ текущей строкиncurses_longname - возвращает описание терминалаncurses_mouseinterval - устанавливает timeout для щелчка кнопки мышиncurses_mousemask - устанавливает опции мышиncurses_move - переводит позицию выводаncurses_mvaddch - переводит текущую позицию и добавляет символncurses_mvaddchnstr - переводит позицию и add attrributed string with specified length ncurses_mvaddchstr - переводит позицию и добавляет атрибуированную строкуncurses_mvaddnstr - переводит позицию и добавляет строку со специфицированной длинойncurses_mvaddstr - переводит позицию и добавляет строкуncurses_mvcur - переводит курсор немедленноncurses_mvdelch - переводит позицию и удаляет символ, сдвигая остаток строчки влевоncurses_mvgetch - переводит позицию и получает символ в новой позицииncurses_mvhline - устанавливает новую позицию рисует горизонтальную линию, используя трибуированный символ и max. n длину символовncurses_mvinch - переводит позицию и получает атрибуированный символ в новой позицииncurses_mvvline - устанавливает новую позицию и рисует вертикальную линию, используя атрибуированный символ и max. n длину символовncurses_mvwaddstr - добавляет строку в новой позиции в окнеncurses_napms - Sleepncurses_newwin - создаёт новое окноncurses_nl - транслирует newline и carriage return / line feedncurses_nocbreak - переключает терминал в режим cookedncurses_noecho - отключает отображение ввода с клавиатурыncurses_nonl - не транслировать newline и carriage return / line feedncurses_noqiflush - не зачищает сигнальные символыncurses_noraw - отключает терминал от режима rawncurses_putp -ncurses_qiflush - зачищает сигнальные символыncurses_raw - переключает терминал в режим rawncurses_refresh - обновляет экранncurses_resetty - восстанавливает сохранённый статус терминалаncurses_savetty - сохраняет статус терминалаncurses_scr_dump - выполняет дамп содержимого экрана в файлncurses_scr_init - инициализирует экран из дампа файлаncurses_scr_restore - восстанавливает экран из дампа файлаncurses_scr_set - наследует экран из дампа файлаncurses_scrl - прокручивает содержимое окна верх или вниз без изменения текущей позицииncurses_slk_attr - возвращает ключевой атрибут текущей soft-метки/labelncurses_slk_attroff -ncurses_slk_attron -ncurses_slk_attrset -ncurses_slk_clear - очищает soft-метки с экранаncurses_slk_color - устанавливает цвет для ключей soft-метокncurses_slk_init - инициализирует soft label key-функцииncurses_slk_noutrefresh - копирует soft label keys в виртуальный экранncurses_slk_refresh - копирует soft label keys в экранncurses_slk_restore - восстанавливает soft label keysncurses_slk_touch - форсирует вывод при выполнении ncurses_slk_noutrefreshncurses_standend - останавливает использование атрибута 'standout'ncurses_standout - стартует использование атрибута 'standout'ncurses_start_color - стартует использование цветовncurses_termattrs - возвращает логическое ИЛИ всех флагов атрибутов, поддерживаемых терминаломncurses_termname - возвращает (short)-имя терминалаncurses_timeout - устанавливает timeout для специальных последовательностей клавишncurses_typeahead - специфицирует другой filedescriptor для проверки typeahead ncurses_ungetch - помещает символ обратно в поток вводаncurses_ungetmouse - проталкивает событие от мыши в очередь/queuencurses_use_default_colors - присваивает цвета по умолчанию color id -1ncurses_use_env - управляет использованием информации окружения о размере терминалаncurses_use_extended_names - управляет использованием расширенных имён в описаниях terminfoncurses_vidattr -ncurses_vline - рисует вертикальную линию в текущей позиции, используя атрибуированный символ и max. n длину символовncurses_wrefresh - обновляет окно экрана терминала
 |  |