Home

termcap(5) - ja

TERMCAP(5)Linux Programmer's ManualTERMCAP(5)

名前

termcap 端末機能のデータベース

説明

termcap データベースは、 文字単位で動作する端末やプリンタの機能を記述するための旧式の機構である。 この機構は古いプログラムでの互換性のためだけに保持されているので、 新しいプログラムは terminfo(5) データベースとそれに関連したライブラリを用いるべきである。

/etc/termcap は、多くの異なる種類の端末に関する機能を列記したアスキーファイル (データベースマスター) である。 プログラムは termcap を読み込んで、 実際に使用している端末に個別のエスケープコード群を取得する。 これを用いると、その端末の視覚的な性質を制御することができる (端末の他の性質は stty(1) で制御する)。 termcap データベースは、環境変数 TERM の値で引かれる。

termcap のエントリーは、単一の論理行でなければならない。 ただし、行末に '\' を用いればそこでの改行を抑制することができる。 フィールドは ':' で分割される。 各エントリーの最初のフィールドは左側先頭から始まり、 内容はその端末の名前のリストである。名前の区切りには '|' が用いられる。

最初のサブフィールドは (4.3 以前のバージョンのBSD termcap エントリーでは) 2 文字からなる短い名前となっている。この短い名前は 大文字もしくは小文字で構成される。4.4BSD の termcap エントリーでは、 このフィールドは省略される。

2 番目 (最新の 4.4BSD フォーマットでは 1 番目) のサブフィールドには、 環境変数 TERM で用いられる名称が入る。 このフィールドには小文字しか使えない。 選択可能なハードウェア機能は、ハイフンと接尾語 (suffix) を名称の後に追加することによって示す必要がある。以下の例を見よ。 慣習的な接尾語には、w (80 文字以上の幅がある)、 am (automatic margins: 自動的な行の折り返し)、 nam (non automatic margins: 自動的でない行の折り返し)、 rv (reverse video display: 反転ビデオ表示) などがある。 3番目のサブフィールドには、 このtermcapエントリーに対する長い説明的な名称が入る。

この後に続くフィールドには、端末の機能を記述する。 機能を記述する行が継続する場合は、 左端から1つのタブをおいてインデントしなければならない。

順序については定義されていないが、 大文字小文字は区別せずにアルファベット順にならべ、 始めはブール値の、次は数値の、最後は文字列の機能を書くことが推奨されている。 同じような働きをする機能は 1 行にまとめて書くと良い。

例:

Head line: vt|vt101|DEC VT 101 terminal in 80 character mode:\Head line: Vt|vt101-w|DEC VT 101 terminal in (wide) 132 character mode:\Boolean: :bs:\Numeric: :co#80:\String: :sr=\E[H:\

ブール値で指定する機能

5i	プリンタはスクリーンにエコーしないam	自動マージン。自動的に行を折り返すbs	コントロール H (キーコード 8) をバックスペースとして扱うbw	左端でのバックスペースを、上の行の右端に折り返すda	画面の上端から外れていた行を表示する (通常はマルチページ端末で)db	画面の下端から外れていた行を表示する (通常はマルチページ端末で)eo	空白文字はカーソル位置の全ての文字を消すes	ステータス行上のエスケープシーケンスや特殊文字は有効に働くgn	一般的なデバイスであるhc	ハードコピー端末であるHC	最下行にないカーソルは見づらいhs	ステータス行があるhz	チルダ文字が表示できない端末である (Hazeltine 端末のバグ)in	ホワイトスペースを埋めるのに、スペースではなくヌルバイトを挿入する端末であるkm	端末にはメタキーがあるmi	挿入モードでもカーソル移動ができるms	強調/下線モードでもカーソル移動ができるNP	パディング文字がないNR	ti は te を反転しないnx	パディングではなく、XON/XOFF を使わなければならないos	重ね打ちが可能な端末であるul	重ね打ちはできないが、下線表示のできる端末であるxb	f1 はエスケープを送信し、f2 は ^C を送信する (Beehive 端末の不具合)xn	改行/折り返しに不具合があるxo	端末は xon/xoff プロトコルを用いるxs	強調文字の上に出力された文字は強調文字として表示されるxt	破壊的なタブと中途半端な強調モード (Teleray 端末の不具合)

