1.3 対応している制御コード一覧


  1. 制御コード一覧
  2. ESC 一覧
  3. CSI 一覧
  1. OSC 一覧
  2. DCS 一覧
  3. オプション一覧
  1. 拡張オプション一覧
  2. 文字セット一覧
  3. UTF-8表示仕様
  1. vttestのスナップ

1.3.1 制御コード一覧


 01 SOH Kermitプロトコル開始
 05 ENQ BPlusプロトコルENQ
 07 BEL ビープを鳴らす
 08 BS カーソルを左に1文字移動(拡張オプション45の影響を受ける)
 09 HT カーソルを次の横タブ位置に移動
 0A LF カーソルを一行下に移動(LNMの影響を受ける。スクロールアップあり)
 0B VT カーソルを次の縦タブ位置に移動(LNMの影響を受ける)
 0C FF LFと同じ(LNMの影響を受ける。スクロールアップ)
 0D CR カーソルを左端に移動
 0E SO 文字バンクをGRに設定
 0F SI 文字バンクをGLに設定
 10 DC0 BPlusプロトコル開始
 18 CAN ZModemの開始/ESCシーケンスの中断
 1B ESC エスケープシーケンス開始
 1C FS *2 カーソルを右に1文字移動(ADM3)
 1D GS *2 カーソルを左に1文字移動(ADM3)
 1E RS *2 カーソルを上に1行字移動(ADM3)
 1F US *2 カーソルを下に1行字移動(ADM3)

1.3.2 ESC 一覧


ESC FF *5 Tek40xxモードに移行
ESC SP F S7C1T 7ビットコントロール文字を返す(CSI=ESC [ )
ESC SP G S8C1T 8ビットコントロール文字を返す(CSI=0x9B)
ESC SP L *1 Level1 G0=ASCII G1=Latan GL=G0 GR=G1
ESC SP M *1 Level2 G0=ASCII G1=Latan GL=G0 GR=G1
ESC SP N *1 Level3 G0=ASCII GL=G0
ESC # 3 DECDHL 縦・横2倍表示(上部)
ESC # 4 DECDHL 縦・横2倍表示(下部)
ESC # 5 DECSWL 通常表示
ESC # 6 DECDWL 横2倍表示
ESC # 8 DECALN 画面を「E」で埋める
ESC $ ( Dscs G0M 文字バンクG0に文字セット94x94のDscs を設定
ESC $ ) Dscs G1M 文字バンクG1に文字セット94x94のDscs を設定
ESC $ + Dscs G2M 文字バンクG2に文字セット94x94のDscs を設定
ESC $ * Dscs G3M 文字バンクG3に文字セット94x94のDscs を設定
ESC $ , Dscs G0M2 文字バンクG0に文字セット96x96のDscs を設定
ESC $ - Dscs G1M2 文字バンクG1に文字セット96x96のDscs を設定
ESC $ . Dscs G2M2 文字バンクG2に文字セット96x96のDscs を設定
ESC $ / Dscs G3M3 文字バンクG3に文字セット96x96のDscs を設定
ESC % ! 1 *5 Tek41xxモードに移行
ESC ( Dscs G0S 文字バンクG0に文字セット94のDscs を設定
ESC ) Dscs G1S 文字バンクG1に文字セット94のDscs を設定
ESC * Dscs G2S 文字バンクG2に文字セット94のDscs を設定
ESC + Dscs G3S 文字バンクG3に文字セット94のDscs を設定
ESC , Dscs G0S2 文字バンクG0に文字セット96のDscs を設定
ESC - Dscs G1S2 文字バンクG1に文字セット96のDscs を設定
ESC . Dscs G2S2 文字バンクG2に文字セット96のDscs を設定
ESC / Dscs G3S2 文字バンクG3に文字セット96のDscs を設定
ESC 1 DECHTS 現在のカーソル位置に横タブをセット
ESC 2 DECCAHT すべての横タブをクリア
ESC 3 DECVTS 現在のカーソル位置に縦タブをセット
ESC 4 DECAVT すべての縦タブをクリア
ESC 6 DECBI カーソルを左に1文字移動(ライトスクロールあり)
ESC 7 DECSC カーソル位置、文字属性、文字バンク、タブ位置、オプションを保存
ESC 8 DECRC DECSCで保存されたカーソル位置などを復元
ESC 9 DECFI カーソルを右に1文字移動(レフトスクロールあり)
ESC < V5EX *1 VT52モードを終了
ESC = DECPAM [App]モードが有効なキーコードを送信(アプリケーションキーモード)
ESC > DECPNM [App]モードが無効なキーコードを送信(ノーマルキーモード)
ESC A 81 CUP *1 カーソルを上に1行字移動
ESC B 82 BPH *1 カーソルを下に1行字移動
ESC C 83 NBH *1 カーソルを右に1文字移動
ESC D 84 IND 1行下に移動(スクロールアップあり)
*1 カーソルを左に1文字移動
ESC E 85 NEL 1行下の行頭に移動(スクロールアップあり)
ESC F 86 SSA *1 グラフィックモード設定 ESC(0 ESC)0を実行
ESC G 87 ESA *1 グラフィックモード解除 ESC(B ESC)0を実行
ESC H 88 HTS 現在のカーソル位置に横タブを設定
*1 カーソルをホームポジションに移動
ESC I 89 HTJ カーソルを次の横タブ位置に移動
*1 1行上に移動(バックスクロールあり)
ESC J 8A VTS 現在のカーソル位置に縦タブを設定
*1 現在のカーソル位置の右側と下を消去
ESC K 8B PLD 1行下に移動
*1 現在のカーソル位置の右側を消去
ESC L 8C PLU 1行上に移動
ESC M 8D RI 1行上に移動(バックスクロールあり)
ESC N 8E SS2 文字バンクのGRをG2に設定
ESC O 8F SS3 文字バンクのGRをG3に設定
ESC P 90 DCS DCS開始
ESC V 96 SPA 文字消去ガード開始
ESC W 97 EPA 文字消去ガード終了
ESC X 98 SOS SOS開始
ESC Y y x 99 MCP *1 カーソルをx, yに移動(x,y=SP+n)
ESC Z 9A SCI *1 ESC/Zを返す(ANMによりDA1)
ESC [ 9B CSI CSI開始
ESC \ 9C ST DCS/SOS/OSC/PM/APC終了
ESC ] 9D OSC OSC開始
ESC ^ 9E PM PM開始
ESC _ 9F APC APC開始
ESC c RIS すべての設定を初期設定に戻す
ESC l LMA *1 画面分割の上辺を現在のカーソル位置に設定
ESC m USR *1 画面分割の上辺をトップに戻す
ESC n LS2 文字バンクのGLをG2に設定
ESC o LS3 文字バンクのGLをG3に設定
ESC | LS3R 文字バンクのGRをG3に設定
ESC } LS2R 文字バンクのGRをG2に設定
ESC ~ LS1R 文字バンクのGRをG1に設定

