LXVIINcurses 端末画面制御関数

導入

ncurses (new curses) は、System V Rel 4.0(及びそれ以前)のcursesのフ リーなソフトウエアエミュレーションです。ncursesは、terminfo型式を使 用し、パッド、カラー、複数のハイライト、フォーム文字、ファンクショ ンキーマッピングをサポートします。 このライブラリは、対話的なものであるため、 Webアプリケーションを作成する際にはほとんど使用されませんが、 コマンドラインからPHPを使用 するスクリプトを書く際には有用です。

警告

このモジュールは、 実験的 なものです。これは、これらの関数の動作、関数名は、このドキュメントに書かれて事項と同様に告知なく将来的なPHPのリリースで変更される可能性があります。注意を喚起するとともに、このモジュールは使用者のリスクで使用して下さい。

Ncursesは以下のプラットフォームで利用可能です。

  • Digital Unix (aka OSF1)

  • GNU/Linux

  • OS/2



要件

ncursesライブラリがインストールされていることが必要です。最新のバー ジョンを ftp://ftp.gnu.org/pub/gnu/ncurses/ または他のGNUミラー サイトからダウンロードし、コンパイル、インストールして下さい。

インストール手順

これらの関数を動作させるには、 --with-ncurses を指定してCGIまたはCLIバー ジョンのPHPをコンパイルする必要があります。

実行用の設定

これらの関数の動作は、 php.ini の設定により変化します。

表 1Ncurses設定オプション

名前 デフォルト 変更の可否
ncurses.value "42" PHP_INI_ALL
ncurses.string "foobar" PHP_INI_ALL
PHP_INI_* 定数の詳細と定義については、 ini_set() を参照して下さい。

リソース型

この拡張モジュールはリソース型を全く定義し ません。

定義済みの定数

これらの定数は、この拡張モジュールで定義されており、 この拡張モジュールがPHP内部にコンパイルされているか実行時に動的にロー ドされるかのどちらかの場合のみ使用可能です。

エラーコード

エラー時にncurese関数は、NCURSES_ERRを返します。

カラー

表 2ncursesカラー定数

定数 意味
NCURSES_COLOR_BLACK no color (black)
NCURSES_COLOR_WHITE white
NCURSES_COLOR_RED red - supported when terminal is in color mode
NCURSES_COLOR_GREEN green - supported when terminal is in color mod
NCURSES_COLOR_YELLOW yellow - supported when terminal is in color mod
NCURSES_COLOR_BLUE blue - supported when terminal is in color mod
NCURSES_COLOR_CYAN cyan - supported when terminal is in color mod
NCURSES_COLOR_MAGENTA magenta - supported when terminal is in color mod

キー

表 3ncursesキー定数

定数 意味
NCURSES_KEY_F0 - NCURSES_KEY_F64 function keys F1 - F64
NCURSES_KEY_DOWN down arrow
NCURSES_KEY_UP up arrow
NCURSES_KEY_LEFT left arrow
NCURSES_KEY_RIGHT right arrow
NCURSES_KEY_HOME home key (upward+left arrow)
NCURSES_KEY_BACKSPACE backspace
NCURSES_KEY_DL delete line
NCURSES_KEY_IL insert line
NCURSES_KEY_DC delete character
NCURSES_KEY_IC insert char or enter insert mode
NCURSES_KEY_EIC exit insert char mode
NCURSES_KEY_CLEAR clear screen
NCURSES_KEY_EOS clear to end of screen
NCURSES_KEY_EOL clear to end of line
NCURSES_KEY_SF scroll one line forward
NCURSES_KEY_SR scroll one line backward
NCURSES_KEY_NPAGE next page
NCURSES_KEY_PPAGE previous page
NCURSES_KEY_STAB set tab
NCURSES_KEY_CTAB clear tab
NCURSES_KEY_CATAB clear all tabs
NCURSES_KEY_SRESET soft (partial) reset
NCURSES_KEY_RESET reset or hard reset
NCURSES_KEY_PRINT print
NCURSES_KEY_LL lower left
NCURSES_KEY_A1 upper left of keypad
NCURSES_KEY_A3 upper right of keypad
NCURSES_KEY_B2 center of keypad
NCURSES_KEY_C1 lower left of keypad
NCURSES_KEY_C3 lower right of keypad
NCURSES_KEY_BTAB back tab
NCURSES_KEY_BEG beginning
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

マウス

表 4マウス定数

