# 対応制御シーケンス

## C0 制御文字

コード | 略号 | 機能
--- | --- | ---
0x00 | NUL |
0x01 | SOH |
0x02 | STX |
0x03 | ETX |
0x04 | EOT |
0x05 | ENQ | アンサーバック文字列送信
0x06 | ACK |
0x07 | BEL | ビープ音を鳴らす
0x08 | BS | カーソルを1桁左に移動
0x09 | HT | カーソルを次のタブストップに移動
0x0a | LF | Line feed または New line 動作を行う。Line feed/New line モードの設定により動作が変わる。
0x0b | VT | LFと同じ
0x0c | FF | LFと同じ
0x0d | CR | カーソルを行頭に移動
0x0e | SO | GL へ G1 を呼び出す
0x0f | SI | GL へ G0 を呼び出す
0x10 | DLE |
0x11 | DC1 |
0x12 | DC2 |
0x13 | DC3 |
0x14 | DC4 |
0x15 | NAK |
0x16 | SYN |
0x17 | ETB |
0x18 | CAN |
0x19 | EM |
0x1a | SUB |
0x1b | ESC | エスケープシーケンスの開始
0x1c | FS |
0x1d | GS |
0x1e | RS |
0x1f | US |

## C1制御文字

コード | 7bit表現 | 略号 | 機能
--- | --- | --- | ---
0x80 |  | PAD |
0x81 |  | HOP |
0x82 |  | BPH |
0x83 |  | NBH |
0x84 | ESC D | IND | カーソルを一行下に移動
0x85 | ESC E | NEL | カーソルを次の行の先頭に移動
0x86 |  | SSA |
0x87 |  | ESA |
0x88 | ESC H | HTS | カーソル位置にタブストップを設定する
0x89 |  | HTJ |
0x8a |  | VTS |
0x8b |  | PLD |
0x8c |  | PLU |
0x8d | ESC M | RI | カーソルを一行上に移動
0x8e | ESC N | SS2 | GL または GR へ G2 を次の一文字に限り呼び出す
0x8f | ESC O | SS3 | GL または GR へ G3 を次の一文字に限り呼び出す
0x90 | ESC P | DCS | Device Control Sequence (DCSシーケンスを参照)
0x91 |  | PU1 |
0x92 |  | PU2 |
0x93 |  | STS |
0x94 |  | CCH |
0x95 |  | MW |
0x96 |  | SPA |
0x97 |  | EPA |
0x98 | ESC X | SOS | 文字列開始 (SOSシーケンスを参照)
0x99 |  | SGCI |
0x9a |  | SCI |
0x9b | ESC [ | CSI | CSIシーケンスを開始 (CSIシーケンスを参照)
0x9c | ESC \ | ST | 文字列終端。DCS, SOS, OSC, PM, APC シーケンスの終端。
0x9d | ESC ] | OSC | Operating System Command (OSCシーケンスを参照)
0x9e | ESC ^ | PM | Privacy Message (PMシーケンスを参照)
0x9f | ESC _ | APC | Application Program Command (APCシーケンスを参照)

## エスケープシーケンス

シーケンス | 略号 | 機能
--- | --- | ---
ESC 6 | DECBI | カーソルを左に 1 桁移動する。カーソルが左端に有った場合、画面を右に 1 桁スクロールする。スクロールした結果画面の右にはみ出した部分は失われる。
ESC 7 | DECSC | カーソル位置を保存する
ESC 8 | DECRC | 保存したカーソル位置を復元する
ESC 9 | DECFI | カーソルを右に 1 桁移動する。カーソルが右端に有った場合、画面を左に 1 桁スクロールする。スクロールした結果画面の左にはみ出した部分は失われる。
ESC = | DECKPAM | アプリケーションキーパッドモードに設定する。
ESC > | DECKPNM | ノーマルキーパッドモードに設定する。
ESC D | IND | カーソルを一行下に移動
ESC E | NEL | カーソルを次の行の先頭に移動
ESC H | HTS | 現在のカーソル位置にタブストップを設定する
ESC M | RI | カーソルを一行上に移動
ESC N | SS2 | GL または GR へ G2 を次の一文字に限り呼び出す
ESC O | SS3 | GL または GR へ G3 を次の一文字に限り呼び出す
ESC P | DCS | Device Control Sequence (DCSシーケンスを参照)
ESC X | SOS | 文字列開始 (SOSシーケンスを参照)
ESC Z | DECID | 端末IDを返答する
ESC [ | CSI | CSIシーケンスを開始 (CSIシーケンスを参照)
ESC \ | ST | 文字列終端。DCS, SOS, OSC, PM, APC シーケンスの終端。
ESC ] | OSC | Operating System Command (OSCシーケンスを参照)
ESC ^ | PM | Privacy Message (PMシーケンスを参照)
ESC _ | APC | Application Program Command (APCシーケンスを参照)
ESC c | RIS | 端末リセット
ESC g | - | 可視ベル
ESC n | LS2 | GL へ G2 を呼び出す
ESC o | LS3 | GL へ G3 を呼び出す
ESC | | LS3R | GR へ G3 を呼び出す
ESC } | LS2R | GR へ G2 を呼び出す
ESC ~ | LS1R | GR へ G1 を呼び出す
ESC SP F | S7C1T | 7ビットモード。応答に7ビットシーケンスを使う。
ESC SP G | S8C1T | 8ビットモード。応答に8ビットシーケンスを使う。
ESC # 8 | DECALN | 画面を'E'で埋める
ESC $ | 文字集合の指示 (ISO/IEC 2022)
ESC (
ESC )
ESC *
ESC +

