Ncursesとは? わかりやすく解説

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.ini の設定により動作が変化します。
表 184. Ncurses 設定オプション
名前デフォルト変更の可否変更履歴
ncurses.value"42"PHP_INI_ALL 
ncurses.string"foobar"PHP_INI_ALL 

PHP_INI_* 定数の詳細および定義については 付録 G. php.ini ディレクティブ を参照してください。

リソース型

リソース型は定義されていません。

定義済み定数

以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。

エラーコード

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

カラー

表 185. 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マゼンタ - 端末がカラーモードの場合のみサポート

キー

表 186. 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_SF1 行スクロール
NCURSES_KEY_SR1 行逆スクロール
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_COMMANDcmd (コマンド)
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_REFERENCEref (参照)
NCURSES_KEY_REFRESHリフレッシュ
NCURSES_KEY_REPLACE置換
NCURSES_KEY_RESTART再起動
NCURSES_KEY_RESUME再開
NCURSES_KEY_SAVE保存
NCURSES_KEY_SBEGshiftet beg (beginning)
NCURSES_KEY_SCANCELshift + キャンセル
NCURSES_KEY_SCOMMANDshift + command
NCURSES_KEY_SCOPYshift + コピー
NCURSES_KEY_SCREATEshift + create
NCURSES_KEY_SDCshift + 文字削除
NCURSES_KEY_SDLshift + 行削除
NCURSES_KEY_SELECT選択
NCURSES_KEY_SENDshift + end
NCURSES_KEY_SEOLshift + 行末
NCURSES_KEY_SEXITshift + exit
NCURSES_KEY_SFINDshift + 検索
NCURSES_KEY_SHELPshift + ヘルプ
NCURSES_KEY_SHOMEshift + ホーム
NCURSES_KEY_SICshift + input
NCURSES_KEY_SLEFTshift + 左矢印
NCURSES_KEY_SMESSAGEshift + メッセージ
NCURSES_KEY_SMOVEshift + 移動
NCURSES_KEY_SNEXTshift + 次
NCURSES_KEY_SOPTIONSshift + オプション
NCURSES_KEY_SPREVIOUSshift + 前
NCURSES_KEY_SPRINTshift + 印刷
NCURSES_KEY_SREDOshift + やり直し
NCURSES_KEY_SREPLACEshift + 置換
NCURSES_KEY_SRIGHTshift + 右矢印
NCURSES_KEY_SRSUMEshift + 再開
NCURSES_KEY_SSAVEshift + 保存
NCURSES_KEY_SSUSPENDshift + サスペンド
NCURSES_KEY_UNDO元に戻す
NCURSES_KEY_MOUSEマウスイベントが発生
NCURSES_KEY_MAX最大のキーの値

マウス

表 187. マウス定数
定数意味
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 文字分の長さの垂直線を ウィンドウに描画する

ncurses

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/01/02 21:37 UTC 版)

ncurses は、端末に依存しない形式でテキストユーザインタフェース (TUI) を作成するためのAPIを提供するライブラリ。画面切り替えを最適化し、リモートシェルで使ってもレイテンシを最小に抑えるようになっている。


  1. ^ Ross Ridge (1992年12月27日). “mytinfo posting to comp.sources.unix newsgroup”. Internet Systems Consortium, Inc. 2008年3月14日閲覧。
  2. ^ Thomas E. Dickey (2013年1月19日). “Will it ever be GPL?”. 2013年2月5日閲覧。


「ncurses」の続きの解説一覧

ncurses

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/12/24 14:56 UTC 版)

curses」の記事における「ncurses」の解説

詳細は「ncurses」を参照 ncurses (new curses) はpcursesから派生したもので、1993年バージョン1.8.1から始まった。ncursesは今では最も普及している実装であり、これに刺激されNetBSDプロジェクトでのBSDcurses開発などが進められた。

※この「ncurses」の解説は、「curses」の解説の一部です。
「ncurses」を含む「curses」の記事については、「curses」の概要を参照ください。

ウィキペディア小見出し辞書の「Ncurses」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Ncurses」の関連用語

Ncursesのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Ncursesのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
PHP Documentation GroupPHP Documentation Group
Copyright © 1997 - 2024 by the PHP Documentation Group.
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのncurses (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのcurses (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2024 GRAS Group, Inc.RSS