定数 意味
NCURSES_BUTTON1_RELEASED - NCURSES_BUTTON4_RELEASED button (1-4) released
NCURSES_BUTTON1_PRESSED - NCURSES_BUTTON4_PRESSED button (1-4) pressed
NCURSES_BUTTON1_CLICKED - NCURSES_BUTTON4_CLICKED button (1-4) clicked
NCURSES_BUTTON1_DOUBLE_CLICKED - NCURSES_BUTTON4_DOUBLE_CLICKED button (1-4) double clicked
NCURSES_BUTTON1_TRIPLE_CLICKED - NCURSES_BUTTON4_TRIPLE_CLICKED button (1-4) triple clicked
NCURSES_BUTTON_CTRL ctrl pressed during click
NCURSES_BUTTON_SHIFT shift pressed during click
NCURSES_BUTTON_ALT alt pressed during click
NCURSES_ALL_MOUSE_EVENTS report all mouse events
NCURSES_REPORT_MOUSE_POSITION 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 -- 端末のボーレートを返す
ncurses_beep -- 端末のビープを鳴らす
ncurses_bkgd -- 端末画面の背景属性を設定する
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 -- 端末(シェル)モードを保存する
ncurses_define_key -- キーコードを定義する
ncurses_delay_output -- パディング文字を用いて端末出力を遅延させる
ncurses_delch -- カレント位置の文字を削除し、残った部分を左に移動する
ncurses_deleteln -- カレント位置の行を削除し、残りの部分を上に上げる
ncurses_delwin -- ncursesウインドウを削除する
ncurses_doupdate -- 準備中の全ての出力を書き込み、端末をリフレッシュする
ncurses_echo -- キーボード入力のエコーを有効とする
ncurses_echochar -- リファレッシュを行いつつ1文字出力する
ncurses_end -- ncursesを終了し、画面を消去する
ncurses_erase -- 端末画面を消去する
ncurses_erasechar -- 消去されたカレントの文字を返す
ncurses_filter --
ncurses_flash -- 端末画面をフラッシュする(ビジュアルベル)
ncurses_flushinp -- キーボード入力バッファをフラッシュする
ncurses_getch -- キーボードから1文字読み込む
ncurses_getmouse -- マウスイベントを読みこむ
ncurses_halfdelay -- 端末をハーフディレイモードにする
ncurses_has_colors -- カラー端末かどうか確認する
ncurses_has_ic -- 挿入/削除機能の有無を確認する
ncurses_has_il -- 行挿入/削除機能の有無を確認する
ncurses_has_key -- 端末キーボードにおいてファンクションキーの有無を調べる
ncurses_hline -- カレント位置に属性付きの文字を用いて最大n文字長の線を水平に描画する
ncurses_inch -- カレント位置の文字と属性を取得する
ncurses_init_color -- 新規にRGB値を設定する
ncurses_init_pair -- 色の組を確保する
ncurses_init -- ncursesを初期化する
ncurses_insch -- 文字を挿入し、カレント位置にある文字を含む残りの行を移動する
ncurses_insdelln -- カレント行の後に複数の行を挿入し、スクロールダウンする(負の数を指 定すると削除し、スクロールアップする)
ncurses_insertln -- 行を挿入し、残りの部分をスクロールダウンする
ncurses_insstr -- カレント位置に文字列を挿入し、残りの行を右に移動する
ncurses_instr -- 端末画面から文字列を読み込む
ncurses_isendwin -- Ncursesがendwinモードの場合、通常の画面出力が実行可能
ncurses_keyok -- キーコードを有効または無効にする
ncurses_killchar -- カレントの行削除文字を返す
ncurses_longname -- 端末の説明を返す
ncurses_mouseinterval -- マウスボタンクリックのタイムアウトを設定する
ncurses_mousemask -- マウスオプションを設定する
ncurses_move -- 出力位置を移動する
ncurses_mvaddch -- カレント位置を移動し、文字を追加する
ncurses_mvaddchnstr -- 位置を移動し、指定長の属性付きの文字列を追加する
ncurses_mvaddchstr -- 位置を移動し、属性付きの文字列を追加する
ncurses_mvaddnstr -- 位置を移動し、指定長の文字列を追加する
ncurses_mvaddstr -- 位置を移動し、文字列を追加する
ncurses_mvcur -- 直ちにカーソルを移動する
ncurses_mvdelch -- 位置を移動し、文字を削除、行の残りを左シフトする
ncurses_mvgetch -- 位置を移動し、新しい位置で文字を得る
ncurses_mvhline -- 位置を新しく設定し、属性付きの文字を用いて最大n文字の水平線を描画
ncurses_mvinch -- 位置を移動し、新しい位置の属性付きの文字を取得する
ncurses_mvvline -- 位置を新しく設定し、属性付きの文字を用いて最大n文字の垂直線を描画 する
ncurses_mvwaddstr -- ウインドウの新規位置に文字列を追加する
ncurses_napms -- スリープ
ncurses_newwin -- 新規ウインドウを作成する
ncurses_nl -- 改行を復改/ラインフィードに変換
ncurses_nocbreak -- 端末をcookedモードに変更する
ncurses_noecho -- キーボード入力エコーを無効にする
ncurses_nonl -- 改行を復改/ラインフィードに変換しない
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 -- カレントのソフトラベルキー属性を返す
ncurses_slk_attroff --
ncurses_slk_attron --
ncurses_slk_attrset --
ncurses_slk_clear -- 画面からソフトラベルをクリアする
ncurses_slk_color -- ソフトラベルキーの色を設定する
ncurses_slk_init -- ソフトラベルキー関数を初期化する
ncurses_slk_noutrefresh -- 仮想画面にソフトラベルキーをコピーする
ncurses_slk_refresh -- ソフトラベルキーを画面にコピーする
ncurses_slk_restore -- ソフトラベルキーを復帰する
ncurses_slk_touch -- ncurses_slk_noutrefreshを実行する際に強制的に出力する
ncurses_standend -- 'standout'属性の使用を停止する
ncurses_standout -- 'standout'属性の使用を開始する
ncurses_start_color -- 色の使用を開始する
ncurses_termattrs -- 端末でサポートされる全ての属性フラグの論理和を返す
ncurses_termname -- 端末の(簡略)-名を返す
ncurses_timeout -- 特別なキーシーケンスのタイムアウトを設定する
ncurses_typeahead -- typeahead確認用に別のファイル記述子を指定する
ncurses_ungetch -- 入力ストリームに1文字戻す
ncurses_ungetmouse -- マウスイベントをキーにプッシュする
ncurses_use_default_colors -- 端末のデフォルト色をカラーID -1に割り付ける
ncurses_use_env -- 端末の大きさに関する環境情報の使用を制御する
ncurses_use_extended_names -- terminfo記述において拡張名の使用を制御する
ncurses_vidattr --
ncurses_vline -- カレント位置に最大n文字の属性付きの文字を用いて垂直線を描画する
ncurses_wrefresh -- 端末画面のウインドウをリフレッシュする