## CSIシーケンス

シーケンス | 略号 | 機能
--- | --- | ---
CSI Ps @ | ICH | カーソル位置に Ps 個空白を挿入する。Ps の省略時の値は 1。
CSI Ps A | CUU | カーソルを Ps 行上に移動する。Ps の省略時の値は 1。
CSI Ps B | CUD | カーソルを Ps 行下に移動する。Ps の省略時の値は 1。
CSI Ps C | CUF | カーソルを Ps 桁右に移動する。Ps の省略時の値は 1。
CSI Ps D | CUB | カーソルを Ps 桁左に移動する。Ps の省略時の値は 1。
CSI Ps E | CNL | カーソルを Ps 行下の 1 桁目に移動する。Ps の省略時の値は 1。
CSI Ps F | CPL | カーソルを Ps 行上の 1 桁目に移動する。Ps の省略時の値は 1。
CSI Ps G | CHA | カーソルを現在の行の Ps 桁目に移動する。Ps の省略時の値は 1。
CSI Ps1 ; Ps2 H | CUP | カーソルを Ps1 行目の Ps2 桁目に移動する。Ps1, Ps2 の省略時の値は 1。
CSI Ps I | CHT | カーソルを Ps 個後ろのタブストップに移動する。Ps の省略時の値は 1。
CSI Ps J | ED | 画面消去。Ps の省略時の値は 0。
    Ps = 0      カーソル位置から画面末尾までを消去する。
       = 1      画面先頭からカーソル位置までを消去する。
       = 2      画面全体を消去する。
CSI Ps K | EL | 行消去。Ps の省略時の値は 0。
    Ps = 0      カーソル位置から行末までを消去する。
       = 1      行頭からカーソル位置までを消去する。
       = 2      行全体を消去する。
