TERMCAP(5) FreeBSD ファイルフォーマットマニュアル TERMCAP(5)
名称
termcap − 端末ケーパビリティのデータベース |
書式
termcap |
解説 |
termcap ファイルは端末に関するデータベースであり、例えば vi(1) や ncurses(3) が使用します。 termcap には、端末が持つケーパビリティと、操作 がどのように行われるのかが記述されています。パディングの必要性および初期 化シーケンスも termcap に記述されています。 termcap のエントリは ‘:’ で区切られた複数個のフィールドからなります。各端 末の最初のエントリは、‘|’ 文字で区切った端末名です。最初の名前は、その端 末の最も一般的な省略形です。最後の名前は端末を完全に識別するための長い名 前であり、その他は端末名の類義語です。最後以外の名前は小文字を使い、空白 を含まないようにしてください; 最後の名前は、可読性のために大文字や空白を 含んでかまいません。 端末名 (最後の冗長なエントリを除く) は次の約束に従い選んでください。端末 を構成するハードウェアの特定の一部を、 ‘‘hp2621’’ のように根幹の名前とし て選びます。この名前はハイフンを含んではなりません。ハードウェアのモード やユーザのプリファレンスは、ハイフンとモード指示子を追加して示します。で すから、132 桁モードの ‘‘vt100’’ は ‘‘vt100-w’’ になります。可能ならば、 以下の接尾辞を使用してください: |
接尾辞 |
意味 |
例 |
|
-w |
広いモード (80 桁超) |
vt100-w |
|
-am |
自動マージン付 (通常はデフォルト) |
vt100-am |
|
-nam |
自動マージン無し |
vt100-nam |
|
−n |
画面上の行数 |
aaa-60 |
|
-na |
矢印キー無し (ローカルのままにする) |
concept100-na |
|
−np |
メモリページ数 |
concept100-4p |
|
-rv |
反転表示 |
concept100-rv |
ケーパビリティ
記述フィールドに、ケーパビリティの意味を示そうとしています。記述フィール ドには次のようなコードが書いてあることがあります: |
(P)
パディングが指定されるかもしれないことを表します。 #[1-9] (P*) (#i) 以下、ブール値のケーパビリティです: ブール値 TCap 記述 |
変数 |
コード |
||||||
auto_left_margin |
bw |
cursor_left は桁 0 から最後の桁に回り込む |
|||||
auto_right_margin |
am |
端末は自動マージンを持つ |
|||||
no_esc_ctlc |
xb |
beehive |
(f1=escape, f2=ctrl C) |
||||
ceol_standout_glitch |
xs |
強調表示は上書きによって消去されない (hp) |
|||||
eat_newline_glitch |
xn |
80 桁より後の改行は無視される (concept) |
|||||
erase_overstrike |
eo |
空白を上打ちすることで消去可能 |
|||||
generic_type |
gn |
一般的な行タイプ |
|||||
hard_copy |
hc |
ハードコピー端末 |
|||||
has_meta_key |
km |
メタキーを持ち、最上位ビットをセットする |
|||||
has_status_line |
hs |
追加のステータス行を持つ |
|||||
insert_null_glitch |
in |
挿入モードはナルを区別する |
|||||
memory_above |
da |
画面より上の描画が保存される |
|||||
memory_below |
db |
画面より下の描画が保存される |
|||||
move_insert_mode |
mi |
挿入モードでの移動が安全 |
|||||
move_standout_mode |
ms |
強調表示モードでの移動が安全 |
|||||
over_strike |
os |
端末は上打ちが可能 |
|||||
status_line_esc_ok |
es |
ステータス行でエスケープを使用可能 |
|||||
dest_tabs_magic_smso |
xt |
破壊的タブ、強調文字の奇妙な動作 (t1061) |
|||||
tilde_glitch |
hz |
~ を印字できない (hazeltine) |
|||||
transparent_underline |
ul |
下線文字の上打ち |
|||||
xon_xoff |
xo |
端末は xon/xoff のハンドシェークを使用 |
|||||
needs_xon_xoff |
nx |
パディングは動作しないので xon/xoff が必要 |
|||||
prtr_silent |
5i |
プリンタ出力は画面にエコーしない |
|||||
hard_cursor |
HC |
カーソルが見にくい |
|||||
non_rev_rmcup |
NR |
enter_ca_mode は exit_ca_mode を反転しない |
|||||
no_pad_char |
NP |
パディング文字が存在しない |
|||||
non_dest_scroll_region |
ND |
スクロール領域が非破壊的 |
|||||
can_change |
cc |
端末は既存の色を再定義可能 |
|||||
back_color_erase |
ut |
画面は背景色で消される |
|||||
hue_lightness_saturation |
hl |
端末は HLS カラー表現のみ使用 |
|||||
(tektronix) |
|||||||
col_addr_glitch |
YA |
桁位置指定および micro_column_address |
|||||
ケーパビリティは正方向の動きのみ |
|||||||
cr_cancels_micro_mode |
YB |
cr を使用するとマイクロモードがオフになる |
|||||
has_print_wheel |
YC |
オペレータが文字セットを変更する必要がある |
|||||
プリンタ |
|||||||
row_addr_glitch |
YD |
row_address および micro_row_address は |
|||||
正方向の動きのみ |
|||||||
semi_auto_right_margin |
YE |
最終桁で印字すると cr となる |
|||||
cpi_changes_res |
YF |
文字ピッチを変えると解像度が変わる |
|||||
lpi_changes_res |
YG |
行ピッチを変えると解像度が変わる |
以下、数値のケーパビリティです: 数値 TCap 記述 |
変数 |
コード |
|||||
columns |
co |
|||||
1 行の桁数 |
||||||
init_tabs |
it |
|||||
タブの初期設定は # 個の空白ごと |
||||||
lines |
li |
|||||
画面もしくはページの行数 |
||||||
lines_of_memory |
lm |
|||||
行より大きい場合はメモリの行数、 |
||||||
0 の場合はさまざま |
||||||
magic_cookie_glitch |
sg |
|||||
enter_standout_mode や exit_standout_mode |
||||||
が残す空白文字数 |
||||||
padding_baud_rate |
pb |
|||||
パディングが必要な最低ボーレート |
||||||
virtual_terminal |
vt |
|||||
仮想端末番号 (CB/unix) |
||||||
width_status_line |
ws |
|||||
ステータス行の桁数 |
||||||
num_labels |
Nl |
|||||
画面上のラベル数 |
||||||
label_height |
lh |
|||||
各ラベルの行数 |
||||||
label_width |
lw |
|||||
各ラベルの桁数 |
||||||
max_attributes |
ma |
|||||
端末が扱える属性の最大の組み合わせ |
||||||
maximum_windows |
MW |
|||||
定義可能なウィンドウ数の最大 |
||||||
magic_cookie_glitch_ul |
ug |
|||||
下線により残される空白数 |
# |
max_colors |
Co |
|||||
画面上の最大色数 |
||||||
max_pairs |
pa |
|||||
画面上の色の組の最大数 |
||||||
no_color_video |
NC |
|||||
色付きでは使用できないビデオ属性 |
# |
buffer_capacity |
Ya |
|||||
印字前にバッファされるバイト数 |
||||||
dot_vert_spacing |
Yb |
|||||
1 インチあたりのピン数で表した垂直ピン間隔 |
||||||
dot_horz_spacing |
Yc |
|||||
1 インチあたりのドット数で表した水平 |
||||||
ドット間隔 |
||||||
max_micro_address |
Yd |
|||||
micro_..._address での最大値 |
||||||
max_micro_jump |
Ye |
|||||
parm_..._micro での最大値 |
||||||
micro_char_size |
Yf |
|||||
マイクロモードでの文字サイズ |
||||||
micro_line_size |
Yg |
|||||
マイクロモードでの行サイズ |
||||||
number_of_pins |
Yh |
|||||
プリントヘッドのピン数 |
||||||
output_res_char |
Yi |
|||||
行あたりのユニット数による水平解像度 |
||||||
output_res_line |
Yj |
|||||
行あたりのユニット数による垂直解像度 |
||||||
output_res_horz_inch |
Yk |
|||||
インチあたりのユニット数による水平解像度 |
||||||
output_res_vert_inch |
Yl |
|||||
インチあたりのユニット数による垂直解像度 |
||||||
print_rate |
Ym |
|||||
1 秒あたりの文字数による印字レート |
||||||
wide_char_size |
Yn |
|||||
倍幅モードでの文字ステップサイズ |
||||||
buttons |
BT |
|||||
マウスのボタン数 |
||||||
bit_image_entwining |
Yo |
|||||
各ビットイメージ行として渡される数 |
||||||
bit_image_type |
Yp |
|||||
ビットイメージデバイスのタイプ |
以下、文字列ケーパビリティです: 文字列 TCap 記述 |
変数 |
コード |
|||||||
back_tab |
bt |
後退タブ (P) |
||||||
bell |
bl |
可聴シグナル (ベル) (P) |
||||||
carriage_return |
cr |
キャリッジリターン (P*) |
||||||
change_scroll_region |
cs |
領域を行 #1 から行 #2 までに変更 (P) |
||||||
clear_all_tabs |
ct |
全タブストップをクリア (P) |
||||||
clear_screen |
cl |
画面を消去しカーソルをホームに移動 (P*) |
||||||
clr_eol |
ce |
行末までクリア (P) |
||||||
clr_eos |
cd |
画面末までクリア (P*) |
||||||
column_address |
ch |
絶対指定での水平位置 #1 (P) |
||||||
command_character |
CC |
端末がプロトタイプで設定可能なコマンド文字 |
||||||
cursor_address |
cm |
行 #1 桁 #2 に移動 |
||||||
cursor_down |
do |
1 行下に移動 |
||||||
cursor_home |
ho |
カーソルをホームに移動 |
||||||
cursor_invisible |
vi |
カーソルを見えなくする |
||||||
cursor_left |
le |
1 つ左に移動 |
||||||
cursor_mem_address |
CM |
メモリ相対のカーソル位置指定 |
||||||
cursor_normal |
ve |
通常のカーソル表示にする |
||||||
(cursor_invisible/cursor_visible の無効化) |
||||||||
cursor_right |
nd |
1 つ右に移動 |
||||||
cursor_to_ll |
ll |
最終行の最初の桁 |
||||||
cursor_up |
up |
1 行上に移動 |
||||||
cursor_visible |
vs |
カーソルを非常に見易くする |
||||||
delete_character |
dc |
文字削除 (P*) |
||||||
delete_line |
dl |
行削除 (P*) |
||||||
dis_status_line |
ds |
ステータス行を無効にする |
||||||
down_half_line |
hd |
半行下に移動 |
||||||
enter_alt_charset_mode |
as |
別の文字セット開始 (P) |
||||||
enter_blink_mode |
mb |
点滅オン |
||||||
enter_bold_mode |
md |
ボールド (さらに明るい) モードオン |
||||||
enter_ca_mode |
ti |
cursor_address を使用するプログラムを開始 |
||||||
する文字列 |
||||||||
enter_delete_mode |
dm |
削除モードへ入る |
||||||
enter_dim_mode |
mh |
半輝度モードオン |
||||||
enter_insert_mode |
im |
挿入モードへ入る |
||||||
enter_secure_mode |
mk |
ブランクモードオン (文字が見えません) |
||||||
enter_protected_mode |
mp |
保護モードオン |
||||||
enter_reverse_mode |
mr |
反転表示モードオン |
||||||
enter_standout_mode |
so |
強調表示モード開始 |
||||||
enter_underline_mode |
us |
下線モード開始 |
||||||
erase_chars |
ec |
#1 個文字を削除 (P) |
||||||
exit_alt_charset_mode |
ae |
別の文字セット終了 (P) |
||||||
exit_attribute_mode |
me |
全属性をオフ |
||||||
exit_ca_mode |
te |
cup 使用のプログラムを終了する文字列 |
||||||
exit_delete_mode |
ed |
削除モード終了 |
||||||
exit_insert_mode |
ei |
挿入モードから抜ける |
||||||
exit_standout_mode |
se |
強調表示モードから抜ける |
||||||
exit_underline_mode |
ue |
下線モードから抜ける |
||||||
flash_screen |
vb |
可視ベル (カーソルは移動しません) |
||||||
form_feed |
ff |
ハードコピー端末でのページ排出 (P*) |
||||||
from_status_line |
fs |
ステータス行からの復帰 |
||||||
init_1string |
i1 |
初期化文字列 |
||||||
init_2string |
is |
初期化文字列 |
||||||
init_3string |
i3 |
初期化文字列 |
||||||
init_file |
if |
初期化ファイルの名前 |
||||||
insert_character |
ic |
文字挿入 (P) |
||||||
insert_line |
al |
行挿入 (P*) |
||||||
insert_padding |
ip |
挿入された文字の後にパディングを挿入 |
||||||
key_backspace |
kb |
backspace キー |
||||||
key_catab |
ka |
clear-all-tabs キー |
||||||
key_clear |
kC |
clear-screen または erase キー |
||||||
key_ctab |
kt |
clear-tab キー |
||||||
key_dc |
kD |
delete-character キー |
||||||
key_dl |
kL |
delete-line キー |
||||||
key_down |
kd |
down-arrow キー |
||||||
key_eic |
kM |
挿入モードで mir や smir により送られる |
||||||
key_eol |
kE |
clear-to-end-of-line キー |
||||||
key_eos |
kS |
clear-to-end-of-screen キー |
||||||
key_f0 |
k0 |
F0 ファンクションキー |
||||||
key_f1 |
k1 |
F1 ファンクションキー |
||||||
key_f10 |
k; |
F10 ファンクションキー |
||||||
key_f2 |
k2 |
F2 ファンクションキー |
||||||
key_f3 |
k3 |
F3 ファンクションキー |
||||||
key_f4 |
k4 |
F4 ファンクションキー |
||||||
key_f5 |
k5 |
F5 ファンクションキー |
||||||
key_f6 |
k6 |
F6 ファンクションキー |
||||||
key_f7 |
k7 |
F7 ファンクションキー |
||||||
key_f8 |
k8 |
F8 ファンクションキー |
||||||
key_f9 |
k9 |
F9 ファンクションキー |
||||||
key_home |
kh |
home キー |
||||||
key_ic |
kI |
insert-character キー |
||||||
key_il |
kA |
insert-line キー |
||||||
key_left |
kl |
left-arrow キー |
||||||
key_ll |
kH |
last-line キー |
||||||
key_npage |
kN |
next-page キー |
||||||
key_ppage |
kP |
prev-page キー |
||||||
key_right |
kr |
right-arrow キー |
||||||
key_sf |
kF |
scroll-forward キー |
||||||
key_sr |
kR |
scroll-backward |
キー |
|||||
key_stab |
kT |
set-tab |
キー |
|||||
key_up |
ku |
up-arrow キー |
||||||
keypad_local |
ke |
’キーボード送出’ モードから抜ける |
||||||
keypad_xmit |
ks |
’キーボード送出’ モードに入る |
||||||
lab_f0 |
l0 |
非 f0 の時、ファンクションキー f0 のラベル |
||||||
lab_f1 |
l1 |
非 f1 の時、ファンクションキー f1 のラベル |
||||||
lab_f10 |
la |
非 f10 の時、ファンクションキー f10 の |
||||||
ラベル |
||||||||
lab_f2 |
l2 |
非 f2 の時、ファンクションキー f2 のラベル |
||||||
lab_f3 |
l3 |
非 f3 の時、ファンクションキー f3 のラベル |
||||||
lab_f4 |
l4 |
非 f4 の時、ファンクションキー f4 のラベル |
||||||
lab_f5 |
l5 |
非 f5 の時、ファンクションキー f5 のラベル |
||||||
lab_f6 |
l6 |
非 f6 の時、ファンクションキー f6 のラベル |
||||||
lab_f7 |
l7 |
非 f7 の時、ファンクションキー f7 のラベル |
||||||
lab_f8 |
l8 |
非 f8 の時、ファンクションキー f8 のラベル |
||||||
lab_f9 |
l9 |
非 f9 の時、ファンクションキー f9 のラベル |
||||||
meta_off |
mo |
メタモードオフ |
||||||
meta_on |
mm |
メタモードオン (8 ビット目をオン) |
||||||
newline |
nw |
改行 (cr の後に lf が来たように振舞います) |
||||||
pad_char |
pc |
パディング文字 (ナルの代り) |
||||||
parm_dch |
DC |
#1 文字を削除 (P*) |
||||||
parm_delete_line |
DL |
#1 行を削除 (P*) |
||||||
parm_down_cursor |
DO |
#1 行下に移動 (P*) |
||||||
parm_ich |
IC |
#1 文字を挿入 (P*) |
||||||
parm_index |
SF |
#1 行の前進スクロール (P) |
||||||
parm_insert_line |
AL |
#1 行を挿入 (P*) |
||||||
parm_left_cursor |
LE |
#1 文字左に移動 (P) |
||||||
parm_right_cursor |
RI |
#1 文字右に移動 (P*) |
||||||
parm_rindex |
SR |
#1 行の後退スクロール (P) |
||||||
parm_up_cursor |
UP |
#1 行上に移動 (P*) |
||||||
pkey_key |
pk |
文字列 #2 をタイプする |
||||||
プログラムファンクションキー #1 |
||||||||
pkey_local |
pl |
文字列 #2 を実行する |
||||||
プログラムファンクションキー #1 |
||||||||
pkey_xmit |
px |
文字列 #2 を転送する |
||||||
プログラムファンクションキー #1 |
||||||||
print_screen |
ps |
画面の内容を印字 |
||||||
prtr_off |
pf |
プリンタオフ |
||||||
prtr_on |
po |
プリンタオン |
||||||
repeat_char |
rp |
文字 #1 を #2 回繰り返す (P*) |
||||||
reset_1string |
r1 |
リセット文字列 |
||||||
reset_2string |
r2 |
リセット文字列 |
||||||
reset_3string |
r3 |
リセット文字列 |
||||||
reset_file |
rf |
リセットファイルの名前 |
||||||
restore_cursor |
rc |
save_cursor の最後の位置へカーソルを戻す |
||||||
row_address |
cv |
絶対指定での垂直位置 #1 (P) |
||||||
save_cursor |
sc |
現在のカーソル位置を保存 (P) |
||||||
scroll_forward |
sf |
テキストを上にスクロール (P) |
||||||
scroll_reverse |
sr |
テキストを下にスクロール (P) |
||||||
set_attributes |
sa |
ビデオ属性 #1-#9 を定義 (PG9) |
||||||
set_tab |
st |
全ての行において今いる桁にタブを設定 |
||||||
set_window |
wi |
現在のウィンドウを、行 #1-#2 桁 #3-#4 に |
||||||
設定 |
||||||||
tab |
ta |
次の 8 スペースハードウェアタブストップへ |
||||||
タブ |
||||||||
to_status_line |
ts |
ステータス行へ移動 |
||||||
underline_char |
uc |
文字に下線を引きその後に移動 |
||||||
up_half_line |
hu |
半行上に移動 |
||||||
init_prog |
iP |
初期化プログラムのパス名 |
||||||
key_a1 |
K1 |
キーパッドの左上キー |
||||||
key_a3 |
K3 |
キーパッドの右上キー |
||||||
key_b2 |
K2 |
キーパッドの中央キー |
||||||
key_c1 |
K4 |
キーパッドの左下キー |
||||||
key_c3 |
K5 |
キーパッドの右下キー |
||||||
prtr_non |
pO |
#1 バイトだけプリンタをオンする |
||||||
termcap_init2 |
i2 |
2 番目の初期化文字列 |
||||||
termcap_reset |
rs |
端末リセット文字 |
# |
char_padding |
rP |
insert_padding と似ていますが挿入モード時 |
|||||
に使用 |
|||||||
acs_chars |
ac |
図形文字セットの組 - def=vt100 |
|||||
plab_norm |
pn |
プログラムラベル #1 は文字列 #2 を表示 |
|||||
key_btab |
kB |
back-tab キー |
|||||
enter_xon_mode |
SX |
xon/xoff ハンドシェークオン |
|||||
exit_xon_mode |
RX |
xon/xoff ハンドシェークオフ |
|||||
enter_am_mode |
SA |
自動マージンオン |
|||||
exit_am_mode |
RA |
自動マージンオフ |
|||||
xon_character |
XN |
XON 文字 |
|||||
xoff_character |
XF |
XOFF 文字 |
|||||
ena_acs |
eA |
別の文字セットを有効にする |
|||||
label_on |
LO |
ソフトラベルオン |
|||||
label_off |
LF |
ソフトラベルオフ |
|||||
key_beg |
@1 |
begin キー |
|||||
key_cancel |
@2 |
cancel キー |
|||||
key_close |
@3 |
close キー |
|||||
key_command |
@4 |
command |
|||||
キー |
|||||||
key_copy |
@5 |
copy キー |
|||||
key_create |
@6 |
create キー |
|||||
key_end |
@7 |
end キー |
|||||
key_enter |
@8 |
enter/send キー |
|||||
key_exit |
@9 |
exit キー |
|||||
key_find |
@0 |
find キー |
|||||
key_help |
%1 |
help キー |
|||||
key_mark |
%2 |
mark キー |
|||||
key_message |
%3 |
message |
|||||
キー |
|||||||
key_move |
%4 |
move キー |
|||||
key_next |
%5 |
next キー |
|||||
key_open |
%6 |
open キー |
|||||
key_options |
%7 |
options |
|||||
キー |
|||||||
key_previous |
%8 |
previous キー |
|||||
key_print |
%9 |
print キー |
|||||
key_redo |
%0 |
redo キー |
|||||
key_reference |
&1 |
reference キー |
|||||
key_refresh |
&2 |
refresh |
|||||
キー |
|||||||
key_replace |
&3 |
replace |
|||||
キー |
|||||||
key_restart |
&4 |
restart |
|||||
キー |
|||||||
key_resume |
&5 |
resume キー |
|||||
key_save |
&6 |
save キー |
|||||
key_suspend |
&7 |
suspend |
|||||
キー |
|||||||
key_undo |
&8 |
undo キー |
|||||
key_sbeg |
&9 |
シフト状態の begin キー |
|||||
key_scancel |
&0 |
シフト状態の cancel キー |
|||||
key_scommand |
*1 |
シフト状態の command キー |
|||||
key_scopy |
*2 |
シフト状態の copy キー |
|||||
key_screate |
*3 |
シフト状態の create キー |
|||||
key_sdc |
*4 |
シフト状態の delete char キー |
|||||
key_sdl |
*5 |
シフト状態の delete line キー |
|||||
key_select |
*6 |
select キー |
|||||
key_send |
*7 |
シフト状態の end キー |
|||||
key_seol |
*8 |
シフト状態の end-of-line キー |
|||||
key_sexit |
*9 |
シフト状態の exit キー |
|||||
key_sfind |
*0 |
シフト状態の find キー |
|||||
key_shelp |
#1 |
シフト状態の help キー |
|||||
key_shome |
#2 |
シフト状態の home キー |
|||||
key_sic |
#3 |
シフト状態の insert char キー |
|||||
key_sleft |
#4 |
シフト状態の left キー |
|||||
key_smessage |
%a |
シフト状態の message キー |
|||||
key_smove |
%b |
シフト状態の move キー |
|||||
key_snext |
%c |
シフト状態の next キー |
|||||
key_soptions |
%d |
シフト状態の options キー |
|||||
key_sprevious |
%e |
シフト状態の previous キー |
|||||
key_sprint |
%f |
シフト状態の print キー |
|||||
key_sredo |
%g |
シフト状態の redo キー |
|||||
key_sreplace |
%h |
シフト状態の replace キー |
|||||
key_sright |
%i |
シフト状態の right キー |
|||||
key_srsume |
%j |
シフト状態の resume キー |
|||||
key_ssave |
!1 |
シフト状態の save キー |
|||||
key_ssuspend |
!2 |
シフト状態の suspend キー |
|||||
key_sundo |
!3 |
シフト状態の undo キー |
|||||
req_for_input |
RF |
次の入力文字を送る (pty で使用) |
|||||
key_f11 |
F1 |
F11 ファンクションキー |
|||||
key_f12 |
F2 |
F12 ファンクションキー |
|||||
key_f13 |
F3 |
F13 ファンクションキー |
|||||
key_f14 |
F4 |
F14 ファンクションキー |
|||||
key_f15 |
F5 |
F15 ファンクションキー |
|||||
key_f16 |
F6 |
F16 ファンクションキー |
|||||
key_f17 |
F7 |
F17 ファンクションキー |
|||||
key_f18 |
F8 |
F18 ファンクションキー |
|||||
key_f19 |
F9 |
F19 ファンクションキー |
|||||
key_f20 |
FA |
F20 ファンクションキー |
|||||
key_f21 |
FB |
F21 ファンクションキー |
|||||
key_f22 |
FC |
F22 ファンクションキー |
|||||
key_f23 |
FD |
F23 ファンクションキー |
|||||
key_f24 |
FE |
F24 ファンクションキー |
|||||
key_f25 |
FF |
F25 ファンクションキー |
|||||
key_f26 |
FG |
F26 ファンクションキー |
|||||
key_f27 |
FH |
F27 ファンクションキー |
|||||
key_f28 |
FI |
F28 ファンクションキー |
|||||
key_f29 |
FJ |
F29 ファンクションキー |
|||||
key_f30 |
FK |
F30 ファンクションキー |
|||||
key_f31 |
FL |
F31 ファンクションキー |
|||||
key_f32 |
FM |
F32 ファンクションキー |
|||||
key_f33 |
FN |
F33 ファンクションキー |
|||||
key_f34 |
FO |
F34 ファンクションキー |
|||||
key_f35 |
FP |
F35 ファンクションキー |
|||||
key_f36 |
FQ |
F36 ファンクションキー |
|||||
key_f37 |
FR |
F37 ファンクションキー |
|||||
key_f38 |
FS |
F38 ファンクションキー |
|||||
key_f39 |
FT |
F39 ファンクションキー |
|||||
key_f40 |
FU |
F40 ファンクションキー |
|||||
key_f41 |
FV |
F41 ファンクションキー |
|||||
key_f42 |
FW |
F42 ファンクションキー |
|||||
key_f43 |
FX |
F43 ファンクションキー |
|||||
key_f44 |
FY |
F44 ファンクションキー |
|||||
key_f45 |
FZ |
F45 ファンクションキー |
|||||
key_f46 |
Fa |
F46 ファンクションキー |
|||||
key_f47 |
Fb |
F47 ファンクションキー |
|||||
key_f48 |
Fc |
F48 ファンクションキー |
|||||
key_f49 |
Fd |
F49 ファンクションキー |
|||||
key_f50 |
Fe |
F50 ファンクションキー |
|||||
key_f51 |
Ff |
F51 ファンクションキー |
|||||
key_f52 |
Fg |
F52 ファンクションキー |
|||||
key_f53 |
Fh |
F53 ファンクションキー |
|||||
key_f54 |
Fi |
F54 ファンクションキー |
|||||
key_f55 |
Fj |
F55 ファンクションキー |
|||||
key_f56 |
Fk |
F56 ファンクションキー |
|||||
key_f57 |
Fl |
F57 ファンクションキー |
|||||
key_f58 |
Fm |
F58 ファンクションキー |
|||||
key_f59 |
Fn |
F59 ファンクションキー |
|||||
key_f60 |
Fo |
F60 ファンクションキー |
|||||
key_f61 |
Fp |
F61 ファンクションキー |
|||||
key_f62 |
Fq |
F62 ファンクションキー |
|||||
key_f63 |
Fr |
F63 ファンクションキー |
|||||
clr_bol |
cb |
行頭までクリア |
|||||
clear_margins |
MC |
左右のソフトマージンをクリア |
|||||
set_left_margin |
ML |
左のソフトマージンを設定 |
|||||
set_right_margin |
MR |
右のソフトマージンを設定 |
|||||
label_format |
Lf |
ラベルフォーマット |
|||||
set_clock |
SC |
時刻を #1 時 #2 分 #3 秒に設定 |
|||||
display_clock |
DK |
位置 (#1,#2) に時計を表示 |
|||||
remove_clock |
RC |
時計を取り除く |
|||||
create_window |
CW |
ウィンドウ #1 を #2, #3 から #4, #5 までと |
|||||
定義 |
|||||||
goto_window |
WG |
ウィンドウ #1 に移動 |
|||||
hangup |
HU |
電話をハングアップする |
|||||
dial_phone |
DI |
番号 #1 にダイヤルする |
|||||
quick_dial |
QD |
チェックせずに番号 #1 にダイヤルする |
|||||
tone |
TO |
タッチトーンダイヤルを選択 |
|||||
pulse |
PU |
パルスダイヤルを選択 |
|||||
flash_hook |
fh |
スイッチフックをフラッシュする |
|||||
fixed_pause |
PA |
2-3 秒待つ |
|||||
wait_tone |
WA |
ダイヤルトーンを待つ |
|||||
user0 |
u0 |
ユーザ文字列 #0 |
|||||
user1 |
u1 |
ユーザ文字列 #1 |
|||||
user2 |
u2 |
ユーザ文字列 #2 |
|||||
user3 |
u3 |
ユーザ文字列 #3 |
|||||
user4 |
u4 |
ユーザ文字列 #4 |
|||||
user5 |
u5 |
ユーザ文字列 #5 |
|||||
user6 |
u6 |
ユーザ文字列 #6 |
|||||
user7 |
u7 |
ユーザ文字列 #7 |
|||||
user8 |
u8 |
ユーザ文字列 #8 |
|||||
user9 |
u9 |
ユーザ文字列 #9 |
# |
orig_pair |
op |
|||||
デフォルトのペアを元の値に戻す |
||||||
orig_colors |
oc |
|||||
色のペア全てを元に戻す |
||||||
initialize_color |
Ic |
|||||
色 #1 を (#2,#3,#4) に設定 |
||||||
initialize_pair |
Ip |
|||||
色のペア #1 を fg=(#2,#3,#4), |
||||||
bg=(#5,#6,#7) に設定 |
||||||
set_color_pair |
sp |
|||||
現在の色のペアを #1 に設定 |
||||||
set_foreground |
Sf |
|||||
前景色を #1 に設定 |
||||||
set_background |
Sb |
|||||
背景色を #1 に設定 |
# |
change_char_pitch |
ZA |
1 インチあたりの文字数を変更 |
|||||
change_line_pitch |
ZB |
1 インチあたりの行数を変更 |
|||||
change_res_horz |
ZC |
水平解像度を変更 |
|||||
change_res_vert |
ZD |
垂直解像度を変更 |
|||||
define_char |
ZE |
文字を定義 |
|||||
enter_doublewide_mode |
ZF |
倍幅モードに入る |
|||||
enter_draft_quality |
ZG |
ドラフト印字モードに入る |
|||||
enter_italics_mode |
ZH |
イタリックモードに入る |
|||||
enter_leftward_mode |
ZI |
キャリッジの左向き移動開始 |
|||||
enter_micro_mode |
ZJ |
マイクロ移動モードに入る |
|||||
enter_near_letter_quality |
ZK |
||||||
NLQ 印字モードに入る |
|||||||
enter_normal_quality |
ZL |
通常品質印字モードに入る |
|||||
enter_shadow_mode |
ZM |
シャドウプリントモード開始 |
|||||
enter_subscript_mode |
ZN |
下付き文字モード |
|||||
enter_superscript_mode |
ZO |
上付き文字モード |
|||||
enter_upward_mode |
ZP |
キャリッジの上向き移動開始 |
|||||
exit_doublewide_mode |
ZQ |
倍幅印字モード終了 |
|||||
exit_italics_mode |
ZR |
イタリックモード終了 |
|||||
exit_leftward_mode |
ZS |
左向き移動モード終了 |
|||||
exit_micro_mode |
ZT |
マイクロ移動モード終了 |
|||||
exit_shadow_mode |
ZU |
シャドウプリントモード終了 |
|||||
exit_subscript_mode |
ZV |
下付き文字モード終了 |
|||||
exit_superscript_mode |
ZW |
上付き文字モード終了 |
|||||
exit_upward_mode |
ZX |
逆向き文字移動終了 |
|||||
micro_column_address |
ZY |
マイクロモードの column_address |
|||||
micro_down |
ZZ |
マイクロモードの cursor_down |
|||||
micro_left |
Za |
マイクロモードの cursor_left |
|||||
micro_right |
Zb |
マイクロモードの cursor_right |
|||||
micro_row_address |
Zc |
マイクロモードの row_address |
|||||
micro_up |
Zd |
マイクロモードの cursor_up |
|||||
order_of_pins |
Ze |
ソフトウェアビットを印字ヘッドピンに |
|||||
あわせる |
|||||||
parm_down_micro |
Zf |
マイクロモードの parm_down_cursor |
|||||
parm_left_micro |
Zg |
マイクロモードの parm_left_cursor |
|||||
parm_right_micro |
Zh |
マイクロモードの parm_right_cursor |
|||||
parm_up_micro |
Zi |
マイクロモードの parm_up_cursor |
|||||
select_char_set |
Zj |
文字セットの選択 |
|||||
set_bottom_margin |
Zk |
現在の行を下マージンに設定 |
|||||
set_bottom_margin_parm |
Zl |
下マージンを行 #1 または下から #2 行に設定 |
|||||
set_left_margin_parm |
Zm |
左 (右) マージンを桁 #1 (#2) に設定 |
|||||
set_right_margin_parm |
Zn |
右マージンを桁 #1 に設定 |
|||||
set_top_margin |
Zo |
上マージンを現在の行に設定 |
|||||
set_top_margin_parm |
Zp |
上 (下) マージンを行 #1 (#2) に設定 |
|||||
start_bit_image |
Zq |
ビットイメージグラフィクスの印刷開始 |
|||||
start_char_set_def |
Zr |
文字セットの定義開始 |
|||||
stop_bit_image |
Zs |
ビットイメージグラフィクスの印刷停止 |
|||||
stop_char_set_def |
Zt |
文字セットの定義終了 |
|||||
subscript_characters |
Zu |
下付き文字となりうる文字のリスト |
|||||
superscript_characters |
Zv |
上付き文字となりうる文字のリスト |
|||||
these_cause_cr |
Zw |
印字すると CR となる文字 |
|||||
zero_motion |
Zx |
次の文字表示では移動しない |
# |
char_set_names |
Zy |
文字セット名のリスト |
|||||
key_mouse |
Km |
マウスイベントが発生した |
|||||
mouse_info |
Mi |
マウス状態の情報 |
|||||
req_mouse_pos |
RQ |
マウス位置の要求 |
|||||
get_mouse |
Gm |
curses がボタンイベントを取得すべき |
|||||
set_a_foreground |
AF |
ANSI 前景色を設定 |
|||||
set_a_background |
AB |
ANSI 背景色を設定 |
|||||
pkey_plab |
xl |
文字列 #2 をタイプし、文字列 #3 を表示する |
|||||
プログラムファンクションキー |
|||||||
device_type |
dv |
言語/コードセットサポートの表示 |
|||||
code_set_init |
ci |
複数コードセットシーケンスの初期化 |
|||||
set0_des_seq |
s0 |
コードセット 0 へシフト |
|||||
(EUC セット 0, ASCII) |
|||||||
set1_des_seq |
s1 |
コードセット 1 へシフト |
|||||
set2_des_seq |
s2 |
コードセット 2 へシフト |
|||||
set3_des_seq |
s3 |
コードセット 3 へシフト |
|||||
set_lr_margin |
ML |
左右マージンをそれぞれ #1, #2 に設定 |
|||||
set_tb_margin |
MT |
上下マージンをそれぞれ #1, #2 に設定 |
|||||
bit_image_repeat |
Xy |
ビットイメージセル #1 を #2 回繰り返す |
|||||
bit_image_newline |
Zz |
ビットイメージの次の行に移動 |
|||||
bit_image_carriage_return |
Yv |
||||||
同一行の先頭に移動 |
|||||||
color_names |
Yw |
色 #1 の名前を与える |
|||||
define_bit_image_region |
Yx |
長方形のビットイメージ領域を定義 |
|||||
end_bit_image_region |
Yy |
ビットイメージ領域の終了 |
|||||
set_color_band |
Yz |
色リボン #1 に変更 |
|||||
set_page_length |
YZ |
ページ長を #1 行に設定 |
# |
display_pc_char |
S1 |
|||||
PC 文字を表示 |
||||||
enter_pc_charset_mode |
S2 |
|||||
PC 文字表示モードに入る |
||||||
exit_pc_charset_mode |
S3 |
|||||
PC 文字表示モード終了 |
||||||
enter_scancode_mode |
S4 |
|||||
PC スキャンコードモードに入る |
||||||
exit_scancode_mode |
S5 |
|||||
PC スキャンコードモードから抜ける |
||||||
pc_term_options |
S6 |
|||||
PC 端末オプション |
||||||
scancode_escape |
S7 |
|||||
スキャンコードエミュレーションのための |
||||||
エスケープ |
||||||
alt_scancode_esc |
S8 |
|||||
スキャンコードエミュレーションのための |
||||||
別のエスケープ |
# |
enter_horizontal_hl_mode |
Xh |
|||||
水平ハイライトモードに入る |
||||||
enter_left_hl_mode |
Xl |
左ハイライトモードに入る |
||||
enter_low_hl_mode |
Xo |
下ハイライトモードに入る |
||||
enter_right_hl_mode |
Xr |
右ハイライトモードに入る |
||||
enter_top_hl_mode |
Xt |
上ハイライトモードに入る |
||||
enter_vertical_hl_mode |
Xv |
垂直ハイライトモードに入る |
以下は廃れた termcap ケーパビリティです。新しいソフトウェアはどれにも依存 しないようにしてください。 ブール値 TCap 記述 |
変数 |
コード |
|||||
linefeed_is_newline |
NL |
|||||
^J で下に移動 |
||||||
even_parity |
EP |
|||||
端末は偶数パリティを要求 |
||||||
odd_parity |
OP |
|||||
端末は奇数パリティを要求 |
||||||
half_duplex |
HD |
|||||
端末は半 2 重 |
||||||
lower_case_only |
LC |
|||||
端末は小文字のみ持つ |
||||||
upper_case_only |
UC |
|||||
端末は大文字のみ持つ |
||||||
has_hardware_tabs |
pt |
|||||
^I で起動される 8 文字タブがある |
||||||
return_does_clr_eol |
xr |
|||||
リターンは行をクリアする |
||||||
tek_4025_insert_line |
xx |
|||||
Tektronix 4025 の insert-line グリッチ |
||||||
backspaces_with_bs |
bs |
|||||
左に移動するために ^H を使用 |
||||||
crt_no_scrolling |
ns |
|||||
crt はスクロールできない |
||||||
no_correctly_working_cr |
nc |
|||||
行頭に行く手段が無い |
数値 TCap 記述 |
変数 |
コード |
|||||
backspace_delay |
dB |
|||||
^H に必要なパディング |
||||||
form_feed_delay |
dF |
|||||
^L に必要なパディング |
||||||
horizontal_tab_delay |
dT |
|||||
^I に必要なパディング |
||||||
vertical_tab_delay |
dV |
|||||
^V に必要なパディング |
||||||
number_of_function_keys |
kn |
|||||
ファンクションキーの数 |
||||||
carriage_return_delay |
dC |
|||||
CR に必要なパディング |
||||||
new_line_delay |
dN |
|||||
LF に必要なパディング |
文字列 TCap 記述 |
変数 |
コード |
|||||
other_non_function_keys |
ko |
|||||
自己にマップされたキーのリスト |
||||||
arrow_key_map |
ma |
|||||
矢印キーをマップ |
||||||
memory_lock_above |
ml |
|||||
現在の行より上の画面で見える部分のメモリを |
||||||
ロック |
||||||
memory_unlock |
mu |
|||||
現在の行より上の画面で見える部分のメモリの |
||||||
ロックを解除 |
||||||
linefeed_if_not_lf |
nl |
|||||
下に移動するために使用 |
||||||
backspace_if_not_bs |
bc |
|||||
^H でない場合に左に移動 |
エントリのサンプル |
以下のエントリは Concept−100 について記述しており、本書の中でも最も複雑な エントリの 1 つです。 ca|concept100|c100|concept|c104|concept100-4p|HDS Concept−100:\ |
:al=3*\E^R:am:bl=^G:cd=16*\E^C:ce=16\E^U:cl=2*^L:cm=\Ea%+ %+ :\ |
||
:co#80:.cr=9^M:db:dc=16\E^A:dl=3*\E^B:do=^J:ei=\E\200:eo:im=\E^P:in:\ |
||
:ip=16*:is=\EU\Ef\E7\E5\E8\El\ENH\EK\E\200\Eo&\200\Eo\47\E:k1=\E5:\ |
||
:k2=\E6:k3=\E7:kb=^h:kd=\E<:ke=\Ex:kh=\E?:kl=\E>:kr=\E=:ks=\EX:\ |
||
:ku=\E;:le=^H:li#24:mb=\EC:me=\EN\200:mh=\EE:mi:mk=\EH:mp=\EI:\ |
||
:mr=\ED:nd=\E=:pb#9600:rp=0.2*\Er%.%+ :se=\Ed\Ee:sf=^J:so=\EE\ED:\ |
||
:.ta=8\t:te=\Ev \200\200\200\200\200\200\Ep\r\n:\ |
||
:ti=\EU\Ev 8p\Ep\r:ue=\Eg:ul:up=\E;:us=\EG:\ |
||
:vb=\Ek\200\200\200\200\200\200\200\200\200\200\200\200\200\200\EK:\ |
||
:ve=\Ew:vs=\EW:vt#8:xn:\ |
||
:bs:cr=^M:dC#9:dT#8:nl=^J:ta=^I:pt: |
行末文字に \ を使用すれば、複数行にエントリを続けることができます。また空 のフィールドを含めて可読性を上げることもできます (ある行の最後のフィール ドから次の行の最初のフィールドまでです)。コメントは ‘‘#’’ で始まる行に含 めることができます。 |
ケーパビリティの型 |
termcap のケーパビリティには次の 3 種類があります: 特定の機能を端末が持つ かどうかを示す、ブール値ケーパビリティ; 画面の大きさや他の属性の大きさを 与える、数値ケーパビリティ; そして特定の端末操作を行うために使用可能な文 字列を与える、文字列ケーパビリティです。全てのケーパビリティが 2 文字の コードを持ちます。例えば、Concept が 自動マージン (行末に到達すると、自動 的にリターンおよびラインフィードする機能) を持つという事実は、ブール値 ケーパビリティ am で示されます。それゆえ Concept の記述は am を含みます。 数値ケーパビリティの後には文字 ‘#’ が続き、そして値が続きます。上の例で は、画面の桁数を示す co は Concept に対しては値 ‘80’ を与えます。 最後に、文字列値のケーパビリティ、例えば ce (行末までクリアのシーケンス) は、2 文字のコード、単一の ‘=’、そして次の ‘:’ までの文字列で与えられま す。このケーパビリティにおいては、ミリ秒指定の遅延を ‘=’ の後に指定可能で す。この場合、残りの文字列が送られた後、パディング文字が tputs(3) により 与えられ、この遅延を発生させます。遅延は ‘20’ のような数値または ‘3*’ の ような ‘*’ が続く数値です。 ‘*’ は、この操作により影響を受ける行数に必要 なパディングが比例すること、そして指定量は影響を受ける各行に必要なパディ ングであることを示します。 (insert-character の場合でも、係数は影響を受け る 行数です; ただし、端末が in を持っていてソフトウェアがこれを使用する場 合以外は、この値は常に 1 です。) ‘*’ が指定される時、‘3.5’ のような形式に より 1/10 ミリ秒単位で行あたりの遅延を指定するのが便利な場合があります。 (10 進数 1 桁分のみ許されます。) 多くのエスケープシーケンスが文字列値のケーパビリティで提供されますので、 ここでは容易に制御文字をエンコードできます。 \E は ESC 文字にマップし、 ^X は適切な X に対して control-X にマップし、シーケンス \n \r \t \b \f は それぞれ、ラインフィード、リターン、タブ、バックスペース、フォームフィー ドにマップします。最後に、文字は \ の後に 3 桁 8 進数として指定可能です し、 ^ と \ の文字は \^ と \\ として与えられます。ケーパビリティ中に : を 入れる必要がある場合、 \: とエスケープするか、8 進数で \072 とエスケープ する必要があります。文字列ケーパビリティ中に NUL 文字を入れる必要がある場 合、 \200 とエンコードする必要があります。( termcap を扱うルーチンは C の 文字列を使用し、出力の最上位ビットをかなり遅い段階で取り除くので、 \200 は \000 として出力されます。) 個々のケーパビリティをコメントアウトする必要があるかもしれません。その場 合には、ケーパビリティ名の前にピリオドを付けます。例えば、例における最初 の cr と ta を見てください。 |
記述の準備 |
端末記述を準備する最も効果的な方法は、 termcap 中の似た端末の記述を真似 し、 vi(1) を使用して部分記述の正しさを確認することにより、徐々に記述を構 築するというものです。非常に稀なことですが、端末によっては、 termcap ファ イルの記述能力不足や vi(1) のバグが露呈することがありますので注意してくだ さい。あなたが新しく作った端末記述を簡単にテストするには、あなたのホーム ディレクトリに .termcap という名前のファイルとして置き、プログラムが /usr/share/misc/termcap の前にこれを見るようにします。環境変数 TERMPATH をあなたが作成した記述を含む絶対ファイルパス名のリスト (空白もしくはコロ ンで区切ります) に設定することにより、プログラムはこれらをリスト順に検索 し、他は検索しないようになります。 termcap(3) を参照してください。 TERMCAP 環境変数は、通常 termcap エントリ自身に設定され、プログラム起動時 にファイルを読むことを避けます。 行挿入に対する適切なパディングを得るためには (端末製造元が記述しなかった 場合には)、 vi(1) を使用して /etc/passwd を 9600 ボーで編集し、およそ 16 行を画面中央から削除し、それから ‘u’ キーを何度か素早く押すという、厳しい テストを行います。画面がぐちゃぐちゃになった場合には、通常はより多くのパ ディングが必要となります。同様のテストを文字挿入に対しても行うことが可能 です。 |
基本ケーパビリティ |
表示の各行の桁数は co 数値ケーパビリティで与えられます。表示が CRT になさ れる場合、画面の行数は li ケーパビリティで与えられます。カーソルが右マー ジンに到達した時に、表示が次の行の先頭に回り込む場合には、 am ケーパビリ ティを持ちます。端末が画面をクリア可能な場合には、そうするためのコードが cl 文字列ケーパビリティで与えられます。端末が (上書きされる文字の位置をク リアするのではなく) 上打ちする場合には、 os ケーパビリティがあります。端 末がプリント端末でソフトコピーユニットを持たない場合、 hc と os を指定し てください。 (os があてはまるのは Tektronix 4010 シリーズのようなストレー ジスコープ端末、ハードコピー端末、そして APL 端末です。) カーソルを直ちに 左端に移動するためのコードがある場合には、それを cr で指定します。 (通常 これは復帰文字(キャリッジリターン)、すなわち ^M です。) 可聴シグナル (ベ ルやビープなど) を発生するコードがある場合には、それを bl で指定します。 (バックスペースのように) カーソルを 1 つ左に移動するコードがある場合に は、このケーパビリティは le で指定します。同様に、右上下に移動するコード はそれぞれ nd, up, do で指定します。これらの ローカルなカーソル移動は、 カーソルが通過する文字を変化させてはなりません; 例えば、通常は ‘‘nd= ’’ を使用してはなりません。例外は端末が os ケーパビリティを持つ場合です。こ の理由は、通過する文字を空白が消してしまうからです。 ここで非常に重要なポイントは、 termcap でエンコードされるローカルなカーソ ル移動は、 CRT 表示の左端および上端では動作が未定義だということです。ロー カルなカーソル移動を使用している場合には、左端においては bw が与えられて いるのでなければ、プログラムはバックスペースを試してはなりませんし、上端 においては上への移動を試してはなりません。 テキストを上にスクロールするには、プログラムは画面左下角に移動して、 sf ( インデックス) 文字列を送ります。テキストを下にスクロールするには、プログ ラムは画面左上角に移動して、 sr (逆インデックス) 文字列を送ります。期待さ れた角以外での sf および sr 文字列の動作は未定義です。パラメータ化した バージョンのスクロールシーケンスは SF および SR で、 sf および sr と同様 の意味ですが、 1 つパラメータを取ってその行数だけスクロールさせるというと ころが違います。これらもまた、画面上の適切な角以外での動作は未定義です。 am ケーパビリティは、画面の右端にてテキスト出力を行った時に、カーソルがそ の位置に留まるか否かを示します。しかしこれは、最後の桁での nd を必ずしも 意味しません。左端らかの左向きのローカル移動は、 bw が与えられている場合 のみ定義されます; この場合、左端における le は、直前行の右端へ移動しま す。例えば、画面の周囲に箱を描画する場合に便利です。端末が切り替え選択式 の自動マージンを持つ場合には、 termcap 記述は通常この機能、 すなわち am がオンであることを仮定します。次行の先頭桁への移動コマンドを端末が持つ場 合、このコマンドは nw (改行) で与えることができます。これを使用して現在の 行の残りの部分をクリアすることができますので、正しく動作する CR および LF を持たない場合には、これらの代りに使用することができます。 これらの機能で、ハードコピー端末および ‘‘ガラスの tty’’ 端末を記述するた めには十分です。 Teletype model 33 は以下のように記述されています T3|tty33|33|tty|Teletype model 33:\ |
:bl=^G:co#72:cr=^M:do=^J:hc:os: |
また Lear Siegler ADM−3 は以下のように記述されています l3|adm3|3|LSI ADM-3:\ :am:bl=^G:cl=^Z:co#80:cr=^M:do=^J:le=^H:li#24:sf=^J: |
パラメータ化された文字列 |
カーソル位置設定などのパラメータを要求する文字列は、パラメータ化された文 字列ケーパビリティで記述します。ここでは printf(3) に似たエスケープ %x を 使用します。その他の文字は変更されずに渡されます。例えば、カーソル位置設 定のために cm ケーパビリティが与えられますが、これは 2 つのパラメータを使 用します: それぞれ移動先の行と桁です。 (行と桁は 0 から番号が振られ、ユー ザから見える物理画面を参照します。見えないメモリは参照しません。端末がメ モリ相対のカーソル位置設定機能を持つ場合には、 CM という似たケーパビリ ティで指定されます。) % エンコードは以下の意味を持ちます: |
%% ‘%’ を出力 Hewlett-Packard 2645 において第 3 行第 12 桁に移動する場合、 ‘‘\E&a12c03Y’’ を送って 6 ミリ秒パディングする必要があります。行と桁の関 係がここでは逆であり、行および桁は 2 桁の整数として送ることに注意してくだ さい。よって、この端末の cm ケーパビリティは ‘‘cm=6\E&%r%2c%2Y’’ となりま す。 Datamedia 2500 は現在の行と桁を ‘‘%.’’ でバイナリエンコードして送る必要が あります。 ‘‘%.’’ を使用する端末は、カーソルをバックスペース (le) させる 機能と画面上で 1 行カーソルを上に移動 (up) する機能を持つ必要があります。 なぜなら \n, ^D, \r を送出するのは常に安全というわけではなく、システムが これらに変更を加えたり捨てたりする場合があるからです。( termcap を使用す るプログラムは、タブが展開されないように端末モードを設定し、 \t が安全に 送られるようにしなければなりません。これは Ann Arbor 4080 において本質的 です。) 最後の例は Lear Siegler ADM−3a です。この端末では行と桁は空白文字で与えま すので、 ‘‘cm=\E=%+ %+となります。’’ 絶対値での行や桁のカーソル位置設定は、単一パラメータのケーパビリティ ch ( 水平絶対位置) および cv (垂直絶対位置) で与えられます。一般的な 2 パラ メータシーケンスよりもこれらを使用する方が短かいことがあり (Hewlett-Packard 2645 の場合)、 cm よりも好んで使用され得ます。パラメータ 化されたローカル移動 (例えば、 n 個右に移動) の機能がある場合、 DO, LE, RI, UP として与えられます。これらは単一パラメータを取り、いくつ移動するの かを示します。第 1 に Tektronix 4025 のような cm を持たない端末で有用で す。 |
カーソル移動 |
端末が高速にカーソルをホーム (画面の左上角) に移動する方法がある場合、こ れは ho として与えられます。同様に、高速に左下角に移動する方法は、 ll で 与えられます; これには、ホームポジションにて up を使用することによる上へ の移動を含みますが、プログラム自身がこれを実行してはなりません (ただし ll が実行する場合を除く)。なぜならプログラムはホームポジションでの上への移動 の効果を仮定できないからです。) ホームポジションは、カーソル位置 (0,0) と 同じです: 画面の左上角であり、メモリは無関係です。 (それゆ え、Hewlett-Packard 端末の ‘‘\EH’’ シーケンスは、 ho としては使用できませ ん。) |
領域クリア |
端末が、現在位置に留まりつつ、現在位置から行末までクリア可能である場合に は、この機能は ce として与えられます。端末が、現在位置から描画終端までを クリア可能である場合には、この機能は cd として与えられます。 cd は行の最 初の桁においてのみ起動可能です。(よって、真の cd が利用できない場合、この 機能は多数の行を削除する要求にてシミュレート可能です。) |
行の挿入および削除 |
端末が、カーソルがいる行の前に新しい空行を開けることが可能な場合、この機 能は al として与えられます; この機能を起動するには行頭にいる必要がありま す。行を開けると、カーソルは新しい空行の左端に移動します。端末が、カーソ ルがいる行を削除可能な場合、この機能は dl として与えられます;この機能を 起動するには削除する行の先頭にいる必要があります。 1 つパラメータを取って その数だけ行を挿入および削除する al および dl の変形は、 AL および DL と して与えられます。端末が、(VT100 のように) 設定可能なスクロール領域を持つ 場合、設定コマンドは 2 つのパラメータを取る cs ケーパビリティとして記述さ れます: パラメータはスクロール領域の上端行および下端行です。なんとしたこ とか、このコマンド使用後のカーソル位置は未定義です。行挿入および行削除の 効果はこのコマンドを使用することで得られます — sc および rc (カーソルの保 存と回復) コマンドもまた有用です。画面の上端または下端における行挿入は、 真の行挿入/削除を持たない多くの端末において、 sr または sf にて実行できま す。また、真の行挿入/削除機能を持つ端末においても、こちらの方が高速な場合 が多いです。 メモリの一部を、全コマンドが影響するウィンドウとして定義する能力を端末が 持つ場合、これはパラメータ化された文字列 wi で与えられます。 4 つのパラ メータは順番に、メモリにおける開始行・終了行・開始桁・終了桁です。 (この terminfo(5) ケーパビリティは完全性のために記述しています。 termcap を使用 するプログラムはこの機能を使ってはいないでしょう。) 端末が画面より上方の表示メモリを保存する場合、 da ケーパビリティが与えら れます; 下方の表示メモリが保存される場合、 db が与えられます。これらの機 能は、行削除やスクロールにより非空白行が下から現れることや、 sr による後 退スクロールにより非空白行が上から現れることを示します。 |
文字の挿入および削除 |
termcap にて記述可能な文字挿入および削除に関しては、基本的に 2 種類のイン テリジェント端末があります。最も一般的な文字の挿入/削除操作は現在行の文字 にのみ作用し、行末までの文字を厳格にシフトします。他の端末、Concept−100 や Perkin Elmer Owl では、タイプされた空白とタイプされたものではない空白 を区別し、挿入/削除に際するシフトは画面上のタイプされたものではない空白に のみ適用されます。タイプされたものではない空白は、削除されるか、 2 つのタ イプされたものではない空白に拡張されます。使用している端末の種類を判別す るためには、画面をクリアし、カーソル移動を含めてテキストをタイプします。 例えば ‘‘abc def’’ を、 ‘‘abc’’ と ‘‘def’’ の間でローカルなカーソル移 動 (空白ではありません) を行ってタイプします。その後、カーソルを ‘‘abc’’ の前に移動し、端末を挿入モードにします。そこで文字をタイプすると行の残り の部分が厳密にシフトされ終端から出て行く場合、あなたの端末は空白とタイプ されたものではない位置とを区別しません。もし挿入に際して、 ‘‘abc’’ が ‘‘def’’ のところまでシフトし、それから一緒に現在の行の終端まで移動して次 行に移動する場合、あなたの端末は 2 番目の種類の端末を持っていますので、 ‘‘ナル挿入’’ を表すケーパビリティ in を指定します。これら 2 つは論理的に 別の属性 (1 行 対複数行の挿入モードでタイプされたものではない空白を特別に 扱う) ですが、挿入モードをどちらかで記述できない端末を我々は見たことがあ りません。 termcap エントリは、挿入モードを持つ端末も、単純なシーケンスを送って現在 の行に空白位置を開ける端末も、両方記述可能です。 im は挿入モードに入る シーケンスを表します。 ei は挿入モードから抜けるシーケンスを表します。そ して、 ic は、挿入する文字を送る直前に送る必要があるシーケンスを表しま す。真の挿入モードを持つほとんどの端末は、 ic を指定しません; 一方、画面 上の位置を開けるためにシーケンスを使用する端末は、これを指定する必要があ ります。 (端末が両方の機能を持つ場合には、挿入モードは通常 ic が好まれま す。実際に両機能を組み合せる必要がある端末の場合以外は、両方を指定しない でください。) 挿入後にパディングが必要な場合、ミリ秒数にて ip (文字列オプ ション) で与えます。 1 文字挿入後に送る必要があるシーケンスもまた ip で指 定します。‘挿入モード’ である必要があり、なおかつ挿入文字の前に特別のコー ドを送る必要がある端末の場合、 im/ ei と ic が与えられ、両方を使用しま す。単一のパラメータ n を取る IC ケーパビリティは、 ic の効果を n 回繰り 返します。 挿入モード中で同一行の文字を削除するために、時々移動が必要になります (例 えば挿入位置の後にタブがある場合)。挿入モード中で移動を許す端末の場合、 ケーパビリティ mi を指定して、このような場合の挿入を高速化できます。 mi を省略しても速度に影響するだけです。端末によっては (特に Datamedia のもの では)、挿入モードの動作方法の理由により、 mi を指定してはなりません。 最後に、1 文字削除のために dc を指定可能です。 DC は単一パラメータ n を取 り n 文字削除します。そして削除モードは、 dm および ed で、削除モードの入 り方および抜け方を示します (削除モードとは、 dc が動作するために端末がい るべきモードです)。 |
ハイライト・下線・可視ベル |
端末が 1 つまたはそれ以上の種類の表示属性を持つ場合、これらは様々な方法で 表現されていることでしょう。 1 つの表示形式を 強調表示モードとして選択し てください。このモードは十分高いコントラストで見易く、エラーメッセージや 注意を引く表示のハイライトに適します。 (選択可能ならば、反転表示に半分の 明るさ、もしくは反転表示のみが良いでしょう。) 強調表示モードに入るシーケ ンスおよび出るシーケンスは、それぞれ so および se で与えられます。 TVI 912 や Teleray 1061 のように、強調表示モードの出入りのコードが、 1 つ 2 つの空白やごみの文字を画面上に残す場合、 sg を指定して、何文字残されるの かを指定してください。 下線の開始および下線の終了は、それぞれ us および ue で指定します。下線 モード変更によるごみは、 sg 同様 ug として指定します。 Microterm Mime の ように、現在位置の文字に下線を引き、カーソルをひとつ右の位置に移動する コードを端末が持つ場合、このコードは uc で指定します。 その他もろもろのハイライトモードに入るケーパビリティには、 mb (点滅)、 md (ボールドまたは更に明るい)、 mh (暗いまたは半輝度)、 mk (空白または見えな いテキスト)、 mp (保護状態)、 mr (反転表示)、 me (全ての属性モードをオ フ)、 as (別の文字セットモードに入る) そして ae (別の文字セットモードから 抜ける) があります。これらのモードを単独でオンにした場合、他のモードをオ フにする場合もありますし、オフにしない場合もあります。 モードの任意の組み合わせを設定するシーケンスがある場合、これは 9 個のパラ メータを取る sa (属性設定) で指定します。それぞれのパラメータは 0 または 1 であり、対応する属性がオンまたはオフされます。 9 個のパラメータは順番に 次の通りです: 強調表示・下線・反転・点滅・暗い・ボールド・空白・保護・別 の文字セット。全モードが sa によりサポートされている必要は無く、サポート されているものに対応するコマンドが存在することのみ必要です。( termcap を 使用するプログラムはこのケーパビリティをサポートしていないでしょう。この ケーパビリティは terminfo(5) との互換性のために定義しています。) 各文字セルに追加された属性ビットを管理するのではなく、 ‘‘マジッククッ キー’’ グリッチ (sg および ug) を持つ端末では、描画アルゴリズムに影響する モード設定シーケンスを受信した時に、特別な ‘‘クッキー’’ または ‘‘ごみ文 字’’ を画面に残します。 Hewlett-Packard 2621 のように、新しい行へ移動した時やカーソル位置を設定し た時に自動的に強調表示モードから抜ける端末があります。このような端末にお いては、強調表示モードを使用するプログラムは、カーソル移動や改行送信前に 強調表示モードから抜ける必要があります。このような問題が無い端末では、 ms ケーパビリティが存在し、このオーバヘッドが不要であることを示します。 エラーを静かに伝えるために端末が画面をフラッシュさせる方法を持つ場合 (ベ ルの代りです)、これは vb として指定します; この機能はカーソルを移動しては なりません。 カーソルが最下行になくても、通常時よりも見易くする必要がある場合 (例え ば、点滅していない下線を、より見付け易いブロックや点滅する下線に変更する 場合)、このシーケンスは vs で与えます。カーソルを完全に見えなくする方法が ある場合には、これは vi ケーパビリティで指定します。これらのモードの効果 を打ち消すケーパビリティ ve も指定する必要があります。 (特別なコードを必要とせずに) 下線を引かれた文字を端末が正しく表示する場 合、しかもその機能が上打ちではない場合、このケーパビリティを ul で示しま す。上打ちを空白にて消去可能な場合、これは eo で示します。 |
キーパッド |
キーを押した時にコードを送出するキーパッドを持つ端末では、この情報を指定 することができます。キーパッドがローカルモードにおいてのみ動作する端末は 扱うことができないことに注意してください。 (これは例えば Hewlett-Packard 2621 でシフト状態でないキーにあてはまります)。キーコードの送出 / 非送出を キーパッドに設定できる場合は、設定のためのコードは ks および ke で指定し ます。そうでない場合はキーパッドは常にコードを送出するものと仮定されま す。 left-arrow, right-arrow, up-arrow, down-arrow, home のキーで送出され るコードはそれぞれ kl, kr, ku, kd, kh, で指定します。 f0, f1, ..., f9 の ようなファンクションキーがある場合には、これらのキーが送るコードは k0, k1, ..., k9 で指定します。これらのキーがデフォルトの f0 から f9 以外のラ ベルを持つ場合、このラベルは l0, l1, ..., l9 で指定します。その他の特殊 キーで送出されるコードは次のように与えられます: kH (ホームダウン)、 kb ( バックスペース)、 ka (全タブクリア)、 kt (この桁のタブストップをクリア)、 kC (画面クリアまたは消去)、 kD (文字削除)、 kL (行削除)、 kM (挿入モード から抜ける)、 kE (行末までクリア)、 kS (画面の終りまでクリア)、 kI (文字 挿入または挿入モードに入る)、 kA (行挿入)、 kN (次のページ)、 kP (前の ページ)、 kF (前進/下降スクロール)、 kR (後退/上昇スクロール)、 kT (この 桁にタブストップを設定)。更に、キーパッドが 4 つの矢印キーを含む 3 × 3 の キー配列を持つ場合、他の 5 つのキーは K1, K2, K3, K4, K5 で指定します。 3 × 3 の方向パッドが必要な時、これらのキーは有用です。以前 ‘‘その他’’ の ファンクションキーを記述するために使用された、廃れた ko ケーパビリティ は、上記のケーパビリティにより完全に置き換えられました。 ma エントリはまた、端末の矢印キーが 1 文字矢印キーであることを示すために も使用されます。これは廃れた方法ですが、 vi のバージョン 2 で未だ使用され ています。メモリ制約の理由で、このコマンドを使用しているミニコンピュータ があるでしょう。このフィールドは kl, kr, ku, kd, kh と冗長関係にありま す。このフィールドは 2 文字の複数グループから構成されます。各グループにお いては、最初の文字は矢印キーが何を送るかを表し、 2 番目の文字は対応する vi のコマンドを表します。コマンドは、 h が kl に、 j が kd に、 k が ku に、 l が kr に、 H が kh に対応します。例えば Mime では ‘‘ma=^Hh^Kj^Zk^Xl’’ となり、矢印キーの left (^H), down (^K), up (^Z), down (^X) を示します。 (Mime には home キーはありません。) |
タブおよび初期化 |
これらのケーパビリティを使用するプログラムを実行する時に端末を特別なモー ドにすることが必要な場合、このモードに入るコードおよび出るコードは ti と te で指定します。これが関係あるのは、例えば Concept のようなメモリページ を複数持つ端末です。端末がメモリ相対のカーソル位置設定のみ持ち、画面相対 のカーソル位置設定を持たない場合には、画面サイズのウィンドウに表示を固定 し、カーソル位置設定が正しく動作するようにする必要があります。これは Tektronix 4025 でも使用され、 ti はコマンド文字を termcap が使うように設 定します。 他のケーパビリティとしては、端末初期化文字列 is や、長い初期化文字列を格 納するファイル名 if があります。これらの文字列は、端末を termcap 記述と矛 盾がないモードに設定するものと期待されています。これらは通常、ユーザがロ グインするたびに、 tset(1) プログラムによって端末に送られます。印字は次の 順に行われます: まず is; 次に ct と st によるタブ設定; そして最後に if で す。 (terminfo(5) では is の代りに i1-i2 を使用し、プログラム iP を実行 し、他の初期化の後 i3 を印字します。) まったくわけがわからない状態から回 復するためのよりハードなリセットシーケンスの組が、類推できる名前 rs およ び rf で与えられます。これらの文字列は、端末がはまった状態に陥いった時に 使用される reset(1) プログラムにより出力されます。 (terminfo(5) は rs の 代りに r1-r3 を使用します。) これらのコマンドが画面上を騒がせ、なおかつロ グイン時に必ずしも必要ではない場合に限り、通常これらは rs および rf に格 納します。例えば、VT100 を 80 桁モードに設定するコマンドは、普通に考える と is の一部に入れるでしょうが、これは画面に困ったゴミを生じさせますし、 端末は普段既に 80 桁モードですので、実際は入れる必要はありません。 端末がハードウェアタブを持つ場合、次のタブストップまで進むコマンドは ta で指定します (通常は ^I です)。直前のタブストップへ左向きに移動する ‘‘ バックタブ’’ コマンドは、 bt で指定します。タブストップが端末には送られず に計算機により展開されることを端末ドライバモードが示す場合、 ta や bt が 存在するとしても、プログラムでこれらを使用しないというのが約束になってい ます。なぜなら、ユーザがタブストップを正しく設定していないかもしれないか らです。端末電源オン時に各 n 位置ごとにハードウェアタブが初期設定される端 末の場合、数値パラメータ it を使用し、タブストップ間隔を示します。このコ マンドは通常 tset(1) コマンドが使用し、ドライバモードをハードウェアタブ展 開に設定するか否か、およびタブストップを設定するか否かを決定します。端末 が不揮発性メモリにタブストップを保存可能な場合、 termcap 記述はタブストッ プが正しく設定されるものと仮定できます。 タブストップを設定およびクリアするコマンドが存在する場合、これらのコマン ドは ct (全タブストップをクリア) および st (全ての行における現在の桁にタ ブストップを設定) で指定します。タブ設定のために、ここで示した方法より複 雑なシーケンスが必要な場合、このシーケンスは is や if で指定します。 |
遅延 |
端末ドライバのパディングを制御するケーパビリティもあります。これらのケー パビリティは、第 1 にハードコピー端末にて必要とされ、 tset(1) プログラム により端末ドライバのモードを適切に設定するために使用されます。ケーパビリ ティ cr, sf, le, ff, ta に埋め込まれる遅延は、端末ドライバの適切な遅延 ビットを設定する効果があります。 pb (パディングボーレート) を指定した場 合、この値より低いボーレートにおいては、これらの値は無視されます。 4.2BSD の tset(1) では、遅延は別の数値ケーパビリティ dC, dN, dB, dF, dT で与えら れます。 |
その他 |
端末が NUL (0) 文字以外のパディング文字を必要とする場合には、 pc で指定し ます。 pc 文字列の最初の文字のみが使用されます。 端末がカーソル位置を保存および回復するコマンドを持つ場合には、これらは sc および rc で指定します。 通常はソフトウェアが使用しない追加の ‘‘ステータス行’’ を端末が持つ場合、 この事実を示すことができます。ステータス行が最下行の下に追加の行として見 える場合には、ケーパビリティ hs を指定します。ステータス行の位置への移動 およびステータス行からの復帰のための特別な文字列は、 ts および fs で指定 します。 (ts の前にカーソルが存在した位置に、 fs はカーソルを戻す必要があ ります。必要ならば、 sc および rc の文字列を ts および fs に含めてこの効 果を得ることができます。) ケーパビリティ ts は、ステータス行の何桁目に カーソルが移動すべきを示すパラメータを 1 つ取ります。エスケープシーケンス や他の特殊コマンド、例えばタブがステータス行でも動作するならば、フラグ es を指定します。ステータス行をオフにする (または内容を消去する) 文字列は、 ds で指定します。通常、ステータス行の幅は画面の他の部分、 すなわち co と 同じであると仮定されます。(端末が行全体の使用を許さない等の理由で) ステー タス行の幅が異なる場合には、その幅を桁数で数値パラメータ ws で指定しま す。 端末が半行上下に移動可能な場合、 hu (半行上) および hd (半行下) で指定し ます。これは、ハードコピー端末で上付き文字および下付き文字を使用するため に有用です。ハードコピー端末がページを排出して次のページに移動 (フォーム フィード) することができる場合、これは ff (通常 ^L です) で指定します。 指定した文字を指定した回数繰り返すコマンド (同一文字を何度も送出する時間 を節約します) がある場合、パラメータ化された文字列 rp で指定します。最初 のパラメータは繰り返される文字であり、2 番目のパラメータは繰り返す回数で す。(これは terminfo(5) の機能であり、 termcap を使用するプログラムはこの 機能をサポートしていないでしょう。) Tektronix 4025 のように端末が設定可能なコマンド文字を持つ場合、 CC で指定 します。全ケーパビリティで使用されるプロトタイプコマンド文字が選択されま す。この文字を識別するために、この文字が CC ケーパビリティにより与えられ ます。次の約束をサポートしている UNIX システムがあります: すなわち、 CC 環境変数を検査し、もし設定されている場合には、プロトタイプ文字を環境変数 で設定されているものと置き換えるという約束です。このように CC 環境変数を 使用することは、 make(1) との衝突が発生しますので、非常に悪い考えです。 特定の既知の端末を表現するものではない端末記述、 switch, dialup, patch, network では gn (一般) ケーパビリティを設定し、端末に対してどのように話し かければよいのか分らないとプログラムが文句を言えるようにします。 (この ケーパビリティは、エスケープシーケンスが既知である 仮想端末記述にはあては まりません。 端末が xoff/xon (DC3/DC1) ハンドシェークを使用してフロー制御する場合、 xo を指定します。コストに関するより良い判定を可能とするために依然としてパ ディング情報を指定する必要がありますが、実際にパディング文字が送出される ということはありません。 シフトキーのように動作し、送出される文字の 8 ビット目をセットする ‘‘メタ キー’’ を端末が備える場合、 km を設定してこの事実を示すことができます。こ れが指定されない場合は、ソフトウェアは 8 ビット目はパリティであると仮定 し、通常これをクリアしてしまいます。 ‘‘メタモード’’ をオンおよびオフする 文字列が存在する場合、これらは mm および mo で指定します。 画面 1 枚分より多くのメモリ行を端末が備える場合、メモリの行数を lm で指定 します。明示的に値 0 を指定すると、行数は固定ではないものの画面分より多く のメモリがあることを示します。 UNIX システムの仮想端末プロトコルにてサポートされる端末である場合、端末番 号は vt で与えられます。 端末に接続された外部プリンタを制御するメディアコピー文字列は、次のように 与えられます。すなわち ps: 画面内容の印字; pf: プリンタオフ; および po: プリンタオンです。プリンタオン時には、端末に送られる全てのテキストはプリ ンタに送られます。プリンタオン時に端末画面にもテキストが表示されるか否か は未定義です。このバリエーションである pO は単一のパラメータを取り、パラ メータ値で指定される文字数だけプリンタをオンにし、その後プリンタをオフに します。このパラメータは 255 を越えてはなりません。 pf を含む全テキスト は、 pO が有効である間、透過的にプリンタに渡されます。 プログラムファンクションキーへの文字列は pk, pl, px で指定します。これら の文字列は次の 2 つのパラメータを取ります: それぞれ、プログラム対象のファ ンクションキー番号 (0 から 9 まで) と、プログラムの文字列です。この範囲外 のファンクションキー番号を指定すると、ここでは定義できないキーを端末依存 の方式でプログラムするかもしれません。これらのケーパビリティの差異は、 pk は指定したキーを押すと指定した文字列をユーザがタイプしたものとして扱うも のであり; pl はローカルモードの端末にて指定した文字列を実行させるものであ り; px は指定した文字列を計算機に送出させるものである点です。不幸なこと に、 termcap では文字列パラメータが定義されていないため、 terminfo(5) の みがこれらのケーパビリティをサポートします。 |
グリッチと不良 |
文字 ‘~’ を表示できない Hazeltine 端末は hz を指定する必要があります。 nc ケーパビリティは現在廃れていますが、以前は Datamedia 端末を表すために 使用していました。この端末では、キャリッジリターンに対して \r \n をエコー し、続くラインフィードを無視します。 Concept のように am による折り返しの直後のラインフィードを無視する端末で は、 xn を指定します。 強調表示を取り除くために (単に通常のテキストを上書きするだけで済まず) ce が必要な場合、 xs を指定します。 タブによって移動された全ての文字が空白にされてしまう Teleray 端末では、 xt (破壊的なタブ) を指定する必要があります。このグリッチは、 ‘‘マジック クッキー’’ の先頭にカーソル位置を設定できないことと、強調表示を消すために は行削除と行挿入が必要であることも表現します。 ESC や ^C の文字を正しく送出できない Beehive Superbee は xb を指定し、 ‘‘f1’’ キーが ESC として使用され、 ‘‘f2’’ キーが ^C として使用されること を示します。( 特定の Superbee のみがこの問題を持ち、これは ROM に依存しま す。) ある特定の端末に他の問題がある場合、 xx の形式のケーパビリティを追加する ことにより正しく動作するようにしても構いません。 |
似た端末 |
2 つの非常によく似た端末がある場合、例外はあるもののもう一方にそっくりで あると、一方を定義することができます。文字列ケーパビリティ tc には似た端 末の名前を与えます。このケーパビリティは 最後である必要があり、組み合わせ たエントリの長さは 1024 を越えてはなりません。 tc の前に指定したケーパビ リティは tc により呼び出される端末タイプの記述に優先します。ケーパビリ ティのキャンセルのためには xx@ を tc の呼び出しの左に置きます。 xx はキャ ンセルされるケーパビリティです。例えば、エントリ hn|2621−nl:ks@:ke@:tc=2621: は、ビジュアルモードでファンクションキーラベルをオンにしないために ks と ke のケーパビリティを持たない ‘‘2621−nl’’ を定義します。端末の種々のモー ドやユーザの種々のプリファレンスを記述するために有用です。 |
関連ファイル
/usr/share/misc/termcap
端末記述を格納するファイル 関連項目 |
cap_mkdb(1), ex(1), more(1), tset(1), ul(1), vi(1), ncurses(3), printf(3), termcap(3), term(5) |
警告およびバグ
注: termcap の機能は AT&T System V UNIX Release 2.0 の terminfo(5) に置き 換えられました。 ‘‘廃れた’’ とされるケーパビリティを使用していなければ、 移行のための苦痛は比較的少ないです。 現在、行数および桁数は、 termcap エントリに格納するものと同様に、カーネル が格納します。現在、ほとんどのプログラムはカーネルの情報を最初に使用しま す; このファイルに記述されている情報は、カーネルが情報を持たない時のみ使 用されます。 vi(1) プログラムは文字列ケーパビリティには 256 文字しか許しませんが、 termlib(3) のルーチンはこのバッファの溢れをチェックしません。単一エントリ の総計の長さは 1024 を越えてはなりません (エスケープされた改行は除きま す)。 全てのプログラムが全てのエントリをサポートしているわけではありません。 |
歴史
termcap ファイルフォーマットは 3BSD に登場しました。 FreeBSD 10.0 April 16, 1994 FreeBSD 10.0 |