Ncurses 端末画面制御関数
導入
ncurses (new curses) は、System V Rel 4.0(及びそれ以前)の curses の フリーなソフトウエアエミュレーションです。ncurses は terminfo 型式を 使用し、パッド、カラー、複数のハイライト、フォーム文字、 ファンクションキーマッピングをサポートします。 このライブラリは対話的なものであるため、 Web アプリケーションを作成する際にはほとんど使用されませんが、 コマンドラインから PHP を使用 するスクリプトを書く際には有用です。
この拡張モジュールは、 実験的 なものです。この拡張モジュールの動作・ 関数名・その他ドキュメントに書かれている事項は、予告なく、将来的な PHP のリリースにおいて変更される可能性があります。 このモジュールは自己責任で使用してください。
Ncurses は以下のプラットフォームで利用可能です。
AIX
BeOS
Cygwin
Digital Unix (aka OSF1)
FreeBSD
GNU/Linux
HPUX
IRIX
OS/2
SCO OpenServer
Solaris
SunOS
注意: この拡張モジュールは » PECL レポジトリに移動 されており、以下のバージョン以降 PHP にバンドルされなくなっています。 PHP 6.0.0
要件
ncurses ライブラリおよびヘッダファイルが必要です。最新のバージョンを » ftp://ftp.gnu.org/pub/gnu/ncurses/ あるいは他の GNU ミラーサイトからダウンロードしてください。
インストール手順
これらの関数を動作させるには、--with-ncurses[=DIR]を指定して CGI または CLI バージョンの PHP をコンパイルする必要があります。
実行時設定
設定ディレクティブは定義されていません。
リソース型
この拡張モジュールではウィンドウ、パネルおよびパッドリソースを定義しています。
定義済み定数
以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。
エラーコード
エラー時に、ncurese 関数は NCURSES_ERR を返します。
カラー
| 定数 | 意味 | 
|---|---|
| NCURSES_COLOR_BLACK | 色なし(黒) | 
| NCURSES_COLOR_WHITE | 白 | 
| NCURSES_COLOR_RED | 赤 - 端末がカラーモードの場合のみサポート | 
| NCURSES_COLOR_GREEN | 緑 - 端末がカラーモードの場合のみサポート | 
| NCURSES_COLOR_YELLOW | 黄 - 端末がカラーモードの場合のみサポート | 
| NCURSES_COLOR_BLUE | 青 - 端末がカラーモードの場合のみサポート | 
| NCURSES_COLOR_CYAN | シアン - 端末がカラーモードの場合のみサポート | 
| NCURSES_COLOR_MAGENTA | マゼンタ - 端末がカラーモードの場合のみサポート | 
キー
| 定数 | 意味 | 
|---|---|
| NCURSES_KEY_F0 - NCURSES_KEY_F64 | ファンクションキー F1 - F64 | 
| NCURSES_KEY_DOWN | 下矢印 | 
| NCURSES_KEY_UP | 上矢印 | 
| NCURSES_KEY_LEFT | 左矢印 | 
| NCURSES_KEY_RIGHT | 右矢印 | 
| NCURSES_KEY_HOME | ホームキー(upward+左矢印) | 
| NCURSES_KEY_BACKSPACE | バックスペース | 
| NCURSES_KEY_DL | 行削除 | 
| NCURSES_KEY_IL | 行挿入 | 
| NCURSES_KEY_DC | 文字削除 | 
| NCURSES_KEY_IC | 文字挿入あるいは挿入モード移行 | 
| NCURSES_KEY_EIC | 文字挿入モード終了 | 
| NCURSES_KEY_CLEAR | 画面消去 | 
| NCURSES_KEY_EOS | 画面最下部までを消去 | 
| NCURSES_KEY_EOL | 行末までを消去 | 
| NCURSES_KEY_SF | 1 行スクロール | 
| NCURSES_KEY_SR | 1 行逆スクロール | 
| NCURSES_KEY_NPAGE | 次ページ | 
| NCURSES_KEY_PPAGE | 前ページ | 
| NCURSES_KEY_STAB | タブ | 
| NCURSES_KEY_CTAB | タブ消去 | 
| NCURSES_KEY_CATAB | 全タブ消去 | 
| NCURSES_KEY_SRESET | ソフト(部分)リセット | 
| NCURSES_KEY_RESET | リセットあるいはハードリセット | 
| NCURSES_KEY_PRINT | 印刷 | 
| NCURSES_KEY_LL | 左下 | 
| NCURSES_KEY_A1 | キーパッドの左上 | 
| NCURSES_KEY_A3 | キーパッドの右上 | 
| NCURSES_KEY_B2 | キーパッドの中央 | 
| NCURSES_KEY_C1 | キーパッドの左下 | 
| NCURSES_KEY_C3 | キーパッドの右下 | 
| NCURSES_KEY_BTAB | バックタブ | 
| NCURSES_KEY_BEG | 先頭 | 
| NCURSES_KEY_CANCEL | キャンセル | 
| NCURSES_KEY_CLOSE | 閉じる | 
| NCURSES_KEY_COMMAND | cmd (コマンド) | 
| NCURSES_KEY_COPY | コピー | 
| NCURSES_KEY_CREATE | 作成 | 
| NCURSES_KEY_END | 行末 | 
| NCURSES_KEY_EXIT | 終了 | 
| NCURSES_KEY_FIND | 検索 | 
| NCURSES_KEY_HELP | ヘルプ | 
| NCURSES_KEY_MARK | マーク | 
| NCURSES_KEY_MESSAGE | メッセージ | 
| NCURSES_KEY_MOVE | 移動 | 
| NCURSES_KEY_NEXT | 次 | 
| NCURSES_KEY_OPEN | オープン | 
| NCURSES_KEY_OPTIONS | オプション | 
| NCURSES_KEY_PREVIOUS | 前 | 
| NCURSES_KEY_REDO | やり直し | 
| NCURSES_KEY_REFERENCE | ref (参照) | 
| NCURSES_KEY_REFRESH | リフレッシュ | 
| NCURSES_KEY_REPLACE | 置換 | 
| NCURSES_KEY_RESTART | 再起動 | 
| NCURSES_KEY_RESUME | 再開 | 
| NCURSES_KEY_SAVE | 保存 | 
| NCURSES_KEY_SBEG | shiftet beg (beginning) | 
| NCURSES_KEY_SCANCEL | shift + キャンセル | 
| NCURSES_KEY_SCOMMAND | shift + command | 
| NCURSES_KEY_SCOPY | shift + コピー | 
| NCURSES_KEY_SCREATE | shift + create | 
| NCURSES_KEY_SDC | shift + 文字削除 | 
| NCURSES_KEY_SDL | shift + 行削除 | 
| NCURSES_KEY_SELECT | 選択 | 
| NCURSES_KEY_SEND | shift + end | 
| NCURSES_KEY_SEOL | shift + 行末 | 
| NCURSES_KEY_SEXIT | shift + exit | 
| NCURSES_KEY_SFIND | shift + 検索 | 
| NCURSES_KEY_SHELP | shift + ヘルプ | 
| NCURSES_KEY_SHOME | shift + ホーム | 
| NCURSES_KEY_SIC | shift + input | 
| NCURSES_KEY_SLEFT | shift + 左矢印 | 
| NCURSES_KEY_SMESSAGE | shift + メッセージ | 
| NCURSES_KEY_SMOVE | shift + 移動 | 
| NCURSES_KEY_SNEXT | shift + 次 | 
| NCURSES_KEY_SOPTIONS | shift + オプション | 
| NCURSES_KEY_SPREVIOUS | shift + 前 | 
| NCURSES_KEY_SPRINT | shift + 印刷 | 
| NCURSES_KEY_SREDO | shift + やり直し | 
| NCURSES_KEY_SREPLACE | shift + 置換 | 
| NCURSES_KEY_SRIGHT | shift + 右矢印 | 
| NCURSES_KEY_SRSUME | shift + 再開 | 
| NCURSES_KEY_SSAVE | shift + 保存 | 
| NCURSES_KEY_SSUSPEND | shift + サスペンド | 
| NCURSES_KEY_UNDO | 元に戻す | 
| NCURSES_KEY_MOUSE | マウスイベントが発生 | 
| NCURSES_KEY_MAX | 最大のキーの値 | 
マウス
| 定数 | 意味 | 
|---|---|
| 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 — 端末のボーレートを返す
 - ncurses_beep — 端末のビープを鳴らす
 - ncurses_bkgd — 端末画面の背景属性を設定する
 - ncurses_bkgdset — 画面背景を制御する
 - ncurses_border — 属性付きの文字で画面周囲に境界を描画する
 - ncurses_bottom_panel — パネルをスタックの最下部に移動する
 - ncurses_can_change_color — 端末の色を変更可能かどうか確認する
 - ncurses_cbreak — 入力のバッファリングを変更する
 - ncurses_clear — スクリーンをクリアする
 - ncurses_clrtobot — 現在位置から最下部までスクリーンをクリアする
 - ncurses_clrtoeol — 現在位置から行末までスクリーンをクリアする
 - ncurses_color_content — 色の RGB 値を取得する
 - ncurses_color_set — 前景/背景色を設定する
 - ncurses_curs_set — カーソル状態を設定する
 - ncurses_def_prog_mode — 端末(プログラム)モードを保存する
 - ncurses_def_shell_mode — 端末(シェル)モードを保存する
 - ncurses_define_key — キーコードを定義する
 - ncurses_del_panel — パネルをスタックから取り除き、削除する (しかし、関連付けられているウィンドウは削除しない)
 - ncurses_delay_output — パディング文字を用いて端末出力を遅延させる
 - ncurses_delch — 現在位置の文字を削除し、残った部分を左に移動する
 - ncurses_deleteln — 現在位置の行を削除し、残りの部分を上に上げる
 - ncurses_delwin — ncurses ウインドウを削除する
 - ncurses_doupdate — 準備中の全ての出力を書き込み、端末をリフレッシュする
 - ncurses_echo — キーボード入力のエコーを有効とする
 - ncurses_echochar — リフレッシュを行いつつ 1 文字出力する
 - ncurses_end — ncurses を終了し、画面を消去する
 - ncurses_erase — 端末画面を消去する
 - ncurses_erasechar — 現在の erase 文字を返す
 - ncurses_filter — iniscr() および newterm() の LINES を 1 に設定する
 - ncurses_flash — 端末画面をフラッシュする(ビジュアルベル)
 - ncurses_flushinp — キーボード入力バッファをフラッシュする
 - ncurses_getch — キーボードから 1 文字読み込む
 - ncurses_getmaxyx — ウィンドウの大きさを返す
 - ncurses_getmouse — マウスイベントを読みこむ
 - ncurses_getyx — ウィンドウ内の現在のカーソル位置を返す
 - ncurses_halfdelay — 端末をハーフディレイモードにする
 - ncurses_has_colors — カラー端末かどうか確認する
 - ncurses_has_ic — 挿入/削除機能の有無を確認する
 - ncurses_has_il — 行挿入/削除機能の有無を確認する
 - ncurses_has_key — 端末キーボードにおいてファンクションキーの有無を調べる
 - ncurses_hide_panel — パネルをスタックから取り除き、見えなくする
 - 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_keypad — キーパッドを on あるいは off にする
 - ncurses_killchar — 現在の行削除文字を返す
 - ncurses_longname — 端末の説明を返す
 - ncurses_meta — 8 ビットのメタキー情報を有効/無効にする
 - ncurses_mouse_trafo — 座標を変換する
 - ncurses_mouseinterval — マウスボタンクリックのタイムアウトを設定する
 - ncurses_mousemask — マウスオプションを設定する
 - ncurses_move_panel — 左上が [startx, starty] となるようにパネルを移動する
 - 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_new_panel — 新しいパネルを作成し、それをウィンドウに関連づける
 - ncurses_newpad — 新しいパッド (window) を作成する
 - ncurses_newwin — 新規ウインドウを作成する
 - ncurses_nl — 改行と復改/ラインフィードを変換する
 - ncurses_nocbreak — 端末を cooked モードに変更する
 - ncurses_noecho — キーボード入力エコーを無効にする
 - ncurses_nonl — 改行と復改/ラインフィードを変換しない
 - ncurses_noqiflush — シグナル文字のフラッシュを無効とする
 - ncurses_noraw — 端末を raw モード以外に変更する
 - ncurses_pair_content — 色の RGB 値を取得する
 - ncurses_panel_above — パネルの上のパネルを返す
 - ncurses_panel_below — パネルの下のパネルを返す
 - ncurses_panel_window — パネルに関連付けられたウィンドウを返す
 - ncurses_pnoutrefresh — パッドから仮想画面にリージョンをコピーする
 - ncurses_prefresh — パッドから仮想画面にリージョンをコピーする
 - ncurses_putp — パディング情報を文字列に適用し、それを出力する
 - ncurses_qiflush — シグナル文字のフラッシュを有効とする
 - ncurses_raw — 端末を raw モードに変更する
 - ncurses_refresh — 画面をリフレッシュする
 - ncurses_replace_panel — パネルに関連付けられたウィンドウを置き換える
 - ncurses_reset_prog_mode — def_prog_mode で保存したプログラムモードをリセットする
 - ncurses_reset_shell_mode — def_shell_mode で保存したシェルモードをリセットする
 - ncurses_resetty — 保存した端末モードに復帰する
 - ncurses_savetty — 端末の状態を保存する
 - ncurses_scr_dump — 画面の内容をファイルにダンプする
 - ncurses_scr_init — ファイルダンプから画面を初期化する
 - ncurses_scr_restore — ファイルダンプから画面を復帰する
 - ncurses_scr_set — ファイルダンプから画面を継承する
 - ncurses_scrl — 現在位置を変更せずに画面の内容をスクロールアップまたはダウンする
 - ncurses_show_panel — 不可視のパネルをスタックの最上部に置き、見えるようにする
 - 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_set — ファンクションキーラベルを設定する
 - ncurses_slk_touch — ncurses_slk_noutrefresh を実行する際に強制的に出力する
 - ncurses_standend — 'standout' 属性の使用を停止する
 - ncurses_standout — 'standout' 属性の使用を開始する
 - ncurses_start_color — 色の使用を開始する
 - ncurses_termattrs — 端末でサポートされる全ての属性フラグの論理和を返す
 - ncurses_termname — 端末の(簡略)名を返す
 - ncurses_timeout — 特別なキーシーケンスのタイムアウトを設定する
 - ncurses_top_panel — 可視パネルをスタックの最上部に移動する
 - ncurses_typeahead — typeahead 確認用に別のファイル記述子を指定する
 - ncurses_ungetch — 入力ストリームに 1 文字戻す
 - ncurses_ungetmouse — マウスイベントをキューにプッシュする
 - ncurses_update_panels — 仮想画面を再描画し、スタック内のパネルとの関係を反映させる
 - ncurses_use_default_colors — 端末のデフォルト色をカラー ID -1 に割り付ける
 - ncurses_use_env — 端末の大きさに関する環境情報の使用を制御する
 - ncurses_use_extended_names — terminfo 記述において拡張名の使用を制御する
 - ncurses_vidattr — video attribute モードで、端末上に文字列を表示する
 - ncurses_vline — 現在位置に最大 n 文字の属性付きの文字を用いて垂直線を描画する
 - ncurses_waddch — ウィンドウ内の現在位置に文字を追加し、カーソルを進める
 - ncurses_waddstr — ウィンドウ内の現在位置にテキストを出力する
 - ncurses_wattroff — ウィンドウの属性をオフにする
 - ncurses_wattron — ウィンドウの属性をオンにする
 - ncurses_wattrset — ウィンドウの属性を設定する
 - ncurses_wborder — 属性文字を使用してウィンドウの周囲に線を描画する
 - ncurses_wclear — ウィンドウをクリアする
 - ncurses_wcolor_set — ウィンドウの色の組み合わせを設定する
 - ncurses_werase — ウィンドウを消去する
 - ncurses_wgetch — キーボート (ウィンドウ) から文字を読み込む
 - ncurses_whline — 指定した属性文字を用いて、最大 n 文字分の長さの水平線を ウィンドウに描画する
 - ncurses_wmouse_trafo — ウィンドウ/標準画面の座標系を変換する
 - ncurses_wmove — ウィンドウの出力位置を移動する
 - ncurses_wnoutrefresh — ウィンドウを仮想画面にコピーする
 - ncurses_wrefresh — 端末画面のウインドウをリフレッシュする
 - ncurses_wstandend — ウィンドウの standout モードを終了する
 - ncurses_wstandout — ウィンドウの standout モードに入る
 - ncurses_wvline — 指定した属性文字を用いて、最大 n 文字分の長さの垂直線を ウィンドウに描画する