CSI Ps L | IL | カーソルのある行の前に Ps 行空行を挿入する。Ps の省略時の値は 1。
CSI Ps M | DL | カーソルのある行から Ps 行を削除する。Ps の省略時の値は 1。
CSI Ps P | DCH | カーソル位置の文字を Ps 文字削除する。Ps の省略時の値は 1。
CSI Ps S | SU | 画面を Ps 行上にスクロールする。Ps の省略時の値は 1。
CSI Ps T | SD | 画面を Ps 行下にスクロールする。Ps の省略時の値は 1。
CSI Ps X | ECH | カーソル位置から Ps 文字を消す(空白にする)。Ps の省略時の値は 1。
CSI Ps Z | CBT | カーソルを Ps 個前のタブストップに移動する。Ps の省略時の値は 1。
CSI Ps ` | HPA | カーソルを現在の行の Ps 桁目に移動する。Ps の省略時の値は 1。
CSI Ps a | HPR | カーソルを Ps 桁右に移動する。Ps の省略時の値は 1。
CSI Ps b | REP | 最後に出力した文字を Ps 回繰り返す。Ps の省略時の値は 1。
CSI Ps c | DA | 端末特性報告。省略時の Ps の値は 0。
    Ps = 0    端末特性を要求する。
    応答: 端末IDの設定により異なる。
      VT100     ESC [ ? 1 ; 2 c
      VT100J    ESC [ ? 5 ; 2 c
      VT101     ESC [ ? 1 ; 0 c
      VT102     ESC [ ? 6 c
      VT102J    ESC [ ? 15 c
      VT220J    ESC [ ? 62 ; 1 ; 2 ; 5 ; 6 ; 7 ; 8 c
      VT282     ESC [ ? 62 ; 1 ; 2 ; 4 ; 5 ; 6 ; 7 ; 8 ; 10 ; 11 c
      VT320     CSI ? 63 ; 1 ; 2 ; 6 ; 7 ; 8 c
      VT382     CSI ? 63 ; 1 ; 2 ; 4 ; 5 ; 6 ; 7 ; 8 ; 10 ; 15 c
      VT420     CSI ? 64 ; 1 ; 2 ; 7 ; 8 ; 9 ; 15 ; 18 ; 21 c"
      VT520     CSI ? 65 ; 1 ; 2 ; 7 ; 8 ; 9 ; 12 ; 18 ; 19 ; 21 ; 23 ; 24 ; 42 ; 44 ; 45 ; 46 c
      VT525     CSI ? 65 ; 1 ; 2 ; 7 ; 9 ; 12 ; 18 ; 19 ; 21 ; 22 ; 23 ; 24 ; 42 ; 44 ; 45 ; 46 c
CSI Ps d | VPA | カーソルを桁位置を変えずに Ps 行目に移動する。Ps の省略時の値は 1。
CSI Ps e | VPR | カーソルを Ps 行下に移動する。Ps の省略時の値は 1。
CSI Ps1 ; Ps2 f | HVP | カーソルを Ps1 行目の Ps2 桁目に移動する。Ps1, Ps2 の省略時の値は 1。
CSI Ps g | TBC | タブストップの削除。Ps の省略時の値は 0。
    Ps = 0      カーソル位置のタブストップを削除する。
       = 3      すべてのタブストップを削除する。
CSI Pm h | SM | モードを設定する。(モード (標準)を参照)
CSI Pm i | MC | 印刷モード
    Ps = 0      画面を印刷する。
       = 4      プリンタコントローラモードを無効にする。
       = 5      プリンタコントローラモードを有効にする。
CSI Ps j | HPB | カーソルを Ps 桁左に移動する。Ps の省略時の値は 1。
CSI Ps k | VPB | カーソルを Ps 行上に移動する。Ps の省略時の値は 1。
CSI Pm l | RM | モードを解除する。(モード (標準)を参照)
CSI Pm m | SGR | 文字属性を設定する。省略時の Pm の値は 0。(文字属性を参照)
CSI Ps n | DSR | 端末の状態を報告する。
    Ps = 5      端末の状態を報告する。常に CSI 0 n (準備OK)を返す。
                応答: CSI s n
                  s = 0    正常
       = 6      カーソルの位置を報告する。(CPR)
                応答: CSI r ; c R
                  r    行位置
                  c    桁位置
CSI Ps1 ; Ps2 r | DECSTBM | 上下マージン(スクロールリージョン)を設定する。
    Ps1    上マージンの行位置。省略時は 1。
    Ps2    下マージンの行位置。省略時は画面下端。
CSI s | SCP | 現在のカーソル位置を保存する。DECLRMM がリセットされている時のみ有効。
CSI Ps1 ; Ps2 s | DECSLRM | 左右マージン(スクロールリージョン)を設定する。DECLRMM がセットされている時のみ有効。
    Ps1    左マージンの行位置。省略時は 1。
    Ps2    右マージンの行位置。省略時は画面右端。
CSI Ps1 ; Ps2 ; Ps3 t | (DECSLPP) | ウィンドウ操作
    Ps1 =  1    ウィンドウを通常表示状態にする。
        =  2    ウィンドウを最小化する。
        =  3    ウィンドウ位置を Ps2, Ps3 に移動する。
        =  4    ウィンドウサイズを高さ Ps2 ドット, 幅 Ps3 ドットに変更する。
        =  5    ウィンドウを前面に移動する。
        =  6    ウィンドウを背面に移動する。
        =  7    ウィンドウを再描画する。
        =  8    端末サイズを Ps2 行, Ps3 桁に変更する。
        =  9    端末の最大化状態を変更する。
                Ps2 = 0    ウィンドウを通常サイズに変更する。
                    = 1    ウィンドウを最大化する。
        = 10    端末のフルスクリーンモードを変更する。現在は端末の最大化で代用している。
                Ps2 = 0    フルスクリーン状態を解除する
                    = 1    フルスクリーン状態にする
                    = 2    フルスクリーン状態を変更する(トグル)

        = 11    ウィンドウの最小化状態を報告する。
                応答: CSI s t
                  s = 1    通常状態
                    = 2    最小化状態

        = 13    ウィンドウの位置を報告する。
                Ps2 = 省略, 0, 1
                           ウィンドウ全体の位置を報告する
                    = 2    テキスト領域の位置を報告する
                応答: CSI 3 ; x ; y t
                  x    ウィンドウ左上角の X 座標
                  y    ウィンドウ左上角の Y 座標

        = 14    ウィンドウのサイズを報告する。
                Ps2 = 省略, 0, 1
                           テキスト領域のサイズを報告する
                    = 2    ウィンドウ全体のサイズを報告する
                応答: CSI 4 ; y ; x t
                  y    ウィンドウの高さ
                  x    ウィンドウの幅

        = 15    ルートウィンドウのサイズをピクセル数で報告する。
                応答: CSI 5 ; y ; x t
                  y    ルートウィンドウの高さ(ピクセル)
                  x    ルートウィンドウの幅(ピクセル)

        = 16    文字サイズを報告する。
                応答: CSI 6 ; y ; x t
                  y    文字の高さ(ピクセル)
                  x    文字の幅(ピクセル)

        = 18    端末サイズを報告する。
                応答: CSI 8 ; y ; x t
                  y    端末サイズの高さ(行数)
                  x    端末サイズの幅(文字数)

        = 19    ルートウィンドウのサイズを文字数で報告する。
                応答: CSI 9 ; y ; x t
                  y    ルートウィンドウの高さ(行数)
                  x    ルートウィンドウの幅(文字数)

        = 20    アイコンラベルを報告する。
                応答: OSC L title ST
                  title    アイコンラベル (ウィンドウタイトル)

        = 21    ウィンドウタイトルを報告する。
                応答: OSC l title ST
                  title    ウィンドウタイトル
        = 22    ウィンドウタイトルをスタックに保存する。
                Ps2 = 0, 1, 2    ウィンドウタイトルを保存する。
        = 23    ウィンドウタイトルをスタックから復元する。
                Ps2 = 0, 1, 2    ウィンドウタイトルを復元する。
CSI u | RCP | 保存したカーソル位置を復元する。
CSI < r | TTIMERS | IME の開閉状態を復元する。
CSI < s | TTIMESV | IME の開閉状態を保存する。
CSI < Ps t | TTIMEST | IME の開閉状態を設定する。省略時の Ps の値は 0。
    Ps = 0      IME を閉じる。
       = 1      IME を開く。
CSI = Ps c | DA3 (Tertiary DA) | 第三端末特性報告。省略時の Ps の値は 0。
    Ps = 0      第三端末特性要求
                応答: DCS ! | dddddddd ST
                  dddddddd  端末固有ID
CSI > Ps c | DA2 (Secondary DA) | 第二端末特性報告。省略時の Ps の値は 0。
    Ps = 0      第二端末特性要求
                応答: CSI > 32 ; 331 ; 0 c
CSI > 3 ; Ps1 ; Ps2 ; Ps3 ; Ps4 J | - | 矩形消去。
    Ps1   消去領域の上辺
    Ps2   消去領域の左辺
    Ps3   消去領域の下辺
    Ps4   消去領域の右辺
CSI > 3 ; Ps1 ; Ps2 K | - | 現在の行の Ps1 桁目から Ps2 桁目までを消去する。
CSI > 5 ; Ps K | - |
    Ps = 3..6   Draw Line
       = 12     Set foreground color
CSI ? Ps J | DECSED | 選択的画面消去。保護されていない文字のみを消去する。Ps の省略時の値は 0。
    Ps = 0      カーソル位置から画面末尾までの保護されていない文字を消去する。
       = 1      画面戦闘からカーソル位置までの保護されていない文字を消去する。
       = 2      画面全体の保護されていない文字を消去する。
CSI ? Ps K | DECSEL | 選択的行消去。保護されていない文字のみを消去する。Ps の省略時の値は 0。
    Ps = 0      カーソル位置から行末までの保護されていない文字を消去する。
       = 1      行頭からカーソル位置までの保護されていない文字を消去する。
       = 2      行全体の保護されていない文字を消去する。
CSI ? Pm h | DECSET | DEC/xterm 拡張のモードを設定する。(モード (DEC/xterm拡張)を参照)
CSI ? Pm i | DECMC | 印刷モード
    Pm =  1     カーソル行を印刷する。
       =  4     自動プリントモードを無効にする。
       =  5     自動プリントモードを有効にする。
CSI ? Pm l | DECRST | DEC/xterm 拡張のモードを解除する。(モード (DEC/xterm拡張)を参照)
CSI ? Ps n | DECDSR | 端末の状態を報告する。
    Ps = 55     ロケータデバイスの状態を報告する。常に CSI ? 50 n (準備OK)を返す。
                応答: CSI ? s n
                  s = 50    Locator ready.
CSI Ps SP q | DECSCUSR | カーソル表示形式変更。Ps の省略時の値は 0。
    Ps = 0,1    ブロックカーソル / 点滅
       = 2      ブロックカーソル / 非点滅
       = 3      下線カーソル / 点滅
       = 4      下線カーソル / 非点滅
       = 5      縦線カーソル / 点滅
       = 6      縦線カーソル / 非点滅
CSI ! p | DECSTR | ソフトリセット
CSI Ps1 ; Ps2 " p | DECSCL | 端末動作モード設定
    Ps1 = 61    VT-Level 1 (VT100モード)
        = 62    VT-Level 2 (VT200モード)
        = 63    VT-Level 3 (VT300モード)
        = 64    VT-Level 4 (VT400モード)
        = 65    VT-Level 5 (VT500モード)

    Ps2 = 0     8 bit モード (S8C1T)
        = 1     7 bit モード (S7C1T)
        = 2     8 bit モード (S8C1T)
CSI Ps " q | DECSCA | 文字の保護属性を設定する。保護されている文字は選択的消去の対象外になる。
    Ps = 0      保護属性の解除。これ以降に出力される文字は保護されていない状態になる。
       = 1      保護属性の設定。これ以降に出力される文字は保護状態になる。
       = 2      保護属性の解除。これ以降に出力される文字は保護されていない状態になる。
CSI Ps $ p (Standard) CSI ? Ps $ p (DEC/xterm) | DECRQM | モード問い合わせ。端末にモード(標準, DEC/xterm拡張)の状態を問い合わせる。
    Ps: 問い合わせるモード。
    応答: CSI Ps1 ; Ps2 $ y     -- 標準モード
          CSI ? Ps1 ; Ps2 $ y   -- DEC/xterm拡張モード
      Ps1   問い合わせたモード番号
      Ps2 = 0    非対応
          = 1    セット
          = 2    リセット
          = 3    常にセット
          = 4    常にリセット
CSI Ps1 ; Ps2 ; Ps3 ; Ps4 ; Pm $ r | DECCARA | 範囲内文字属性設定。Ps1行目のPs2桁目からPs3行目のPs4桁目の間の文字属性をPmに設定する。
    Ps1   範囲指定の開始位置の行位置。省略時は1。
    Ps2   範囲指定の開始位置の桁位置。省略時は1。
    Ps3   範囲指定の終了位置の行位置。省略時は画面の行数と同じ値。
    Ps4   範囲指定の終了位置の桁位置。省略時は画面の桁数と同じ値。
    Pm    設定する文字属性。";" で区切る事によって複数指定出来る。
開始位置および終了位置の扱いはDECSACEの設定によって変わる。 DECSACEで0または1が設定された場合は、開始位置から終了位置の間の連続領域が対象範囲となる。 DECSACEで2が設定された場合は、開始位置を左上、終了位置を右下とした矩形領域が対象範囲となる。
CSI Ps1 ; Ps2 ; Ps3 ; Ps4 ; Pm $ t | DECRARA | 範囲内文字属性反転。Ps1行目のPs2桁目からPs3行目のPs4桁目の間の文字属性Pmを反転する。
    Ps1   範囲指定の開始位置の行位置。省略時は1。
    Ps2   範囲指定の開始位置の桁位置。省略時は1。
    Ps3   範囲指定の終了位置の行位置。省略時は画面の行数と同じ値。
    Ps4   範囲指定の終了位置の桁位置。省略時は画面の桁数と同じ値。
    Pm    反転する文字属性。";" で区切る事によって複数指定出来る。
開始位置および終了位置の扱いはDECSACEの設定によって変わる。 DECSACEで0または1が設定された場合は、開始位置から終了位置の間の連続領域が対象範囲となる。 DECSACEで2が設定された場合は、開始位置を左上、終了位置を右下とした矩形領域が対象範囲となる。
CSI Ps1 ; Ps2 ; Ps3 ; Ps4 $ z | DECERA | 矩形消去。Ps1 〜 Ps4 の省略時の値は現在のカーソル位置。
    Ps1   消去領域の上辺
    Ps2   消去領域の左辺
    Ps3   消去領域の下辺
    Ps4   消去領域の右辺
CSI Ps1 ; Ps2 ; Ps3 ; Ps4 $ { | DECSERA | 選択的矩形消去。矩形内の保護されていない文字を消去する。Ps1 〜 Ps4 の省略時の値は現在のカーソル位置。
    Ps1   消去領域の上辺
    Ps2   消去領域の左辺
    Ps3   消去領域の下辺
    Ps4   消去領域の右辺
CSI Ps $ } | DECSASD | ステータス行から/へ移動。Ps の省略時の値は 0。
    Ps = 0      主画面へ移動。
       = 1      ステータス行へ移動。
CSI Ps $ ~ | DECSSDT | ステータス行の表示状態の変更。Ps の省略時の値は 0。
    Ps = 0      ステータス行を表示しない。
         1      ステータス行を表示しない。
         2      ステータス行を表示する。
CSI Ps1 ; Ps2 ; Ps3 ; Ps4 ' w | DECEFR | filter rectangle 設定。
    Ps1   filter rectangle の上辺
    Ps2   filter rectangle の左辺
    Ps3   filter rectangle の下辺
    Ps4   filter rectangle の右辺
filter rectangle は常にワンショットモード扱いになる。一度フィルタイベントを送信すると filter rectangle は無効になる。
CSI Ps1 ; Ps2 ' z | DECELR | DEC ロケータ報告モード。
    Ps1 = 0     ロケータ報告を無効にする
        = 1     ロケータ報告を有効にする
        = 2     ワンショットモード。次の一回の報告だけロケータ報告を有効にし、その後無効にする。
    Ps2 = 0     文字モード。2 と同じ。
        = 1     ピクセルモード。位置をピクセル単位で報告する。
        = 2     文字モード。位置を文字単位で報告する。
CSI Pm ' { | DECSLE | ロケータイベント設定。
    Pm = 0      ボタンダウン/アップイベントを無効にする。filter rectangle を無効にする。
       = 1      ボタンダウンイベントを有効にする。ボタンが押されると、DECRQLP と同じ形式でロケータ位置を報告する。
       = 2      ボタンダウンイベントを無効にする。
       = 3      ボタンアップイベントを有効にする。ボタンが離されると、DECRQLP と同じ形式でロケータ位置を報告する。
       = 4      ボタンアップイベントを無効にする。
CSI ' | | DECRQLP | ロケータの位置を応答する。
    応答: CSI Pe ; Pb ; Pr ; Pc ; Pp & w
    Pe: イベントコード
    Pe =  0     ロケータ報告が無効
       =  1     ロケータ位置要求(DECRQLP) を受けた
       =  2     左ボタンが押された
       =  3     左ボタンが離された
       =  4     中ボタンが押された
       =  5     中ボタンが離された
       =  6     右ボタンが押された
       =  7     右ボタンが離された
       =  8     ボタン 4 が押された (未対応)
       =  9     ボタン 4 が離された (未対応)
       = 10     ロケータが filter rectangle の外に出た。

    Pb: ボタン状態。押されているボタンに対応する以下の値の合計。
      1    右ボタン
      2    中ボタン
      4    左ボタン
      8    ボタン4 (未対応)

    Pr: 縦位置。画面上端を 1 とする。

    Pc: 横位置。画面左端を 1 とする。

    Pp: ページ。常に 1。

### モード (標準)

モード | 略号 | 設定(SM) | 解除(RM)
--- | --- | --- | ---
2 | KAM | キーボードをロックする。キー入力はすべて無視される。 | キーボードのロックを解除する。
4 | IRM | 挿入モードに設定する。 | 上書きモードに設定する。
12 | SRM | ローカルエコーを無効にする。 | ローカルエコーを有効にする。
20 | LNM | New line モード。 - LF, FF, VT で、カーソルが次の行の行頭に移動するようになる。 - 改行コード(送信) の設定が "CR+LF" に変更される。 | Line feed モード。 - LF, FF, VT で、カーソルが次の行の同じ桁位置に移動するようになる。 - 改行コード(送信) の設定が "CR" に変更される。
33 | WYSTCURM | カーソルの点滅を無効にする。 | カーソルの点滅を有効にする。
34 | WYULCURM | カーソルの形状を下線カーソルにする。 | カーソルの形状をブロックカーソルにする。

### モード (DEC/xterm拡張)

モード | 略号 | 設定(DECSET) | 解除(DECRST)
--- | --- | --- | ---
1 | DECCKM | アプリケーションカーソルモードに設定する。 | ノーマルカーソルモードに設定する。
3 | DECCOLM | ウィンドウの横幅を 132 桁にする。 | ウィンドウの横幅を 80 桁にする。
5 | DECSCNM | 反転表示モード。文字色と背景色を入れ替える。 | 通常表示モード。文字色と背景色を通常状態に戻す。
6 | DECOM | 行数の基準位置を上マージンにする。上下マージンの外にカーソルを移動できないようにする。カーソル位置を上マージンの 1 桁目に移動する。 | 行数の基準位置を画面上端にする。上下マージンの外にカーソルを移動できるようにする。カーソル位置を画面上端の 1 桁目に移動する。
7 | DECAWM | 行末での自動改行を有効にする。 | 行末での自動改行を無効にする。
8 | DECARM | キーボードのオートリピートを有効にする。 | キーボードのオートリピートを無効にする。
9 | XT_MSE_X10 | X10 互換マウス報告モードに設定する。 | マウス報告モードを解除する。
12 | XT_CBLINK | カーソルの点滅を無効にする。 | カーソルの点滅を有効にする。
19 | DECPEX | 印刷範囲を画面全体にする。 | 印刷範囲をスクロールリージョン内にする。
25 | DECTCEM | カーソルを表示する。 | カーソルを非表示にする。
38 | DECTEK | TEKウィンドウに切り替える。 | 何も行わない。
47 | XT_ALTSCRN | 代替画面バッファに切り替える。 | 標準画面バッファに切り替える。
59 | DECKKDM | 漢字端末モードに設定する。 | カタカナ端末モードに設定する。
66 | DECNKM | アプリケーションキーパッドモードに設定する。 | 数値キーパッドモードに設定する。
67 | DECBKM | Backspace キーで BS を送出する。 | Backspace キーで DEL を送出する。
69 | DECLRMM | 左右マージンを有効にする。DECSLRM による左右マージン設定が有効になる。SCP によるカーソル位置保存が無効になる。 | 左右マージンを無効にする。DECSLRM による左右マージン設定が無効になる。SCP によるカーソル位置保存が有効になる。
1000 | XT_MSE_X11 | マウス報告モードに設定する。マウスボタンの押し/離し,ホイールの回転を報告する。 | マウス報告モードを解除する。
1002 | XT_MSE_BTN | ボタンイベントマウス報告モードに設定する。通常のマウス報告モードの他に、マウスボタンを押している間のマウスの動きも報告する。 | マウス報告モードを解除する。
1003 | XT_MSE_ANY | 全イベントマウス報告モードを有効にする。ボタンイベントマウス報告モードの他に、マウスボタンを押していない状態でもマウスの動きを報告する。 | マウス報告モードを解除する。
1004 | XT_MSE_WIN | フォーカス報告モードに設定する。 | フォーカス報告モードを解除する。
1005 | XT_MSE_UTF | xterm (UTF-8) 形式の拡張マウス報告形式を有効にする。 | 拡張マウス報告形式を解除する。
1006 | XT_MSE_SGR | xterm (SGR) 形式の拡張マウス報告形式を有効にする。 | 拡張マウス報告形式を解除する。
1015 | - | rxvt-unicode 形式の拡張マウス報告形式を有効にする。 | 拡張マウス報告形式を解除する。
1047 | XT_ALTS_47 | 代替画面バッファに切り替える。 | 画面全体を消去した後、標準画面バッファに切り替える。
1048 | XT_ALTS_48 | 現在のカーソル位置を保存する。 | 保存したカーソル位置を復元する。
1049 | XT_EXTSCRN | 現在のカーソル位置を保存後、代替画面バッファに切り替え、画面全体を消去する。 | 画面全体を消去し、標準画面バッファに切り替えた後、保存したカーソル位置を復元する。
2004 | RL_BRACKET | Bracketed paste mode を有効にする。 | Bracketed paste mode を無効にする。
7727 | - | Application Escape mode を有効にする。 | Application Escape mode を無効にする。
7786 | - | マウスホイール - カーソルキー変換を有効にする。 | マウスホイール - カーソルキー変換を無効にする。
8200 | TTCTH | 画面クリア(ED 2)時にカーソルを左上に移動する。 | 画面クリア(ED 2)時にカーソル位置を移動しない。

### 文字属性 (SGR)

番号 | 属性
--- | ---
0 | 全ての属性を解除する。
1 | 太字属性を設定する。
4 | 下線属性を設定する。
5 | 点滅属性を設定する。
7 | 反転属性を設定する。
22 | 太字属性を解除する。
24 | 下線属性を解除する。
25 | 点滅属性を解除する。
27 | 反転属性を解除する。
30 | 文字色を黒(色番号0)に設定する。
31 | 文字色を赤(色番号1)に設定する。
32 | 文字色を緑(色番号2)に設定する。
33 | 文字色を黄色(色番号3)に設定する。
34 | 文字色を青(色番号4)に設定する。
35 | 文字色を赤紫(色番号5)に設定する。
36 | 文字色を水色(色番号6)に設定する。
37 | 文字色を白(色番号7)に設定する。
38 ; 2 ; r ; g ; b 38 ; 2 ; r : g : b 38 ; 2 : r : g : b 38 : 2 : r : g : b | RGB値指定での文字色変更。文字色を R:r, G:g, B:b で表される色に設定する。 現在の実装では256色パレット中で指定したRGB値に最も近い色が使われる。
38 ; 5 ; Ps 38 ; 5 : Ps 38 : 5 : Ps | 文字色を色番号 Ps に設定する。
39 | 文字色を標準の文字色に設定する。
40 | 背景色を黒(色番号0)に設定する。
41 | 背景色を赤(色番号1)に設定する。
42 | 背景色を緑(色番号2)に設定する。
43 | 背景色を黄色(色番号3)に設定する。
44 | 背景色を青(色番号4)に設定する。
45 | 背景色を赤紫(色番号5)に設定する。
46 | 背景色を水色(色番号6)に設定する。
47 | 背景色を白(色番号7)に設定する。
48 ; 2 ; r ; g ; b 48 ; 2 ; r : g : b 48 ; 2 : r : g : b 48 : 2 : r : g : b | RGB値指定での背景色変更。背景色を R:r, G:g, B:b で表される色に設定する。 現在の実装では256色パレット中で指定したRGB値に最も近い色が使われる。
48 ; 5 ; Ps 48 ; 5 : Ps 48 : 5 : Ps | 背景色を色番号 Ps に設定する。
49 | 背景色を標準の背景色に設定する。
90 | 文字色を暗い灰色(色番号8)に設定する。
91 | 文字色を明るい赤(色番号9)に設定する。
92 | 文字色を明るい緑(色番号10)に設定する。
93 | 文字色を明るい黄色(色番号11)に設定する。
94 | 文字色を明るい青(色番号12)に設定する。
95 | 文字色を明るい赤紫(色番号13)に設定する。
96 | 文字色を明るい水色(色番号14)に設定する。
97 | 文字色を明るい白(色番号15)に設定する。
100 | 背景色を暗い灰色(色番号8)に設定する。
101 | 背景色を明るい赤(色番号9)に設定する。
102 | 背景色を明るい緑(色番号10)に設定する。
103 | 背景色を明るい黄色(色番号11)に設定する。
104 | 背景色を明るい青(色番号12)に設定する。
105 | 背景色を明るい赤紫(色番号13)に設定する。
106 | 背景色を明るい水色(色番号14)に設定する。
107 | 背景色を明るい白(色番号15)に設定する。

## DCSシーケンス

シーケンス | 略号 | 機能
--- | --- | ---
DCS Ps1 ; Ps2 | Pt ST | DECUDK | ユーザキー定義。
DCS ! { Pt ST | DECSTUI | 端末固有 ID を Pt に変更する。LockTUID 設定が off の時のみ有効。
DCS $ q Pt ST | DECRQSS | 設定問い合わせ。
    Pt: 問い合わせる設定
    Pt = m    SGR
       = r    DECSTBM
       = s    DECSLRM
       = " p  DECSCL
       = " q  DECSCA
       = SP q DECSCUSR
       = * x  DECSACE

    応答: DCS Ps $ r Pt ST
    Ps = 0    正常な問い合わせ。Pt は該当の設定を現在の状態に変更するためのシーケンスから先頭の CSI を除いた物。
       = 1    不正な問い合わせ。Pt は無し。
DCS + q Pt ST | - | Termcap/Terminfo文字列問い合わせ。
    Pt: 問い合わせるキャパビリティ。一文字辺り2桁の16進数値形式で指定する。

    応答: DCS Ps + r Pt ST
    Ps = 0   不正な問い合わせ。Pt は無し。
       = 1   正常な問い合わせ。
             Pt は Pt1 = Pt2 形式。Pt1 は問い合わせたキャパビリティ。Pt2 はその値。共に一文字辺り2桁の16進数値形式となる。

## OSCシーケンス

形式

    OSC Ps ; Pt ST
    OSC Ps ; Pt BEL

Ps | 機能
--- | ---
0, 1, 2 | ウィンドウタイトルを Pt に変更する。
4 | 色を設定する。 Pt は c ; spec という書式で、色番号 c の色を spec に設定する。 spec は以下の形式を受け付ける。
    rgb:r/g/b
    rgb:rr/gg/bb
    rgb:rrr/ggg/bbb
    rgb:rrrr/gggg/bbbb
    #rgb
    #rrggbb
    #rrrgggbbb
    #rrrrggggbbbb
    ?
spec が "?" の時は問い合わせ。該当の色を以下の形式で応答する。
    OSC 4 ; c ; rgb:rrrr/gggg/bbbb ST
5 | 文字属性の色を設定する。 Pt は c ; spec という書式で、c に対応する文字属性の色を spec に設定する。 c と文字属性の対応は以下の通り。
    c = 0   高輝度
      = 1   下線
      = 2   点滅
      = 3   反転
spec の形式は、OSC 4 の spec と同じ。
10 | VTウィンドウの文字色を Pt に設定する。Pt の形式は、OSC 4 の spec と同じ。
11 | VTウィンドウの背景色を Pt に設定する。Pt の形式は、OSC 4 の spec と同じ。
15 | TEKウィンドウの文字色を Pt に設定する。Pt の形式は、OSC 4 の spec と同じ。
16 | TEKウィンドウの背景色を Pt に設定する。Pt の形式は、OSC 4 の spec と同じ。
52 | クリップボードへのアクセス。
    Pt = Pc ; Pd
クリップボード Pc の内容を Pd にする。
    Pc: クリップボードの種類。 c p s 0 1 2 3 4 5 6 7 の 0 個以上の組み合わせを受け付ける。ただし現状ではこのパラメータは無視される。
    Pd: クリップボードに設定するデータ。base64 形式でエンコードする。
Pd が "?" の時は問い合わせ。クリップボードの内容を、設定と同じ形式で応答する。
104 | 色番号 Pt を初期値に戻す。
105 | 番号 Pt に対応する文字属性の色を初期値に戻す。番号と文字属性の対応は OSC 5 の c と同じ。
110 | VTウィンドウの文字色を初期値に戻す。
111 | VTウィンドウの背景色を初期値に戻す。
115 | TEKウィンドウの文字色を初期値に戻す。
116 | TEKウィンドウの背景色を初期値に戻す。

## SOSシーケンス

形式

    SOS Pt ST

対応しているSOSシーケンスはありません。すべて無視します。

## PMシーケンス

形式

    PM Pt ST

対応しているPMシーケンスはありません。すべて無視します。

## APCシーケンス

形式

    APC Pt ST

対応しているAPCシーケンスはありません。すべて無視します。

## 参考文献

- ECMA-48
- VT100.net
- Xterm control sequences
- Locator input models for ANSI Terminals (sixth revision)
- all-escapes.txt
- aixterm