数値で指定する機能

co	端末の行数dB	ハードコピー端末において、バックスペースに必要な遅延時間 (ミリ秒単位)dC	ハードコピー端末において、復帰に必要な遅延時間 (ミリ秒単位)dF	ハードコピー端末において、頁送りに必要な遅延時間 (ミリ秒単位)dN	ハードコピー端末において、改行に必要な遅延時間 (ミリ秒単位)dT	ハードコピー端末において、タブストップに必要な遅延時間 (ミリ秒単位)dV	ハードコピー端末において、垂直タブに必要な遅延時間 (ミリ秒単位)it	タブ位置間の文字数lh	ソフトラベルの高さlm	画面メモリーに収容できる行数lw	ソフトラベルの幅li	行数Nl	ソフトラベルの数pb	パディングが必要となる最低のボーレートsg	強調表示の不具合 (強調表示に切替えたときに表示されるスペースの数)ug	下線表示の不具合 (強調表示に切替えたときに表示されるスペースの数)vt	仮想端末番号ws	ステータス行の幅 (画面幅と異なる場合)

文字列で指定する機能

!1	シフト状態の save キー!2	シフト状態の suspend キー!3	シフト状態の undo キー#1	シフト状態の help キー#2	シフト状態の home キー#3	シフト状態の input キー#4	シフト状態の左カーソルキー%0	redo キー%1	help キー%2	markキー%3	message キー%4	move キー%5	next-object キー%6	open キー%7	options キー%8	previous-object キー%9	print キー%a	シフト状態の message キー%b	シフト状態の move キー%c	シフト状態の next キー%d	シフト状態の options キー%e	シフト状態の previous キー%f	シフト状態の print キー%g	シフト状態の redo キー%h	シフト状態の replace キー%i	シフト状態の右カーソルキー%j	シフト状態の resume キー&0	シフト状態の cancel キー&1	reference キー&2	refresh キー&3	replace キー&4	restart キー&5	resume キー&6	save キー&7	suspend キー&8	undo キー&9	シフト状態の begin キー*0	シフト状態の find キー*1	シフト状態の command キー*2	シフト状態の copy キー*3	シフト状態の create キー*4	シフト状態の delete キー*5	シフト状態の delete line キー*6	select キー*7	シフト状態の end キー*8	シフト状態の clear line キー*9	シフト状態の exit キー@0	find キー@1	begin キー@2	cancel キー@3	close キー@4	command キー@5	copy キー@6	create キー@7	end キー@8	enter/send キー@9	exit キーal	1 行挿入するAL	%1 行挿入するac	図形文字のペアの集合。代替文字セットにマップするためのものae	代替文字セットの終りas	図形文字集合に対する、代替文字セットの開始bc	^H がバックスペースでない場合のバックスペースbl	(音声の) ベルを鳴らすbt	前のタブストップへ移動cb	行頭からカーソル位置までのクリアcc	ダミーコマンド文字cd	画面の最後までをクリアce	行の最後までをクリアch	カーソルを水平方向にだけ移動し、 %1 桁の位置にするcl	画面を消去し、カーソルをホームポジションへcm	画面上の %1 行、 %2 桁へカーソルを移動CM	メモリー上の %1 行、 %2 桁へカーソルを移動cr	復帰cs	%1 行目から %2 行目までの範囲をスクロールするct	タブの消去cv	カーソルを垂直方向にだけ移動し、 %1 行の位置にするdc	一文字削除するDC	%1 文字削除するdl	一行削除するDL	%1 行削除するdm	delete モード開始do	カーソルを一行下げるDO	カーソルを #1 行下げるds	ステータス行を無効にするeA	代替文字集合を有効にするec	カーソル位置から %1 文字消去するed	delete モード終了ei	intert モード終了ff	ハードコピー端末での頁送り文字fs	ステータス行に移動する前の位置へ復帰する文字F1	ファンクションキー f11 が送出する文字列F2	ファンクションキー f12 が送出する文字列F3	ファンクションキー f13 が送出する文字列...	...F9	ファンクションキー f19 が送出する文字列FA	ファンクションキー f20 が送出する文字列FB	ファンクションキー f21 が送出する文字列...	...FZ	ファンクションキー f45 が送出する文字列Fa	ファンクションキー f46 が送出する文字列Fb	ファンクションキー f47 が送出する文字列...	...Fr	ファンクションキー f63 が送出する文字列hd	カーソルを一行の半分だけ下に移動ho	カーソルをホームポジションに移動hu	カーソルを一行の半分だけ上に移動i1	ログイン時の初期化文字列 1i3	ログイン時の初期化文字列 3is	ログイン時の初期化文字列 2ic	一文字挿入IC	%1 文字挿入if	初期化ファイルim	insert モード開始ip	挿入後のパディングに必要な時間と特殊文字iP	初期化プログラムK1	キーパッドの左上キーK2	キーパッドの中央キーK3	キーパッドの右上キーK4	キーパッドの左下キーK5	キーパッドの右下キーk0	ファンクションキー 0k1	ファンクションキー 1k2	ファンクションキー 2k3	ファンクションキー 3k4	ファンクションキー 4k5	ファンクションキー 5k6	ファンクションキー 6k7	ファンクションキー 7k8	ファンクションキー 8k9	ファンクションキー 9k;	ファンクションキー 10ka	clea all tabs キーkA	insert line キーkb	バックスペースキーkB	back tab キーkC	clear screen キーkd	下カーソルキーkD	カーソル位置の文字を消すキーke	キーパッドをオフにするkE	行末までをクリアするキーkF	前方向/下方向へスクロールするキーkh	home キーkH	cursor hown down キーkI	文字挿入キー/insert モードキーkl	左カーソルキーkL	行を削除するキーkM	insert モードを終了するキーkN	次のページへ移動するキーkP	前のページへ移動するキーkr	右カーソルキーkR	後ろ方向/上方向にスクロールするキーke	キーパッドをオンにするkS	画面最後までをクリアするキーkt	タブクリアキーkT	タブストップ設定キーku	上カーソルキーl0	0 番目のファンクションキーのラベル (f0 でない場合)l1	1 番目のファンクションキーのラベル (f1 でない場合)l2	2 番目のファンクションキーのラベル (f2 でない場合)...	...la	10 番目のファンクションキーのラベル (f10 でない場合)le	カーソルを左へ一文字分移動するll	カーソルを左下隅に移動するLE	カーソルを左 %1 文字分移動するLF	ソフトラベルをオフにするLO	ソフトラベルをオンにするmb	点滅開始MC	ソフトマージンをクリアmd	bold モード開始me	so, us, mb, md, mr などのモード全てを終了するmh	半輝度モード開始mk	ダークモード (文字は見えなくなる)ML	左側のソフトマージンを設定mm	端末をメタモードに設定するmo	端末をメタモードでなくするmp	属性保護モードをオンにするmr	反転モード開始MR	右端のソフトマージンを設定nd	カーソルを右に一文字分移動nw	復帰コマンドpc	パディング文字pf	プリンタをオフにするpk	ユーザーが入力したときに文字列 %2 を送出するプログラムキー %1pl	ローカルモードで文字列 %2 を実行するプログラムキー %1pn	文字列 %2 を表示するためのプログラムソフトラベル %1po	プリンタをオンにするpO	%1 (<256) バイトの間プリンタをオンにするps	画面上の内容をプリンタに印刷するpx	文字列 %2 をコンピュータに送出するプログラムキー %1r1	端末を正常なモードに設定するリセット文字列 1r2	端末を正常なモードに設定するリセット文字列 2r3	端末を正常なモードに設定するリセット文字列 3RA	自動折り返しを無効にするrc	保存しておいたカーソル位置に復帰するrf	リセット文字列の入ったファイル名RF	端末からの入力要求RI	カーソルを右へ %1 文字分移動するrp	文字 %1 を %2 回分繰り返すrP	置換モードにおいて、文字を送出した後に行うパディングrs	リセット文字列RX	XON/XOFF フロー制御をオフにするsa	属性 %1 %2 %3 %4 %5 %6 %7 %8 %9 を設定SA	自動折り返しを有効にするsc	カーソル位置を保存するse	強調モード終了sf	順方向の 1 行スクロールSF	順方向の %1 行スクロールso	強調モード開始sr	逆スクロールSR	%1 行分逆スクロールするst	全ての行において、現在の桁位置をタブストップに設定するSX	XON/XOFF フロー制御をオンにするta	次のハードウェアタブ位置へ移動tc	他のエントリーから端末の説明を読む込むte	カーソル移動を用いるプログラムの終了ti	カーソル移動を用いるプログラムの開始ts	ステータス行のカーソルを %1 桁へ移動uc	カーソル位置の文字に下線をつけ、右にカーソルを移動ue	下線モード終了up	カーソルを 1 行分上に移動UP	カーソルを %1 行分上に移動us	下線モード開始vb	ビジュアルベルve	カーソルを通常の明るさにするvi	カーソルを見えなくするvs	強調カーソルwi	ウィンドウ領域を %1〜%2 行、%3〜%4 桁に設定XF	XOFF 制御文字 (^S でない場合)

