summaryrefslogtreecommitdiffstats
path: root/konsole/doc/VT100/Table.Codes
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commit4aed2c8219774f5d797760606b8489a92ddc5163 (patch)
tree3f8c130f7d269626bf6a9447407ef6c35954426a /konsole/doc/VT100/Table.Codes
downloadtdebase-4aed2c8219774f5d797760606b8489a92ddc5163.tar.gz
tdebase-4aed2c8219774f5d797760606b8489a92ddc5163.zip
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'konsole/doc/VT100/Table.Codes')
-rw-r--r--konsole/doc/VT100/Table.Codes1879
1 files changed, 1879 insertions, 0 deletions
diff --git a/konsole/doc/VT100/Table.Codes b/konsole/doc/VT100/Table.Codes
new file mode 100644
index 000000000..6ece0f4bf
--- /dev/null
+++ b/konsole/doc/VT100/Table.Codes
@@ -0,0 +1,1879 @@
+##############################################################################
+# #
+# [Table.Codes] Concept Data Base #
+# #
+# Copyright (c) 1998 by Lars Doelle <[email protected]> #
+# This file is part of Konsole #
+##############################################################################
+
+# This is work in progress. The overall goal is to link the documentation of
+# konsole closely to it's source. Further, the source could be organize such
+# that the emulation dependent parts are separated from everything else.
+# If this goal is matched, the emulation independent parts have to undergo
+# documentation, also.
+#
+# Refere to [db.trans] for not-yet-integrated stuff.
+#
+# What has to be done in any case is to merge db.trans into this file and to
+# make a script that extracts it again. From db.trans, we then generate parts
+# of the decoder (the semantic assignment).
+#
+# db2.pl contains as script able to slit TEScreen.C into the emulation
+# (in)dependent parts due to [db.trans].
+#
+# A like thing has to be done for TEmuVt102.C/h and for TEScreen.h.
+#
+# The missing link in the moment is a proper handling of all the Ps arguments
+# that refere to different routines (subfunction of an esc code).
+
+## Section Text ##############
+
+Introduction.html
+ <h2>Introduction</h2>
+ <p>
+ In a traditional UNIX installation a single machine (host) served
+ several users by means of terminals attached to this host by a serial
+ cable. These terminals (end points) where specialized devices, either
+ regular ttys (printer with keyboard) or later more sophisticated
+ things with cathode ray tubes.
+ <p>
+ <center><img src="konsole2.gif"></center>
+ <p>
+ Today, hardware has become so cheap, that each single user could
+ be provided with a complete host/display combination for the former
+ price of a terminal.
+ <p>
+ Additional, and here we come to the X in the emulation, display
+ devices have become graphical while the original terminal where
+ only able to show characters but not graphics.
+ <p>
+ To allow programs designed for the original configuration to be
+ used in the contemporary setup, "terminal emulations" where invented.
+ In these emulations, the whole original setup is simulated.
+ <p>
+ The serial cable is folded into the operating system as a sort of
+ loop back device, and a program, the terminal emulation, uses modern
+ means of graphical user interfaces to behave like an earlier terminal.
+ To complete the picture, the host in the diagram is replaced by the
+ application that runs in the emulation (typically a shell or an old
+ editor). So, terminal emulations are in fact interfaces to character
+ oriented applications.
+ <p>
+ This document describes the implementations of a program named
+ "konsole", which is such an X terminal emulation. Since konsole
+ is distributed under the GPL, meaning that it's source code is
+ available to whoever likes to hack on it, the program would be
+ incomplete without a proper introduction into the code and it's
+ concepts. Thus, this text is to complement the program and the
+ source with the remaining informations to make a complete product.
+ <p>
+ <h2>A first refinement</h2>
+ <p>
+ Before we can come to the actual implementation, quite some
+ notions have to be introduced. We have to get us an idea what
+ a terminal emulation does in more detail.
+ <p>
+ To this end, a simple model of the terminal and it's operation
+ is given, which is later extended and refined as we come deeper
+ into matter and implementation.
+ <p>
+ At some level conception, a terminal can be described as a
+ (abstract) data model. This means it has some type of state
+ together with operations on that data type. These operations
+ are somehow encoded to be passed over the serial line.
+ <p>
+ The concrete model is often loosely named the "emulation",
+ the specific encoding chosen, the "protocol".
+ <p>
+ There are two principle models in use. The first, stream like
+ one, which is related to a tty, consideres the terminal as an
+ indefinit long and wide sheet of paper on which a printer head
+ types the characters that come in over the line. Typical examples
+ are shell scripts, make and other programs producing sequential
+ protocols of their activity. Their basic data type is a list of
+ list of characters.
+ <p>
+ The second principle model is used by applications written
+ especially for crt devices, so called full screen applications.
+ These treat the terminal as a matrix of characters where each
+ position can be individually addressed and written to. Typical
+ representatives are full screen editors like vi and emacs,
+ file managers like mc and mail readers like mutt.
+ <p>
+ Though the second model is newer, it's age does not imply a
+ preference. To the contrary, both models have a right for their
+ own and are both to be supported. The first model is fully
+ expressed within konsole in form of it's ref:history buffer.
+ <p>
+ Note, that although the second model definitely build on the
+ first one in almost any respect, it cannot fully express it,
+ since it introduces a finite line length, while the first
+ model works with indefinite lines.
+ <p>
+ Since application with both view of things are typically run
+ within the same session, some effort has been made within
+ konsole to maintain both ideas simultaniously, but only with
+ limited success so far.
+ <p>
+ In both models, the notion of a current position (historically
+ a printer's head, nowadays visualized by a cursor) is present.
+ "Printing" a character at the current position and advancing
+ the head together with the starting a new line are the most
+ fundamental operations of the emulation.
+ <p>
+ The full screen model basically adds the possibility to position
+ the cursor and to overwrite and clear the screen.
+ <p>
+ A plethora of additional (more or less useful) commands are
+ then added on this by every specific emulation, see below for
+ the awful details.
+ <p>
+ <!-- BEGIN: new section about the codes -->
+ <h2>Parts of the model</h2>
+ <p>
+ <it>All the following in this section is an outline</it>.
+ <p>
+ Parts of the terminal description
+ <ul>
+ <li>State
+ <br>This is mainly the screen, the cursor (including it's graphical state)
+ and some hidden mode variables. Note that the state cannot be investigated
+ by the attached host.
+ <li>Interface
+ <br>That's what goes over the wire. Beside being related to objects, this
+ appears so closely related to contemporal process communication, that
+ it might be discussed in likely terms.
+ <br>We have information flowing in both directions. On could destinguist
+ between:
+ <li>Commands
+ <br>These are "calls" of the terminals interface by the host which cause
+ some change of the terminals state, but do not end in a response.
+ <li>Requests
+ <br>These are "calls" of the terminals interface by the host which do not cause
+ any change of the terminals state, but end in a response of the terminal.
+ Clearly, requests are somehow used to investigate the state of the terminal.
+ <li>Events
+ <br>These are signals from the terminal caused by the user affecting the
+ mouse or keyboard to the host.
+ <li>Replys
+ <br>These are send by the terminal as a result of a Request from the hosts.
+ <li>Encoding/Decoding
+ </ul>
+
+Sequences.html
+ Conceptually, the commands to the terminal emulation are encoded if form
+ of byte sequences to meet the restrictions of the transport media. These
+ sequences have pretty different originations and therefore the format of
+ the sequences are inhomogenous.
+ <p>
+ Refering both to their origin and form, one can group the overall encoding
+ schemes as follows:
+ <p>
+ <table>
+ <tr><td width=20% bgcolor=#d0d0d0>Name</td><td width=20% bgcolor=#d0d0d0>Pattern</td><td bgcolor=#d0d0d0>Scope</td><td bgcolor=#d0d0d0>Comment</td></tr>
+ <tr><td>Printable Ascii Characters</td><td>32..126</td><td>ASCII ECMA</td>
+ <td>This is the most original pattern of all. The characters to be
+ displayed are passed over the chanel and are interpreted by the
+ terminal (emulation) as instructions to display the corresponding
+ glyph of the ascii character set. Contempory emulations include the
+ upper half (128..255) of the extentions to the national ascii character
+ sets, also.</td></tr>
+ <tr><td>Ascii Control Characters</td><td>0..26,28..31,127</td><td>ASCII ECMA</td>
+ <td>Ascii defines some non-printable, but format effecting characters, too.
+ Depending on the emulation, at least some of them are given a meaning.
+ The typically implemented ones are those that are handled by a teletype
+ like device.</td></tr>
+ <tr><td>Simple Escape Sequence</td><td><b>ESC</b> <i>C</i></td><td>ECMA</td>
+ <td>These sequences are made up from an <b>ESC</b> character followed by
+ exactly one other character in the range ???..???.</td></tr>
+ <tr><td>CSI Sequence</td>
+ <td><b>ESC</b> <b>[</b> <i>Parameters</i> {<i>I</i>} <i>C</i></td>
+ <td>ECMA</td>
+ <td></td></tr>
+ <tr><td colspan=4>
+ <p>
+ The remaining codes are nonstandard but traditionalized hacks.
+ <p>
+ </td></tr>
+ <tr><td>DEC hacks</td>
+ <td><b>ESC</b> <i>C</i> <i>D</i></td>
+ <td>VT100</td>
+ <td></td></tr>
+ <tr><td>XTERM hacks</td>
+ <td><b>ESC ]</b> <i>Pn</i> <b>;</b> <i>text</i> <b>BEL</b></td>
+ <td>XTERM</td>
+ <td></td>
+ <tr><td colspan=4>
+ <p>
+ VT52 uses a different (incompatible) set of escape codes. VT100 includes
+ the VT52 emulation as a mode.
+ <p>
+ </td></tr>
+ </tr>
+ <tr><td>Simple Escape Sequence</td><td><b>ESC</b> <i>C</i></td><td>VT52</td>
+ <td></td></tr>
+ <tr><td>Complex Escape Sequence</td><td><b>ESC</b> <b>Y</b> <i>X</i> <i>Y</i></td><td>VT52</td>
+ <td></td></tr>
+ .
+ </table>
+ .
+ <h3>More on Control Sequences</h3>
+ .
+ <h4>Control Characters</h4>
+ .
+ Control characters (codes 0x00 - 0x1f inclusive) are specifically excluded
+ from the control sequence syntax, but may be embedded within a control
+ sequence. Embedded control characters are executed as soon as they are
+ encountered by a VT100. The processing of the control sequence then
+ continues with the next character received. The exceptions are:
+ if the <a href=#ESC>ESC</a> character occurs, the current control sequence
+ is aborted, and a new one commences beginning with the <a href=#ESC>ESC</a>
+ just received. If the character <a href=#CAN>CAN</a> (0x0c) or the
+ character <a href=#SUB>SUB</a> (0x0e) occurs,
+ the current control sequence is aborted. The ability to embed control
+ characters allows the synchronization characters XON and XOFF to be
+ interpreted properly without affecting the control sequence.
+ <p>
+ .
+ <h4>CSI Sequences</h4>
+ .
+ <dl>
+ <dt>Control Sequence Introducer (CSI):
+ <dd>An escape sequence that provides
+ supplementary controls and is itself a prefix affecting the
+ interpretation of a limited number of contiguous characters.
+ In the VT100, the CSI is: &lt;ESC&gt;[
+ .
+ <dt>Parameter:
+ <dd>1. A string of zero or more decimal characters which
+ represent a single value. Leading zeros are ignored. The
+ decimal characters have a range of 0 (060) to 9 (071).
+ <br>2. The value so represented.
+ .
+ <dt>Numeric Parameter:
+ <dd>A parameter that represents a number, designated by Pn.
+ .
+ <dt>Selective Parameter:
+ <dd>A parameter that selects a subfunction from a
+ specified set of subfunctions, designated by Ps. In general, a
+ control sequence with more than one selective parameter causes
+ the same effect as several control sequences, each with one
+ selective parameter, e.g., CSI Psa; Psb; Psc F is identical to
+ CSI Psa F CSI Psb F CSI Psc F.
+ .
+ <dt>Parameter String:
+ <dd>A string of parameters separated by a semicolon.
+ .
+ <dt>Default:
+ <dd> A function-dependent value that is assumed when no explicit
+ value, or a value of 0, is specified.
+ .
+ <dt>Final character:
+ <dd>A character whose bit combination terminates an escape or control sequence.
+ </dl>
+ .
+ <em>EXAMPLE</em>: Control sequence to turn off all character attributes, then
+ turn on underscore and blink attributes (<a href=#SGR>SGR</a>).
+ .
+ <center><img src="konsole1.gif"></center>
+ <p>
+ The octal representation of this string is:
+ <pre>
+ 033 0133 060 073 064 073 065 0155
+ &lt;ESC&gt; [ 0 ; 4 ; 5 m
+ </pre>
+ .
+ Alternate sequences which will accomplish the same thing:
+ .
+ <ul>
+ <li><code>&lt;ESC&gt;[;4;m </code>
+ <li><code>&lt;ESC&gt;[m </code>
+ <br><code>&lt;ESC&gt;[4m </code>
+ <br><code>&lt;ESC&gt;[5m </code>
+ <li><code>&lt;ESC&gt;[0;04;005m</code>
+ </ul>
+ .
+ <h4>DEC hacks</h4>
+ .
+ These form two groups of commands.
+ <p>
+ In one first the first character is a hash (<em>#</em>) and the following a digit.
+ This command group is used to denote VT100 specific instructions and can
+ safely be sonsidered to be obsolete. See
+ <a href=#DECALN>DECALN</a>,
+ <a href=#DECDHLB>DECDHLB</a>,
+ <a href=#DECDHLT>DECDHLT</a>,
+ <a href=#DECDWL>DECDWL</a> and
+ <a href=#DECSWL>DECSWL</a>.
+ <p>
+ The second one is used to specify character set mappings (see <a
+ href=#SCS>SCS</a>). A CSI instruction to do this is specified in ECMA,
+ and this should be used as a replacement.
+ .
+ <h4>XTERM hacks</h4>
+
+ConceptDB.html
+ <i>The following text is a collection of several sorts of definitions and
+ explainations. It is incomplete in many respects and a working draft.
+ </i>
+ .
+ <p>
+ All of the following control sequences are transmitted from the Host to
+ VT100 unless otherwise noted. All of the control sequences are a subset of
+ those defined in ANSI X 3.64 1977 and ANSI X 3.41 1974.
+ <p>
+ The following text conforms to these formatting conventions:
+ <ul>
+ <li>Individual character literals are set in bold face. Ascii representation
+ is used throughout, so <b>ESC</b> means the binary value of 27 and
+ <b>[</b> a value of 91.
+ .
+ <li>Parameters are indicated by italic type faces.
+ <li>Parameter types usually are indicated as one of:
+ <table>
+ <tr><td><i>Pn </i></td><td>A string of digits representing a numerical value.</td></tr>
+ <tr><td><i>Ps </i></td><td>A character that selects an item from a list.</td></tr>
+ <tr><td><i>a-z</i></td><td>Any lowercase sequence of one or more
+ characters represent a value to be
+ entered (as in <i>Pn</i>), and the name in the
+ will be referred to in explanatory text.</td></tr>
+ </table>
+ .
+ <li>Spaces are used only to improve readability, they do not occure in the
+ control sequences unless otherwise indicated.
+ .
+ </ul>
+ .
+ <p>
+ The following attributes below have the following meaning:
+ <ul>
+ <li>VT100 - This code is known to VT100.
+ <li>ANSI - This code is defined by ANSI.
+ <li>DEC - This code is DEC private.
+ <li>Command - Sent from host to the terminal. <b>FIXME:</b>add Inquiery.
+ <li>Reply - Sent from terminal to the host (as response to an Inquiery).
+ <li>Event - Sent from terminal to the host (caused by a user activity).
+ <li>Mode - The entry is a mode.
+ </ul>
+
+Operations.html
+ <p>
+ <ul>
+ <li>Host to Terminal (Commands,Requests)
+ <ul>
+ <li>Commands
+ <ul>
+ <li>Character Display Operation
+ <li>Rendition related status
+ <li>Cursor
+ <li>Cursor related status
+ <li>Edit
+ <li>Miscellaneous
+ <li>General mode setting
+ <li>Miscellaneous status
+ <li>VT52
+ <li>Not implemented
+ <li>Ignored
+ </ul>
+ <li>Requests
+ </ul>
+ <li>Terminal to Host (Replies, Events)
+ <ul>
+ <li>Replies
+ <li>Events
+ </ul>
+ <li>Modes
+ <ul>
+ <li>Modes
+ </ul>
+ </ul>
+
+## Keyboard #################################################################
+
+KEYBOARD.head Keyboard Events
+KEYBOARD.emus KONSOLE
+KEYBOARD.sect Event
+KEYBOARD.text
+ FIXME. explain
+KEYBOARD.table.Codes
+ Key|Code:4
+ AltButton|"\033"
+ Return|MODE_NewLine ? "\r\n" : "\r"
+ Backspace|MODE_BsHack ? "\x7f" : "\x08"
+ Delete|MODE_BsHack ? "\033[3~" : "\x7f"
+ Up|!MODE_Ansi ?"\033A" : MODE_AppCuKeys ?"\033OA" : "\033[A"
+ Down|!MODE_Ansi ?"\033B" : MODE_AppCuKeys ?"\033OB" : "\033[B"
+ Right|!MODE_Ansi ?"\033C" : MODE_AppCuKeys ?"\033OC" : "\033[C"
+ Left|!MODE_Ansi ?"\033D" : MODE_AppCuKeys ?"\033OD" : "\033[D"
+ F1|Xterm? "\033[11~": "\033[[A"
+ F2|Xterm? "\033[12~": "\033[[B"
+ F3|Xterm? "\033[13~": "\033[[C"
+ F4|Xterm? "\033[14~": "\033[[D"
+ F5|Xterm? "\033[15~": "\033[[E"
+ F6|"\033[17~"
+ F7|"\033[18~"
+ F8|"\033[19~"
+ F9|"\033[20~"
+ F10|"\033[21~"
+ F11|"\033[23~"
+ F12|"\033[24~"
+ Home|"\033[7~"
+ End|"\033[8~"
+ Prior|"\033[5~"
+ Next|"\033[6~"
+ Insert|"\033[2~"
+ Control_Space|"\x00"
+ Control_Print|reportAnswerBack()
+ Ascii|Character
+
+MOUSE.head Mouse Events
+MOUSE.emus KONSOLE
+MOUSE.sect Event
+MOUSE.text
+ FIXME. explain
+
+CHA.head Cursor Horizontal Absolute
+CHA.emus ECMA KONSOLE
+CHA.sect Command.Cursor
+CHA.code CSI|G|{Pn}
+CHA.text
+ FIXME. explain
+CHA.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|xterm|scr|setCursorX|p|see above
+
+DCH.head Delete Character
+DCH.emus ECMA KONSOLE
+DCH.sect Command.Delete
+DCH.code CSI|P|{Pn}
+DCH.text
+ FIXME. explain
+DCH.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|xterm|scr|deleteChars|p|see above
+
+DECRST.head DEC Private Reset Mode
+DECRST.emus VT100 KONSOLE
+DECRST.sect Command.SetMode
+DECRST.code PRI|l|{Ps;...}
+DECRST.text
+ FIXME. explain
+DECRST.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 1|VT100|emu|resetMode|MODE_AppCuKeys|Meaning
+ 2|VT100|emu|resetMode|MODE_Ansi|Meaning
+ 3|VT100|emu|setColumns|80|Meaning
+ 4|VT100|emu|Ignored||Meaning
+ 5|VT100|scr|resetMode|MODE_Screen|Meaning
+ 6|VT100|scr|resetMode|MODE_Origin|Meaning
+ 7|VT100|scr|resetMode|MODE_Wrap|Meaning
+ 8|VT100|emu|Ignored||Meaning
+ 9|VT100|emu|Ignored||Meaning
+ 25|VT100|emu|resetMode|MODE_Cursor|Meaning
+ 47|xterm|emu|resetMode|MODE_AppScreen|Meaning
+ 1000|xterm|emu|resetMode|MODE_Mouse1000|Meaning
+ 1001|xterm|emu|Ignored||Meaning
+ 1047|xterm|emu|resetMode|MODE_AppScreen|Meaning
+ 1048|xterm|scr|restoreCursor||Meaning
+
+DECSET.head DEC Private Set Mode
+DECSET.emus VT100 KONSOLE
+DECSET.sect Command.SetMode
+DECSET.code PRI|h|{Ps;...}
+DECSET.text
+ FIXME. explain
+DECSET.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 1|VT100|emu|setMode|MODE_AppCuKeys|Meaning
+ 3|VT100|emu|setColumns|132|Meaning
+ 4|VT100|emu|Ignored||Meaning
+ 5|VT100|scr|setMode|MODE_Screen|Meaning
+ 6|VT100|scr|setMode|MODE_Origin|Meaning
+ 7|VT100|scr|setMode|MODE_Wrap|Meaning
+ 8|VT100|emu|Ignored||Meaning
+ 9|VT100|emu|Ignored||Meaning
+ 25|VT100|emu|setMode|MODE_Cursor|Meaning
+ 47|xterm|emu|setMode|MODE_AppScreen|Meaning
+ 1000|xterm|emu|setMode|MODE_Mouse1000|Meaning
+ 1001|xterm|emu|Ignored||Meaning
+ 1047|xterm|emu|setMode|MODE_AppScreen|Meaning
+ 1048|xterm|scr|saveCursor||Meaning
+
+DL.head Delete Line
+DL.emus ECMA KONSOLE
+DL.sect Command.Delete
+DL.code CSI|M|{Pn}
+DL.text
+ FIXME. explain
+DL.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|konsole|scr|deleteLines|p|see above
+
+ECH.head Erase Character
+ECH.emus ECMA KONSOLE
+ECH.sect Command.Erase
+ECH.code CSI|X|{Pn}
+ECH.text
+ FIXME. explain
+ECH.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|konsole|scr|eraseChars|p|see above
+
+ICH.head Insert Character
+ICH.emus ECMA KONSOLE
+ICH.sect Command.Insert
+ICH.code CSI|@|{Pn}
+ICH.text
+ FIXME. explain
+ICH.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|konsole|scr|insertChars|p|see above
+
+IL.head Insert Line
+IL.emus KONSOLE
+IL.sect Command.Insert
+IL.code CSI|L|{Pn}
+IL.text
+ FIXME. explain
+IL.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|xterm|scr|insertLines|p|see above
+
+LS2.head Lock Shift Two
+LS2.emus KONSOLE
+LS2.sect Command.RenderMode
+LS2.code ESC|n|
+LS2.text
+ FIXME. explain
+LS2.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|xterm|scr|useCharset|2|see above
+
+LS3.head Lock Shift Three
+LS3.emus KONSOLE
+LS3.sect Command.RenderMode
+LS3.code ESC|o|
+LS3.text
+ FIXME. explain
+LS3.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|xterm|scr|useCharset|3|see above
+
+MC.head Media Copy
+MC.emus ECMA VT100
+MC.sect Command.NoImp
+MC.code CSI|i|{Pn}
+MC.text
+ FIXME. explain
+MC.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 0|VT100|emu|Ignored||Meaning
+
+VPA.head Vertical Position Absolute
+VPA.emus ECMA KONSOLE
+VPA.sect Command.Cursor
+VPA.code CSI|d|{Pn}
+VPA.text
+ FIXME. explain
+VPA.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|xterm|scr|setCursorY|p|see above
+
+XTERESTORE.head XTerm Private Restore Mode
+XTERESTORE.emus XTERM KONSOLE
+XTERESTORE.sect Command.SetMode
+XTERESTORE.code PRI|r|{Ps;...}
+XTERESTORE.text
+ FIXME. explain
+XTERESTORE.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 1|xterm|emu|restoreMode|MODE_AppCuKeys|Meaning
+ 6|xterm|scr|restoreMode|MODE_Origin|Meaning
+ 7|xterm|scr|restoreMode|MODE_Wrap|Meaning
+ 1000|xterm|emu|restoreMode|MODE_Mouse1000|Meaning
+ 1001|xterm|emu|Ignored||Meaning
+
+XTESAVE.head XTerm Private Save Mode
+XTESAVE.emus XTERM KONSOLE
+XTESAVE.sect Command.SetMode
+XTESAVE.code PRI|s|{Ps;...}
+XTESAVE.text
+ FIXME. explain
+XTESAVE.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 1|xterm|emu|saveMode|MODE_AppCuKeys|Meaning
+ 6|xterm|scr|saveMode|MODE_Origin|Meaning
+ 7|xterm|scr|saveMode|MODE_Wrap|Meaning
+ 1000|xterm|emu|saveMode|MODE_Mouse1000|Meaning
+ 1001|xterm|emu|Ignored||Meaning
+
+NUL.head Null
+NUL.emus VT100 XTERM Linux KONSOLE
+NUL.sect Command.Ignored
+NUL.code CTL|0x00|
+NUL.text
+ NUL is used as media- or time-fill. It is ignored by Konsole, but may
+ be sensible for devices which requiere a recognizable amount of time
+ to complete some commands (e.g. form feed on a non-buffering printing
+ device).
+NUL.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+SOH.head Start Of Heading
+SOH.emus VT100 XTERM Linux KONSOLE
+SOH.sect Command.Ignored
+SOH.code CTL|0x01|
+SOH.text
+ Ignored
+SOH.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+STX.head Start Of Text
+STX.emus VT100 XTERM Linux KONSOLE
+STX.sect Command.Ignored
+STX.code CTL|0x02|
+STX.text
+ Ignored
+STX.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+ETX.head End Of Text
+ETX.emus VT100 XTERM Linux KONSOLE
+ETX.sect Command.Ignored
+ETX.code CTL|0x03|
+ETX.text
+ Ignored
+ETX.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+EOT.head End Of Transmission
+EOT.emus VT100 XTERM Linux KONSOLE
+EOT.sect Command.Ignored
+EOT.code CTL|0x04|
+EOT.text
+ Ignored
+EOT.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+ENQ.head Enquiry
+ENQ.emus VT100
+ENQ.sect Command.Request
+ENQ.code CTL|0x05|
+ENQ.text
+ Transmit the ANSWERBACK message. The answerback message can be loaded
+ in SET-UP B (i.e. is a configurable string).
+ENQ.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|reportAnswerBack||see above
+
+ACK.head Acknowledge
+ACK.emus VT100 XTERM Linux KONSOLE
+ACK.sect Command.Ignored
+ACK.code CTL|0x06|
+ACK.text
+ Ignored
+ACK.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+BEL.head Bell
+BEL.emus VT100
+BEL.sect Command
+BEL.code CTL|0x07|
+BEL.text
+ Sound bell
+BEL.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|gui|Bell||see above
+
+BS.head Back Space
+BS.emus VT100
+BS.sect Command.Cursor
+BS.code CTL|0x08|
+BS.text
+ Move cursor to the left one position, unless it is at the left
+ margin, in which case no action is taken.
+BS.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|BackSpace||see above
+
+HT.head Horizontal Tabulation
+HT.emus VT100
+HT.sect Command.Cursor
+HT.code CTL|0x09|
+HT.text
+ Move cursor to the next tab stop, or to the right margin
+ if no further tabs are set.
+HT.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|Tabulate||see above
+
+LF.head Line Feed
+LF.emus VT100
+LF.sect Command.Cursor
+LF.code CTL|0x0a|
+LF.text
+ Causes either a line feed or new line operation (See \ref:LNM.)
+LF.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|NewLine||see above
+
+VT.head Vertical Tabulation
+VT.emus VT100
+VT.sect Command.Cursor
+VT.code CTL|0x0b|
+VT.text
+ Same as \ref:LF.
+VT.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|NewLine||see above
+
+FF.head Form Feed
+FF.emus VT100
+FF.sect Command.Cursor
+FF.code CTL|0x0c|
+FF.text
+ Same as \ref:LF.
+FF.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|NewLine||see above
+
+CR.head Carriage Return
+CR.emus VT100
+CR.sect Command.Cursor
+CR.code CTL|0x0d|
+CR.text
+ Move the cursor to the left margin of the current line.
+CR.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|Return||see above
+
+LS0.head Lock Shift Zero (Shift Out - SO)
+LS0.emus VT100
+LS0.sect Command.RenderMode
+LS0.code CTL|0x0e|
+LS0.text
+ Invoke the G1 character set, as designated by the \ref:SCS control sequence.
+LS0.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|useCharset|1|see above
+
+LS1.head Lock Shift One (Shift In - SI)
+LS1.emus VT100
+LS1.sect Command.RenderMode
+LS1.code CTL|0x0f|
+LS1.text
+ Invoke the G0 character set, as selected by the <ESC>( sequence.
+LS1.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|useCharset|0|see above
+
+DLE.head Data Link Escape
+DLE.emus VT100 XTERM Linux KONSOLE
+DLE.sect Command.Ignored
+DLE.code CTL|0x10|
+DLE.text
+ Ignored
+DLE.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+DC1.head Device Control One
+DC1.emus VT100
+DC1.sect Ignored
+DC1.code CTL|0x11|
+DC1.text
+ Causes terminal to resume transmission (XON).
+DC1.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+DC2.head Device Control Two
+DC2.emus VT100 XTERM Linux KONSOLE
+DC2.sect Command.Ignored
+DC2.code CTL|0x12|
+DC2.text
+ Ignored
+DC2.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+DC3.head Device Control Three
+DC3.emus VT100 XTERM Linux KONSOLE
+DC3.sect Command.Ignored
+DC3.code CTL|0x13|
+DC3.text
+ Causes terminal to stop transmitting all codes except XOFF and XON (XOFF).
+DC3.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+DC4.head Device Control Four
+DC4.emus VT100 XTERM Linux KONSOLE
+DC4.sect Command.Ignored
+DC4.code CTL|0x14|
+DC4.text
+ Ignored
+DC4.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+NAK.head Negative Acknowledge
+NAK.emus VT100 XTERM Linux KONSOLE
+NAK.sect Command.Ignored
+NAK.code CTL|0x15|
+NAK.text
+ Ignored
+NAK.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+SYN.head Synchronous Idle
+SYN.emus VT100 XTERM Linux KONSOLE
+SYN.sect Command.Ignored
+SYN.code CTL|0x16|
+SYN.text
+ Ignored
+SYN.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+ETB.head End Of Transmission Block
+ETB.emus VT100 XTERM Linux KONSOLE
+ETB.sect Command.Ignored
+ETB.code CTL|0x17|
+ETB.text
+ Ignored
+ETB.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+CAN.head Cancel
+CAN.emus VT100
+CAN.sect Command
+CAN.code CTL|0x18|
+CAN.text
+ If sent during a control sequence, the sequence id immediately
+ terminated and not executed. It also causes the error character
+ (checkerboard) to be displayed.
+CAN.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|ShowCharacter|2|see above
+
+EM.head End Of Medium
+EM.emus VT100 XTERM Linux KONSOLE
+EM.sect Command.Ignored
+EM.code CTL|0x19|
+EM.text
+ Ignored
+EM.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+SUB.head Substitute
+SUB.emus VT100
+SUB.sect Command
+SUB.code CTL|0x1a|
+SUB.text
+ Same as \ref:CAN.
+SUB.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|ShowCharacter|2|see above
+
+ESC.head Escape
+ESC.emus ECMA VT100
+ESC.sect Ignored
+ESC.code CTL|0x1b|
+ESC.text
+ Introduces a control sequence.
+ESC.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+FS.head File Separator (IS4 - Information Separator Four)
+FS.emus VT100 XTERM Linux KONSOLE
+FS.sect Command.Ignored
+FS.code CTL|0x1c|
+FS.text
+ Ignored
+FS.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+GS.head Group Separator (IS3 - Information Separator Three)
+GS.emus VT100 XTERM Linux KONSOLE
+GS.sect Command.Ignored
+GS.code CTL|0x1d|
+GS.text
+ Ignored
+GS.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+RS.head Record Separator (IS2 - Information Separator Two)
+RS.emus VT100 XTERM Linux KONSOLE
+RS.sect Command.Ignored
+RS.code CTL|0x1e|
+RS.text
+ Ignored
+RS.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+US.head Unit Separator (IS1 - Information Separator One)
+US.emus VT100 XTERM Linux KONSOLE
+US.sect Command.Ignored
+US.code CTL|0x1f|
+US.text
+ Ignored
+US.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+DEL.head Delete Character
+DEL.emus VT100
+DEL.sect Command.Ignored
+DEL.code DEL||
+DEL.text
+ Ignored
+
+CPR.head Cursor Position Report
+CPR.emus ECMA VT100
+CPR.sect Reply
+CPR.code CSI|R|{Pn;Pn}
+CPR.dflt 1 1
+CPR.text
+ The CPR sequence reports the active position by means of the
+ parameters. This sequence has two parameter values, the first
+ specifying the line and the second specifying the column. The default
+ condition with no parameters present, or parameters of 0, is equivalent
+ to a cursor at home position.
+ .
+ The numbering of the lines depends upon the state of the Origin Mode
+ (\ref:DECOM).
+ .
+ This control sequence is sent in reply to a device status report
+ (\ref:DSRREQ) command sent from the host.
+
+CUB.head Cursor Backward
+CUB.emus ECMA VT100
+CUB.sect Command.Cursor Event
+CUB.code CSI|D|{Pn}
+CUB.dflt 1
+CUB.text
+ Moves the cursor to the left. The distance moved is
+ determined by the parameter. If the parameter missing, zero, or one,
+ the cursor is moved one position. The cursor cannot be moved past the
+ left margin.
+CUB.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|cursorLeft|p|see above
+
+CUD.head Cursor Down
+CUD.emus ECMA VT100
+CUD.sect Command.Cursor Event
+CUD.code CSI|B|{Pn}
+CUD.dflt 1
+CUD.text
+ Moves the cursor down a number of lines as specified in the parameter
+ without changing columns. The cursor cannot be moved past the bottom
+ margin.
+CUD.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|cursorDown|p|see above
+
+CUF.head Cursor Foreward
+CUF.emus ECMA VT100
+CUF.sect Command.Cursor Event
+CUF.code CSI|C|{Pn}
+CUF.dflt 1
+CUF.text
+ Moves the cursor to the right a number of positions
+ specified in the parameter. The cursor cannot be moved past the right
+ margin.
+CUF.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|cursorRight|p|see above
+
+CUP.head Cursor Position
+CUP.emus ECMA VT100
+CUP.sect Command.Cursor
+CUP.code CSI|H|{Pn;Pn}
+CUP.dflt 1 1
+CUP.text
+ Moves the curor to the position specified by the
+ parameters. The first parameter specifies the line, and the second
+ specifies the column. A value of zero for either line or column moves
+ the cursor to the first line or column in the display. The default
+ string (<ESC>H) homes the cursor. In the VT100, this command behaves
+ identically to it's format effector counterpart, \ref:HVP.
+ .
+ The numbering of the lines depends upon the state of the Origin Mode
+ (\ref:DECOM).
+CUP.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|setCursorYX|p,q|see above
+
+CUU.head Cursor Up
+CUU.emus ECMA VT100
+CUU.sect Command.Cursor Event
+CUU.code CSI|A|{Pn}
+CUU.dflt 1
+CUU.text
+ Moves the cursor up without changing columns. The cursor is moved up a
+ number of lines as indicated by the parameter. The cursor cannot be
+ moved beyond the top margin.
+CUU.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|cursorUp|p|see above
+
+DA.head Device Attributes Request
+DA.emus ECMA VT100
+DA.sect Command.Request
+DA.code CSI|c|{Pn}
+DA.dflt 0
+DA.text
+ The host requests the VT100 to send a DA sequence to indentify
+ itself. This is done by sending the DA sequence with no parameters,
+ or with a parameter of zero.
+ The device replies by (\ref:DECDA).
+DA.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|reportTerminalType||see above
+
+DECDA.head Device Attributes Reply
+DECDA.emus VT100
+DECDA.sect Reply
+DECDA.code PRI|c|{1;Pn}
+DECDA.text
+ Response to the \ref:DA request (VT100 to host) is generated
+ by the VT100 as a DECDA control sequence with the numeric parameters as
+ follows:
+DECDA.table.Pn
+ Pn|Meaning:4
+ 0|No options
+ 1|Processor Option (STP)
+ 2|Advanced Video Option (AVO)
+ 3|AVO and STP
+ 4|Graphics Option (GPO)
+ 5|GPO and STP
+ 6|GPO and AVO
+
+DECALN.head Screen Alignment Display
+DECALN.emus VT100
+DECALN.sect Command
+DECALN.code HSH|8|
+DECALN.text
+ Causes the VT100 to fill it's screen with
+ uppercase Es for screen focus and alignment.
+DECALN.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|helpAlign||see above
+
+DECANM.head ANSI/VT52 Mode
+DECANM.emus VT100
+DECANM.sect Mode
+DECANM.text
+ This is a private parameter to the \ref:SM and \ref:RM
+ control sequences. The
+ reset state causes only VT52 compatible escape sequences to be
+ recognized. The set state causes only ANSI compatible escape sequences
+ to be recognized. See the entries for \ref:MODES, \ref:SM, \ref:RM
+ and \ref:VT52ANSI.
+
+DECARM.head Auto Repeat Mode
+DECARM.emus VT100
+DECARM.sect Mode
+DECARM.text
+ This is a private parameter to the \ref:SM and \ref:RM
+ control sequences. The
+ reset state causes no keyboard keys to auto-repeat, the set state
+ causes most of them to. See \ref:MODES, \ref:SM and \ref:RM.
+
+DECAWM.head Autowrap Mode
+DECAWM.emus VT100
+DECAWM.sect Mode
+DECAWM.text
+ This is a private parameter to the \ref:SM and \ref:RM
+ control sequences. The
+ reset state prevents the cursor from moving when characters are
+ received while at the right margin. The set state causes these
+ characters to advance to the next line, causing a scroll up if required
+ and permitted. See \ref:MODES, \ref:SM, and
+ \ref:RM.
+
+DECCKM.head Cursor Keys Mode
+DECCKM.emus VT100
+DECCKM.sect Mode
+DECCKM.text
+ This is a private parameter to the \ref:SM and \ref:RM
+ control requences. This
+ mode is only effective when the terminal is in keypad application mode
+ (\ref:DECKPAM) and the ANSI/VT52 mode (\ref:DECANM)
+ is set. Under these
+ conditions, if this mode is reset, the cursor keys will send ANSI
+ cursor control commands. If setm the cursor keys will send application
+ function commands. See \ref:MODES, \ref:RM, and
+ \ref:SM.
+
+DECCOLM.head Column Mode
+DECCOLM.emus VT100
+DECCOLM.sect Mode
+DECCOLM.text
+ This is a private parameter to the \ref:SM and \ref:RM
+ control sequences. The
+ reset state causes an 80 column screen to be used. The set state
+ causes a 132 column screen to be used. See \ref:MODES,
+ \ref:RM, and \ref:SM.
+
+DECDHLT.head Double Height Line (Top)
+DECDHLT.emus VT100
+DECDHLT.sect Command.NoImp
+DECDHLT.code HSH|3|
+DECDHLT.text
+ Cause the line containing the cursor to become the top half of a
+ double-height, double width line.
+ If the line was single width single height, all
+ characters to the right of the center of the screen will be lost. The
+ cursor remains over the same character position, unless it would be to
+ the right of the right margin, in which case it is moved to the right
+ margin.
+ .
+ \ref:DECDHLB and \ref:DECDHLT
+ should be used in pairs on adjacent lines with each line containing the
+ same character string.
+DECDHLT.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+DECDHLB.head Double Height Line (Bottom)
+DECDHLB.emus VT100
+DECDHLB.sect Command.NoImp
+DECDHLB.code HSH|4|
+DECDHLB.text
+ This sequence cause the line containing the cursor to become the
+ bottom half of a double-height, double width line.
+ If the line was single width single height, all
+ characters to the right of the center of the screen will be lost. The
+ cursor remains over the same character position, unless it would be to
+ the right of the right margin, in which case it is moved to the right
+ margin.
+ .
+ \ref:DECDHLB and \ref:DECDHLT
+ should be used in pairs on adjacent lines with each line containing the
+ same character string.
+DECDHLB.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+DECDWL.head Double Width Line
+DECDWL.emus VT100
+DECDWL.sect Command.NoImp
+DECDWL.code HSH|6|
+DECDWL.text
+ This causes the line that contains the cursor to become double-width
+ single height. If the line was single width, all characters ro the
+ right of the center of the screen will be lost. The cursor remains
+ over the same character position, unless it would be to the right of
+ the right margin, in which case it is moved to the right margin.
+DECDWL.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+DECID.head Identify Terminal
+DECID.emus VT100
+DECID.sect Command.Request
+DECID.code ESC|Z|
+DECID.text
+ This sequence causes the same response as the \ref:DA sequence. This
+ sequence will not be supported in future models.
+DECID.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|reportTerminalType||see above
+
+DECINLM.head Interlace Mode
+DECINLM.emus VT100
+DECINLM.sect Mode
+DECINLM.text
+ This is a private parameter to the \ref:RM and \ref:SM
+ control sequences. The
+ reset state (non-interlace) causes the video processor to display 240
+ scan lines per frame. The set state causes the video processor to
+ display 480 scan lines per screen. See \ref:MODES,
+ \ref:RM, and \ref:SM.
+
+DECKPAM.head Keypad Application Mode
+DECKPAM.emus VT100
+DECKPAM.sect Command.Mode Mode
+DECKPAM.code ESC|=|
+DECKPAM.text
+ The auxiliary keypad keys will transmit control sequences.
+DECKPAM.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|setMode|MODE_AppKeyPad|see above
+
+DECKPNM.head Keypad Numeric Mode
+DECKPNM.emus VT100
+DECKPNM.sect Mode Command.Mode
+DECKPNM.code ESC|>|
+DECKPNM.text
+ The auxiliary keypad keys will send ASCII codes corresponding to the
+ characters engraved on their keys.
+DECKPNM.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|resetMode|MODE_AppKeyPad|see above
+
+DECLL.head Load LEDs
+DECLL.emus VT100
+DECLL.sect Command.NoImp
+DECLL.code CSI|q|{Ps;...}
+DECLL.dflt 0
+DECLL.text
+ Load the four programmable LEDs on the keyboard according to the parameter(s).
+DECLL.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 0|VT100|emu|Ignore||Clear all LEDs
+ 1|VT100|emu|Ignore||Light LED 1
+ 2|VT100|emu|Ignore||Light LED 2
+ 3|VT100|emu|Ignore||Light LED 3
+ 4|VT100|emu|Ignore||Light LED 4
+
+DECOM.head Origin Mode
+DECOM.emus VT100
+DECOM.sect Mode
+DECOM.text
+ This is a private parameter to \ref:SM and \ref:RM
+ control sequences. The reset
+ state causes the origin (or home position) to be the upper left
+ character position of the screen. Line and column numbers are,
+ therefore, independent of current margin settings. The cursor may be
+ positioned outside the margins with a cursor position (\ref:CUP) or
+ horizontal and vertical position (\ref:HVP) control.
+ .
+ The set state causes the origin to be at the upper left character
+ position within the current margins. Line and column numbers are,
+ therefore, relative to the current margin settings. The cursor cannot
+ be positioned outside of the margins.
+ .
+ The cursor is moved to the new home position when this mode is set or
+ reset. Lines and columns are numbered consecutively, with the origin
+ being line 1, column 1.
+
+DECRC.head Restore Cursor
+DECRC.emus VT100
+DECRC.sect Command.CursMode
+DECRC.code ESC|8|
+DECRC.text
+ This sequence causes the previously saved cursor position, graphic
+ rendition, and character set to be restored.
+DECRC.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|restoreCursor||see above
+
+DECREPTPARM.head Report Terminal Parameters
+DECREPTPARM.emus ECMA VT100
+DECREPTPARM.sect Reply
+DECREPTPARM.code CSI|x|{sol;par;nbits;xspd;rspd;cmul;flags}
+DECREPTPARM.text
+ This sequence is generated by the VT100 to notify the host of the
+ status of selected terminal parameters. The status sequence may be
+ sent when requested by the host (via \ref:DECREQTPARM)
+ or at the terminal's
+ discretion. On power up or reset, the VT100 is inhibited from sending
+ unsolicited reports.
+ .
+ The meanings of the sequence parameters are:
+DECREPTPARM.table.sol
+ sol|Meaning:4
+ 1|This message is a report.
+ 2|This message is a report, and the terminal is only reporting on request.
+DECREPTPARM.table.par
+ par|Meaning:4
+ 1|No parity set
+ 4|Parity set and odd
+ 5|Parity set and even
+DECREPTPARM.table.nbits
+ nbits|Meaning:4
+ 1|8 bits per character
+ 2|7 bits per character
+DECREPTPARM.table.speed(xspd,rspd)
+ speed|Meaning (xspd,rspd):4
+ 0|Speed set to 50 bps
+ 8|Speed set to 75 bps
+ 16|Speed set to 110 bps
+ 24|Speed set to 134.5 bps
+ 32|Speed set to 150 bps
+ 40|Speed set to 200 bps
+ 48|Speed set to 300 bps
+ 56|Speed set to 600 bps
+ 64|Speed set to 1200 bps
+ 72|Speed set to 1800 bps
+ 80|Speed set to 2000 bps
+ 88|Speed set to 2400 bps
+ 96|Speed set to 3600 bps
+ 104|Speed set to 4800 bps
+ 112|Speed set to 9600 bps
+ 120|Speed set tp 19200 bps
+DECREPTPARM.table.cmul
+ cmul|Meaning:4
+ 1|The bit rate multiplier is 16
+DECREPTPARM.table.flags
+ flags|Meaning:4
+ 0-15|This value communicates the four switch values in block 5 of SET-UP B, which are only visible to the user when an STP option is installed.
+
+DECREQTPARM.head Request Terminal Parameters
+DECREQTPARM.emus ECMA VT100
+DECREQTPARM.sect Command.Request
+DECREQTPARM.code CSI|x|{Ps}
+DECREQTPARM.text
+ The host sends this sequence to request the VT100 to send a
+ \ref:DECREPTPARM
+ sequence back. {Ps} can be either 0 or 1. If 0, the terminal will be
+ allowed to send unsolicited \ref:DECREPTPARMs.
+ These reports will be generated each time the terminal exits the SET-UP mode.
+ If {Ps} is 1, then the terminal will only generate
+ \ref:DECREPTPARMs in response to a request.
+DECREQTPARM.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 0|VT100|emu|reportTerminalParms|2|Meaning
+ 1|VT100|emu|reportTerminalParms|3|Meaning
+
+DECSC.head Save Cursor
+DECSC.emus VT100
+DECSC.sect Command.CursMode
+DECSC.code ESC|7|
+DECSC.text
+ Causes the cursor position, graphic rendition, and character set to be
+ saved. (See \ref:DECRC)
+DECSC.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|saveCursor||see above
+
+DECSCLM.head Scrolling Mode
+DECSCLM.emus VT100
+DECSCLM.sect Mode
+DECSCLM.text
+ This is a private parameter to \ref:RM and \ref:SM
+ control sequences. The reset
+ state causes scrolls to "jump" instantaneuously one line at a time.
+ The set state causes the scrolls to be "smooth", and scrolls at a
+ maximum rate of siz lines/sec. See \ref:MODES,
+ \ref:RM, and \ref:SM.
+
+DECSCNM.head Screen Mode
+DECSCNM.emus VT100
+DECSCNM.sect Mode
+DECSCNM.text
+ This is a private parameter to \ref:RM and \ref:SM
+ control sequences. The reset
+ state causes the screen to be black with white characters; the set
+ state causes the screen to be white with black characters.
+ See \ref:MODES, \ref:RM, and \ref:SM.
+
+DECSTBM.head Set Top and Bottom Margins
+DECSTBM.emus VT100
+DECSTBM.sect Command.CursMode
+DECSTBM.code CSI|r|{Pn;Pn}
+DECSTBM.dflt 1 ScreenLines
+DECSTBM.text
+ This sequence sets the top and bottom margins to define the scrolling
+ region. The first parameter is the line number of the first line in
+ the scrolling region; the second parameter is the line number of the
+ bottom line of the scrolling region.
+ .
+ Default is the entire screen (no margins).
+ The minimum region allowed is two lines, i.e., the top line
+ must be less than the bottom. The cursor is placed in the home
+ position (See \ref:DECOM).
+DECSTBM.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|setMargins|p,q|see above
+
+DECSWL.head Single-width Line
+DECSWL.emus VT100
+DECSWL.sect Command.NoImp
+DECSWL.code HSH|5|
+DECSWL.text
+ This causes the line which contains the cursor to become single-width,
+ single-height. The cursor remains on the same character position.
+ This is the default condition for all new lines on the screen.
+DECSWL.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+DECTST.head Invoke Confidence Test
+DECTST.emus ECMA VT100
+DECTST.sect Command
+DECTST.code CSI|y|{2;Ps}
+DECTST.text
+ Ps is the parameter indicating the test to be done. It is computed by
+ taking the weight indicated for each desired test and adding them
+ together. If Ps is 0, no test is performed but the VT100 is reset.
+DECTST.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+DECTST.table.Weight
+ Weight|Meaning:4
+ 1|POST (ROM checksum, RAM NVR, keyboardm and AVO)
+ 2|Data Loop Back (Loopback connector required)
+ 3|EIA Modem Control Test (Loopback connector req.)
+ 4|Repeat Testing until failure
+
+DSRREQ.head Device Status Report
+DSRREQ.emus ECMA VT100
+DSRREQ.sect Command.Request
+DSRREQ.code CSI|n|{Ps}
+DSRREQ.text
+ Requests status of the VT100 according to the following parameters.
+DSRREQ.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 5|VT100|emu|reportStatus||Report Status (using a \ref:DSRREP control sequence)
+ 6|VT100|emu|reportCursorPosition||Report Active Position (using a \ref:CPR sequence)
+
+DSRREP.head Device Status Report Reply
+DSRREP.emus ECMA VT100
+DSRREP.sect Reply
+DSRREP.code CSI|n|{Status}
+DSRREP.text
+ Reports the general status of the VT100 according to the
+ following parameters.
+ .
+ DSRREP with a parameter of 0 or 3 is always sent as a response to a
+ requesting \ref:DSRREQ with a parameter of 5.
+DSRREP.table.Status
+ Status|Meaning:3
+ 0|Ready, no faults detected
+ 3|Malfunction detected
+
+ED.head Erase in Display
+ED.emus ECMA VT100
+ED.sect Command.Erase
+ED.code CSI|J|{Ps}
+ED.dflt 0
+ED.text
+ This sequence erases some or all of the characters in the display
+ according to the parameter. Any complete line erased by this sequence
+ will return that line to single width mode.
+ED.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 0|VT100|scr|clearToEndOfScreen||Erase from the cursor to the end of the screen.
+ 1|VT100|scr|clearToBeginOfScreen||Erase from the start of the screen to the cursor.
+ 2|VT100|scr|clearEntireScreen||Erase the entire screen.
+
+EL.head Erase in Line
+EL.emus ECMA VT100
+EL.sect Command.Erase
+EL.code CSI|K|{Ps}
+EL.dflt 0
+EL.text
+ Erases some or all characters in the active line, according to the
+ parameter.
+EL.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 0|VT100|scr|clearToEndOfLine||Erase from cursor to the end of the line.
+ 1|VT100|scr|clearToBeginOfLine||Erase from the start of the line to the cursor.
+ 2|VT100|scr|clearEntireLine||Erase the entire line.
+
+HTS.head Horizontal Tab Set
+HTS.emus ECMA VT100
+HTS.sect Command.CursMode
+HTS.code ESC|H|
+HTS.text
+ Set a tab stop at the current cursor position.
+HTS.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|changeTabStop|TRUE|see above
+
+HVP.head Horizontal and Vertical Position
+HVP.emus ECMA VT100
+HVP.sect Command.Cursor
+HVP.code CSI|f|{Pn;Pn}
+HVP.dflt 1 1
+HVP.text
+ Moves the cursor to the position specified by the parameters. The
+ first parameter specifies the line, and the second specifies the
+ column. A parameter of 0 or 1 causes the active position to move to
+ the first line or column in the display. In the VT100, this control
+ behaves identically with it's editor counterpart, \ref:CUP.
+ The numbering of hte lines depends upon the state of the Origin Mode
+ (\ref:DECOM).
+HVP.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|setCursorYX|p,q|see above
+
+IND.head Index
+IND.emus ECMA VT100
+IND.sect Command.Cursor
+IND.code ESC|D|
+IND.text
+ This sequence causes the cursor to move downward one line without
+ changing the column. If the cursor is at the bottom margin, a scroll
+ up is performed.
+IND.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|index||see above
+
+LNM.head Line Feed/New Line Mode
+LNM.emus ECMA VT100
+LNM.sect Mode
+LNM.text
+ This is a parameter to \ref:SM and \ref:RM control sequences.
+ The reset state
+ causes the interpretation of the \ref:LF character to imply only vertical
+ movement of the cursor and causes the RETURN key to send the single
+ code \ref:CR.
+ .
+ The set state causes the \ref:LF character to imply movement
+ to the first position of the following line, and causes the RETURN key
+ to send the code pair \ref:CR \ref:LF. This is the New Line option.
+ .
+ This mode does not affect the Index (\ref:IND) or the next line
+ (\ref:NEL) format effectors.
+
+NEL.head Next Line
+NEL.emus ECMA VT100
+NEL.sect Command.Cursor
+NEL.code ESC|E|
+NEL.text
+ This causes the cursor to move to the first position of the next line
+ down. If the cursor is on the bottom line, a scroll is performed.
+NEL.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|NextLine||see above
+
+PRINT.head Printable Characters
+PRINT.emus ECMA VT100
+PRINT.sect Command.Display
+PRINT.code PRN||{0x20..0x7e,0xa0..0xff}
+PRINT.text
+ Printable characters are basically displayed. They my cause a line
+ wrap when the cursor is already located at the end of the line.
+ .
+ The VT100 has a unique way to do this by producing a line wrap before
+ the character would be displayed on the next line. This feature allows
+ to print at the rightmost column without producing an implicit line feed.
+PRINT.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|ShowCharacter|p|see above
+
+RI.head Reverse Index
+RI.emus ECMA VT100
+RI.sect Command.Cursor
+RI.code ESC|M|
+RI.text
+ Move the cursor up one line without changing columns. If the cursor is
+ on the top line, a scroll down is performed.
+RI.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|reverseIndex||see above
+
+RIS.head Reset to Initial State
+RIS.emus ECMA VT100
+RIS.sect Command.Mode
+RIS.code ESC|c|
+RIS.text
+ Resets the VT100 to the state is has upon power up. This also causes
+ the execution of the POST and signal INT H to be asserted briefly.
+RIS.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|resetTerminal||see above
+
+RM.head Reset Mode
+RM.emus ECMA VT100
+RM.sect Command.SetMode
+RM.code CSI|l|{Ps;...}
+RM.text
+ Resets one or more VT100 modes as specified by each selective parameter
+ in the parameter string. Each mode to be reset is specified by a
+ separate parameter. See \ref:MODES and \ref:SM.
+RM.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 4|xterm|scr|resetMode|MODE_Insert|Meaning
+ 20|VT100|emu|resetMode|MODE_NewLine|\ref:LNM
+
+SCS.head Select Character Set
+SCS.emus ECMA VT100
+SCS.sect Command.RenderMode
+SCS.code SCS||{Pc;Cs}
+SCS.text
+ The appropriate D0 and G1 character sets are designated from one of the
+ five possible sets. The G0 and G1 sets are invoked by the characters
+ \ref:LS1 and \ref:LS0, respectively.
+ .
+ The United Kingdom and ASCII sets conform to the "ISO international
+ register of character sets to be used with escape sequences". The
+ other sets are private character sets. Special graphics means that the
+ graphic characters fpr the codes 0137 to 0176 are replaced with other
+ characters. The specified character set will be used until another SCS
+ is received.
+SCS.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|setCharset|p-'(',q|see above
+SCS.table.Pc
+ Pc|Character Selection:4
+ (|Select G0 Set
+ )|Select G1 Set
+SCS.table.Cs
+ Cs|Character Set:4
+ A|United Kingdom Set
+ B|ASCII Set
+ 0|Special Graphics
+ 1|Alternate Character ROM (Standard Character Set)
+ 2|Alternate Character ROM (Special Graphics)
+
+SGR.head Select Graphic Rendition
+SGR.emus ECMA VT100
+SGR.sect Command.RenderMode
+SGR.code CSI|m|{Ps;...}
+SGR.text
+ Invoke the graphic rendition specified by the parameter(s). All
+ following characters transmitted to the VT100 are rendered according
+ to the parameter(s) until the next occurrence of an SGR.
+ .
+ All other parameter values are ignored.
+ .
+ Without the Advanced Video Option, only one type of character attribute
+ is possible, as determined by the cursor selection; in that case
+ specifying either underscore or reverse will activate the currently
+ selected attribute.
+SGR.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 0|VT100|scr|setDefaultRendition||Attributes Off
+ 1|VT100|scr|setRendition|RE_BOLD|Bold or increased intensity
+ 4|VT100|scr|setRendition|RE_UNDERLINE|Underscore
+ 5|VT100|scr|setRendition|RE_BLINK|Blink
+ 7|VT100|scr|setRendition|RE_REVERSE|Negative (reverse) image
+ 10|konsole|emu|Ignored||Meaning
+ 11|konsole|emu|Ignored||Meaning
+ 12|konsole|emu|Ignored||Meaning
+ 22|VT100|scr|resetRendition|RE_BOLD|Meaning
+ 24|VT100|scr|resetRendition|RE_UNDERLINE|Meaning
+ 25|VT100|scr|resetRendition|RE_BLINK|Meaning
+ 27|VT100|scr|resetRendition|RE_REVERSE|Meaning
+ 30|xterm|scr|setForeColor|0|Meaning
+ 31|xterm|scr|setForeColor|1|Meaning
+ 32|xterm|scr|setForeColor|2|Meaning
+ 33|xterm|scr|setForeColor|3|Meaning
+ 34|xterm|scr|setForeColor|4|Meaning
+ 35|xterm|scr|setForeColor|5|Meaning
+ 36|xterm|scr|setForeColor|6|Meaning
+ 37|xterm|scr|setForeColor|7|Meaning
+ 39|xterm|scr|setForeColorToDefault||Meaning
+ 40|xterm|scr|setBackColor|0|Meaning
+ 41|xterm|scr|setBackColor|1|Meaning
+ 42|xterm|scr|setBackColor|2|Meaning
+ 43|xterm|scr|setBackColor|3|Meaning
+ 44|xterm|scr|setBackColor|4|Meaning
+ 45|xterm|scr|setBackColor|5|Meaning
+ 46|xterm|scr|setBackColor|6|Meaning
+ 47|xterm|scr|setBackColor|7|Meaning
+ 49|xterm|scr|setBackColorToDefault||Meaning
+ 90|xterm|scr|setForeColor|8|Meaning
+ 91|xterm|scr|setForeColor|9|Meaning
+ 92|xterm|scr|setForeColor|10|Meaning
+ 93|xterm|scr|setForeColor|11|Meaning
+ 94|xterm|scr|setForeColor|12|Meaning
+ 95|xterm|scr|setForeColor|13|Meaning
+ 96|xterm|scr|setForeColor|14|Meaning
+ 97|xterm|scr|setForeColor|15|Meaning
+ 100|xterm|scr|setBackColor|8|Meaning
+ 101|xterm|scr|setBackColor|9|Meaning
+ 102|xterm|scr|setBackColor|10|Meaning
+ 103|xterm|scr|setBackColor|11|Meaning
+ 104|xterm|scr|setBackColor|12|Meaning
+ 105|xterm|scr|setBackColor|13|Meaning
+ 106|xterm|scr|setBackColor|14|Meaning
+ 107|xterm|scr|setBackColor|15|Meaning
+
+SM.head Set Mode
+SM.emus ECMA VT100
+SM.sect Command.SetMode
+SM.code CSI|h|{Ps;...}
+SM.text
+ Causes one or more modes to be set within the VT100 as specified by
+ each selective parameter string. Each mode to be set is specified by a
+ seperate parameter. A mode is considered set until it is reset by a
+ Reset Mode (\ref:RM) control sequence.
+ See \ref:RM and \ref:MODES.
+SM.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 4|VT100|scr|setMode|MODE_Insert|Meaning
+ 20|VT100|emu|setMode|MODE_NewLine|\ref:LNM
+
+TBC.head Tabulation Clear
+TBC.emus ECMA VT100
+TBC.sect Command.CursMode
+TBC.code CSI|g|{Ps}
+TBC.text
+ If the parameter is missing or 0, this will clear the tab stop at the
+ cursor's position. If it is 3, this will clear all of the tab stops.
+ Any other parameter is ignored.
+TBC.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 0|VT100|scr|changeTabStop|FALSE|Meaning
+ 3|VT100|scr|clearTabStops||Meaning
+
+##############################################################################
+# #
+# VT52 #
+# #
+##############################################################################
+
+VT52ANSI.head VT52 ANSI Ansi Mode
+VT52ANSI.emus VT100 XTERM VT52 KONSOLE
+VT52ANSI.sect Command.Mode
+VT52ANSI.code ESC|<|
+VT52ANSI.text
+ This is an extension to the VT52 commands to embed the emulation into VT100.
+ It allows to return back to VT100 emulation (ANSI mode).
+ See also \ref:DECANM and \ref:SM.
+VT52ANSI.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|emu|setMode|MODE_Ansi|see above
+
+VT52CUB.head VT52 Cursor Back
+VT52CUB.emus KONSOLE
+VT52CUB.sect Command.VT52
+VT52CUB.code ESC|D|
+VT52CUB.text
+ See \ref:CUB.
+VT52CUB.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|scr|cursorLeft|1|see above
+
+VT52CUD.head VT52 Cursor Down
+VT52CUD.emus KONSOLE
+VT52CUD.sect Command.VT52
+VT52CUD.code ESC|B|
+VT52CUD.text
+ See \ref:CUD.
+VT52CUD.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|scr|cursorDown|1|see above
+
+VT52CUF.head VT52 Cursor Forward
+VT52CUF.emus KONSOLE
+VT52CUF.sect Command.VT52
+VT52CUF.code ESC|C|
+VT52CUF.text
+ See \ref:CUF.
+VT52CUF.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|scr|cursorRight|1|see above
+
+VT52CUP.head VT52 Cursor Position
+VT52CUP.emus KONSOLE
+VT52CUP.sect Command.VT52
+VT52CUP.code VT5||{X;Y}
+VT52CUP.text
+ Line and column numbers for direct cursor address are single
+ character codes whose values are the desired number plus
+ 37 (in Octal). Line and column numbers start at 1.
+VT52CUP.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|scr|setCursorYX|p-31,q-31|see above
+
+VT52CUU.head VT52 Cursor Up
+VT52CUU.emus KONSOLE
+VT52CUU.sect Command.VT52
+VT52CUU.code ESC|A|
+VT52CUU.text
+ See \ref:CUU.
+VT52CUU.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|scr|cursorUp|1|see above
+
+VT52EDL.head VT52 Clear To End Of Line
+VT52EDL.emus KONSOLE
+VT52EDL.sect Command.VT52
+VT52EDL.code ESC|K|
+VT52EDL.text
+ FIXME. explain
+VT52EDL.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|scr|clearToEndOfLine||see above
+
+VT52EDS.head VT52 Clear To End Of Screen
+VT52EDS.emus KONSOLE
+VT52EDS.sect Command.VT52
+VT52EDS.code ESC|J|
+VT52EDS.text
+ FIXME. explain
+VT52EDS.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|scr|clearToEndOfScreen||see above
+
+VT52CUH.head VT52 Cursor Home
+VT52CUH.emus KONSOLE
+VT52CUH.sect Command.VT52
+VT52CUH.code ESC|H|
+VT52CUH.text
+ FIXME. explain
+VT52CUH.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|scr|setCursorYX|1,1|see above
+
+VT52KPAM.head VT52 Enter alternate keypad mode
+VT52KPAM.emus KONSOLE
+VT52KPAM.sect Command.VT52
+VT52KPAM.code ESC|=|
+VT2KPAM.text
+ FIXME. explain
+VT52KPAM.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|emu|setMode|MODE_AppKeyPad|see above
+
+VT52KPNM.head VT52 Exit alternate keypad mode
+VT52KPNM.emus KONSOLE
+VT52KPNM.sect Command.VT52
+VT52KPNM.code ESC|>|
+VT52KPNM.text
+ FIXME. explain
+VT52KPNM.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|emu|resetMode|MODE_AppKeyPad|see above
+
+VT52REP.head VT52 Report Terminal Type
+VT52REP.emus KONSOLE
+VT52REP.sect Command.VT52
+VT52REP.code ESC|Z|
+VT52REP.text
+ Response to ESC Z is ESC / Z.
+VT52REP.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|emu|reportTerminalType||see above
+
+VT52RI.head VT52 Reverse Index
+VT52RI.emus KONSOLE
+VT52RI.sect Command.VT52
+VT52RI.code ESC|I|
+VT52RI.text
+ FIXME. explain
+VT52RI.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|scr|reverseIndex||see above
+
+VT52SCSF.head VT52 Select special graphics character set
+VT52SCSF.emus KONSOLE
+VT52SCSF.sect Command.VT52
+VT52SCSF.code ESC|F|
+VT52SCSF.text
+ FIXME. explain
+VT52SCSF.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|scr|setAndUseCharset|0,'0'|see above
+
+VT52SCSG.head VT52 Select ASCII character set
+VT52SCSG.emus KONSOLE
+VT52SCSG.sect Command.VT52
+VT52SCSG.code ESC|G|
+VT52SCSG.text
+ FIXME. explain
+VT52SCSG.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|scr|setAndUseCharset|0,'B'|see above