[ About | Licence | Contacts ]
Written by Oleksandr Gavenko (AKA gavenkoa), compiled on 2017-01-30 from rev ccaa2f364422+.

This document describes how to control a VT100 terminal.

ANSI escape sequence is a sequence of ASCII characters, the first two of which are the ASCII "Escape" character 27 (1Bh) and the left-bracket character " [ " (5Bh). The character or characters following the escape and left-bracket characters specify an alphanumeric code that controls a keyboard or display function.

Esc[2;1yEsc[20h Confidence power up testSet new line mode DECTSTLMN
Esc[2;2yEsc[?1h Confidence loopback testSet cursor key to application DECTSTDECCKM
Esc[2;9ynone Repeat power up testSet ANSI (versus VT52) DECTSTDECANM
Esc[2;10yEsc[?3h Repeat loopback testSet number of columns to 132 DECTSTDECCOLM
Esc[0qEsc[?4h Turn off all four ledsSet smooth scrolling DECLL0DECSCLM
Esc[1qEsc[?5h Turn on LED #1Set reverse video on screen DECLL1DECSCNM
Esc[2qEsc[?6h Turn on LED #2Set origin to relative DECLL2DECOM
Esc[3qEsc[?7h Turn on LED #3Set auto-wrap mode DECLL3DECAWM
Esc[4qEsc[?8h Turn on LED #4Set auto-repeat mode DECLL4DECARM
Esc[?9h Set interlacing mode DECINLM
Esc[20l Set line feed mode LMN
Esc[?1l Set cursor key to cursor DECCKM
Esc[?2l Set VT52 (versus ANSI) DECANM
Esc[?3l Set number of columns to 80 DECCOLM
Esc[?4l Set jump scrolling DECSCLM
Esc[?5l Set normal video on screen DECSCNM
Esc[?6l Set origin to absolute DECOM
Esc[?7l Reset auto-wrap mode DECAWM
Esc[?8l Reset auto-repeat mode DECARM
Esc[?9l Reset interlacing mode DECINLM
Esc= Set alternate keypad mode DECKPAM
Esc> Set numeric keypad mode DECKPNM
Esc(A Set United Kingdom G0 character set setukg0
Esc)A Set United Kingdom G1 character set setukg1
Esc(B Set United States G0 character set setusg0
Esc)B Set United States G1 character set setusg1
Esc(0 Set G0 special chars. & line set setspecg0
Esc)0 Set G1 special chars. & line set setspecg1
Esc(1 Set G0 alternate character ROM setaltg0
Esc)1 Set G1 alternate character ROM setaltg1
Esc(2 Set G0 alt char ROM and spec. graphics setaltspecg0
Esc)2 Set G1 alt char ROM and spec. graphics setaltspecg1
EscN Set single shift 2 SS2
EscO Set single shift 3 SS3
Esc[m Turn off character attributes SGR0
Esc[0m Turn off character attributes SGR0
Esc[1m Turn bold mode on SGR1
Esc[2m Turn low intensity mode on SGR2
Esc[4m Turn underline mode on SGR4
Esc[5m Turn blinking mode on SGR5
Esc[7m Turn reverse video on SGR7
Esc[8m Turn invisible text mode on SGR8
Esc[Line;Liner Set top and bottom lines of a window DECSTBM
Esc[ValueA Move cursor up n lines CUU
Esc[ValueB Move cursor down n lines CUD
Esc[ValueC Move cursor right n lines CUF
Esc[ValueD Move cursor left n lines CUB
Esc[H Move cursor to upper left corner cursorhome
Esc[;H Move cursor to upper left corner cursorhome
Esc[Line;ColumnH Move cursor to screen location v,h CUP
Esc[f Move cursor to upper left corner hvhome
Esc[;f Move cursor to upper left corner hvhome
Esc[Line;Columnf Move cursor to screen location v,h CUP
EscD Move/scroll window up one line IND
EscM Move/scroll window down one line RI
EscE Move to next line NEL
Esc7 Save cursor position and attributes DECSC
Esc8 Restore cursor position and attributes DECSC
EscH Set a tab at the current column HTS
Esc[g Clear a tab at the current column TBC
Esc[0g Clear a tab at the current column TBC
Esc[3g Clear all tabs TBC
Esc#3 Double-height letters, top half DECDHL
Esc#4 Double-height letters, bottom half DECDHL
Esc#5 Single width, single height letters DECSWL
Esc#6 Double width, single height letters DECDWL
Esc[K Clear line from cursor right EL0
Esc[0K Clear line from cursor right EL0
Esc[1K Clear line from cursor left EL1
Esc[2K Clear entire line EL2
Esc[J Clear screen from cursor down ED0
Esc[0J Clear screen from cursor down ED0
Esc[1J Clear screen from cursor up ED1
Esc[2J Clear entire screen ED2
Esc5n Device status report DSR
Esc0n Response: terminal is OK DSR
EscLine;ColumnR Response: cursor is at v,h CPR
Esc[c Identify what terminal type DA

Codes for use in VT52 compatibility mode

Esc< Enter/exit ANSI mode (VT52) setansi
Esc= Enter alternate keypad mode altkeypad
Esc> Exit alternate keypad mode numkeypad
EscF Use special graphics character set setgr
EscG Use normal US/UK character set resetgr
EscA Move cursor up one line cursorup
EscB Move cursor down one line cursordn
EscC Move cursor right one char cursorrt
EscD Move cursor left one char cursorlf
EscH Move cursor to upper left corner cursorhome
EscLineColumn Move cursor to v,h location cursorpos(v,h)
EscI Generate a reverse line-feed revindex
EscK Erase to end of current line cleareol
EscJ Erase to end of screen cleareos
EscZ Identify what the terminal is ident
Esc/Z Correct response to ident identresp

VT100 Special Key Codes

These are sent from the terminal back to the computer when the particular key is pressed. Note that the numeric keypad keys send different codes in numeric mode than in alternate mode. See escape codes above to change keypad mode.

Function Keys:

EscOP PF1
EscOQ PF2
EscOR PF3
EscOS PF4

Arrow Keys:

  Reset Set
up EscA EscOA
down EscB EscOB
right EscC EscOC
left EscD EscOD

Numeric Keypad Keys:

EscOp 0
EscOq 1
EscOr 2
EscOs 3
EscOt 4
EscOu 5
EscOv 6
EscOw 7
EscOx 8
EscOy 9
EscOm -(minus)
EscOl ,(comma)
EscOn .(period)
EscOM ^M

Printing:

Esc[i Print Screen Print the current screen
Esc[1i Print Line Print the current line
Esc[4i Stop Print Disable log
Esc[5i Start Print
Start log; all received text is echoed to a
printer