-- ≪
≫ --
akinomyoga/contra :: Terminals
Terminals
このページではそれぞれの端末の制御機能とシーケンスを纏める。特に端末固有の制御機能に注視する。
端末固有の制御機能には★を付した。
ECMA-48 のシーケンスの規則を破ったシーケンスには × を付している。
制御機能に略称がない場合もしくは他と紛らわしい略称の場合は、
暫定的な略称を割り当てる。暫定的な略称は _ で始まるものとする。
以下は歴史的な端末の文書を集めているサイト。
目次
以下に HPTerm の情報が載っている。他は既に既知の情報である。
TNREPTAMB
- DSR ?8840 TNREPTAMB
- DSR ?8841 TNREPTAMB
- DSR ?8842 TNREPTAMB
Volker-Craig NABU 3100
NABU 3100 Users Manual – Manx
Visual Technology Visual 220
- Visual 220 User's Guide – Manx
Appendix D, p277 からシーケンス一覧が始まる。
機種名からしてそうだが実際に VT の完全劣化コピーで独自性は何もない。
- Mode: 2,3,4,12,20,?1-?8,?18,?19,?25,?42
- 94-set:
0 = DEC Special Graphics,
< = DEC Supplemental,
4 = Dutch,
5 = C = Finnish,
6 = E = Norwegian,
7 = H = Swedish,
= = Swiss
- CUU CUD CUF CUB CUP HPA IND RI NEL ED EL TBC HTS IL DL ICH ICH
- ISO-2022 functions, DECID DA1 DA2 RIS DECSTR
- DECSCA DECSEL DECSED DECSWL DECDWL DECDHL DECALN
- DECSC DECRC S8C1T S7C1T
- DSR: 5,6,?25
- SGR: 0,1,2,4,5,7,22,24,25,27; 1 は Bold
- MC: 0,4,5,?1,?4-7,?15(response:?10,?11,?13)
- CSI 4 ; Ps Ytypo?: DECTST 0-9
- DCS |, DCS {, DCS ~
TeleVideo
TeleVideo 970
- CSI ? 3 ; Pn ; Pn ; Pn ; Pn J _TVED★ Erase between columns within page
- CSI ? 3 ; Pn ; Pn K _TVEL★ Erase between columns within line
- CSI ? 8 c★ DA に対する応答。970 ID
- CSI ? 0 g _TVTBC★ clear all tabs and set to default
- MC: 0,4,5,?,?0-7
- SGR: 0,1,2,3,4,5,7
- DSR: 0,3,5,6,?0,?6,?10,?11,?15
- DAQ: 0,1,3,4,5,10,11,12
- CSI Pn q _TVDPM★ display personal message
- DECSTBM
- CSI Pp ; Pt ; Pc s _TVCUP★ Page, line, column cursor position
- CSI Ps t _TVCCR★ Report/Reqeust cursor content
- CSI ? Pn t _TVCCRD★ Convert and rerpot cursor's content as decimal value
- CSI Ps u _TVCDAQ★ Clear defined area qualifications
- CSI Ps w _TVVSTR★ Vertical scrolling type/rate
- CSI Ps x _TVTPORT★ Select/report terminal's port parameter
- CSI 2 y _TVRIS★ Return to factory default values
- CSI 2 ; Ps y DECTST
- CSI Ps ; Ps z _TVDEF★ Define parameters
- CSI Ps | _TVEFK★ Execute function key
- FNT に対応している。然し、フォントの切り替えというよりは94文字集合の切り替えの様である。
- CSI Pw ; Pd SP p _TVOTLG★ Outline with thin-line graphics
- CSI Pw ; Pd SP q _TVCAPVA★ Create area with predefined visual attributes
- ESC 5 _TVTSS★ DECXMIT と同じかもしれない。
- ESC # 2 _TVDHL★ Native double-height line
- 一連の謎のシーケンスを定義している。
- Mode
- 標準モードは 1-4,6,7,10,12,15,16,19,20
- DECモードは ?1-7
- Mode ?8 _TVCLSPM ★ Recognize CLEAR SPACE
- Mode ?9 _TVCCM ★ Control code mode
- Mode ?10 _TVBCM ★ Block/Conversational mode
- Mode ?11 _TVTLDM ★ Transfer line/display (_RESTLPM と同じ番号・同じ意味に見えるがこれだけなので偶々の気がする)
- Mode ?12 _TVHFDUPM★ Half/Full duplex
- Mode ?13 _TVDPM ★ Display/Page mode
- Mode ?14 _TVTNLM ★ Transmit now/later
- Mode ?15 _TVMSPPM ★ Multi/single page protect mode
- Mode ?16 _TVBRKM ★ Recognize BREAK key
- Mode ?17 _TVFBM ★ Forms build mode
- Mode ?18 _TVVAAM ★ Visual attribute action mode
- Mode ?19 _TVPSPRM ★ print scrolling page/region
- Mode ?20 _TVMSAM ★ Multi/single autopage mode
- Mode ?21 _TVNTVM ★ Native/VT100 mode
- Mode ?22 _TVNKCLKM★ Disable keyclick
- Mode ?26 _TVBIDIXM★ Bidirectional extension/transparent print
TeleVideo 965
大体 ESC で始まる ECMA-48 とは相容れない体系になっているが
少数の CSI シーケンスは ECMA-48 に従っている様である。
CSI シーケンスだけまとめる。
- DECSTBM
- CSI Ps ; Ps v _TVSVAL★
- Note *1: マニュアルでは [ が抜けていたが typo と思われる。
- CSI 0 ; Ps v Set transmit delay rate
- CSI 1 ; Ps v Set handshaking Main receive
- CSI 2 ; Ps v Set receive buffer fill limit
- CSI 3 ; Ps v Line attribute
- CSI 4 ; Ps v*1 Set top line attribute
- CSI 5 ; Ps v*1 Set bottom line
- CSI 6 ; Ps v Set scroll rate
- CSI 7 ; Ps v Set function key set
- CSI 8 ; Ps v Screen saver
- CSI 9 ; Ps v Select char set
- CSI 1 1 ; Ps v Set handshaking Main transmit
- CSI 1 2 ; Ps v Set handshaking Aux. receive
- CSI 1 3 ; Ps v Set handshaking Aux. transmit
- CSI 1 4 ; Ps v set number of data lines
- CSI 1 5 ; Ps v*1 set break signal
- CSI Ps ; Ps } _TVSET★
- CSI 0 ; 1 } Save set-up values
- CSI 1 ; Pn } Display page
- MC: 本来引数が1個の筈だが二つ指定している。 _TVMC★
- MC(0;0) page print formatted all
- MC(0;1) page print formatted unprotected
- MC(0;4) page print unformatted all
- MC(0;5) page print unformatted unprotected
- Mode
- Mode =0 _TVTCM ★ Transmission control mode
- Mode =1 _TV8DBM ★ 8 data bits / 7 data bits
- Mode =2 _TVABPM ★ Attribute base: page
- Mode =3 _TVCOLM ★ 132 column mode
- Mode =4 _TVMBELLM ★ Margin bell on
- Mode =5 _TVINTENM ★ Full/half intensity
- Mode =6 _TVNLM ★ New line mode
- Mode =7 _TVLWM ★ Line wrap
- Mode =8 _TVKRM ★ Key repeat on
- Mode =9 _TVDNLFM ★ DOWN = C-j/C-v
- Mode =10 _TVFKSM ★ Function key save on
- Mode =11 _TVESETUPM★ SETUP enabled
- Mode =12 _TVEEWSCM ★ EWSC enabled
- Mode =13 _TVECLRM ★ CLR SPC enabled
- Mode =14 _TVEBRKM ★ BREAK enabled
- Mode =15 _TVPPFM ★ Page print flip on
- Mode =17 _TVSBSTM ★ Send block boundaries from screen/page top
- Mode =18 _TVSBEDM ★ Send block boundaries end of display/cursor
- Mode =19 _TVASCRM ★ Autoscroll mode
- Mode =20 _TVENHANM ★ Enhanced mode
- Mode =21 _TVWSTARM ★ WordStar mode
- Mode =22 _TVAUXHM ★ Set aux./main as host
- Mode =23 _TVAPPM ★ Application mode
- Mode =25 _TVRCAPSM ★ Reverse CAPS LOCK
- Mode =26 _TVCAPSM ★ CAPS LOCK on
- Mode =27 _TVREC2M ★ Secondary rec. on
- Mode =28 _TVACKM ★ ACK mode
- Mode =29 _TVAFLM ★ Auto font load
HP 2624
xterm の ESC F, ESC l, ESC m で HP が言及されているので探した。
p136,p137 に問題のシーケンスは定義されている。
然し HP のエスケープシーケンスの体系は VT52 に近く、ANSI互換の体系ではない。
xterm が ANSI モードでこれらに対応しているのは xterm の独自の拡張と考えて良い。
その他に気づく事は、HP は
ESC A B Ft B Ft
ESC K B Ft
ESC S B Ft の形式でシーケンスを拡張しているという事である。
HP 2393A, 2397A
Tektronix
- ESC # ! 0 _TEKRSM★ REPORT SYNTAX MODE
- Modes: 2,4,12,20
- 94-SET: 0 = Ruling Set, 3 = Supplementary
- ESC % ! Fp SELECT CODE, Fp = 0,1,2,3 これは私用 DOCS である。
- ! 0 _TEKSCTEK★ Tek mode syntax
- ! 1 _TEKSCANS★ ANSI mode syntax
- ! 2 _TEKSCEDT★ ANSI mode syntax for Edit mode
- ! 3 _TEKSCV52★ VT52 mode syntax
- SGR: 0,1,4,5,7,24,25,27,30-37,39,40-47,49
- <0-7 _TEKSGRFC★ Character color
- =0-7 _TEKSGRBC★ Background color
- >0-7 _TEKSGREC★ Erase color
- TEKDHL, TEKDWL, TEKSWL, TEKID, TEKKPAM, TEKKPNM, TEKRC, TEKSC, TEKSTBM★ これらは DEC と完全に同一。
Research, Inc.
Teleray Model 16
シーケンス一覧
Teleray Model 100
- ANSI control functions: DSR, CPR, SSA, SPA, SGR (0,1,2,3,4,5,7), MC
- DA1, DECID, DECRQTPARM, _RESTDPF, _RESSELTC, _RESTMITT,
DECSTBM,
- CSI Pn }DECPRO と思われる。
- Mode ?2-8,?14,?16 DEC のそれと同じ。
特に ?3,?4 が同じことから Model 16 の記述は typo なのではないかという疑いが生じる。
- Mode ?13,?21-24 Model 16 のそれと同じ。
- Mode ?10 _RESEM★ Edit Mode
- Mode ?11 _RESTLPM★ Transmit Line/Page
- Mode ?20 _RESWM★ Wide Mode
- ESC # 1 _RESLF80 ★ Set 80-column format
- ESC # 2 _RESLF132★ Set 132-column format
Qume QVT-103
特に固有の機能は殆ど殆どない様に見える。
- Modes 1,2,4,6,12,16,20,?1-8,?10,?11,?13,?14,?16,?18,?19
- Mode 30: QUMES2L★ Suppress 25th line
- DSR 0,3,5,6,?10,?11,?13,?15
- DECTST(2;x): x = 1,2,4,8,9,10,12,16,24
- 94-SET: 0 = SpChar, 1 = AltROM, 2 = AltROM SpChar
- MC: 0,4,5,?1,?4,?5
Beehive
ATL-008
シーケンス一覧
- ESC . E× - ★ Exit 100 mode
これは G2D6(E) (E = IR-123 General Purpose Supplementary Graphic Set CSA Standard Z 243.4-1985) である。
- ESC # 3 DECDHL
- ESC # 4 DECDHL
- ESC # 5 DECSWL
- ESC # 6 DECDWL
- ESC # 8 DECALN
- ESC 5 DECXMIT
- ESC 7 DECSC
- ESC 8 DECRC
- ESC < (in VT52 mode) ★ Enter 100 Mode
- ESC = DECKPAM
- ESC > DECKPNM
- CSI p BEESSKM★ - Set Softkey Menu [6.16.1]
- CSI q DECLL - load LEDs
- CSI r DECSTBM - set top and bottom margin
- CSI s BEEAP★ - Align Pointer
- CSI t BEESAP★ - Set Absolute Page
- CSI u BEESKL★ - Soft Keyboard Lock
- CSI v BEEMAP★ - Memory Address Pointer
- CSI w BEEBEL★ - Select Audible Alarm (sound audible tone generator)
- CSI x DECREPTPARM - request terminal parameters
- CSI y DECTST - invoke confidence test
- CSI z BEEBDS★ - Blank Data Stream
- CSI { BEECM★ - Communications Mode
- CSI | BEESND★ - Send Data To Host (transparent user sequences)
- PF key defs (program function key)
APC seq を PF key defs (Sec. 3) に使っている。
[5.2.5 (page 5-24)] ユーザーがキーを押すと terminal to host で次のシーケンスが送られる。
- APC P n ST _BEETCMK1★ TCM selection 1
- OSC P n ST _BEETCMK2★ TCM selection 2
- PM P n ST _BEETCMK3★ TCM selection 3
- DCS P n ST _BEETCMK4★ TCM selection 4
- SS3 P n ST _BEETCMK5★ TCM selection 5
- APC B ... ST _BEELDBOOT★ - [8.1] Load bootload code これは hex でバイナリデータを符号化している。
- DCS P ... ST _BEELDTCMR★ - TCM download to RAM registers
- DCS W ... ST _BEELDTCME★ - TCM download to EEPROM registers
- DCS N ... ST _BEERQTCMR★ - Request TCM parameters from RAM
- DCS H ... ST _BEERQTCME★ - Request TCM parameters from EEPROM
- DCS I ... ST _BEERPTCM ★ - Report TCM parameters
- DCS U ... ST _BEESSL ★ - User message from host (set status line)
- DCS O ... ST _BEESOSL ★ - User-defined optional status line
- DCS T ST _BEERQTSTAT★ - Request terminal status
- DCS R ST _BEERPTSTAT★ - Report terminal status
- DCS C ST _BEERQCPR ★ - Request CPR
- [5.2.5] どうやら ST の代わりに ESC で終わる事もできるらしい。
これはキーボードからシーケンスを入力する時に使うらしい。
- _BEEAPC★
[5.2.3, 5.2.4] ESC APC ... ESC ST の形式のシーケンスが複数定義されている。
Transparency [5.2.4]
APC(K) 及び APC(U) については C0 及び & は & を使って escape するそうだ。
そのとき C0 については 0x40 を加算する。例えば ESC は &[
になる。
- ESC APC K ... ESC ST _BEEDEFK★ - Add/delete a key [5.2.3]
- ESC APC R ... ESC ST _BEEDEFM★ - Add/delete a menu
- ESC APC E ... ESC ST _BEEXKEY★ - Execute a key
- ESC APC H ... ESC ST _BEEUKEY★ - Upload key
- ESC APC U ... ESC ST _BEEUREP★ - Upload reply
- ESC APC L ... ESC ST _BEESAVK★ - Saving a user key in EEPROM [5.2.4]
- ESC APC M ... ESC ST _BEESAVM★ - Saving a menu in EEPROM
- ESC APC N ... ESC ST _BEEDEL ★ - Delete a key or menu from EEPROM
- ESC APC O ... ESC ST _BEESAVP★ - Saving a new power-up menu number
- Modes
- ?1..?9 は DEC のものと同じ
- ?17 _BEEATM ★ - autotab
- ?24 _BEEFFCRM★ - form feed to col 0
- ?25 _BEEFFNPM★ - form feed to next page
- ?26 _BEEDROL ★ - destructive Roll
- ?27 _BEEVASM ★ - vertical auto scroll
- ?28 _BEEHASM ★ - horizontal auto scroll
- ?30 _BEEVTCRM★ - vertical tab to col 0
- ?31 _BEEILCRM★ - insert delete line to col 0
Ann Arbor Ambassador
- STS, DMI, INT, EMI 等の制御文字にも対応している。
- ETX は zSRC の終端を示す為に使われている。
- ENQ は前回 application から受け取った DCS を application に向かって送信する事を要求する。
- DAQ と SSA/ESA SPA/EPA は同じ役割。
- DCS ` ... ST _zPSTE★ - Program string table entry
- DCS p ... ST _zPPOS★ - Program power-on string
- ESC 5 zTFC★ - Toggle Fast-Blink Cursor
- ESC 6 zTI ★ - Toggle IRM
- ESC 7 zSC ★ - Save Cursor カーソル位置と属性の両方を保存する
- ESC 8 zRC ★ - Restore Cursor
- ESC 9 zCGR★ - Change Graphic Rendition
- ESC : zGUA★ - Guard Unprotected Areas
- CSI p zSDP★ - Set Display Parameters
- CSI s zPSH★ - Push Line
- CSI t zPOP★ - Pop Line
- CSI u zSTP★ - Set Transfer Pointer
- CSI v zSRC★ - Start Remote Copy
- CSI w zSPF★ - Set Print Format
- CSI z zSTE★ - Set Transfer End
- CSI > o _zDAQ★ - private DAQ
- Modes (_zSM, _zRM)★
- >25 zMBM ★ - Margin Bell Mode
- >26 zKCM ★ - Key Click Mode
- >27 zKPCM★ - Key Pad Control Mode
- >28 zKRM ★ - Key Repeat Mode
- >29 zRLM ★ - Return Line Feed Mode
- >30 zDBM ★ - Destructive Backspace Mode
- >31 zBKCM★ - Block Cursor Mode
- >32 zBNCM★ - Blinking Cursor Mode
- >33 zWFM ★ - Wrap Forward Mode
- >34 zWBM ★ - Wrap Backward Mode
- >35 zDDM ★ - DEL-character Display Mode
- >36 zSPM ★ - Scroll-Page Mode
- >37 zAXM ★ - Auto Xon/Xoff Mode
- >38 zAPM ★ - Auto Pause Mode
- >39 zSSM ★ - Slow Scroll Mode
- >40 zHDM ★ - Half-Duplex Mode
- >41 zTPDM★ - Transfer Pointer Display Mode
- >42 zLTM ★ - Line Transfer Mode
- >43 zCSTM★ - Column Separator Transfer Mode
- >44 zFSTM★ - Field Separator Transfer Mode
- >45 zGRTM★ - Graphic Rendition Transfer Mode
- >46 zAKDM★ - Auto Keyboard Disable Mode
- >47 zFRM ★ - Fast Repeat Mode
- >48 zHAM ★ - Hold in Area Mode
- >49 zGAPM★ - Guarded Area Print Mode
- >50 zFIM ★ - Function-key Initialize Mode
- >51 zACM ★ - Alternate Cursor Mode
- >52 zMKM ★ - Meta Key Mode
- >53 zCLIM★ - Caps Lock Invert Mode
- >54 zINM ★ - Ignore NUL Mode
- >55 zCNM ★ - CR New-Line Mode
- >56 zICM ★ - Invisible Cursor Mode
- >57 zMMM ★ - Meta Monitor Mode
- 加えて >N で標準モード N=1,2,4,6,12,14-18,20も使えるそうだ。
25 から始まっているのはこれが理由である。
- SGR: 0,1,4,5,7,8
Kermit
ソースコードから。AAA は Ann Arbor Ambassador。ANSI は ANSI-BBS (PC ANSI)??。QANSI は QNX ANSI。
ckoco3.c:12594-18261 (vtcsi) は確認した。
■escape sequences については未確認。
Heath/Zenith Z-19-CN
ANSI Escape Sequences
- CSI p _ZDSPXMT★ (PXMTZDS) Transmit Page
- CSI q _ZDSPX25★ (PX25ZDS) Transmit 25th Line
- CSI Pn r _ZDSPMBR★ (PMBRZDS) Modify Baud Rate
- CSI s SCOSC (PSCPZDS) Save Cursor Position
- CSI u SCORC (PRCPZDS) Set Cursor Position
- CSI z _ZDSPRAM★ (PRAMZDS) Reset to Power-Up Configuration
- SM/RM _ZDSSM/_ZDSRM
- 2,4,20 は標準
- Mode >1 _ZDSL25★ (L25ZDS)
- Mode >2 _ZDSKCL★ (KCLZDS)
- Mode >3 _ZDSHSM★ (HSMZDS)
- Mode >4 _ZDSCBL★ (CBLZDS)
- Mode >5 _ZDSCDE★ (CDEZDS)
- Mode >6 _ZDSKSH★ (KSHZDS)
- Mode >7 _ZDSKAM★ (KAMZDS)
- Mode >8 _ZDSALF★ (ALFZDS)
- Mode >9 _ZDSACR★ (ACRZDS)
- Mode ?2 _ZDSZMD★ (ZMDZDS), 特に RM(?2) を PEZM としている。
- Mode ?7 DECAWM (WARZDS)
- SGR
- 0,7
- 10,11 は Normal/Graphics モードの切替に使っている。
InterSoft NetTerm
ずっとメンテナンスが続けられている様だ。凄い。
でも一方でマニュアルにはどのシーケンスに対応しているかの情報がない。
非標準のエスケープシーケンスが幾つか定義されている。
Kermit
Kermit は元々コロンビア大学で開発されていたターミナルエミュレータ。
Unix 向けに C-Kermit が、Windows 向けに Kermit 95 があった。
2011年に開発が停止されてソースコードが公開された。
GitHub に一応誰かがメンテナンスを少しした物がある [2]。
Kermit 95 のページにサポートしている端末エミュレーションの一覧がある [3]。
Nixdorf BA80
- all-escapes.txt に BA80 のシーケンスとして、二重にパラメータバイトを持つ物が載っている。
情報源は 1999-10-01 Jeffrey Altman - comp.terminals である。
- BA80 で検索しても余り情報は出てこない。
Kermit 95 - Terminal Types
のエミュレーションのターゲットとして Nixdorf BA80 Terminal という物が挙げられている。
- Kermit のソースコードに BA80 の機能が色々残っている。
Kermit には BA80 という項目もあるが 97801 という項目もある。
この 97801 は SNI-97801 とも書いて、SNI は Siemence Nixdorf の略らしい。
つまり、97801 も同じ会社から出ている端末という事になるか。
"Siemens Nixdorf 97801" の名前で検索すると色々出てくる。
ISO 2022 IR
ISO 2022 IR に登録されている制御文字も確認しておく。
登録 C0 文字集合
IR-1 | IR-7 | IR-106 | IR-132 | IR-134 |
NUL | TC7 (DLE) | NUL | DLE | --- | --- | --- | --- | NUL | --- |
TC1 (SOH) | DC1 | SOH | DC1 | --- | --- | --- | --- | --- | CON |
TC2 (STX) | DC2 | STX | DC2 | --- | --- | --- | --- | --- | RPT |
TC3 (ETX) | DC3 | ETX | DC3 | --- | --- | --- | --- | --- | --- |
TC4 (EOT) | DC4 | EOT | DC4 | --- | --- | --- | --- | --- | COF |
TC5 (ENQ) | TC8 (NAK) | ENQ | NAK | --- | --- | --- | --- | --- | --- |
TC6 (ACK) | TC9 (SYN) | ACK | SYN | --- | --- | --- | --- | --- | --- |
BEL | TC10 (ETB) | BEL | ETB | --- | --- | BEL | --- | --- | --- |
FE0 (BS) | CAN | BS | KW | BS | --- | APB | CAN | APB | CAN |
FE1 (HT) | EM | FO | EM | --- | SS2 | APF | SS2 | APF | SS2 |
FE2 (LF) | SUB | LF | SUB | LF | SUB | APD | --- | APD | --- |
FE3 (VT) | ESC | ECD | ESC | --- | ESC | APU | ESC | APU | ESC |
FE4 (FF) | IS4 (FS) | SCD | SS | FF | --- | CS | APS | CS | --- |
FE5 (CR) | IS3 (GS) | QL | QC | CR | SS3 | APR | SS3 | APR | SS3 |
SO | IS2 (RS) | UR | QR | LS1 | --- | LS1 | APH | LS1 | APH |
SI | IS1 (US) | LR | JY | LS0 | --- | LS0 | NSR | LS0 | APA |
- IR-1
表中では 0/2 が ETX になっているが説明には STX になっている。STX が正しい。
- IR-7
- FO: Formatting
- ECD: End of instruction
- SCD: Start of instruction
- QL: Quad left
- UR: Upper rail
- LR: Lower rail
- KW: kill word
- SS: Super shift
- QC: Quad centre
- QR: Quad right
- JY: Justify
- IR-26
IR-7 の DC1,DC2,DC3 を FT1,FT2,FT3 で置き換えたもの。
表中では FONT 1, FONT 2, FONT 3 になっているが、
説明では FT1 (Font 1), etc の様になっている。
- FT1: Font 1
- FT2: Font 2
- FT3: Font 3
- IR-36
IR-1 の IS4 を SS2 に置き換えた物。
IR-1 と同様の誤植がある。
- IR-48
IR-1 で ESC,GS,RS だけにした物。
これ以降は制御機能の名前は全て大文字になっている。
- IR-74
IR-1 で IS4 を CEX に置き換えた物。
名前が2つある物については片方を選んでいる。
IS3,IS2,IS1 以外は現在一般的に使われている名称(括弧の中の物)。
- CEX: CONTROL EXTENSION
control strings を導入する? JIS C 6225 に詳細が書かれているそうだ。
JIS C 6225 は JIS X 0207 に置き換えられた。
然し、結局 JIS X 0207 の本文は見つからなかった。
既に 1997 に廃止されている様子である。
代わりに以下の興味深い文書を発見した:
wg8n0604.pdf。
CEX について言及されているが詳しい仕様については議論されていない。
IDCS(2)DCS 及び IDCS(3)DCS を使う方向性について述べている。
然し、結局 DCS の中にどのようにデータを埋め込むかについては何も述べられていない。
今と同じ問題について議論されている。DCS が標準化されていない事による問題点について書かれている。
- IR-104
IR-1 で ESC だけにした物。
- IR-106
SS2 の位置と名称が IR-36 の時から変わっている。
- SS2: SINGLE-SHIFT TWO
- SS3: SINGLE-SHIFT THREE
- IR-130
IR-1 から SO,SI を除いた物。
IR-1で名前が2つある物は現在一般的な方の名前になっている。
- IR-132 [T.101 参照]
- IR-134 [T.101 参照]
IR-132 と比べると、NUL, CON, RPT, COF 追加。BEL, APS 削除。NSR は APA に置換。
- IR-135 [T.101 参照]
IR-132 の 1/10 に SDC を追加した物。
- IR-140
IR-74 の CEX を SS2 に落ちかえた物。
登録 C1 文字集合
Row |
IR-40 | IR-67 | IR-77 | IR-136 | IR-133 |
8/* | 9/* |
8/* | 9/* |
8/* | 9/* |
8/* | 9/* |
8/* | 9/* |
*/00 | --- | --- | --- | --- | --- | DCS | DEFM | PRO | BKF | COL |
*/01 | --- | EAB | --- | EAB | --- | PU1 | DEFP | EDC1 | RDF | FLC |
*/02 | --- | EAE | --- | EAE | --- | PU2 | DEFT | EDC2 | GRF | CDC |
*/03 | --- | ISB | --- | --- | --- | STS | DEFD | EDC3 | YLF | --- |
*/04 | --- | ISE | --- | --- | IND | CCH | DEFX | EDC4 | BLF | --- |
*/05 | --- | --- | --- | SIB | NEL | MW | END | WWON | MGF | P-MACRO |
*/06 | --- | --- | --- | SIE | SSA | SPA | REP | WWOF | CNF | --- |
*/07 | CUS | --- | CUS | SSB | ESA | EPA | REPE | SCON | WHF | --- |
*/08 | NSB | --- | NSB | SSE | HTS | --- | REVV | SCOF | SSZ | RPC |
*/09 | NSE | INC | NSE | --- | HTJ | --- | NORV | USTA | MSZ | SPL |
*/10 | FIL | --- | --- | --- | VTS | --- | SMTX | USTO | NSZ | STL |
*/11 | TCI | --- | --- | --- | PLD | CSI | METX | FLC | SZX | --- |
*/12 | ICI | KWB | --- | KWB | PLU | ST | NOTX | STC | --- | --- |
*/13 | OSC | KWE | --- | KWE | RI | OSC | DBH | COF | --- | --- |
*/14 | SS2 | PSB | --- | PSB | SS2 | PM | BSTA | BSTO | CON | UNP |
*/15 | SS3 | PSE | --- | PSE | SS3 | APC | DBS | UNP | COF | PRT |
- IR-40
- CUS: CLOSE-UP FOR SORTING
- NSB: NON-SORTING CHARACTER(S) BEGINNING
- NSE: NON-SORTING CHARACTER(S) END
- FIL: FIL CHARACTER
- TCI: TAG-IN-CONTEXT INDICATOR
- ICI: INDENTIFICATION NUMBER-IN-CONTEXT INDICATOR
- OSC: OPTIONAL SYLLABICATION CONTROL
- SS2: SINGLE SHIFT TWO
- SS3: SINGLE SHIFT THREE
- EAB: EMBEDDED ANNOTATION BEGINNING
- EAE: EMBEDDED ANNOTATION END
- ISB: ITEM SPECIFICATION BEGINNING
- ISE: ITEM SPECIFICATION END
- INC: INDICATOR FOR NON-STANDARD CHARACTER
- KWB: KEYWORD BEGINNING
- KWE: KEYWORD END
- PSB: PERMUTATION STRING BEGINNING
- PSE: PERMUTATION STRING END
- IR-56: これは後述の T.101/C3.3.1 に等価。
- IR-67
IR-40 から CUS NSB NSE EAB EAE KWB KWE PSB PSE を取って、他に以下の4つを追加した物。
但し、IR-40 から取った制御機能は、名称の BEGINNING, END の前にカンマが追加されている。
KEYWORD は KEY-WORD になっている。
- SIB: SORTING INTERPOLATION, BEGINNING
- SIE: SORTING INTERPOLATION, END
- SSB: SECONDARY SORTING VALUE, BEGINNING
- SSE: SECONDARY SORTING VALUE, END
- IR-73: これは後述の T.101/C3.3.2 に等価であるが、
STOP CONCEAL の略称が SCD に変わっている。
由来は STOP CONCEAL DISPLAY だそうだ。
- IR-77: これは標準的な C1 から PAD, HOP, BPH, NBH, SOS, SGCI, SCI を除いた物。
- IR-105: これは SS2 と SS3 だけの物。
- IR-107: これは PLD, PLU, CSI だけの物。
- IR-124: これは IR-67 に PLD, PLU を追加した物。
- IR-136: これは T.101/D.6.2 と等価であるが略称が一部異なる。
以下は略称が変わっている物。
- REPE: REPEAT TO END OF LINE
- WWON: WORD WRAP ON
- WWOF: WORD WRAP OFF
- SCON: SCROLL ON
- SCOF: SCROLL OFF
以下は新しく略称が与えられている物。
- DEFM: DEFINE MSCRO
- DEFP: DEFINE P-MACRO
- DEFT: DEFINE TRANSMIT-MACRO
- DEFD: DEFINE DRCS
- DEFX: DEFINE TEXTURE
- REP: REPEAT
- REVV: REVERSE VIDEO
- NORV: NORMAL VIDEO
- SMTX: SMALL TEXT
- METX: MEDIUM TEXT
- NOTX: NORMAL TEXT
- BSTA: BLINK START
- PRO: PROTECT
- USTA: UNDERLINE START
- USTO: UNDERLINE STOP
- FLC: FLASH CURSOR
- STC: STEADY CURSOR
- BSTO: BILNK STOP
- UNP: UNPROTECT
- IR-133: T.101 の複数の機能を集めて並び替えた様な雰囲気。
実は T.101/B に等価な物が定義されていた。
SPL と STL の説明が逆になっている気がする。
略称が変だし、T.101 と逆である。
以下は名称が変わっている。
- UNP: UNPROTECTED
- PRT: PROTECTED
- FLC: FLASHING CONTROL
以下は他にない制御機能。
- SSZ: SMALL SIZE
- MSZ: MEDIUM SIZE
- NSZ: NORMAL SIZE
- SZX: SIZE CONTROL
- COL: BACKGROUND OR FOREGROUND COLOUR
- CDC: CONCEAL DISPLAY CONTROL
- P-MACRO: PHOTO MACRO
- RPC: REPEAT CONTROL
ITU-T Recommendation T.53, T.101
これは端末ではないが、色々特有の制御機能を定義しているのでここにまとめる。
- T.53: Character coded control functions for telematic services
- T.53 の制御機能一覧には ECMA-48 と同じ物も沢山あるが、
T.101 だけで使われる符号化表現という物が定義されていて、
結構既存の物と衝突している。
- ISO 2022 IR に登録されている CCITT の文字集合は T.101 に載っている様だ。
T.101/C,D の制御文字
[*1 T.101の表中にはBBOと書かれていたがこれは BBD の誤りであろう。]
Row |
T.101/C3.2 |
T.101/C3.3.1 |
T.101/C3.3.2 |
T.101/D6.1 |
T.101/D6.2 C1 |
0/ | 1/ |
0/ | 1/ |
0/ | 1/ |
0/ | 1/ |
7/ | 8/ |
/0 |
NUL | -R- |
ABK | MBK |
BKF | BKB |
NUL | DLE |
DEF MACRO | PROTECT |
/1 |
-R- | CON |
ANR | MSR |
RDF | RDB |
SOH | DC1 |
DEFP MACRO | EDC1 |
/2 |
-R- | RPT |
ANG | MSG |
GRF | GRB |
STX | DC2 |
DEFT MACRO | EDC2 |
/3 |
-R- | -R- |
ANY | MSY |
YLF | YLB |
ETX | DC3 |
DEF DRCS | EDC3 |
/4 |
-R- | COF |
ANB | MSB |
BLF | BLB |
EOT | DC4 |
DEF TEXTURE | EDC4 |
/5 |
-R- | -R- |
ANM | MSN |
MGF | MGB |
ENQ | NAK |
END | WWN |
/6 |
-R- | -R- |
ANC | MSC |
CNF | CNB |
ACK | SYN |
REPEAT | WWF |
/7 |
-R- | -R- |
ANW | MSW |
WHF | WHB |
BEL | ETB |
ROL | SCN |
/8 |
APB | CAN |
FSH | CDY |
FSH | CDY |
APB | CAN |
REVERSE VIDEO | SCF |
/9 |
APF | SS2 |
STD | SPL |
STD | SPL |
APF | SS2 |
NORMAL VIDEO | UNDERLINE START |
/10 |
APD | -R- |
EBX | STL |
EBX | STL |
APD | SDC |
SMALL TEXT | UNDERLINE STOP |
/11 |
APU | ESC |
SBX | CSI |
SBX | CSI |
APU | ESC |
MEDIUM TEXT | FLASH CURSOR |
/12 |
CS | -R- |
NSZ | BBD*1 |
NSZ | NPO |
CS | APS |
NORMAL TEXT | STEADY CURSOR |
/13 |
APR | SS3 |
DBH | NBD |
DBH | IPO |
APR | SS3 |
DBH | CURSOR OFF |
/14 |
SO | APH |
DBW | HMS |
DBW | TRB |
SO | APH |
BLINK START | BLINK STOP |
/15 |
SI | APA |
DBS | RMS |
DBS | STC |
SI | NSR |
DBS | UNPROTECT |
T.101 の制御シーケンス
- [T.101/C.3.5] Supplementary attribute and qualified area controls
- STCCSI B×: STOP CONCEAL
- MMSCSI Ps S×: MARKED MODE START
- MMTCSI Ps T×: MARKED MODE STOP
- PMSCSI Ps P×: PROTECTED MODE START
- PMCCSI Ps Q×: PROTECTED MODE CANCEL
- PMICSI Ps R×: PROTECTED MODE IDLE
- CSACSI Ps U×: CREATE SCROLLING AREA
- DSACSI Ps V×: DELETE SCROLLING AREA
- CT1CSI 0 @×: COLOUR TABLE 1
- CT2CSI 1 @×: COLOUR TABLE 2
- CT3CSI 2 @×: COLOUR TABLE 3
- CT4CSI 3 @×: COLOUR TABLE 4
- IVFCSI 0 A×: INVERTED FLASH
- RIFCSI 1 A×: REDUCED INTENSITY FLASH
- FF1CSI 2 A×: FAST FLASH 1
- FF2CSI 3 A×: FAST FLASH 2
- FF3CSI 4 A×: FAST FLASH 3
- ICFCSI 5 A×: INCREMENT FLASH
- DCFCSI 6 A×: DECREMENT FLASH
- [T.101/C.3.6.2] Supplementary device controls
- その他の T.53 に載っていた T.101 用の制御機能
PC-9801
これも本来の文書が見つからない。
[1] は "主要なもの" を挙げると書いているが、[2] では全く同じ表を提示している。
と思ったが [3] がより完全な物だろう。
取り敢えず上に見られるシーケンスの一覧。
MS-DOS ANSI.SYS
公式の文書が恐らく見つからないので様々のページを見て推測するしかない。
シーケンス一覧。
- ESC $ ) 1, ESC ( 2
文字を韓国語と英語で切り替え。韓国語版だけで利用できる [3]。
- CSI +× _DOSXON★
- CSI -× _DOSXOFF★
コンソール出力を有効化、無効化する。
DR-DOS 7.02 以上の ANSI.SYS で利用できる [3]。
- CSI Pn A CUU
- CSI Pn B CUD
- CSI Pn C CUF
- CSI Pn D CUB
- CSI Pl ; Pc H CUP
- CSI Pl ; Pc f HVP
- CSI 2 J ED
2 にしか対応していない? [1,2] では明示的に 2J となっている。
一方で Wikipedia [3] では引数になっていて 0,1,2 を受け付けるが如く書かれている。
よく註を読むと日本語版 MS-DOC および ANSI.SYS または multiuser DOS でのみ 0,1,2 が有効とある。
それ以外は 0,2 だけの対応。
- CSI K EL
引数には対応していない?
これも [1,2] では引数が書かれていないが Wikipedia [3] では 0,1,2 が書かれている。
ED の時と同様に日本語版 MS-DOC および ANSI.SYS または multiuser DOS でのみ 0,1,2 らしい。
それ以外は 0 のみの対応。
- CSI Pn L IL
- CSI Pn M DL
IL と DL も日本語版と multiuser DOS だけで利用できるらしい [3]。
- CSI Pm m SGR
Ps = 0,1,4,5,7,8,30..37,40..47 に対応している。
[1] によれば下線は ANSI 通りに 4 であるが、
[2] によると下線は 2 になっている。
わざわざ ANSI.SYS という名前で新しく開発したのだったら、
後方互換性は捨てて 4 にするのが自然である。
つまり、[2] の説明は typo ではないか。
- CSI s SCOSC
- CSI u SCORC
- CSI 6 n DSR(6)
- CSI Pl ; Pc R CPR
DSR(6) と CPR は [1,2] にはないが、
[3] には書かれている。何もない所から記述が出てくる訳はないので、
後々に対応が追加されたという事だろうか。
- CSI = Ps h _DOSSM★
- CSI = Ps l _DOSRM★
- Mode =0 _DOST40C1M 40列x25行 monochrome (text)
- Mode =1 _DOST40C3M 40列x25行 color (text)
- Mode =2 _DOST80C1M 80列x25行 monochrome (text)
- Mode =3 _DOST80C3M 80列x25行 color (text)
- Mode =4 _DOSG32C2M 320x200ドット 4-color (graphics)
- Mode =5 _DOSG32C1M 320x200ドット monochrome (graphics)
- Mode =6 _DOSG62C1M 640x200ドット monochrome (graphics)
- Mode =7 _DOSAWM Enables line wrapping (Mode ?7 DECAWM と同じ振る舞いだろうか?)
- Mode =13 _DOSG32C3 320x200ドット color (graphics)
- Mode =14 _DOSG62C4 640x200ドット color (16-color graphics)
- Mode =15 _DOSG63C1 640x350ドット monochrome (2-color graphics)
- Mode =16 _DOSG63C4 640x350ドット color (16-color graphics)
- Mode =17 _DOSG64C1 640x480ドット monochrome (2-color graphics)
- Mode =18 _DOSG64C4 640x480ドット color (16-color graphics)
- Mode =19 _DOSG32C8 320x200ドット color (256-color graphics)
- Mode =114 _DOSG64C4JM 640x480ドット color (16-color graphics) (日本語)
- Mode =115 _DOST80C3JM 80列x25行 color (text) (日本語)
- Mode =114 と =115 は Japanese DOS/V issues of ANSI.SYS
found in DR DOS 6.0, Novell DOS 7 and higher のみで対応。
- 日本語モードでは =3,=17,=18,=114,=115 のみ選択可能。
- Wikipedia [3] の記述によると日本語版には Mode > Ps もあるらしい。
というか ? Ps や Ps も使える?
もしかすると前置されている文字は全て無視するという仕様なのかもしれない。
- CSI Ps ; Ps ; ... p _DOSSKR★ (SKR, KRANSI.SYS)
- CSI Ps ; " D " ; ... p× _DOSSKR★ (SKR, KRANSI.SYS)
1つ目の引数に押すキーのコード (別表) を指定し、
2つ目の引数にそのキーの解釈をもうひとつのキーコードまたは文字列で指定する。
- CSI Ps q _DOSEKR★
Ps = 1 で _DOSSKR を有効化、0 で無効化。
FreeBSD teken/cons25
RLogin の C25LCT はソースコードを見ると cons25 由来らしい。
調べてみるとこれは FreeBSD の前の kernel console だったらしい
(更にその前は wscons だったらしい様な雰囲気である) [1]。
cons25 は別名 teken らしい。
然し cons25 や teken, libteken で検索してもまとまった情報は出てこない。
と思ったら freebsd の sys/teken の中に sequence というテキストファイルがあった [2]。
更にその中に Cons25 compatibility sequences という場所があってまとめて定義されている。
Cons25 互換シーケンス
- CSI = Pn A C25BORD★ Cons25 set border
- CSI = Pn ; Pn B C25BLPD★ Cons25 set bell pitch duration
- CSI = Pm C C25GCS ★ Cons25 set global cursor shape
- CSI = Pn F C25DFG ★ Cons25 set default foreground
- CSI = Pn G C25DBG ★ Cons25 set default background
- CSI = Pn S C25LCT ★ Cons25 set local cursor type
- CSI = Pn T C25MODE★ Cons25 set terminal mode
- CSI Pn ; Pn x C25SGR ★ Cons25 set graphic rendition
- CSI Pn z C25VTSW★ Cons25 switch virtual terminal
- SCO のシーケンスと同じ物が見られる。
コードの配置を考えると SCO の方が先であろうと思われる。
Data General (DG) D410
- d410-um.pdf
- 3-13 辺りから Data General Mode のコマンドが並んでいる。
RS (C-^) から始まる謎のシーケンスが沢山ある。
- 3-31 から ANSI Mode Commands が並んでいる。
ANSI Mode シーケンス一覧 (DG拡張のみ)
Wyse WY-60
- 880261-01A_WY-60_Programmers_Guide_Jan87.pdf
シーケンス一覧
- ENQ
- XON
- XOFF
- BEL
- BS
- LF, VT, FF
- CR
- HT
- SI
- SO
- ESC SP× WYID★
- ESC ! p×
DECSTR WYSTR★
CSI ! p の typo ではないか。
と思ったら、後のバージョンで DECSTR は CSI ! p に改められ、
代わりに ESC ! p は WYSTR という名前に改められた。
つまり誤って実装してしまってそのまま残ったという事。
- ESC # 3 DECDHL
- ESC # 4 DECDHL
- ESC # 5 DECSWL
- ESC # 6 DECDWL
- ESC # 8 DECALN
- ESC # : WYDHL★
- ESC # ; WYDHL★
- ESC I F GnD4 (SCS)
F = 0 (ANSI graphics), A (UK ANSI), B (Standard ANSI)
- ESC ,× WYDELAY★
- ESC 5 WYXCH★
- ESC 7 DECSC
- ESC 8 DECRC
- ESC = DECKPAM
- ESC > DECKPNM
- ESC D IND
- ESC E NEL
- ESC H HTS
- ESC M RI
- ESC Z DECID
- ESC c RIS
- CSI Pn @ ICH
- CSI Pn A CUU
- CSI Pn B CUD
- CSI Pn C CUF
- CSI Pn D CUB
- CSI Pn E CNL
- CSI Pn F CPL
- CSI Pn G CHA
- CSI Pn ; Pn H CUP
- CSI Pn I CHT
- CSI Ps J ED
- CSI ? Ps J DECSED
- CSI Ps K EL
- CSI ? Ps K DECSEL
Ps = 0,1,2
- CSI Pn L IL
- CSI Pn M DL
- CSI Pn P DCH
- CSI Pn U NP
- CSI Pn V PP
- CSI Pn X ECH
- CSI Pn Z CBT
- CSI 0 c DA
- Response: CSI ? 1 ; 0 c (WY 75 mode)
- Response: CSI ? 2 ; 0 c (VT100 mode)
- Response: ESC / Z (VT 52 mode)
- CSI Pn ; Pn f HVP
- CSI Ps g TBC
Ps = 0, 3
- CSI Pm h SM
- CSI Pm l RM
- ANSI modes: 1,2,3,4,6,12,13,16,20
- DEC modes: ?1,?2,?3,?4,?5,?6,?7,?8,?10,?18,?19,?25
- 30 WYDSCM ★ Display disable
- 31 WYSTLINM ★ Status line display
- 32 WYCRTSAVM ★ Screen saver
- 33 WYSTCURM ★ Steady cursor
- 34 WYULCURM ★ Underline cursor
- 35 WYCLRM ★ Width change clear disable
- 40 WYSEDL ★ Select 25th/43rd data line
- 41 WYSL44 ★ Select 42/43 data lines
- 42 WY60 ★ WY 60 (from VT100 or WY 75 mode)
- 43 WY75 ★ WY-75 (from VT100 mode)
- 44 _WYVT100 ★ (VT100Wyse) VT100 (from WY 75 mode)
- CSI Ps i MC
Ps = 0,2,4,5,?1,?3,?4,?5
- CSI Pm m SGR
- 0,1,2,5,4,7,8,22,24,25,27
- CSI Ps n DSR
- 5 terminal status
- 6 cursor position
- 15 printer status
- CSI Ps p WYFDAT★ 現在位置から連続する属性を指定した値 (flags) で置換
- CSI Pm q DECLL
- CSI Pn ; Pn r DECSTBM
- CSI s WYSC★
- CSI Ps t WYNNAT★ 属性選択
- CSI u WYRC★
SCORC/SCOSC と違って属性・文字集合も保存・復元する。
- CSI > Cq ... Cq× WYTLOAD★
WY-85
- 88-060-01B_WY-85_Users_Guide_May85.pdf
上記 WY-60 との差分 (増分)
SGI IRIX xwsh
シーケンス一覧
IBM AIX aixterm
シーケンス一覧
- ESC 7 DECSC
- ESC 8 DECRC
- ESC = DECKPAM
- ESC > DECKPNM
- ESC D IND
- ESC E NEL
- ESC H HTS
- ESC I VTS
- ESC M RI
- ESC N SS2
- ESC O SS3
- ESC ` DMI
- ESC b EMI
- ESC c RIS
- ESC n LS2
- ESC o LS3
- ESC # 8 DECALN
- ESC I F GnD4 (SCSAIX)
- A = England, B = USASCII, 0 = Special Graphics
- ESC ( < (SG0AAIX)
- ESC ) < (SG1AAIX)
- CSI Pn @ ICH
- CSI Pn A CUU
- CSI Pn B CUD
- CSI Pn C CUF
- CSI Pn D CUB
- CSI Pn E CNL
- CSI Pn F CPL
- CSI Pn G CHA
- CSI Pl ; Pc H CUP
- CSI Pn I CHT
- CSI Ps J ED
Ps = 0, 5, 6, 13
- CSI Ps K EL
Ps = 0, 5, 6, 13
- CSI Pn L IL
- CSI Pn M DL
- CSI Ps N EF
Ps = 0, 5, 6, 13
- CSI Ps O EA
Ps = 0, 5, 6, 13
- CSI Pn P DCH
- CSI Pl ; Pc R CPR
- CSI Pn S SU
- CSI Pn T SD
- CSI Pn W CTC
- CSI Pn X ECH
- CSI Pn Y CVT
- CSI Pn Z CBT
- CSI Ps [ SRS
Ps = 0, 1
- CSI c, CSI 0 c DA1
- CSI ? 1 ; 2 c DA1R
- CSI Pl ; Pc f HVP
- CSI Ps g TBC
Ps = 0-4
- CSI Ps;...;Ps h SM
- 4,12,18,20
- ?1 normal/application cursor
- ?3 80/132 columns
- ?4 smooth/jump scroll
- ?5 reverse/normal video
- ?6 origin/normal
- ?7 on/off autowrap
- ?8 on/off autorept
- ?21 CNM CR-NL
- (XTERM) ?40 132/80 column mode
- (XTERM) ?41 curses(5) fix
- (XTERM) ?42 hide/show scroll bar
- (XTERM) ?43 on/off save scroll text
- (XTERM) ?44 on/off margin bell
- (XTERM) ?45 on/off reverse wraparound
- (XTERM) ?47 alternate/normal screen buffer
- (XTERM) ?48 reverse/normal status line
- (XTERM) ?49 page/normal scroll mode
- CSI Ps;...;Ps l RM
- CSI ? Ps;...;Ps l DECRST Reset Private Mode
- CSI Ps m SGR
Ps = 0,1,4,5,7,8,10..17,30..37,40..47,90..97,100..107
- CSI Ps n DSR
Ps = 0, 5, 6, 13
- CSI Ps p _AIXKSI★ (KSIAIX) Keyboard Status Information
- CSI Pn q _AIXPFK★ (PFKAIX) PF Key Report
- CSI Pt ; Pb r DECSTBM
- CSI s SCOSC (SCPAIX)
- CSI u SCORC (RCPAIX) Restore cursor position
- CSI x _AIXVTD★ (VTDAIX) Virtual Terminal Data
- CSI y _AIXVTL★ (VTLAIX) Virtual Terminal Locator Report
- CSI w _AIXVTR★ (VTRAIX) VT Raw Keyboard Input
- CSI Pn SP @ SL
- CSI Pn SP A SR
- CSI Ps1 ; 1 SP S SPD
マニュアルには CSI Ps1 ; 1 S と書かれているが誤りと思われる。Ps1 = 0, 1。
- 0 画面方向を左から右にし、Latin キーボードに設定
- 1 画面方向を右から左にし、National キーボードに設定
- CSI Psl;...;Psn SP ] SAPV
マニュアルには CSI Psl;...;Psn ] と書かれているが誤りと思われる。
- 0 BIDI のデフォルト値を設定; set default values for BIDI
- 1 アラビア数字形状を設定; set Arabic numeric shapes
- 2 ヒンディ数字形状を設定; set Hindi numeric shapes
- 3 両方向文字の対称スワップ・モードの設定; set symmetric swapping mode for directional characters
- 5 後続のグラフィカル文字を分離フォーマットで表示 (アラビア語のみ); the following graphic character is presented in its isolated form (Arabic only)
- 6 後続のグラフィカル文字を初期フォーマットで表示 (アラビア語のみ); the following graphic character is presented in its initial form (Arabic only)
- 7 後続のグラフィカル文字を中間フォーマットで表示 (アラビア語のみ); the following graphic character is presented in its middle form (Arabic only)
- 8 後続のグラフィカル文字を最終フォーマットで表示 (アラビア語); the following graphic character is presented in its final form (Arabic only)
- 13 特殊形状モードを設定; set Special shaping mode
- 14 標準形状モードを設定; set standard shaping mode
- 15 対称モードをリセット; reset symmetric mode
- 18 パススルー (すべての文字); Passthru (everything)
- 19 パススルー (数字以外のすべて); Passthru (everything except numbers)
- 20 コンテキスト番号 (デバイスに依存); Contextual numbers (device dependent)
- 21 ロック 5, 6, 7, 8; lock 5, 6, 7, 8
- 22 アンロック; unlock
- 23 非ヌル・モードを設定; set the nonull mode
- 24 非ヌル・モードをリセット; reset the nonull mode
- 5-8 21 または 22 と共に使用した場合を除き、後続の 1 文字だけに影響を与えます;
affect only the following character unless used with values 21 or 22
- CSI ? E _AIXXES★ (XESAIX) Erase Status Line
- CSI ? F _AIXXRS★ (XRSAIX) Return From Status Line
- CSI ? H _AIXXHS★ (XHSAIX) Hide Status Line
- CSI ? S _AIXXSS★ (XSSAIX) Show Status Line
上記4つは IBM HFT (high function terminal) 由来だろうか。
- CSI ? Ps T _AIXXGS★ (XGSAIX) Go To Column Of Status Line
- CSI ? Ps;...;Ps r _AIXRM★ Restore Private Mode
- CSI ? Ps;...;Ps s _AIXSM★ Save Private Mode
- OSC Ps ; Pt BEL _CDEChangeIconNameAndWindowTitle (XSTAIX) Set Text Parameters
XTerm を模倣したと書かれているが、
XTerm のマニュアルには CDE dtterm が拡張したという事になっている。
- 0 ウィンドウ名とタイトルを Pt に変更
- 1 アイコン名だけを設定
- 2 タイトル名だけを設定
- 間にある DCS sequence は無視される
CDE dtterm
- CSI Ps ; Ps ; Ps t _SUNWINM: Window manipulation
- CSI Ps x DECREQTPARM: Request terminal modes
- ANSI モードで対応しているのは 2,4,12,20
- DEC Modes は xterm の ?40,?44,?45,?46 を実装している。実はどちらが先かは分からない。
- DSR で対応しているのは 5,6
- SGR で対応しているのは 0,1,2,4,5,7,8,22,24,27,28,30-39,40-49
- OSC 0 ; ... BEL _XtermChangeIconNameAndWindowTitle★
- OSC 1 ; ... BEL _XtermChangeIconName★
- OSC 2 ; ... BEL _XtermChangeWindowTitle★
XTerm のマニュアルによるとこれらを最初に追加したのは CDE dtterm である様に読める。
改めてよく読むと shelltool が OSC l .. ST etc を追加して、
XTerm が OSC Ps ; ... BEL を追加して、CDE dtterm が両方に対応した様である。
- OSC 3 ; ... BEL _CDESetCurrentWorkingDirectory★ Set the current working directory for the new sessions
- OSC l ... ST _SUNSetWindowTitle
- OSC I ... ST _SUNSetIconFile
- OSC L ... ST _SUNSetIconLabel
XTerm のマニュアルによるとこれらを最初に実装したのは Sun の shelltools らしい。
Sun SunOS
SUN SunView (SunOS 3.0, 1986) shelltool
XTerm のマニュアルに以下は SUN によって導入されたらしき記述がある。
- CSI Ps ; Ps ; Ps t _SUNWINM★ Window manipulation
- OSC l ... ST _SUNSetWindowTitle★
- OSC I ... ST _SUNSetIconFile★
- OSC L ... ST _SUNSetIconLabel★
他に以下の物が確認できる。
- CSI > Ps h SM
- CSI > Ps k _SUNRQM★ Report mode
- CSI > Ps l RM
- Mode >1 _SUNPGM★ pagemode
- Mode >3, >4 ??? 唯の例示だろうか
Sun SunOS wscons (7D)
シーケンス一覧
- CSI Pn @ ICH
- CSI Pn A CUU
- CSI Pn B CUD
- CSI Pn C CUF
- CSI Pn D CUB
- CSI Pn E CNL
- CSI Pn1 ; Pn2 f or CSI Pn1 ; Pn2 H HVP or CUP
- CSI J ED
- CSI K EL
- CSI Pn L IL
- CSI Pn M DL
- CSI Pn P DCH
- CSI Pn m SGR
Pn = 0,7,30..37,40..47
- CSI p SUNBOW★ (Black On White)
- CSI q SUNWOB★ (White On Black)
- CSI Pn r SUNSCRL★ (Set Scrolling) Set scrolling amount
- 0 initiates wrap mode (最終行で LF すると一番上に戻る)
- 1 default for initial/reset
- 2 or 3 a small amount of jump
- 34 clears the screen rather than scrolling
- CSI s SUNRESET★ (Reset terminal emulator) 画面とカーソル位置をその儘にしてそれ以外のモード等を全て初期化する。
DEC 関連 at VT100.net
実は DEC の制御シーケンスはここにまとまっている。
またどのマニュアルに載っているかという情報も一緒にある。
然し、必ずしもその制御機能が載っているマニュアルが全て列挙されている訳ではない様だ。
更に VT100 から VT525 まで version 毎にどう増減したか迄以下にまとめられている。
様々のプリンタについては以下にまとまっている。■
その他の特別な機能
LA100
CSI シーケンス
- ESC D IND
- ESC E NEL
- ESC H HTS
- ESC J VTS
- ESC K PLD
- ESC L PLU
- ESC M RI
- ESC Z DECID
- ESC 1 DECHTS
- ESC 2 DECCAHT
- ESC 3 DECVTS
- ESC 4 DECCAVT
- CSI Pn A CUU
- CSI Pn ` HPA
- CSI Pn a HPR
- CSI Pn d VPA
- CSI Pn e VPR
- CSI c DA
- CSI ? 1 0 c ★ Request Font Configuration
- CSI ? Pn ; Pn SP D ★ Report Font Configuration
- CSI Ps m SGR Ps = 0,4,10-14
- CSI Ps g TBC Ps = 0-2, 4
- CSI Pn ; Pn r DECSTBM
- CSI Pn ; Pn s DECSLRM
- CSI Pn t DECSLPP
- CSI Pn ; Pn u DECSHTS
- CSI Pm v DECSVTS
- CSI Ps w DECSHORP Ps = 0-8
- CSI Ps z DECSVERP Ps = 0-6
- CSI Ps " z DECDEN Ps = 0,1,2,3
94文字集合
F | 94文字集合 |
0 | DIGITAL VT100 line drawing set |
5 | DIGITAL Finnish |
6 | DIGITAL Norwegian/Danish |
7 | DIGITAL Swedish |
9 | DIGITAL French Canadian |
A | ISO United Kingdom |
B | USASCII |
K | ISO German |
R | ISO French |
Y | ISO Italian |
Z | ISO Spanish |
Modes
- Mode 20 LNM
- Mode ?7 DECAWM
- Mode ?29 DECPSM*ae Pitch Select
DCS シーケンス
- DCS Pn q ... ST decSIXEL Graphics String
内部では以下の文字を使う事ができる。
- CAN
- SUB
- ESC
- ! DECGRI
- $ DECGCR
- - DECGNL
- DCS Pn v ... ST DECLANS Answerback Message
SCO
SCO OpenServer screen(HW)
以下は ANSI シーケンスであるが企画に反している物が沢山ある。
- CSI A CUU
- CSI B CUD
- CSI C CUF
- CSI D CUB
- CSI E CNL
- CSI F CPL
- CSI G CHA (HPASCO)
- CSI H CUP
- CSI I CHT (CFTSCO)
- CSI J ED
- CSI K EL
- CSI L IL
- CSI M DL
- CSI P DCH
- CSI R× _SCODL★ (DLSCO)
- CSI S SU
- CSI T SD
- CSI U× RIS
- CSI V× _SCOER★ (ERSCO) Erase in Region スクロール領域内での ED
- CSI X ECH
- CSI Z CBT
- CSI a HPR
- CSI b REP (RCHSCO)
- CSI d VPA
- CSI e VPR
- CSI f HVP
- CSI g× _SCODGC★ (DGCSCO) Display Graphics Character
- CSI h SM
- CSI l RM
- 2 は ECMA-48 と同じ。
- 3, 4, 6, 7, 25, 30, 44, 48, 1048 は独自×
- CSI i MC
- CSI k× _SCOEDK★ (EDKSCO) Enable or Disable Keyboard click
- CSI m SGR
- 0, 1, 3, 4, 5, 7, 8, 10-13, 23, 24, 25, 27, 28, 30-49 は標準。90-97, 100-107 は普通。
- 2, 6, 21, 26, 50, 51 は独自の物×
- CSI n× _SCOTCP★ (TCPSCO) Transmit Cursor Position
要求内容は DSR(6) に似ているが、何と Pn SP Pn LF で返す。
- CSI Ps o× _SCOTMP★ (TMPSCO) Transmit Margin Position
これも SP 区切り LF 終端の文字列で返す。
0 は TBLR の全ての値を返し、1,2,3,4 はそれぞれ TBLR を一つ返す。
- CSI r _SCOCSR★ (CSRSCO) Change Scrolling Region
DECSTBM は2個しか引数を受け付けないが、
_SCOCSR は 4 つまで引数を受け付け、TBLR の margin を設定する。
- CSI s SCOSC★ (SCPSCO) Save Cursor Position
- CSI u SCORC★ (RCPSCO) Restore Cursor Position
- CSI z _SCOSSW★ (SSWSCO) Screen SWitch
- CSI ` HPA (HPA2SCO)
- CSI @ ICH
- CSI SP× CUB
- ESC 7 DECSC (SCPSCO) ※但し属性は保存しない
- ESC 8 DECRC (RCPSCO) ※但し属性は復元しない
- ESC D IND (CFISCO)
- ESC E NEL (CBNLSCO)
- ESC H HTS (SHTSCO)
- ESC I× _SCOCBPL (CBPLSCO)
- ESC M RI (CRISCO)
- ESC Q C1 Cq ... Cq _SCOSFK★ (SFKSCO) Set Function Key
- ESC c RIS
- ESC l _SCOLMA★ (LMASCO) Lock Memory Above
- ESC m _SCOUSR★ (USRSCO) Unlock Scrolling Region
- CSI = A _SCOSBC★ (SBCSCO) Set Border Color
- CSI = B _SCOSBP★ (SBPSCO) Set Bell Parameters
- CSI = C _SCOSCS★ (SCSSCO) Set Cursor Shape
- CSI = D _SCOSBI★ (SBISCO) Set Background Intensity
- CSI = E _SCOSBB★ (SBBSCO) Set Background Blink bit
- CSI = F _SCOSNF★ (SNFSCO) Set Normal Foreground color
- CSI = G _SCOSNB★ (SNBSCO) Set Normal Background color
- CSI = H _SCOSRF★ (SRFSCO) Set Reverse Foreground color (Video)
- CSI = I _SCOSRB★ (SRBSCO) Set Reverse Background color (Video)
- CSI = J _SCOSGF★ (SGFSCO) Set Reverse Foreground color (Graphic characters)
- CSI = K _SCOSGB★ (SGBSCO) Set Reverse Background color (Graphic characters)
- CSI = L _SCOSEF★ (SEFSCO) Set Emulation Feature
- CSI = M _SCORAS★ (RASSCO) Return Attribute Setting
- CSI = c _SCOHSC★ (HSCSCO) Hide or Show Cursor
- CSI = g _SCOPRC★ (PRCSCO) Print ROM Character
- CSI = l _SCOCHC★ (CHCSCO) Clear and Home Cursor
- CSI = m _SCOSSM★ (SSMSCO) Set Specific Margin
- CSI = r _SCORSM★ (RSMSCO) ReSet Margins
- CSI = z _SCOCAT★ (CATSCO) Clear All TABs
SCO XENIX System V console(HW)
- [PDF] SCO XENIX® System V System - Bitsavers
- May 1, 1986
p434 からエスケープシーケンス一覧が在る。
- SCO 特有の制御機能。
- SGR 幾つか特別な物を定義している。
改めて SCO screen の方も確認してみた所、同様の内容が文章で説明されていた。
これらの特別な振る舞いについては既に all-escapes.txt にも記述されている。
C.Itoh CIT-101
伊藤忠商事の作っていた端末。
ANSI Control sequence 一覧
- ESC # 0 _CITSAAM★ Enter Auto Auxiliary Mode
- ESC # 1 _CITEAM★ Exit Auto Auxiliary or Concurrent Auxiliary Modes
- ESC # 2 _CITOCLA★ Output cursor line to Auxiliary
- ESC # 3 DECDHL
- ESC # 4 DECDHL
- ESC # 5 DECSWL
- ESC # 6 DECDWL
- ESC # 7 DECHCP Output Page to Auxiliary
- ESC # 8 DECALN
- ESC # 9 _CITFSC★ Fill screen with character assortment
- ESC # : WYDHL Change cursor line to double height (DH) single width (SW) top half
- ESC # ; WYDHL Change cursor line to double height (DH) single width (SW) bottom half
- ESC # < _CITSOLA★ Set option line attribute bit
- ESC # = _CITROLA★ Clear option line attribute bit
- ESC # > _CITKCLK★ Perform keyclick
- ESC ( Ft GZD4
- ESC ) Ft G1D4
Ft には以下を指定できる。
- A UK
- B ASCII
- 0 Graphics Character
- 1 Alternate Character Set (付表略■)
- 2 Alternate Graphics Set (付表略■)
- ESC 0 _CITSCAM★ Enter Concurrent Auxiliary Mode
- ESC 1 _CITSACM★ Enter Auxiliary Control Mode
- ESC 2 _CITEACM★ Exit Auxiliary Control Mode
- ESC 7 DECSC
- ESC 8 DECRC
- ESC = DECKPAM
- ESC > DECKPNM
- ESC D
- ESC E
- ESC H
- ESC M
- ESC Z
- ESC c
- CSI Pn A
- CSI Pn B
- CSI Pn C
- CSI Pn D
- CSI Pn ; Pn H
- CSI Ps J
- CSI Ps K
JK 共に Ps = 0, 1, 2 に対応
- CSI > 3 ; Ps ; CL ; RB ; CR J _CITERECT★
Erase all within top row RT; left column CL; bottom row RB; right column CR
- CSI > 3 ; CL ; CR K _CITECOLS★
Erase within lines from left column CL to right column CR
- CSI c, CSI 0 c
- CSI Pn ; Pn f
- CSI Ps g
Ps = 0, 3 に対応
- CSI > 5 g _CITST8C★ DECST8C と同じ
- CSI Ps h _CITSM★
- CSI Ps l _CITRM★
Ps = 20, ?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8 に対応。拡張として以下にも対応。
- Mode >1 _CITDSSSM: DOUBLE SPEED SMOOTH SCROLL MODE
- Mode >2 _CITVTSSKM: VT52/VT100 STYLE SCROLL KEY MODES
- Mode >3 _CITHKNM: HEX KEYPAND NUMERIC MODE
- Mode >4 _CITFFCDM: CLEAR DISPLAY/LINE FEED ON FORM FEED MODE
- Mode >5 _CITCTRVM: Set control character visible
- Mode >6 _CITDIXM: DISABLE INCOMING XOFF MODE
- Mode >9 _CITSWCEM: SCREEN WIDTH CHANGE WIDTH ERASE MODE
- Mode >10 _CITDWEM: RIGHT HALF OF DOUBLE WIDTH LINES ERASE MODE
- Mode >11 _CITEPEM: ERASE PAGE EXTENT MODE
- Mode >12 _CITTSPM: TAB MOTION SPACES/DIRECT MODE
- Mode >13 _CITCRTSM: CRT SAVER MODE
- Mode >14 _CITHFDUPM: HALF DUPLEX/FULL DUPLEX MODE
- CSI Ps m SGR
Ps = 0, 1, 4, 5, 7 に対応
- CSI Ps n DSR
Ps = 5, 6 に対応
- CSI Ps q DECLL
- CSI Pn ; Pn r DECSTBM
- CSI HH ; MM ; SS t, CSI t _CITSTIME
Set time of day clock to hours, minutes, and seconds; Disable time of day clock
- CSI Pn u _CITSSR★
Set scroll rate to Pn ticks (1/60th of second) between scanline scrolls
- CSI Ps v _CITSCUR★
- 0 visible (default)
- 1 invisible
- 2 underline
- 3 reverse block
- 4 non-blinking
- 5 blink
- CSI Ps w _CITSCURB★
- 0 Enable blinking attribute (default)
- 1 Freeze blinking in the OFF state
- 1 Freeze blinking in the ON state
- CSI Ps x DECREGTPARAM
Ps = 0,1,2,3 に対応。
- CSI 2 ; Ps y DECTST
- 1 Invoke power-up diagnostic test
- 2 Invoke dual port loop back test
- 4 Invoke EIA loop back test
- (他) Invoke specified test
- CSI Ps z _CITPCTL★
- 0 Keyboard data to Communication Port
- 1 Keyboard data to Auxiliary Port
- 2 Auxiliary Port to Communication Port
- 3 Auxiliary Port to Display
- 4 Cease input from Auxiliary Port
- 5 Clear printer buffer
- CSI Pn ~ _CITTST★
他に VT52 Mode sequences もあるが未だまとめていない。■