文字列機能の制御コードを定義するには、いくつかの方法がある。

'^', '\', '%' を除く全ての通常の文字は、それ自身を表す。

^x は Control-x を意味する。 Control-A は 10 進数の 1 に等しい。

\x は特殊コードとして扱われる。x には以下の文字のどれかが入る。

E エスケープ (27)
n ラインフィード (10)
r 復帰 (13)
t タブ (9)
b バックスペース (8)
f 頁送り (12)
0 ヌルキャラクター。'\xxx' は 8 進数 xxx の文字を表す。
パラメーターを 1 増加させる。
一つのパラメーターをとる機能
+
次の文字の値をパラメーターに追加し、バイナリで出力する
2
パラメーターを 2 桁の数字として ASCII 出力する (printf の %2d と同じ意味)
パラメーターを数字として ASCII 出力する (printf の %d と同じ意味)
%
'%' を表示する

バイナリ出力を行う場合、 文字列が終端されないようにヌル文字 ('\0') を避けねばならない。 タブ文字をパラメーターのバイナリ出力とする場合は、 タブ文字の展開をリセットしなければならない。

注意:
上記のような、パラメーターとしてのメタ文字は正しくないかもしれない。これらは Minix の termcap について説明しており、 Minix の termcap は Linux の termap と互換性がないかもしれないからである。

図形文字は 3 つの文字列機能で指定できる。

代替文字セットの開始
代替文字セットの終了
文字列のペアの集合を指定する。 最初の文字は図形文字の名称で、 2 番目の文字はその定義である。

名称には以下のものがある。

+	右矢印 (>),	左矢印 (<).	下矢印 (v)0	なかを塗りつぶした四角 (#)I	ランタン記号 (#)(訳注 原文は latern だったが、これは lantern の typo と思われる)-	上矢印 (^)'	菱形 (+)a	チェス板 (:)f	角度 (')g	プラスマイナス (#)h	四角 (#)j	右下隅 (+)k	右上隅 (+)l	左上隅 (+)m	左下隅 (+)n	十字 (+)o	上水平線 (-)q	中水平線 (-)s	下水平線 (_)t	左 T 字 (+)u	右 T 字 (+)v	下 T 字 (+)w	正 T 字 (+)x	垂直線 (|)~	段落 (???)

括弧内の値は、指定した機能が存在しない場合に、 curses ライブラリが使用する推奨デフォルト値である。

関連項目

ncurses(3), termcap(3), terminfo(5)

この文書について

この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。

2020-08-13Linux