1.3.2 CSI 一覧


CSI Pn @ ICH 現在のカーソル位置にPn[1]個の空白文字を挿入(現在行のみライトスクロール)
CSI Pn SP @ SL Pn[1]回左に全画面横スクロール(レフトスクロール)
CSI Pn A CUU Pn[1]行カーソルを上に移動(DECSTBMの影響を受ける)
CSI Pn SP A SR Pn[1]回右に全画面横スクロール(ライトスクロール)
CSI Pn B CUD Pn[1]行カーソルを下に移動(DECSTBMの影響を受ける)
CSI Pn C CUF Pn[1]桁カーソルを右に移動(DECLRMM設定時、DECSLRMの影響を受ける)
CSI Pn D CUB Pn[1]桁カーソルを左に移動(DECLRMM設定時、DECSLRMの影響を受ける)
CSI Pn SP D FNT フォントセット(0〜10)をPn[0]に変更
CSI Pn E CNL Pn[1]行カーソルを下の左端に移動(DECSTBMの影響を受ける)
CSI Pn F CPL Pn[1]行カーソルを上の左端に移動(DECSTBMの影響を受ける)
CSI Pn G CHA x = Pn[1]にカーソルを移動(DECOMの影響を受ける)
CSI Pl ; Pc H CUP x = Pc[1], y = Pl [1]にカーソルを移動(DECOMの影響を受ける)
CSI Pn I CHT Pn[1]個カーソルをタブ位置に移動
CSI Pn J ED
SPAERMの影響を受ける
Pn = [0] 現在のカーソル位置の右側と下を消去
Pn = 1 現在のカーソル位置の左側と上を消去
Pn = 2 全画面消去
CSI ? Pn J DECSED DECSCAの影響を受ける
Pn = [0] 現在のカーソル位置の右側と下を消去
Pn = 1 現在のカーソル位置の左側と上を消去
Pn = 2 全画面消去
CSI Pn K EL
SPAERMの影響を受ける
Pn = [0] 現在のカーソル位置の右側を消去
Pn = 1 現在のカーソル位置の左側を消去
Pn = 2 現在のカーソル位置の行を消去
CSI ? Pn K DECSEL DECSCAの影響を受ける
Pn = [0] 現在のカーソル位置の右側を消去
Pn = 1 現在のカーソル位置の左側を消去
Pn = 2 現在のカーソル位置の行を消去
CSI Pn L IL 現在のカーソル位置にPn[1]行挿入(バックスクロールあり)(DECSTBMの影響を受ける)
CSI Pn M DL 現在のカーソル位置にPn[1]行削除(スクロールアップあり)(DECSTBMの影響を受ける)
CSI Pn N EF EDに同じ
CSI Pn O EA EDに同じ
CSI Pn P DCH 現在のカーソル位置からPn[1]文字削除(現在行のみレフトスクロールあり)
CSI Pn SP P PPA Pn[1]ページに移動
CSI Pn SP Q PPR +Pn[1]ページにオフセット移動
CSI Pn SP R PPB -Pn[1]ページにオフセット移動
CSI Pn S SU Pn[1]行スクロールアップ(DECSTBMの影響を受ける)
CSI = Pn S C25LCT *3
Pn = [0] カーソルを表示
Pn = 1 カーソルを非表示
CSI Pn T SD
Pn = [1] バックスクロール(DECSTBMの影響を受ける)
Pn1 ; Pn2 ; Pn3 ; Pn4 ; Pn5 ハイライト・マウス・トラックの範囲指定
Pn4 = [1] スタート行 Pn5 = [1] エンド行
CSI > T XTRMTT *4 ウィンドウタイトル形式の設定を解除する
CSI > Pn t
Pn = 0 OSCのタイトル設定を16進数デコードしない
Pn = 1 XTWOPでタイトルを16進数エンコードしない
Pn = 2 OSCのタイトル設定を現在の漢字コードで扱う
Pn = 3 XTWOPでタイトルを現在の漢字コードで返す
CSI Pn U NP Pn[1]ページヒストリーアップ(スクロールバーのページ操作を行う)
CSI Pn V PP Pn[1]ページヒストリーバック(スクロールバーのページ操作を行う)
CSI Pn W CTC
Pn = [0] 横タブをセット
Pn = 1 縦タブをセット
Pn = 2 横タブをクリア
Pn = 3 縦タブをクリア
Pn = 4 現在行の縦タブが有効なら横タブをすべてクリア
Pn = 5 現在行の横タブをすべてクリア
Pn = 6 すべての縦タブをクリア
CSI ? W DECST8C 横タブ位置を8文字に初期化
CSI Pn X ECH 現在のカーソル位置からPn[1]文字消去
CSI Pn Y CVT Pn[1]個カーソルを次の縦タブ位置に移動
CSI Pn Z CBT Pn[1]回バック横タブ
CSI Pn ` HPA x = Pn[1]にカーソルを移動(DECOMの影響を受ける)
CSI Pn a HPR x + Pn[1]にカーソルをオフセット移動(DECOMの影響を受ける)
CSI Pn b REP 直前の文字をPn[1]回繰り返す
CSI Pn c DA1
TermID DECTIDTermID設定によりレスポンスが異なる
[10] CSI ? 65;1;2;3;4;6;8;9;18;21;22;29;39;42;44 c
9 CSI ? 64;1;2;8;9;15;18;21 c
7, 8 CSI ? 63;1;2;8;9 c
5, 6 CSI ? 62;1;2;8;9 c
2, 3 CSI ? 6 c
1 CSI ? 1;0 c
0 CSI ? 1;2 c
CSI = c  DA3  DCS ! | 010205 ST を返す
CSI > c DA2  CSI > 65 ; 100 ; 1 c を返す
CSI Pn d VPA y = Pn[1]にカーソルを移動(DECOMの影響を受ける)
CSI Pn e VPR y + Pn[1]にカーソルをオフセット移動(DECOMの影響を受ける)
CSI Pl ; Pc f HVP x = Pc[1], y = Pl[1] にカーソルを移動(DECOMの影響を受ける)
CSI Pn g TBC
Pn = [0] 横タブをクリア
Pn = 1 縦タブをクリア
Pn = 2 現在行の縦タブが有効なら横タブをすべてクリア
Pn = 3 現在行の横タブをすべてクリア
Pn = 4 すべての縦タブをクリア
Pn = 5 すべての縦・横タブをクリア
CSI Pn h SM オプションを設定
CSI ? Pn h DECSET 拡張オプションの設定
CSI Pn i MC
Pn = [0] 全画面をクリップボードにコピー(DECPEXの影響を受ける)
Pn = 1 現在行のみクリップボードにコピー
CSI ? Pn i DECMC
Pn = [0] 全画面をクリップボードにコピー(DECPEXの影響を受ける)
Pn = 1 現在行のみクリップボードにコピー
Pn = 10 全画面をクリップボードにコピー
Pn = 11 ヒストリーを含めててすべてコピー
CSI < ! Pn i RLIMGCP
Pn = [0] 表示されている画面をImageウィンドウにグラフィックイメージに変換して表示します
Pn = 1 GIFファイルにグラフィックイメージに変換して保存
Pn = 2 JPGファイルにグラフィックイメージに変換して保存
Pn = 3 PNGファイルにグラフィックイメージに変換して保存
Pn = 4 BMPファイルにグラフィックイメージに変換して保存
※w2kバイナリでは、ファイルに保存することが出来ません
CSI Pn j HPB Pn[1]個左にカーソル位置を移動
CSI Pn k VPB Pn[1]行上にカーソル位置を移動
CSI Pn l RM オプションを解除
CSI ? Pn l DECRST 拡張オプションの解除
CSI Pn m SGR
Pn = [0] すべての文字属性を解除
Pn = 1 太文字/高輝度に設定
Pn = 2 低輝度に設定
Pn = 3 イタリックに設定
Pn = 4 下線に設定
Pn = 5 文字を低速点滅
Pn = 6 文字を高速点滅
Pn = 7 文字色と背景色を反転
Pn = 8 文字色を背景色と同じにする
Pn = 9 文字の打ち消し線を設定
Pn = 10〜20 フォントセットの設定
Pn = 21 2重下線を設定
Pn = 22 太文字と低輝度を解除
Pn = 23 イタリックを解除
Pn = 24 下線を解除
Pn = 25 点滅を解除
Pn = 27 反転を解除
Pn = 28 シークレットを解除
Pn = 29 打ち消し線を解除
Pn = 30〜37 文字色の設定
Pn = 38:2:r:g:b RGBで近似色を設定
Pn = 38;5;0〜255 拡張文字色を設定
Pn = 39 文字色をデフォルト色に戻す
Pn = 40〜47 背景色の設定
Pn = 48:2:r:g:b RGBで近似色を設定
Pn = 48;5;0〜255 拡張背景色の設定
Pn = 49 背景色をデフォルト色に戻す
Pn = 51 □を重ねる
Pn = 52 ○を重ねる
Pn = 53 上線を設定
Pn = 54 □○を取り消し
Pn = 55 上線を取り消し
Pn = 60 右側に縦線
Pn = 61 右側に2本線
Pn = 62 左側に縦線
Pn = 63 左側に2本線
Pn = 64 2重打ち消し線
Pn = 65 60〜64を取り消し
Pn = 90〜97 高輝度の文字色設定
Pn = 100〜107 高輝度の背景色設定
CSI > Pn ; Ps m XTMDKEY *4
Pn キーセットの選択
Pn = 1 modifyCursorKeys UP,DOWN,RIGHT,LEFT,PRIOR,NEXT,HOME,END,INSERT,DELETE
Pn = 2 modifyFunctionKeys F1-F12
Pn = 3 modifyKeypadKeys NumLockオン時のキーパッド
Pn = 4 modifyOtherKeys ESCAPE,RETURN,BACK,TAB,SPACE
Pn = 5 modifyStringKeys 0-9,A-Z
Ps キーコードの選択 例 (Shift + ↑)
Ps = 0 CSI/SS3で返す CSI 2 A / SS3 2 A
Ps = 1 CSIで返す CSI 2 A
Ps = 2 CSIで返す(1) CSI 1 ; 2 A
Ps = 3 CSI >で返す CSI > 1 ; 2 A
追加パラメータ
2 Shift
3 Alt
4 Shift + Alt
5 Ctrl
6 Ctrl + Shift
7 Ctrl + Alt
8 Ctrl + Shift + Alt
発生するキーコードは、各種DECPAM/DECPNM/DECCKM/DECANMの設定により異なる
また、キー別に設定したキーコードがCSI/SS3の場合にのみ追加されメニューのショートカット
が設定されている場合は、拡張オプション8450により優先が変わる
CSI Pn n DSR
Pn = 5 CSI 0 n を返す
Pn = 6 CSI y ; x R にてカーソル位置を報告する
CSI > Pn n XTMDKYD *4
Pn 選択したキーセットの拡張を解除する
Pn = 1 modifyCursorKeys UP,DOWN,RIGHT,LEFT,PRIOR,NEXT,HOME,END,INSERT,DELETE
Pn = 2 modifyFunctionKeys F1-F12
Pn = 3 modifyKeypadKeys NumLocオン時のキーパッド
Pn = 4 modifyOtherKeys ESCAPE,RETURN,BACK,TAB,SPACE
Pn = 5 modifyStringKeys 0-9,A-Z
CSI ? Pn n DECDSR
1/2/3 malfunction detected CSI ? 20 n
6 カーソル位置 CSI Pl ; Pc ; Pp R
15 プリンタ無し CSI ? 13 n
25 UDK固定 CSI ? 21 n
26 ASCIIキーボード CSI ? 27 ; 1 n
53/55 locatorの状態 CSI ? 50 n
56 locatorあり CSI ? 57 ; 1 n
62 Macro Space=0 CSI 0 * {
63 チェックサム0を返す DCS Pn ! ~ 0 ST
75 Ready CSI ? 70 n
85 not multiple-session CSI ? 83 n
CSI Pn o DAQ
Pn = [0] 文字消去ガード終了(EPAと同じ)
Pn = 1,8 文字消去ガード開始(SPAと同じ)
CSI Pn p ORGBFAT
Pn[0]の各ビットに応じた文字属性変更
Bit 0 (1) 太文字/高輝度に設定
Bit 1 (2) 文字を高速点滅
Bit 2 (4) 文字色を背景色と同じにする
Bit 3 (8) 下線に設定
Bit 4 (16) 文字色と背景色を反転
DECSSL *6 メニュー言語設定(未実装)
CSI ! p  DECSTR  リセット、設定を初期化して全画面消去、カーソルをホームに移動
CSI Pn ; Ps " p DECSCL
Pn = 61〜65 VTターミナル設定
Pnが62以上の場合、以下のPsが有効
Ps = [0] S8C1Tと同じ
Ps = 1 S7C1Tと同じ
CSI Pn $ p DECRQM CSI Pn h / l のオプション設定の状態を CSI Pn ; Pv $ y で返す
Pv = 1 オプション設定状態(CSI Pn h)
Pv = 2 オプション解除状態(CSI Pn l)
CSI Pn + p DECSR 画面と設定を初期化して(DECSRC) CSI Pn * q を返す
CSI ? Pn $ p DECRQMH  拡張オプション設定の状態を CSI ?Pn ; Pv $ y で返す
Pv = 1 オプション設定状態(CSI ?Pn h)
Pv = 2 オプション解除状態(CSI ?Pn l)
CSI > Pn p XTHDPT *4
Pn = [0] マウスカーソルを表示する
Pn = 1 マウスイベント時のみ表示する
Pn = 2,3 マウスカーソルを表示しない
CSI Pn q DECLL ステータスバーに (1234) の文字を表示する
Pn = [0] すべてクリア ----
Pn = 1 1を表示 1---
Pn = 2 2を表示 -2--
Pn = 3 3を表示 --3-
Pn = 4 4を表示 ---4
CSI Pn SP q DECSCUSR
Pn = [0],1,2 ブロックカーソル
Pn = 3,4 アンダーラインカーソル
Pn = 5,6 縦ラインカーソル
CSI Pn " q DECSCA
Pn = [0] プロテクト無効
Pn = 1 プロテクト有効
CSI Pn , q DECTID ターミナルIDをPn[10]に設定
CSI Pt ; Pb r DECSTBM
スクロール範囲を設定
Pt = [1] スクロール開始行
Pb = [lines] スクロール終了行
CSI P... $ r DECCARA 指定範囲の文字属性を変更
CSI Pt ; Pl ; Pb ; Pr ; Pn... $ r
Pt = [1] 上行位置
Pl = [1] 左桁位置(DECSACEの影響を受ける)
Pb = [lines] 下行位置
Pr = [cols] 右桁位置(DECSACEの影響を受ける)
Pn... = [0] 文字属性(SGRと同じ形式)
CSI < r TTIMERS *7 CSI < s で保存したIMEの状態を復帰
CSI ? Pn r XTREST *4 拡張オプションの復元
CSI s SCOSC カーソル位置を保存
DECSLRM *6 左右マージン設定(DECLRMM設定時)
Pn1 = [1] 左マージン位置
Pn2 = [cols] 右マージン位置
CSI < s TTIMESV *7 現在のIME状態を保存
CSI ? Pn s XTSAVE *4 拡張オプションの保存
CSI Pn t XTWOP *4
Pn = 8 表示文字数行数の変更
Pn = 11 CSI 1 t を返す
Pn = 13 CSI 3 ; 0 ; 0 t でウィンドウ位置を返す(固定)
Pn = 14 CSI 4 ; Pl ; Pc t で画面サイズを返す
Pn = 18 CSI 8 ; Pl ; Pc t で表示文字桁数を返す
Pn = 19 CSI 9 ; 12 ; 6 t を返す(固定)
Pn = 20 DCS L Title ST でウィンドウタイトルを返す
Pn = 21 DCS l Title ST でウィンドウタイトルを返す
Pn = 22 ウィンドウタイトルをスタックに保存
Pn = 23 ウィンドウタイトルをスタックから復帰
Pn = 24以上 DECSLPPを実行
DECSLPP *6 Pn = [lines] 表示行数の変更
CSI P... $ t DECRARA 指定範囲の文字属性を反転
CSI Pt ; Pl ; Pb ; Pr ; Psn... $ t
Pt = [1] 上行位置
Pl = [1] 左桁位置(DECSACEの影響を受ける)
Pb = [lines] 下行位置
Pr = [cols] 右桁位置(DECSACEの影響を受ける)
Pn... = [0] 0 すべての属性を反転
1 太文字/高輝度を反転
2 低輝度を反転
3 イタリックを反転
4 下線を反転
5 低速点滅を反転
6 高速点滅を反転
7 反転表示を反転
8 シークレットを反転
9 打ち消し線を反転
CSI < Pn t TTIMEST *7
Pn = [0] IMEクロース
Pn = 1 IMEオープン
CSI > Pn t XTSMTT *4 ウィンドウタイトル形式の設定する
Pn = 0 OSCのタイトル設定を16進数デコードする
Pn = 1 XTWOPでタイトルを16進数エンコードする
Pn = 2 OSCのタイトル設定をUTF-8文字列で扱う
Pn = 3 XTWOPでタイトルをUTF-8文字列で返す
CSI Pn u SCORC SCOSCで保存されたカーソル位置に復帰
DECSHTS *6 Pn[1]で設定した位置に横タブを設定
CSI Pn $ u DECRQTSR
Pn = 1 DECTSR(DCS 0 $ s ST)を返す
Pn = 2 すべてのフォントカラー情報を
DECCTR(DCS 2 $ s Ps... ST)で返す
CSI & u DECRQUPSS DCS 1 ! u A ST を返す
CSI Pn v ORGSCD *3
Pn = [0] カーソルを表示
Pn = 1 カーソルを非表示
DECSVTS *6 Pn[1]で設定した位置に縦タブを設定
CSI Pn " v DECRQDE CSI Ph ; Pw ; Pml ; Pmt ; Pmp " w を返す
Ph 画面行数
Pw 画面桁数
Pml 左マージン
Pmt 上マージン
Pmp 現在ページ番号
CSI P... $ v DECCRA 指定範囲の文字をコピー
CSI Pts ; Pls ; Pbs ; Prs ; Pps ; Ptd ; Pld ; Ppd $ v
Pts = [1] ソース上行位置
Pls = [1] ソース左桁位置
Pbs = [lines] ソース下行位置
Prs = [cols] ソース右桁位置
Pps = [page] ソースページ番号
Ptd = [1] コピー先上行位置
Pld = [1] コピー先左桁位置
Ppd = [page] コピー先ページ番号
CSI Pn $ w DECRQPSR
Pn = 1 カーソル位置情報や文字バンク情報を
DECCIR (DCS 1 $ u ... ST)で返す
Pn = 2 すべての横タブ位置情報を
DECTABSR (DCS 2 $ u ... ST)で返す
CSI P... ' w DECEFR マウス・ロケーターの選択矩形域を指定
CSI Pt ; Pl ; Pb ; Pr ' w
Pt = [1] 上行位置
Pl = [1] 左桁位置
Pb = [lines] 下行位置
Pr = [cols] 右桁位置
CSI Pn x DECREQTPARM CSI 2;1;1;112;112;1;0 x を返す
CSI P... $ x DECFRA 指定範囲を指定の文字で埋める
CSI Pc ; Pt ; Pl ; Pb ; Pr $ x
Pc = [0] 文字コード番号
Pt = [1] 上行位置
Pl = [1] 左桁位置
Pb = [lines] 下行位置
Pr = [cols] 右桁位置
CSI Pn * x DECSACE DECCARA,DECRARAの横範囲方法を設定
Pn = [1] 全桁の範囲を選択(デフォルト)
Pn = 2 Pl, Prパラメータで横範囲を指定
CSI + x DECPQPLFM プログラムキーフリーエリアとして(DECPKFMR) CSI 768 ; 768 + y を返す
CSI Pn y DECTST テスト(全画面消去してカーソルを左上原点に移動)
CSI P... * y DECRQCRA 指定範囲のチェックサムを返す(DECCKSR) DCS Pn ! ~ Ps ST
CSI Pn ; Pp ; Pt ; Pl ; Pb ; Pr * y
Pn = [0] リクエスト番号
Pp = [page] ページ番号
Pt = [1] 上行位置
Pl = [1] 左桁位置
Pb = [lines] 下行位置
Pr = [cols] 右桁位置
CSI P... $ z DECERA 指定範囲の消去
CSI Pt ; Pl ; Pb ; Pr $ z
Pt = [1] 上行位置
Pl = [1] 左桁位置
Pb = [lines] 下行位置
Pr = [cols] 右桁位置
CSI Pn ; Ps ' z DECELR
Pn = [0] マウス・ロケーターを無効
Pn = 1 マウス・ロケーターを有効
Pn = 2 マウス・ロケーターを有効(ワンショットモード)
Ps = 1 ピクセルモードでマウス位置を報告
Ps = [2] 文字モード(桁行)でマウス位置を報告
CSI Pn * z DECINVM DECDMACで設定したPn[0]番号のマクロを実行
CSI P... $ { DECSERA 指定範囲の消去(DECSCAの影響を受ける)
CSI Pt ; Pl ; Pb ; Pr $ {
Pt = [1] 上行位置
Pl = [1] 左桁位置
Pb = [lines] 下行位置
Pr = [cols] 右桁位置
CSI Pn ' { DECSLE
Pn = [0] マウス・ロケーター・イベント無効
Pn = 1 マウス・ボタン・ダウンでイベント有効
Pn = 2 マウス・ボタン・ダウンでイベント無効
Pn = 3 マウス・ボタン・アップでイベント有効
Pn = 4 マウス・ボタン・アップでイベント無効
CSI Pn ) { DECSTGLT
Pn = [0] 文字色をモノクロモードに設定
Pn = 1,2,3 文字色をカラーモード(初期状態)に戻す
CSI Pn $ | DECSCPP フォントサイズ固定の場合は、Pn[cols]で画面を初期化
桁数固定の場合は、Pn[0] > 80でDECCOLM(132桁)オプションをセット
CSI ' | DECRQLP マウス・ロケーターの位置を返します(DECLRP)
CSI Pe ; Pb ; Pr ; Pc ; Pp & w
Pe 0 イベントなし
1 DECRQLP応答
2 左ボタン・ダウン
3 左ボタン・アップ
6 右ボタン・ダウン
7 右ボタン・アップ
10 選択矩形範囲外
Pb Bit 0(1) 左ボタン・ダウン
Bit 2(4) 右ボタン・ダウン
Pr 行(y)位置
Pc 桁(x)位置
Pp 常に0
CSI Pn $ } DECSASD
Pn = [0] 通常動作
Pn = 1 以降の文字をステータスバーに表示
CSI Pn ' } DECIC Pn[1]個の空白文字の挿入(その行のみライトスクロール)
CSI P... , } DECATC 文字属性を変更
CSI Pa ; Pc ; Pb , }
Pa = [0] 文字属性の設定
Pf = [7] 文字色の設定
Pb = [0] 背景色の設定
CSI Pn SP ~ DECTME
Pn = [0] 通常モード
Pn = 3 VT52モードに移行
CSI Pn $ ~ DECSSDT 現在、DECRQSSにのみ応答
CSI Pn ' ~ DECDC Pn[1]個の文字の削除(その行のみレフトスクロール)
CSI P... , ~ DECPS ピアノ音色のMIDIで音を再生
CSI Pv ; Pd ; Pn , ~
Pv = [0] 音量(0-7)
Pd = [0] 1/32秒
Pn = [0] 1 = C3, 2 = C#3, 3 = D3

1.3.4 OSC 一覧


OSC Pn ; P... BEL *4
OSC 0/1/2 ; Title BEL
ウィンドウタイトルをTitleに変更
OSC 4 ; Pc ; spec BEL
Pc番のカラーパレットを以下のspecで設定
#rrggbb 16進数で色を指定
rgb:rr/gg/bb 16進数で色を指定
reset デフォルトに戻す
? OSC 4 ; Pc ; rgb:rr/gg/bb BEL で現在の値を返す
OSC 5 ; Pn ; spec BEL
現時点では、文字色のみ返す
OSC 10/12/13/15/18/19 ; spec BEL
現時点では、文字色のみ返す
OSC 11/14/16/17 ; spec BEL
現時点では、背景色のみ返す
OSC 52 ; Pn ; spec BEL
クリップボードのテキスト内容を操作
Base64 Base64でエンコードされた文字列をクリップボードにコピー
? OSC 52 ; Pn ; Base64 BeL で現在のクリップボードの内容を返す
OSC 104 ; Pc BEL
Pc番のカラーパレットをデフォルトに戻す
OSC 105 ; Pn BEL
現時点では、文字色をデフォルトに戻す
OSC 110/112/113/115/118/119 ; Pn BEL
現時点では、文字色をデフォルトに戻す
OSC 111/114/116/117 ; Pn BEL
現時点では、背景色をデフォルトに戻す
OSC Pn ; P... BEL *3
OSC 800 ; Pc BEL
漢字コードを変更・参照する
Pc = 0 EUC
Pc = 1 SJIS
Pc = 2 ASCII
Pc = 3 UTF-8
Pc = ? OSC 800 ; Pc BEL で現在の漢字コードを返す

1.3.5 DCS 一覧


DCS Pn | P... ST DECUDK ファンクションキーに文字列を設定
DCS Pn | Pk / Base16 ; ... ST
Pn = [0] すべてのファンクションキー定義をクリア
Pn = 1 指定したファンクションキー定義のみ置き換え
Pk
11 = F1 12 = F2 13 = F3 14 = F4
15 = F5 17 = F6 18 = F7 19 = F8
20 = F9 21 = F10 22 = F11 23 = F12
Base16 16進数化した文字列
DCS Pn p P... ST DECREGIS ReGISグラフィックウィンドウを開く
Pn = [0] すでにReGISウィンドウを開いていれば追加で描画
Pn = 1 常に新しいReGISウィンドウを開いて描画
DCS Pn q P... ST DECSIXEL Sixelグラフィックウィンドウを開く
DCS Pn1 ; Pn2 ; Pn3 ; Pn4 q P... ST
Pn1 = [0],1...9 横の縮小率を指定(アスペクト比の設定)
[0] 50% 5 60%
1 50% 6 70%
2 20% 7 80%
3 30% 8 90%
4 40% 9 100%
Pn2 = [0],1,2 背景色の設定
DECTIDが5以上(デフォルト)
1 現在の文字背景色の補色で初期化
[0], 2 現在の文字背景色で初期化
パレットをカラーで初期化
0 Black 4 Magenta 8 Gray-25% 12 Magenta*
1 Blue 5 Cyan 9 Blue* 13 Cyan*
2 Red 6 Yellow 10 Red* 14 Yellow*
3 Green 7 Gray-50% 11 Green* 15 Gray-75%
DECTIDが4以下の場合
[0], 1 白色で初期化
2 現在の文字背景色で初期化
パレットをモノクロで初期化
0 Black 4 Gray-10% 8 Black 12 Gray-10%
1 Gray-20% 5 Gray-30% 9 Gray-20% 13 Gray-30%
2 Gray-40% 6 Gray-50% 10 Gray-40% 14 Gray-50%
3 Gray-60% 7 White 11 Gray-60% 15 White
※パレット色が背景色と同じ場合は補色に変更
Pn3 = [0],1... 20 全体の拡大縮小を指定(Grid Size指定)
[0]=100%
1=10% .... 10=100% ... 20=200%
Pn4 = 0 ... 1023 インデックス番号を指定し同じ画像をインデックス番号のみ
で再表示させることができます
※これは2.17.3以降の独自拡張です
DECSDMによりコンソール・外部ウィンドウと表示方法が異なる
Pn1,Pn3 の設定より、Sixel内のDECGRA(")のPan(V),Pad(H)が優先されます
※ 2.17.2よりDECGCI(#Pc;Pu;Px;Py;Pz)のPu=3で0-255のRGBが指定できます
DCS Pn { P... ST DECDLD ユーザーフォントの設定
DCS Pfn ; Pcn ; Pe ; Pcmw ; Pss ; Pt ; Pcmh ; Pcss { <Dscs><font-pattern ; ...> ST
Pfn = [0],1,2 フォント番号
Pcn = [0] 定義スタート文字番号 0=SP
Pe = [0],1,2 0 指定Dscsのすべてのフォント定義をクリア
1 指定フォントを置き換え
2 すべてのユーザーフォントをクリア
Pcmw = [0],2,3,4 フォント横サイズ
0 Fw = 15
2 Fw = 5, Fh = 10
3 Fw = 6, Fh = 10
4 Fw = 7, Fh = 10
5以上 Fw = Pcmw
Pss = [0] Font set size (無視)
Pt = [0],3 0,1,2 Text or full cell(無視)
3 Sixelグラフィック
Pcmh = [0] フォント縦サイズ
0 Fh = 15
1以上 Fh = Pcmh
Pcss = [0] 0 文字セット94
1 文字セット96
<Dscs> 文字セットコードDscs を指定
<font-pattern> 6ビット単位のフォントパターン
0
1
2
3
4
5
左上から下にBit0〜Bit5、右にバイトで
列挙し3F(?)を足して文字とする

00 00 3C 04 04 04 08 10 20 00
? ? { C C C G G - ?
00 00 3F 20 20 20 10 08 07 00
? ? ~ - - - O G F ?
00 00 00 00 00 00 00 00 00 00
? ? ? ? ? ? ? ? ? ?
上記のフォントパターン
??{CCCGG-?/??~---OGF?/????????;
Pt = 3 の場合、<font-pattern>をSixelグラフィックと
解釈してビットマップをPcmw/Pcmhのマトリクスに
分割し、カラーフォントパターンとして文字コードに
割り当てます。
DCS Pn ! z P... ST DECDMAC マクロの定義
DCS Pid ; Pdt ; Pen ! z D...D ST
Pid = [0]-63 DECINVMで使用するマクロ番号
Pdt = [0],1 0 Pidのマクロをクリア
1 すべてのマクロをクリア
Pen = [0],1 0 D...D は、テキスト
1 D...D は、16進数エンコード+リピート
D...D 基本16進数エンコードにリピート指定文字「!」
例 ABCxyzxyzxyzDEF = 414243!3;78797a;444546
DCS ! { P... ST DECSTUI 16進数4桁でターミナルIDを設定
DCS Pn $ P... ST DECRSTS
Pn = 2 DECCTRの復元
DCS $ q P... ST DECRQSS
m SGR DCS 1 $ r 0 m ST
r DECSTBM DCS 1 $ r 1 ; 25 r ST
s DECSLRM DCS 1 $ r 1 ; 80 s ST
t DECSLPP DCS 1 $ r 25 t ST
$ | DECSCPP DCS 1 $ r 80 $ | ST
$ } DECSASD DCS 1 $ r 0 $ } ST
$ ~ DECSSDT DCS 1 $ r 0 $ ~ ST
* | DECNLS DCS 1 $ r 25 * | ST
* x DECSACE DCS 1 $ r 1 * x ST
" p DECSCL DCS 1 $ r 65 " p ST
" q DECSCA DCS 1 $ r 1 " q ST
上記以外 DCS 0 $ r ST
DCS Pn $ t P... ST DECRSPS
Pn = 1 DECCIRの復元
Pn = 2 DECTABSRの復元

1.3.6 オプション一覧


番号 略号 設定 SM (CSI Pn h) 解除 RM (CSI Pn l)
2 KAM キー入力を無視 キー入力を有効
4 IRM 挿入モード 上書きモード
6 ERM SPAの保護を無効 SPAの保護を有効
12 SRM ローカルエコーを無効 ローカルエコーを有効
18 ISM 各行別のタブ設定(マルチ) 全行で同じタブ設定(シングル)
20 LNM LF/VT/FFで行頭に移動 LF/VT/FFで通常動作

1.3.7 拡張オプション一覧


番号 略号 設定 DECSET (CSI ?Pn h) 解除 DECRST (CSI ?Pn l)
1 DECCKM [CKM]モードが有効のキーコードを送信 [CKM]モードが無効のキーコードを送信
2 DECANM VT100(ANSI)モード VT52モード
3 DECCOLM 132文字表示モード 80文字表示モード
4 DECSCLM スムーズスクロールモード ジャンプスクロールモード
5 DECSCNM 反転表示モード 通常表示モード
6 DECOM DECSTBMDECLRMMDECSLRMの影響を受ける 常に左上原点
7 DECAWM 行末のオートワープを有効 行末を超える移動を行わない
8 DECAWM キーのオートリピートが有効 キーのオートリピートが無効
9 *4 マウスリポートを有効 マウスリポートを無効
12 *4 カーソルの点滅を禁止する カーソルの点滅を行う
19 DECPEX MC/DECMCDECSTBMの影響を受けない MC/DECMCDECSTBMの影響を受ける
25 DECTCEM カーソルの表示 カーソルを非表示
38 *5 Tekモードに移行 Tekモードから抜ける
40 *4 DECCOLM有効 DECCOLM無効
41 *4 タブ(HT)のバグ修正モード xtermタブバグ互換モード
45 *4 行頭BSによる上行右端移動 行頭のBSで移動しない
47 *4 現在の画面の保存 保存した画面の復帰
67 DECBKM BSキー変換を行わない BSキーをDELキーに変換
69 DECLRMM 左右マージンを有効 左右マージン無効
80 DECSDM Sixelを別ウィンドウで表示 Sixelスクロールモード表示
95 DECNCSM DECCOLM時に画面をクリアしない 132/80文字表示変更時に画面をクリア
117  DECECM  SGRで空白文字の設定を無効 SGRで空白文字のカラーを設定
1000 *4 normal mouse tracking マウストラックキング無効
1001 *4 hilite mouse tracking マウストラックキング無効
1002 *4 button-event mouse tracking マウストラックキング無効
1003 *4 any-event mouse tracking マウストラックキング無効
1004 *4 フォーカスイベントの有効 フォーカスイベント無効
1005 *4 Extended Mouse Mode Extended Mode 無効
1006 *4 SGR Extended Mouse Mode SGR Mode 無効
1015 *4 URXVT Extended Mouse Mode URXVT Mode 無効
1047 *4 現在画面と拡張画面の切換 拡張画面と保存画面の切換
1048 *4 カーソル位置の保存 保存したカーソル位置の復帰
1049 *4 現在の画面の保存後にクリア 保存した画面の復帰
2004 *4 Bracketed Paste Mode 有効 Bracketed Paste Mode 無効
8400 *3 SGRで空白属性を設定しない SGRで空白文字属性を設定
8401 *3 行末での遅延改行無効 行末での遅延改行有効
8402 *3 自動ブラウザ起動をする 自動ブラウザ起動無効
8403 *3 ボールド文字有効 ボールド文字無効
8405 *3 BPlus/ZModem/Kermit自動 自動ファイル転送無効
8406 *3 画面のスタックを禁止 画面のスタックが有効
8428 RLAMBCHM *3 Aタイプを半角で表示 Aタイプを全角で表示
8435 *3 DECCOLMでリサイズ ウィンドウをリサイズしない
8437 *3 漢字コードを自動追従 漢字コードを変更しない
8440 *3 ノーマルキーモード(DECPNM) アプリケーションキーモード(DECPAM)
8441 *3 IMEオープン IMEクロース
8442 7727 *8 ESCキーを[CKM]モードに含める ESCキーを[CKM]モードに含めない
8443 7786 *8 ホイールでカーソルキーを発生 通常のホイール動作
8448 *3 UTF-8ノーマライズを禁止 UTF-8ノーマライズを行う
8449 *3 Unicde半角の調整をしない Unicde半角の調整を行う
8450 *3 modifyKeysを優先する ショートカットを優先する
8451 *3 罫線を文字で表示する 罫線を線で表示する
8452 *3 Sixel画像の右にカーソル Sixel画像の下にカーソル
8453 8800 DRCSMMv1 Unicodeマッピング有効 Unicodeマッピング無効
*1:VT52モード *2:ADM-3互換 *3:オリジナル *4:XTerm互換 *5:Tekモード *6:設定による *7:TeraTerm互換 *8:mintty

1.3.8 文字セット一覧


文字セット Dscs エントリー名 iconvセット コメント
94 0 VT100-GRAPHIC DEC Special Graphic
94 1 IBM437-GR IBM437 MS-DOS Latin US
94 @ ISO646-US ISO646-US IRV of ISO 646 : 1983?
94 B ASCII(ANSI X3.4-1968) ANSI_X3.4-1968 ISO 646, USA Version X3.4 - 1968
94 I JIS X 0201-Kana JISX0201-1976 Katakana Character Set JIS C6220-1969?
94 J JIS X 0201-Roman JISX0201-1976 ISO 646, Japanese Version for Roman Characters JIS C6220-1969?
94 T GB 1988-80 GB_1988-80 Coded Character Set for Information Interchange, Standard Chinese GB 1988-80
94 &5 Russian CP866 Russian NRCS
94 %2 Turkish CP1254 Turkish NRCS
96 A LATIN1 (ISO8859-1) LATIN1 Right-hand Part of Latin Alphabet No.1 ISO 8859/1, ECMA-94
96 B LATIN2 (ISO8859-2) LATIN2 Right-hand Part of Latin Alphabet No.2 ISO 8859/2, ECMA-94
96 C LATIN3 (ISO8859-3) LATIN3 Right-hand Part of Latin Alphabet No.3 ISO DIS 8859/3, ECMA-94
96 D LATIN4 (ISO8859-4) LATIN4 Right-hand Part of Latin Alphabet No.4 ISO DIS 8859/4, ECMA-94
96 F GREEK (ISO8859-7) ISO8859-7 Right-hand Part of the Latin/Greek Alphabet Standard ELOT 928, ECMA-118, ISO DIS 8859/7
96 G ARABIC (ISO8859-6) ISO8859-6 Right-hand Part of the Latin/Arabic Alphabet ECMA-114, ISO 8859/6
96 H HEBREW (ISO8859-8) ISO8859-8 Latin/Hebrew Alphabet Standard ECMA-121
96 L CYRILLIC (ISO8859-5) ISO8859-5 Cyrillic part of the Latin/Cyrillic Alphabet
96 M LATIN5 (ISO8859-9) LATIN5 Right-hand part of Latin Alphabet No.5
96 T THAI (ISO8859-11) ISO-8859-11 Thai Set
96 V LATIN6 (ISO8859-10) LATIN6 Supplementary Set for Latin Alphabet No. 6
96 Y BALTIC (ISO8859-13) ISO-8859-13 Baltic Rim Supplementary Set
96 Z VIETNAMESE (ISO8859-12) CP1258 Vietnamese Standard Code for Information Interchange
96 _ CELTIC (ISO8859-14) ISO-8859-14 Celtic Supplementary Latin Set
96 b LATIN9 (ISO8859-15) ISO-8859-15 European Supplementary Latin Set ("Latin 9")
96 f ROMANIAN (ISO8859-16) ISO-8859-16 Romanian Character Set for Information Interchange
94x94 @ JIS X 0208-1978 JIS_X0208-1983 Japanese Character Set JISC C 6226-1978
94x94 A GB2312-1980 GB_2312-80 Chinese Character Set Chinese Standard GB 2312-80
94x94 B JIS X 0208-1983 JIS_X0208-1983 Japanese Character Set JIS C 6226-1983
94x94 C KSC5601-1987 KS_C_5601-1987 Korean Graphic Character Set, Korean Standard KSC 5601-1987
94x94 D JIS X 0212-1990 JIS_X0212-1990 Supplementary Japanese Graphic Character Set for Information Interchange
94x94 E ISO-IR-165 ISO-IR-165 Blissymbol Graphic Character Set
94x94 O JIS X 0213-2000.1 JIS_X0213-2000.1 Japanese Graphic Character Set for Information Interchange --- Plane 1
94x94 P JIS X 0213-2000.2 JIS_X0213-2000.2 Japanese Graphic Character Set for Information Interchange --- Plane 2
94x94 Q JIS X 0213-2004.1 JIS_X0213-2000.1 Japanese Graphic Character Set for Information Interchange, Plane 1 (Update of ISO-IR 228)

1.3.9 UTF-8表示仕様(文字セットをUTF-8にした場合の処理)


Unicode正規化 NFC(Normalization Form Canonical Composition)の1文字に正規化できる2文字のみ正規化して表示します。
ハングルなどの3文字で正規化する文字もその順番が正しければ随時、正規化されます。
Unicode結合文字 NSM(Non Spacing Mark)は、直前の文字があれば、合成して表示します。
IVS(Variation Selector)は、直前の文字に追加して異体字を表示します。
正規化されないハングル字母は、初声子音から終声子音までを重ねて表示します(正しく表示されません)
RTLの扱い アラビア文字のRTL(Right to Left)は、ひとまとまりでそれなりに表示します。またU+200FなどのRIGHT-TO-LEFT MARKを指定すると解除されるまでRTL文字としてまとめて表示します。
※範囲指定などで選択するとRTL文字列は、正しく再表示されません。
8428拡張オプション 設定 DECSET (CSI ? 8428 h) Aタイプを半角で表示
解除 DECRST (CSI ? 8428 l) Aタイプを全角で表示
EastAsianWidth.txtでAタイプ(Ambiguous)で定義された文字の表示幅を設定します。
表示に使用するフォントにより見た目が異なりますが、それなりに幅を調整して表示します。
8448拡張オプション 設定 DECSET (CSI ? 8448 h) Unicode正規化、ハングル合成、RTLマーク処理を行いません。
解除 DECRST (CSI ? 8448 l) 上記の処理をすべて行います。
解除の状態で正規化などの処理行うとクリップボードにコピーした場合に正規化後の文字がコピーされます。
この8448をセットすると入力された文字をできるだけそのままの形で表示・コピーするようになります。