275 lines
9.3 KiB
TeX
275 lines
9.3 KiB
TeX
\chapter{Escape-Sequences}
|
|
|
|
The following Escape-Sequences are supported by the VT132 Terminal.
|
|
|
|
The VT132 in VT100 mode supports sequences from the real DEC VT100, but also some sequences from later models like
|
|
VT102, VT220, VT510 or VT520.
|
|
|
|
Also, sequences from VT52 are available in VT52 mode of the VT100 personality (and using the VT52 personality); these are shown at the end.
|
|
|
|
Furthermore, some sequences that are used by ANSI.SYS (from DOS) are available.
|
|
|
|
Sequences from other personalities are not shown in this Guide.
|
|
|
|
\newpage
|
|
\section{VT100(+) sequences}
|
|
|
|
\begin{tabular}{p{9em} | p{0.66\textwidth}}
|
|
\hline
|
|
\textbf{Sequence} & \textbf{Function} \\
|
|
\hline
|
|
\multicolumn{2}{ l }{Cursor Movement:} \\
|
|
\hline
|
|
ESC [ \textit{row} ; \textit{column} H & Move cursor to position \\
|
|
ESC [ \textit{row} ; \textit{column} f & Move cursor to position \\
|
|
ESC [ \textit{n} D & Cursor Backwards \\
|
|
ESC [ \textit{n} B & Cursor Down \\
|
|
ESC [ \textit{n} C & Cursor Forward \\
|
|
ESC [ \textit{n} A & Cursor Up \\
|
|
ESC [ \textit{n} d & Move cursor to the indicated row \\
|
|
ESC [ \textit{n} G & Move cursor to the indicated column \\
|
|
ESC 7 & Save Cursor position and attributes \\
|
|
ESC 8 & Restore Cursor position attributes \\
|
|
ESC D & Index (move cursor down or scroll) \\
|
|
ESC E & Move cursor to start of next line \\
|
|
ESC M & Reverse Index \\
|
|
\hline
|
|
\multicolumn{2}{ l }{Text insertion / deletion:} \\
|
|
\hline
|
|
ESC [ J & Erase screen from cursor down \\
|
|
ESC [ 0 J & Erase screen from cursor down \\
|
|
ESC [ 1 J & Erase screen from cursor up \\
|
|
ESC [ 2 J & Erase entire screen \\
|
|
ESC [ K & Erase line from cursor right \\
|
|
ESC [ 0 K & Erase line from cursor right \\
|
|
ESC [ 1 K & Erase line from cursor left \\
|
|
ESC [ 2 K & Erase entire line \\
|
|
ESC [ \textit{n} P & Delete \textit{n} Characters on Current Line \\
|
|
ESC [ \textit{n} X & Erase \textit{n} Characters on Current Line \\
|
|
ESC [ \textit{n} @ & Insert \textit{n} Characters (Spaces) \\
|
|
\hline
|
|
ESC [ \textit{n} L & Insert \textit{n} Lines \\
|
|
ESC [ \textit{n} M & Delete \textit{n} Lines \\
|
|
\hline
|
|
\end{tabular}
|
|
|
|
\begin{tabular}{p{9em} | p{0.66\textwidth}}
|
|
\hline
|
|
\textbf{Sequence} & \textbf{Function} \\
|
|
\hline
|
|
\multicolumn{2}{ l }{Scrolling:} \\
|
|
\hline
|
|
ESC [ \textit{n}; \textit{n} r & Set Top and Bottom line of scroll region \\
|
|
ESC [ \textit{n} S & Scroll Up \textit{n} Lines \\
|
|
ESC [ \textit{n} T & Scroll Down \textit{n} Lines \\
|
|
\hline
|
|
\multicolumn{2}{ l }{Tab stops:} \\
|
|
\hline
|
|
ESC H & Set tab stop at cursor \\
|
|
ESC [ g & Clear tab stop at cursor \\
|
|
ESC [ 0 g & Clear tab stop at cursor \\
|
|
ESC [ 3 g & Clear all tab stops \\
|
|
\hline
|
|
\multicolumn{2}{ l }{Text Attributes:} \\
|
|
\hline
|
|
ESC \# 3 & Double Height Line - Top Half \\
|
|
ESC \# 4 & Double Height Line -- Bottom Half \\
|
|
ESC \# 5 & Single Width / Single Height Line \\
|
|
ESC \# 6 & Double Width / Single Height Line \\
|
|
\hline
|
|
ESC [ 0 m & Attributes Off \\
|
|
ESC [ 1 m & Bold or Increased Intensity \\
|
|
ESC [ 2 m & Dim (Decreased Intensity) \\
|
|
ESC [ 22 m & Disable Bold and Dim \\
|
|
ESC [ 3 m & Italic \\
|
|
ESC [ 23 m & Disable Italic \\
|
|
ESC [ 4 m & Underscore \\
|
|
ESC [ 24 m & Disable Underline \\
|
|
ESC [ 5 m & Blink \\
|
|
ESC [ 25 m & Disable Blink \\
|
|
ESC [ 7 m & Inverse \\
|
|
ESC [ 27 m & Disable Inverse \\
|
|
ESC [ 8 m & Blank (Invisible) \\
|
|
ESC [ 28 m & Disable Blank \\
|
|
\hline
|
|
\end{tabular}
|
|
|
|
|
|
\begin{tabular}{p{9em} | p{0.66\textwidth}}
|
|
\hline
|
|
\textbf{Sequence} & \textbf{Function} \\
|
|
\hline
|
|
\multicolumn{2}{ l }{Color:} \\
|
|
\hline
|
|
ESC [ \textit{n} m & Set Foreground Color (\textit{n} = 30\dots37) \\
|
|
ESC [ 39 m & Set Current Foreground Color as Default \\
|
|
ESC [ \textit{n} m & Set Background Color (\textit{n} = 40\dots47) \\
|
|
ESC [ 49 m & Set Background Color as Default \\
|
|
ESC [ \textit{n} m & Set Bright Foreground Color (\textit{n} = 90\dots97) \\
|
|
ESC [ \textit{n} m & Set Bright Background Color (\textit{n} = 100\dots107) \\
|
|
\hline
|
|
\multicolumn{2}{ l }{Color numbers:} \\
|
|
\hline
|
|
0 & Black \\
|
|
1 & Red \\
|
|
2 & Green \\
|
|
3 & Yellow (Brown) \\
|
|
4 & Blue \\
|
|
5 & Magenta \\
|
|
6 & Cyan \\
|
|
7 & White \\
|
|
\hline
|
|
\multicolumn{2}{ l }{Selective Erase:} \\
|
|
\hline
|
|
ESC [ 1 " q & Protect from Selective Erase \\
|
|
ESC [ 0 " q & Unprotect from Selective Erase \\
|
|
ESC [ 2 " q & Unprotect Selective Erase \\
|
|
ESC [ ? \textit{s} J & Selective Erase on Screen (like ESC[J) \\
|
|
& \textit{s}: 0: to end of screen, 1: to top of screen, \\
|
|
& 2: whole screen \\
|
|
ESC [ ? \textit{s} K & Selective Erase in Line (like ESC[K above) \\
|
|
& \textit{s}: 0: to left, 1: to right, 2: whole line \\
|
|
\hline
|
|
\end{tabular}
|
|
|
|
\begin{tabular}{p{9em} | p{0.66\textwidth}}
|
|
\hline
|
|
\textbf{Sequence} & \textbf{Function} \\
|
|
\hline
|
|
\multicolumn{2}{ l }{Switches, \textit{x} = h / l to enable / disable:} \\
|
|
\hline
|
|
ESC [ 4 \textit{x} & Insert Mode \\
|
|
ESC [ 20 \textit{x} & $\dagger$ Line Feed/New Line Mode \\
|
|
ESC [ ? 1 \textit{x} & Cursor Keys Mode \\
|
|
ESC [ ? 2 l & $\dagger$ Start VT52 mode (ESC < returns) \\
|
|
ESC [ ? 3 \textit{x} & $\ddagger$ 132/80 Column Mode \\
|
|
ESC [ ? 4 \textit{x} & $\dagger$ Scrolling Mode \\
|
|
ESC [ ? 5 \textit{x} & $\dagger$ Screen Mode \\
|
|
ESC [ ? 6 \textit{x} & Origin Mode \\
|
|
ESC [ ? 7 \textit{x} & $\dagger$ Autowrap Mode \\
|
|
ESC [ ? 8 \textit{x} & $\dagger$ Auto Repeat Mode \\
|
|
ESC [ ? 9 \textit{x} & $\dagger$ Interlace Mode \\
|
|
ESC [ ? 12 \textit{x} & Set Blinking Cursor \\
|
|
ESC [ ? 25 \textit{x} & Set Cursor Visible \\
|
|
ESC [ ? 40 \textit{x} & Allow switching 80/132 Mode \\
|
|
ESC [ ? 42 \textit{x} & NRCS Mode \\
|
|
ESC [ ? 45 \textit{x} & Reverse-wraparound Mode \\
|
|
ESC [ ? 47 \textit{x} & Use Alternate Screen Buffer \\
|
|
ESC [ ? 67 \textit{x} & Backarrow Key Mode \\
|
|
ESC [ ? 1047 \textit{x} & Use Alternate Screen Buffer \\
|
|
ESC [ ? 1048 \textit{x} & Save/Restore Cursor \\
|
|
ESC [ ? 1049 \textit{x} & S/R Cursor and Use Alternate Screen \\
|
|
\hline
|
|
ESC = & Keypad Application Mode \\
|
|
ESC > & Keypad Numeric Mode \\
|
|
\hline
|
|
\end{tabular}
|
|
|
|
\vspace*{\fill}\noindent\rule{2in}{0.4pt}\\
|
|
{\footnotesize
|
|
$\ddagger$ Controls an option on Set-Up A, see section \vref{setupA} \\
|
|
$\dagger$ Controls an option on Set-Up B, see section \vref{setupB}
|
|
}
|
|
|
|
|
|
\begin{tabular}{p{9em} | p{0.66\textwidth}}
|
|
\hline
|
|
\textbf{Sequence} & \textbf{Function} \\
|
|
\hline
|
|
\multicolumn{2}{ l }{Set Cursor Style ( \textvisiblespace{} = Space, 0x32):} \\
|
|
\hline
|
|
ESC [ 0 \textvisiblespace{} q & Blinking Block \\
|
|
ESC [ 1 \textvisiblespace{} q & Blinking Block (default) \\
|
|
ESC [ 2 \textvisiblespace{} q & Steady Block \\
|
|
ESC [ 3 \textvisiblespace{} q & Blinking Underline \\
|
|
ESC [ 4 \textvisiblespace{} q & Steady Underline \\
|
|
ESC [ 5 \textvisiblespace{} q & Blinking Bar \\
|
|
ESC [ 6 \textvisiblespace{} q & Steady Bar \\
|
|
\hline
|
|
ESC c & Reset (like Power Cycle) \\
|
|
ESC [ ! & Soft Terminal Reset \\
|
|
ESC \# 8 & Screen Alignment Display (fill screen with \textit{E}s) \\
|
|
ESC \textvisiblespace{} F & Send C1 Control Character as 7-Bit Escaped Characters \\
|
|
ESC \textvisiblespace{} G & Send C1 Control Character as 8-Bit Characters \\
|
|
ESC [ \textit{x} " p & Select Conformance Level\footnotemark \\
|
|
\hline
|
|
\multicolumn{2}{ l }{Select Character Set:} \\
|
|
\hline
|
|
ESC ( A & G0 - Unitied Kingdom Set \\
|
|
ESC ( B & G0 - ASCII Set \\
|
|
ESC ( 0 & G0 - Special Grapahics \\
|
|
ESC ( 1 & G0 - Alt Standard Character Set \\
|
|
ESC ( 2 & G0 - Alt Special Graphics \\
|
|
ESC ) A & G1 - Unitied Kingdom Set \\
|
|
ESC ) B & G1 - ASCII Set \\
|
|
ESC ) 0 & G1 - Special Grapahics \\
|
|
ESC ) 1 & G1 - Alt Standard Character Set \\
|
|
ESC ) 2 & G1 - Alt Special Graphics \\
|
|
ESC * \textit{n} & Select Character Set G2 (\textit{n} = A,B,0,1,2) \\
|
|
ESC + \textit{n} & Select Character Set G3 (\textit{n} = A,B,0,1,2) \\
|
|
\hline
|
|
\end{tabular}
|
|
\footnotetext{For details, see VT510 manual: \scriptsize{\url{https://www.vt100.net/docs/vt510-rm/DECSCL.html}}}
|
|
|
|
\begin{tabular}{p{9em} | p{0.66\textwidth}}
|
|
\hline
|
|
\textbf{Sequence} & \textbf{Function} \\
|
|
\hline
|
|
\multicolumn{2}{ l }{Terminal Query Sequences:} \\
|
|
\hline
|
|
ESC [ 6 n & Request Cursor Position \\
|
|
ESC [ \textit{row} ; \textit{column} R & \textit{To Host:} Cursor Position Report \\
|
|
\hline
|
|
ESC [ 5 n & Request Operating Status \\
|
|
ESC [ 0 n & \textit{To Host:} Terminal in good operating condition \\
|
|
ESC [ 3 n & \textit{To Host:} Terminal has a malfunction \\
|
|
\hline
|
|
ESC Z & Identify Terminal \\
|
|
ESC [ c & Query Device Atttibutes \\
|
|
ESC [ 0 c & Query Device Atttibutes \\
|
|
ESC [ ? 1 ; \textit{n} c & \textit{To Host:} Device Attributes \\
|
|
& VT132 will reply: ESC [ ? 64 ; 1 ; 6 ; 22 c \\
|
|
& \textit{64 = class 4 device, 1 = 132 columns,} \\
|
|
& \textit{6 = Selective Erase, 22 = ?} \\ % TODO
|
|
\hline
|
|
\end{tabular}
|
|
|
|
\newpage
|
|
\section{VT52 sequences}
|
|
|
|
These VT52 sequences are available in VT100 mode:
|
|
|
|
\begin{tabular}{p{9em} | p{0.66\textwidth}}
|
|
\hline
|
|
\textbf{Sequence} & \textbf{Function} \\
|
|
\hline
|
|
ESC A & Cursor Up \\
|
|
ESC B & Cursor Down \\
|
|
ESC C & Cursor Right \\
|
|
ESC D & Cursor Left \\
|
|
ESC F & Enter Graphics Mode \\
|
|
ESC G & Exit Graphics Mode \\
|
|
ESC H & Cursor to Home \\
|
|
ESC I & Reverse Line Feed \\
|
|
ESC J & Erase to End of Screen \\
|
|
ESC K & Erase to End of Line \\
|
|
ESC Y \textit{row column} & Move cursor to position \\
|
|
ESC Z & Identify \\
|
|
ESC / Z & \textit{To host:} response \\
|
|
ESC = & Enter Alternate Keypad Mode \\
|
|
ESC > & Exit Alternate Keypad Mode \\
|
|
ESC < & Enter ANSI Mode \\
|
|
\hline
|
|
\end{tabular}
|
|
|
|
\section{ANSI.SYS sequences}
|
|
|
|
\begin{tabular}{p{9em} | p{0.66\textwidth}}
|
|
\hline
|
|
\textbf{Sequence} & \textbf{Function} \\
|
|
\hline
|
|
ESC [ s & save cursor state (position and attributes) \\
|
|
ESC [ u & restore cursor state (position and attributes) \\
|
|
\hline
|
|
\end{tabular}
|