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 を返します。
表 2. ncurses カラー定数
| 定数 | 意味 | 
|---|---|
| NCURSES_COLOR_BLACK | 色なし(黒) | 
| NCURSES_COLOR_WHITE | 白 | 
| NCURSES_COLOR_RED | 赤 - 端末がカラーモードの場合のみサポート | 
| NCURSES_COLOR_GREEN | 緑 - 端末がカラーモードの場合のみサポート | 
| NCURSES_COLOR_YELLOW | 黄 - 端末がカラーモードの場合のみサポート | 
| NCURSES_COLOR_BLUE | 青 - 端末がカラーモードの場合のみサポート | 
| NCURSES_COLOR_CYAN | シアン - 端末がカラーモードの場合のみサポート | 
| NCURSES_COLOR_MAGENTA | マゼンタ - 端末がカラーモードの場合のみサポート | 
表 3. ncurses キー定数
| 定数 | 意味 | 
|---|---|
| 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 | 最大のキーの値 | 
表 4. マウス定数
| 定数 | 意味 | 
|---|---|
| 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 | マウスの位置を報告する |