Функции Управления Экраном Терминала Ncurses
LXVII. Функции управления экраном терминала Ncurses
Предупреждение! |
---|
Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, имена его функций и всё, что задокументировано, может измениться в последующих релизах РНР без предупреждения. Вы предупреждены и можете использовать это расширение только под вашу ответственность. |
Что такое ncurses?
ncurses (new curses/новые курсы) это свободная программная эмуляция курсов в System V Rel 4.0 (и выше). Она использует формат terminfo, поддерживает заполнения, цвета, множественную подсветку/highlights, отображение символов формы и ключей функций.
Платформы
Ncurses имеется для следующих платформ:
AIX
BeOS
Cygwin
Digital Unix (aka OSF1)
FreeBSD
GNU/Linux
HPUX
IRIX
OS/2
SCO OpenServer
Solaris
SunOS
Требования
Вам необходимы библиотеки и header-файлы ncurses. Загрузите последнюю версию с ftp://ftp.gnu.org/pub/gnu/ncurses/ или с другого зеркала GNU.
Установка
Чтобы эти функции работали, вы должны скомпилировали CGI-версию PHP с опцией --with-ncurses.
Предопределённые константы 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 | |
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 | опции |
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 - определяет цвет по умолчанию для цвета 0
- ncurses_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 - переводит терминал в режим halfdelay
- ncurses_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 - инициализирует ncurses
- ncurses_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 - переводит позицию и добавляет атрибуированную строку специфицированной длины
- 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 - Sleep
- ncurses_newwin - создаёт новое окно
- ncurses_nl - транслирует newline и carriage return / line feed
- ncurses_nocbreak - переключает терминал в режим cooked
- ncurses_noecho - отключает отображение ввода с клавиатуры
- ncurses_nonl - не транслировать newline и carriage return / line feed
- ncurses_noqiflush - не зачищает сигнальные символы
- ncurses_noraw - отключает терминал от режима raw
- ncurses_putp -
- ncurses_qiflush - зачищает сигнальные символы
- ncurses_raw - переключает терминал в режим raw
- ncurses_refresh - обновляет экран
- ncurses_resetty - восстанавливает сохранённый статус терминала
- ncurses_savetty - сохраняет статус терминала
- ncurses_scr_dump - выполняет дамп содержимого экрана в файл
- ncurses_scr_init - инициализирует экран из дампа файла
- ncurses_scr_restore - восстанавливает экран из дампа файла
- ncurses_scr_set - наследует экран из дампа файла
- ncurses_scrl - прокручивает содержимое окна верх или вниз без изменения текущей позиции
- ncurses_slk_attr - возвращает ключевой атрибут текущей soft-метки/label
- ncurses_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 ключи в виртуальный экран
- ncurses_slk_refresh - копирует soft label ключи в экран
- ncurses_slk_restore - восстанавливает soft label keys
- ncurses_slk_touch - форсирует вывод при выполнении ncurses_slk_noutrefresh
- ncurses_standend - останавливает использование атрибута 'standout'
- ncurses_standout - стартует использование атрибута 'standout'
- ncurses_start_color - стартует использование цветов
- ncurses_termattrs - возвращает логическое ИЛИ всех флагов атрибутов, поддерживаемых терминалом
- ncurses_termname - возвращает (short)-имя терминала
- ncurses_timeout - устанавливает timeout для специальных последовательностей клавиш
- ncurses_typeahead - специфицирует другой filedescriptor для проверки typeahead
- ncurses_ungetch - помещает символ обратно в поток ввода
- ncurses_ungetmouse - проталкивает событие от мыши в очередь/queue
- ncurses_use_default_colors - присваивает цвета по умолчанию color id -1
- ncurses_use_env - управляет использованием информации окружения о размере терминала
- ncurses_use_extended_names - управляет использованием расширенных имён в описаниях terminfo
- ncurses_vidattr -
- ncurses_vline - рисует вертикальную линию в текущей позиции, используя атрибуированный символ и max. n длину символов
- ncurses_wrefresh - обновляет окно экрана терминала