diff --git a/docs/Locator Input Model for ANSI Terminals (sixth revision).html b/docs/Locator Input Model for ANSI Terminals (sixth revision).html new file mode 100644 index 0000000..11e06ca --- /dev/null +++ b/docs/Locator Input Model for ANSI Terminals (sixth revision).html @@ -0,0 +1,463 @@ + + + +Locator Input Model for ANSI Terminals (sixth revision) + + + + + +

Locator Input Model for ANSI Terminals (sixth revision) +


File originally captured 3 Jan, 2011 +at http://web.eecs.utk.edu/~shuford/terminal/dec_vt_mouse.html +

Retrieved from archive and restored by Ondřej Hruška <ondra@ondrovo.com>, 2017 +


+

This information has been circulated to other terminal vendors +and people outside of Digital, but I'm not sure whether it has +been formally published (the DECterm manual includes some of it). +

I hope you find this helpful. +

- - Peter Sichel +

C&P VT Architecture +

Digital Equipment Corp +

_ _ _ _ _ _ _ + | | | | | | | | + |d|i|g|i|t|a|l| INTEROFFICE MEMORANDUM + |_|_|_|_|_|_|_| +

TO: Locator Support on DATE: 23 Jun 1989 +

Terminals Interest List FROM: Peter Sichel +

DEPT: Video Architecture +

DTN: 223-5162 +

LOC: PKO3-1/10C +

NET: VIDEO::SICHEL


+ +

Overview +

Locator Input Model +

Enabling Locator Reporting +

Locator Position Reporting +

Selecting Locator Events +

LOCATOR SUPPORT FOR GRAPHICS +

Locator Key Definition (DECLKD) +

DECLKD - DEC Locator Key Definition +

LOCATOR DEVICE SUPPORT +

Locator Device Status Report (DSR) +

Locator Controller Mode +

+


+ +

SUBJECT: Locator Input Model for ANSI Terminals (sixth revision) +

This memo defines support for locator input devices on ANSI text +and graphics terminals. The goal is to make terminals able to +support the same class of applications popular on PCs and Workstations. + This is not meant to imply terminals must be compatible with +workstations, some limitations are unavoidable. The intent is +to provide a minimal set of locator functions which make sense +for terminals. Comments are welcome. +

Overview +

The terminal is supplied with a locator port which can be used +to connect an optional mouse or tablet. When locator reporting +is enabled, a seperate input cursor appears, and the terminal +tracks the locator locally with no host intervention. Individual +locator events such as locator button transitions or movement +may be programmed to send locator reports to the host. +

Each locator report includes the specific event which initiated +the report, the current state of the locator keys, and the coordinates +of the input cursor at the time of the event. +

The locator is treated as a manual input device similar to a keyboard. + Locater events are queued in the keyboard input silo along with +keystrokes. +

LOCATOR INPUT MODEL +

Enabling Locator Reporting +

Locator reporting can be selectively enabled from the host using +a DEC private control sequence. When disabled (the power up default), +the locator cursor does not appear, and the locator buttons are +inactive. When enabled, the locator cursor is visible, and the +terminal tracks the locator locally with no host intervention. + Individual locator events such as locator button transitions +or movement may be programmed to send locator reports to the host. +

DECELR - DEC Enable Locator Reports +

CSI Ps ; Pu ' z +

2/7 7/10 +

Ps may assume the following values +

0 locator disabled (default) +

1 locator reports enabled +

2 one shot (allow one report, then disable) +

Pu specifies the coordinate units for locator reports +

0 (or omitted) default to character cells +

1 device physical pixels +

2 character cells +

One shot mode is provided for applications that desire simple +graphics input similar to Tektronix GIN mode (no unsolicited reports). + If parameter value 2 is selected, the next trigger event that +occurs will generate a single locator report. No further locator +reports will occur (the locator will be disabled), until another +DECELR sequence is received. +

The coordinate units for locator position reports may be selected +to either of two coordinate systems used by terminal software +at the lowest level. Physical pixels is the "least common +denominator", and is useful for computing sixel positions. +

Locator Position Reporting +

When a selected trigger event occurs such as a button press or +release, the terminal transmits a locator position report as follows. +

DECLRP - DEC Locator Report +

CSI Pe ; Pb ; Pr ; Pc ; Pp & w +

2/6 7/7 +

Pe is the event code +

Pb is the button code +

Pr is the row coordinate +

Pc is the column coordinate +

Pp is the third coordinate (page number) +

Pe, the event code indicates what event caused this +report to be generated. The following event codes are defined: +

0 - request, the terminal received an explicit request +

for a locator report, but the locator is unavailable +

1 - request, the terminal received an explicit +

request for a locator report +

2 - left button down +

3 - left button up +

4 - middle button down +

5 - middle button up +

6 - right button down +

7 - right button up +

8 - fourth button down +

9 - fourth button up +

10 - locator outside filter rectangle +

Pb is the button code, ASCII decimal 0-15 indicating which buttons +are down if any. The state of the four buttons on the locator +correspond to the low four bits of the decimal value, "1" +means button depressed +

0 - no buttons down +

1 - right +

2 - middle +

4 - left +

8 - fourth +

Pr is the row coordinate of the locator position in the page, +encoded as an ASCII decimal value. If Pr is omitted, the locator +position is undefined (outside the terminal window for example). +

Pc is the column coordinate of the locator position in the page, +encoded as an ASCII decimal value. If Pc is omitted, the locator +position is undefined (outside the terminal window for example). +

Pp is the page coordinate of the locator position encoded as an +ASCII decimal value. The page coordinate may be omitted if the +locator is on page one (the default). +

Each locator report includes both the specific transition which +caused this event, and the current button state. This allows +software to determine what event just occured and which buttons +are down without keeping track of previous events or button state. + In a multiprocess shared locator environment, an application +may not know the previous button state. This dual reporting also +allows applications to recover from lost locator reports. +

Each locator event generates a single report. In the rare situation +where two events occur simultaneously (within a single sampling +period), the terminal will report this as two separate events. +The order of reporting shall be by increasing event code number +(left button first). +

Locator events are queued in the keyboard input silo just like +keystrokes. Each locator event occupies one position in the silo +(the keyboard silo currently must have at least 9 positions). + If the input silo becomes full, the locator and keyboard are +locked until there is again room in the silo. The sequential +order of keystroke and locator events is strictly maintained. +

It is the responsibility of the host to accept data fast enough +to avoid locking the locator unintentionally. The limited buffering +inside the terminal gives the host a little more time to process +locator events smoothly. +

When the keyboard is locked, the "wait" indicator on +the keyboard turns on. The keyboard is automatically locked any +time the keyboard input silo is full. The keyboard can be locked +explicitly using the keyboard action mode (KAM) control function. +

When the locator is locked, the terminal continues to track the +locator, but the input cursor changes shape to appear as a wristwatch +(or other shape indicating to wait). The wristwatch cursor indicates +that locator button transitions will be ignored, but allows the +user to continue positioning in anticipation of the locator being +unlocked. The locator is automatically locked any time the input +silo is full. +

Locator-ahead, analogous to keyboard type-ahead is supported by +having each report include the locator position at the time of +the event, and maintaining the sequential order of keystroke and +locator events. +

A final implication of using the keyboard silo to buffer text +locator events is that locator and keyboard input should be associated +with the same session at all times. The session to receive these +events is sometimes called the "active session" or "input +focus". In a multi-session windowing environment, the input +cursor is allowed to roam freely over the entire screen in response +to locator movement. The input cursor is never occluded when +locator reporting is enabled in one or more sessions. Each session +enables locator reporting independently. The following cases +describe the locator interaction with session viewports and scroll +regions. +

1. The input cursor is within the active session's viewport. +Pressing a button on the locator sends a locator report when enabled. +

2. The input cursor is inside the active session's viewport, +but outside the range of defined coordinates for that session. +Pressing a button on the locator will generate a report with omitted +coordinates (position undefined). An example would be when the +input cursor is outside the active scrolling region, and the origin +mode has been set to relative. To use the locator to adjust scroll +margins, the origin mode must be absolute. +

3. The input cursor is not contained in any viewport. Pressing +a button on the locator will have no effect. To support "pop +up" menus anywhere on the screen, the entire screen must +be a viewport for at least one session. +

4. The input cursor is within a viewport of a session which is +not the active session. Pressing a button on the locator will +normally make the session containing the input cursor the active +session (possibly changing the occlusion order of viewports, and +the shape of the locator). This case is the responsibility of +the "window manager" which is free to define its own +user interface. Two recommendations are: (1) No locator report +should be sent to the previous active session, since the locator +is not in its viewport; and (2) If locator reporting is enabled +in the new session, a locator report should not be transmitted +to avoid application side affects when selecting another window. +

Requesting A Locator Position Report +

The host may explicitly request a locator position report any +time locator reporting is enabled (DECELR). Upon receiving such +a request, the terminal will immediately send a single locator +report (DECLRP) with event code 1 indicating the current locator +position. +

If the session receiving the request is the active session, but +the locator is not within the defined coordinate range for that +session, the terminal will respond with omitted coordinates (locator +position undefined). +

If the session receiving the request is not currently active (the +locator is being used in another session), the report will specify +event code 0 (locator unavailable). Locator state from the active +session should not be made available to inactive sessions. +

If the locator is disabled (DECELR), the terminal should still +respond with event code 0 (to avoid timing out the application). +

DECRQLP - DEC Request Locator Position +

CSI Ps ' | +

2/7 7/12 +

Ps: +

0 (or omitted) default to 1 +

1 transmit a single DECLRP locator report all +others ignored +

Filter Rectangles +

Filter Rectangles add filtered movement events to the list of +locator transitions that can generate reports. +

DECEFR - DEC Enable Filter Rectangle +

CSI Pt ; Pl ; Pb ; Pr ' w +

2/7 7/7 +

Pt - Top boundary of filter rectangle +

Pl - Left boundary of filter rectangle +

Pb - Bottom boundary of filter rectangle +

Pr - Right boundary of filter rectangle +

The DECEFR control sequence defines the coordinates of a filter +rectangle, and activates it. Anytime the locator is detected +to be outside a filter rectangle, an outside rectangle event is +generated and the rectangle is disabled. Filter rectangles are +always treated as "one-shot" events. Defining a new +rectangle re-activates it. +

Applications can re-define the rectangle at any time even if its +already active. If a rectangle which does not contain the locator +is specified, the terminal will generate an outside rectangle +report immediately and deactivate it. +

Pt, Pl, Pb, and Pr are in coordinates units specified by the last +DECELR sequence. The filter rectangle includes the boundaries +(similar to other rectangular area operations). The origin is +coordinate pair 1:1 in the upper left corner. If any parameters +are omitted, they are defaulted to the current locator position. +Sending DECEFR with no parameters will cause the application to +be notified for any locator movement ("unfiltered movement +event"). +

DECELR always cancels any previous filter rectangle definition. +This gaurantees that when an application enables locator reports, +there will never be an outstanding filter rectangle. +

If a filter rectangle lies on the edge of the defined coordinate +space for the active session, and the locator crosses that edge, +the rectangle may be triggered to send a report with omitted coordinates +(locator position undefined). +

If the active session receives a filter rectangle with explicit +coordinates while the locator is outside the defined coordinate +space, the rectangle will be triggered to send a report with omitted +coordinates. +

If the active session receives a filter rectangle with omitted +coordinates (that is, use the current position) while the locator +is outside the defined coordinate space (position undefined), +the rectangle will be triggered the next time the locator is within +the defined coordinate space. +

If a session which is not the active session receives a filter +rectangle with explicit coordinates, it should trigger immediately +with position undefined. If a session which is not the active +session receives a rectangle with omitted coordinates, it should +trigger the next time the locator is within the defined coordinate +space for that session, which cannot happen until the session +becomes active. +

Selecting Locator Events +

The locator events which are allowed to generate unsolicited reports +may be individually selected using the Select Locator Events control. + The locator is capable of reporting both up and down transitions +for those situations where the exact sequence of button activiations +is significant. This control allows application software to select +which events it wants reported. +

DECSLE - Select Locator Events +

CSI P...P ' { +

2/7 7/11 +

P...P is one or more selective parameters which may +assume the following values: +

0 respond only to explicit host requests +

(default, also cancels any pending filter rectangle) +

1 report button down transitions +

2 do not report button down transitions +

3 report button up transitions +

4 do not report button up transitions +

LOCATOR SUPPORT FOR +GRAPHICS +

The locator can be used in REGIS, and in Tektronix GIN mode during +Tektronix 401x emulation. +

REGIS One-shot Graphics Input Mode is provided for backward compatibility +with the VT240. When an application requests graphics input, +a cross hair cursor appears which may be positioned using either +the arrow keys (as on the VT240), or a locator device. Pressing +any non-arrow key on the keyboard which is not dead or a button +on the locator will cause the following actions: +

1. The ASCII code or codes for the non-arrow key that was pressed +is sent to the host. Each locator button can be programmed to +send a sequence of 0 to 6 characters. This allows the locator +to be programmed to work with existing applications (see DECLKD +below). +

2. The coordinates of the input cursor at the time that the non-arrow +key was depressed are sent to the host, expressed as an absolute +bracketed extent in user coordinates. +

3. The graphics input cursor disappears from the screen and the +terminal exits graphics input mode. +

While the terminal is in graphics input mode, no further data +from the application is processed until the locator input is complete +and a report is generated. +

The mouse and arrow keys may be intermixed freely in REGIS One-Shot +Graphics Input Mode. Since the tablet is an absolute positioning +device, use of the arrow keys in combination with the tablet would +cause inconsistent and confusing behavior. The arrow keys are +disabled for input cursor positioning when the tablet is in proximity +because the tablet establishes a unique screen position. +

Locator Key Definition +(DECLKD) +

The DECLKD device control string down line loads one or more definitions +for use by the Locator device during REGIS One-shot Graphics Input. + These definitions are called Locator Key Definitions (LKDs). +

DECLKD is intended for older applications that use ReGIS one-shot +input mode with keystroke commands like "A", "B", +"C", etc. These commands can be re-bound to buttons +on the mouse by sending DECLKD (possibly before running the application). +

There are six bytes available to each of the locator keys (upto +four). A power-up restart or RIS will cause the LKDs to be set +to their default value. LKDs are not affected by DECSTR. +

Default Locator Key Definitions +

No button transition ESC [ 240 ~ +

Ky1 down transition ESC [ 241 ~ +

Ky2 down transition ESC [ 243 ~ +

Ky3 down transition ESC [ 245 ~ +

Ky4 down transition ESC [ 247 ~ +

Where: +

Ky1 = B1 = Left = barrel button +

Ky2 = B2 = Middle = tip button +

Ky3 = B3 = Right +

Ky4 = B4 (tablet cursor only) +

Up Transitions are ignored by default. +

DECLKD - DEC Locator Key Definition +

DCS Pc $ w Ky1 / Std1 / Stu1 ; ... ; Kyn / Stnd +/ Stnu ST +

2/4 7/7 +

Where: +

Pc - Clear parameter +

0 (or omitted) Clear all LKDs before loading new values. All button +definition strings are empty (not the default). +

1 Clear old definition only for keys that are redefined. Kyn / +Stnd / Stnu - Key selection code n, slash delimeter, and string +parameter n for down and up key transitions. +

Kyn is a single ASCII digit, and Std/Stu is a series of ASCII +hex pairs. If Std or Stu is omitted, the corresponding button +string will be empty. Key definition strings are delimited with +a semicolon (";"). +

Graphics and ANSI Locator Input +

Support for graphics input in REGIS is extended by allowing ANSI +locator input to operate normally regardless of whether the host +output stream is being interpreted as ANSI or REGIS. If ANSI +locator reporting is enabled, keystrokes and locator position +reports may be generated without being solicited from the host. +Characters received from the host are executed instead of buffered, +so graphics output and graphics input may occur simultaneously. +

If one-shot graphics input mode is entered (REGIS report position +interactive) while ANSI locator reporting is enabled, the locator +cursor will change to a cross-hair. Pressing a non-arrow key +on the keyboard will send the character for that key followed +by the REGIS user coordinates as a bracketed extent. If a locator +button had been pressed instead, the characters for the locator +button (if any) would be sent followed by the REGIS position report, +and finally the ANSI locator report (DECLRP) if enabled. Upon +sending the REGIS position report, the terminal exits one-shot +input mode, and the input cursor returns to its previous state. +

The ANSI locator report should still be sent in the above situation +(if enabled) to keep the two modes independent. This allows filter +rectangles to continue operating, and also keeps the ANSI state +(last DECLRP seen) consistent with the last button transition. +

The order of reports is chosen to allow a subroutine to send +R(P(I)) and read the REGIS response that follows without regard +to whether ANSI locator reports are enabled. +

Since the ANSI locator report is in the form of a control sequence, +it should not inferfere with REGIS reports. No special procedure +is used to indicate REGIS data from the terminal. This is backward +compatible with the VT240 since ANSI locator reports can only +occur if ANSI locator reporting is enabled. +

The suspension of graphics output during REGIS one-shot graphics +input remains the same. This is necessary to support rubber-band +cursors. Rubber-band cursors use the REGIS output position as +one reference point, and the locator input position as the other. +Rubber-band cursors are specified as an option on the REGIS report +position interactive command. +

LOCATOR DEVICE SUPPORT +

Locator support is currently planned as an extension to the level +3 character cell architecture. The primary device attributes +response will report the locator extension as parameter value +15 (locator port), and 29 (text locator). +

Host software may request a Device Status Report (DSR) to determine +whether a locator is available. Upon receiving the appropriate +DSR request, the terminal will respond to indicate the locator +is ready if a locator device is plugged in, and has transmitted +a successful self test message. +

Locator Device +Status Report (DSR) +

Host request locator device status CSI ? 55 n +

No locator CSI ? 53 n +

Locator ready CSI ? 50 n +

Locator busy CSI ? 58 n +

The locator busy response can occur when an alternate session +has selected locator controller mode (see below). +

Locator Controller Mode +

Locator Controller Mode allows the host to communicate directly +with the locator device without terminal intervention (similar +to printer controller mode). When locator controller mode is +set, all data received at the host port is transferred directly +to the locator port without interpretation by the display terminal. +

The only exceptions are the communications control characters +XON/XOFF (if enabled), and the control sequence to disabled locator +controller mode. All characters received at locator port are +transferred to the host port without interpretation. The host +assumes full responsibility for the locator device. +

Locator controller mode is desirable for two reasons: +

1. It allows the host to explicitly initialize or configure locator +devices. A foriegn locator device might not wake up in DEC format +for example. +

2. It allows the locator port to be used for other auxilliary +input devices. A bar code reader could be interfaced to the locator +port for example, allowing the terminal to support a bar code +reader without pre-empting the printer port. +

Turn off locator controller mode (MC) CSI 6 i +

Turn on locator controller mode (MC) CSI 7 i +

[End of memo] + + + diff --git a/docs/VT100 escape codes.html b/docs/VT100 escape codes.html new file mode 100644 index 0000000..11407b1 --- /dev/null +++ b/docs/VT100 escape codes.html @@ -0,0 +1,238 @@ + + + + + VT100 escape codes +

VT100 escape codes

+ +

This document describes how to control a VT100 terminal. The + entries are of the form "name, description, escape code".

+ +

The name isn't important, and the description is just to + help you find what you're looking for. What you have to do is + send the "escape code" to the screen. These codes are often + several characters long, but they all begin with ^[. + This isn't the two characters ^ and [, but + rather a representation of the ASCII code ESC (which is why + these are called escape codes).

+ +

ESC has the decimal value 27 and should be sent before the rest of the code, which is simply an ASCII string.

+ +

As an example of how to use this information, here's how + to clear the screen in C, using the VT100 escape codes:

+ +
    #define ASCII_ESC 27
+    printf( "%c[2J", ASCII_ESC );
+
+   or
+
+    puts( "\033[2J" );
+
+
+
+
Name                  Description                            Esc Code
+
+
+
setnl LMN             Set new line mode                      ^[[20h
+setappl DECCKM        Set cursor key to application          ^[[?1h
+setansi DECANM        Set ANSI (versus VT52)                 none
+setcol DECCOLM        Set number of columns to 132           ^[[?3h
+setsmooth DECSCLM     Set smooth scrolling                   ^[[?4h
+setrevscrn DECSCNM    Set reverse video on screen            ^[[?5h
+setorgrel DECOM       Set origin to relative                 ^[[?6h
+setwrap DECAWM        Set auto-wrap mode                     ^[[?7h
+setrep DECARM         Set auto-repeat mode                   ^[[?8h
+setinter DECINLM      Set interlacing mode                   ^[[?9h
+
+setlf LMN             Set line feed mode                     ^[[20l
+setcursor DECCKM      Set cursor key to cursor               ^[[?1l
+setvt52 DECANM        Set VT52 (versus ANSI)                 ^[[?2l
+resetcol DECCOLM      Set number of columns to 80            ^[[?3l
+setjump DECSCLM       Set jump scrolling                     ^[[?4l
+setnormscrn DECSCNM   Set normal video on screen             ^[[?5l
+setorgabs DECOM       Set origin to absolute                 ^[[?6l
+resetwrap DECAWM      Reset auto-wrap mode                   ^[[?7l
+resetrep DECARM       Reset auto-repeat mode                 ^[[?8l
+resetinter DECINLM    Reset interlacing mode                 ^[[?9l
+
+altkeypad DECKPAM     Set alternate keypad mode              ^[=
+numkeypad DECKPNM     Set numeric keypad mode                ^[>
+
+setukg0               Set United Kingdom G0 character set    ^[(A
+setukg1               Set United Kingdom G1 character set    ^[)A
+setusg0               Set United States G0 character set     ^[(B
+setusg1               Set United States G1 character set     ^[)B
+setspecg0             Set G0 special chars. & line set       ^[(0
+setspecg1             Set G1 special chars. & line set       ^[)0
+setaltg0              Set G0 alternate character ROM         ^[(1
+setaltg1              Set G1 alternate character ROM         ^[)1
+setaltspecg0          Set G0 alt char ROM and spec. graphics ^[(2
+setaltspecg1          Set G1 alt char ROM and spec. graphics ^[)2
+
+setss2 SS2            Set single shift 2                     ^[N
+setss3 SS3            Set single shift 3                     ^[O
+
+modesoff SGR0         Turn off character attributes          ^[[m
+modesoff SGR0         Turn off character attributes          ^[[0m
+bold SGR1             Turn bold mode on                      ^[[1m
+lowint SGR2           Turn low intensity mode on             ^[[2m
+underline SGR4        Turn underline mode on                 ^[[4m
+blink SGR5            Turn blinking mode on                  ^[[5m
+reverse SGR7          Turn reverse video on                  ^[[7m
+invisible SGR8        Turn invisible text mode on            ^[[8m
+
+setwin DECSTBM        Set top and bottom line#s of a window  ^[[<v>;<v>r
+
+cursorup(n) CUU       Move cursor up n lines                 ^[[<n>A
+cursordn(n) CUD       Move cursor down n lines               ^[[<n>B
+cursorrt(n) CUF       Move cursor right n lines              ^[[<n>C
+cursorlf(n) CUB       Move cursor left n lines               ^[[<n>D
+cursorhome            Move cursor to upper left corner       ^[[H
+cursorhome            Move cursor to upper left corner       ^[[;H
+cursorpos(v,h) CUP    Move cursor to screen location v,h     ^[[<v>;<h>H
+hvhome                Move cursor to upper left corner       ^[[f
+hvhome                Move cursor to upper left corner       ^[[;f
+hvpos(v,h) CUP        Move cursor to screen location v,h     ^[[<v>;<h>f
+index IND             Move/scroll window up one line         ^[D
+revindex RI           Move/scroll window down one line       ^[M
+nextline NEL          Move to next line                      ^[E
+savecursor DECSC      Save cursor position and attributes    ^[7
+restorecursor DECSC   Restore cursor position and attributes ^[8
+
+tabset HTS            Set a tab at the current column        ^[H
+tabclr TBC            Clear a tab at the current column      ^[[g
+tabclr TBC            Clear a tab at the current column      ^[[0g
+tabclrall TBC         Clear all tabs                         ^[[3g
+
+dhtop DECDHL          Double-height letters, top half        ^[#3
+dhbot DECDHL          Double-height letters, bottom half     ^[#4
+swsh DECSWL           Single width, single height letters    ^[#5
+dwsh DECDWL           Double width, single height letters    ^[#6
+
+cleareol EL0          Clear line from cursor right           ^[[K
+cleareol EL0          Clear line from cursor right           ^[[0K
+clearbol EL1          Clear line from cursor left            ^[[1K
+clearline EL2         Clear entire line                      ^[[2K
+
+cleareos ED0          Clear screen from cursor down          ^[[J
+cleareos ED0          Clear screen from cursor down          ^[[0J
+clearbos ED1          Clear screen from cursor up            ^[[1J
+clearscreen ED2       Clear entire screen                    ^[[2J
+
+devstat DSR           Device status report                   ^[5n
+termok DSR               Response: terminal is OK            ^[0n
+termnok DSR              Response: terminal is not OK        ^[3n
+
+getcursor DSR         Get cursor position                    ^[6n
+cursorpos CPR            Response: cursor is at v,h          ^[<v>;<h>R
+
+ident DA              Identify what terminal type            ^[[c
+ident DA              Identify what terminal type (another)  ^[[0c
+gettype DA               Response: terminal type code n      ^[[?1;<n>0c
+
+reset RIS             Reset terminal to initial state        ^[c
+
+align DECALN          Screen alignment display               ^[#8
+testpu DECTST         Confidence power up test               ^[[2;1y
+testlb DECTST         Confidence loopback test               ^[[2;2y
+testpurep DECTST      Repeat power up test                   ^[[2;9y
+testlbrep DECTST      Repeat loopback test                   ^[[2;10y
+
+ledsoff DECLL0        Turn off all four leds                 ^[[0q
+led1 DECLL1           Turn on LED #1                         ^[[1q
+led2 DECLL2           Turn on LED #2                         ^[[2q
+led3 DECLL3           Turn on LED #3                         ^[[3q
+led4 DECLL4           Turn on LED #4                         ^[[4q
+
+#
+#  All codes below are for use in VT52 compatibility mode.
+#
+
+setansi               Enter/exit ANSI mode (VT52)            ^[<
+
+altkeypad             Enter alternate keypad mode            ^[=
+numkeypad             Exit alternate keypad mode             ^[>
+
+setgr                 Use special graphics character set     ^[F
+resetgr               Use normal US/UK character set         ^[G
+
+cursorup              Move cursor up one line                ^[A
+cursordn              Move cursor down one line              ^[B
+cursorrt              Move cursor right one char             ^[C
+cursorlf              Move cursor left one char              ^[D
+cursorhome            Move cursor to upper left corner       ^[H
+cursorpos(v,h)        Move cursor to v,h location            ^[<v><h>
+revindex              Generate a reverse line-feed           ^[I
+
+cleareol              Erase to end of current line           ^[K
+cleareos              Erase to end of screen                 ^[J
+
+ident                 Identify what the terminal is          ^[Z
+identresp             Correct response to ident              ^[/Z
+
+<hr>
+
+#
+# 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:
+
+PF1     ^[OP
+PF2     ^[OQ
+PF3     ^[OR
+PF4     ^[OS
+
+
+# Arrow Keys:
+        Reset    Set
+        -----    ---
+up      ^[A ^[OA
+down        ^[B ^[OB
+right       ^[C ^[OC
+left        ^[D ^[OD
+
+
+# Numeric Keypad Keys:
+
+        Keypad Mode
+        -----------------
+Keypad Key  Numeric Alternate
+----------  ------- ---------
+0       0   ^[Op
+1       1   ^[Oq
+2       2   ^[Or
+3       3   ^[Os
+4       4   ^[Ot
+5       5   ^[Ou
+6       6   ^[Ov
+7       7   ^[Ow
+8       8   ^[Ox
+9       9   ^[Oy
+- (minus)   -   ^[Om
+, (comma)   ,   ^[Ol
+. (period)  .   ^[On
+ENTER       ^M  ^[OM
+
+
+ + + + + + + + + + + + + +
C27, 033, 0x1b
English27 decimal, 33 octal, 1b hexadecimal
+ + \ No newline at end of file diff --git a/docs/bjh21_all-escapes.txt b/docs/bjh21_all-escapes.txt new file mode 100644 index 0000000..2d2b29e --- /dev/null +++ b/docs/bjh21_all-escapes.txt @@ -0,0 +1,9690 @@ +# $Id: all-escapes.txt,v 1.32 2005/09/14 12:00:06 ben Exp $ + +# This file is hoped to document all the escape sequences supported by +# terminals that are vaguely compliant with ECMA-48 and friends. + +# Changes should be submitted to + +# It includes everything from: +# 1999-05-16 +# +# 1993-02-01 +# 1998-09-18 +# +# 1999-05-16 +# 1999-10-12 +# +# 1999-11-13 +# ECMA-48 5th Ed. control functions (section 8.3, annex F) +# Linux console_codes(4) +# SunOS 5.7 wscons(7D) +# UnixWare 7 display(7) +# IRIX 6.5.5 xwsh(1G) +# VT220 Reference manual (, EK-VT220-RM) +# 1999-11-24 +# 1999-12-01 +# (wy75) +# 1999-07-19 +# +# 1999-09-13 +# 1999-04-19 +# 2004-09-27 +# 2004-09-27 +# 1999-04-19 +# 2001-05-10 +# iBCS2 description in ESR's termtypes.master version 10.2.7 +# Reflection Terminal Reference Manual for ADDS, ANSI, DG, VT, WYSE, and +# Unisys Hosts; Version 7.0; September 1998; published by WRQ Inc. +# DEC Terminals and Printers Handbook 1985 EB 26291-56 (Appendices C, E, and G) +# OpenServer 5.0.6 screen(HW) +# X Consortium Compound Text Encoding Version 1.1 + +------------------------------------------------------------------------------- +Section: *** C0 controls *** +------------------------------------------------------------------------------- +Sequence: NUL (^@) +Mnemonic: NUL +Description: Null + +NUL is used for media-fill or time-fill. NUL characters may be +inserted into, or removed from, a data stream without affecting the +information content of that stream, but such action may affect the +information layout and/or the control of equipment. + +Source: ECMA-48 5th Ed. 8.3.98 +Status: standard +------------------------------------------------------------------------------- +Sequence: SOH (^A) +Mnemonic: SOH +Description: Start of heading + +SOH is used to indicate the beginning of a heading. + +The use of SOH is defined in ISO 1745. + +Source: ECMA-48 5th Ed. 8.3.127 +Status: standard + +Also used as a prefix for "UnixWindows" commands. + +Source: +Status: ??? private +------------------------------------------------------------------------------- +Sequence: STX (^B) +Mnemonic: STX +Description: Start of text + +STX is used to indicate the beginning of a text and the end of a +heading. + +The use of STX is defined in ISO 1745. + +Source: ECMA-48 5th Ed. 8.3.146 +Status: standard +------------------------------------------------------------------------------- +Sequence: ETX (^C) +Mnemonic: ETX +Description: End of text + +ETX is used to indicate the end of a text. + +The use of ETX is defined in ISO 1745. + +Source: ECMA-48 5th Ed. 8.3.50 +Status: standard +------------------------------------------------------------------------------- +Sequence: EOT (^D) +Mnemonic: EOT +Description: End of transmission + +EOT is used to indicate the conclusion of the transmission of one or +more texts. + +The use of EOT is defined in ISO 1745. + +Source: ECMA-48 5th Ed. 8.3.45 +Status: standard +------------------------------------------------------------------------------- +Sequence: ENQ (^E) +Mnemonic: ENQ +Description: Enquiry + +ENQ is transmitted by a sender as a request for a response from a +receiver. + +The use of ENQ is defined in ISO 1745. + +Source: ECMA-48 5th Ed. 8.3.44 +Status: standard +------------------------------------------------------------------------------- +Sequence: ACK (^F) +Mnemonic: ACK +Description: Acknowledge + +ACK is transmitted by a receiver as an affirmative response to the sender. + +The use of ACK is defined in ISO 1745. + +Source: ECMA-48 5th Ed 8.3.1 +Status: standard +------------------------------------------------------------------------------- +Sequence: BEL (^G) +Mnemonic: BEL +Description: Bell + +BEL is used when there is a need to call for attention; it may control +alarm or attention devices. + +Source: ECMA-48 5th Ed 8.3.3 +Status: standard +------------------------------------------------------------------------------- +Sequence: BS (^H) +Mnemonic: BS +Description: Back space + +BS causes the active data position to be moved one character position +in the data component in the direction opposite to that of the +implicit movement. The direction of the implicit movement depends on +the parameter value of SELECT IMPLICIT MOVEMENT DIRECTION (SIMD). + +Source: ECMA-48 5th Ed 8.3.5 + + BS (0x08, ^H) backspaces one column (but not past the + beginning of the line); + +Source: Linux console_codes(4) +Status: standard +------------------------------------------------------------------------------- +Sequence: HT (^I) +Mnemonic: HT +Description: Character tabulation + +HT causes the active presentation position to be moved to the +following character tabulation stop in the presentation component. + +In addition, if that following character tabulation stop has been set +by TABULATION ALIGN CENTRE (TAC), TABULATION ALIGN LEADING EDGE +(TALE), TABULATION ALIGN TRAILING EDGE (TATE) or TABULATION CENTRED ON +CHARACTER (TCC), HT indicates the beginning of a string of text which +is to be positioned within a line according to the properties of that +tabulation stop. The end of the string is indicated by the next +occurrence of HT or CARRIAGE RETURN (CR) or NEXT LINE (NEL) in the +data stream. + +Source: ECMA-48 5th Ed. 8.3.60 + + HT (0x09, ^I) goes to the next tab stop or to the end of + the line if there is no earlier tab stop; +Source: Linux console_codes(4) +Status: standard +------------------------------------------------------------------------------- +Sequence: LF (^J) +Mnemonic: LF +Description: Line feed + +If the DEVICE COMPONENT SELECT MODE (DCSM) is set to PRESENTATION, LF +causes the active presentation position to be moved to the +corresponding character position of the following line in the +presentation component. + +If the DEVICE COMPONENT SELECT MODE (DCSM) is set to DATA, LF causes +the active data position to be moved to the corresponding character +position of the following line in the data component. + +Source: ECMA-48 5th Ed. 8.3.74 +Status: standard +------------------------------------------------------------------------------- +Sequence: VT (^K) +Mnemonic: VT +Description: Line tabulation + +VT causes the active presentation position to be moved in the +presentation component to the corresponding character position on the +line at which the following line tabulation stop is set. + +Source: ECMA-48 5th Ed. 8.3.161 +Status: standard +------------------------------------------------------------------------------- +Sequence: VT (^K) +Description: Reverse Line-feed + +The cursor moves up one line, remaining at the same character position +on the line. If the cursor is already at the top line, nothing +happens. + +Source: SunOS 5.7 wscons(7D) +Status: Sun private; clashes with ECMA-48 VT +------------------------------------------------------------------------------- +Sequence: FF (^L) +Mnemonic: FF +Description: Form feed + +FF causes the active presentation position to be moved to the +corresponding character position of the line at the page home position +of the next form or page in the presentation component. The page home +position is established by the parameter value of SET PAGE HOME (SPH). + +Source: ECMA-48 5th Ed. 8.3.51 +Status: standard +------------------------------------------------------------------------------- +Sequence: CR (^M) +Mnemonic: CR +Description: Carriage return + +The effect of CR depends on the setting of the DEVICE COMPONENT SELECT +MODE (DCSM) and on the parameter value of SELECT IMPLICIT MOVEMENT +DIRECTION (SIMD). + +If the DEVICE COMPONENT SELECT MODE (DCSM) is set to PRESENTATION and +with the parameter value of SIMD equal to 0, CR causes the active +presentation position to be moved to the line home position of the +same line in the presentation component. The line home position is +established by the parameter value of SET LINE HOME (SLH). + +With a parameter value of SIMD equal to 1, CR causes the active +presentation position to be moved to the line limit position of the +same line in the presentation component. The line limit position is +established by the parameter value of SET LINE LIMIT (SLL). + +If the DEVICE COMPONENT SELECT MODE (DCSM) is set to DATA and with a +parameter value of SIMD equal to 0, CR causes the active data position +to be moved to the line home position of the same line in the data +component. The line home position is established by the parameter +value of SET LINE HOME (SLH). + +With a parameter value of SIMD equal to 1, CR causes the active data +position to be moved to the line limit position of the same line in +the data component. The line limit position is established by the +parameter value of SET LINE LIMIT (SLL). + +Source: ECMA-48 5th Ed 8.3.15 +Status: standard +------------------------------------------------------------------------------- +Sequence: LS1 (^N) +Mnemonic: LS1 +Description: Locking-shift one + +LS1 is used for code extension purposes. It causes the meanings of the +bit combinations following it in the data stream to be changed. + +The use of LS1 is defined in Standard ECMA-35. + +NOTE +LS1 is used in 8-bit environments only; in 7-bit environments +SHIFT-OUT (SO) is used instead. + +Source: ECMA-48 8.3.76 +Status: standard +------------------------------------------------------------------------------- +Sequence: SO (^N) +Mnemonic: SO +Description: Shift-out + +SO is used for code extension purposes. It causes the meanings of the +bit combinations following it in the data stream to be changed. + +The use of SO is defined in Standard ECMA-35. + +NOTE +SO is used in 7-bit environments only; in 8-bit environments +LOCKING-SHIFT ONE (LS1) is used instead. + +Source: ECMA-48 5th Ed. 8.3.126 +Status: standard +------------------------------------------------------------------------------- +Sequence: LS0 (^O) +Mnemonic: LS0 +Description: Locking-shift zero + +LS0 is used for code extension purposes. It causes the meanings of the +bit combinations following it in the data stream to be changed. + +The use of LS0 is defined in Standard ECMA-35. + +NOTE +LS0 is used in 8-bit environments only; in 7-bit environments SHIFT-IN +(SI) is used instead. + +Source: ECMA-48 5th Ed. 8.3.75 +Status: standard +------------------------------------------------------------------------------- +Sequence: SI (^O) +Mnmonic: SI +Description: Shift-in + +SI is used for code extension purposes. It causes the meanings of the +bit combinations following it in the data stream to be changed. + +The use of SI is defined in Standard ECMA-35. + +NOTE +SI is used in 7-bit environments only; in 8-bit environments +LOCKING-SHIFT ZERO (LS0) is used instead. + +Source: ECMA-35 5th Ed. 8.3.119 +Status: standard +------------------------------------------------------------------------------- +Sequence: DLE (^P) +Mnemonic: DLE +Description: Data link escape + +DLE is used exclusively to provide supplementary transmission control +functions. + +The use of DLE is defined in ISO 1745. + +Source: ECMA-48 8.3.33 +Status: standard +------------------------------------------------------------------------------- +Sequence: DC1 (^Q) +Mnemonic: DC1 +Description: Device control one + +DC1 is primarily intended for turning on or starting an ancillary +device. If it is not required for this purpose, it may be used to +restore a device to the basic mode of operation (see also DC2 and +DC3), or any other device control function not provided by other DCs. + +NOTE +When used for data flow control, DC1 is sometimes called "X-ON". + +Source: ECMA-48 5th Ed 8.3.28 +Status: standard +------------------------------------------------------------------------------- +Sequence: DC2 (^R) +Mnemonic: DC2 +Description: Device control two + +DC2 is primarily intended for turning on or starting an ancillary +device. If it is not required for this purpose, it may be used to set +a device to a special mode of operation (in which case DC1 is used to +restore the device to the basic mode), or for any other device control +function not provided by other DCs. + +Source: ECMA-48 5th Ed 8.3.29 +Status: standard +------------------------------------------------------------------------------- +Sequence: DC3 (^S) +Mnemonic: DC3 +Description: Device control three + +DC3 is primarily intended for turning off or stopping an ancillary +device. This function may be a secondary level stop, for example wait, +pause, stand-by or halt (in which case DC1 is used to restore normal +operation). If it is not required for this purpose, it may be used for +any other device control function not provided by other DCs. + +NOTE +When used for data flow control, DC3 is sometimes called "X-OFF". + +Source: ECMA-48 8.3.30 +Status: standard +------------------------------------------------------------------------------- +Sequence: DC4 (^T) +Mnemonic: DC4 +Description: Device control four + +DC4 is primarily intended for turning off, stopping or interrupting an +ancillary device. If it is not required for this purpose, it may be +used for any other device control function not provided by other DCs. + +Source: ECMA-48 8.3.31 +Status: standard +------------------------------------------------------------------------------- +Sequence: DC4 (^T) + +Used by the TDSMP (Terminal Device Session Management Protocol) on DEC +VT4xx terminals. The protocol is patented (US 4791566 & 5165020). +Commands seems to end with ST. + +Source: + [paraphrased] +Status: DEC private +------------------------------------------------------------------------------- +Sequence: NAK (^U) +Mnemonic: NAK +Description: Negative acknowledge + +NAK is transmitted by a receiver as a negative response to the sender. + +The use of NAK is defined in ISO 1745. + +Source: ECMA-48 5th Ed. 8.3.84 +------------------------------------------------------------------------------- +Sequence: SYN (^V) +Mnemonic: SYN +Description: Synchronous idle + +SYN is used by a synchronous transmission system in the absence of any +other character (idle condition) to provide a signal from which +synchronism may be achieved or retained between data terminal +equipment. + +The use of SYN is defined in ISO 1745. + +Source: ECMA-48 5th Ed. 8.3.150 +Status: standard + +Also used as an introducer for AVATAR commands + +Source: +Status: ??? private +------------------------------------------------------------------------------- +Sequence: ETB (^W) +Mnemonic: ETB +Description: End of transmission block + +ETB is used to indicate the end of a block of data where the data are +divided into such blocks for transmission purposes. + +The use of ETB is defined in ISO 1745. + +Source: ECMA-48 5th Ed. 8.3.49 +Status: standard +------------------------------------------------------------------------------- +Sequence: CAN (^X) +Mnemonic: CAN +Description: Cancel + +CAN is used to indicate that the data preceding it in the data stream +is in error. As a result, this data shall be ignored. The specific +meaning of this control function shall be defined for each application +and/or between sender and recipient. + +Source: ECMA-48 5th Ed 8.3.6 +Status: standard +------------------------------------------------------------------------------- +Sequence: EM (^Y) +Mnemonic: EM +Description: End of medium + +EM is used to identify the physical end of a medium, or the end of the +used portion of a medium, or the end of the wanted portion of data +recorded on a medium. + +Source: ECMA-48 5th Ed. 8.3.42 +Status: standard +------------------------------------------------------------------------------- +Sequence: SUB (^Z) +Mnemonic: SUB +Description: Substitute + +SUB is used in the place of a character that has been found to be +invalid or in error. SUB is intended to be introduced by automatic +means. + +Source: ECMA-48 5th Ed. 8.3.148 +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC (^[) +Mnemonic: ESC +Description: Escape + +ESCAPE is a control character used for code extension purposes. It +causes the meaning of a limited number of the bit combinations +following it in a CC-data-element to be changed. These bit +combinations, together with the preceding bit combination that +represents the ESC character, constitute an escape sequence. + +Escape sequences provide the coded representations of +code-identification functions and of some types of control +functions. The various uses of escape sequences are specified in +clause 13. Code identification functions are specified in clauses 14 +and 15. + +Source: ECMA-35 6th Ed. 6.2.2 + +An escape sequence shall consist of two or more bytes. In an 8-bit +code a byte shall be an 8-bit combination. In a 7-bit code a byte +shall be a 7-bit combination. + +The first byte of an escape sequence shall be the bit combination +representing the ESCAPE character and the last shall be known as the +Final Byte. An escape sequence may also contain one or more bytes +known as Intermediate bytes. + +The function represented by an escape sequence shall be determined by +its Intermediate byte(s), if any, and by its Final Byte. + +Intermediate bytes shall be any of the 16 positions of column 02 of +the code table; they are denoted by the symbol I. + +Final bytes shall be any of the 79 positions of columns 03 to 07 of +the code table excluding position 07/15; they are denoted by the +symbol F. + +NOTE 40 +Although, in this Standard, escape sequences are specified in terms of +bytes or positions in the code table, the meaning of an escape +sequence is determined only by its bit combinations and it is +unaffected by any meaning assigned to those bit combinations taken +individually. + +Bit combinations in columns 00 and 01 and the bit combination 07/15 +shall not be used as either Intermediate or Final bytes to construct +an escape sequence. In an 8-bit code bit combinations in columns 08 to +15 also shall not be so used. + +NOTE 41 +As these prohibited bytes may appear in an escape sequence in error, +it may be necessary within an application to provide methods of +identifying such a situation and of recovering from it, but this is +not covered by this Standard. + +Source: ECMA-35 6th Ed. 13.1 + +[ So, in summary, that's ESC {SP-/}* {0-~} ] + +Status: standard +------------------------------------------------------------------------------- +Section: *** nF *** +Sequences: ESC {SP-/} {SP-/}* {0-~} +------------------------------------------------------------------------------- +Sequence: ESC SP {0-~} +Mnemonic: ACS +Description: Announce code structure +------------------------------------------------------------------------------- +Sequence: ESC SP 6 +Mnemonic: S8C1R (also DECAC1) +Description: C1 receive disabled + +The printer receives 7-bit data and C1 control characters (as 7-bit ESC +Fe sequences). + +This description doesn't say what the printer does when it receives an +8-bit C1 control character in DECTC1 (S7C1R) mode. The LA100 reference +says that it just truncates the 8th bit of all C1 control characters +received. Ouch! + +Source: Paul Williams in mail + <384A6F50.3349DE09@rdel.co.uk> +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC SP 7 +Mnemonic: S7C1R (also DECTC1) +Description: C1 receive enabled + +The printer receives 8-bit data and C1 control characters (as 7-bit ESC +Fe sequences or single 8-bit bytes). + +Source: Paul Williams in mail + <384A6F50.3349DE09@rdel.co.uk> +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC SP F +Mnemonic: S7C1T +Description: 7-bit C1 controls + +The VT220 command ESC SP F (called S7C1T in the DEC documentation) tells +the terminal to transmit the 7 bit equivalents for the 8 bit C1 codes to +the host, both for command responses (like the response to CSI c), and +for function keys which return C1 codes. + +Source: +Status: Standard +------------------------------------------------------------------------------- +Sequence: ESC SP G +Mnemonic: S8C1T +Description: 8-bit C1 controls + +Likewise, ESC SP G (S8C1T) tells the terminal to transmit 8 bit C1 codes +if the terminal has an 8 bit data path to the host. (The command has no +effect if the host port is set to 7 bit mode.) + +Source: +Status: Standard +------------------------------------------------------------------------------- +Sequence: ESC ! {SP-/}* {0-~} +Mnemonic: CZD +Description: C0-designate +------------------------------------------------------------------------------- +Sequence: ESC ! @ +Description: C0-designate ECMA-6 IRV C0 set + +Source: ECMA-6 6th Ed. 9.2 +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC " {SP-/}* {0-~} +Mnemonic: C1D +Description: C1-designate +------------------------------------------------------------------------------- +Section: *** 3F: Single control functions *** +Sequences: ESC # {SP-/}* {0-~} +------------------------------------------------------------------------------- +Sequence: ESC # {SP-/} 0 +Description: ignoring extensions is OK + +Part of the X11 COMPOUND_TEXT encoding, this sequence indicates +that the string that follows contains extensions beyond version 1, +but that ignoring those extensions is acceptable. The intermediate +character is in the range 02/00 to 02/15 and indicates the version +number minus one of the specification being used. + +Source: Compound Text Encoding Version 1.1 +Status: X11 private +------------------------------------------------------------------------------- +Sequence: ESC # {SP-/} 1 +Description: ignoring extensions is not OK + +Part of the X11 COMPOUND_TEXT encoding, this sequence indicates +that the string that follows contains extensions beyond version 1, +and that ignoring those extensions is unacceptable and would lose +mandatory information. The intermediate character is in the range +02/00 to 02/15 and indicates the version number minus one of the +specification being used. + +Source: Compound Text Encoding Version 1.1 +Status: X11 private +------------------------------------------------------------------------------- +Sequence: ESC # 3 +Mnemonic: DECDHL +Description: Double-width, double-height line (top half) + + These sequences cause the line containing the cursor to become the top + or bottom half of a double-height, double width line. The sequences + should be used in pairs on adjacent lines with each line containing the + same character string. 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. + +Source: +Status: DEC private; VT100 +------------------------------------------------------------------------------- +Sequence: ESC # 4 +Mnemonic: DECDHL +Description: Double-width, double-height line (bottom half) + + These sequences cause the line containing the cursor to become the top + or bottom half of a double-height, double width line. The sequences + should be used in pairs on adjacent lines with each line containing the + same character string. 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. + +Source: +Status: DEC private; VT100 +------------------------------------------------------------------------------- +Sequence: ESC # 5 +Mnemonic: DECSWL +Description: Single-width, single-height line + + 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. + +Source: +Status: DEC private; VT100 +------------------------------------------------------------------------------- +Sequence: ESC # 6 +Mnemonic: DECDWL +Description: Double-width, single-height line + + 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. + +Source: +Status: DEC private; VT100 +------------------------------------------------------------------------------- +Sequence: ESC # 7 +Mnemonic: DECHCP +Description: Hardcopy + +Source: +Source: +Status: DEC private; VT100 +------------------------------------------------------------------------------- +Sequence: ESC # 8 +Mnemonic: DECALN +Description: Screen alignment display + + This command causes the VT100 to fill its screen with uppercase Es for + screen focus and alignment. + +Source: +Status: DEC private; VT100 +------------------------------------------------------------------------------- +Sequence: ESC # 9 +Mnemonic: DECFPP +Description: Perform pending motion + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 pE90 +Status: DEC private; LQP02 +------------------------------------------------------------------------------- +Section: *** 4F: Designation of multibyte graphic character sets *** +Sequences: ESC $ {SP-/} {SP-/}* {0-~} +------------------------------------------------------------------------------- +Sequence: ESC $ ( {SP-/}* {0-~} +Description: G0-designate multibyte 94-set +------------------------------------------------------------------------------- +Sequence: ESC $ ) {SP-/}* {0-~} +Description: G1-designate multibyte 94-set +------------------------------------------------------------------------------- +Sequence: ESC $ * {SP-/}* {0-~} +Description: G2-designate multibyte 94-set +------------------------------------------------------------------------------- +Sequence: ESC $ + {SP-/}* {0-~} +Description: G3-designate multibyte 94-set +------------------------------------------------------------------------------- +Sequence: ESC $ - {SP-/}* {0-~} +Description: G1-designate multibyte 96-set +------------------------------------------------------------------------------- +Sequence: ESC $ . {SP-/}* {0-~} +Description: G2-designate multibyte 96-set +------------------------------------------------------------------------------- +Sequence: ESC $ / {SP-/}* {0-~} +Description: G3-designate multibyte 96-set +------------------------------------------------------------------------------- +Sequence: ESC % {SP-/}* {0-~} +Mnemonic: DOCS +Description: Designate other coding system + +15.4.1 Purpose + +A code-identification function is provided to designate and invoke an +identified coding system different from that of this Standard, not +necessarily a character code. It provides a means for switching +between coding systems according to this Standard and other coding +systems when it is not performed at an outer level (e.g. 15.3). + +Each such other coding system is registered in the ISO International +Register of Coded Character Sets (see annex B), together with a Final +Byte (and where necessary one or more associated Intermediate bytes) +to identify it. + +This function is also recommended for use by such other coding systems +for returning to the coding system of this Standard, by the use of a +reserved Final Byte which identifies it. + +NOTE 56 +Other standards specify alternative methods for achieving an effect +similar to that of DOCS, e.g. those based on the upper layers defined +in ISO 7498 - Open Systems Interconnection, Basic Reference Model. + +15.4.2 Specification + +Name: DESIGNATE OTHER CODING SYSTEM Acronym: DOCS +Coded representation: ESC 02/05 F or ESC 02/05 I F + +DOCS shall designate and invoke an identified coding system. In the +coded representation of DOCS the F byte (and any associated I bytes) +shall identify the coding system. + +DOCS with Final Byte 04/00, without I byte, shall designate the coding +system of this Standard. It is intended for use by other coding +systems for returning to this coding system. It shall restore the +state of the coding system to that at the time of invocation of the +other coding system, that is the state established by announcer +functions, and the designation and invocation state of graphic +character and control character sets. Whether or not other states, +e.g. the active position, are restored is outside the scope of this +Standard. + +DOCS with I byte 02/15 shall mean that the other coding system does +not use DOCS (F = 04/00), coded as specified here, to return (it may +have an alternate means to return or none at all). It shall also mean +that after such a return (if any) the previous state of this coding +system (i.e. announcements, designations, and invocations) is +undefined. + +DOCS with any other I byte, or with no I byte, shall mean that the +other coding system uses DOCS (F = 04/00) to return. + +Source: ECMA-35 6th Ed. 15.4 +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC % / {SP-/}* {0-~} +Description: switch to a coding system which doesn't support DOCS + +Source: ECMA-35 6th Ed. 15.4.2 +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC % / 0 length charset STX +Description: switch to named variable-length encoding + +This is part of the X11 COMPOUND_TEXT format, and is used to escape +to a character encoding not directly supported by that standard. +This version is for encodings with a variable number of octets per +character. + +"length" consists of two octets, M and L, that between them define +the number of octets of data that follow to be ((M-128)*128) + (L-128). +The top bits of M and L are always set. "charset" is a +character set name from the X Consortium CharSet registry. STX is +followed by octets encoded in that character set. "length" includes +the length of the charset name and the STX. + +Source: Compound Text Encoding Version 1.1 +Status: X11 private +------------------------------------------------------------------------------- +Sequence: ESC % / 1 length charset STX +Description: switch to named single-byte encoding + +The same as ESC % / 0, but with one octet per character. + +Source: Compound Text Encoding Version 1.1 +Status: X11 private +------------------------------------------------------------------------------- +Sequence: ESC % / 2 length charset STX +Description: switch to named double-byte encoding + +The same as ESC % / 0, but with two octets per character. + +Source: Compound Text Encoding Version 1.1 +Status: X11 private +------------------------------------------------------------------------------- +Sequence: ESC % / 3 length charset STX +Description: switch to named triple-byte encoding + +The same as ESC % / 0, but with three octets per character. + +Source: Compound Text Encoding Version 1.1 +Status: X11 private +------------------------------------------------------------------------------- +Sequence: ESC % / 4 length charset STX +Description: switch to named quadruple-byte encoding + +The same as ESC % / 0, but with four octets per character. + +Source: Compound Text Encoding Version 1.1 +Status: X11 private +------------------------------------------------------------------------------- +Sequence: ESC % / {5-?} length +Description: begin extended segment + +These sequences begin an as-yet undefined kind of extended segment +in the X11 COMPOUND_TEXT encoding. The "length" is encoded as +described for ESC % / 0; the rest is undefined. + +Source: Compound Text Encoding Version 1.1 +Status: X11 private +------------------------------------------------------------------------------- +Sequence: ESC % / @ +Description: switch to ISO/IEC 10646:1993, UCS-2, Level 1 + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC % / A +Description: switch to ISO/IEC 10646:1993, UCS-4, Level 1 + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC % / B +Description: Switch to Virtual Terminal service Transparent Set + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC % / C +Description: switch to ISO/IEC 10646:1993, UCS-2, Level 2 + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC % / D +Description: switch to ISO/IEC 10646:1993, UCS-4, Level 2 + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC % / E +Description: switch to ISO/IEC 10646:1993, UCS-2, Level 3 + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC % / F +Description: switch to ISO/IEC 10646:1993, UCS-4, Level 3 + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC % / G +Description: switch to UTF-8 Level 1 + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC % / H +Description: switch to UTF-8 Level 2 + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC % / I +Description: switch to UTF-8 Level 3 + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC % / J +Description: switch to UTF-16 Level 1 + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC % / K +Description: switch to UTF-16 Level 2 + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC % / L +Description: switch to UTF-16 Level 3 + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC % 8 +Description: switch to UTF-8 + +Source: Linux console_codes(4) +Status: Linux private; obsolete +------------------------------------------------------------------------------- +Sequence: ESC % @ +Description: return to ECMA-35 coding system + +Source: ECMA-35 6th Ed. 15.4.2 +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC % A +Description: switch to CSA T 500-1983 + +Syntax of the North American Videotex/Teletex Presentation Level +Protocol (NAPLPS), CSA T 500-1983 + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC % B +Description: switch to UCS Transformation Format One (UTF-1) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC % C +Description: switch to Data Syntax I of CCITT Rec.T.101 + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC % D +Description: switch to Data Syntax II of CCITT Rec.T.101 + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC % E +Description: switch to Photo-Videotex Data Syntax of CCITT Rec. T.101 + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC % F +Description: switch to Audio Data Syntax of CCITT Rec. T.101 + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC % G +Description: switch to UTF-8 + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC % H +Description: switch to VEMMI Data Syntax of ITU-T Rec. T.107 + +Videotex Enhanced Man Machine Interface (VEMMI) Data Syntax of ITU-T +Rec. T.107 + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC & {0-~} +Mnemonic: IRR +Description: Identify revised registration +------------------------------------------------------------------------------- +Sequence: ESC ' {0-~} +Description: Reserved for future standardisation +------------------------------------------------------------------------------- +Sequence: ESC ( {SP-/}* {0-~} +Mnemonic: GZD4 +Description: G0-designate 94-set + +[ NB: All character sets listed here are valid for other G?D4 sequnces too. ] +------------------------------------------------------------------------------- +Sequence: ESC ( ! @ +Description: G0-designate CCITT Greek Primary character set + +(IANA name greek-ccitt) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( ! A +Description: G0-designate Cuban character set (NC 99-10:81) + +(IANA name NC_NC00-10:81) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( ! B +Description: G0-designate ISO 646 invariant character set + +(no IANA name) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( ! C +Description: G0-designate Irish Gaelic character set (I.S. 433:1996) + +(no IANA name) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( ! D +Description: G0-designate Turkmen character set (Turkmen Standard TDS 565) + +(no IANA name) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( ! E +Description: G0-designate ANSEL character set (ANSI/NISO Z39.47) + +The ANSEL standard is used in bibliographic work. It addresses special +characters in languages using the Latin alphabet as well as combining +marks (diacritics) required for romanization and transliteration. In +ANSEL, non-spacing characters precede the character that they modify. + +The MARC 21 Extended Latin character set (published by the Library of +Congress) is synchronized with ANSEL. + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( ! F +Description: G0-designate Turkmen 8-bit character set (TDS 616-2003) + +(no IANA name) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( " 1 +Description: G0-designate Digital Symbol character set + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 pE47 +Status: DEC private; LA210 +------------------------------------------------------------------------------- +Sequence: ESC ( 0 +Description: G0-designate VT100 line-drawing set + +Source: ??? +Status: DEC private; VT100 +------------------------------------------------------------------------------- +Sequence: ESC ( 1 +Description: G0-designate alternate character ROM (standard) + +Source: ??? +Status: DEC private; VT100 +------------------------------------------------------------------------------- +Sequence: ESC ( 2 +Description: G0-designate alternate character ROM (graphics) + +Source: ??? +Status: DEC private; VT100 +------------------------------------------------------------------------------- +Sequence: ESC ( 3 +Description: G0-designate HP Roman 8, upper 128 chars + +Source: pcvt EscapeSequences +Status: HP private? +------------------------------------------------------------------------------- +Sequence: ESC ( 4 +Description: G0-designate Dutch character set + +Source: vttest-990212 vt420.c +Status: DEC private +------------------------------------------------------------------------------- +Sequence: ESC ( 5 +Description: G0-designate Finnish character set + +Source: vttest-990212 vt420.c +Status: DEC private +------------------------------------------------------------------------------- +Sequence: ESC ( 6 +Description: G0-designate Norwegian/Danish character set + +Source: vttest-990212 vt420.c +Status: DEC private +------------------------------------------------------------------------------- +Sequence: ESC ( 7 +Description: G0-designate Swedish character set + +Source: pcvt EscapeSequences +Status: DEC private +------------------------------------------------------------------------------- +Sequence: ESC ( 8 +Description: G0-designate APL character set + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 +Status: DEC private +------------------------------------------------------------------------------- +Sequence: ESC ( 9 +Description: G0-designate French Canadian character set + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 +Status: DEC private +------------------------------------------------------------------------------- +Sequence: ESC ( < +Description: G0-designate DEC supplemental character set + +Source: http://vt100.net/docs/vt220-rm/chapter4.html +Status: DEC private; VT200 +------------------------------------------------------------------------------- +Sequence: ESC ( = +Description: G0-designate Swiss character set + +Source: vttest-990212 vt420.c +Status: DEC private +------------------------------------------------------------------------------- +Sequence: ESC ( > +Description: G0-designate DEC Technical character set + +Source: pcvt EscpaeSequences +Status: DEC private +------------------------------------------------------------------------------- +Sequence: ESC ( @ +Description: G0-designate ISO-646 IRV + +This differs from ASCII in having a currency sign in place of the dollar. +(IANA name ISO_646.irv:1983) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( A +Description: G0-designate GB character set + +This is the ECMA-6 IRV (ASCII), with hash turned into sterling. +(IANA name BS_4730) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( B +Description: G0-designate ECMA-6 IRV + +(IANA name ANSI_X3.4-1968) + +Source: ECMA-6 6th Ed. 9.2 +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( C +Description: G0-designate NATS main Finnish/Swedish character set + +(IANA name NATS-SEFI) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( D +Description: G0-designate NATS additional Finnish/Swedish graphic set + +(IANA name NATS-SEFI-ADD) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( E +Description: G0-designate NATS main Norwegian/Danish character set + +(IANA name NATS-DANO) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( F +Description: G0-designate NATS additional Norwegian/Danish character set + +(IANA name NATS-DANO-ADD) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( G +Description: G0-designate Swedish basic character set (SEN 85 02 00 Annex B) + +(IANA name SEN_850200_B) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( H +Description: G0-designate Swedish name-writing set (SEN 85 02 00 Annex C) + +(IANA name SEN_85020_C) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( I +Description: G0-designate Katakana character set (JIS C 6220 - 1969) + +(IANA name JIS_C6220-1969-jp) +This character set expects to be in G1 + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( J +Description: G0-designate Roman character set (JIS C 6220 - 1969) + +(IANA name JIS_C6220-1969-ro) +This character set expects to be in G0 + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( K +Description: G0-designate German character set (DIN 66003) + +(IANA name DIN_66003) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( K +Description: G0-designate user-defined character set + +Source: Linux console_codes(4) +Status: Linux private; clashes with ECMA-35 +------------------------------------------------------------------------------- +Sequence: ESC ( L +Description: G0-designate Portuguese character set + +(IANA name PT) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( M +Description: G0-designate African character set (ISO 6438) + +(no IANA name) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( N +Description: G0-designate basic Cyrillic character set (ISO 5427) + +(IANA name ISO_5427) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( O +Description: G0-designate bibliographic extension character set (DIN 31624) + +(no IANA name) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( P +Description: G0-designate bibliographic extension character set (ISO 5426:1980) + +(no IANA name) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( Q +Description: G0-designate cyrillic bibliographic extension set (ISO 5427:1981) + +(IANA name ISO_5427:1981) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( Q +Description: G0-designate French Canadian character set + +Source: vttest-990212 vt420.c +Status: DEC private?; clashes with ECMA-35 +------------------------------------------------------------------------------- +Sequence: ESC ( R +Description: G0-designate French character set (NF Z 62-010 (1973)) + +(IANA name NF_Z_62-010_(1973)) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( S +Description: G0-designate Greek bibliographic character set (ISO 5428:1980) + +(IANA name ISO_5428:1980) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( T +Description: G0-designate Chinese latin character set (GB 1988 80) + +(IANA name GB_1988-80) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( U +Description: G0-designate Latin-Greek character set (Honeywell-Bull) + +(IANA name Latin-greek1) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( U +Description: G0-designate PC console character set + +Source: Linux console_codes(4) +Status: Linux private; clashes with ECMA-35 +------------------------------------------------------------------------------- +Sequence: ESC ( V +Description: G0-designate UK Videotex/Teletext character set + +(IANA name BS_viewdata) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( W +Description: G0-designate ISO 646 subset for INIS + +(IANA name INIS) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( X +Description: G0-designate Greek bibliographic character set (ISO 5428) + +(no IANA name) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( Y +Description: G0-designate Italian character set + +(IANA name IT) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( Z +Description: G0-designate Spanish character set + +(IANA name ES) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( [ +Description: G0-designate Greek character set + +(IANA name greek7-old) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( \ +Description: G0-designate Latin/Greek character set + +(IANA name latin-greek) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( ] +Description: G0-designate INIS non-standard extension character set + +(IANA name INIS-8) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( ^ +Description: G0-designate INIS Cyrillic extension character set + +(IANA name INIS-cyrillic) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( _ +Description: G0-designate CODAR-U Arabic character set + +(no IANA name) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( ` +Description: G0-designate Norwegian/Danish character set (NS 4551) + +(IANA name NS_4551-1) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( a +Description: G0-designate Norwegian character set (NS 4551 version 2) + +(IANA name NS_4551-2) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( b +Description: G0-designate supplementary Videotex character set + +(IANA name videotex-suppl) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( c +Description: G0-designate Videotex mosaic character set + +(no IANA name) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( d +Description: G0-designate seccond Videotex mosaic character set + +(no IANA name) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( e +Description: G0-designate APL character set + +(no IANA name) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( f +Description: G0-designate French character set (NF Z 62-010 (1982)) + +(IANA name NF_Z_60-010) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( g +Description: G0-designate Portuguese character set (IBM) + +(IANA name PT2) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( h +Description: G0-designate Spanish character set (IBM) + +(IANA name ES2) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( i +Description: G0-designate Hungarian character set (MSZ 7795/3) + +(IANA name MSZ_7795.3) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( j +Description: G0-designate Greek character set (ELOT) + +(IANA name greek7) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( k +Description: G0-designate Arabic character set (ASMO 449, ISO 9036) + +(IANA name ASMO_449) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( l +Description: G0-designate Latin supplementary character set (ISO 6937/2) + +(IANA name iso-ir-90) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( m +Description: G0-designate Japanese OCR-A character set (JIS C 6229-1984) + +(IANA name JIS_C6229-1984-a) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( n +Description: G0-designate Japanese OCR-B character set (JIS C 6229-1984) + +(IANA name JIS_C6229-1984-b) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( o +Description: G0-designate Japanese addition OCR-B set (JIS C 6229-1984) + +(IANA name JIS_C6229-1984-b-add) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( p +Description: G0-designate Japanese hand-printed OCR set (JIS C 6229-1984) + +(IANA name JIS_C6229-1984-hand) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( q +Description: G0-designate Japanese hand-printed OCR additional set + +(IANA name JIS_C6229-1984-hand-add) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( r +Description: G0-designate Katakana hand-printed OCR set (JIS C 6229-1984) + +(IANA name JIS_C6229-1984-kana) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( s +Description: G0-designate E13B character set (ISO 2033-1983) + +(IANA name ISO_2033-1983) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( t +Description: G0-designate supplemetary Teletext character set (ANSI X3.110) + +(IANA name ANSI_X3.110-1983) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( u +Description: G0-designate Teletext character set (CCITT T.61) + +(IANA name T.61-7bit) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( v +Description: G0-designate Teletext supplementary character set (CCITT T.61) + +(IANA name T.61-8bit) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( w +Description: G0-designate Canadian character set 1 (CSA Z243.4 - 1985) + +(IANA name CSA_Z243.4-1985-1) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( x +Description: G0-designate Canadian character set 2 (CSA Z243.4 - 1985) + +(IANA name (CSA_Z243.4-1985-2) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( y +Description: G0-designate CCITT T.101 Data Syntax I mosaic set + +(no IANA name) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( z +Description: G0-designate Serbocroatian/Slovenian character set (JUS I.B1.002) + +(IANA name JUS_I.B1.002) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( { +Description: G0-designate Serbocroatian Cyrillic character set (JUS I.B1.003) + +(IANAN name JUS_I.B1.003-serb) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( | +Description: G0-designate CCITT T.101 Data Syntax III + +(IANA name T.101-G2) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( } +Description: G0-designate Macedonian Cyrillic charcter set (JUS I.B1.004) + +(IANA name JUS_I.B1.003-mac) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( ~ +Description: G0-designate empty character set + +The Final Byte 07/14 shall be reserved to identify the empty set of +each type, i.e. the set that does not contain any character. If an +empty set is designated the bit combinations corresponding to the code +table positions of the set shall not be used, i.e. the (non-existent) +characters shall not be invoked. + +Source: ECMA-35 6th Ed. 14.1 +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC ( % 5 +Description: G0-designate Digtal Supplemental Graphics set + +Source: Reflection TRM (VT) Version 7.0 +Status: DEC private +------------------------------------------------------------------------------- +Sequence: ESC ( % 6 +Description: G0-designate Portuguese character set + +Source: vttest-990212 vt420.c +Status: DEC private +------------------------------------------------------------------------------- +Sequence: ESC ( % = +Description: G0-designate Hebrew character set + +Source: vttest-990212 vt420.c +Status: DEC private +------------------------------------------------------------------------------- +Sequence: ESC ) {SP-/}* {0-~} +Mnemonic: G1D4 +Description: G1-designate 94-set + +See GZD4 for character sets +------------------------------------------------------------------------------- +Sequence: ESC * {SP-/}* {0-~} +Mnemonic: G2D4 +Description: G2-designated 94-set + +See GZD4 for character sets +------------------------------------------------------------------------------- +Sequence: ESC + {SP-/}* {0-~} +Mnemonic: G3D4 +Description: G3-designate 94-set + +See GZD4 for character sets +------------------------------------------------------------------------------- +Sequence: ESC , {0-~} +Description: reserved for future standardisation +------------------------------------------------------------------------------- +Sequence: ESC - {SP-/}* {0-~} +Mnemonic: G1D6 +Description: G1-designate 96-set +------------------------------------------------------------------------------- +Sequence: ESC - @ +Description: G1-designate RH part of Latin/Cyrillic set (ECMA-113, 1st ed.) + +(IANA name ECMA-cyrillic) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - A +Description: G1-designate RH part of Latin-1 character set (ISO 8859-1:1987) + +(IANA name ISO_8859-1:1987) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - B +Description: G1-designate RH part of Latin-2 character set (ISO 8859-2:1987) + +(IANA name ISO_8859-2:1987) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - C +Description: G1-designate RH part of Latin-3 character set (ISO 8859-3:1988) + +(IANA name ISO_8859-3:1988) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - D +Description: G1-designate RH part of Latin-4 character set (ISO 8859-4:1988) + +(IANA name ISO_8859-4:1988) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - E +Description: G1-designate Supplementary Graphic Set (CSA Z243.4-1985) + +(IANA name CSA_Z243.4-1985-gr) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - F +Description: G1-designate RH part of Latin/Greek set (ISO 8859-7:1987) + +(IANA name ISO_8859-7:1987) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - G +Description: G1-designate RH part of Latin/Arabic set (ISO 8859-6:1987) + +(IANA name ISO_8859-6:1987) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - H +Description: G1-designate RH part of Latin/Hebrew set (ISO 8859-8:1988) + +(IANA name ISO_8859-8:1988) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - I +Description: G1-designate RH part of Czechoslovak set (CSN 369103) + +(IANA name CSN_369103) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - J +Description: G1-designate Latin supplementary set (ISO 6937-2:1983) + +(IANA name ISO_6937-2-add) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - K +Description: G1-designate technical character set + +(IANA name IEC_P27-1) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - L +Description: G1-designate RH part of Latin/Cyrillic set (ISO 8859-5:1988) + +(IANA name ISO_8859-5:1988) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - M +Description: G1-designate RH part of Latin-5 character set (ISO 8859-9:1989) + +(IANA name ISO_8859-9:1989) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - N +Description: G1-designate ISO 6937-2:1983 residual set + +(IANA name ISO_6937-2-add) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - O +Description: G1-designate basic Cyrillic character set (GOST 19768-74) + +(IANA name GOST_19768-74) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - P +Description: G1-designate Latin-1/2/5 supplemental set + +(IANA name ISO_8859-supp) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - Q +Description: G1-designate basic box-drawing set (ISO/IEC 10367) + +(IANA name ISO_10367-box) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - R +Description: G1-designate ISO/IEC 6937:1992 supplementary set + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - S +Description: G1-designate CCITT Hebrew supplementary set + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - T +Description: G1-designate Thai character set (TIS 620-2533 (1990)) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - U +Description: G1-designate Arabic/French/German set + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - V +Description: G1-designate RH part of Latin-6 character set (ISO 8859-10:1992) + +(IANA name ISO-8859-10) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - X +Description: G1-designate Sami supplementary set (for use with Latin-6) + +(IANA name latin-lap) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - Y +Description: G1-designate Baltic rim supplementary set + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - Z +Description: G1-designate RH half of VISCII-2 (TCVN 5712:1993) + +(IANA name VISCII) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - [ +Description: G1-designate IEC technical character set 1 (IEC P1289) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - \ +Description: G1-desgnate RH part of Latin-1 Welsh variant + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - ] +Description: G1-designate RH part of Latin-1 Sami variant + +Source: +Status: standard +------------------------------------------------------------------------------- +Dequence: ESC - ^ +Description: G1-designate RH part of Latin/Hebrew set + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - _ +Description: G1-designate RH part of Celtic set (ISO 8859-14:1998) + +(IANA name ISO-8859-14) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - ` +Description: G1-designate Uralic supplementary Cyrillic set + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - a +Description: G1-designate Volgaic supplementary Cyrillic set + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - b +Description: G1-designate RH part of Latin-9 character set + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - c +Description: G1-designate RH part of Latin-1 set with Euro sign + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - d +Description: G1-designate RH part of Latin-4 set with Euro sign + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - e +Description: G1-designate RH part of Latin-7 set with Euro sign + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - f +Description: G1-designate RH part of Romanian character set (SR 14111:1998) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - g +Description: G1-designate Ogham character set (IS 434:1997) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - i +Description: G1-designate Sami supplementary set no 2 + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - j +Description: G1-designate RH part of Latin/Greek set (ISO/IEC 8859-7:2003) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - k +Description: G1-designate RH part of Latin/Hebrew set (SI1311:2002) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC - } +Description: G1-designate supplementary mosaic set (CCITT T.101) + +Source: +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC . {SP-/}* {0-~} +Mnemonic: G2D6 +Description: G2-designate 96-set + +See G1D6 for character sets +------------------------------------------------------------------------------- +Sequence: ESC / {SP-/}* {0-~} +Mnemonic: G3D6 +Description: G3-designate 96-set + +See G1D6 for character sets +------------------------------------------------------------------------------- +Section: *** Fp: private control functions *** +Sequences: ESC {0-?} +------------------------------------------------------------------------------- +Sequence: ESC 1 +Description: Graphics proc. option on + +Source: +Status: DEC private; VT100 +------------------------------------------------------------------------------- +Sequence: ESC 1 +Mnemonic: DECHTS +Description: Horizontal tab set + +Sets horizontal tab stop at active column + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 pE10 +Status: DEC private; DECwriter, LA100 +------------------------------------------------------------------------------- +Sequence: ESC 2 +Description: Graphics proc. option off + +Source: +Status: DEC private; VT100 +------------------------------------------------------------------------------- +Sequence: ESC 2 +Mnemonic: DECCAHT +Description: Clear all horizontal tabs + +Source: +Status: DEC private; DECwriter +------------------------------------------------------------------------------- +Sequence: ESC 3 +Mnemonic: DECVTS +Description: Vertical tab set + +Sets vertical tab stop at active line + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 pE11 +Status: DEC private; printers +------------------------------------------------------------------------------- +Sequence: ESC 4 +Mnemonic: DECCAVT +Description: Clear all vertical tabs + +Source: +Status: DEC private; DECwriter +------------------------------------------------------------------------------- +Sequence: ESC 5 +Mnemonic: DECXMIT +Description: Transmit character at cursor + +Source: +Source: +Status: DEC private +------------------------------------------------------------------------------- +Sequence: ESC 6 +Description: Backward index +Mnemonic: DECBI + +/* + * VT400 & up. + * DECBI - Back Index + * This control function moves the cursor backward one column. If the cursor + * is at the left margin, then all screen data within the margin moves one + * column to the right. The column that shifted past the right margin is lost. + * + * Format: ESC 6 + * Description: + * DECBI adds a new column at the left margin with no visual attributes. DECBI + * is not affected by the margins. If the cursor is at the left border of the + * page when the terminal received DECBI, then the terminal ignores DECBI. + */ + +Source: vttest-990212 vt420.c +Status: DEC private; VT400 +------------------------------------------------------------------------------- +Sequence: ESC 7 +Mnemonic: DECSC +Description: Save cursor + +Saves in terminal memory the: + cursor position + graphic rendition + character set shift state + state of wrap flag + state of origin mode + state of selective erase + +Source: +Status: DEC private; VT100 +------------------------------------------------------------------------------- +Sequence: ESC 8 +Mnemonic: DECRC +Description: Restore Cursor + +Restores the states described for (DECSC) above. If none of these +characteristics were saved: the cursor moves to home position, origin +mode is reset, no character attributes are assigned, and the default +character set mapping is established. + +Source: +Status: DEC private; VT100 +------------------------------------------------------------------------------- +Sequence: ESC 9 +Mnemonic: DECFI +Description: Forward index + +/* + * VT400 & up. + * + * DECFI - Forward Index + * This control function moves the column forward one column. If the cursor is + * at the right margin, then all screen data within the margins moves one + * column to the left. The column shifted past the left margin is lost. + * + * Format: ESC 9 + * Description: + * DECFI adds a new column at the right margin with no visual attributes. + * DECFI is not affected by the margins. If the cursor is at the right border + * of the page when the terminal receives DECFI, then the terminal ignores + * DECFI. + */ + +Source: vttest-990212 vt420.c +Status: DEC private; VT400 +------------------------------------------------------------------------------- +Sequence: ESC = +Mnemonic: DECKPAM +Description: Keypad application mode + + The auxiliary keypad keys will transmit control sequences. + +Source: +Status: DEC private; VT100 +------------------------------------------------------------------------------- +Sequence: ESC > +Mnemonic: DECKPNM +Description: Keypad numeric mode + + The auxiliary keypad keys will send ASCII codes corresponding to the + characters engraved on their keys. + +Source: +Status: DEC private; VT100 +------------------------------------------------------------------------------- +Sequence: ESC Z +Mnemonic: DECID +Description: Identify terminal + + This sequence causes the same response as the DA sequence. This + sequence will not be supported in future models. + +Source: +Status: DEC private; VT100; clashes with ECMA-48 +------------------------------------------------------------------------------- +Section: *** Fs: Standardized single control functions *** +Sequences: ESC ` to ESC ~ +------------------------------------------------------------------------------- +Sequence: ESC ` +Mnemonic: DMI +Description: Disable manual input + +DMI causes the manual input facilities of a device to be disabled. + +Source: ECMA-48 5th Ed 8.3.34 +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC a +Mnemonic: INT +Description: Interrupt + +INT is used to indicate to the receiving device that the current +process is to be interrupted and an agreed procedure is to be +initiated. This control function is applicable to either direction of +transmission. + +Source: ECMA-48 5th Ed. 8.3.68 +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC b +Mnemonic: EMI +Description: Enable manual input + +EMI is used to enable the manual input facilities of a device. + +Source: ECMA-48 5th Ed. 8.3.43 +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC c +Mnemonic: RIS +Description: Reset to initial state + +RIS causes a device to be reset to its initial state, i.e. the state +it has after it is made operational. This may imply, if applicable: +clear tabulation stops, remove qualified areas, reset graphic +rendition, put all character positions into the erased state, move the +active presentation position to the first position of the first line +in the presentation component, move the active data position to the +first character position of the first line in the data component, set +the modes into the reset state, etc. + +Source: ECMA-48 5th Ed. 8.3.105 + + (DEC) replaces all terminal set-up parameters with NVR values or + power-up default values if NVR values do not exist. + +Source: + "VT220 Programmer Pocket Guide" EK-VT220-HR-001, page 33 +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC d +Mnemonic: CMD +Description: Coding method delimiter + +CMD is used as the delimiter of a string of data coded according to +Standard ECMA-35 and to switch to a general level of control. + +The use of CMD is not mandatory if the higher level protocol defines +means of delimiting the string, for instance, by specifying the length +of the string. + +Source: ECMA-48 5th Ed 8.3.11 +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC d +Description: Set colour table + + ESC d Only available if PCVT_SETCOLOR was defined when + compiling the kernel, allows to set custom color table + for more info, see pcvt_out.c ... + +Source: pcvt EscapeSequences +Status: pcvt private; clashes with ECMA-48 CMD +------------------------------------------------------------------------------- +Sequence: ESC l +Mnemonic: LMA +Description: Lock memory above + +This is an alternative way to set the scrolling region, and is not +valid in backwards compatibility mode. This sequence sets the top +margin to the current line, and the bottom margin extends to the last +row of the screen. This has the effect of locking the rows above the +current line. This sequence will move the cursor to the beginning of +the new region. + +Source: OpenServer 5.0.6 screen(HW) +Status: HP private +------------------------------------------------------------------------------- +Sequence: ESC m +Mnemonic: USR +Description: Unlock scrolling region + +This sequence can be used to remove the scrolling region. The cursor +is not moved from its current position. The top, bottom, left and +right margins are set to cover the entire screen. + +Source: OpenServer 5.0.6 screen(HW) +Status: HP private +------------------------------------------------------------------------------- +Sequence: ESC n +Mnemonic: LS2 +Description: Locking-shift two + +LS2 is used for code extension purposes. It causes the meanings of the +bit combinations following it in the data stream to be changed. + +The use of LS2 is defined in Standard ECMA-35. + +Source: ECMA-48 5th Ed. 8.3.78 +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC o +Mnemonic: LS3 +Description: Locking-shift three + +LS3 is used for code extension purposes. It causes the meanings of the +bit combinations following it in the data stream to be changed. + +The use of LS3 is defined in Standard ECMA-35. + +Source: ECMA-48 5th Ed. 8.3.80 +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC { A Ps CR +Description: Append to a file + +Ps is the file name + +Source: +Status: unknown private; clashes with ECMA-48 +------------------------------------------------------------------------------- +Sequence: ESC { R Ps CR +Descripton: Receive a file + +Ps is the file name + +Source: +Status: unknown private; clashes with ECMA-48 +------------------------------------------------------------------------------- +Sequence: ESC { S +Description: Save collected text + +Source: +Status: unknown private; clashes with ECMA-48 +------------------------------------------------------------------------------- +Sequence: ESC { T Ps CR +Description: Transmit a file + +Ps is the file name + +Source: +Status: unknown private; clashes with ECMA-48 +------------------------------------------------------------------------------- +Sequence: ESC | +Mnemonic: LS3R +Description: Locking-shift three right + +LS3R is used for code extension purposes. It causes the meanings of +the bit combinations following it in the data stream to be changed. + +The use of LS3R is defined in Standard ECMA-35. + +Source: ECMA-48 5th Ed. 8.3.81 +Status: standard +------------------------------------------------------------------------------- +Sequence: ESC } +Mnemonic: LS2R +Description: Locking-shift two right + +LS2R is used for code extension purposes. It causes the meanings of +the bit combinations following it in the data stream to be changed. + +The use of LS2R is defined in Standard ECMA-35. + +Source: ECMA-48 5th Ed. 8.3.79 +------------------------------------------------------------------------------- +Sequence: ESC ~ +Mnemonic: LS1R +Description: Locking-shift one right + +LS1R is used for code extension purposes. It causes the meanings of +the bit combinations following it in the data stream to be changed. + +The use of LS1R is defined in Standard ECMA-35. + +Source: ECMA-48 5th Ed. 8.3.77 +Status: standard +------------------------------------------------------------------------------- +Section: *** C0 controls (continued) *** +------------------------------------------------------------------------------- +Sequence: IS4 (^\) +Mnemonic: IS4 +Description: Information separator four (FS - file separator) + +IS4 is used to separate and qualify data logically; its specific +meaning has to be defined for each application. If this control +function is used in hierarchical order, it may delimit a data item +called a file, see 8.2.10. + +Source: ECMA-48 5th Ed. 8.3.72 +Status: standard +------------------------------------------------------------------------------- +Sequence: IS3 (^]) +Mnemonic: IS3 +Description: Information separator three (GS - group separator) + +IS3 is used to separate and qualify data logically; its specific +meaning has to be defined for each application. If this control +function is used in hierarchical order, it may delimit a data item +called a group, see 8.2.10. + +Source: ECMA-48 5th Ed. 8.3.71 +Status: standard +------------------------------------------------------------------------------- +Sequence: IS2 (^^) +Mnemonic: IS2 +Description: Information separator two (RS - record separator) + +IS2 is used to separate and qualify data logically; its specific +meaning has to be defined for each application. If this control +function is used in hierarchical order, it may delimit a data item +called a record, see 8.2.10. + +Source: ECMA-48 5th Ed. 8.3.70 +Status: standard +------------------------------------------------------------------------------- +Sequence: IS1 (^_) +Mnemonic: IS1 +Description: Information separator one (US - unit separator) + +IS1 is used to separate and qualify data logically; its specific +meaning has to be defined for each application. If this control +function is used in hierarchical order, it may delimit a data item +called a unit, see 8.2.10. + +Source: ECMA-48 5th Ed. 8.3.69 +Status: standard +------------------------------------------------------------------------------- +Sequence: DEL +Mnemonic: DEL +Description: Delete + +The character DELETE (bit combination 07/15, see ISO/IEC 646, clause +6.5), not being a control function in the strict sense, has been +removed from the body of the Standard. + +DEL was originally used to erase or obliterate an erroneous or +unwanted character in punched tape. DEL characters may be inserted +into, or removed from, a CC-data-element without affecting its +information content, but such action may affect the information layout +and/or the control of equipment. + +Source: ECMA-48 5th Ed. F.8.1 +Status: standard; obsolete +------------------------------------------------------------------------------- +Section: *** C1 controls *** +------------------------------------------------------------------------------- +Sequence: BPH or ESC B +Mnemonic: BPH +Description: Break permitted here + +BPH is used to indicate a point where a line break may occur when text +is formatted. BPH may occur between two graphic characters, either or +both of which may be SPACE. + +Source: ECMA-48 5th Ed 8.3.4 +Status: standard +------------------------------------------------------------------------------- +Sequence: NBH or ESC C +Mnemonic: NBH +Description: No break here + +NBH is used to indicate a point where a line break shall not occur +when text is formatted. NBH may occur between two graphic characters +either or both of which may be SPACE. + +Source: ECMA-48 5th Ed. 8.3.85 +Status: standard +------------------------------------------------------------------------------- +Sequence: IND or ESC D +Mnemonic: IND +Description: Index + +The control function INDEX (IND) which was coded as an element of the +C1 set (08/04) and the use of which was already declared deprecated in +the fourth Edition of this Standard has now been removed. + +Source: ECMA-48 5th Ed. F.8.2 +Status: standard; obsolete +------------------------------------------------------------------------------- +Sequence: NEL or ESC E +Mnemonic: NEL +Description: Next line + +The effect of NEL depends on the setting of the DEVICE COMPONENT +SELECT MODE (DCSM) and on the parameter value of SELECT IMPLICIT +MOVEMENT DIRECTION (SIMD). + +If the DEVICE COMPONENT SELECT MODE (DCSM) is set to PRESENTATION and +with a parameter value of SIMD equal to 0, NEL causes the active +presentation position to be moved to the line home position of the +following line in the presentation component. The line home position +is established by the parameter value of SET LINE HOME (SLH). + +With a parameter value of SIMD equal to 1, NEL causes the active +presentation position to be moved to the line limit position of the +following line in the presentation component. The line limit position +is established by the parameter value of SET LINE LIMIT (SLL). + +If the DEVICE COMPONENT SELECT MODE (DCSM) is set to DATA and with a +parameter value of SIMD equal to 0, NEL causes the active data +position to be moved to the line home position of the following line +in the data component. The line home position is established by the +parameter value of SET LINE HOME (SLH). + +With a parameter value of SIMD equal to 1, NEL causes the active data +position to be moved to the line limit position of the following line +in the data component. The line limit position is established by the +parameter value of SET LINE LIMIT (SLL). + +Source: ECMA-48 5th Ed. 8.3.86 +Status: standard +------------------------------------------------------------------------------- +Sequence: SSA or ESC F +Mnemonic: SSA +Description: Start of selected area + +SSA is used to indicate that the active presentation position is the +first of a string of character positions in the presentation +component, the contents of which are eligible to be transmitted in the +form of a data stream or transferred to an auxiliary input/output +device. + +The end of this string is indicated by END OF SELECTED AREA (ESA). The +string of characters actually transmitted or transferred depends on +the setting of the GUARDED AREA TRANSFER MODE (GATM) and on any +guarded areas established by DEFINE AREA QUALIFICATION (DAQ), or by +START OF GUARDED AREA (SPA) and END OF GUARDED AREA (EPA). + +NOTE +The control functions for area definition (DAQ, EPA, ESA, SPA, SSA) +should not be used within an SRS string or an SDS string. + +Source: ECMA-48 5th Ed. 8.3.138 +Status: standard +------------------------------------------------------------------------------- +Sequence: ESA or ESC G +Mnemonic: ESA +Description: End of selected area + +ESA is used to indicate that the active presentation position is the +last of a string of character positions in the presentation component, +the contents of which are eligible to be transmitted in the form of a +data stream or transferred to an auxiliary input/output device. The +beginning of this string is indicated by START OF SELECTED AREA (SSA). + +NOTE +The control function for area definition (DAQ, EPA, ESA, SPA, SSA) +should not be used within an SRS string or an SDS string. + +Source: ECMA-48 5th Ed. 8.3.47 +Status: standard +------------------------------------------------------------------------------- +Sequence: HTS or ESC H +Mnemonic: HTS +Description: Character tabulation set + +HTS causes a character tabulation stop to be set at the active +presentation position in the presentation component. + +The number of lines affected depends on the setting of the TABULATION +STOP MODE (TSM). + +Source: ECMA-48 5th Ed. 8.3.62 +Status: standard +------------------------------------------------------------------------------- +Sequence: HTJ or ESC I +Mnemonic: HTJ +Description: Character tabulation with justification + +HTJ causes the contents of the active field (the field in the +presentation component that contains the active presentation position) +to be shifted forward so that it ends at the character position +preceding the following character tabulation stop. The active +presentation position is moved to that following character tabulation +stop. The character positions which precede the beginning of the +shifted string are put into the erased state. + +Source: ECMA-48 5th Ed. 8.3.61 +Status: standard +------------------------------------------------------------------------------- +Sequence: VTS or ESC J +Mnemonic: VTS +Description: Line tabulation set + +VTS causes a line tabulation stop to be set at the active line (the +line that contains the active presentation position). + +Source: ECMA-48 5th Ed. 8.3.162 +Status: standard +------------------------------------------------------------------------------- +Sequence: PLD or ESC K +Mnemonic: PLD +Description: Partial line forward + +PLD causes the active presentation position to be moved in the +presentation component to the corresponding position of an imaginary +line with a partial offset in the direction of the line progression. +This offset should be sufficient either to image following characters +as subscripts until the first following occurrence of PARTIAL LINE +BACKWARD (PLU) in the data stream, or, if preceding characters were +imaged as superscripts, to restore imaging of following characters to +the active line (the line that contains the active presentation +position). + +Any interactions between PLD and format effectors other than PLU are +not defined by this Standard. + +Source: ECMA-48 5th Ed. 8.3.92 +Status: standard +------------------------------------------------------------------------------- +Sequence: PLU or ESC L +Mnemonic: PLU +Description: Partial line backward + +PLU causes the active presentation position to be moved in the +presentation component to the corresponding position of an imaginary +line with a partial offset in the direction opposite to that of the +line progression. This offset should be sufficient either to image +following characters as superscripts until the first following +occurrence of PARTIAL LINE FORWARD (PLD) in the data stream, or, if +preceding characters were imaged as subscripts, to restore imaging of +following characters to the active line (the line that contains the +active presentation position). + +Any interactions between PLU and format effectors other than PLD are +not defined by this Standard. + +Source: ECMA-48 5th Ed. 8.3.93 +Status: standard +------------------------------------------------------------------------------- +Sequence: RI or ESC M +Mnemonic: RI +Description: Reverse line feed + +If the DEVICE COMPONENT SELECT MODE (DCSM) is set to PRESENTATION, RI +causes the active presentation position to be moved in the +presentation component to the corresponding character position of the +preceding line. + +If the DEVICE COMPONENT SELECT MODE (DCSM) is set to DATA, RI causes +the active data position to be moved in the data component to the +corresponding character position of the preceding line. + +Source: ECMA-48 5th Ed. 8.3.104 + +In earlier versions of ECMA-48, this was known as "Reverse Index". + +Source: Paul Williams in comp.terminals + <3D19AB54.E35A3B25@uk.thalesgroup.com> +Status: standard +------------------------------------------------------------------------------- +Sequence: SS2 or ESC N +Mnemonic: SS2 +Description: Single-shift two + +SS2 is used for code extension purposes. It causes the meanings of the +bit combinations following it in the data stream to be changed. + +The use of SS2 is defined in Standard ECMA-35. + +Source: ECMA-48 5th Ed. 8.3.141 +Status: standard +------------------------------------------------------------------------------- +Sequence: SS3 or ESC O +Mnemonic: SS3 +Description: Single-shift three + +SS3 is used for code extension purposes. It causes the meanings of the +bit combinations following it in the data stream to be changed. + +The use of SS3 is defined in Standard ECMA-35. + +Source: ECMA-48 5th Ed. 8.3.142 +Status: standard +------------------------------------------------------------------------------- +Sequence: DCS or ESC P +Mnemonic: DCS +Description: Device control string + +DCS is used as the opening delimiter of a control string for device +control use. The command string following may consist of bit +combinations in the range 00/08 to 00/13 and 02/00 to 07/14. The +control string is closed by the terminating delimiter STRING +TERMINATOR (ST). + +The command string represents either one or more commands for the +receiving device, or one or more status reports from the sending +device. The purpose and the format of the command string are specified +by the most recent occurrence of IDENTIFY DEVICE CONTROL STRING +(IDCS), if any, or depend on the sending and/or the receiving device. + +Source: ECMA-48 5th Ed 8.3.27 + +For Digital VTxxx terminals we've extended this as follows: + +DCS ST + +The introducer sequence follows exactly the same syntax and +symantics as a control sequence except that CSI is replaced by DCS. +The is control string specific. + +Source: + +Status: standard +Source: vttest-990712 vt420.c +------------------------------------------------------------------------------- +Sequence: DCS Ps g data ST +Description: LA100 graphics string + +Ps = +0, 1, 5 Dot spacing 7.57 mils (132 dpi) + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 pE12 +Status: DEC private +------------------------------------------------------------------------------- +Sequence: DCS Ps p Pr ST +Description: ReGIS graphics + + DCS p or DCS 0 p + Re-enter ReGIS at the point where it was last exited. Does + not display commands. + + DCS 1 p + Enter ReGIS at command level; ReGIS begins a new command. + Does not display commands. + + DCS x+2 p, x=0 or 1 + Like DCS x p, but displays commands on the screen's bottom + line. + +[ Pr is a ReGIS string, which I'm not going to document here just yet. ] + +Source: +Status: DEC private +------------------------------------------------------------------------------- +Sequence: DCS P1 ; P2 ; P3 q Ps ST +Description: Sixel graphics + + P1 is the macro parameter. This parameter indicates the pixel + aspect ratio used by the application or terminal. The pixel + aspect ratio defines the shape of the pixel dots the terminal + uses to draw images. For example, a pixel that is twice as high + as it is wide has an aspect ratio of 2:1. + + NOTE: The macro parameter is provided for compatibility with + existing Digital software. New applications should set P1 to 0 + and use the set raster attributes control, described later in + this chapter. + + P1 Pixel Aspect Ratio + (Vertical:Horizontal) + + Omitted 2:1 + 0 or 1 5:1 + 2 3:1 + 3 or 4 2:1 + 5 or 6 2:1 + 7,8, or 9 1:1 + + P2 selects how the terminal draws the background color. You can 3$ + use one of three values. + + P2 Meaning + + 0 or 2 Pixel positions specified as 0 are set to the + current background color. + + 1 Pixel positions specified as 0 remain at their + current color. + + P3 is the horizontal grid size parameter. The horizontal grid + size is the horizontal distance between two pixel dots. The + VT300 ignores this parameter because the horizontal grid size is + fixed at 0.0195 cm (0.0075 in). + +In the data section: + +Characters from ? to ~ encode a column of pixels one wide and six +high. ? is all-zeros, ~ is all-ones and the low-order bit is at the +top. + +! Pn encodes a repeat count of the following character +- causes the next band of sixels to start below the current one at the left + margin +$ causes the next band to overlay the current one, starting at the left margin. +# Pn selects palette entry Pn. +# Pn1 ; Pn2 ; Pn3 ; Pn4 ; Pn5 sets palette entry Pn1 to contain the colour + (Pn3, Pn4, Pn5) in the colour space represented by Pn1 (1 = HLS, 2 = RGB). +Anything else is ignored. + +Source: +Status: DEC private +------------------------------------------------------------------------------- +Sequence: DCS v data ST +Description: Answerback message entry + +Data consists of up to 30 characters coded in hex. + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 +Status: DEC private; LA100 +------------------------------------------------------------------------------- +Sequence: DCS Ps1 ; Ps2 ... x Pstr ST +Description: DECtalk commands + +Synchronize P;11x \ +Load Dictionary P0;40z name sub ESC \ +Answer Phone P;60;10;[number of rings]z \ +Hang Up Phone P;60;11z \ +Enable Keypad P;60;20z \ +Set Timeout P;60;30;[number of seconds]z \ +Tone Dial P;60;40z text \ +Pulse Dial P;60;41z text \ +On-hook Status (response) P;70;0x \ +Off-hook status (response) P;70;1z \ +Timeout status (response) P;70;2z \ + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 ppG6-G9 +Status: DEC private; DECtalk +------------------------------------------------------------------------------- +Sequence: DCS 0 ; Ps2 ; Ps3 y FntRcrd ; CommentRecord ST +Mnemonic: DECLFF +Description: Load font file + +Ps2 Meaning +0 Print summary sheet +1 Don't print summary sheet + +Ps3 Meaning +0 Delete all fonts +1 Replace fonts with same ID + +FntRcrd = data for font set + +ComentRecord = user supplied text + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 pE109 +Status: DEC private; LA100, LN03 +------------------------------------------------------------------------------- +Sequence: DCS Pfn ; Pcn ; Pe ; Pcms ; Pw ; Pt ; Pcmh ; Pcss { + Dscs Sxbp1 ; Sxbp2 ; ... ST +Mnemonic: DECDLD +Description: Down-line load DRCS characters + +Pfn;Pcn;Pe;Pcms;Pw;Pt are parameter characters, separated by +semicolons, that define parameters described in Table 4-9. Valid +values for Pcms, Pw, and Pt are: Pcms = 0, 2, 3 or 4; Pw = 0, 1 or 2; +and Pt = 0 or 1. Invalid combinations are ignored. A font loaded for +80 columns can be used in 132 columns and a font loaded for 132 +columns can be used in 80 columns. + +{ (7/11) is the final character that signals the end of the parameter +characters and specifies a DECDLD function. + +Dscs defines the character set "name" for the soft font, and is used +in the SCS (select character set) escape sequence. + +Sxbp1;Sxbp2;...;Sxbpn are sixel bit patterns (1 to 94 patterns) for +characters separated by semicolons. Each sixel bit pattern has the +form: + + S...S/S...S + +where the first S...S represents the upper columns (sixels) of the +DRCS character, the slash (2/5) advances the sixel pattern to the +lower columns of the DRCS character, and the second S...S represents +the lower columns (sixels) of the DRCS (see Figure 4-6). + +ST (9/12) is the string terminator. It is an 8-bit control character +that you can also express as ESC \ (1/11 5/12) when coding for a 7-bit +environment. + +Table 4-9 DECDLD Parameter Characters + +Parameter Name Description + Pfn Font Number Specifies DRCS font buffer to be loaded. The + VT220 has only one DRCS font + buffer. This parameter has two valid + values: 0 and 1. + + Pcn Starting + Character + Number + + Selects starting character in DRCS font + buffer to be loaded. For example: + Parameter value 1 specifies a column 2/row + 1 character, parameter 94 specifies + a column 7/row 14 character (Table 2-1 in + Chapter 2). + + Pe Erase Control Selects which characters are erased before + loading according to: + + 0 = erase all characters in this DRCS set + 1 = erase only the characters that are being + reloaded + 2 = erase all characters in all DRCS sets + (this font buffer number and + other font buffer numbers) + + Pcms Character Matrix + Size Defines the expected limit of the character + matrix size according to: + + 0 = Device default (7 x 10) + 1 = (not used) + 2 = 5 x 10 + 3 = 6 x 10 + 4 = 7 x 10 + 5 = 5 x Pcmh + 6 = 6 x Pcmh + 7 = 7 x Pcmh + 8 = 8 x Pcmh + 9 = 9 x Pcmh + 10 = 10 x Pcmh + + Pw Width Attribute Specifies the width attribute according to: + + 0 = Device default (80 Columns) + 1 = 80 column + 2 = 132 column + + Pt Text/ Full-Cell Allows software to treat the font as a text + font or a full-cell font according to: + + 0 = Device default (text) + 1 = Text + 2 = Full-Cell (not used) + + Full-Cell fonts can individually address + all pixels in a cell, while text fonts, in + general, may not be able to address all + pixels individually. + + Pcmh Character Matrix Height + Sets the character matrix size in conjuction + with Pcms. The maximum is device-dependent. + + Pcss Character-set size + 0 = 94 characters 1 = 96 characters + +[ The sixels have MSB at the bottom and an offset of 077 octal applied ] + +Source: +Status: DEC private; VT200 +------------------------------------------------------------------------------- +Sequence: DCS 2000 ; Pterm ; Ptag { Ps ST +Mnemonic: WRQCMD +Description: Invoke a reflection command + +Source: Reflection TRM (VT) Version 7.0 +Status: WRQ private +------------------------------------------------------------------------------- +Sequence: DCS ... | ... ST +Mnemonic: DECUDK +Description: User-defined keys + +Source: Paul Williams in mail + <3844F164.F2242F18@rdel.co.uk> +Status: DEC private +------------------------------------------------------------------------------- +Sequence: DCS Ps1 ; Ps2 } IDstring ST +Mnemonic: DECATFF +Description: Assign to font file + +Ps1 Meaning +1 Assign by font (default) +2 Assign by font family + +Ps2 = font number for use with SGR + +IDstring = name associated with font number + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 pE108 +Status: DEC private; LA100, LN03 +------------------------------------------------------------------------------- +Sequence: DCS Ps ! q ... ST +Description: Enter GIDIS mode + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 pE126 +Status: DEC private; LCP01 +------------------------------------------------------------------------------- +Sequence: DCS Ps ~ IDstring ST +Mnemonic: DECDTFF +Description: Delete type family or font file + +Ps1 Meaning +0 IDstring is type family +1 IDstring is font + +IDstring = 7 letter family name or 16 letter font ID + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 pE108 +Status: DEC private; LN03 +------------------------------------------------------------------------------- +Sequence: DCS Pn ! u Ps ST +Mnemonic: DECAUPSS +Description: Assign user-preferred supplemental set + +Pn = 0 for 94-character, 1 for 96-character (?) +Ps = character set specifier as passed to GZD4 and co. (?) + +Source: Reflection TRM (VT) Version 7.0 +Status: DEC private +------------------------------------------------------------------------------- +Sequence: DCS Pn1 ; Pn2 ; Pn3 ! z Ps ST +Mnemonic: DECDMAC + +You can define macros that are interpreted as normal input when +emulating the VT420 terminal. Any macro definitions that do not fit +into the memory allotted are ignored. An RIS or DECSR clears all macro +definitions. A soft reset (DECSTR) has no effect. + +Pn1: Macro ID number (0-63). If you give a macro an ID number that +already exists, the old macro definition is deleted and the new one is +used. If exceeds 63, Reflection ignores this control +function. Everything but the Csi 5i and Csi 4i control functions are +passed to the printer. + +Pn2: Determine how a new macro definition is treated: If Pn2 is 0 or +omitted, an old macro with the same macro ID number is deleted. If +Pn2 is 1, DECDMAC deletes all current macro definitions before +defining this macro. If is a number that is not 0 or 1, the macro +is ignored. + +Pn3: Select the encoding format for the text of the macro definition: +If Pn3 is 0 or omitted, ASCII text is used in the macro. If Pn3 is +1, hex pairs are used (each pair of characters in the macro is the hex +value for a single ASCII character. If Pn3 is a number that is not 0 +or 1, the macro is ignored. The string of text and control functions +to be performed when the macro is invoked. If hex pairs are used, you +can also use a repeat introducer (!) in Ps. The repeat introducer +lets you repeat any hex pair in the definition string any number of +times. + +Source: Reflection TRM (VT) Version 7.0 +Status: DEC private +------------------------------------------------------------------------------- +Sequence: DCS ... ! | ... ST +Mnemonic: DECRPTUI +Description: Report Terminal Unit Information + +(to Host) + +Source: Paul Williams in mail + <3844F164.F2242F18@rdel.co.uk> +Status: DEC private +------------------------------------------------------------------------------- +Sequence: DCS Pn ! ~ Ps ST +Mnemonic: DECCKSR +Description: Checksum response + +This is sent by the terminal in response to DECRQCRA or DSR ? 63. Ps +is a four-digit hexadecimal checksum. Pn is the identifier given in +the checksum request. + +Source: Reflection TRM (VT) Version 7.0 +Status: DEC private; VT400 +------------------------------------------------------------------------------- +Sequence: DCS ... " { ... ST +Mnemonic: DECFSR +Description: Font Status Report + +Source: Paul Williams in mail + <3844F164.F2242F18@rdel.co.uk> +Status: DEC private +------------------------------------------------------------------------------- +Sequence: DCS 1 $ p Ps ST +Mnemonic: DECRSTS +Description: Restore terminal state + +Sets terminal state. Ps should be a string returned by DECTSR. + +Source: Reflection TRM (VT) Version 7.0 +Status: DEC private; VT300 +------------------------------------------------------------------------------- +Sequence: DCS 2 $ p Ps ST +Mnemonic: DECRSTS +Description: Restore color table + +Sets the color table. Ps is as specified under DECCTR. + +Source: Reflection TRM (VT) Version 7.0 +Status: DEC private; VT300 +------------------------------------------------------------------------------- +Sequence: DCS $ q Ps ST +Mnemonic: DECRQSS +Description: Control function settings request + +This sequence is sent by the host to request the terminal to report +the setting of a control function. The control function in question +is specified by Ps, which is the intermediate (if any) and final bytes +of the function's control sequence. The following values of Ps are +supported: + +m => SGR +r => DECSTBM +$ | => DECSCPP +$ } => DECSASD +$ ~ => DECSSDT +" p => DECSCL +" q => DECSCA + +The terminal responds with DECRPSS. Only one control function may be +queried at a time. + +Source: Reflection TRM (VT) Version 7.0 +Status: DEC private +------------------------------------------------------------------------------- +Sequence: DCS Pn $ r Ps ST +Mnemonic: DECRPSS +Description: Control function settings response + +This sequence is returned by the terminal in response to DECRQSS. + +Pn is 0 if the request was invalid (e.g. for a function that can't be +reported) or 1 if it was successful. + +Ps is the complete control sequence (minus the leading CSI) necessary +to set the state of the requested control function. + +Source: Reflection TRM (VT) Version 7.0 +Status: DEC private +------------------------------------------------------------------------------- +Sequence: DCS 1 $ s Ps ST +Mnemonic: DECTSR +Description: Terminal state report + +This is sent in response to a DECRQTSR, and contains an opaque +representation of the terminal's state. + +Source: Reflection TRM (VT) Version 7.0 +Status: DEC private; VT300 +------------------------------------------------------------------------------- +Sequence: DCS 2 $ s Ps ST +Mnemonic: DECCTR +Description: Color table report + +This is sent by the terminal in response to DECRQTSR. Ps contains the +terminal's colour table. The palette entries are separated by slashes, and +each one containe (semicolon-separated): + +Color ??? +Colour space (1 => HLS, 2 => RGB) +Components (H;L;S or R;G;B) + +Source: Reflection TRM (VT) Version 7.0 +Status: DEC private +------------------------------------------------------------------------------- +Sequence: DCS Ps $ t Ps ST +Mnemonic: DECRSPS +Description: Restore presentation state + +Ps is 1 to restore cursor information and 2 to restore tab stops. Ps is +in the format returned by DECCIR or DECTABSR respectively. + +Source: Reflection TRM (VT) Version 7.0 +Status: DEC private +------------------------------------------------------------------------------- +Sequence: DCS 1 $ u Pr ; Pc ; Pp ; Srend ; Satt ; Sflag ; Pgl ; Pgr ; Scss ; + Sdesig ST +Mnemonic: DECCIR +Description: Cursor information report + +See DECRQPSR for request. + + * Response DCS 1 $ u Pr; Pc; Pp; Srend; Satt; Sflag; Pgl; Pgr; Scss; Sdesig ST + * where Pr is cursor row (counted from origin as 1,1) + * Pc is cursor column + * Pp is 1, video page, a constant for VT320s + * Srend = 40h + 8 (rev video on) + 4 (blinking on) + * + 2 (underline on) + 1 (bold on) + * Satt = 40h + 1 (selective erase on) + * Sflag = 40h + 8 (autowrap pending) + 4 (SS3 pending) + * + 2 (SS2 pending) + 1 (Origin mode on) + * Pgl = char set in GL (0 = G0, 1 = G1, 2 = G2, 3 = G3) + * Pgr = char set in GR (same as for Pgl) + * Scss = 40h + 8 (G3 is 96 char) + 4 (G2 is 96 char) + * + 2 (G1 is 96 char) + 1 (G0 is 96 char) + * Sdesig is string of character idents for sets G0...G3, with + * no separators between set idents. + * If NRCs are active the set idents (all 94 byte types) are: + * British A Italian Y + * Dutch 4 Norwegian/Danish ' (hex 60) or E or 6 + * Finnish 5 or C Portuguese %6 or g or L + * French R or f Spanish Z + * French Canadian 9 or Q Swedish 7 or H + * German K Swiss = + * Hebrew %= + * (MS Kermit uses any choice when there are multiple) + */ + +Source: vttest-990712 vt420.c +Status: DEC private +------------------------------------------------------------------------------- +Sequence: DCS 2 $ u Ps ST +Mnemonic: DECTABSR +Description: Tab stop report + +Sent by the terminal is response to a DECRQPSR. + +Ps is a slash-separated list of tab stops. + +Source: Reflection TRM (VT) Version 7.0 +Status: DEC private +------------------------------------------------------------------------------- +Sequence: DCS Pc $ w Ky1 / Std1 / Stu1 ; ... ; Kyn / Stnd / Stnu ST +Mnemonic: DECLKD (also DECLBD) +Description: Locator key definition + +Pc - Clear parameter + +0 (or omitted) Clear all LKDs before loading new values. All button + definition strings are empty (not the default). +1 Clear old definition only for keys that are redefined. + +Kyn / Stnd / Stnu - Key selection code n, slash delimeter, and string +parameter n for down and up key transitions. + +Kyn is a single ASCII digit, and Std/Stu is a series of ASCII hex +pairs. If Std or Stu is omitted, the corresponding button string will +be empty. Key definition strings are delimited with a semicolon (";"). + +Source: +Status: DEC private; VT340? +------------------------------------------------------------------------------- +Sequence: DCS Pn . y Ps ST +Description: xwsh device control + +Device control string. Ps is a single ansi string (character codes in +the range of octal 040 to 0176 inclusive). The following defines what +the string is used for. + +1 Set the window title. +3 Set the icon title. +4 Set the text color by string. See the -C command for a description + of how the string will be interpreted. +5 Set the page color by string. +6 Set the selection text color by string. +7 Set the selection page color by string. +8 Set the cursor text color by string. +9 Set the cursor page color by string. +10 Set the half intensity color by string. +11 Set the bold intensity color by string. +101 Bind the string to the key named by Pn+1. The key numbers are the + same as the numbers defined in . The string can contain + C style backslashed characters to get control characters into the + string. When the key is pressed the value will be sent to the + process that xwsh is managing. This capability is turned off by + default for security. Turn it on with the "-bindkey2dcs" command + line option or with the "bindKey2DCS" resource. +103 Bind the string to the key named by Pn+1. The key numbers are the + same as the numbers defined in . When the key is pressed + the value will be used to invoke a function internal to xwsh. This + capability is turned off by default for security. Turn it on with + the "-bindkey2dcs" command line option or with the "bindKey2DCS" + resource. + +Source: IRIX 6.5.5 xwsh(1G) +Status: SGI private +------------------------------------------------------------------------------- +Sequence: PU1 or ESC Q +Mnemonic: PU1 +Description: Private use one + +PU1 is reserved for a function without standardized meaning for +private use as required, subject to the prior agreement between the +sender and the recipient of the data. + +Source: ECMA-48 5th Ed. 8.3.100 +Status: standard +------------------------------------------------------------------------------- +Sequence: PU2 or ESC R +Mnemonic: PU2 +Description: Private use two + +PU2 is reserved for a function without standardized meaning for +private use as required, subject to the prior agreement between the +sender and the recipient of the data. + +Source: ECMA-48 5th Ed. 8.3.101 +Status: standard +------------------------------------------------------------------------------- +Sequence: STS or ESC S +Mnemonic: STS +Description: Set transmit state + +STS is used to establish the transmit state in the receiving +device. In this state the transmission of data from the device is +possible. + +The actual initiation of transmission of data is performed by a data +communication or input/output interface control procedure which is +outside the scope of this Standard. + +The transmit state is established either by STS appearing in the +received data stream or by the operation of an appropriate key on a +keyboard. + +Source: ECMA-48 5th Ed. 8.3.145 +Status: standard +------------------------------------------------------------------------------- +Sequence: CCH or ESC T +Mnemonic: CCH +Description: Cancel character + +CCH is used to indicate that both the preceding graphic character in +the data stream, (represented by one or more bit combinations) +including SPACE, and the control function CCH itself are to be ignored +for further interpretation of the data stream. + +If the character preceding CCH in the data stream is a control +function (represented by one or more bit combinations), the effect of +CCH is not defined by this Standard. + +Source: ECMA-48 5th Ed 8.3.8 +Status: standard +------------------------------------------------------------------------------- +Sequence: MW or ESC U +Mnemonic: MW +Description: Message waiting + +MW is used to set a message waiting indicator in the receiving +device. An appropriate acknowledgement to the receipt of MW may be +given by using DEVICE STATUS REPORT (DSR). + +Source: ECMA-48 5th Ed. 8.3.83 +Status: standard +------------------------------------------------------------------------------- +Sequence: SPA or ESC V +Mnemonic: SPA +Description: Start of guarded area + +SPA is used to indicate that the active presentation position is the +first of a string of character positions in the presentation +component, the contents of which are protected against manual +alteration, are guarded against transmission or transfer, depending on +the setting of the GUARDED AREA TRANSFER MODE (GATM) and may be +protected against erasure, depending on the setting of the ERASURE +MODE (ERM). The end of this string is indicated by END OF GUARDED AREA +(EPA). + +NOTE +The control functions for area definition (DAQ, EPA, ESA, SPA, SSA) +should not be used within an SRS string or an SDS string. + +Source: ECMA-48 5th Ed. 8.3.129 +Status: standard +------------------------------------------------------------------------------- +Sequence: EPA or ESC W +Mnemonic: EPA +Description: End of guarded area + +EPA is used to indicate that the active presentation position is the +last of a string of character positions in the presentation component, +the contents of which are protected against manual alteration, are +guarded against transmission or transfer, depending on the setting of +the GUARDED AREA TRANSFER MODE (GATM), and may be protected against +erasure, depending on the setting of the ERASURE MODE (ERM). The +beginning of this string is indicated by START OF GUARDED AREA (SPA). + +NOTE +The control functions for area definition (DAQ, EPA, ESA, SPA, SSA) +should not be used within an SRS string or an SDS string. + +Source: ECMA-48 5th Ed. 8.3.46 +Status: standard +------------------------------------------------------------------------------- +Sequence: SOS or ESC X +Mnemonic: SOS +Description: Start of string + +SOS is used as the opening delimiter of a control string. The +character string following may consist of any bit combination, except +those representing SOS or STRING TERMINATOR (ST). The control string +is closed by the terminating delimiter STRING TERMINATOR (ST). The +interpretation of the character string depends on the application. + +Source: ECMA-48 5th Ed. 8.3.128 +Status: standard +------------------------------------------------------------------------------- +Sequence: SCI or ESC Z +Mnemonic: SCI +Description: Single character introducer + +SCI and the bit combination following it are used to represent a +control function or a graphic character. The bit combination +following SCI must be from 00/08 to 00/13 or 02/00 to 07/14. The use +of SCI is reserved for future standardization. + +Source: ECMA-48 5th Ed. 8.3.109 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI or ESC [ +Mnemonic: CSI +Description: Control sequence introducer + +CSI is used as the first character of a control sequence. + +Source: ECMA-48 5th Ed 8.3.16 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn @ +Mnemonic: ICH +Description: Insert character + +Parameter default value: Pn = 1 + +If the DEVICE COMPONENT SELECT MODE (DCSM) is set to PRESENTATION, ICH +is used to prepare the insertion of n characters, by putting into the +erased state the active presentation position and, depending on the +setting of the CHARACTER EDITING MODE (HEM), the n-1 preceding or +following character positions in the presentation component, where n +equals the value of Pn. The previous contents of the active +presentation position and an adjacent string of character positions +are shifted away from the active presentation position. The contents +of n character positions at the other end of the shifted part are +removed. The active presentation position is moved to the line home +position in the active line. The line home position is established by +the parameter value of SET LINE HOME (SLH). + +The extent of the shifted part is established by SELECT EDITING EXTENT +(SEE). + +The effect of ICH on the start or end of a selected area, the start or +end of a qualified area, or a tabulation stop in the shifted part, is +not defined by this Standard. + +If the DEVICE COMPONENT SELECT MODE (DCSM) is set to DATA, ICH is used +to prepare the insertion of n characters, by putting into the erased +state the active data position and, depending on the setting of the +CHARACTER EDITING MODE (HEM), the n-1 preceding or following character +positions in the data component, where n equals the value of Pn. The +previous contents of the active data position and an adjacent string +of character positions are shifted away from the active data +position. The contents of n character positions at the other end of +the shifted part are removed. The active data position is moved to the +line home position in the active line. The line home position is +established by the parameter value of SET LINE HOME (SLH). + +Source: ECMA-48 5th Ed. 8.3.64 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn A +Mnemonic: CUU +Description: Cursor up + +Parameter default value: Pn = 1 + +CUU causes the active presentation position to be moved upwards in the +presentation component by n line positions if the character path is +horizontal, or by n character positions if the character path is +vertical, where n equals the value of Pn. + +Source: ECMA-48 5th Ed 8.3.22 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI = Pc A +Mnemonic: SBC +Description: set border color + +Set the overscan (border) to the color specified. + +0 => black 8 => grey +1 => blue 9 => light blue +2 => green 10 => light green +3 => cyan 11 => light cyan +4 => red 12 => light red +5 => magenta 13 => light magenta +6 => brown 14 => yellow +7 => white 15 => light white + +Source: OpenServer 5.0.6 screen(HW) +Status: SCO private +------------------------------------------------------------------------------- +Sequence: CSI Pn B +Mnemonic: CUD +Description: Cursor down + +Parameter default value: Pn = 1 + +CUD causes the active presentation position to be moved downwards in +the presentation component by n line positions if the character path +is horizontal, or by n character positions if the character path is +vertical, where n equals the value of Pn. + +Source: ECMA-48 5th Ed 8.3.19 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI = Pn1 ; Pn2 B +Mnemonic: SBP +Description: Set bell parameters + +Sets bell parameters (where Pn1 is the pitch in Hz and Pn2 is the +duration in milliseconds) + +Source: UnixWare 7 display(7) + +Set the frequency (Pn1) and duration (Pn2) of the audible bell. The +frequency is in units of 840.3 nanoseconds, and the duration is in +units of 100 milliseconds. + +Source: OpenServer 5.0.6 screen(HW) +Status: iBCS2 private +------------------------------------------------------------------------------- +Sequence: CSI Pn C +Mnemonic: CUF +Description: Cursor right + +Parameter default value: Pn = 1 + +CUF causes the active presentation position to be moved rightwards in +the presentation component by n character positions if the character +path is horizontal, or by n line positions if the character path is +vertical, where n equals the value of Pn. + +Source: ECMA-48 5th Ed 8.3.20 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI = Pn1 ; Pn2 C +Description: Set cursor parameters + +Sets cursor parameters (where Pn1 is the starting and Pn2 is the +ending scanlines of the cursor). + +Source: UnixWare 7 display(7) +Status: SCO private +------------------------------------------------------------------------------- +Sequence: CSI Pn D +Mnemonic: CUB +Description: Cursor left + +Parameter default value: Pn = 1 + +CUB causes the active presentation position to be moved leftwards in +the presentation component by n character positions if the character +path is horizontal, or by n line positions if the character path is +vertical, where n equals the value of Pn. + +Source: ECMA-48 5th Ed 8.3.18 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI = Ps D +Mnemonic: SBI +Description: Set background intensity + +Turns the intensity of background colors on (Ps = 1) or off (Ps = 0). +Any characters printed with the ``blink'' attribute modifier will +instead be displayed as having an intense background. + +Source: OpenServer 5.0.6 screen(HW) +Status: SCO private +------------------------------------------------------------------------------- +Sequence: CSI Pn E +Mnemonic: CNL +Description: Cursor next line + +Parameter default value: Pn = 1 + +CNL causes the active presentation position to be moved to the first +character position of the n-th following line in the presentation +component, where n equals the value of Pn. + +Source: ECMA-48 5th Ed 8.3.12 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI = Ps E +Mnemonic: SBB +Description: Set background blink bit + +Sets (Ps = 1) or clears (Ps = 0) the Blink versus Bold background bit +in the M6845 CRT controller. The parameters are the exact inverse of +the SBI sequence above. Other than that, they behave the same on the +console. In GUI versions of scoansi, the application may distinguish +between these two sequences. + +Source: OpenServer 5.0.6 screen(HW) +Status: SCO private +------------------------------------------------------------------------------- +Sequence: CSI Pn F +Mnemonic: CPL +Description: Cursor preceding line + +Parameter default value: Pn = 1 + +CPL causes the active presentation position to be moved to the first +character position of the n-th preceding line in the presentation +component, where n equals the value of Pn. + +Source: ECMA-48 5th Ed 8.3.13 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI = Pc F +Mnemonic: SNF +Description: set normal foreground color + +Sets normal foreground color according to Pc: + +0 => black 8 => grey +1 => blue 9 => light blue +2 => green 10 => light green +3 => cyan 11 => light cyan +4 => red 12 => light red +5 => magenta 13 => light magenta +6 => brown 14 => yellow +7 => white 15 => light white + +Source: UnixWare 7 display(7) + +Csi =F Set the default normal foreground color to . +This sequence also sets the current color to . + +Source: +Status: SCO private +------------------------------------------------------------------------------- +Sequence: CSI Pn G +Mnemonic: CHA +Description: Cursor character absolute + +Parameter default value: Pn = 1 + +CHA causes the active presentation position to be moved to character +position n in the active line in the presentation component, where n +equals the value of Pn. + +Source: ECMA-48 5th Ed 8.5.9 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI = Pc G +Mnemonic: SNB +Description: set normal background color + +Sets normal background color according to Pc: + +0 => black 8 => grey +1 => blue 9 => light blue +2 => green 10 => light green +3 => cyan 11 => light cyan +4 => red 12 => light red +5 => magenta 13 => light magenta +6 => brown 14 => yellow +7 => white 15 => light white + +Source: UnixWare 7 display(7) + +Csi =G Set the default normal background color to . +This sequence also sets the current color to . + +Source: +Status: SCO private +------------------------------------------------------------------------------- +Sequence: CSI Pn1 ; Pn2 H +Mnemonic: CUP +Description: Cursor position + +Parameter default values: Pn1 = 1; Pn2 = 1 + +CUP causes the active presentation position to be moved in the +presentation component to the n-th line position according to the line +progression and to the m-th character position according to the +character path, where n equals the value of Pn1 and m equals the value +of Pn2. + +Source: ECMA-48 5th Ed 8.3.21 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI = Pc H +Mnemonic: SRF +Description: set reverse foreground color + +Sets reverse foreground color according to Pc: + +0 => black 8 => grey +1 => blue 9 => light blue +2 => green 10 => light green +3 => cyan 11 => light cyan +4 => red 12 => light red +5 => magenta 13 => light magenta +6 => brown 14 => yellow +7 => white 15 => light white + +Source: UnixWare 7 display(7) +Source: +Status: SCO private +------------------------------------------------------------------------------- +Sequence: CSI Pn I +Mnemonic: CHT +Description: Cursor forward tabulation + +Parameter default value: Pn = 1 + +CHT causes the active presentation position to be moved to the +character position corresponding to the n-th following character +tabulation stop in the presentation component, according to the +character path, where n equals the value of Pn. + +Source: ECMA-48 5th Ed 8.5.10 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI = Pc I +Mnemonic: SRB +Description: set reverse background color + +Sets reverse background color according to Pc: + +0 => black 8 => grey +1 => blue 9 => light blue +2 => green 10 => light green +3 => cyan 11 => light cyan +4 => red 12 => light red +5 => magenta 13 => light magenta +6 => brown 14 => yellow +7 => white 15 => light white + +Source: UnixWare 7 display(7) +Source: +Status: SCO private +------------------------------------------------------------------------------- +Sequence: CSI = ? I +Description: Screen saver off + +Source: jaltman@watsun.cc.columbia.edu (Jeffrey Altman) in comp.terminals + <7t2fe1$gj0$1@newsmaster.cc.columbia.edu> +Status: BA80 private +------------------------------------------------------------------------------- +Sequence: CSI Ps J +Mnemonic: ED +Description: Erase in page + +Parameter default value: Ps = 0 + +If the DEVICE COMPONENT SELECT MODE (DCSM) is set to PRESENTATION, ED +causes some or all character positions of the active page (the page +which contains the active presentation position in the presentation +component) to be put into the erased state, depending on the parameter +values: + +0 the active presentation position and the character positions up to + the end of the page are put into the erased state + +1 the character positions from the beginning of the page up to and + including the active presentation position are put into the erased + state + +2 all character positions of the page are put into the erased state + +If the DEVICE COMPONENT SELECT MODE (DCSM) is set to DATA, ED causes +some or all character positions of the active page (the page which +contains the active data position in the data component) to be put +into the erased state, depending on the parameter values: + +0 the active data position and the character positions up to the end + of the page are put into the erased state + +1 the character positions from the beginning of the page up to and + including the active data position are put into the erased state + +2 all character positions of the page are put into the erased state + +Whether the character positions of protected areas are put into the +erased state, or the character positions of unprotected areas only, +depends on the setting of the ERASURE MODE (ERM). + +Source: ECMA-48 5th Ed. 8.3.39 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI = Pc J +Mnemonic: SGF +Description: Set graphic foreground color + +Sets graphic foreground color according to Pc: + +0 => black 8 => grey +1 => blue 9 => light blue +2 => green 10 => light green +3 => cyan 11 => light cyan +4 => red 12 => light red +5 => magenta 13 => light magenta +6 => brown 14 => yellow +7 => white 15 => light white + +Source: UnixWare 7 display(7) +Source: +Status: SCO private +------------------------------------------------------------------------------- +Sequence: CSI ? Ps J +Mnemonic: DECSED +Description: Selective erase in display + +Parameter default value: Ps = 0 + +Depending on the value of Ps: + +0 Erases all "erasable" characters (DECSCA) from and including the + cursor to the end of the screen. Does not affect video line attributes + or video character attributes (SGR). + +1 Erases all "erasable" characters (DECSCA) from the beginning of the + screen to and including the cursor. Does not affect video line + attributes or video character attributes (SGR). + +2 Erases all "erasable" characters (DECSCA) in the entire display. Does + not affect video character attributes or video line attributes (SGR). + +Source: +Status: DEC private; VT200 +------------------------------------------------------------------------------- +Sequence: CSI ? = J +Description: Screen saver on + +Source: jaltman@watsun.cc.columbia.edu (Jeffrey Altman) in comp.terminals + <7t2fe1$gj0$1@newsmaster.cc.columbia.edu> +Status: BA80 private +------------------------------------------------------------------------------- +Sequence: CSI Ps K +Mnemonic: EL +Description: Erase in line + +Parameter default value: Ps = 0 + +If the DEVICE COMPONENT SELECT MODE (DCSM) is set to PRESENTATION, EL +causes some or all character positions of the active line (the line +which contains the active presentation position in the presentation +component) to be put into the erased state, depending on the parameter +values: + +0 the active presentation position and the character positions up to + the end of the line are put into the erased state + +1 the character positions from the beginning of the line up to and + including the active presentation position are put into the erased + state + +2 all character positions of the line are put into the erased state + +If the DEVICE COMPONENT SELECT MODE (DCSM) is set to DATA, EL causes +some or all character positions of the active line (the line which +contains the active data position in the data component) to be put +into the erased state, depending on the parameter values: + +0 the active data position and the character positions up to the end + of the line are put into the erased state + +1 the character positions from the beginning of the line up to and + including the active data position are put into the erased state + +2 all character positions of the line are put into the erased state + +Whether the character positions of protected areas are put into the +erased state, or the character positions of unprotected areas only, +depends on the setting of the ERASURE MODE (ERM). + +Source: ECMA-48 5th Ed. 8.3.41 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI = Pc K +Mnemonic: SGB +Description: set graphic background color + +Sets graphic background color according to Pc: + +0 => black 8 => grey +1 => blue 9 => light blue +2 => green 10 => light green +3 => cyan 11 => light cyan +4 => red 12 => light red +5 => magenta 13 => light magenta +6 => brown 14 => yellow +7 => white 15 => light white + +Source: UnixWare 7 display(7) +Source: +Status: SCO private +------------------------------------------------------------------------------- +Sequence: CSI ? Ps K +Mnemonic: DECSEL +Description: Selective erase in line + +Parameter default value: Ps = 0 + +Depending on the value of Ps: + +0 Erases all "erasable" characters (DECSCA) from the cursor to the end + of the line. Does not affect video line attributes or video character + attributes (SGR). + +1 Erases all "erasable" characters (DECSCA) from the beginning of the + line to and including the cursor position. Does not affect video line + attributes or video character attributes. + +2 Erases all "erasable" characters (DECSCA) on the line. Does not + affect video line attributes or video character attributes. + +Source: +Status: DEC private; VT200 +------------------------------------------------------------------------------- +Sequence: CSI Pn L +Mnemonic: IL +Description: Insert line + +Parameter default value: Pn = 1 + +If the DEVICE COMPONENT SELECT MODE (DCSM) is set to PRESENTATION, IL +is used to prepare the insertion of n lines, by putting into the +erased state in the presentation component the active line (the line +that contains the active presentation position) and, depending on the +setting of the LINE EDITING MODE (VEM), the n-1 preceding or following +lines, where n equals the value of Pn. The previous contents of the +active line and of adjacent lines are shifted away from the active +line. The contents of n lines at the other end of the shifted part are +removed. The active presentation position is moved to the line home +position in the active line. The line home position is established by +the parameter value of SET LINE HOME (SLH). + +The extent of the shifted part is established by SELECT EDITING EXTENT +(SEE). + +Any occurrences of the start or end of a selected area, the start or +end of a qualified area, or a tabulation stop in the shifted part, are +also shifted. + +If the TABULATION STOP MODE (TSM) is set to SINGLE, character +tabulation stops are cleared in the lines that are put into the erased +state. + +If the DEVICE COMPONENT SELECT MODE (DCSM) is set to DATA, IL is used +to prepare the insertion of n lines, by putting into the erased state +in the data component the active line (the line that contains the +active data position) and, depending on the setting of the LINE +EDITING MODE (VEM), the n-1 preceding or following lines, where n +equals the value of Pn. The previous contents of the active line and +of adjacent lines are shifted away from the active line. The contents +of n lines at the other end of the shifted part are removed. The +active data position is moved to the line home position in the active +line. The line home position is established by the parameter value of +SET LINE HOME (SLH). + +Source: ECMA-48 5th Ed. 8.3.67 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI = Ps L +Mnemonic: SEF +Description: Set emulator feature + + Control the various emulator features. Parameter Ps indicates the + action to be taken: + + ---------------------------------------------------------------- + Value Meaning + ---------------------------------------------------------------- + 0 New regions filled with the current attribute (default) + 1 New regions filled with the normal attribute + 2 Disable iBCS2 compliance (default) + 3 Enable iBCS2 compliance + 4 Disable ANSI SGR0 interpretation (default) + 5 Enable ANSI SGR0 interpretation + 6 Disable backwards compatibility mode (default) + 7 Enable backwards compatibility mode (resets margins too) + 8 Cursor motion bound by region (default) + 9 Cursor motion unbound + 10 Enable 8-bit keyboard meta mode (default) + 11 Disable 8-bit keyboard meta mode + 12 Disable debugging for this screen (default) + 13 Enable debugging for this screen (do not use) + 14 Disable global video loop debugging (default) + 15 Enable global video loop debugging (do not use) + 16 Enable M6845 frame buffer optimization (default) + 17 Disable M6845 frame buffer optimization (debugging only) + 20 Disable using ESC for meta (high) bit. + 21 Enable using ESC for meta (high) bit. + +Source: OpenServer 5.0.6 screen(HW) +Status: SCO private +------------------------------------------------------------------------------- +Sequence: CSI Pn M +Mnemonic: DL +Description: Delete line + +Parameter default value: Pn = 1 + +If the DEVICE COMPONENT SELECT MODE (DCSM) is set to PRESENTATION, DL +causes the contents of the active line (the line that contains the +active presentation position) and, depending on the setting of the +LINE EDITING MODE (VEM), the contents of the n-1 preceding or +following lines to be removed from the presentation component, where n +equals the value of Pn. The resulting gap is closed by shifting the +contents of a number of adjacent lines towards the active line. At the +other end of the shifted part, n lines are put into the erased state. + +The active presentation position is moved to the line home position in +the active line. The line home position is established by the +parameter value of SET LINE HOME (SLH). If the TABULATION STOP MODE +(TSM) is set to SINGLE, character tabulation stops are cleared in the +lines that are put into the erased state. + +The extent of the shifted part is established by SELECT EDITING EXTENT (SEE). + +Any occurrences of the start or end of a selected area, the start or +end of a qualified area, or a tabulation stop in the shifted part, are +also shifted. + +If the DEVICE COMPONENT SELECT MODE (DCSM) is set to DATA, DL causes +the contents of the active line (the line that contains the active +data position) and, depending on the setting of the LINE EDITING MODE +(VEM), the contents of the n-1 preceding or following lines to be +removed from the data component, where n equals the value of Pn. The +resulting gap is closed by shifting the contents of a number of +adjacent lines towards the active line. At the other end of the +shifted part, n lines are put into the erased state. The active data +position is moved to the line home position in the active line. The +line home position is established by the parameter value of SET LINE +HOME (SLH). + +Source: ECMA-48 5th Ed 8.3.32 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI = Ps M +Mnemonic: RAS +Description: Return attribute setting + + Use this sequence to return the current settings for the attribute + type specified by Ps. Attributes are returned via the keyboard data + input stream as text decimal numbers separated by a space and + terminated with a newline. The attribute values returned use the ISO + color numbering scheme. For example, if the current normal attribute + setting is bright yellow on a blue background, CSI = 0 M would return + ``14 1\n''. Ps can be one of the following values: + + --------------------------------------------------------------- + Value Meaning + --------------------------------------------------------------- + 0 Return the current normal attribute setting + 1 Return the current reverse video attribute setting + 2 Return the current graphic character attribute setting + +Colour are: +0 => black 8 => grey +1 => blue 9 => light blue +2 => green 10 => light green +3 => cyan 11 => light cyan +4 => red 12 => light red +5 => magenta 13 => light magenta +6 => brown 14 => yellow +7 => white 15 => light white + +Source: OpenServer 5.0.6 screen(HW) +Status: SCO private +------------------------------------------------------------------------------- +Sequence: CSI Ps N +Mnemonic: EF +Description: Erase in field + +Parameter default value: Ps = 0 + +If the DEVICE COMPONENT SELECT MODE (DCSM) is set to PRESENTATION, EF +causes some or all character positions of the active field (the field +which contains the active presentation position in the presentation +component) to be put into the erased state, depending on the parameter +values: + +0 the active presentation position and the character positions up to + the end of the field are put into the erased state + +1 the character positions from the beginning of the field up to and + including the active presentation position are put into the erased + state + +2 all character positions of the field are put into the erased state + +If the DEVICE COMPONENT SELECT MODE (DCSM) is set to DATA, EF causes +some or all character positions of the active field (the field which +contains the active data position in the data component) to be put +into the erased state, depending on the parameter values: + +0 the active data position and the character positions up to the end + of the field are put into the erased state + +1 the character positions from the beginning of the field up to and + including the active data position are put into the erased state + +2 all character positions of the field are put into the erased state + +Whether the character positions of protected areas are put into the +erased state, or the character positions of unprotected areas only, +depends on the setting of the ERASURE MODE (ERM). + +Source: ECMA-48 5th Ed. 8.3.40 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Ps O +Mnemonic: EA +Description Erase in area + +Parameter default value: Ps = 0 + +If the DEVICE COMPONENT SELECT MODE (DCSM) is set to PRESENTATION, EA +causes some or all character positions in the active qualified area +(the qualified area in the presentation component which contains the +active presentation position) to be put into the erased state, +depending on the parameter values: + +0 the active presentation position and the character positions up to + the end of the qualified area are put into the erased state + +1 the character positions from the beginning of the qualified area up + to and including the active presentation position are put into the + erased state + +2 all character positions of the qualified area are put into the + erased state + +If the DEVICE COMPONENT SELECT MODE (DCSM) is set to DATA, EA causes +some or all character positions in the active qualified area (the +qualified area in the data component which contains the active data +position) to be put into the erased state, depending on the parameter +values: + +0 the active data position and the character positions up to the end + of the qualified area are put into the erased state + +1 the character positions from the beginning of the qualified area up + to and including the active data position are put into the erased + state + +2 all character positions of the qualified area are put into the + erased state + +Whether the character positions of protected areas are put into the +erased state, or the character positions of unprotected areas only, +depends on the setting of the ERASURE MODE (ERM). + +Source: ECMA-48 5th Ed. 8.3.37 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn P +Mnemonic: DCH +Description: Delete character + +Parameter default value: Pn = 1 + +If the DEVICE COMPONENT SELECT MODE (DCSM) is set to PRESENTATION, DCH +causes the contents of the active presentation position and, depending +on the setting of the CHARACTER EDITING MODE (HEM), the contents of +the n-1 preceding or following character positions to be removed from +the presentation component, where n equals the value of Pn. The +resulting gap is closed by shifting the contents of the adjacent +character positions towards the active presentation position. At the +other end of the shifted part, n character positions are put into the +erased state. + +The extent of the shifted part is established by SELECT EDITING EXTENT (SEE). + +The effect of DCH on the start or end of a selected area, the start or +end of a qualified area, or a tabulation stop in the shifted part is +not defined by this Standard. + +If the DEVICE COMPONENT SELECT MODE (DCSM) is set to DATA, DCH causes +the contents of the active data position and, depending on the setting +of the CHARACTER EDITING MODE (HEM), the contents of the n-1 preceding +or following character positions to be removed from the data +component, where n equals the value of Pn. The resulting gap is closed +by shifting the contents of the adjacent character positions towards +the active data position. At the other end of the shifted part, n +character positions are put into the erased state. + +Source: ECMA-48 5th Ed 8.3.26 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Ps Q +Mnemonic: SEE +Description: Select editing extent + +Parameter default value: Ps = 0 + +SEE is used to establish the editing extent for subsequent character +or line insertion or deletion. The established extent remains in +effect until the next occurrence of SEE in the data stream. The +editing extent depends on the parameter value: + +0 the shifted part is limited to the active page in the presentation +component + +1 the shifted part is limited to the active line in the presentation +component + +2 the shifted part is limited to the active field in the presentation +component + +3 the shifted part is limited to the active qualified area + +4 the shifted part consists of the relevant part of the entire +presentation component. + +Source: ECMA-48 5th Ed. 8.3.115 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn1 ; Pn2 R +Mnemonic: CPR +Description: Active position report + +Parameter default values: Pn1 = 1; Pn2 = 1 + +If the DEVICE COMPONENT SELECT MODE (DCSM) is set to PRESENTATION, CPR +is used to report the active presentation position of the sending +device as residing in the presentation component at the n-th line +position according to the line progression and at the m-th character +position according to the character path, where n equals the value of +Pn1 and m equals the value of Pn2. + +If the DEVICE COMPONENT SELECT MODE (DCSM) is set to DATA, CPR is used +to report the active data position of the sending device as residing +in the data component at the n-th line position according to the line +progression and at the m-th character position according to the +character progression, where n equals the value of Pn1 and m equals +the value of Pn2. + +CPR may be solicited by a DEVICE STATUS REPORT (DSR) or be sent +unsolicited. + +Source: ECMA-48 5th Ed 8.3.14 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn S +Mnemonic: SU +Description: Scroll up + +Parameter default value: Pn = 1 + +SU causes the data in the presentation component to be moved by n line +positions if the line orientation is horizontal, or by n character +positions if the line orientation is vertical, such that the data +appear to move up; where n equals the value of Pn. + +The active presentation position is not affected by this control +function. + +Source: ECMA-48 5th Ed. 8.3.147 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn T +Mnemonic: SD +Description: Scroll down + +Parameter default value: Pn = 1 + +SD causes the data in the presentation component to be moved by n line +positions if the line orientation is horizontal, or by n character +positions if the line orientation is vertical, such that the data +appear to move down; where n equals the value of Pn. + +The active presentation position is not affected by this control +function. + +Source: ECMA-48 5th Ed. 8.3.113 + +[ NB: that paragraph of the standard erroneously claims SD is CSI Pn ^. ] + +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn1 ; Pn2 ; Pn3 ; Pn4 ; Pn5 T +Description: Initiate hilite mouse tracking + +Source: XFree86: xc/doc/specs/xterm/ctlseqs.ms,v 3.29 1999/09/27 06:29:05 +Status: xterm private; clashes with ECMA-48 +------------------------------------------------------------------------------- +Sequence: CSI Pn U +Mnemonic: NP +Description: Next page + +Parameter default value: Pn = 1 + +NP causes the n-th following page in the presentation component to be +displayed, where n equals the value of Pn. + +The effect of this control function on the active presentation +position is not defined by this Standard. + +Source: ECMA-48 5th Ed. 8.3.87 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn V +Mnemonic: PP +Description: Preceding page + +Parameter default value: Pn = 1 + +PP causes the n-th preceding page in the presentation component to be +displayed, where n equals the value of Pn. The effect of this control +function on the active presentation position is not defined by this +Standard. + +Source: ECMA-48 5th Ed. 8.3.95 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Ps ... W +Mnemonic: CTC +Description: Cursor tabulation control + +Parameter default value: Ps = 0 + +CTC causes one or more tabulation stops to be set or cleared in the +presentation component, depending on the parameter values: + +0 a character tabulation stop is set at the active presentation position +1 a line tabulation stop is set at the active line (the line that + contains the active presentation position) +2 the character tabulation stop at the active presentation position is + cleared +3 the line tabulation stop at the active line is cleared +4 all character tabulation stops in the active line are cleared +5 all character tabulation stops are cleared +6 all line tabulation stops are cleared + +In the case of parameter values 0, 2 or 4 the number of lines affected +depends on the setting of the TABULATION STOP MODE (TSM). + +Source: ECMA-48 5th Ed 8.3.17 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn X +Mnemonic: ECH +Description: Erase character + +Parameter default value: Pn = 1 + +If the DEVICE COMPONENT SELECT MODE (DCSM) is set to PRESENTATION, ECH +causes the active presentation position and the n-1 following +character positions in the presentation component to be put into the +erased state, where n equals the value of Pn. + +If the DEVICE COMPONENT SELECT MODE (DCSM) is set to DATA, ECH causes +the active data position and the n-1 following character positions in +the data component to be put into the erased state, where n equals the +value of Pn. + +Whether the character positions of protected areas are put into the +erased state, or the character positions of unprotected areas only, +depends on the setting of the ERASURE MODE (ERM). + +Source: ECMA-48 5th Ed. 8.3.38 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn Y +Mnemonic: CVT +Description: Cursor line tabulation + +Parameter default value: Pn = 1 + +CVT causes the active presentation position to be moved to the +corresponding character position of the line corresponding to the n-th +following line tabulation stop in the presentation component, where n +equals the value of Pn. + +Source: ECMA-48 8.3.23 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn Z +Mnemonic: CBT +Description: Cursor backward tabulation + +Parameter default value: Pn = 1 + +CBT causes the active presentation position to be moved to the +character position corresponding to the n-th preceding character +tabulation stop in the presentation component, according to the +character path, where n equals the value of Pn. + +Source: ECMA-48 5th Ed 8.3.7 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Ps [ +Mnemonic: SRS +Description: Start reversed string + +Parameter default value: Ps = 0 + +SRS is used to establish in the data component the beginning and the +end of a string of characters as well as the direction of the +string. This direction is opposite to that currently established. The +indicated string follows the preceding text. The established character +progression is not affected. + +The beginning of a reversed string is indicated by SRS with a +parameter value of 1. A reversed string may contain one or more nested +strings. These nested strings may be reversed strings the beginnings +of which are indicated by SRS with a parameter value of 1, or directed +strings the beginnings of which are indicated by START DIRECTED STRING +(SDS) with a parameter value not equal to 0. Every beginning of such a +string invokes the next deeper level of nesting. + +This Standard does not define the location of the active data position +within any such nested string. + +The end of a reversed string is indicated by SRS with a parameter +value of 0. Every end of such a string re-establishes the next higher +level of nesting (the one in effect prior to the string just +ended). The direction is re-established to that in effect prior to the +string just ended. The active data position is moved to the character +position following the characters of the string just ended. + +The parameter values are: + +0 end of a reversed string; re-establish the previous direction +1 beginning of a reversed string; reverse the direction. + +NOTE 1 +The effect of receiving a CVT, HT, SCP, SPD or VT control function +within an SRS string is not defined by this Standard. + +NOTE 2 +The control functions for area definition (DAQ, EPA, ESA, SPA, SSA) +should not be used within an SRS string. + +Source: ECMA-48 5th Ed. 8.3.137 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI [ +Description: Ignore next character + +However, after CSI [ (or ESC [ [) a single character is read and this +entire sequence is ignored. (The idea is to ignore an echoed function +key.) + +Source: Linux console_codes(4) +Status: Linux private; clashes with ECMA-48 SRS +------------------------------------------------------------------------------- +Sequence: CSI Ps \ +Mnemonic: PTX +Description: Parallel texts + +Parameter default value: Ps = 0 + +PTX is used to delimit strings of graphic characters that are +communicated one after another in the data stream but that are +intended to be presented in parallel with one another, usually in +adjacent lines. + +The parameter values are + +0 end of parallel texts +1 beginning of a string of principal parallel text +2 beginning of a string of supplementary parallel text +3 beginning of a string of supplementary Japanese phonetic annotation +4 beginning of a string of supplementary Chinese phonetic annotation +5 end of a string of supplementary phonetic annotations + +PTX with a parameter value of 1 indicates the beginning of the string +of principal text intended to be presented in parallel with one or +more strings of supplementary text. PTX with a parameter value of 2, +3 or 4 indicates the beginning of a string of supplementary text that +is intended to be presented in parallel with either a string of +principal text or the immediately preceding string of supplementary +text, if any; at the same time it indicates the end of the preceding +string of principal text or of the immediately preceding string of +supplementary text, if any. The end of a string of supplementary text +is indicated by a subsequent occurrence of PTX with a parameter value +other than 1. + +PTX with a parameter value of 0 indicates the end of the strings of +text intended to be presented in parallel with one another. + +NOTE + +PTX does not explicitly specify the relative placement of the strings +of principal and supplementary parallel texts, or the relative sizes +of graphic characters in the strings of parallel text. A string of +supplementary text is normally presented in a line adjacent to the +line containing the string of principal text, or adjacent to the line +containing the immediately preceding string of supplementary text, if +any. The first graphic character of the string of principal text and +the first graphic character of a string of supplementary text are +normally presented in the same position of their respective lines. +However, a string of supplementary text longer (when presented) than +the associated string of principal text may be centred on that +string. In the case of long strings of text, such as paragraphs in +different languages, the strings may be presented in successive lines +in parallel columns, with their beginnings aligned with one another +and the shorter of the paragraphs followed by an appropriate amount of +"white space". + +Japanese phonetic annotation typically consists of a few half-size or +smaller Kana characters which indicate the pronunciation or +interpretation of one or more Kanji characters and are presented above +those Kanji characters if the character path is horizontal, or to the +right of them if the character path is vertical. + +Chinese phonetic annotation typically consists of a few Pinyin +characters which indicate the pronunciation of one or more Hanzi +characters and are presented above those Hanzi characters. +Alternatively, the Pinyin characters may be presented in the same line +as the Hanzi characters and following the respective Hanzi +characters. The Pinyin characters will then be presented within +enclosing pairs of parentheses. + +Source: ECMA-48 5th Ed. 8.3.99 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Ps ] +Mnemonic: SDS +Description: Start directed string + +Parameter default value: Ps = 0 + +SDS is used to establish in the data component the beginning and the +end of a string of characters as well as the direction of the +string. This direction may be different from that currently +established. The indicated string follows the preceding text. The +established character progression is not affected. + +The beginning of a directed string is indicated by SDS with a +parameter value not equal to 0. A directed string may contain one or +more nested strings. These nested strings may be directed strings the +beginnings of which are indicated by SDS with a parameter value not +equal to 0, or reversed strings the beginnings of which are indicated +by START REVERSED STRING (SRS) with a parameter value of 1. Every +beginning of such a string invokes the next deeper level of nesting. + +This Standard does not define the location of the active data position +within any such nested string. + +The end of a directed string is indicated by SDS with a parameter +value of 0. Every end of such a string re-establishes the next higher +level of nesting (the one in effect prior to the string just +ended). The direction is re-established to that in effect prior to the +string just ended. The active data position is moved to the character +position following the characters of the string just ended. + +The parameter values are: +0 end of a directed string; re-establish the previous direction +1 start of a directed string; establish the direction left-to-right +2 start of a directed string; establish the direction right-to-left + +NOTE 1 +The effect of receiving a CVT, HT, SCP, SPD or VT control function +within an SDS string is not defined by this Standard. + +NOTE 2 +The control functions for area definition (DAQ, EPA, ESA, SPA, SSA) +should not be used within an SDS string. + +Source: ECMA-48 5th Ed. 8.3.114 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Ps ; Pn ... ] +Description: Linux private sequences + + ESC [ 1 ; n ] Set color n as the underline color + ESC [ 2 ; n ] Set color n as the dim color + ESC [ 8 ] Make the current color pair the default attributes. + ESC [ 9 ; n ] Set screen blank timeout to n minutes. + ESC [ 10 ; n ] Set bell frequency in Hz. + ESC [ 11 ; n ] Set bell duration in msec. + ESC [ 12 ; n ] Bring specified console to the front. + ESC [ 13 ] Unblank the screen. + ESC [ 14 ; n ] Set the VESA powerdown interval in minutes. + +Source: Linux console_codes(4) +Status: Linux private; clashes with ECMA-48 SDS +------------------------------------------------------------------------------- +Sequence: CSI Ps ^ +Mnemonic: SIMD +Description: Select implicit movement direction + +Parameter default value: Ps = 0 + +SIMD is used to select the direction of implicit movement of the data +position relative to the character progression. The direction selected +remains in effect until the next occurrence of SIMD. + +The parameter values are: + +0 the direction of implicit movement is the same as that of the + character progression + +1 the direction of implicit movement is opposite to that of the + character progression. + +Source: ECMA-48 5th Ed. 8.3.120 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn ` +Mnemonic: HPA +Description: Character position absolute + +Parameter default value: Pn = 1 + +HPA causes the active data position to be moved to character position +n in the active line (the line in the data component that contains the +active data position), where n equals the value of Pn. + +Source: ECMA-48 5th Ed. 8.3.57 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn a +Mnemonic: HPR +Description: Character position forward + +Parameter default value: Pn = 1 + +HPR causes the active data position to be moved by n character +positions in the data component in the direction of the character +progression, where n equals the value of Pn. + +Source: ECMA-48 5th Ed. 8.3.59 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn b +Mnemonic: REP +Description: Repeat + +Parameter default value: Pn = 1 + +REP is used to indicate that the preceding character in the data +stream, if it is a graphic character (represented by one or more bit +combinations) including SPACE, is to be repeated n times, where n +equals the value of Pn. If the character preceding REP is a control +function or part of a control function, the effect of REP is not +defined by this Standard. + +Source: ECMA-48 5th Ed. 8.3.103 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Ps c +Mnemonic: DA +Description: Device attributes + +Parameter default value: Ps = 0 + +With a parameter value not equal to 0, DA is used to identify the +device which sends the DA. The parameter value is a device type +identification code according to a register which is to be +established. If the parameter value is 0, DA is used to request an +identifying DA from a device. + +Source: ECMA-48 5th Ed 8.3.24 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI = Ps c +Mnemonic: HSC +Description: Hide or show cursor + + Either hide or show the cursor. When you hide the cursor, scoansi + remembers its previous shape, so that if you restore it, it is + restored to its previous shape. Ps specifies how to handle the + cursor, and can be one of the following values: + + --------------------------------------------------------------- + Value Meaning + --------------------------------------------------------------- + 0 Hide the cursor, saving its shape for a future restore + 1 Restore the cursor after hiding or making it very + visible + 2 Make the cursor very visible, saving its shape for a + future restore. If you move from a hidden to a very + visible shape, the cursor shape is not stored. This + ensures that when a restore command is given, the + original cursor shape is restored. + +Source: OpenServer 5.0.6 screen(HW) +Status: SCO private +------------------------------------------------------------------------------- +Sequence: CSI ? 10 c +Description: Request DPS configuration + +Requests that the terminal sends current DPS (Dot Pattern Set) +configuration. + +For the LA100, response is, for each installed DPS (in descending order): + +ESC [ Ps1 ; Ps2 + +Ps1 Location +010 DPS 1 +011 DPS 2 +012 DPS 3 +013 DPS 4 +014 DPS 5 + +[ These are the same numbers as are used to select the DPSes in SGR --bjh ] + +Ps2 ROM ID +001 US/UK Gothic 10 High Density Primary +002 International Gothic 10 High Density Overlay +003 US/UK Gothic 12 High Density Primary +004 International Gothic 12 High Density Overlay +005 US/UK Courier 10 High Density Primary +006 International Courier 10 High Density Overlay +007 US/UK Courier 12 High Density Primary +008 International Courier 12 High Density Overlay +009 US/UK Orator 10 High Density Primary + +For the LA210, the response is: + +ESC [ Ps1 ; Ps2 ; Ps3 ; Ps4 ; Ps5 SP D + +Ps1 is as for the LA100 + +Ps2 Meaning +1--64 Draft and letter standard DPS +64--128 Draft and memo standard DPS +129--192 Draft and letter custom DPS +192--200 Draft and memo special DPS + +Odd-numbered standard DPSes contain US and UK character sets. +Even-numbered ones also contain many others. + +Ps3 Type style +0 none +1 Gothic +5 Courier +9 Orator + +Ps4 Density +0 12/6 cpi +8 10/5 cpi + +Ps5 Matrix +0 Letter (33x18) +1 Memo (33x9) + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 ppE6,E48-E50 +Status: DEC private; LA100, LA210 +------------------------------------------------------------------------------- +Sequence: CSI ? Ps1 ; Ps2 ; ... ; Psn c +Mnemonic: DS +Description: Device attributes (DEC) + +This is a response from the terminal to DA. +Ps1 specifies the operating level of the terminal. This determines +the meaning of the other Pses (if any). + +Ps1 == 1 VT100; Ps2 is a bitmask: + 1 => STP (processor option) + 2 => AVO (advanced video option) + 4 => GPO (graphics processor option) + 8 => PP??? + +Ps1 == 2 VT102 + +Ps1 == 4 VT132; Ps2 same as VT100 + +Ps1 == 5 VK100 (GIGI) + +Ps1 == 6 VT102 (again?) + +Ps1 == 7 VT131 + +Ps1 == 10 Letterprinter + Ps2 absent => LA100 microcode version 1 (7-bit) + Ps2 == 2 => LA100 microcode version 2 (8-bit) + PS2 == 3 => LA210 microcode version 2 (8-bit) + +Ps1 == 12 VT125; Ps2 same as VT100; Graphics firmware version in Ps3 + +Ps1 == 13 LQP02 + +Ps1 == 15, Ps2 == 1 + LA12 (DECwriter Correspondent) + +Ps1 == 17 LA50 + +Ps1 == 19 DECtalk + +Ps1 == 61 Operating level 1 (emulated VT100) +Ps1 == 62 Operating level 2 (VT200) +Ps1 == 63 Operating level 3 (VT300) +Ps1 == 64 Operating level 4 (VT400) +Ps1 == 65 Operating level 5 (VT500) + + for 61--62, the other Ps are a list of features: + + Ps meaning + 1 132 columns + 2 Printer port + 3 ReGIS graphics + 4 Sixel graphics + 6 Selective erase + 7 Soft character set (DRCS) + 8 User-defined keys + 9 National replacement character sets + 10 Text ruling vector + 11 25th status line + 12 Serbo-croatian (SCS) + 13 Local editing mode + 14 8-bit architecture + 15 Technical character set + 16 Locator device port (ReGIS) + 17 Terminal state reports + 18 Windowing capability + 19 Dual sessions + 21 Horizontal scrolling + 22 Colour + 23 Greek + 24 Turkish + 29 ANSI text locator + 39 Page memory extension + 42 ISO Latin-2 + 44 PC Term + 45 Soft key mapping + 46 ASCII terminal emulation (Wyse, TVI etc) + +Source: +Source: vttest-990712 reports.c +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 + ppC31,E11,E19,E50,E84,E90,G6 +Status: DEC private +------------------------------------------------------------------------------- +Sequence: CSI > 0 c +Mnemonic: DA +Description: Device attributes (secondary request) + +Parameter default value: 0 + +Requests secondary attributes from the terminal (model, firmware +version, options). + +Source: +Status: DEC private; VT220 +------------------------------------------------------------------------------- +Sequence: CSI > 0 ; Pv ; Po c +Mnemonic: DA +Description: Device attributes (secondary response; xterm/VT100) + +xterm returns this to indicate that it's a VT100 even though a real +VT100 wouldn't. + +Source: XFree86: xc/doc/specs/xterm/ctlseqs.ms,v 3.29 1999/09/27 06:29:05 +Status: xterm private +------------------------------------------------------------------------------- +Sequence: CSI > 1 ; Pv ; Po c +Mnemonic: DA +Description: Device attributes (secondary response, VT220) + +"I am a VT220 (identification code of 1), my firmware version is _____ +(Pv), and I have Po options installed." + +Source: +Status: DEC private; VT220 +------------------------------------------------------------------------------- +Sequence: CSI Pn d +Mnemonic: VPA +Description: Line position absolute + +Parameter default value: Pn = 1 + +VPA causes the active data position to be moved to line position n in +the data component in a direction parallel to the line progression, +where n equals the value of Pn. + +Source: ECMA-48 5th Ed. 8.3.158 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn e +Mnemonic: VPR +Description: Line position forward + +Parameter default value: Pn = 1 + +VPR causes the active data position to be moved by n line positions in +the data component in a direction parallel to the line progression, +where n equals the value of Pn. + +Source: ECMA-48 5th Ed. 8.3.160 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn1 ; Pn2 f +Mnemonic: HVP +Description: Character and line position + +Parameter default values: Pn1 = 1; Pn2 = 1 + +HVP causes the active data position to be moved in the data component +to the n-th line position according to the line progression and to the +m-th character position according to the character progression, where +n equals the value of Pn1 and m equals the value of Pn2. + +Source: ECMA-48 5th Ed. 8.3.63 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Ps g +Mnemonic: TBC +Description: Tabulation clear + +Parameter default value: Ps = 0 + +TBC causes one or more tabulation stops in the presentation component +to be cleared, depending on the parameter value: + +0 the character tabulation stop at the active presentation position is + cleared +1 the line tabulation stop at the active line is cleared +2 all character tabulation stops in the active line are cleared +3 all character tabulation stops are cleared +4 all line tabulation stops are cleared +5 all tabulation stops are cleared + +In the case of parameter value 0 or 2 the number of lines affected +depends on the setting of the TABULATION STOP MODE (TSM) + +Source: ECMA-48 5th Ed. 8.3.154 +Status: standard + +If the first parameter has a value of 100 then tab stops are reset to +the default state (one every 8 columns). + +Source: IRIX 6.5.5 xwsh(1G) +Status: SGI private; clashes with ECMA-48 +------------------------------------------------------------------------------- +Sequence: CSI = Pn1 g or CSI = Pn1 ; Pn2 ; Pn3 g +Mnemonic: PRC +Description: Print ROM character + + If only one argument is passed to this function, display the glyph + for the PC ROM character specified by Pn1. If 3 parameters are + passed, then then Pn2 and Pn3 are used to set the graphic character + attribute foreground and background respectively, using the ISO color + numbering scheme described below. + +0 => black 8 => grey +1 => blue 9 => light blue +2 => green 10 => light green +3 => cyan 11 => light cyan +4 => red 12 => light red +5 => magenta 13 => light magenta +6 => brown 14 => yellow +7 => white 15 => light white + +Source: OpenServer 5.0.6 screen(HW) +Status: SCO private +------------------------------------------------------------------------------- +Sequence: CSI > Pn g +Description: Re-set tabs + +Clear all horizontal tab stops, then set tabs every Pn positions (i.e. +Esc-[->-5-g sets tabs every five columns) + +Source: +Status: RBComm? private +------------------------------------------------------------------------------- +Sequence: CSI Ps ... h +Mnemonic: SM +Description: Set mode + +No parameter default value. + +SM causes the modes of the receiving device to be set as specified by +the parameter values. + +NOTE +Private modes may be implemented using private parameters, see 5.4.1 +and 7.4. + +Source: ECMA-48 5th Ed. 8.2.125 + +[ NB: See "Mode:" entries for individual modes ] + +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Ps i +Mnemonic: MC +Description: Media copy + +Parameter default value: Ps = 0 + +MC is used either to initiate a transfer of data from or to an +auxiliary input/output device or to enable or disable the relay of the +received data stream to an auxiliary input/output device, depending on +the parameter value: + +0 initiate transfer to a primary auxiliary device +1 initiate transfer from a primary auxiliary device +2 initiate transfer to a secondary auxiliary device +3 initiate transfer from a secondary auxiliary device +4 stop relay to a primary auxiliary device +5 start relay to a primary auxiliary device +6 stop relay to a secondary auxiliary device +7 start relay to a secondary auxiliary device + +This control function may not be used to switch on or off an auxiliary +device. + +Source: ECMA-48 5th Ed 8.3.82 + +Locator Controller Mode allows the host to communicate directly with +the locator device without terminal intervention (similar to printer +controller mode). When locator controller mode is set, all data +received at the host port is transferred directly to the locator port +without interpretation by the display terminal. The only exceptions +are the communications control characters XON/XOFF (if enabled), and +the control sequence to disabled locator controller mode. All +characters received at locator port are transferred to the host port +without interpretation. The host assumes full responsibility for the +locator device. + +Locator controller mode is desirable for two reasons: + +1. It allows the host to explicitly initialize or configure locator + devices. A foriegn locator device might not wake up in DEC format + for example. + +2. It allows the locator port to be used for other auxilliary input + devices. A bar code reader could be interfaced to the locator port + for example, allowing the terminal to support a bar code reader + without pre-empting the printer port. + +Turn off locator controller mode (MC) CSI 6 i + +Turn on locator controller mode (MC) CSI 7 i + +Source: +Status: standard; DEC modifications +------------------------------------------------------------------------------- +Sequence: CSI ? Ps i + + ?0 Select auxiliary port for ReGIS hardcopy output. + + ?1 copy the cursor line to + the auxilary(printer)Port + + ?2 Select computer port for ReGIS hardcopy output. + + ?3 copy the cursor line to + the modem(host) Port + + ?4 diaable the copy passthru + print mode + + ?5 enable the copy passthru + print mode + +Source: +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 pC31 +Status: Wyse/DEC private +------------------------------------------------------------------------------- +Sequence: CSI Pn j +Mnemonic: HPB +Description: Character position backward + +Parameter default value: Pn = 1 + +HPB causes the active data position to be moved by n character +positions in the data component in the direction opposite to that of +the character progression, where n equals the value of Pn. + +Source: ECMA-48 5th Ed. 8.3.58 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn k +Mnemonic: VPB +Description: Line position backward + +Parameter default value: Pn = 1 + +VPB causes the active data position to be moved by n line positions in +the data component in a direction opposite to that of the line +progression, where n equals the value of Pn. + +Source: ECMA-48 5th Ed. 8.3.159 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn k +Description: disable (n=0) or enable (n=1) keyclick + +Source: termtypes.master 10.2.7 +Status: iBCS2 private; clashes with ECMA-48 HPB +------------------------------------------------------------------------------- +Sequence: CSI Ps ... l +Mnemonic: RM +Description: Reset mode + +No parameter default value. + +RM causes the modes of the receiving device to be reset as specified +by the parameter values. + +NOTE +Private modes may be implemented using private parameters, see 5.4.1 +and 7.4. + +Source: ECMA-48 5th Ed. 8.3.106 + +[ see "Mode:" entries for individual modes ] + +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI = l +Mnemonic: CHC +Description: Clear and home cursor + + Much like the Form Feed (FF) ASCII control character, this sequence + will erase the entire screen using the current fill attribute, but it + will ignore the current scrolling region if set (the entire screen is + always cleared, regardless of the scrolling region settings). The + cursor will be left at the top left of the scrolling region. + +Source: OpenServer 5.0.6 screen(HW) +Status: SCO private +------------------------------------------------------------------------------- +Sequence: CSI = ? l +Description: Insert line up + +Source: jaltman@watsun.cc.columbia.edu (Jeffrey Altman) in comp.terminals + <7t2fe1$gj0$1@newsmaster.cc.columbia.edu> +Status: ? private +------------------------------------------------------------------------------- +Sequence: CSI Ps ... m +Mnemonic: SGR +Description: Select graphic rendition + +Parameter default value: Ps = 0 + +SGR is used to establish one or more graphic rendition aspects for +subsequent text. The established aspects remain in effect until the +next occurrence of SGR in the data stream, depending on the setting of +the GRAPHIC RENDITION COMBINATION MODE (GRCM). Each graphic rendition +aspect is specified by a parameter value: + +[ In the following list, items are marked with their source on the right. + Items with no marking are ECMA-48 standard ones. ] + +0 default rendition (implementation-defined), cancels the effect of + any preceding occurrence of SGR in the data stream regardless of the + setting of the GRAPHIC RENDITION COMBINATION MODE (GRCM) +1 bold or increased intensity +2 faint, decreased intensity or second colour +2 Sets the normal colors. This sequence takes the + next two arguments as the foreground and background + color to set, respectively Uses SCO colour numbers. [SCOANSI] +3 italicized +3 If backwards compatibility mode is enabled, then this sequence is + used to control the role of the blink bit in the M6845 + video controller. The argument following the 3 + indicated whether this bit should be interpreted as + blink, or as bold background. For example, the + sequence CSI 3;1 m will enable blinking text, whereas + the sequence CSI 3;0 m will enable bright background + colors. [SCOANSI] +4 singly underlined +5 slowly blinking (less then 150 per minute) +6 rapidly blinking (150 per minute or more) +6 VGA only: if blink (5) is on, turn blink off and background color to + its light equivalent (that is, brown to yellow) [iBCS2] +6 steady (not blinking) [SCOANSI] +7 negative image +8 concealed characters +9 crossed-out (characters still legible but marked as to be deleted) +10 primary (default) font +10 reset selected mapping, display control flag, and toggle meta flag. [iBCS2] +11 first alternative font +11 select null mapping, set display control flag, reset toggle meta + flag. [iBCS2] +12 second alternative font +12 select null mapping, set display control flag, set toggle meta + flag. (The toggle meta flag causes the high bit of a byte to be + toggled before the mapping table translation is done.) [Linux] +13 third alternative font +14 fourth alternative font +15 fifth alternative font +16 sixth alternative font +17 seventh alternative font +18 eighth alternative font +19 ninth alternative font +20 Fraktur (Gothic) +21 doubly underlined +21 set normal intensity [Linux] +22 normal colour or normal intensity (neither bold nor faint) +23 not italicized, not fraktur +24 not underlined (neither singly nor doubly) +25 steady (not blinking) +26 (reserved for proportional spacing as specified in CCITT + Recommendation T.61) +27 positive image +28 revealed characters +29 not crossed out +30 black display +31 red display +32 green display +33 yellow display +34 blue display +35 magenta display +36 cyan display +37 white display +38 (reserved for future standardization; intended for setting + character foreground colour as specified in ISO 8613-6 [CCITT + Recommendation T.416]) +38 set underscore on, set default foreground color [Linux] +38 If next two parameters are 5 and Ps, set foreground color to Ps [xterm] +38 enables underline option; white foreground with white underscore [iBCS2] +39 default display colour (implementation-defined) +39 disables underline option [iBCS2] +40 black background +41 red background +42 green background +43 yellow background +44 blue background +45 magenta background +46 cyan background +47 white background +48 (reserved for future standardization; intended for setting + character background colour as specified in ISO 8613-6 [CCITT + Recommendation T.416]) +48 If next two parameters are 5 and Ps, set background color to Ps [xterm] +49 default background colour (implementation-defined) +50 (reserved for cancelling the effect of the rendering aspect + established by parameter value 26) +50 Reset to the original color pair [SCOANSI] +51 framed +51 Reset all colors to the system default [SCOANSI] +52 encircled +53 overlined +54 not framed, not encircled +55 not overlined +56 (reserved for future standardization) +57 (reserved for future standardization) +58 (reserved for future standardization) +59 (reserved for future standardization) +60 ideogram underline or right side line +61 ideogram double underline or double line on the right side +62 ideogram overline or left side line +63 ideogram double overline or double line on the left side +64 ideogram stress marking +65 cancels the effect of the rendition aspects established by + parameter values 60 to 64 +90 Set foreground color to (bright) Black [aixterm] +91 Set foreground color to (bright) Red [aixterm] +92 Set foreground color to (bright) Green [aixterm] +93 Set foreground color to (bright) Yellow [aixterm] +94 Set foreground color to (bright) Blue [aixterm] +95 Set foreground color to (bright) Magenta [aixterm] +96 Set foreground color to (bright) Cyan [aixterm] +97 Set foreground color to (bright) White [aixterm] + +90 Set foreground color to (bright) Black [SCOANSI] +91 Set foreground color to (bright) Blue [SCOANSI] +92 Set foreground color to (bright) Green [SCOANSI] +93 Set foreground color to (bright) Cyan [SCOANSI] +94 Set foreground color to (bright) Red [SCOANSI] +95 Set foreground color to (bright) Magenta [SCOANSI] +96 Set foreground color to (bright) Yellow [SCOANSI] +97 Set foreground color to (bright) White [SCOANSI] + +100 Set foreground and background color to default [rxvt] +100 Set background color to (bright) Black [aixterm] +101 Set background color to (bright) Red [aixterm] +102 Set background color to (bright) Green [aixterm] +103 Set background color to (bright) Yellow [aixterm] +104 Set background color to (bright) Blue [aixterm] +105 Set background color to (bright) Magenta [aixterm] +106 Set background color to (bright) Cyan [aixterm] +107 Set background color to (bright) White [aixterm] + +100 Set background color to (bright) Black [SCOANSI] +101 Set background color to (bright) Blue [SCOANSI] +102 Set background color to (bright) Green [SCOANSI] +103 Set background color to (bright) Cyan [SCOANSI] +104 Set background color to (bright) Red [SCOANSI] +105 Set background color to (bright) Magenta [SCOANSI] +106 Set background color to (bright) Yellow [SCOANSI] +107 Set background color to (bright) White [SCOANSI] + +DEC private SGRs: +?1 Set secondary overprint mode [LQP02] +?2 Enable shadow print [LQP02] + +NOTE +The usable combinations of parameter values are determined by the +implementation. + +Source: ECMA-48 5th Ed. 8.3.118 +Source: Linux console_codes(4) +Source: termtypes.master 10.2.7 +Source: XFree86: xc/doc/specs/xterm/ctlseqs.ms,v 3.29 1999/09/27 06:29:05 +Source: XFree86: xc/doc/specs/xterm/ctlseqs.ms,v 3.52 2004/04/18 15:18:48 +Source: UnixWare 7 display(7) +Source: OpenServer 5.0.6 screen(HW) +Status: standard; Linux, iBCS2, aixterm extensions +------------------------------------------------------------------------------- +Sequence: CSI = Ps ; Pn m +Mnemonic: SSM +Description: Set specific margin + + This sequence can be used to set any one of the 4 margins. Parameter + Ps indicates which margin to set (Ps=0 for the top margin, Ps=1 for + the bottom, Ps=2 for the left and Ps=3 for the right). Pn is the row + or column to set the margin to. If after this control sequence has + been processed, the top or bottom margins are not at the top of the + screen, and the left and right margins are at the screen boundary, + then the scrolling region is set to the size specified. If either of + the left or right margins are not at the screen boundary then the + scrolling region is bound by the current margins. + +Source: OpenServer 5.0.6 screen(HW) +Status: SCO private +------------------------------------------------------------------------------- +Sequence: CSI ? = m +Description: Delete line down + +Source: jaltman@watsun.cc.columbia.edu (Jeffrey Altman) in comp.terminals + <7t2fe1$gj0$1@newsmaster.cc.columbia.edu> +Status: ? private +------------------------------------------------------------------------------- +Sequence: CSI Ps n +Mnemonic: DSR +Description: Device status report + +Parameter default value: Ps = 0 + +DSR is used either to report the status of the sending device or to +request a status report from the receiving device, depending on the +parameter values: + +0 ready, no malfunction detected +1 busy, another DSR must be requested later +2 busy, another DSR will be sent later +3 some malfunction detected, another DSR must be requested later +4 some malfunction detected, another DSR will be sent later +5 a DSR is requested +6 a report of the active presentation position or of the active data + position in the form of ACTIVE POSITION REPORT (CPR) is requested + +DSR with parameter value 0, 1, 2, 3 or 4 may be sent either +unsolicited or as a response to a request such as a DSR with a +parameter value 5 or MESSAGE WAITING (MW). + +Source: ECMA-48 5th Ed 8.3.35 +Status: standard + +100-107 + +Report the rgb value (#rrggbb) for a given color using a DCS Pn .y Ps +ST escape sequence (see DCS below for the values that xwsh will use +for Pn). DSR parameter 100 maps to the text color, 101 to the page +color, 102 the selection text color, 103 to the selection page color, +104 to the cursor text color, 105 to the cursor page color, 106 to the +half intensity color and 107 to the bold color. + +Source: IRIX 6.5.5 xwsh(1G) +Status: SGI private; clashes with ECMA-48 +------------------------------------------------------------------------------- +Sequence: CSI ? Pn n +Mnemonic: DSR +Description: Device status report + + Request CSI ? 1 n [LA50] disable all unsolicited status reports. + Request CSI ? 2 n [LA50] enable unsolicited brief reports and + send an extended one. + Request CSI ? 3 n [LA50] enable unsolicited extended reports and + send one. + Response CSI ? 20 n malfunction detected [also LCP01] + then CSI ? Ps ... n + + Ps Fault + 21 Hardware failure + 22 Communication failure (event) + 23 Input buffer overflow (event) + 24 Printer deselected + 26 Cover open + 27 Out of consumables (ink/paper) + 28 Program load failure + 42 Font load failure + 44 Font memory exceeded + 104 Too many fonts + + Request CSI ? 6 n same as CSI 6 n but for VT340s + + Request CSI ? 15 n printer status + Response CSI ? 10 n printer ready + or CSI ? 11 n printer is not ready + or CSI ? 13 n no printer + or CSI ? 19 n printer assigned to other session + + Request CSI ? 25 n User Definable Key status + Response CSI ? 20 n UDKs are unlocked + or CSI ? 21 n UDKs are locked + + Request CSI ? 26 n keyboard dialect + Response CSI ? 27; Ps n in MS Kermit this is controlled by + command SET TERMINAL CHARACTER-SET + Ps Country Ps Country + 1 North American/ASCII + 2 British + 3 Flemish + 4 French Canadian + 5 Danish + 6 Finnish + 7 German + 8 Dutch + 9 Italian + 10 Swiss (French) + 11 Swiss (German) + 12 Swedish + 13 Norwegian/Danish + 14 Hebrew + 14 French + 15 Spanish + 16 Portugese + + Request CSI ? 55 n locator status + Response CSI ? 53 n no locator + or CSI ? 50 n locator ready + or CSI ? 58 n locator busy + + Request CSI ? 56 n locator type + Response CSI ? 57 Ps n Ps = 0 => No locator + Ps = 1 => Locator is a mouse + + Request CSI ? 63 ; Pn n Request checksum of macro definitions + Pn is returned with DECCKSR + +Source: +Source: +Source: +Source: vttest-990712 vt220.c +Source: Reflection TRM (VT) Version 7.0 +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 ppE84,E124 +Status: DEC private; VT200 +------------------------------------------------------------------------------- +Sequence: CSI Ps ... o +Mnemonic: DAQ +Description: Define area qualification + +Parameter default value: Ps = 0 + +DAQ is used to indicate that the active presentation position in the +presentation component is the first character position of a qualified +area. The last character position of the qualified area is the +character position in the presentation component immediately preceding +the first character position of the following qualified area. + +The parameter value designates the type of qualified area: +0 unprotected and unguarded +1 protected and guarded +2 graphic character input +3 numeric input +4 alphabetic input +5 input aligned on the last character position of the qualified area +6 fill with ZEROs +7 set a character tabulation stop at the active presentation position + (the first character position of the qualified area) to indicate the + beginning of a field +8 protected and unguarded +9 fill with SPACEs +10 input aligned on the first character position of the qualified area +11 the order of the character positions in the input field is + reversed, i.e. the last position in each line becomes the first and + vice versa; input begins at the new first position. + +This control function operates independently of the setting of the +TABULATION STOP MODE (TSM). The character tabulation stop set by +parameter value 7 applies to the active line only. + +NOTE +The control functions for area definition (DAQ, EPA, ESA, SPA, SSA) +should not be used within an SRS string or an SDS string. + +Source: ECMA-48 5th Ed 8.3.25 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI p +Mnemonic: SUNBOW +Description: Black on white + +Sets the display into black-on-white mode (the default). + +Source: SunOS 5.7 wscons(7D) [paraphrased] +Status: Sun private +------------------------------------------------------------------------------- +Sequence: CSI Ps p +Description: Begin field attribute + +Ps is a variable representing + +Ps =0 normal + 1 dim + 2 blink + 3 blink dim + 4 blank + 5 blank dim + 6 blank + 7 blank dim + 8 underline + 9 underline dim + 10 underline blink + 11 underline blink dim + 12 underline blank + 13 underline blank dim + 14 Underline blank blink + 15 underline blank blink dim + 16 Inverse + 17 inverse dim + 18 inverse blink + 19 Inverse blink dim + 20 inverse blank + 21 inverse blank dim + 22 inverse blank + 23 inverse blank dim + 24 inverse underline + 25 inverse underline dim + 26 inverse underline blink + 27 inverse underline blink + dim + 28 inverse underline blank + 29 inverse underline blank + dim + 30 inverse underline blank + blink + 31 inverse underline blank + blink di + +Source: +Status: DEC private? +------------------------------------------------------------------------------- +Sequence: CSI Ps q +Mnemonic: DECLL +Description: Load LEDs + + Load the four programmable LEDs on the keyboard according to the + parameter(s). + + Parameter Meaning + ----------------------- + 0 Clear All LEDs (default) + 1 Light L1 + 2 Light L2 + 3 Light L3 + 4 Light L4 + +Source: + + ESC [ 0 q: clear all LEDs + ESC [ 1 q: set Scroll Lock LED + ESC [ 2 q: set Num Lock LED + ESC [ 3 q: set Caps Lock LED + +Source: Linux console_codes(4) +Status: DEC private; VT100 +------------------------------------------------------------------------------- +Sequence: CSI q +Mnemonic: SUNWOB +Description: White on black + +Sets the display to white-on-black mode. + +Source: SunOS 5.7 wscons(7D) [paraphrased] +Status: Sun private +------------------------------------------------------------------------------- +Sequence: CSI Pt ; Pb r +Mnemonic: DECSTBM +Description: Set top and bottom margins + + Pt is the number of the top line of the scrolling region; + Pb is the number of the bottom line of the scrolling region + and must be greater than Pt. + (The default for Pt is line 1, the default for Pb is the end + of the screen) + +Source: +Status: DEC private; VT100 +------------------------------------------------------------------------------- +Sequence: CSI Pn1 ; Pn2 ; Pn3 ; Pn4 r +Mnemonic: CSR +Description: Change Scrolling Region + +Where 3 or more parameters are specified, the parameters are the top, +bottom, left and right margins respectively. If you omit the last +parameter, the extreme edge of the screen is assumed to be the right +margin. + +If any of the parameters are out of bounds, they are clipped. If any +of the parameters would cause an overlap (i.e. the bottom margin is +higher than the top margin, or the right margin is less that the left +margin), then this command is ignored and no scrolling region or +window will be active. If all of the parameters are correct, then the +cursor is moved to the top left hand corner of the newly-created +region. The new region will now define the bounds of all scroll and +cursor motion operations. + +[ If only two parameters are specified, this behaves as DECSTBM ] + +Source: OpenServer 5.0.6 screen(HW) +Status: SCO private +------------------------------------------------------------------------------- +Sequence: CSI Pn r +Mnemonic: SUNSCRL +Description: Set scrolling + +Default parameter: Pn = 0 + +If Pn > 0, sets the screen to scroll Pn lines whenever a LF would push +the cursor off the bottom. Setting it to the number of lines on the +screen causes the screen to clear when it fills. + +If Pn == 0, sets "wrap mode", where the cursor moves back to the top +line of the screen when LFed off the bottom, and where lines are +cleared when the cursor LFs into them. + +Source: SunOS 5.7 wscons(7D) [paraphrased] +Status: Sun private +------------------------------------------------------------------------------- +Sequence: CSI = r +Mnemonic: RSM +Description: Reset margins + + This sequence can be used to reset all of the margins to cover the + entire screen. This will deactivate the scrolling region (if + defined). If not, this sequence has no effect. The cursor is not + moved. + +Source: OpenServer 5.0.6 screen(HW) +Status: SCO private +------------------------------------------------------------------------------- +Sequence: CSI ? Ps r +Description: Restore DEC Private Mode + + Ps = 1 -> Normal/Application Cursor Keys (DECCKM) + Ps = 3 -> 80/132 Column Mode (DECCOLM) + Ps = 4 -> Jump (Fast)/Smooth (Slow) Scroll (DECSCLM) + Ps = 5 -> Normal/Reverse Video (DECSCNM) + Ps = 6 -> Normal/Origin Cursor Mode (DECOM) + Ps = 7 -> No Wraparound/Wraparound Mode (DECAWM) + Ps = 8 -> Auto-repeat/No Auto-repeat Keys (DECARM) + Ps = 9 -> Don't Send/Send MIT Mouse Row & Column on + Button Press + Ps = 40 -> Disallow/Allow 80 <-> 132 Mode + Ps = 41 -> Off/On curses(5) fix + Ps = 44 -> Turn Off/On Margin Bell + Ps = 45 -> No Reverse-wraparound/Reverse-wraparound + Mode + Ps = 46 -> Stop/Start Logging + Ps = 47 -> Use Normal/Alternate Screen Buffer + Ps = 1000 -> mouse bogus sequence (???) + Ps = 1001 -> mouse bogus sequence (???) + +Source: +Status: xterm? private +------------------------------------------------------------------------------- +Sequence: CSI Pn1 ; Pn2 s +Mnemonic: DECSLRM +Description: Set left and right margins + +Sets left margin to Pn1, right margin to Pn2 + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 pE10 +Status: DEC private; VT400, printers +------------------------------------------------------------------------------- +Sequence: CSI s +Mnemonic: SCP +Description: Save cursor position + +Save the current cursor position. The cursor position can be restored +later using the RCP sequence. + +Source: OpenServer 5.0.6 screen(HW) +Status: SCO private +------------------------------------------------------------------------------- +Sequence: CSI s +Mnemonic: SUNRESET +Description: Reset terminal emulator + +Resets modes and font. Doesn't move cursor or change screen. + +Source: SunOS 5.7 wscons(7D) [paraphrased] +Status: Sun private +------------------------------------------------------------------------------- +Sequence: CSI ? Ps s +Description: Save DEC Private Mode + + + Ps = 1 -> Normal/Application Cursor Keys (DECCKM) + Ps = 3 -> 80/132 Column Mode (DECCOLM) + Ps = 4 -> Jump (Fast)/Smooth (Slow) Scroll (DECSCLM) + Ps = 5 -> Normal/Reverse Video (DECSCNM) + Ps = 6 -> Normal/Origin Cursor Mode (DECOM) + Ps = 7 -> No Wraparound/Wraparound Mode (DECAWM) + Ps = 8 -> Auto-repeat/No Auto-repeat Keys (DECARM) + Ps = 9 -> Don't Send/Send MIT Mouse Row & Column on + Button Press + Ps = 40 -> Disallow/Allow 80 <-> 132 Mode + Ps = 41 -> Off/On curses(5) fix + Ps = 44 -> Turn Off/On Margin Bell + Ps = 45 -> No Reverse-wraparound/Reverse-wraparound + Mode + Ps = 46 -> Stop/Start Logging + Ps = 47 -> Use Normal/Alternate Screen Buffer + Ps = 1000 -> mouse bogus sequence (???) + Ps = 1001 -> mouse bogus sequence (???) + +Source: +Status: xterm? private +------------------------------------------------------------------------------- +Sequence: CSI Pn t +Mnemonic: DECSLPP +Description: Set lines per physical page + +On the multipage VT330, you can issue a DECSLPP (set lines per page) command: + + Esc [ 2 4 t 6 pages of 24 lines each, single session + Esc [ 3 6 t 4 pages of 36 lines each, single session + Esc [ 7 2 t 2 pages of 72 lines each, single session + Esc [ 1 4 4 t 1 page of 144 lines each, single session + +Source: + +On LA100: +Sets form length to Pn lines. Sets top margin and active line to line +one. Sets bottom margin to line Pn. Default is 1 + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 pE10 +Status: DEC private; VT330, printers +------------------------------------------------------------------------------- +Sequence: CSI Ps t +Description: Define non-normal (enhance) attribute + +[setup level 1] + +Defines the enhance attribute +(see SGR,Non-0) + + Ps = 0 dim + 1 inverse + 2 underline + +[ On a Wyse-75, this chooses which attribute SGR with a non-zero argument + produces. ] + +Source: +Status: Wyse private +------------------------------------------------------------------------------- +Sequence: CSI Pn ... u +Mnemonic: DECSHTS +Description: Set horizontal tab stops + +Sets horizontal tab stops at the given values for Pn (up to 16 for the +LA100). + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 pE10 +Status: DEC private; printers +------------------------------------------------------------------------------- +Sequence: CSI u +Mnemonic: RCP +Description: Restore cursor position + +Restore the cursor to the position it occupied at the last time an SCP +sequence was received. + +Source: OpenServer 5.0.6 screen(HW) +Status: SCO private +------------------------------------------------------------------------------- +Sequence: CSI Pn ... v +Mnemonic: DECSVTS +Description: Set vertical tab stops + +Set vertical tab stops at lines Pn ... (up to 16 on LA100) + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 pE11 +Status: DEC private; printers +------------------------------------------------------------------------------- +Sequence: CSI Ps w +Mnemonic: DECSHORP +Description: Set horizontal pitch + +Ps = +0 10.0 cpi, 80 cpl +1 10.0 cpi, 80 cpl +2 12.0 cpi, 96 cpl +3 13.2 cpi +4 16.5 cpi, 132 cpl +5 5.0 cpi +6 6.0 cpi +7 6.6 cpi +8 8.25 cpi +9 15.0 cpi + +Source: Reflection TRM (VT) Version 7.0 +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 pE108 +Status: DEC private; printers +------------------------------------------------------------------------------- +Sequence: CSI Ps x +Mnemonic: DECREQTPARM +Description: Request terminal parameters + + The host sends this sequence to request the VT100 to send a DECREPTPARM + sequence back. {Ps} can be either 0 or 1. If 0, the terminal will be + allowed to send unsolicited 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 DECREPTPARMs in response to a + request. + +Source: +Status: DEC private; VT100 +------------------------------------------------------------------------------- +Sequence: CSI Psol ; Ppar ; Pnbits ; Pxspd ; Prspd ; Pcmul ; Pflags x +Mnemonic: DECREPTPARM +Description: Report terminal parameters + + 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 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 paramters are: + + Parameter Value Meaning + ------------------------------------------------------------------ + {sol} 1 This message is a report. + 2 This message is a report, and the terminal is + only reporting on request. + + {par} 1 No parity set + 4 Parity set and odd + 5 Parity set and even + + {nbits} 1 8 bits per character + 2 7 bits per character + + {xspd} 0 Speed set to 50 bps + -and- 8 Speed set to 75 bps + {rspd} 16 Speed set to 110 bps + 24 Speed set to 134.5 bps + {xspd}= 32 Speed set to 150 bps + Transmit 40 Speed set to 200 bps + Speed 48 Speed set to 300 bps + 56 Speed set to 600 bps + {rspd}= 64 Speed set to 1200 bps + Recieve 72 Speed set to 1800 bps + Speed 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 to 19200 bps + 128 Speed set to 38400 bps [VT220?] + 136 Speed set to 57600 bps [RBComm] + 144 Speed set to 115200 bps [RBComm] + + {cmul} 1 The bit rate multiplier is 16 + + {flags} 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. + +Source: +Source: vttest-990712 reports.c +Source: +Status: DEC private; VT100 +------------------------------------------------------------------------------- +Sequence: CSI x +Mnemonic: DGRTC +Description: Read terminal configuration + +This command queries for terminal configuration information, such as +model ID, keyboard type, etc. + +Terminal configuration is sent back in the following form: + + CSI ; ; x + +where: + + = 52 + + = 00--15 + + = 0--7 + + is one of: + 00: No keyboard + 19: Swiss/French + 20: Swiss/German + 21: Canadian/English + 22: Kata Kana + 24: Canadian/French + 25: United States + 26: United Kingdom + 27: French + 28: German + 29: Swedish/Finnish + 30: Spanish + 31: Danish/Norwegian + +Source: Dasher D410 and D460 Display Terminals User's Manual + +Status: Data General private +------------------------------------------------------------------------------- +Sequence: CSI Ps1 ; Ps2 y +Mnemonic: DECTST +Description: Invoke confidence test + +If Ps1 == 2 [VT100] + Ps2 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 Ps2 is 0, no test is performed but the VT100 is reset. + + Test Weight + -------------------------------------------------------------- + POST (ROM checksum, RAM NVR, keyboardm and AVO) 1 + Data Loop Back (Loopback connector required) 2 + EIA Modem Control Test (Loopback connector req.) 4 + Repeat Testing until failure 8 + Printer loopback test 16 + +If Ps1 == 6 [LCP01] + Ps2 = 1 Powerup self-tests + Ps2 = 2 Print a test pattern + +If Ps1 == 4, Ps2 == 1 [VT125] + Further Ps parameters are tests to carry out: + 1 VT125 power-up test + 2 VT125 computer port data loopback test + 3 VT125 auxiliary port data loopback test + 4 VT125 display test + 5 VT125 video bitmap memory test + 9 Repeat selected tests continuously until power-off or failure + +Source: +Source: +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 ppC32,E124 +Status: DEC private; VT100 +------------------------------------------------------------------------------- +Sequence: CSI Ps z +Mnemonic: DECVERP +Description: Set vertical pitch + +Ps = +0 6 lpi, 63 lpp +1 6 lpi, 63 lpp +2 8 lpi, 84 lpp +3 12 lpi, 125 lpp +4 2 lpi, 21 lpp +5 3 lpi, 32 lpp +6 4 lpi, 42 lpp + +Source: Reflection TRM (VT) Version 7.0 +Status: DEC private; printers +------------------------------------------------------------------------------- +Sequence: CSI Pn z +Mnemonic: SSW +Description: Screen switch + +Make the multiscreen number specified by parameter Pn the current one. +If Pn refers to an invalid multiscreen number, no action is taken. + +[ "Multiscreen" seems to be SCOish for "virtual console" ] + +Source: OpenServer 5.0.6 screen(HW) +Status: SCO private +------------------------------------------------------------------------------- +Sequence: CSI = z +Mnemonic: CAT +Description: Clear all tabs + + Clear all tab stops. + +Source: OpenServer 5.0.6 screen(HW) +Status: SCO private +------------------------------------------------------------------------------- +Sequence: CSI Ps | +Mnemonic: DECTTC +Description: Select transmit termination character + +Ps Meaning +0 function disabled +1 Form Feed, FF +2 End of Text, ETX +3 End of Transmission, EOT +4 Carriage Return, CR +5 Device Control 3, DC3 + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 pC27 +Status: DEC private; VT131 only +------------------------------------------------------------------------------- +Sequence: CSI Ps } +Mnemonic: DECPRO +Description: Set protected field attributes + +Ps Meaning +0 no protection +1 bold protection +4 underline protection +5 blink protection +7 reverse video protection +254 all attributes off protection + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 pC27 +Status: DEC private; VT131 only +------------------------------------------------------------------------------- +Sequence: CSI Pn SP @ +Mnemonic: SL +Description: Scroll left + +Parameter default value: Pn = 1 + +SL causes the data in the presentation component to be moved by n +character positions if the line orientation is horizontal, or by n +line positions if the line orientation is vertical, such that the data +appear to move to the left; where n equals the value of Pn. + +The active presentation position is not affected by this control function. + +Source: ECMA-48 5th Ed. 8.3.121 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn SP A +Mnemonic: SR +Description: Scroll right + +Parameter default value: Pn = 1 + +SR causes the data in the presentation component to be moved by n +character positions if the line orientation is horizontal, or by n +line positions if the line orientation is vertical, such that the data +appear to move to the right; where n equals the value of Pn. + +The active presentation position is not affected by this control +function. + +Source: ECMA-48 5th Ed. 8.3.135 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn1 ; Pn2 SP B +Mnemonic: GSM +Description: Graphic size modification + +Parameter default values: Pn1 = 100; Pn2 = 100 + +GSM is used to modify for subsequent text the height and/or the width +of all primary and alternative fonts identified by FONT SELECTION +(FNT) and established by GRAPHIC SIZE SELECTION (GSS). The +established values remain in effect until the next occurrence of GSM +or GSS in the data steam. + +Pn1 specifies the height as a percentage of the height established by GSS + +Pn2 specifies the width as a percentage of the width established by GSS + +Source: ECMA-48 5th Ed. 8.3.55 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn SP C +Mnemonic: GSS +Description: Graphic size selection + +No parameter default value. + +GSS is used to establish for subsequent text the height and the width +of all primary and alternative fonts identified by FONT SELECTION +(FNT). The established values remain in effect until the next +occurrence of GSS in the data stream. + +Pn specifies the height, the width is implicitly defined by the +height. + +The unit in which the parameter value is expressed is that established +by the parameter value of SELECT SIZE UNIT (SSU). + +Source: ECMA-48 5th Ed. 8.3.56 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Ps1 ; Ps2 SP D +Mnemonic: FNT +Description: Font selection + +Parameter default values: Ps1 = 0; Ps2 =0 + +FNT is used to identify the character font to be selected as primary +or alternative font by subsequent occurrences of SELECT GRAPHIC +RENDITION (SGR) in the data stream. Ps1 specifies the primary or +alternative font concerned: + +0 primary font +1 first alternative font +2 second alternative font +3 third alternative font +4 fourth alternative font +5 fifth alternative font +6 sixth alternative font +7 seventh alternative font +8 eighth alternative font +9 ninth alternative font + +Ps2 identifies the character font according to a register which is to +be established. + +Source: ECMA-48 5th Ed. 8.3.53 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn SP E +Mnemonic: TSS +Description: Thin space specification + +No parameter default value. + +TSS is used to establish the width of a thin space for subsequent +text. The established width remains in effect until the next +occurrence of TSS in the data stream, see annex C. + +Pn specifies the width of the thin space. + +The unit in which the parameter value is expressed is that established +by the parameter value of SELECT SIZE UNIT (SSU). + +Source: ECMA-48 5th Ed. 8.3.157 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Ps ... SP F +Mnemonic: JFY +Description: Justify + +Parameter default value: Ps = 0 + +JFY is used to indicate the beginning of a string of graphic +characters in the presentation component that are to be justified +according to the layout specified by the parameter values, see +annex C: + +0 no justification, end of justification of preceding text +1 word fill +2 word space +3 letter space +4 hyphenation +5 flush to line home position margin +6 centre between line home position and line limit position margins +7 flush to line limit position margin +8 Italian hyphenation + +The end of the string to be justified is indicated by the next +occurrence of JFY in the data stream. + +The line home position is established by the parameter value of SET +LINE HOME (SLH). The line limit position is established by the +parameter value of SET LINE LIMIT (SLL). + +Source: ECMA-48 5th Ed. 8.3.73 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn1 ; Pn2 SP G +Mnemonic: SPI +Description: Spacing increment + +No parameter default values. + +SPI is used to establish the line spacing and the character spacing +for subsequent text. The established line spacing remains in effect +until the next occurrence of SPI or of SET LINE SPACING (SLS) or of +SELECT LINE SPACING (SVS) in the data stream. The established +character spacing remains in effect until the next occurrence of SET +CHARACTER SPACING (SCS) or of SELECT CHARACTER SPACING (SHS) in the +data stream, see annex C. + +Pn1 specifies the line spacing + +Pn2 specifies the character spacing + +The unit in which the parameter values are expressed is that +established by the parameter value of SELECT SIZE UNIT (SSU). + +Source: ECMA-48 5th Ed. 8.3.132 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn ... SP H +Mnemonic: QUAD +Description: Quad + +Parameter default value: Ps = 0 + +QUAD is used to indicate the end of a string of graphic characters +that are to be positioned on a single line according to the layout +specified by the parameter values, see annex C: + +0 flush to line home position margin + +1 flush to line home position margin and fill with leader + +2 centre between line home position and line limit position margins + +3 centre between line home position and line limit position margins + and fill with leader + +4 flush to line limit position margin + +5 flush to line limit position margin and fill with leader + +6 flush to both margins + +The beginning of the string to be positioned is indicated by the +preceding occurrence in the data stream of either QUAD or one of the +following formator functions: FORM FEED (FF), CHARACTER AND LINE +POSITION (HVP), LINE FEED (LF), NEXT LINE (NEL), PAGE POSITION +ABSOLUTE (PPA), PAGE POSITION BACKWARD (PPB), PAGE POSITION FORWARD +(PPR), REVERSE LINE FEED (RI), LINE POSITION ABSOLUTE (VPA), LINE +POSITION BACKWARD (VPB), LINE POSITION FORWARD (VPR), or LINE +TABULATION (VT). + +The line home position is established by the parameter value of SET +LINE HOME (SLH). The line limit position is established by the +parameter value of SET LINE LIMIT (SLL). + +Source: ECMA-48 5th Ed. 8.3.102 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Ps SP I +Mnemonic: SSU +Description: Select size unit + +Parameter default value: Ps = 0 + +SSU is used to establish the unit in which the numeric parameters of +certain control functions are expressed. The established unit remains +in effect until the next occurrence of SSU in the data stream. + +The parameter values are +0 CHARACTER - The dimensions of this unit are device-dependent +1 MILLIMETRE +2 COMPUTER DECIPOINT - 0,035 28 mm (1/720 of 25,4 mm) +3 DECIDIDOT - 0,037 59 mm (10/266 mm) +4 MIL - 0,025 4 mm (1/1 000 of 25,4 mm) +5 BASIC MEASURING UNIT (BMU) - 0,021 17 mm (1/1 200 of 25,4 mm) +6 MICROMETRE - 0,001 mm +7 PIXEL - The smallest increment that can be specified in a device +8 DECIPOINT - 0,035 14 mm (35/996 mm) + +Source: ECMA-48 5th Ed. 8.3.139 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Ps SP J +Mnemonic: PFS +Description: Page format selection + +Parameter default value: Ps = 0 + +PFS is used to establish the available area for the imaging of pages +of text based on paper size. The pages are introduced by the +subsequent occurrence of FORM FEED (FF) in the data stream. + +The established image area remains in effect until the next occurrence +of PFS in the data stream. The parameter values are (see also +annex E): + +0 tall basic text communication format +1 wide basic text communication format +2 tall basic A4 format +3 wide basic A4 format +4 tall North American letter format +5 wide North American letter format +6 tall extended A4 format +7 wide extended A4 format +8 tall North American legal format +9 wide North American legal format +10 A4 short lines format +11 A4 long lines format +12 B5 short lines format +13 B5 long lines format +14 B4 short lines format +15 B4 long lines format + +The page home position is established by the parameter value of SET +PAGE HOME (SPH), the page limit position is established by the +parameter value of SET PAGE LIMIT (SPL). + +Source: ECMA-48 5th Ed. 8.3.91 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI ? Ps SP J +Mnemonic: PFS +Description: Page format selection (DEC extensions) + +Ps Paper size +20 Tall extended North American letter format +21 Wide extended North Americal letter format +22 Tall extended A4 format +23 Wide extended A4 format + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 pE110 +Status: DEC private; LN03 +------------------------------------------------------------------------------- +Sequence: CSI Ps SP K +Mnemonic: SHS +Description: Select character spacing + +Parameter default value: Ps = 0 + +SHS is used to establish the character spacing for subsequent +text. The established spacing remains in effect until the next +occurrence of SHS or of SET CHARACTER SPACING (SCS) or of SPACING +INCREMENT (SPI) in the data stream. The parameter values are + +0 10 characters per 25,4 mm +1 12 characters per 25,4 mm +2 15 characters per 25,4 mm +3 6 characters per 25,4 mm +4 3 characters per 25,4 mm +5 9 characters per 50,8 mm +6 4 characters per 25,4 mm + +Source: ECMA-48 5th Ed. 8.3.118 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Ps SP L +Mnemonic: SVS +Description: Select line spacing + +Parameter default value: Ps = 0 + +SVS is used to establish the line spacing for subsequent text. The +established spacing remains in effect until the next occurrence of SVS +or of SET LINE SPACING (SLS) or of SPACING INCREMENT (SPI) in the data +stream. The parameter values are: + +0 6 lines per 25,4 mm +1 4 lines per 25,4 mm +2 3 lines per 25,4 mm +3 12 lines per 25,4 mm +4 8 lines per 25,4 mm +5 6 lines per 30,0 mm +6 4 lines per 30,0 mm +7 3 lines per 30,0 mm +8 12 lines per 30,0 mm +9 2 lines per 25,4 mm + +Source: ECMA-48 5th Ed. 8.3.149 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Ps SP M +Mnemonic: IGS +Description: Identify graphic subrepertoire + +No parameter default value. + +IGS is used to indicate that a repertoire of the graphic characters of +ISO/IEC 10367 is used in the subsequent text. + +The parameter value of IGS identifies a graphic character repertoire +registered in accordance with ISO/IEC 7350. + +Source: ECMA-48 5th Ed. 8.3.66 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn ... SP N +Mnemonic: HTSA +Description: Character tabulation set absolute + +The control function CHARACTER TABULATION SET ABSOLUTE (HTSA) which +was coded as a control sequence with any number of numeric parameters +(CSI Pn ... 02/00 04/14) and the use of which was already declared +deprecated in the fourth Edition of this Standard has now been +removed. + +Source: ECMA-48 5th Ed. F.8.3 +Status: standard; obsolete +------------------------------------------------------------------------------- +Sequence: CSI Ps SP O +Mnemonic: IDCS +Description: Identify device control string + +No parameter default value. + +IDCS is used to specify the purpose and format of the command string +of subsequent DEVICE CONTROL STRINGs (DCS). The specified purpose and +format remain in effect until the next occurrence of IDCS in the data +stream. + +The parameter values are + +1 reserved for use with the DIAGNOSTIC state of the STATUS REPORT + TRANSFER MODE (SRTM) + +2 reserved for Dynamically Redefinable Character Sets (DRCS) according + to Standard ECMA-35. + +The format and interpretation of the command string corresponding to +these parameter values are to be defined in appropriate standards. If +this control function is used to identify a private command string, a +private parameter value shall be used. + +Source: ECMA-48 5th Ed. 8.3.65 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn SP P +Mnemonic: PPA +Description: Page position absolute + +Parameter default value: Pn = 1 + +PPA causes the active data position to be moved in the data component +to the corresponding character position on the n-th page, where n +equals the value of Pn. + +Source: ECMA-48 5th Ed. 8.3.96 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn SP Q +Mnemonic: PPR +Description: Page position forward + +Parameter default value: Pn = 1 + +PPR causes the active data position to be moved in the data component +to the corresponding character position on the n-th following page, +where n equals the value of Pn. + +Source: ECMA-48 5th Ed. 8.3.98 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn SP R +Mnemonic: PPB +Description: Page position backward + +Parameter default value: Pn = 1 + +PPB causes the active data position to be moved in the data component +to the corresponding character position on the n-th preceding page, +where n equals the value of Pn. + +Source: ECMA-48 5th Ed. 8.3.97 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Ps1 ; Ps2 SP S +Mnemonic: SPD +Description: Select presentation directions + +Parameter default value: Ps1 = 0; Ps2 = 0 + +SPD is used to select the line orientation, the line progression, and +the character path in the presentation component. It is also used to +update the content of the presentation component and the content of +the data component. This takes effect immediately. + +Ps1 specifies the line orientation, the line progression and the +character path: + +0 line orientation: horizontal + line progression: top-to-bottom + character path: left-to-right + +1 line orientation: vertical + line progression: right-to-left + character path: top-to-bottom + +2 line orientation: vertical + line progression: left-to-right + character path: top-to-bottom + +3 line orientation: horizontal + line progression: top-to-bottom + character path: right-to-left + +4 line orientation: vertical + line progression: left-to-right + character path: bottom-to-top + +5 line orientation: horizontal + line progression: bottom-to-top + character path: right-to-left + +6 line orientation: horizontal + line progression: bottom-to-top + character path: left-to-right + +7 line orientation: vertical + line progression: right-to-left + character path: bottom-to-top + +Ps2 specifies the effect on the content of the presentation component +and the content of the data component: + +0 undefined (implementation-dependent) + +NOTE +This may also permit the effect to take place after the next +occurrence of CR, FF or any control function which initiates an +absolute movement of the active presentation position or the active +data position. + +1 the content of the presentation component is updated to correspond + to the content of the data component according to the newly + established characteristics of the presentation component; the + active data position is moved to the first character position in the + first line in the data component, the active presentation position + in the presentation component is updated accordingly + +2 the content of the data component is updated to correspond to the + content of the presentation component according to the newly + established characteristics of the presentation component; the active + presentation position is moved to the first character position in the + first line in the presentation component, the active data position in + the data component is updated accordingly. + +Source: ECMA-48 5th Ed. 8.3.130 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn1 ; Pn2 SP T +Mnemonic: DTA +Description: Dimension text area + +No parameter default value. + +DTA is used to establish the dimensions of the text area for subsequent pages. + +The established dimensions remain in effect until the next occurrence +of DTA in the data stream. + +Pn1 specifies the dimension in the direction perpendicular to the line +orientation + +Pn2 specifies the dimension in the direction parallel to the line orientation + +The unit in which the parameter value is expressed is that established +by the parameter value of SELECT SIZE UNIT (SSU). + +Source: ECMA-48 5th Ed 8.3.36 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn SP U +Mnemonic: SLH +Description: Set line home + +No parameter default value. + +If the DEVICE COMPONENT SELECT MODE is set to PRESENTATION, SLH is +used to establish at character position n in the active line (the line +that contains the active presentation position) and lines of +subsequent text in the presentation component the position to which +the active presentation position will be moved by subsequent +occurrences of CARRIAGE RETURN (CR), DELETE LINE (DL), INSERT LINE +(IL) or NEXT LINE (NEL) in the data stream; where n equals the value +of Pn. In the case of a device without data component, it is also the +position ahead of which no implicit movement of the active +presentation position shall occur. + +If the DEVICE COMPONENT SELECT MODE is set to DATA, SLH is used to +establish at character position n in the active line (the line that +contains the active data position) and lines of subsequent text in the +data component the position to which the active data position will be +moved by subsequent occurrences of CARRIAGE RETURN (CR), DELETE LINE +(DL), INSERT LINE (IL) or NEXT LINE (NEL) in the data stream; where n +equals the value of Pn. It is also the position ahead of which no +implicit movement of the active data position shall occur. + +The established position is called the line home position and remains +in effect until the next occurrence of SLH in the data stream. + +Source: ECMA-48 5th Ed. 8.3.122 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn SP V +Mnemonic: SLL +Description: Set line limit + +No parameter default value. + +If the DEVICE COMPONENT SELECT MODE is set to PRESENTATION, SLL is +used to establish at character position n in the active line (the line +that contains the active presentation position) and lines of +subsequent text in the presentation component the position to which +the active presentation position will be moved by subsequent +occurrences of CARRIAGE RETURN (CR), or NEXT LINE (NEL) in the data +stream if the parameter value of SELECT IMPLICIT MOVEMENT DIRECTION +(SIMD) is equal to 1; where n equals the value of Pn. In the case of a +device without data component, it is also the position beyond which no +implicit movement of the active presentation position shall occur. + +If the DEVICE COMPONENT SELECT MODE is set to DATA, SLL is used to +establish at character position n in the active line (the line that +contains the active data position) and lines of subsequent text in the +data component the position beyond which no implicit movement of the +active data position shall occur. It is also the position in the data +component to which the active data position will be moved by +subsequent occurrences of CR or NEL in the data stream, if the +parameter value of SELECT IMPLICIT MOVEMENT DIRECTION (SIMD) is equal +to 1. + +The established position is called the line limit position and remains +in effect until the next occurrence of SLL in the data stream. + +Source: ECMA-48 5th Ed. 8.3.123 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn SP W +Mnemonic: FNK +Description: Function key + +No parameter default value. + +FNK is a control function in which the parameter value identifies the +function key which has been operated. + +Source: ECMA-48 5th Ed. 8.3.52 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Ps SP X +Mnemonic: SPQR +Description: Select print quality and rapidity + +Parameter default value: Ps = 0 + +SPQR is used to select the relative print quality and the print speed +for devices the output quality and speed of which are inversely +related. The selected values remain in effect until the next +occurrence of SPQR in the data stream. The parameter values are + +0 highest available print quality, low print speed +1 medium print quality, medium print speed +2 draft print quality, highest available print speed + +Source: ECMA-48 5th Ed. 8.3.134 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Ps1 ; Ps2 SP Y +Mnemonic: SEF +Description: Sheet eject and feed + +Parameter default values: Ps1 = 0; Ps2 = 0 + +SEF causes a sheet of paper to be ejected from a printing device into +a specified output stacker and another sheet to be loaded into the +printing device from a specified paper bin. + +Parameter values of Ps1 are: +0 eject sheet, no new sheet loaded +1 eject sheet and load another from bin 1 +2 eject sheet and load another from bin 2 +... +n eject sheet and load another from bin n + +Parameter values of Ps2 are: +0 eject sheet, no stacker specified +1 eject sheet into stacker 1 +2 eject sheet into stacker 2 +... +n eject sheet into stacker n + +Source: ECMA-48 5th Ed. 8.3.116 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Ps SP Z +Mnemonic: PEC +Description: Presentation expand or contract + +Parameter default value: Ps = 0 + +PEC is used to establish the spacing and the extent of the graphic +characters for subsequent text. The spacing is specified in the line +as multiples of the spacing established by the most recent occurrence +of SET CHARACTER SPACING (SCS) or of SELECT CHARACTER SPACING (SHS) or +of SPACING INCREMENT (SPI) in the data stream. The extent of the +characters is implicitly established by these control functions. The +established spacing and the extent remain in effect until the next +occurrence of PEC, of SCS, of SHS or of SPI in the data stream. The +parameter values are + +0 normal (as specified by SCS, SHS or SPI) +1 expanded (multiplied by a factor not greater than 2) +2 condensed (multiplied by a factor not less than 0,5) + +Source: ECMA-48 5th Ed. 8.3.90 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn SP [ +Mnemonic: SSW +Description: Set space width + +No parameter default value. + +SSW is used to establish for subsequent text the character escapement +associated with the character SPACE. The established escapement +remains in effect until the next occurrence of SSW in the data stream +or until it is reset to the default value by a subsequent occurrence +of CARRIAGE RETURN/LINE FEED (CR/LF), CARRIAGE RETURN/FORM FEED +(CR/FF), or of NEXT LINE (NEL) in the data stream, see annex C. + + +Pn specifies the escapement. The unit in which the parameter value is +expressed is that established by the parameter value of SELECT SIZE +UNIT (SSU). + +The default character escapement of SPACE is specified by the most +recent occurrence of SET CHARACTER SPACING (SCS) or of SELECT +CHARACTER SPACING (SHS) or of SELECT SPACING INCREMENT (SPI) in the +data stream if the current font has constant spacing, or is specified +by the nominal width of the character SPACE in the current font if +that font has proportional spacing. + +Source: ECMA-48 5th Ed. 8.3.140 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn SP \ +Mnemonic: SACS +Description: Set additional character separation + +Parameter default value: Pn = 0 + +SACS is used to establish extra inter-character escapement for +subsequent text. The established extra escapement remains in effect +until the next occurrence of SACS or of SET REDUCED CHARACTER +SEPARATION (SRCS) in the data stream or until it is reset to the +default value by a subsequent occurrence of CARRIAGE RETURN/LINE FEED +(CR LF) or of NEXT LINE (NEL) in the data stream, see annex C. + +Pn specifies the number of units by which the inter-character +escapement is enlarged. + +The unit in which the parameter value is expressed is that established +by the parameter value of SELECT SIZE UNIT (SSU). + +Source: ECMA-48 5th Ed. 8.3.107 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Ps ... SP ] +Mnemonic: SAPV +Description: Select alternative presentation variants + +Parameter default value: Ps = 0 + +SAPV is used to specify one or more variants for the presentation of +subsequent text. The parameter values are + +0 default presentation (implementation-defined); cancels the effect of + any preceding occurrence of SAPV in the data stream + +1 the decimal digits are presented by means of the graphic symbols + used in the Latin script + +2 the decimal digits are presented by means of the graphic symbols + used in the Arabic script, i.e. the Hindi symbols + +3 when the direction of the character path is right-to-left, each of + the graphic characters in the graphic character set(s) in use which + is one of a left/right-handed pair (parentheses, square brackets, + curly brackets, greater-than/less-than signs, etc.) is presented as + "mirrored", i.e. as the other member of the pair. For example, the + coded graphic character given the name LEFT PARENTHESIS is presented + as RIGHT PARENTHESIS, and vice versa + +4 when the direction of the character path is right-to-left, all + graphic characters which represent operators and delimiters in + mathematical formulae and which are not symmetrical about a vertical + axis are presented as mirrored about that vertical axis + +5 the following graphic character is presented in its isolated form + +6 the following graphic character is presented in its initial form + +7 the following graphic character is presented in its medial form + +8 the following graphic character is presented in its final form + +9 where the bit combination 02/14 is intended to represent a decimal + mark in a decimal number it shall be presented by means of the + graphic symbol FULL STOP + +10 where the bit combination 02/14 is intended to represent a decimal + mark in a decimal number it shall be presented by means of the + graphic symbol COMMA + +11 vowels are presented above or below the preceding character + +12 vowels are presented after the preceding character + +13 contextual shape determination of Arabic scripts, including the + LAM-ALEPH ligature but excluding all other Arabic ligatures + +14 contextual shape determination of Arabic scripts, excluding all + Arabic ligatures + +15 cancels the effect of parameter values 3 and 4 + +16 vowels are not presented + +17 when the string direction is right-to-left, the italicized + characters are slanted to the left; when the string direction is + left-to-right, the italicized characters are slanted to the right + +18 contextual shape determination of Arabic scripts is not used, the + graphic characters - including the digits - are presented in the + form they are stored (Pass-through) + +19 contextual shape determination of Arabic scripts is not used, the + graphic characters- excluding the digits - are presented in the + form they are stored (Pass-through) + +20 the graphic symbols used to present the decimal digits are device + dependent + +21 establishes the effect of parameter values 5, 6, 7, and 8 for the + following graphic characters until cancelled + +22 cancels the effect of parameter value 21, i.e. re-establishes the + effect of parameter values 5, 6, 7, and 8 for the next single + graphic character only. + +Source: ECMA-48 5th Ed. 8.3.108 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Ps SP ^ +Mnemonic: STAB +Description: Selective tabulation + +No parameter default value. + +STAB causes subsequent text in the presentation component to be +aligned according to the position and the properties of a tabulation +stop which is selected from a list according to the value of the +parameter Ps. + +The use of this control function and means of specifying a list of +tabulation stops to be referenced by the control function are +specified in other standards, for example ISO 8613-6. + +Source: ECMA-48 5th Ed. 8.3.144 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Ps SP _ +Mnemonic: GCC +Description: Graphic character combination + +Parameter default value: Ps = 0 + +GCC is used to indicate that two or more graphic characters are to be +imaged as one single graphic symbol. GCC with a parameter value of 0 +indicates that the following two graphic characters are to be imaged +as one single graphic symbol; GCC with a parameter value of 1 and GCC +with a parameter value of 2 indicate respectively the beginning and +the end of a string of graphic characters which are to be imaged as +one single graphic symbol. + +NOTE +GCC does not explicitly specify the relative sizes or placements of +the component parts of a composite graphic symbol. In the simplest +case, two components may be "half-width" and side-by-side. For +example, in Japanese text a pair of characters may be presented +side-by-side, and occupy the space of a normal-size Kanji character. + +Source: ECMA-48 5th Ed. 8.3.54 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn SP ` +Mnemonic: TATE +Description: Tabulation aligned trailing edge + +No parameter default value. + +TATE causes a character tabulation stop calling for trailing edge +alignment to be set at character position n in the active line (the +line that contains the active presentation position) and lines of +subsequent text in the presentation component, where n equals the +value of Pn. TATE causes the replacement of any tabulation stop +previously set at that character position, but does not affect other +tabulation stops. + +A text string aligned with a tabulation stop set by TATE will be +positioned so that the (trailing edge of the) first graphic character +of the string is placed at the tabulation stop. + +Source: ECMA-48 5th Ed. 8.3.153 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn SP a +Mnemonic: TALE +Description: Tabulation aligned leading edge + +No parameter default value. + +TALE causes a character tabulation stop calling for leading edge +alignment to be set at character position n in the active line (the +line that contains the active presentation position) and lines of +subsequent text in the presentation component, where n equals the +value of Pn. TALE causes the replacement of any tabulation stop +previously set at that character position, but does not affect other +tabulation stops. + +A text string aligned with a tabulation stop set by TALE will be +positioned so that the (leading edge of the) last graphic character of +the string is placed at the tabulation stop. + +Source: ECMA-48 5th Ed. 8.3.152 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn SP b +Mnemonic: TAC +Description: Tabulation aligned centred + +No parameter default value. + +TAC causes a character tabulation stop calling for centring to be set +at character position n in the active line (the line that contains the +active presentation position) and lines of subsequent text in the +presentation component, where n equals the value of Pn. TAC causes the +replacement of any tabulation stop previously set at that character +position, but does not affect other tabulation stops. + +A text string centred upon a tabulation stop set by TAC will be +positioned so that the (trailing edge of the) first graphic character +and the (leading edge of the) last graphic character are at +approximately equal distances from the tabulation stop. + +Source: ECMA-48 5th Ed. 8.3.151 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn1 ; Pn2 SP c +Mnemonic: TCC +Description: Tabulation centred on character + +No parameter default value for Pn1 + +Parameter default value: Pn2 = 32 + +TCC causes a character tabulation stop calling for alignment of a +target graphic character to be set at character position n in the +active line (the line that contains the active presentation position) +and lines of subsequent text in the presentation component, where n +equals the value of Pn1, and the target character about which centring +is to be performed is specified by Pn2. TCC causes the replacement of +any tabulation stop previously set at that character position, but +does not affect other tabulation stops. + +The positioning of a text string aligned with a tabulation stop set by +TCC will be determined by the first occurrence in the string of the +target graphic character; that character will be centred upon the +tabulation stop. If the target character does not occur within the +string, then the trailing edge of the first character of the string +will be positioned at the tabulation stop. + +The value of Pn2 indicates the code table position (binary value) of +the target character in the currently invoked code. For a 7-bit code, +the permissible range of values is 32 to 127; for an 8-bit code, the +permissible range of values is 32 to 127 and 160 to 255. + +Source: ECMA-48 5th Ed. 8.3.155 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn SP d +Mnemonic: TSR +Description: Tabulation stop remove + +No parameter default value. + +TSR causes any character tabulation stop at character position n in +the active line (the line that contains the active presentation +position) and lines of subsequent text in the presentation component +to be cleared, but does not affect other tabulation stops. n equals +the value of Pn. + +Source: ECMA-48 5th Ed. 8.3.156 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Ps SP e +Mnemonic: SCO +Description: Select character orientation + +Parameter default value: Ps = 0 + +SCO is used to establish the amount of rotation of the graphic +characters following in the data stream. The established value +remains in effect until the next occurrence of SCO in the data stream. + +The parameter values are +0 0 deg +1 45 deg +2 90 deg +3 135 deg +4 180 deg +5 225 deg +6 270 deg +7 315 deg + +Rotation is positive, i.e. counter-clockwise and applies to the normal +presentation of the graphic characters along the character path. The +centre of rotation of the affected graphic characters is not defined +by this Standard. + +Source: ECMA-48 5th Ed. 8.3.110 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn SP f +Mnemonic: SRCS +Description: Set reduced character separation + +Parameter default value: Pn = 0 + +SRCS is used to establish reduced inter-character escapement for +subsequent text. The established reduced escapement remains in effect +until the next occurrence of SRCS or of SET ADDITIONAL CHARACTER +SEPARATION (SACS) in the data stream or until it is reset to the +default value by a subsequent occurrence of CARRIAGE RETURN/LINE FEED +(CR/LF) or of NEXT LINE (NEL) in the data stream, see annex C. + +Pn specifies the number of units by which the inter-character +escapement is reduced. + +The unit in which the parameter values are expressed is that +established by the parameter value of SELECT SIZE UNIT (SSU). + +Source: ECMA-48 5th Ed. 8.3.136 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn SP g +Mnemonic: SCS +Description: Set character spacing + +No parameter default value. + +SCS is used to establish the character spacing for subsequent +text. The established spacing remains in effect until the next +occurrence of SCS, or of SELECT CHARACTER SPACING (SHS) or of SPACING +INCREMENT (SPI) in the data stream, see annex C. + +Pn specifies the character spacing. + +The unit in which the parameter value is expressed is that established +by the parameter value of SELECT SIZE UNIT (SSU). + +Source: ECMA-48 5th Ed. 8.3.112 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn SP h +Mnemonic: SLS +Description: Set line spacing + +No parameter default value. + +SLS is used to establish the line spacing for subsequent text. The +established spacing remains in effect until the next occurrence of SLS +or of SELECT LINE SPACING (SVS) or of SPACING INCREMENT (SPI) in the +data stream. + +Pn specifies the line spacing. + +The unit in which the parameter value is expressed is that established +by the parameter value of SELECT SIZE UNIT (SSU). + +Source: ECMA-48 5th Ed. 8.3.124 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn SP i +Mnemonic: SPH +Description: Set page home + +No parameter default value. + +If the DEVICE COMPONENT SELECT MODE is set to PRESENTATION, SPH is +used to establish at line position n in the active page (the page that +contains the active presentation position) and subsequent pages in the +presentation component the position to which the active presentation +position will be moved by subsequent occurrences of FORM FEED (FF) in +the data stream; where n equals the value of Pn. In the case of a +device without data component, it is also the position ahead of which +no implicit movement of the active presentation position shall occur. + +If the DEVICE COMPONENT SELECT MODE is set to DATA, SPH is used to +establish at line position n in the active page (the page that +contains the active data position) and subsequent pages in the data +component the position to which the active data position will be moved +by subsequent occurrences of FORM FEED (FF) in the data stream; where +n equals the value of Pn. It is also the position ahead of which no +implicit movement of the active presentation position shall occur. + +The established position is called the page home position and remains +in effect until the next occurrence of SPH in the data stream. + +Source: ECMA-48 5th Ed. 8.3.131 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Pn SP j +Mnemonic: SPL +Description: Set page limit + +No parameter default value. + +If the DEVICE COMPONENT SELECT MODE is set to PRESENTATION, SPL is +used to establish at line position n in the active page (the page that +contains the active presentation position) and pages of subsequent +text in the presentation component the position beyond which the +active presentation position can normally not be moved; where n equals +the value of Pn. In the case of a device without data component, it is +also the position beyond which no implicit movement of the active +presentation position shall occur. + +If the DEVICE COMPONENT SELECT MODE is set to DATA, SPL is used to +establish at line position n in the active page (the page that +contains the active data position) and pages of subsequent text in the +data component the position beyond which no implicit movement of the +active data position shall occur. + +The established position is called the page limit position and remains +in effect until the next occurrence of SPL in the data stream. + +Source: ECMA-48 5th Ed. 8.3.133 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Ps1 ; Ps2 SP k +Mnemonic: SCP +Description: Select character path + +No parameter default values. + +SCP is used to select the character path, relative to the line +orientation, for the active line (the line that contains the active +presentation position) and subsequent lines in the presentation +component. It is also used to update the content of the active line in +the presentation component and the content of the active line (the +line that contains the active data position) in the data +component. This takes effect immediately. + +Ps1 specifies the character path: + +1 left-to-right (in the case of horizontal line orientation), or + top-to-bottom (in the case of vertical line orientation) + +2 right-to-left (in the case of horizontal line orientation), or + bottom-to-top (in the case of vertical line orientation) + +Ps2 specifies the effect on the content of the presentation component +and the content of the data component: + +0 undefined (implementation-dependent) + +NOTE +This may also permit the effect to take place after the next +occurrence of CR, NEL or any control function which initiates an +absolute movement of the active presentation position or the active +data position. + +1 the content of the active line in the presentation component (the + line that contains the active presentation position) is updated to + correspond to the content of the active line in the data component + (the line that contains the active data position) according to the + newly established character path characteristics in the presentation + component; the active data position is moved to the first character + position in the active line in the data component, the active + presentation position in the presentation component is updated + accordingly + +2 the content of the active line in the data component (the line that + contains the active data position) is updated to correspond to the + content of the active line in the presentation component (the line + that contains the active presentation position) according to the newly + established character path characteristics of the presentation + component; the active presentation position is moved to the first + character position in the active line in the presentation component, + the active data position in the data component is updated + accordingly. + +Source: ECMA-48 5th Ed. 8.3.111 +Status: standard +------------------------------------------------------------------------------- +Sequence: CSI Ps SP q +Mnemonic: DECSCUSR +Description: Set cursor style + + Where ps can be 0, 1, 2, 3, 4 meaning Blinking Block, Blinking Block, + Steady Block, Blink Underline, Steady Underline, respectively. + +Source: +Status: DEC private; VT520 +------------------------------------------------------------------------------- +Sequence: CSI ... SP s +Mnemonic: DECNS +Description: New sheet + +Source: +Status: DEC private; PPL3 +------------------------------------------------------------------------------- +Sequence: CSI ... SP w +Mnemonic: DECSITF +Description: Select input tray failover + +Source: +Status: DEC private; PPL3 +------------------------------------------------------------------------------- +Sequence: CSI ... SP x +Mnemonic: DECSDPM +Description: Set Duplex Print Mode + +Source: +Status: DEC private; PPL3 +------------------------------------------------------------------------------- +Sequence: CSI ... SP z +Mnemonic: DECVPFS +Description: Variable page format select + +Source: +Status: DEC private; PPL3 +------------------------------------------------------------------------------- +Sequence: CSI ... SP { +Mnemonic: DECSSS +Description: Set sheet size + +Source: +Status: DEC private; PPL3 +------------------------------------------------------------------------------- +Sequence: CSI ... SP | +Mnemonic: DECRVEC +Description: Draw relative vector + +Source: +Status: DEC private; PPL3 +------------------------------------------------------------------------------- +Sequence: CSI ! +Description: Determining RIP support + +The ESC[! is the code that RIP supporting BBS's use to determine +whether your terminal has RIP (Remote Imaging Protocol) support. If so, +then your terminal returns a string to the remote side in the form +"RIPScript version x.xx" or some such thing. This is probably why you have +been receiving that code. + +I found the RIPscript 1.54 spec at ftp.telegrafix.com. + +Source: + +Status: TeleGrafix private; clashes with ECMA-48 +------------------------------------------------------------------------------- +Sequence: CSI ! p +Mnemonic: DECSTR +Description: Soft terminal reset + +sets terminal to power-up default states + +Source: + "VT220 Programmer Pocket Guide" EK-VT220-HR-001, page 33 + +(keeps screen) + +Source: +Status: DEC private; VT220 +------------------------------------------------------------------------------- +Sequence: CSI Pn1 ; Pn2 ; Pn3 ; Pn4 ! s +Mnemonic: DECFIL +Description: Right justification + +0 <= Pn1 <= 1535 (1/720-inch units, 1/120-inch increments) +0 <= Pn2 <= 255 (number of printing characters) +0 <= Pn3 <= 1535 (1/720-inch units, 1/120-inch increments) +0 <= Pn4 <= 255 (number of spaces) + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 pE102 +Status: DEC private; LQP02 +------------------------------------------------------------------------------- +Sequence: CSI Ps ! v +Mnemonic: DECASFC +Description: Automatic sheet feeder control + +Source: +Status: DEC private; PPL2 +------------------------------------------------------------------------------- +Sequence: CSI Pn ! w +Mnemonic: DECUND +Description: Select undeline character + +Select underline character Pn other than default character. + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 pE90 +Status: DEC private; LQP02 +------------------------------------------------------------------------------- +Sequence: CSI Ps ! x +Mnemonic: DECPTS +Description: Printwheel table select + +Ps == 0,1 Select printwheel table 1 +Ps == 2 Select printwheel table 2 + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 pE90 +Status: DEC private; LQP02 +------------------------------------------------------------------------------- +Sequence: CSI Pn ! y +Mnemonic: DECSS +Descripton: Select spacing + +Set horizontal spacing increment (proportional spacing mode). + +6 <= Pn <= 768 (decipoint units, 1/720 inch) + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 ppE91,E99 +Status: DEC private; LQP02 +------------------------------------------------------------------------------- +Sequence: CSI Ps1 ; Pn2 ; Pn3 ; Pn4 ; Pn5 ! | +Mnemonic: DECVEC +Description: Draw vector + +Ps1 Meaning +0 Draw X line +1 Draw Y line + +Pn1 = X start value +Pn2 = Y start value +Pn4 = line length +Pn5 = line width + +Units are decipoints or pixels according to SSU. + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 pE107 +Status: DEC private; LN03 +------------------------------------------------------------------------------- +Sequence: CSI ... ! } +Mnemonic: DECFIN +Description: Document finishing + +Instructs the device whether to change the offset at which paper is +delivered to the output tray. + +Source: +Status: DEC private; LQP03 +------------------------------------------------------------------------------- +Sequence: CSI Ps1 ; Ps2 " p +Mnemonic: DECSCL +Description: Set compatibility level + +CSI 6 1 " p -> Level 1 (VT100) compatibility +CSI 6 2 " p -> Level 2 (VT200) compatibility, 8-bit controls +CSI 6 2 ; 0 " p -> ditto +CSI 6 2 ; 1 " p -> ditto, 7-bit controls +CSI 6 2 ; 2 " p -> ditto, 8-bit controls + +Ps1 = 63 selects Level 3 (VT300) +Ps1 = 64 selects Level 4 (VT400) + +Source: VT220 Ref Manual +Source: Reflection TRM (VT) Version 7.0 +Status: DEC private; VT200 +------------------------------------------------------------------------------- +Sequence: CSI Ps " q +Mnemonic: DECSCA +Description: Select character attributes + +Ps Action + 0 All attributes off (does not apply to SGR) + 1 Designate character as "non-erasable" by DECSEL/DECSED. (Attribute on) + 2 Designate character "erasable" by DECSEL/DECSED. (Attribute off) + + +NOTE: A parameter value of 0 implies the default which is attributes +off (erasable by DECSEL/DECSED). A parameter value of 2 is an explicit +request for this attribute to be off (erasable by DECSEL/DECSED). + +Souce: +Status: DEC private +------------------------------------------------------------------------------- +Sequence: CSI Pn1 ; Pn2 " s +Mnemonic: DECPWA +Description: Page width alignment + +Pn1 specifies the left edge of the print arera relatiove to the left +edge of platen. Pn2 specifies width of print area. Pn1 and Pn2 are +measured in units of 1/12 inch. + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 pE42 +Status: DEC private; printers +------------------------------------------------------------------------------- +Sequence: CSI ... " v +Mnemonic: DECRQDE +Description: Request device extent + +Source: +Status: DEC private; VT400 +------------------------------------------------------------------------------- +Sequence: CSI ... " w +Mnemonic: DECRPDE +Description: Report device extent + +Source: +Status: DEC private; VT400 +------------------------------------------------------------------------------- +Sequence: CSI ... " z +Mnemonic: DECDEN +Description: Select density + +ESC [ 0 " z selects default (draft) density +ESC [ 1 " z selects draft density +ESC [ 2 " z selects letter density (medium or high density depending on + DPS). + +Source: +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 pE46 +Status: DEC private; printers +------------------------------------------------------------------------------- +Sequence: CSI Ps ; " { String ST +Mnemonic: DECRFS +Description: Request font status + +Ps Meaning +0 Send status of all fonts +1 Send status of ROM resident, down line loaded, and cartridge +2 Send status of memory bytes remaining for host loaded fonts + +String = type family and font + +Response (DECFSR) is: + +CSI 2 " nnn ST + +Where nnn = number of bytes remaining in memory + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 pE107 +Status: DEC private; LN03 + +Response is: + +ESC [ ? Pn ; Pm SP D + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 pE124 +Status: DEC private; LCP01 +------------------------------------------------------------------------------- +Sequence: CSI Pn $ p +Mnemonic: DECRQM +Description: Request mode settings + +Pn is a mode number, as passed to SM or RM. It can include a leading +? to specify a DEC private mode. The terminal returns CSI Pn ; Pn2 $ +y, where Pn2 is 1 if the mode is in the set state. + +Source: Paul Williams in comp.terminals + <7t76qq$23q$1@nnrp1.deja.com> +Status: DEC private +------------------------------------------------------------------------------- +Sequence: CSI Pn1 ; Pn2 ; Pn3 ; Pn4 ; Ps1 ... Psn $ r +Mnemonic: DECCARA +Description: Change attributes in rectangular area + +Change the visual attributes for characters in a specified area of +display memorythe characters themselves remain unchanged. The DECSACE +control function is used to determine whether all or just some of the +character positions are affected. The parameters are: + +Pn1 Top line +Pn2 Left column +Pn3 Bottom line +Pn4 Right column + +Source: Reflection TRM (VT) Version 7.0 + +Ps1 ... Psn are standard SGR character attributes. + +Source: +Status: DEC private; VT420 +------------------------------------------------------------------------------- +Sequence: CSI Pn1 ; Pn2 ; Pn3 ; Pn4 ; Ps1 ; ... ; Psn $ t +Mnemonic: DECRARA +Description: Reverse attributes in rectangular area + +Reverse the visual attributes for characters in a specified area of +display memorythe characters themselves remain unchanged. The DECSACE +control function is used to determine whether all or just some of the +character positions are affected. The parameters are: + +Pn1 Top line +Pn2 Left column +Pn3 Bottom line +Pn4 Right column +Ps1...Psn Normal SGR character attributes + +Source: Reflection TRM (VT) Version 7.0 +Status: DEC private; VT420 +------------------------------------------------------------------------------- +Sequence: CSI Ps ; ... $ u +Mnemonic: DECRQTSR +Description: Request terminal state report + +Ps = 1 => Host request for a terminal state report (returns DECTSR) + +Ps = 2 => Host request for color table report. In this case the + second parameter signifies the colour space; 0 or 1 + indicates HLS (the default) and 2 indicates RGB. The reply + is DECCTR. If the terminal doesn't understand, it responds + with DCS 0 $ s ST. + +RBComm always returns DCS 1 $ ST (no state information returned) + +Source: +Source: +Source: Reflection TRM (VT) Version 7.0 +Status: DEC private +------------------------------------------------------------------------------- +Sequence: CSI Pn1 ; Pn2 ; Pn3 ; Pn4 ; Pn5 ; Pn6 ; Pn7 ; Pn8 $ v +Mnemonic: DECCRA +Description: Copy rectangular area + +Copy a rectangular area of display memory from one part of page memory +to another. Characters and their attributes remain unchanged. The +parameters Pn1 through Pn5 describe the area to be copied: + +Pn1 Top line +Pn2 Left column +Pn3 Bottom line +Pn4 Right column +Pn5 Page number + +The parameters through describe where the area should be copied: + +Pn6 Top line +Pn7 Left column +Pn8 Page number + +Source: Reflection TRM (VT) Version 7.0 +Status: DEC private; VT400 +------------------------------------------------------------------------------- +Sequence: CSI Ps $ w +Mnemonic: DECRQPSR +Description: Request presentation state report + +/* + * From Kermit 3.13 & VT220 pocket guide + * + * Request CSI 1 $ w cursor information report + +See DECCIR for response + +CSI 2 $ w tab stop report + +See DECTABSR for response + +Source: +Source: vttest-990712 vt420.c +Status: DEC private; VT300 +------------------------------------------------------------------------------- +Sequence: CSI Pn1 ; Pn2 ; Pn3 ; Pn4 ; Pn5 $ x +Mnemonic: DECFRA +Description: Fill rectangular area + +Fill an area in display memory with a specified character. The fill +character takes on the visual attributes set by the last SGR control +function, not the attributes of the characters that it replaces. +Current line attributes (for example, the attributes that specify +double-wide, double-high characters) remain unchanged. The parameters +are: + +Pn1 Decimal code of fill character +Pn2 Top line +Pn3 Left column +Pn4 Bottom line +Pn5 Right column + +Source: Reflection TRM (VT) Version 7.0 +Status: DEC private; VT400 +------------------------------------------------------------------------------- +Sequence: CSI Pn ; Ps $ y +Mnemonic: DECRPM +Description: Report mode settings + +You can query setting of this with + CSI ? 67 $ p +response CSI ? 67 ; Ps $ y + where Ps : 0 = unkown mode + 1 = set + 2 = reset + 3 = permanently set + 4 = permanently reset + This query is possible if terminal supports terminal interrogation commands + (== VT400 series or better). + +Source: +Source: +Status: DEC private; VT300 +------------------------------------------------------------------------------- +Sequence: CSU Pn1 ; Pn2 ; Pn3 ; Pn4 $ z +Mnemonic: DECERA +Description: Erase rectangular area + +Erase the characters (and their visual attributes) in the specified +rectangular area and replace each one with a space (decimal 32). Line +attributes (for example, the attributes that specify double-wide, +double-high characters) are not erased. The areas to erase are: + +Pn1 Top line +Pn2 Left column +Pn3 Bottom line +Pn4 Right column + +Source: Reflection TRM (VT) Version 7.0 +Status: DEC private; VT400 +------------------------------------------------------------------------------- +Sequence: CSI Pn1 ; Pn2 ; Pn3 ; Pn4 $ { +Mnemonic: DECSERA +Description: Selective erase rectangular area + +Erase all erasable characters from a specified rectangular area in +page memory; a space character replaces erased character +positions. The DECSERA control function does not change: + +* Visual attributes set by the select graphic rendition (SGR) function. +* Protection attributes set by DECSCA. +* Line attributes. + +The parameters are: +Pn1 Top line +Pn2 Left column +Pn3 Bottom line +Pn4 Right column + +Source: Reflection TRM (VT) Version 7.0 +Status: DEC private; VT400 +------------------------------------------------------------------------------- +Sequence: CSI Ps $ | +Mnemonic: DECSCPP +Description: Set columns per page + The VT330 also implements the DECSCPP (set columns per page) as the + preferred new way; it does not reset the scrolling regions or clear + page memory as DECCOLM does. + + Esc [ $ | sets each page to 80 columns + Esc [ 0 $ | sets each page to 80 columns + Esc [ 8 0 $ | sets each page to 80 columns + Esc [ 1 3 2 $ | sets each page to 132 columns + +Source: +Status: DEC private; VT330 +------------------------------------------------------------------------------- +Sequence: CSI Ps $ } +Mnemonic: DECSASD +Description: Select active status display + +Ps = 0 -> none +Ps = 1 -> status + +This means CSI 0 $ } selects the main display, and CSI 1 $ } selects +the status line. + +Source: +Source: +Status: DEC private; VT320 +------------------------------------------------------------------------------- +Sequence: CSI Ps $ ~ +Mnemonic: DECSSDT +Desription: Select status display type + +Ps = 0 -> none +Ps = 1 -> indicator (shows cursor position etc) +Ps = 2 -> host writeable + +Source: +Source: +Status: DEC private; VT320 +------------------------------------------------------------------------------- +Sequence: CSI Pn & q +Mnemonic: DECSNC +Description: Set number of copies + +Source: +Status: DEC private; PPL3 +------------------------------------------------------------------------------- +Sequence: CSI ... & u +Mnemonic: DECRQUPSS +Description: Request user-preferred supplemental set + +Source: +Status: DEC private; VT400 +------------------------------------------------------------------------------- +Sequence: CSI Pe ; Pb ; Pr ; Pc ; Pp & w +Mnemonic: DECLRP +Description: Locator report + +When a selected trigger event occurs such as a button press or +release, the terminal transmits a locator position report as follows. + +Pe is the event code +Pb is the button code +Pr is the row coordinate +Pc is the column coordinate +Pp is the third coordinate (page number) + +Pe, the event code indicates what event caused this report to be +generated. The following event codes are defined: + +0 - request, the terminal received an explicit request + for a locator report, but the locator is unavailable +1 - request, the terminal received an explicit + request for a locator report +2 - left button down +3 - left button up +4 - middle button down +5 - middle button up +6 - right button down +7 - right button up +8 - fourth button down +9 - fourth button up +10 - locator outside filter rectangle + +Pb is the button code, ASCII decimal 0-15 indicating which buttons are +down if any. The state of the four buttons on the locator correspond +to the low four bits of the decimal value, "1" means button depressed + +0 - no buttons down +1 - right +2 - middle +4 - left +8 - fourth + +Pr is the row coordinate of the locator position in the page, encoded +as an ASCII decimal value. If Pr is omitted, the locator position is +undefined (outside the terminal window for example). + +Pc is the column coordinate of the locator position in the page, +encoded as an ASCII decimal value. If Pc is omitted, the locator +position is undefined (outside the terminal window for example). + +Pp is the page coordinate of the locator position encoded as an ASCII +decimal value. The page coordinate may be omitted if the locator is on +page one (the default). + +Each locator report includes both the specific transition which caused +this event, and the current button state. This allows software to +determine what event just occured and which buttons are down without +keeping track of previous events or button state. In a multiprocess +shared locator environment, an application may not know the previous +button state. This dual reporting also allows applications to recover +from lost locator reports. + +Each locator event generates a single report. In the rare situation +where two events occur simultaneously (within a single sampling +period), the terminal will report this as two separate events. The +order of reporting shall be by increasing event code number (left +button first). + +Locator events are queued in the keyboard input silo just like +keystrokes. Each locator event occupies one position in the silo (the +keyboard silo currently must have at least 9 positions). If the input +silo becomes full, the locator and keyboard are locked until there is +again room in the silo. The sequential order of keystroke and locator +events is strictly maintained. + +It is the responsibility of the host to accept data fast enough to +avoid locking the locator unintentionally. The limited buffering +inside the terminal gives the host a little more time to process +locator events smoothly. + +When the keyboard is locked, the "wait" indicator on the keyboard +turns on. The keyboard is automatically locked any time the keyboard +input silo is full. The keyboard can be locked explicitly using the +keyboard action mode (KAM) control function. + +When the locator is locked, the terminal continues to track the +locator, but the input cursor changes shape to appear as a wristwatch +(or other shape indicating to wait). The wristwatch cursor indicates +that locator button transitions will be ignored, but allows the user +to continue positioning in anticipation of the locator being +unlocked. The locator is automatically locked any time the input silo +is full. + +Locator-ahead, analogous to keyboard type-ahead is supported by having +each report include the locator position at the time of the event, and +maintaining the sequential order of keystroke and locator events. + +A final implication of using the keyboard silo to buffer text locator +events is that locator and keyboard input should be associated with +the same session at all times. The session to receive these events is +sometimes called the "active session" or "input focus". In a +multi-session windowing environment, the input cursor is allowed to +roam freely over the entire screen in response to locator +movement. The input cursor is never occluded when locator reporting is +enabled in one or more sessions. Each session enables locator +reporting independently. The following cases describe the locator +interaction with session viewports and scroll regions. + +1. The input cursor is within the active session's viewport. Pressing + a button on the locator sends alocator report when enabled. + +2. The input cursor is inside the active session's viewport, but + outside the range of defined coordinates for that session. Pressing + a button on the locator will generate a report with omitted + coordinates (position undefined). An example would be when the + input cursor is outside the active scrolling region, and the origin + mode has been set to relative. To use the locator to adjust scroll + margins, the origin mode must be absolute. + +3. The input cursor is not contained in any viewport. Pressing a + button on the locator will have no effect. To support "pop up" + menus anywhere on the screen, the entire screen must be a viewport + for at least one session. + +4. The input cursor is within a viewport of a session which is not the + active session. Pressing a button on the locator will normally make + the session containing the input cursor the active session + (possibly changing the occlusion order of viewports, and the shape + of the locator). This case is the responsibility of the "window + manager" which is free to define its own user interface. Two + recommendations are: (1) No locator report should be sent to the + previous active session, since the locator is not in its viewport; + and (2) If locator reporting is enabled in the new session, a + locator report should not be transmitted to avoid application side + affects when selecting another window. + +Source: +Status: DEC private; VT340? +------------------------------------------------------------------------------- +Sequence: CSI ... & x +Mnemonic: DECES +Description: Enable session management + +Source: +Status: DEC private; VT400 +------------------------------------------------------------------------------- +Sequence: CSI ... ' q +Mnemonic: DECSBCA +Description: Select bar code attributes + +Source: +Status: DEC private; PPL2 +------------------------------------------------------------------------------- +Sequence: CSI Pt ; Pl ; Pb ; Pr ' w +Mnemonic: DECEFR +Description: Enable filter rectangle + +Filter Rectangles add filtered movement events to the list of locator +transitions that can generate reports. + +Pt - Top boundary of filter rectangle +Pl - Left boundary of filter rectangle +Pb - Bottom boundary of filter rectangle +Pr - Right boundary of filter rectangle + +The DECEFR control sequence defines the coordinates of a filter +rectangle, and activates it. Anytime the locator is detected to be +outside a filter rectangle, an outside rectangle event is generated +and the rectangle is disabled. Filter rectangles are always treated as +"one-shot" events. Defining a new rectangle re-activates it. + +Applications can re-define the rectangle at any time even if its +already active. If a rectangle which does not contain the locator is +specified, the terminal will generate an outside rectangle report +immediately and deactivate it. + +Pt, Pl, Pb, and Pr are in coordinates units specified by the last +DECELR sequence. The filter rectangle includes the boundaries (similar +to other rectangular area operations). The origin is coordinate pair +1:1 in the upper left corner. If any parameters are omitted, they are +defaulted to the current locator position. Sending DECEFR with no +parameters will cause the application to be notified for any locator +movement ("unfiltered movement event"). + +DECELR always cancels any previous filter rectangle definition. This +gaurantees that when an application enables locator reports, there +will never be an outstanding filter rectangle. + +If a filter rectangle lies on the edge of the defined coordinate space +for the active session, and the locator crosses that edge, the +rectangle may be triggered to send a report with omitted coordinates +(locator position undefined). + +If the active session receives a filter rectangle with explicit +coordinates while the locator is outside the defined coordinate space, +the rectangle will be triggered to send a report with omitted +coordinates. + +If the active session receives a filter rectangle with omitted +coordinates (that is, use the current position) while the locator is +outside the defined coordinate space (position undefined), the +rectangle will be triggered the next time the locator is within the +defined coordinate space. + +If a session which is not the active session receives a filter +rectangle with explicit coordinates, it should trigger immediately +with position undefined. If a session which is not the active session +receives a rectangle with omitted coordinates, it should trigger the +next time the locator is within the defined coordinate space for that +session, which cannot happen until the session becomes active. + +Source: +Status: DEC private; VT340? +------------------------------------------------------------------------------- +Sequence: CSI Ps ; Pu ' z +Mnemonic: DECELR +Description: Enable locator reports + +Locator reporting can be selectively enabled from the host using a DEC +private control sequence. When disabled (the power up default), the +locator cursor does not appear, and the locator buttons are +inactive. When enabled, the locator cursor is visible, and the +terminal tracks the locator locally with no host +intervention. Individual locator events such as locator button +transitions or movement may be programmed to send locator reports to +the host. + +Ps may assume the following values + +0 locator disabled (default) + +1 locator reports enabled + +2 one shot (allow one report, then disable) + +Pu specifies the coordinate units for locator reports + +0 (or omitted) default to character cells + +1 device physical pixels + +2 character cells + +One shot mode is provided for applications that desire simple graphics +input similar to Tektronix GIN mode (no unsolicited reports). If +parameter value 2 is selected, the next trigger event that occurs will +generate a single locator report. No further locator reports will +occur (the locator will be disabled), until another DECELR sequence is +received. + +The coordinate units for locator position reports may be selected to +either of two coordinate systems used by terminal software at the +lowest level. Physical pixels is the "least common denominator", and +is useful for computing sixel positions. + +Source: +Status: DEC private; VT340? +------------------------------------------------------------------------------- +Sequence: CSI P ... P ' { +Mnemonic: DECSLE +Description: Select locator events + +The locator events which are allowed to generate unsolicited reports +may be individually selected using the Select Locator Events +control. The locator is capable of reporting both up and down +transitions for those situations where the exact sequence of button +activiations is significant. This control allows application software +to select which events it wants reported. + +P...P is one or more selective parameters which may assume the +following values: + +0 respond only to explicit host requests + (default, also cancels any pending filter rectangle) +1 report button down transitions +2 do not report button down transitions +3 report button up transitions +4 do not report button up transitions + +Source: +Status: DEC private; VT340? +------------------------------------------------------------------------------- +Sequence: CSI Ps ' | +Mnemonic: DECRQLP +Description: Request locator position + +The host may explicitly request a locator position report any time +locator reporting is enabled (DECELR). Upon receiving such a request, +the terminal will immediately send a single locator report (DECLRP) +with event code 1 indicating the current locator position. + +If the session receiving the request is the active session, but the +locator is not within the defined coordinate range for that session, +the terminal will respond with omitted coordinates (locator position +undefined). + +If the session receiving the request is not currently active (the +locator is being used in another session), the report will specify +event code 0 (locator unavailable). Locator state from the active +session should not be made available to inactive sessions. + +If the locator is disabled (DECELR), the terminal should still respond +with event code 0 (to avoid timing out the application). + +Ps: +0 (or omitted) default to 1 +1 transmit a single DECLRP locator report all others ignored + +Source: +Status: DEC private; VT340? +------------------------------------------------------------------------------- +Sequence: CSI ... ' } +Mnemonic: DECIC +Description: Insert column + +Source: +Status: DEC private; VT400 +------------------------------------------------------------------------------- +Sequence: CSI ... ' ~ +Mnemonic: DECDC +Description: Delete column + +Source: +Status: DEC private; VT400 +------------------------------------------------------------------------------- +Sequence: CSI ... * q +Mnemonic: DECSRC +Descripton: Secure reset confirmation + +Source: +Status: DEC private; VT400 +------------------------------------------------------------------------------- +Sequence: CSI Ps * x +Mnemonic: DECSACE +Description: Select attribute change extent + +Select which character positions within a rectangular area can have +their attributes changed or reversed. The DECSACE control function +affects the rectangular area control functions for changing and +reversing attributes (DECCARA and DECRARA). + +The Ps parameter specifies what character positions are affected. 0 or +1 indicates a stream of character positions that begins in the first +position specified in the DECCARA or DECRARA control function, and +ends with the second one that is specified. A 2 indicates a +rectangular area of character positions; the DECCARA and DECRARA +control functions specify the upper left and lower right corners of +the area. + +Source: Reflection TRM (VT) Version 7.0 +Status: DEC private; VT400 +------------------------------------------------------------------------------- +Sequence: CSI Pn1 ; Pn2 ; Pn3 ; Pn4 ; Pn5 ; Pn6 * y +Mnemonic: DECRQCRA +Description: Request checksum of rectangular area + +Request a memory checksum of a rectangular area on a specified +page. The terminal returns a checksum report (DECCKSR) in +response. DECRQCRA also works on the status line. + +Parameters: + +Pn1 A numeric label you give to identify the checksum request +(DECCKSR returns this number). + +Pn2 The number of the page on which the rectangular area is +located. If Pn2 is 0 or omitted, the terminal ignores the remaining +parameters and reports a checksum for all pages in page memory. If + is more than the number of pages, Reflection does a checksum on +the last page. + +Pn3 to Pn6 define the area to be checksummed: + +Pn3 Top row +Pn4 Right column +Pn5 Bottom row +Pn6 Left column + +If Pn3 .. Pn6 are omitted, the entire page is checksummed. The +co-ordinates are affected by DECOM. + +Source: Reflection TRM (VT) Version 7.0 +Status: DEC private; VT400 +------------------------------------------------------------------------------- +Sequence: CSI Pn * z +Mnemonic: DECINVM +Description: Invoke Macro + +Invoke a stored macro. Pn is the macro ID number used in DECDMAC. If +Pn is not associated with a particular macro, Reflection ignores this +control function. If a macro definition includes control functions, +these functions remain in effect after the macro is invoked. + +Source: Reflection TRM (VT) Version 7.0 +Status: DEC private; VT400 +------------------------------------------------------------------------------- +Sequence: CSI ... * { +Mnemonic: DECMSR +Description: Macro space report + +Source: +Status: DEC private; VT400 +------------------------------------------------------------------------------- +Sequence: CSI ... * | +Mnemonic: DECSNLS +Description: Select number of lines per screen + +Source: +Status: DEC private; VT400 +------------------------------------------------------------------------------- +Sequence: CSI ... * } +Mnemonic: DECLFKC +Description: Local function key control + +Source: +Status: DEC private; VT400 +------------------------------------------------------------------------------- +Sequence: CSI ... + p +Mnemonic: DECSR +Description: Secure reset + +Source: +Status: DEC private; VT400 +------------------------------------------------------------------------------- +Sequence: CSI ... + q +Mnemonic: DECELF +Description: Enable local functions + +Source: +Status: DEC private; VT400 +------------------------------------------------------------------------------- +Sequence: CSI ... + r +Mnemonic: DECSMKR +Description: Select modifier key reporting + +Source: +Status: DEC private; VT400 +------------------------------------------------------------------------------- +Sequence: CSI ... + v +Mnemonic: DECMM +Description: Memory management + +Source: +Status: DEC private; PPL3 +------------------------------------------------------------------------------- +Sequence: CSI Ps / y +Description: xwsh command + +xwsh command. The first parameter to this escape sequence is the +particular command described in the table that follows. Each command +has different numbers of arguments which are described below. + +2 Textport init. Reset xwsh to be 40 rows by 80 columns. Reset the + colors to the default colors. Reset any graphics rendition. Clear + out the retain buffer. Home the cursor. + +3 Push the window. Depending on the window manager, this may or may + not have any affect. + +4 Pop the window. Depending on the window manager, this may or may not + have any affect. + +14 History init. Clear out the retain buffer. Home the cursor. + +16 Reset bindable function keys. + +15 Initialize bindable function keys to defaults. + +101 Set the text color by using a 3.3 compatible index. + +102 Set the page color by using a 3.3 compatible index. + +103 Set the bold color by using a 3.3 compatible index. + +104 Set the cursor page color by using a 3.3 compatible index. + +111 Set the selection colors by using 3.3 compatible indices. This + sequence takes three parameters. The first is 111. The second + parameter is the selection text color, the third is the selection + page color. + +203 Set the window size by row and column. This sequence takes three + parameters. The first is 203. The second parameter is the number + of rows to use. The third parameter is the number of columns to + use. + +204 Set the window size, in pixels. This sequence takes three + parameters. The first is 204. The second parameter is the new + width. The third parameter is the new height. The width and height + are rounded up to the nearest font boundaries. + +205 Set the window position, in pixels. The lower left corner of the + display is specified as 0,0. + +Source: IRIX 6.5.5 xwsh(1G) +Status: SGI private +------------------------------------------------------------------------------- +Sequence: ST or ESC \ +Mnemonic: ST +Description: String terminator + +ST is used as the closing delimiter of a control string opened by +APPLICATION PROGRAM COMMAND (APC), DEVICE CONTROL STRING (DCS), +OPERATING SYSTEM COMMAND (OSC), PRIVACY MESSAGE (PM), or START OF +STRING (SOS). + +Source: ECMA-48 5th Ed. 8.3.143 +Status: standard +------------------------------------------------------------------------------- +Sequence: OSC or ESC ] +Mnemonic: OSC +Description: Operating system command + +OSC is used as the opening delimiter of a control string for operating +system use. The command string following may consist of a sequence of +bit combinations in the range 00/08 to 00/13 and 02/00 to 07/14. The +control string is closed by the terminating delimiter STRING +TERMINATOR (ST). The interpretation of the command string depends on +the relevant operating system. + +Source: ECMA-48 5th Ed. 8.3.89 +Status: standard +------------------------------------------------------------------------------- +Sequence: OSC 0 ; txt BEL (or ST) +Description: Set icon name and window title + +Source: Linux console_codes(4) +Status: xterm private +------------------------------------------------------------------------------- +Sequence: OSC 1 ; txt BEL (or ST) +Description: Set icon name + +Source: Linux console_codes(4) +Status: xterm private +------------------------------------------------------------------------------- +Sequence: OSC 2 ; txt BEL (or ST) +Description: Set window title + +Source: Linux console_codes(4) +Status: xterm private +------------------------------------------------------------------------------- +Sequence: OSC 4 6 ; name BEL (or ST) +Description: Set log file + +Change log file to name (normally disabled by a compile-time option) + +Source: Linux console_codes(4) +Status: xterm private +------------------------------------------------------------------------------- +Sequence: OSC 5 0 ; fn BEl (or ST) +Description: Set font + +Source: Linux console_codes(4) +Status: xterm private +------------------------------------------------------------------------------- +Sequence: OSC P nrrggbb +Description: Set palette + +set palette, with parameter given in 7 hexadecimal digits after the +final P :-(. Here n is the color (0-16), and rrggbb indicates the +red/green/blue values (0-255). + +Source: Linux console_codes(4) +Status: Linux private; should be terminated with ST +------------------------------------------------------------------------------- +Dequence: OSC R +Description: Reset palette + +Source: Linux console_codes(4) +Status: Linux private; should be terminated with ST +------------------------------------------------------------------------------- +Sequence: PM or ESC ^ +Mnemonic: PM +Description: Privacy message + +PM is used as the opening delimiter of a control string for privacy +message use. The command string following may consist of a sequence of +bit combinations in the range 00/08 to 00/13 and 02/00 to 07/14. The +control string is closed by the terminating delimiter STRING +TERMINATOR (ST). The interpretation of the command string depends on +the relevant privacy discipline. + +Source: ECMA-48 5th Ed. 8.3.94 +Status: standard +------------------------------------------------------------------------------- +Sequence: APC or ESC _ +Mnemonic: APC +Description: Application program command + +APC is used as the opening delimiter of a control string for +application program use. The command string following may consist of +bit combinations in the range 00/08 to 00/13 and 02/00 to 07/14. The +control string is closed by the terminating delimiter STRING +TERMINATOR (ST). The interpretation of the command string depends on +the relevant application program. + +Source: ECMA-48 8.3.2 +Status: standard +------------------------------------------------------------------------------- +Section: *** Modes (for SM and RM) *** +------------------------------------------------------------------------------- +Mode: 1 +Mnemonic: GATM +Description: Guarded area transfer mode + +GUARD (reset): +Only the contents of unguarded areas in an eligible area are +transmitted or transferred. + +ALL (set): +The contents of guarded as well as of unguarded areas in an eligible +area are transmitted or transferred. + +NOTE +No control functions are affected. + +Source: ECMA-48 5th Ed. 7.2.7 +Status: standard +------------------------------------------------------------------------------- +Mode: 2 +Mnemonic: KAM +Description: Keyboard action mode + +ENABLED (reset): +All or part of the manual input facilities are enabled to be used. + +DISABLED (set): +All or part of the manual input facilities are disabled. + +NOTE +No control functions are affected. + +Source: ECMA-48 5th Ed. 7.2.11 +Status: standard +------------------------------------------------------------------------------- +Mode: 3 +Mnemonic: CRM +Description: Control representation mode + +CONTROL (reset): +All control functions are performed as defined; the way formator +functions are processed depends on the setting of the FORMAT EFFECTOR +ACTION MODE (FEAM). A device may choose to image the graphical +representations of control functions in addition to performing them. + +GRAPHIC (set): +All control functions, except RESET MODE (RM), are treated as graphic +characters. A device may choose to perform some control functions in +addition to storing them and imaging their graphical representations. + +NOTE +All control functions, except RM, are affected. + +Source: ECMA-48 5th Ed. 7.2.2 +Status: standard +------------------------------------------------------------------------------- +Mode: 4 +Mnemonic: IRM +Description: Insertion replacement mode + +REPLACE (reset): +The graphic symbol of a graphic character or of a control function, +for which a graphical representation is required, replaces (or, +depending upon the implementation, is combined with) the graphic +symbol imaged at the active presentation position. + +INSERT (set): +The graphic symbol of a graphic character or of a control function, +for which a graphical representation is required, is inserted at the +active presentation position. + +NOTE +Only control functions for which a graphical representation is +required are affected. + +Source: ECMA-48 5th Ed. 7.2.10 +Status: standard +------------------------------------------------------------------------------- +Mode: 5 +Mnemonic: SRTM +Description: Status report transfer mode + +NORMAL (reset): +Status reports in the form of DEVICE CONTROL STRINGs (DCS) are not +generated automatically. + +DIAGNOSTIC (set): +Status reports in the form of DEVICE CONTROL STRINGs (DCS) are +included in every data stream transmitted or transferred. + +NOTE +No control functions are affected. + +Source: ECMA-48 5th Ed. 7.2.16 +Status: standard +------------------------------------------------------------------------------- +Mode: 6 +Mnemonic: ERM +Description: Erasure mode + +PROTECT (reset): +Only the contents of unprotected areas are affected by an erasure +control function. + +ALL (set): +The contents of protected as well as of unprotected areas are affected +by an erasure control function. + +NOTE +Control functions affected are: EA, ECH, ED, EF, EL. + +Source: ECMA-48 5th Ed. 7.2.4 +Status: standard +------------------------------------------------------------------------------- +Mode: 7 +Mnemonic: VEM +Description: Line editing mode + +FOLLOWING (reset): + +If the DEVICE COMPONENT SELECT MODE (DCSM) is set to PRESENTATION, a +line insertion causes the contents of the active line (the line that +contains the active presentation position) and of the following lines +in the presentation component to be shifted in the direction of the +line progression; a line deletion causes the contents of the lines +following the active line to be shifted in the direction opposite to +that of the line progression. + +If the DEVICE COMPONENT SELECT MODE (DCSM) is set to DATA, a line +insertion causes the contents of the active line (the line that +contains the active data position) and of the following lines in the +data component to be shifted in the direction of the line progression; +a line deletion causes the contents of the lines following the active +line to be shifted in the direction opposite to that of the line +progression. + +PRECEDING (set): +If the DEVICE COMPONENT SELECT MODE (DCSM) is set to PRESENTATION, a +line insertion causes the contents of the active line (the line that +contains the active presentation position) and of the preceding lines +to be shifted in the direction opposite to that of the line +progression; a line deletion causes the contents of the lines +preceding the active line to be shifted in the direction of the line +progression. + +If the DEVICE COMPONENT SELECT MODE (DCSM) is set to DATA, a line +insertion causes the contents of the active line (the line that +contains the active data position) and of the preceding lines to be +shifted in the direction opposite to that of the line progression; a +line deletion causes the contents of the lines preceding the active +line to be shifted in the direction of the line progression. + +NOTE +Control functions affected are: DL, IL. + +Source: ECMA-48 5th Ed. 7.2.19 +Status: standard +------------------------------------------------------------------------------- +Mode: 8 +Mnemonic: BDSM +Description: Bi-directional support mode + +EXPLICIT (reset): +Control functions are performed in the data component or in the +presentation component, depending on the setting of the DEVICE +COMPONENT SELECT MODE (DCSM). + +IMPLICIT (set): +Control functions are performed in the data component. All +bi-directional aspects of data are handled by the device itself. + +Source: ECMA-48 5th Ed. 7.2.1 +Status: standard +------------------------------------------------------------------------------- +Mode: 9 +Mnemonic: DCSM +Description: Device component select mode + +PRESENTATION (reset): +Certain control functions are performed in the presentation +component. The active presentation position (or the active line, where +applicable) in the presentation component is the reference position +against which the relevant control functions are performed. + +DATA (set): +Certain control functions are performed in the data component. The +active data position (or the active line, where applicable) in the +data component is the reference position against which the relevant +control functions are performed. + +NOTE +Control functions affected are: CPR, CR, DCH, DL, EA, ECH, ED, EF, EL, +ICH, IL, LF, NEL, RI, SLH, SLL, SPH, SPL. + +Source: ECMA-48 5th Ed. 7.2.3 +Status: standard +------------------------------------------------------------------------------- +Mode: 10 +Mnemonic: HEM +Description: Character editing mode + +FOLLOWING (reset): +If the DEVICE COMPONENT SELECT MODE (DCSM) is set to PRESENTATION, a +character insertion causes the contents of the active presentation +position and of the following character positions in the presentation +component to be shifted in the direction of the character path; a +character deletion causes the contents of the character positions +following the active presentation position to be shifted in the +direction opposite to that of the character path. + +If the DEVICE COMPONENT SELECT MODE (DCSM) is set to DATA, a character +insertion causes the contents of the active data position and of the +following character positions in the data component to be shifted in +the direction of the character progression; a character deletion +causes the contents of the character positions following the active +data position to be shifted in the direction opposite to that of the +character progression. + +PRECEDING: +If the DEVICE COMPONENT SELECT MODE (DCSM) is set to PRESENTATION, a +character insertion causes the contents of the active presentation +position and of the following character positions in the presentation +component to be shifted in the direction opposite to that of the +character path; a character deletion causes the contents of the +character positions following the active presentation position to be +shifted in the direction of the character path. + +If the DEVICE COMPONENT SELECT MODE (DCSM) is set to DATA, a character +insertion causes the contents of the active data position and of +preceding character positions in the data component to be shifted in +the direction opposite to that of the character progression; a +character deletion causes the contents of the character positions +preceding the active data position to be shifted in the direction of +the character progression. + +NOTE +Control functions affected are: DCH, ICH. + +Source: ECMA-48 5th Ed. 7.2.9 +Status: standard +------------------------------------------------------------------------------- +Mode: 11 +Mnemonic: PUM +Description: Positioning unit mode + +CHARACTER (reset): +The unit for numeric parameters of the positioning format effectors is +one character position. + +SIZE (set): +The unit for numeric parameters of the positioning format effectors is +that established by the parameter value of SELECT SIZE UNIT (SSU). + +NOTE 1 +Control functions affected are: CUB, CUD, CUF, CUU, HPA, HPB, HPR, +HVP, SLH, SLL, SSU, VPA, VPB, VPR.. + +NOTE 2 +As the default parameter value of the control function SELECT SIZE +UNIT (SSU) is CHARACTER, this mode is redundant and should no longer +be used. + +Source: ECMA-48 5th Ed. F.4.1 +Status: standard; deprecated +------------------------------------------------------------------------------- +Mode: 12 +Mnemonic: SRM +Description: Send/receive mode + +MONITOR (reset): +Data which are locally entered are immediately imaged. + +SIMULTANEOUS: +Local input facilities are logically disconnected from the output +mechanism; only data which are sent to the device are imaged. + +NOTE +No control functions are affected. + +Source: ECMA-48 5th Ed. 7.2.15 +Status: standard +------------------------------------------------------------------------------- +Mode: 13 +Mnemonic: FEAM +Description: Format effector action mode + +EXECUTE (reset): +Formator functions are performed immediately and may be stored in +addition to being performed. + +STORE (set): +Formator functions are stored but not performed. In this case, the +specified action is intended to be performed by another device when +the associated data are transmitted or transferred. + +NOTE +Control functions affected are: BPH, BS, CR, DTA, FF, FNT, GCC, GSM, +GSS, HPA, HPB, HPR, HT, HTJ, HTS, HVP, JFY, NEL, PEC, PFS, PLD, PLU, +PPA, PPB, PPR, PTX, QUAD, RI, SACS, SAPV, SCO, SCS, SGR, SHS, SLH, +SLL, SLS, SPD, SPI, SPQR, SRCS, SRS, SSU, SSW, STAB, SVS, TAC, TALE, +TATE, TBC, TCC, TSS, VPA, VPB, VPR, VTS. + +Source: ECMA-48 5th Ed. 7.2.5 +Status: standard +------------------------------------------------------------------------------- +Mode: 14 +Mnemonic: FETM +Description: Format effector transfer mode + +INSERT (reset): +Formator functions may be inserted in a data stream to be transmitted +or in data to be transferred to an auxiliary input/output device. + +EXCLUDE: +No formator functions other than those received while the FORMAT +EFFECTOR ACTION MODE (FEAM) is set to STORE are included in a +transmitted data stream or in data transferred to an auxiliary +input/output device. + +NOTE +No control functions are affected. + +Source: ECMA-48 5th Ed. 7.2.6 +Status: standard +------------------------------------------------------------------------------- +Mode: 15 +Mnemonic: MATM +Description: Multiple area transfer mode + +SINGLE (reset): +Only the contents of the selected area which contains the active +presentation position are eligible to be transmitted or transferred. + +MULTIPLE (set): +The contents of all selected areas are eligible to be transmitted or +transferred. + +NOTE +No control functions are affected. + +Source: ECMA-48 5th Ed. 7.2.12 +Status: standard +------------------------------------------------------------------------------- +Mode: 16 +Mnemonic: TTM +Description: Transfer termination mode + +CURSOR (reset): +Only the contents of the character positions preceding the active +presentation position in the presentation component are eligible to be +transmitted or transferred. + +ALL (set): +The contents of character positions preceding, following, and at the +active presentation position are eligible to be transmitted or +transferred. + +NOTE +No control functions are affected. + +Source: ECMA-48 5th Ed. 7.2.18 +------------------------------------------------------------------------------- +Mode: 17 +Mnemonic: SATM +Description: Selected area transfer mode + +SELECT (reset): +Only the contents of selected areas are eligible to be transmitted or +transferred. + +ALL (set): +The contents of all character positions, irrespective of any +explicitly defined selected areas, are eligible to be transmitted or +transferred. + +NOTE +No control functions are affected. + +Source: ECMA-48 5th Ed. 7.2.14 +Status: standard +------------------------------------------------------------------------------- +Mode: 18 +Mnemonic: TSM +Description: Tabulation stop mode + +MULTIPLE (reset): +Character tabulation stops in the presentation component are set or +cleared in the active line (the line that contains the active +presentation position) and in the corresponding character positions of +the preceding lines and of the following lines. + +SINGLE (set): +Character tabulation stops in the presentation component are set or +cleared in the active line only. + +NOTE +Control functions affected are: CTC, DL, HTS, IL, TBC. + +Source: ECMA-48 5th Ed. 7.2.17 +Status: standard +------------------------------------------------------------------------------- +Mode: 19 +Mnemonic: EBM +Description: Editing boundary mode + +The mode EDITING BOUNDARY MODE (EBM) the use of which was already +declared deprecated in the fourth Edition of this Standard has now +been removed. + +Source: ECMA-48 5th Ed. F.5.1 +Status: standard; obsolete +------------------------------------------------------------------------------- +Mode: 20 +Mnemonic: LNM +Description: Line feed/new line mode + +The mode LINE FEED/NEW LINE MODE (LF/NL) the use of which was already +declared deprecated in the fourth Edition of this Standard has now +been removed. + +Source: ECMA-48 5th Ed. F.5.2 + +set: Causes a received LF, FF, or VT code to move the cursor to the +first column of the next line. RETURN transmits both a CR and a LF +code. + +reset: Causes a received LF, FF, or VT code to move the cursor to the +next line in the current column. RETURN transmits a CR code only. + +Source: +Status: standard; obsolete +------------------------------------------------------------------------------- +Mode: 21 +Mnemonic: GRCM +Description: Graphic rendition combination mode + +REPLACING (reset): +Each occurrence of the control function SELECT GRAPHIC RENDITION (SGR) +cancels the effect of any preceding occurrence. Any graphic rendition +aspects that are to remain unchanged after an occurrence of SGR have +to be re-specified by that SGR. + +CUMULATIVE (set): +Each occurrence of the control function SELECT GRAPHIC RENDITION (SGR) +causes only those graphic rendition aspects to be changed that are +specified by that SGR. All other graphic rendition aspects remain +unchanged. + +NOTE +Control function affected is SGR. + +Source: ECMA-48 5th Ed. 7.2.8 +Status: standard +------------------------------------------------------------------------------- +Mode: 22 +Mnemonic: ZDM +Description: Zero default mode + +ZERO (reset): +A parameter value of 0 of a control function means the number 0. + +DEFAULT (set): +A parameter value of 0 represents a default parameter value which may +be different from 0. + +NOTE 1 +This mode was provided for implementations of the first edition of +this Standard which specified that "an empty parameter sub-string or a +parameter sub-string which consists of bit combinations 03/00 only +represents a default value which depends on the control function". + +For numeric parameters which are expressed in units established by the +parameter value of SELECT SIZE UNIT (SSU) the value 0 could then be +specified. For numeric parameters which are effectively repeat counts, +a 0 parameter value corresponded to a "no-op". In either instance, +non-negative computed numeric parameter values might have been used +without treating 0 as a special (unusable) case. + +Where an explicit parameter value was not used, implementors were +urged to omit a parameter value (use an empty parameter sub-string) to +imply a default parameter value. + +Control functions affected are: CBT, CHA, CHT, CNL, CPL, CPR, CUB, +CUD, CUF, CUP, CUU, CVT, DCH, DL, ECH, GSM, HPA, HPB, HPR, HVP, ICH, +IL, NP, PP, PPA, PPB, PPR, REP, SD, SL, SR, SU, TCC, VPA, VPB, VPR. + +NOTE 2 +Since the publication of the first edition of this Standard in 1976 +almost 15 years have expired. The use of this mode should no longer be +required because the definition of default parameter values has been +changed. + +Source: ECMA-48 5th Ed. F.4.2 +Status: standard; deprecated +------------------------------------------------------------------------------- +Mode: 30 +Description: Display disable mode + +Source: +Status: Wyse private; clashes with ECMA-48 +------------------------------------------------------------------------------- +Mode: 31 +Description: Status line display mode + +Source: +Status: Wyse private; clashes with ECMA-48 +------------------------------------------------------------------------------- +Mode: 32 +Description: Steady cursor mode + +Source: +Status: Wyse private; clashes with ECMA-48 +------------------------------------------------------------------------------- +Mode: 33 +Mnemonic: WYSTCURM +Description: Wyse steady cursor mode + +Cursor steady: [ 33 h +Cursor blinking: [ 33 l (that's a small ell, not eye) + +Source: + +Status: Wyse private; clashes with ECMA-48 +------------------------------------------------------------------------------- +Mode: 34 +Mnemonic: WYULCURM +Description: Wyse underline cursor mode + +Cursor block: [ 34 l (ell) +Cursor line: [ 34 h + +Source: + +Status: Wyse private; clashes with ECMA-48 +------------------------------------------------------------------------------- +Mode: 35 +Description: Width change clear mode + +Source: +Status: Wyse private; clashes with ECMA-48 +------------------------------------------------------------------------------- +Mode: 53 +Description: 80/132 column switch + +set: 132 columns +reset: 80 columns + +Source: jaltman@watsun.cc.columbia.edu (Jeffrey Altman) in comp.terminals + <7svop9$f9u$1@newsmaster.cc.columbia.edu> +Status: Siemens 97801-5xx private; clashes with ECMA-48 +------------------------------------------------------------------------------- +Mode: <0 +Description: Roll mode + +When reset, commands that would move the cursor beyond the 24th line +of the screen cause the screen to scroll. When set, such commands +cause the cursor to move to the top line. + +Source: Dasher D410 and D460 Display Terminals User's Manual + +Status: Data General private +------------------------------------------------------------------------------- +Mode: <1 +Description: Blink mode + +When set, the blink attribute in CSR will be ignored. + +Source: Dasher D410 and D460 Display Terminals User's Manual + +Status: Data General private +------------------------------------------------------------------------------- +Mode: <2 +Description: Horizontal scroll mode + +set: Horizontal scroll enabled +reset: Horizontal scroll disabled + +Source: Dasher D410 and D460 Display Terminals User's Manual + +Status: Data General private +------------------------------------------------------------------------------- +Mode: <3 +Description: DG/ANSI mode + +set: Use ANSI command sequences. +reset: Use DG command sequences. + +Source: Dasher D410 and D460 Display Terminals User's Manual + +Status: Data General private +------------------------------------------------------------------------------- +Mode: <4 +Description: Forms mode + +When reset, a Local Print command will print all characters. When +set, only characters displayed at full intensity will be printed. + +Source: Dasher D410 and D460 Display Terminals User's Manual + +Status: Data General private +------------------------------------------------------------------------------- +Mode: <5 +Description: Margins mode + +In the reset state, editing operations operate irrespective of +margins; in the set state, editing operations take place within the +margins. The commands affected include: IL, ED, EL, ICH DCH. + +Source: Dasher D410 and D460 Display Terminals User's Manual + +Status: Data General private +------------------------------------------------------------------------------- +Mode: =6 +Description: Lock display + +Lock display. When set, this mode causes xwsh to keep its display set +to the current location in the retain buffer. Any scrolling +activities, line insert/deletes will not affect the retain buffer that +is outside of the display. When reset, scrolling off the bottom will +move the display to track the bottom of the retain buffer. When the +lock is set, the scroll bar is disabled, as well as any extend +selection mechanisms that might cause a scroll. The normal mode is in +the reset state, but the standard terminfo for iris-ansi causes visual +programs to lock the display. + +Source: IRIX 6.5.5 xwsh(1G) +Status: SGI private +------------------------------------------------------------------------------- +Mode: =9 +Description: Enable visual bell + +Enable visual bell. When set, xwsh will flash the display when it +receives an octal 7 instead of ringing the bell. When reset it asks X +to ring the bell. + +Source: IRIX 6.5.5 xwsh(1G) +Status: SGI private +------------------------------------------------------------------------------- +Mode: =12 +Description: Overlay mode + +Overlay mode. When set, xwsh moves its display into the overlay +planes. When reset, xwsh displays in the default visual. This is no +longer functional as of IRIX 4.0. The escape sequence is now ignored. + +Source: IRIX 6.5.5 xwsh(1G) +Status: SGI private +------------------------------------------------------------------------------- +Mode: ?1 +Mnemonic: DECCKM +Description: Cursor key mode + + This is a private parameter to the SM and RM control requences. This + mode is only effective when the terminal is in keypad application mode + (DECPAM) and the ANSI/VT52 mode (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. + +Source: + +DECCKM (default off): When set, the cursor keys send an ESC O prefix, +rather than ESC [. + +Source: Linux console_codes(4) +Status: DEC private; VT100 +------------------------------------------------------------------------------- +Mode: ?2 +Mnemonic: DECANM +Description: ANSI/VT52 Mode + + This is a private parameter to the SM and 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. + +Source: +Status: DEC private; VT100 +------------------------------------------------------------------------------- +Mode: ?3 +Mnemonic: DECCOLM +Description: Column mode + + This is a private parameter to the SM and 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. + +Source: + +NOTE: When the terminal receives the sequence, the screen is erased +and the cursor moves to the home position. This also sets the scrolling +region for full screen (24 lines). + +Source: + +If you change the DECCOLM setting, the terminal: + + Sets the left, right, top and bottom scrolling margins to their default + positions. + + Erases all data in page memory, unless DECNCSM is set; then, the page + is not erased. + +DECCOLM resets vertical split screen mode (DECLRMM) to unavailable. + +DECCOLM clears data from the status line if the status line is set to +host-writable. + +Source: +Status: DEC private; VT100 +------------------------------------------------------------------------------- +Mode: ?4 +Mnemonic: DECSCLM +Description: Scrolling mode + + This is a private parameter to RM and 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 six lines/sec. + +Source: +Status: DEC private; VT100 +------------------------------------------------------------------------------- +Mode: ?5 +Mnemonic: DECSCNM +Description: Screen mode + + This is a private parameter to RM and 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. + +Source: +Status: DEC private; VT100 +------------------------------------------------------------------------------- +Mode: ?6 +Mnemoic: DECOM +Description: Origin mode + + This is a private parameter to SM and 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 (CUP) or + horizontal and vertical position (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. + + The scroll margins are set using the DECSTBM control sequence. + +Source: +Status: DEC private; VT100 +------------------------------------------------------------------------------- +Mode: ?7 +Mnemonic: DECAWM +Description: Autowrap mode + + This is a private parameter to the SM and RM control sequences. The + reset state prevents the cursor from moving when characters are + recieved 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 MODES, SM, and RM. + +Source: +Status: DEC private; VT100 +------------------------------------------------------------------------------- +Mode: ?8 +Mnemonic: DECARM +Description: Auto repeat mode + + This is a private parameter to the SM and RM control sequences. The + reset state causes no keyboard keys to auto-repeat, the set state + causes most of them to. + +Source: +Status: DEC private; VT100 +------------------------------------------------------------------------------- +Mode: ?9 +Mnemonic: DECINLM +Description: Interlace mode + + This is a private parameter to the RM and 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 MODES, RM, and SM. + +Source: +Status: DEC private; VT100 +------------------------------------------------------------------------------- +Mode: ?9 +Description: X10 mouse reporting + +Parameters (such as pointer position and button number) for all mouse +tracking escape sequences generated by xterm encode numeric parameters +in a single character as value+32. For example, ! specifies the value +1. The upper left character position on the terminal is denoted as 1,1. + +X10 compatibility mode sends an escape sequence only on button press, +encoding the location and the mouse button pressed. It is enabled by +specifying parameter 9 to DECSET. On button press, xterm sends CSI M +CbCxCy (6 characters). Cb is button-1. Cx and Cy are the x and y coor- +dinates of the mouse when the button was pressed. + +Source: XFree86: xc/doc/specs/xterm/ctlseqs.ms,v 3.29 1999/09/27 06:29:05 +Status: xterm private +------------------------------------------------------------------------------- +Mode: ?10 +Mnemonic: DECEDM +Description: Editing mode + +set -> Edit +reset -> Interactive + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 pC26 +Status: DEC private; VT131 +------------------------------------------------------------------------------- +Mode: ?11 +Mnemonic: DECLTM +Description: Line Transmit mode + +set -> On +reset -> Off + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 pC26 +Status: DEC private; VT131 +------------------------------------------------------------------------------- +Mode: ?13 +Mnemonic: DECSCFDM +Description: Space compression/field delimiter mode + +set -> On +reset -> Off + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 pC26 +Status: DEC private; VT131 +------------------------------------------------------------------------------- +Mode: ?14 +Mnemonic: DECTEM +Description: Transmit execution mode + +set -> Immediate +reset -> Deferred + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 pC26 +Status: DEC private; VT131 +------------------------------------------------------------------------------- +Mode: ?16 +Mnemonic: DECEKEM +Description: Edit key execution mode + +set -> Immediate +reset -> Deferred + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 pC26 +Status: DEC private; VT131 +------------------------------------------------------------------------------- +Mode: ?18 +Mnemonic: DECPFF +Description: Print form feed mode + +set: Selects form feed (FF) as print termination character. The +terminal transmits this character to the printer after each print +screen operation. + +reset: Select no termination character. The terminal does not transmit +a form feed (FF) to the printer after each print screen operation. + +Source: +Status: DEC private +------------------------------------------------------------------------------- +Mode: ?19 +Mnemonic: DECPEX +Description: Printer extent + +set -> screen +reset -> scrolling region + +Source: +Status: DEC private +------------------------------------------------------------------------------- +Mode: ?24 +Description: Print density + +set -> Sets printing to low density operation +reset -> Sets printing to high density operation + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 pE21 +Status: DEC private, LA12 +------------------------------------------------------------------------------- +Mode: ?25 +Mnemonic: DECTCEM +Description: Text cursor enable mode + +set -> visible +reset -> invisible + +Source: +Status: DEC private +------------------------------------------------------------------------------- +Mode: ?27 +Mnemonic: DECPSP +Description: Proportional spacing + +set -> sets proportional spacing +reset -> clears proportional spacing + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 pE99 +Status: DEC private; LQP02 +------------------------------------------------------------------------------- +Mode: ?29 +Mnemonic: DECPSM +Description: Pitch select mode + +set -> Sets pitch select mode to current DPS pitches mode +reset -> Sets pitch select mode to all pitches mode + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 +Status: DEC private +------------------------------------------------------------------------------- +Mode: ?30 +Description: Scroll bar mode + +set -> Show scrollbar +reset -> Don't show scrollbar + +Source: XFree86: xc/doc/specs/xterm/ctlseqs.ms,v 3.29 1999/09/27 06:29:05 +Status: rxvt private +------------------------------------------------------------------------------- +Mode: ?34 +Mnemonic: DECRLM +Description: Writing + +set -> right to left +reset -> left to right + +Source: +Status: DEC private +------------------------------------------------------------------------------- +Mode: ?35 +Mnemonic: DECHEBM + +(Kermit) Invoke macro: KEYBOARDS KEYBOARDR + +++ VT320 DEC supplements for Hebrew systems adapted + from VT420-Hebrew terminals, invokes a new + keyboard map. Kermit invokes macros above. + +Source: +Status: DEC private +------------------------------------------------------------------------------- +Mode: ?35 +Description: Shifted key-functions + +set -> Enable shifted key-functions +reset -> Disable shifted key-functions + +Source: XFree86: xc/doc/specs/xterm/ctlseqs.ms,v 3.29 1999/09/27 06:29:05 +Status: rxvt private +------------------------------------------------------------------------------- +Mode: ?36 +Mnemonic: DECHEM +Description: Hebrew encoding + +set -> Multinational +reset -> Hebrew NRC + +Source: +Status: DEC private +------------------------------------------------------------------------------- +Mode: ?38 +Mnemonic: DECTEK +Description: Graphics (Tek) + +set -> Enter Tektromix mode +reset -> [ not possible ] + +Source: XFree86: xc/doc/specs/xterm/ctlseqs.ms,v 3.29 1999/09/27 06:29:05 +Status: DEC? private +------------------------------------------------------------------------------- +Mode: ?40 +Mnemonic: DECCRNLM +Description: Carriage return/new line mode + +set -> Enables LF to go with CR +reset -> Disables (default) + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 pE107 +Status: DEC private; printers +------------------------------------------------------------------------------- +Mode: ?40 +Description: Column switch control + +set -> Allow 80 <-> 132 mode +reset -> Disallow 80 <-> 132 mode + +Source: XFree86: xc/doc/specs/xterm/ctlseqs.ms,v 3.29 1999/09/27 06:29:05 +Status: xterm private +------------------------------------------------------------------------------- +Mode: ?41 +Description: print direction + +set -> Prints from left to right +reset -> Prints bidirectionally + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 pE41 +Status: DEC private; LA210 +------------------------------------------------------------------------------- +Mode: ?41 +Description: more(1) fix + +set -> This option indicates that xterm should work + around a bug in the more(1) program that causes it + to incorrectly display lines that are exactly the + width of the window and are followed by a line + beginning with a tab (the leading tabs are not + displayed). + +reset -> This option indicates that xterm should not work + around the more(1) bug mentioned above. + +Source: XFree86: xc/doc/specs/xterm/ctlseqs.ms,v 3.29 1999/09/27 06:29:05 +Source: XFree86: xc/programs/xterm/xterm.man,v 3.52 1999/09/27 06:30:25 +Status: xterm private +------------------------------------------------------------------------------- +Mode: ?42 +Mnemonic: DECNRCM +Description: Nat Repl Char + +set -> enable +reset -> disable + +Source: +Status: DEC private +------------------------------------------------------------------------------- +Mode: ?43 +Mnemonic: DECGEPM +Description: Expanded/compressed print mode + +set -> Select an expanded image for a graphics print screen. +reset -> Select a compressed image for a graphics print screen. + +Source: Reflection TRM (VT) Version 7.0 +Status: DEC private +------------------------------------------------------------------------------- +Mode: ?44 +Mnemonic: DECGPCM +Description: Print color/black and white mode + +set -> Send a color image to the printer for a graphics print screen. + +reset -> Send a black and white image to the printer for a graphics +print screen. + +Source: Reflection TRM (VT) Version 7.0 +Status: DEC private +------------------------------------------------------------------------------- +Mode: ?44 +Description: Margin bell + +set -> Turn on margin bell +reset -> Turn off margin bell + +Source: XFree86: xc/doc/specs/xterm/ctlseqs.ms,v 3.29 1999/09/27 06:29:05 +Status: xterm private +------------------------------------------------------------------------------- +Mode: ?45 +Mnemonic: DECGPCS +Description: Print color syntax + +set -> Select the RGB color format for a graphics print screen. +reset -> Select the HLS color format for a graphics print screen. + +Source: Reflection TRM (VT) Version 7.0 +Status: DEC private +------------------------------------------------------------------------------- +Mode: ?45 +Description: Reverse-wraparound mode + +set -> Reverse-wraparound mode +reset -> No reverse-wraparound mode + +Source: XFree86: xc/doc/specs/xterm/ctlseqs.ms,v 3.29 1999/09/27 06:29:05 +Status: xterm private +------------------------------------------------------------------------------- +Mode: ?46 +Mnemonic: DECGPBM + +set -> Send the entire graphics image, including the background, to +the printer for a graphics print screen. + +reset -> Send the graphics image, except for the background, to the +printer for a graphics print screen. + +This applies only when the DECGPCM function is set to send a color image. + +Source: Reflection TRM (VT) Version 7.0 +Status: DEC private +------------------------------------------------------------------------------- +Mode: ?46 +Description: Logging mode + +set -> Start logging (normally disabled by a compile-time option) +reset -> Stop logging + +Source: XFree86: xc/doc/specs/xterm/ctlseqs.ms,v 3.29 1999/09/27 06:29:05 +Status: xterm private +------------------------------------------------------------------------------- +Mode: ?47 +Mnemonic: DECGRPM +Description: Print rotated/compressed mode + +set -> Send a graphics image to the printer rotated 90 degrees. + +reset -> Send a compressed image to the printer. + +Source: Reflection TRM (VT) Version 7.0 +Status: DEC private +------------------------------------------------------------------------------- +Mode: ?47 +Description: Alternate screen mode + +set -> Use alternate screen buffer (unless disabled by the titeInhibit + resource) +reset -> Use normal screen buffer + +Source: XFree86: xc/doc/specs/xterm/ctlseqs.ms,v 3.29 1999/09/27 06:29:05 +Status: xterm private +------------------------------------------------------------------------------- +Mode: ?51 +Mnemonic: DECBWRM +Description: Black/white reversal mode + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 pE123 +Status: DEC private; LCP01 +------------------------------------------------------------------------------- +Mode: ?52 +Mnemonic: DECOPM +Description: Origin placement mode + +set -> Places origin to corner of paper +reset -> Places origin to corner of printable area (default) + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 pE110 +Status: DEC private; LA100, LN03 +------------------------------------------------------------------------------- +Mode: ?55 +Mnemonic: DECBPM +Description: Bold page mode + +Source: DEC Terminals and Printers Handbook 1985 EB 26291-56 pE123 +Status: DEC private; LCP01 +------------------------------------------------------------------------------- +Mode: ?60 +Mnemonic: DECHCCM +Description: Horizontal cursor coupling + +This control function determines whether the user window pans with the +cursor when the cursor moves past the right or left border of the user +window. DECHCCM is only useful when the width of the current user +window is narrower than the page. The cursor must stay on the current +page. + +set -> Couple the cursor to the display. By default the cursor is +coupled to the display for horizontal movement. When the cursor moves +past the right or left border of the user window, the window pans to +keep the cursor in view. If the cursor moves past the left border of +the display, the user window pans to the left and new columns appear +at the right border of the window. + +reset -> Uncouple the cursor from the display. If the cursor is +uncoupled from the display and is moved past the right or left border +of the user window, the cursor disappears from view. + +Source: Reflection TRM (VT) Version 7.0 +Status: DEC private; VT400 +------------------------------------------------------------------------------- +Mode: ?61 +Mnemonic: DECVCCM +Description: Vertical cursor coupling + +This mode determines whether the user window pans with the cursor when +the cursor moves past the top or bottom border of the user +window. DECVCCM is only useful when the height of the current user +window is smaller than the page. The cursor must stay on the current +page. + +set -> Couple the cursor to the display. By default the cursor is +coupled to the display for vertical movement. When the cursor moves +past the top or bottom border of the user window, the window pans to +keep the cursor in view. If the cursor moves past the top of the +display, the user window pans up and new lines appear at the top of +the screen. + +reset -> Uncouple the cursor from the display. If the cursor is +uncoupled from the display and is moved past the top or bottom border +of the user window, the cursor disappears from view. + +Source: Reflection TRM (VT) Version 7.0 +Status: DEC private; VT400 +------------------------------------------------------------------------------- +Mode: ?64 +Mnemonic: DECPCCM + +This control function determines if a new page appears in the display +when the cursor moves to a new page. DECPCCM is only useful with a +multiple-page format. + +set -> Couple the cursor to the display. By default the cursor is +coupled to the display when the cursor moves to a new page. The new +page appears in the display to keep the cursor in view. + +reset -> Uncouple the cursor. If the cursor is uncoupled from the +display and is moved to a new page, the cursor disappears from view. + +Source: Reflection TRM (VT) Version 7.0 +Status: DEC private; VT400 +------------------------------------------------------------------------------- +Mode: ?66 +Mnemonic: DECNKM +Description: Numeric keypad + +set -> application +reset -> numeric + +Source: +Status: DEC private +------------------------------------------------------------------------------- +Mode: ?67 +Mnemonic: DECBKM +Description: Backspace/delete + +set -> +Status: DEC private; VT320 +------------------------------------------------------------------------------- +Mode: ?68 +Mnemonic: DECKBUM +Description: Typewriter + +set -> data process +reset -> typewriter + +Source: +Status: DEC private +------------------------------------------------------------------------------- +Mode: ?80 +Mnemonic: DECSDM +Description: Sixel scrolling + +set -> enable sixel scrolling (screen scrolls if sixel graphics hit bottom) +reset -> disable sixel scrolling + +Source: Reflection TRM (VT) Version 7.0 +Status: DEC private +------------------------------------------------------------------------------- +Mode: ?1000 +Description: X11 normal mouse tracking + +Parameters (such as pointer position and button number) for all mouse +tracking escape sequences generated by xterm encode numeric parameters +in a single character as value+32. For example, ! specifies the value +1. The upper left character position on the terminal is denoted as 1,1. + +Normal tracking mode sends an escape sequence on both button press and +release. Modifier key (shift, ctrl, meta) information is also sent. It +is enabled by specifying parameter 1000 to DECSET. On button press or +release, xterm sends CSI M CbCxCy. The low two bits of Cb encode button +information: 0=MB1 pressed, 1=MB2 pressed, 2=MB3 pressed, 3=release. +The upper bits encode the modifiers which were down when the button was +pressed and are added together. 4=Shift, 8=Meta, 16=Control. Cx and Cy +are the x and y coordinates of the mouse event. The upper left corner +is (1,1). + +Source: XFree86: xc/doc/specs/xterm/ctlseqs.ms,v 3.29 1999/09/27 06:29:05 +Status: xterm private +------------------------------------------------------------------------------- +Mode: ?1001 +Description: X11 hilite mouse tracking + +Mouse hilite tracking notifies a program of a button press, receives a +range of lines from the program, highlights the region covered by the +mouse within that range until button release, and then sends the program +the release coordinates. It is enabled by specifying parameter 1001 to +DECSET. Highlighting is performed only for button 1, though other but- +ton events can be received. Warning: use of this mode requires a coop- +erating program or it will hang xterm. On button press, the same infor- +mation as for normal tracking is generated; xterm then waits for the +program to send mouse tracking information. All X events are ignored +until the proper escape sequence is received from the pty: CSI Ps ; Ps ; +Ps ; Ps ; Ps T . The parameters are func, startx, starty, firstrow, and +lastrow. func is non-zero to initiate hilite tracking and zero to +abort. startx and starty give the starting x and y location for the +highlighted region. The ending location tracks the mouse, but will +never be above row firstrow and will always be above row lastrow. (The +top of the screen is row 1.) When the button is released, xterm reports +the ending position one of two ways: if the start and end coordinates +are valid text locations: CSI t CxCy. If either coordinate is past the +end of the line: CSI T CxCyCxCyCxCy. The parameters are startx, starty, +endx, endy, mousex, and mousey. startx, starty, endx, and endy give the +starting and ending character positions of the region. mousex and +mousey give the location of the mouse at button up, which may not be +over a character. + +Source: XFree86: xc/doc/specs/xterm/ctlseqs.ms,v 3.29 1999/09/27 06:29:05 +Status: xterm private +------------------------------------------------------------------------------- +Mode: ?1002 +Description: X11 button-event mouse tracking + +Button-event tracking is essentially the same as normal tracking, but +xterm also reports button-motion events. Motion events are reported +only if the mouse pointer has moved to a different character cell. It +is enabled by specifying parameter 1002 to DECSET. On button press or +release, xterm sends the same codes used by normal tracking mode. On +button-motion events, xterm adds 4 to the event code (the third charac- +ter, Cb). The low two bits of the event code encode the button informa- +tion. The third bit is set to indicate motion. Additional bits specify +modifier keys as in normal mode. For example, motion into cell x,y with +button 1 down is reported as CSI M @ CxCy. ( @ = 32 + 0 (button 1) + +32 (motion indicator) ). Similarly, motion with button 3 down is +reported as CSI M B CxCy. ( B = 32 + 2 (button 3) + 32 (motion indica- +tor) ). + +Source: XFree86: xc/doc/specs/xterm/ctlseqs.ms,v 3.29 1999/09/27 06:29:05 +Status: xterm private +------------------------------------------------------------------------------- +Mode: ?1003 +Description: X11 any-event mouse tracking + +Any-event mode is the same as button-event mode, except that all motion +events are reported instead of just those that enter a new character +cell. It is enabled by specifying 1003 to DECSET. + +Source: XFree86: xc/doc/specs/xterm/ctlseqs.ms,v 3.29 1999/09/27 06:29:05 +Status: xterm private +------------------------------------------------------------------------------- +Mode: ?1010 +Description: Scroll to bottom on tty output + +set -> Scroll to bottom on tty output +reset -> Don't scroll to bottom on tty output + +Source: XFree86: xc/doc/specs/xterm/ctlseqs.ms,v 3.29 1999/09/27 06:29:05 +Status: rxvt private +------------------------------------------------------------------------------- +Mode: ?1011 +Description: Scroll to bottom on key press + +set -> Scroll to bottom on key press +reset -> Don't scroll to bottom on key press + +Source: XFree86: xc/doc/specs/xterm/ctlseqs.ms,v 3.29 1999/09/27 06:29:05 +Status: rxvt private +------------------------------------------------------------------------------- +Mode: ?1035 +Description: Special modifiers + +set -> Enable special modifiers for Alt and NumLock keys +reset -> Disable special modifiers for Alt and NumLock keys + +Source: XFree86: xc/doc/specs/xterm/ctlseqs.ms,v 3.29 1999/09/27 06:29:05 +Status: xterm private +------------------------------------------------------------------------------- +Mode: ?1047 + +set -> Use alternate screen buffer (unless disabled by the titeInhibit + resource) +reset -> Use Normal Screen Buffer, clearing screen first if in the + Alternate Screen (unless disabled by the titeInhibit + resource) + +Source: XFree86: xc/doc/specs/xterm/ctlseqs.ms,v 3.29 1999/09/27 06:29:05 +Status: xterm private +------------------------------------------------------------------------------- +Mode: ?1048 + +set -> Save cursor as in DECSC (unless disabled by the titeInhibit + resource) +reset -> Restore cursor as in DECRC (unless disabled by the + titeInhibit resource) + +Source: XFree86: xc/doc/specs/xterm/ctlseqs.ms,v 3.29 1999/09/27 06:29:05 +Status: xterm private +------------------------------------------------------------------------------- +Mode: ?1049 + +set -> Save cursor as in DECSC and use Alternate Screen Buffer, + clearing it first (unless disabled by the titeInhibit resource) +reset -> Use Normal Screen Buffer and restore cursor as in DECRC (unless + disabled by the titeInhibit resource) + +Source: XFree86: xc/doc/specs/xterm/ctlseqs.ms,v 3.29 1999/09/27 06:29:05 +Status: xterm private +------------------------------------------------------------------------------- +Mode: ?1051 +Description: Sun function-key mode + +Source: XFree86: xc/doc/specs/xterm/ctlseqs.ms,v 3.29 1999/09/27 06:29:05 +Status: xterm private +------------------------------------------------------------------------------- +Mode: ?1052 +Description: HP function-key mode + +Source: XFree86: xc/doc/specs/xterm/ctlseqs.ms,v 3.29 1999/09/27 06:29:05 +Status: xterm private +------------------------------------------------------------------------------- +Mode: ?1061 +Description: Sun/PC keyboard mode + +Source: XFree86: xc/doc/specs/xterm/ctlseqs.ms,v 3.29 1999/09/27 06:29:05 +Status: xterm private +------------------------------------------------------------------------------- diff --git a/docs/codepage437.txt b/docs/codepage437.txt new file mode 100644 index 0000000..9aa819b --- /dev/null +++ b/docs/codepage437.txt @@ -0,0 +1,256 @@ +0000 0 +263A ☺ 1 +263B ☻ 2 +2665 ♥ 3 +2666 ♦ 4 +2663 ♣ 5 +2660 ♠ 6 +2022 • 7 +25D8 ◘ 8 +25CB ○ 9 +25D9 ◙ 10 +2642 ♂ 11 +2640 ♀ 12 +266A ♪ 13 +266B ♫ 14 +263C ☼ 15 +25BA ► 16 +25C4 ◄ 17 +2195 ↕ 18 +203C ‼ 19 +00B6 ¶ 20 +00A7 § 21 +25AC ▬ 22 +21A8 ↨ 23 +2191 ↑ 24 +2193 ↓ 25 +2192 → 26 +2190 ← 27 +221F ∟ 28 +2194 ↔ 29 +25B2 ▲ 30 +25BC ▼ 31 +0020 32 +0021 ! 33 +0022 " 34 +0023 # 35 +0024 $ 36 +0025 % 37 +0026 & 38 +0027 ' 39 +0028 ( 40 +0029 ) 41 +002A * 42 +002B + 43 +002C , 44 +002D - 45 +002E . 46 +002F / 47 +0030 0 48 +0031 1 49 +0032 2 50 +0033 3 51 +0034 4 52 +0035 5 53 +0036 6 54 +0037 7 55 +0038 8 56 +0039 9 57 +003A : 58 +003B ; 59 +003C < 60 +003D = 61 +003E > 62 +003F ? 63 +0040 @ 64 +0041 A 65 +0042 B 66 +0043 C 67 +0044 D 68 +0045 E 69 +0046 F 70 +0047 G 71 +0048 H 72 +0049 I 73 +004A J 74 +004B K 75 +004C L 76 +004D M 77 +004E N 78 +004F O 79 +0050 P 80 +0051 Q 81 +0052 R 82 +0053 S 83 +0054 T 84 +0055 U 85 +0056 V 86 +0057 W 87 +0058 X 88 +0059 Y 89 +005A Z 90 +005B [ 91 +005C \ 92 +005D ] 93 +005E ^ 94 +005F _ 95 +0060 ` 96 +0061 a 97 +0062 b 98 +0063 c 99 +0064 d 100 +0065 e 101 +0066 f 102 +0067 g 103 +0068 h 104 +0069 i 105 +006A j 106 +006B k 107 +006C l 108 +006D m 109 +006E n 110 +006F o 111 +0070 p 112 +0071 q 113 +0072 r 114 +0073 s 115 +0074 t 116 +0075 u 117 +0076 v 118 +0077 w 119 +0078 x 120 +0079 y 121 +007A z 122 +007B { 123 +007C | 124 +007D } 125 +007E ~ 126 +2302 ⌂ 127 +00C7 Ç 128 +00FC ü 129 +00E9 é 130 +00E2 â 131 +00E4 ä 132 +00E0 à 133 +00E5 å 134 +00E7 ç 135 +00EA ê 136 +00EB ë 137 +00E8 è 138 +00EF ï 139 +00EE î 140 +00EC ì 141 +00C4 Ä 142 +00C5 Å 143 +00C9 É 144 +00E6 æ 145 +00C6 Æ 146 +00F4 ô 147 +00F6 ö 148 +00F2 ò 149 +00FB û 150 +00F9 ù 151 +00FF ÿ 152 +00D6 Ö 153 +00DC Ü 154 +00A2 ¢ 155 +00A3 £ 156 +00A5 ¥ 157 +20A7 ₧ 158 +0192 ƒ 159 +00E1 á 160 +00ED í 161 +00F3 ó 162 +00FA ú 163 +00F1 ñ 164 +00D1 Ñ 165 +00AA ª 166 +00BA º 167 +00BF ¿ 168 +2310 ⌐ 169 +00AC ¬ 170 +00BD ½ 171 +00BC ¼ 172 +00A1 ¡ 173 +00AB « 174 +00BB » 175 +2591 ░ 176 +2592 ▒ 177 +2593 ▓ 178 +2502 │ 179 +2524 ┤ 180 +2561 ╡ 181 +2562 ╢ 182 +2556 ╖ 183 +2555 ╕ 184 +2563 ╣ 185 +2551 ║ 186 +2557 ╗ 187 +255D ╝ 188 +255C ╜ 189 +255B ╛ 190 +2510 ┐ 191 +2514 └ 192 +2534 ┴ 193 +252C ┬ 194 +251C ├ 195 +2500 ─ 196 +253C ┼ 197 +255E ╞ 198 +255F ╟ 199 +255A ╚ 200 +2554 ╔ 201 +2569 ╩ 202 +2566 ╦ 203 +2560 ╠ 204 +2550 ═ 205 +256C ╬ 206 +2567 ╧ 207 +2568 ╨ 208 +2564 ╤ 209 +2565 ╥ 210 +2559 ╙ 211 +2558 ╘ 212 +2552 ╒ 213 +2553 ╓ 214 +256B ╫ 215 +256A ╪ 216 +2518 ┘ 217 +250C ┌ 218 +2588 █ 219 +2584 ▄ 220 +258C ▌ 221 +2590 ▐ 222 +2580 ▀ 223 +03B1 α 224 +00DF ß 225 +0393 Γ 226 +03C0 π 227 +03A3 Σ 228 +03C3 σ 229 +00B5 µ 230 +03C4 τ 231 +03A6 Φ 232 +0398 Θ 233 +03A9 Ω 234 +03B4 δ 235 +221E ∞ 236 +03C6 φ 237 +03B5 ε 238 +2229 ∩ 239 +2261 ≡ 240 +00B1 ± 241 +2265 ≥ 242 +2264 ≤ 243 +2320 ⌠ 244 +2321 ⌡ 245 +00F7 ÷ 246 +2248 ≈ 247 +00B0 ° 248 +2219 ∙ 249 +00B7 · 250 +221A √ 251 +207F ⁿ 252 +00B2 ² 253 +25A0 ■ 254 +00A0 255 diff --git a/docs/espterm-hw-full.jpg b/docs/espterm-hw-full.jpg new file mode 100644 index 0000000..ba22234 Binary files /dev/null and b/docs/espterm-hw-full.jpg differ diff --git a/docs/espterm-hw-small.jpg b/docs/espterm-hw-small.jpg new file mode 100644 index 0000000..bef6f18 Binary files /dev/null and b/docs/espterm-hw-small.jpg differ diff --git a/docs/espterm-xterm.html b/docs/espterm-xterm.html new file mode 100644 index 0000000..a19c158 --- /dev/null +++ b/docs/espterm-xterm.html @@ -0,0 +1,2257 @@ + + + + +ESPTerm supported escape sequences overview + + + +
+ +

+ This page lists all control sequences of xterm, which ESPTerm uses as a reference implementation. +

+

+ Features and sequences not supported by ESPTerm are grayed out, added text is in green color + or in gray boxes like this one. +

+
+

This document was adapted from http://invisible-island.net/xterm/.

+
+

ctlseqs(ms)

+
+
+                  XTerm and ESPTerm Control Sequences
+
+                               Edward Moy
+                   University of California, Berkeley
+
+                               Revised by
+
+                             Stephen Gildea
+                          X Consortium (1994)
+
+                             Thomas Dickey
+                      XFree86 Project (1996-2006)
+                    invisible-island.net (2006-2017)
+               updated for XTerm Patch #329 (2017/06/11)
+
+
+

Definitions

+
+c    The literal character c.
+
+C    A single (required) character.
+
+Ps   A single (usually optional) numeric parameter, composed of one of
+     more digits.
+
+Pm   A multiple numeric parameter composed of any number of single
+     numeric parameters, separated by ;  character(s).  Individual val-
+     ues for the parameters are listed with Ps .
+
+Pt   A text parameter composed of printable characters.
+
+
+

Control Bytes, Characters, and Sequences

+ +
+ECMA-48 (aka "ISO 6429") documents C1 (8-bit) and C0 (7-bit) codes.
+Those are respectively codes 128 to 159 and 0 to 31.  ECMA-48 avoids
+referring to these codes as characters, because that term is associated
+with graphic characters.  Instead, it uses "bytes" and "codes", with
+occasional lapses to "characters" where the meaning cannot be mistaken.
+
+Controls (including the escape code 27) are processed once:
+
+o This means that a C1 control can be mistaken for badly-formed UTF-8
+  when the terminal runs in UTF-8 mode because C1 controls are valid
+  continuation bytes of a UTF-8 encoded (multibyte) value.
+
+o It is not possible to use a C1 control obtained from decoding the
+  UTF-8 text, because that would require reprocessing the data.  Conse-
+  quently there is no ambiguity in the way this document uses the term
+  "character" to refer to bytes in a control sequence.
+
+
+	

ESPTerm implements 7-bit mode with full UTF-8 support enabled at all times. + C1 codes thus cannot be used with the terminal.

+ +

Bytes with the highest bit set (0x80-0xFF) are interpreted as part of a UTF-8 + code point and if the received multi-byte sequence is invalid, they are + discarded.

+
+The order of processing is a necessary consequence of the way ECMA-48 is +designed: + +o Each byte sent to the terminal can be unambiguously determined to fall + into one of a few categories (C0, C1 and graphic characters). + +o ECMA-48 is modal; once it starts processing a control sequence, the + terminal continues until the sequence is complete, or some byte is + found which is not allowed in the sequence. + +o Intermediate, parameter and final bytes may use the same codes as + graphic characters, but they are processed as part of a control + sequence and are not actually graphic characters. + +o Eight-bit controls can have intermediate, etc., bytes in the range 160 + to 255. Those can be treated as their counterparts in the range 32 to + 127. + +o Single-byte controls can be handled separately from multi-byte control + sequences because ECMA-48's rules are unambiguous. + + As a special case, ECMA-48 (section 9) mentions that the control func- + tions shift-in and shift-out are allowed to occur within a 7-bit + multibyte control sequence because those cannot alter the meaning of + the control sequence. + +o Some controls (such as OSC ) introduce a string mode, which is ended + on a ST (string terminator). + + Again, the terminal should accept single-byte controls within the + string. However, xterm has a resource setting brokenLinuxOSC to allow + recovery from applications which rely upon malformed palette sequences + used by the Linux console. + + +

ESPTerm allows only graphic characters and UTF-8 in string mode commands like OSC.

+

Low ASCII control characters (< 32) are acted upon immediately on reception, with the + exception of ST and BEL, which both terminate the string and execute the command.

+ +

CAN and SUB cause an immediate reset of the parser, discarding any command or + sequence currently being processed.

+
+
+

C1 (8-Bit) Control Characters

+
+The xterm program recognizes both 8-bit and 7-bit control characters.
+It generates 7-bit controls (by default) or 8-bit if S8C1T is enabled.
+The following pairs of 7-bit and 8-bit control characters are equiva-
+lent:
+
+
+	

ESPTerm supports only the 7-bit versions, eg. ESC D.

+

Sequences not implemented are still consumed by the parser, but have no effect, + with the exception of SOS, PM and APC, which start a string terminated by ST or BEL. + The string is discarded upon completion.

+
+ESC D + Index (IND is 0x84). +ESC E + Next Line (NEL is 0x85). +ESC H + Tab Set (HTS is 0x88). +ESC M + Reverse Index (RI is 0x8d). +ESC N + Single Shift Select of G2 Character Set (SS2 is 0x8e). This + affects next character only. +ESC O + Single Shift Select of G3 Character Set (SS3 is 0x8f). This + affects next character only. +ESC P + Device Control String (DCS is 0x90). +ESC V + Start of Guarded Area (SPA is 0x96). +ESC W + End of Guarded Area (EPA is 0x97). +ESC X + Start of String (SOS is 0x98). +ESC Z + Return Terminal ID (DECID is 0x9a). Obsolete form of CSI c (DA). +ESC [ + Control Sequence Introducer (CSI is 0x9b). +ESC \ + String Terminator (ST is 0x9c). +ESC ] + Operating System Command (OSC is 0x9d). +ESC ^ + Privacy Message (PM is 0x9e). +ESC _ + Application Program Command (APC is 0x9f). + +These control characters are used in the vtXXX emulation. + +
+

VT100 Mode

+
+Most of these control sequences are standard VT102 control sequences,
+but there is support for later DEC VT terminals (i.e., VT220, VT320,
+VT420, VT510), as well as ISO 6429 and aixterm color controls.  The only
+VT102 feature not supported is auto-repeat, since the only way X pro-
+vides for this will affect all windows.
+There are additional control sequences to provide xterm-dependent func-
+tions, such as the scrollbar or window size.  Where the function is
+specified by DEC or ISO 6429, the code assigned to it is given in paren-
+theses.
+The escape codes to designate and invoke character sets are specified by
+ISO 2022 (see that document for a discussion of character sets).
+Many of the features are optional; xterm can be configured and built
+without support for them.
+
+
+

Single-character functions

+
+BEL       Bell (Ctrl-G).
+BS        Backspace (Ctrl-H).
+CR        Carriage Return (Ctrl-M).
+ENQ       Return Terminal Status (Ctrl-E).  Default response is an empty
+          string, but may be overridden by a resource answerbackString.
+FF        Form Feed or New Page (NP).  (FF  is Ctrl-L).  FF  is treated
+          the same as LF .
+LF        Line Feed or New Line (NL).  (LF  is Ctrl-J).
+SI        Shift In (Ctrl-O) -> Switch to Standard Character Set.  This
+          invokes the G0 character set (the default).
+SO        Shift Out (Ctrl-N) -> Switch to Alternate Character Set.  This
+          invokes the G1 character set.
+SP        Space.
+TAB       Horizontal Tab (HT) (Ctrl-I).
+VT        Vertical Tab (Ctrl-K).  This is treated the same as LF.
+
+
+	

ESPTerm's answerbackString has the form SOS ESPTerm VERSION ST + (SOS and ST as described in C1 (8-Bit) Control Characters).

+
+
+

Controls beginning with ESC

+ + +

Most escape sequences that are not implemented in ESPTerm are still safely consumed and discarded by the parser.

+
+ +
+This excludes controls where ESC  is part of a 7-bit equivalent to 8-bit
+C1 controls, ordered by the final character(s).
+ESC SP F  7-bit controls (S7C1T).
+ESC SP G  8-bit controls (S8C1T).
+ESC SP L  Set ANSI conformance level 1 (dpANS X3.134.1).
+ESC SP M  Set ANSI conformance level 2 (dpANS X3.134.1).
+ESC SP N  Set ANSI conformance level 3 (dpANS X3.134.1).
+ESC # 3   DEC double-height line, top half (DECDHL).
+ESC # 4   DEC double-height line, bottom half (DECDHL).
+ESC # 5   DEC single-width line (DECSWL).
+ESC # 6   DEC double-width line (DECDWL).
+ESC # 8   DEC Screen Alignment Test (DECALN).
+ESC % @   Select default character set.  That is ISO 8859-1 (ISO 2022).
+ESC % G   Select UTF-8 character set (ISO 2022).
+ESC ( C   Designate G0 Character Set (ISO 2022, VT100).
+          Final character C for designating 94-character sets.  In this
+          list, 0 , A  and B  apply to VT100 and up, the remainder to
+          VT220 and up.  The VT220 character sets, together with the
+          Portuguese character set are activated by the National
+          Replacement Character controls.  The A  is a special case,
+          since it is also activated by the VT300-control for British
+          Latin-1 separately from the National Replacement Character
+          controls.
+            C = 0  -> DEC Special Character and Line Drawing Set.
+            C = 1  -> Augmented DOS page 437
+            C = <  -> DEC Supplementary (VT200).
+            C = % 5  -> DEC Supplementary Graphics (VT300).
+            C = >  -> DEC Technical (VT300).
+            C = A  -> United Kingdom (UK).
+            C = B  -> United States (USASCII). (default)
+            C = 4  -> Dutch.
+            C = C  or 5  -> Finnish.
+            C = R  or f  -> French.
+            C = Q  or 9  -> French Canadian (VT200, VT300).
+            C = K  -> German.
+            C = Y  -> Italian.
+            C = ` , E  or 6  -> Norwegian/Danish.
+            C = % 6  -> Portuguese (VT300).
+            C = Z  -> Spanish.
+            C = H  or 7  -> Swedish.
+            C = =  -> Swiss.
+
+ESC ) C   Designate G1 Character Set (ISO 2022, VT100).
+          The same character sets apply as for ESC ( C.
+ESC * C   Designate G2 Character Set (ISO 2022, VT220).
+          The same character sets apply as for ESC ( C.
+ESC + C   Designate G3 Character Set (ISO 2022, VT220).
+          The same character sets apply as for ESC ( C.
+ESC - C   Designate G1 Character Set (VT300).
+          The same character sets apply as for ESC ( C.
+ESC . C   Designate G2 Character Set (VT300).
+          The same character sets apply as for ESC ( C.
+ESC / C   Designate G3 Character Set (VT300).
+          These work for 96-character sets only.
+            C = A  -> ISO Latin-1 Supplemental.
+ESC 6     Back Index (DECBI), VT420 and up.
+ESC 7     Save Cursor (DECSC).
+ESC 8     Restore Cursor (DECRC).
+ESC 9     Forward Index (DECFI), VT420 and up.
+ESC =     Application Keypad (DECKPAM).
+ESC >     Normal Keypad (DECKPNM).
+ESC F     Cursor to lower left corner of screen.  This is enabled by the
+          hpLowerleftBugCompat resource. This is always enabled
+ESC c     Full Reset (RIS).
+ESC l     Memory Lock (per HP terminals).  Locks memory above the cur-
+          sor.
+ESC m     Memory Unlock (per HP terminals).
+ESC n     Invoke the G2 Character Set as GL (LS2).
+ESC o     Invoke the G3 Character Set as GL (LS3).
+ESC |     Invoke the G3 Character Set as GR (LS3R).
+ESC }     Invoke the G2 Character Set as GR (LS2R).
+ESC ~     Invoke the G1 Character Set as GR (LS1R).
+
+
+

Application Program-Command functions

+
+APC Pt ST None.  xterm implements no APC  functions; Pt is ignored.  Pt
+          need not be printable characters.
+
+
+

Device-Control functions

+
+DCS Ps; Ps| Pt ST
+          User-Defined Keys (DECUDK).  The first parameter:
+            Ps = 0  -> Clear all UDK definitions before starting
+          (default).
+            Ps = 1  -> Erase Below (default).
+          The second parameter:
+            Ps = 0  <- Lock the keys (default).
+            Ps = 1  <- Do not lock.
+          The third parameter is a ';'-separated list of strings denot-
+          ing the key-code separated by a '/' from the hex-encoded key
+          value.  The key codes correspond to the DEC function-key codes
+          (e.g., F6=17).
+DCS $ q Pt ST
+          Request Status String (DECRQSS).  The string following the "q"
+          is one of the following:
+            " q     -> DECSCA
+            " p     -> DECSCL
+            r       -> DECSTBM
+            s       -> DECSLRM
+            m       -> SGR
+            SP q    -> DECSCUSR
+          xterm responds with DCS 1 $ r Pt ST for valid requests,
+          replacing the Pt with the corresponding CSI string, or DCS 0 $
+          r Pt ST for invalid requests.
+DCS + p Pt ST
+          Set Termcap/Terminfo Data (xterm, experimental).  The string
+          following the "p" is a name to use for retrieving data from
+          the terminal database.  The data will be used for the "tcap"
+          keyboard configuration's function- and special-keys, as well
+          as by the Request Termcap/Terminfo String control.
+DCS + q Pt ST
+          Request Termcap/Terminfo String (xterm, experimental).  The
+          string following the "q" is a list of names encoded in hexa-
+          decimal (2 digits per character) separated by ; which corre-
+          spond to termcap or terminfo key names.
+          Two special features are also recognized, which are not key
+          names: Co for termcap colors (or colors for terminfo colors),
+          and TN for termcap name (or name for terminfo name).
+          xterm responds with DCS 1 + r Pt ST for valid requests, adding
+          to Pt an = , and the value of the corresponding string that
+          xterm would send, or DCS 0 + r Pt ST for invalid requests.
+          The strings are encoded in hexadecimal (2 digits per charac-
+          ter).
+
+
+

Functions using CSI , ordered by the final character(s)

+
+CSI Ps @  Insert Ps (Blank) Character(s) (default = 1) (ICH).
+CSI Ps A  Cursor Up Ps Times (default = 1) (CUU).
+CSI Ps B  Cursor Down Ps Times (default = 1) (CUD).
+CSI Ps C  Cursor Forward Ps Times (default = 1) (CUF).
+CSI Ps D  Cursor Backward Ps Times (default = 1) (CUB).
+CSI Ps E  Cursor Next Line Ps Times (default = 1) (CNL).
+CSI Ps F  Cursor Preceding Line Ps Times (default = 1) (CPL).
+CSI Ps G  Cursor Character Absolute  [column] (default = [row,1]) (CHA).
+CSI Ps ; Ps H
+          Cursor Position [row;column] (default = [1,1]) (CUP).
+CSI Ps I  Cursor Forward Tabulation Ps tab stops (default = 1) (CHT).
+CSI Ps J  Erase in Display (ED).
+            Ps = 0  -> Erase Below (default).
+            Ps = 1  -> Erase Above.
+            Ps = 2  -> Erase All.
+            Ps = 3  -> Erase Saved Lines (xterm).
+CSI ? Ps J
+          Erase in Display (DECSED).
+            Ps = 0  -> Selective Erase Below (default).
+            Ps = 1  -> Selective Erase Above.
+            Ps = 2  -> Selective Erase All.
+            Ps = 3  -> Selective Erase Saved Lines (xterm).
+CSI Ps K  Erase in Line (EL).
+            Ps = 0  -> Erase to Right (default).
+            Ps = 1  -> Erase to Left.
+            Ps = 2  -> Erase All.
+CSI ? Ps K
+          Erase in Line (DECSEL).
+            Ps = 0  -> Selective Erase to Right (default).
+            Ps = 1  -> Selective Erase to Left.
+            Ps = 2  -> Selective Erase All.
+CSI Ps L  Insert Ps Line(s) (default = 1) (IL).
+CSI Ps M  Delete Ps Line(s) (default = 1) (DL).
+CSI Ps P  Delete Ps Character(s) (default = 1) (DCH).
+CSI Ps S  Scroll up Ps lines (default = 1) (SU).
+CSI ? Pi; Pa; Pv S
+          If configured to support either Sixel Graphics or ReGIS Graph-
+          ics, xterm accepts a three-parameter control sequence, where
+          Pi, Pa and Pv are the item, action and value:
+
+            Pi = 1  -> item is number of color registers.
+            Pi = 2  -> item is Sixel graphics geometry (in pixels).
+            Pi = 3  -> item is ReGIS graphics geometry (in pixels).
+
+            Pa = 1  -> read
+            Pa = 2  -> reset to default
+            Pa = 3  -> set to value in Pv
+            Pa = 4  -> read the maximum allowed value
+
+            Pv can be omitted except when setting (Pa == 3 ).
+            Pv = n <- A single integer is used for color registers.
+            Pv = width; height <- Two integers for graphics geometry.
+
+          xterm replies with a control sequence of the same form:
+
+               CSI ? Pi; Ps; Pv S
+
+          where Ps is the status:
+            Ps = 0  -> success.
+            Ps = 1  -> error in Pi.
+            Ps = 2  -> error in Pa.
+            Ps = 3  -> failure.
+
+          On success, Pv represents the value read or set.
+
+          Notes:
+          o The current implementation allows reading the graphics
+            sizes, but disallows modifying those sizes because that is
+            done once, using resource-values.
+          o Graphics geometry is not necessarily the same as "window
+            size" (see the dtterm window manipulation extensions). For
+            example, xterm limits the maximum graphics geometry at com-
+            pile time (1000x1000 as of version 328) although the window
+            size can be larger.
+          o While resizing a window will always change the current
+            graphics geometry, the reverse is not true.  Setting graph-
+            ics geometry does not affect the window size.
+CSI Ps T  Scroll down Ps lines (default = 1) (SD).
+CSI Ps ; Ps ; Ps ; Ps ; Ps T
+          Initiate highlight mouse tracking.  Parameters are
+          [func;startx;starty;firstrow;lastrow].  See the section Mouse
+          Tracking.
+CSI > Ps; Ps T
+          Reset one or more features of the title modes to the default
+          value.  Normally, "reset" disables the feature.  It is possi-
+          ble to disable the ability to reset features by compiling a
+          different default for the title modes into xterm.
+            Ps = 0  -> Do not set window/icon labels using hexadecimal.
+            Ps = 1  -> Do not query window/icon labels using hexadeci-
+          mal.
+            Ps = 2  -> Do not set window/icon labels using UTF-8.
+            Ps = 3  -> Do not query window/icon labels using UTF-8.
+          (See discussion of "Title Modes").
+CSI Ps X  Erase Ps Character(s) (default = 1) (ECH).
+CSI Ps Z  Cursor Backward Tabulation Ps tab stops (default = 1) (CBT).
+CSI Pm `  Character Position Absolute  [column] (default = [row,1])
+          (HPA).
+CSI Pm a  Character Position Relative  [columns] (default = [row,col+1])
+          (HPR).
+CSI Ps b  Repeat the preceding graphic character Ps times (REP).
+CSI Ps c  Send Device Attributes (Primary DA).
+            Ps = 0  or omitted -> request attributes from terminal.  The
+          response depends on the decTerminalID resource setting.
+            -> CSI ? 1 ; 2 c  ("VT100 with Advanced Video Option")
+            -> CSI ? 1 ; 0 c  ("VT101 with No Options")
+            -> CSI ? 6 c  ("VT102")
+            -> CSI ? 6 2 ; Psc  ("VT220")
+            -> CSI ? 6 3 ; Psc  ("VT320")
+            -> CSI ? 6 4 ; Psc  ("VT420")
+          The VT100-style response parameters do not mean anything by
+          themselves.  VT220 (and higher) parameters do, telling the
+          host what features the terminal supports:
+            Ps = 1  -> 132-columns.
+            Ps = 2  -> Printer.
+            Ps = 3  -> ReGIS graphics.
+            Ps = 4  -> Sixel graphics.
+            Ps = 6  -> Selective erase.
+            Ps = 8  -> User-defined keys.
+            Ps = 9  -> National Replacement Character sets.
+            Ps = 1 5  -> Technical characters.
+            Ps = 1 8  -> User windows.
+            Ps = 2 1  -> Horizontal scrolling.
+            Ps = 2 2  -> ANSI color, e.g., VT525.
+            Ps = 2 9  -> ANSI text locator (i.e., DEC Locator mode).
+ESPTerm identifies itself as a VT420 with national character sets.CSI > Ps c
+          Send Device Attributes (Secondary DA).
+            Ps = 0  or omitted -> request the terminal's identification
+          code.  The response depends on the decTerminalID resource set-
+          ting.  It should apply only to VT220 and up, but xterm extends
+          this to VT100.
+            -> CSI  > Pp ; Pv ; Pc c
+          where Pp denotes the terminal type
+            Pp = 0  -> "VT100".
+            Pp = 1  -> "VT220".
+            Pp = 2  -> "VT240".
+            Pp = 1 8 -> "VT330".
+            Pp = 1 9 -> "VT340".
+            Pp = 2 4 -> "VT320".
+            Pp = 4 1 -> "VT420".
+            Pp = 6 1 -> "VT510".
+            Pp = 6 4 -> "VT520".
+            Pp = 6 5 -> "VT525".
+          and Pv is the firmware version (for xterm, this was originally
+          the XFree86 patch number, starting with 95). For ESPTerm, this is the
+          firmware version expressed as integer. In a DEC termi-nal, Pc
+          indicates the ROM cartridge registration number and is always zero.
+
+CSI Pm d  Line Position Absolute  [row] (default = [1,column]) (VPA).
+CSI Pm e  Line Position Relative  [rows] (default = [row+1,column])
+          (VPR).
+CSI Ps ; Ps f
+          Horizontal and Vertical Position [row;column] (default =
+          [1,1]) (HVP). This is functionally identical to CSI Ps ; Ps H.
+CSI Ps g  Tab Clear (TBC).
+            Ps = 0  -> Clear Current Column (default).
+            Ps = 3  -> Clear All.
+CSI Pm h  Set Mode (SM).
+            Ps = 2  -> Keyboard Action Mode (AM).
+            Ps = 4  -> Insert Mode (IRM).
+            Ps = 1 2  -> Send/receive (SRM). This option disables Local Echo when enabled (default)
+            Ps = 2 0  -> Automatic Newline (LNM).
+CSI ? Pm h
+          DEC Private Mode Set (DECSET).
+            Ps = 1  -> Application Cursor Keys (DECCKM).
+            Ps = 2  -> Designate USASCII for character sets G0-G3
+          (DECANM), and set VT100 mode.
+            Ps = 3  -> 132 Column Mode (DECCOLM). ESPTerm doesn't have enough RAM for 132x25,
+          but it implements the side effects of clearing the screen and resetting the scolling region.
+            Ps = 4  -> Smooth (Slow) Scroll (DECSCLM).
+            Ps = 5  -> Reverse Video (DECSCNM).
+            Ps = 6  -> Origin Mode (DECOM).
+            Ps = 7  -> Wraparound Mode (DECAWM).
+            Ps = 8  -> Auto-repeat Keys (DECARM).
+            Ps = 9  -> Send Mouse X & Y on button press.  See the sec-
+          tion Mouse Tracking.  This is the X10 xterm mouse protocol.
+            Ps = 1 0  -> Show toolbar (rxvt).
+            Ps = 1 2  -> Start Blinking Cursor (att610).
+            Ps = 1 8  -> Print form feed (DECPFF).
+            Ps = 1 9  -> Set print extent to full screen (DECPEX).
+            Ps = 2 5  -> Show Cursor (DECTCEM).
+            Ps = 3 0  -> Show scrollbar (rxvt).
+            Ps = 3 5  -> Enable font-shifting functions (rxvt).
+            Ps = 3 8  -> Enter Tektronix Mode (DECTEK).
+            Ps = 4 0  -> Allow 80 -> 132 Mode.
+            Ps = 4 1  -> more(1) fix (see curses resource).
+            Ps = 4 2  -> Enable National Replacement Character sets
+          (DECNRCM).
+            Ps = 4 4  -> Turn On Margin Bell.
+            Ps = 4 5  -> Reverse-wraparound Mode.
+            Ps = 4 6  -> Start Logging.  This is normally disabled by a
+          compile-time option.
+            Ps = 4 7  -> Use Alternate Screen Buffer.  (This may be dis-
+          abled by the titeInhibit resource). (See 1047 below for more info)
+            Ps = 6 6  -> Application keypad (DECNKM).
+            Ps = 6 7  -> Backarrow key sends backspace (DECBKM).
+            Ps = 6 9  -> Enable left and right margin mode (DECLRMM),
+          VT420 and up.
+            Ps = 9 5  -> Do not clear screen when DECCOLM is set/reset
+          (DECNCSM), VT510 and up.
+            Ps = 8 0 0  -> Display the Action Buttons under the terminal screen (default)
+            Ps = 8 0 1  -> Display the menu links under the terminal screen (default)
+            Ps = 1 0 0 0  -> Send Mouse X & Y on button press and
+          release.  See the section Mouse Tracking.  This is the X11
+          xterm mouse protocol.
+            Ps = 1 0 0 1  -> Use Hilite Mouse Tracking.
+            Ps = 1 0 0 2  -> Use Cell Motion Mouse Tracking.
+            Ps = 1 0 0 3  -> Use All Motion Mouse Tracking.
+            Ps = 1 0 0 4  -> Send FocusIn/FocusOut events.
+            Ps = 1 0 0 5  -> Enable UTF-8 Mouse Mode.
+            Ps = 1 0 0 6  -> Enable SGR Mouse Mode.
+            Ps = 1 0 0 7  -> Enable Alternate Scroll Mode, i.e., the
+          alternateScroll resource.
+            Ps = 1 0 1 0  -> Scroll to bottom on tty output (rxvt).
+            Ps = 1 0 1 1  -> Scroll to bottom on key press (rxvt).
+            Ps = 1 0 1 5  -> Enable urxvt Mouse Mode.
+            Ps = 1 0 3 4  -> Interpret "meta" key, sets eighth bit.
+          (enables the eightBitInput resource).
+            Ps = 1 0 3 5  -> Enable special modifiers for Alt and Num-
+          Lock keys.  (This enables the numLock resource).
+            Ps = 1 0 3 6  -> Send ESC   when Meta modifies a key.  (This
+          enables the metaSendsEscape resource).
+            Ps = 1 0 3 7  -> Send DEL from the editing-keypad Delete
+          key.
+            Ps = 1 0 3 9  -> Send ESC  when Alt modifies a key.  (This
+          enables the altSendsEscape resource).
+            Ps = 1 0 4 0  -> Keep selection even if not highlighted.
+          (This enables the keepSelection resource).
+            Ps = 1 0 4 1  -> Use the CLIPBOARD selection.  (This enables
+          the selectToClipboard resource).
+            Ps = 1 0 4 2  -> Enable Urgency window manager hint when
+          Control-G is received.  (This enables the bellIsUrgent
+          resource).
+            Ps = 1 0 4 3  -> Enable raising of the window when Control-G
+          is received.  (enables the popOnBell resource).
+            Ps = 1 0 4 4  -> Reuse the most recent data copied to CLIP-
+          BOARD.  (This enables the keepClipboard resource).
+            Ps = 1 0 4 7  -> Use Alternate Screen Buffer.  (This may be
+          disabled by the titeInhibit resource).
+            Ps = 1 0 4 8  -> Save cursor as in DECSC.  (This may be dis-
+          abled by the titeInhibit resource).
+            Ps = 1 0 4 9  -> Save cursor as in DECSC and use Alternate
+          Screen Buffer, clearing it first.  (This may be disabled by
+          the titeInhibit resource).  This combines the effects of the 1
+          0 4 7  and 1 0 4 8  modes.  Use this with terminfo-based
+          applications rather than the 4 7  mode.
+ESP8266 doesn't have enough RAM to hold two screen buffers.
+          Instead, we at least back up and restore screen title, size and other
+          attributes. The screen is also cleared with each buffer change. TODO implement            Ps = 1 0 5 0  -> Set terminfo/termcap function-key mode.
+            Ps = 1 0 5 1  -> Set Sun function-key mode.
+            Ps = 1 0 5 2  -> Set HP function-key mode.
+            Ps = 1 0 5 3  -> Set SCO function-key mode.
+            Ps = 1 0 6 0  -> Set legacy keyboard emulation (X11R6).
+            Ps = 1 0 6 1  -> Set VT220 keyboard emulation.
+            Ps = 2 0 0 4  -> Set bracketed paste mode.
+CSI Pm i  Media Copy (MC).
+            Ps = 0  -> Print screen (default).
+            Ps = 4  -> Turn off printer controller mode.
+            Ps = 5  -> Turn on printer controller mode.
+            Ps = 1  0  -> HTML screen dump.
+            Ps = 1  1  -> SVG screen dump.
+CSI ? Pm i
+          Media Copy (MC, DEC-specific).
+            Ps = 1  -> Print line containing cursor.
+            Ps = 4  -> Turn off autoprint mode.
+            Ps = 5  -> Turn on autoprint mode.
+            Ps = 1  0  -> Print composed display, ignores DECPEX.
+            Ps = 1  1  -> Print all pages.
+CSI Pm l  Reset Mode (RM). See SM above.
+
+CSI ? Pm l
+          DEC Private Mode Reset (DECRST). See DECSET above.
+
+CSI Pm m  Character Attributes (SGR).
+            Ps = 0  -> Normal (default).
+            Ps = 1  -> Bold.
+            Ps = 2  -> Faint, decreased intensity (ISO 6429).
+            Ps = 3  -> Italicized (ISO 6429).
+            Ps = 4  -> Underlined.
+            Ps = 5  -> Blink (appears as Bold).
+            Ps = 7  -> Inverse.
+            Ps = 8  -> Invisible, i.e., hidden (VT300).
+            Ps = 9  -> Crossed-out characters (ISO 6429).
+            Ps = 2 0  -> Fraktur (code from Wikipedia)
+            Ps = 2 1  -> Doubly-underlined (ISO 6429).
+            Ps = 2 1  -> Bold: off
+            Ps = 2 2  -> Normal (neither bold nor faint).
+            Ps = 2 3  -> Not italicized or Fraktur (ISO 6429).
+            Ps = 2 4  -> Not underlined.
+            Ps = 2 5  -> Steady (not blinking).
+            Ps = 2 7  -> Positive (not inverse).
+            Ps = 2 8  -> Visible, i.e., not hidden (VT300).
+            Ps = 2 9  -> Not crossed-out (ISO 6429).
+            Ps = 3 0  -> Set foreground color to Black.
+            Ps = 3 1  -> Set foreground color to Red.
+            Ps = 3 2  -> Set foreground color to Green.
+            Ps = 3 3  -> Set foreground color to Yellow.
+            Ps = 3 4  -> Set foreground color to Blue.
+            Ps = 3 5  -> Set foreground color to Magenta.
+            Ps = 3 6  -> Set foreground color to Cyan.
+            Ps = 3 7  -> Set foreground color to White. = light gray
+            Ps = 3 9  -> Set foreground color to default (original).
+            Ps = 4 0  -> Set background color to Black.
+            Ps = 4 1  -> Set background color to Red.
+            Ps = 4 2  -> Set background color to Green.
+            Ps = 4 3  -> Set background color to Yellow.
+            Ps = 4 4  -> Set background color to Blue.
+            Ps = 4 5  -> Set background color to Magenta.
+            Ps = 4 6  -> Set background color to Cyan.
+            Ps = 4 7  -> Set background color to White.
+            Ps = 4 9  -> Set background color to default (original).
+
+          If 16-color support is compiled, the following apply.  Assume
+          that xterm's resources are set so that the ISO color codes are
+          the first 8 of a set of 16. Then the aixterm colors are the
+          bright versions of the ISO colors:
+Codes 90-97 and 100-107 produce brighter versions of the base colors.            Ps = 9 0  -> Set foreground color to Black. = dark gray
+            Ps = 9 1  -> Set foreground color to Red.
+            Ps = 9 2  -> Set foreground color to Green.
+            Ps = 9 3  -> Set foreground color to Yellow.
+            Ps = 9 4  -> Set foreground color to Blue.
+            Ps = 9 5  -> Set foreground color to Magenta.
+            Ps = 9 6  -> Set foreground color to Cyan.
+            Ps = 9 7  -> Set foreground color to White.
+            Ps = 1 0 0  -> Set background color to Black.
+            Ps = 1 0 1  -> Set background color to Red.
+            Ps = 1 0 2  -> Set background color to Green.
+            Ps = 1 0 3  -> Set background color to Yellow.
+            Ps = 1 0 4  -> Set background color to Blue.
+            Ps = 1 0 5  -> Set background color to Magenta.
+            Ps = 1 0 6  -> Set background color to Cyan.
+            Ps = 1 0 7  -> Set background color to White.
+
+          If xterm is compiled with the 16-color support disabled, it
+          supports the following, from rxvt:
+            Ps = 1 0 0  -> Set foreground and background color to
+          default.
+
+          Xterm maintains a color palette whose entries are identified
+          by an index beginning with zero.  If 88- or 256-color support
+          is compiled, the following apply:
+          o All parameters are decimal integers.
+          o RGB values range from zero (0) to 255.
+          o ISO-8613-3 can be interpreted in more than one way; xterm
+            allows the semicolons in this control to be replaced by
+            colons (but after the first colon, colons must be used).
+
+          These ISO-8613-3 controls are supported:
+            Pm = 3 8 ; 2 ; Pr; Pg; Pb -> Set foreground color to the
+          closest match in xterm's palette for the given RGB Pr/Pg/Pb.
+            Pm = 3 8 ; 5 ; Ps -> Set foreground color to Ps.
+            Pm = 4 8 ; 2 ; Pr; Pg; Pb -> Set background color to the
+          closest match in xterm's palette for the given RGB Pr/Pg/Pb.
+            Pm = 4 8 ; 5 ; Ps -> Set background color to Ps.
+
+CSI > Ps; Ps m
+          Set or reset resource-values used by xterm to decide whether
+          to construct escape sequences holding information about the
+          modifiers pressed with a given key.  The first parameter iden-
+          tifies the resource to set/reset.  The second parameter is the
+          value to assign to the resource.  If the second parameter is
+          omitted, the resource is reset to its initial value.
+            Ps = 0  -> modifyKeyboard.
+            Ps = 1  -> modifyCursorKeys.
+            Ps = 2  -> modifyFunctionKeys.
+            Ps = 4  -> modifyOtherKeys.
+          If no parameters are given, all resources are reset to their
+          initial values.
+CSI Ps n  Device Status Report (DSR).
+            Ps = 5  -> Status Report.
+          Result ("OK") is CSI 0 n
+            Ps = 6  -> Report Cursor Position (CPR) [row;column].
+          Result is CSI r ; c R
+
+          Note: it is possible for this sequence to be sent by a func-
+          tion key.  For example, with the default keyboard configura-
+          tion the shifted F1 key may send (with shift-, control-, alt-
+          modifiers)
+            CSI 1  ; 2  R , or
+            CSI 1  ; 5  R , or
+            CSI 1  ; 6  R , etc.
+          The second parameter encodes the modifiers; values range from
+          2 to 16.  See the section PC-Style Function Keys for the
+          codes.  The modifyFunctionKeys and modifyKeyboard resources
+          can change the form of the string sent from the modified F1
+          key.
+
+CSI > Ps n
+          Disable modifiers which may be enabled via the CSI > Ps; Ps m
+          sequence.  This corresponds to a resource value of "-1", which
+          cannot be set with the other sequence.  The parameter identi-
+          fies the resource to be disabled:
+            Ps = 0  -> modifyKeyboard.
+            Ps = 1  -> modifyCursorKeys.
+            Ps = 2  -> modifyFunctionKeys.
+            Ps = 4  -> modifyOtherKeys.
+          If the parameter is omitted, modifyFunctionKeys is disabled.
+          When modifyFunctionKeys is disabled, xterm uses the modifier
+          keys to make an extended sequence of functions rather than
+          adding a parameter to each function key to denote the modi-
+          fiers.
+CSI ? Ps n
+          Device Status Report (DSR, DEC-specific).
+            Ps = 6  -> Report Cursor Position (DECXCPR) [row;column] as
+          CSI ? r ; c R (assumes the default page, i.e., "1").
+            Ps = 1 5  -> Report Printer status as CSI ? 1 0 n  (ready).
+          or CSI ? 1 1 n  (not ready).
+            Ps = 2 5  -> Report UDK status as CSI ? 2 0 n  (unlocked) or
+          CSI ? 2 1 n  (locked).
+            Ps = 2 6  -> Report Keyboard status as
+          CSI ? 2 7 ; 1 ; 0 ; 0 n  (North American).
+          The last two parameters apply to VT400 & up, and denote key-
+          board ready and LK01 respectively.
+            Ps = 5 3  -> Report Locator status as CSI ? 5 3 n  Locator
+          available, if compiled-in, or CSI ? 5 0 n  No Locator, if not.
+            Ps = 5 5  -> Report Locator status as CSI ? 5 3 n  Locator
+          available, if compiled-in, or CSI ? 5 0 n  No Locator, if not.
+            Ps = 5 6  -> Report Locator type as CSI ? 5 7 ; 1 n  Mouse,
+          if compiled-in, or CSI ? 5 7 ; 0 n  Cannot identify, if not.
+            Ps = 6 2  -> Report macro space (DECMSR) as CSI Pn \* { .
+            Ps = 6 3  -> Report memory checksum (DECCKSR) as DCS Pt ! x
+          x x x ST .
+              Pt is the request id (from an optional parameter to the
+          request).
+              The x's are hexadecimal digits 0-9 and A-F.
+            Ps = 7 5  -> Report data integrity as CSI ? 7 0 n  (ready,
+          no errors).
+            Ps = 8 5  -> Report multi-session configuration as CSI ? 8 3
+          n  (not configured for multiple-session operation).
+CSI > Ps p
+          Set resource value pointerMode.  This is used by xterm to
+          decide whether to hide the pointer cursor as the user types.
+          Valid values for the parameter:
+            Ps = 0  -> never hide the pointer.
+            Ps = 1  -> hide if the mouse tracking mode is not enabled.
+            Ps = 2  -> always hide the pointer, except when leaving the
+          window.
+            Ps = 3  -> always hide the pointer, even if leaving/entering
+          the window.  If no parameter is given, xterm uses the default,
+          which is 1 .
+CSI ! p   Soft terminal reset (DECSTR).
+          This does the same as `ESC c` ("hard reset") in ESPTerm
+CSI Ps ; Ps " p
+          Set conformance level (DECSCL).  Valid values for the first
+          parameter:
+            Ps = 6 1  -> VT100.
+            Ps = 6 2  -> VT200.
+            Ps = 6 3  -> VT300.
+          Valid values for the second parameter:
+            Ps = 0  -> 8-bit controls.
+            Ps = 1  -> 7-bit controls (always set for VT100).
+            Ps = 2  -> 8-bit controls.
+CSI Ps $ p
+          Request ANSI mode (DECRQM).  For VT300 and up, reply is
+            CSI Ps; Pm$ y
+          where Ps is the mode number as in RM, and Pm is the mode
+          value:
+            0 - not recognized
+            1 - set
+            2 - reset
+            3 - permanently set
+            4 - permanently reset
+CSI ? Ps$ p
+          Request DEC private mode (DECRQM).  For VT300 and up, reply is
+            CSI ? Ps; Pm$ y
+          where Ps is the mode number as in DECSET, Pm is the mode value
+          as in the ANSI DECRQM.
+CSI Ps q  Load LEDs (DECLL).
+            Ps = 0  -> Clear all LEDS (default).
+            Ps = 1  -> Light Num Lock.
+            Ps = 2  -> Light Caps Lock.
+            Ps = 3  -> Light Scroll Lock.
+            Ps = 2  1  -> Extinguish Num Lock.
+            Ps = 2  2  -> Extinguish Caps Lock.
+            Ps = 2  3  -> Extinguish Scroll Lock.
+CSI Ps SP q
+          Set cursor style (DECSCUSR, VT520).
+            Ps = 0  -> blinking block.
+            Ps = 1  -> blinking block (default).
+            Ps = 2  -> steady block.
+            Ps = 3  -> blinking underline.
+            Ps = 4  -> steady underline.
+            Ps = 5  -> blinking bar (xterm).
+            Ps = 6  -> steady bar (xterm).
+CSI Ps " q
+          Select character protection attribute (DECSCA).  Valid values
+          for the parameter:
+            Ps = 0  -> DECSED and DECSEL can erase (default).
+            Ps = 1  -> DECSED and DECSEL cannot erase.
+            Ps = 2  -> DECSED and DECSEL can erase.
+CSI Ps ; Ps r
+          Set Scrolling Region [top;bottom] (default = full size of win-
+          dow) (DECSTBM).
+CSI ? Pm r
+          Restore DEC Private Mode Values.  The value of Ps previously
+          saved is restored.  Ps values are the same as for DECSET. TODO implement
+CSI Pt; Pl; Pb; Pr; Ps$ r
+          Change Attributes in Rectangular Area (DECCARA), VT400 and up.
+            Pt; Pl; Pb; Pr denotes the rectangle.
+            Ps denotes the SGR attributes to change: 0, 1, 4, 5, 7.
+CSI s     Save cursor (ANSI.SYS), available only when DECLRMM is dis-
+          abled. This saves only the position, not attributes.
+CSI Pl; Pr s
+          Set left and right margins (DECSLRM), available only when
+          DECLRMM is enabled (VT420 and up).
+CSI ? Pm s
+          Save DEC Private Mode Values.  Ps values are the same as for
+          DECSET. TODO implement
+CSI Ps ; Ps ; Ps t
+          Window manipulation (from dtterm, as well as extensions).
+          These controls may be disabled using the allowWindowOps
+          resource.  Valid values for the first (and any additional
+          parameters) are:
+            Ps = 1  -> De-iconify window.
+            Ps = 2  -> Iconify window.
+            Ps = 3  ;  x ;  y -> Move window to [x, y].
+            Ps = 4  ;  height ;  width -> Resize the xterm window to
+          given height and width in pixels.  Omitted parameters reuse
+          the current height or width.  Zero parameters use the dis-
+          play's height or width.
+            Ps = 5  -> Raise the xterm window to the front of the stack-
+          ing order.
+            Ps = 6  -> Lower the xterm window to the bottom of the
+          stacking order.
+            Ps = 7  -> Refresh the xterm window.
+            Ps = 8  ;  height ;  width -> Resize the text area to given
+          height and width in characters.  Omitted parameters reuse the
+          current height or width.  Zero parameters use the display's
+          height or width.
+            Ps = 9  ;  0  -> Restore maximized window.
+            Ps = 9  ;  1  -> Maximize window (i.e., resize to screen
+          size).
+            Ps = 9  ;  2  -> Maximize window vertically.
+            Ps = 9  ;  3  -> Maximize window horizontally.
+            Ps = 1 0  ;  0  -> Undo full-screen mode.
+            Ps = 1 0  ;  1  -> Change to full-screen.
+            Ps = 1 0  ;  2  -> Toggle full-screen.
+            Ps = 1 1  -> Report xterm window state.  If the xterm window
+          is open (non-iconified), it returns CSI 1 t .  If the xterm
+          window is iconified, it returns CSI 2 t .
+            Ps = 1 3  -> Report xterm window position.
+          Result is CSI 3 ; x ; y t
+            Ps = 1 4  -> Report xterm window in pixels.
+          Result is CSI  4  ;  height ;  width t
+            Ps = 1 8  -> Report the size of the text area in characters.
+          Result is CSI  8  ;  height ;  width t
+            Ps = 1 9  -> Report the size of the screen in characters.
+          Result is CSI  9  ;  height ;  width t
+            Ps = 2 0  -> Report xterm window's icon label.
+          Result is OSC  L  label ST
+            Ps = 2 1  -> Report xterm window's title.
+          Result is OSC  l  label ST
+            Ps = 2 2  ;  0  -> Save xterm icon and window title on
+          stack.
+            Ps = 2 2  ;  1  -> Save xterm icon title on stack.
+            Ps = 2 2  ;  2  -> Save xterm window title on stack.
+            Ps = 2 3  ;  0  -> Restore xterm icon and window title from
+          stack.
+            Ps = 2 3  ;  1  -> Restore xterm icon title from stack.
+            Ps = 2 3  ;  2  -> Restore xterm window title from stack.
+            Ps >= 2 4  -> Resize to Ps lines (DECSLPP).
+CSI > Ps; Ps t
+          Set one or more features of the title modes.  Each parameter
+          enables a single feature.
+            Ps = 0  -> Set window/icon labels using hexadecimal.
+            Ps = 1  -> Query window/icon labels using hexadecimal.
+            Ps = 2  -> Set window/icon labels using UTF-8.
+            Ps = 3  -> Query window/icon labels using UTF-8.  (See dis-
+          cussion of "Title Modes")
+CSI Ps SP t
+          Set warning-bell volume (DECSWBV, VT520).
+            Ps = 0  or 1  -> off.
+            Ps = 2 , 3  or 4  -> low.
+            Ps = 5 , 6 , 7 , or 8  -> high.
+CSI Pt; Pl; Pb; Pr; Ps$ t
+          Reverse Attributes in Rectangular Area (DECRARA), VT400 and
+          up.
+            Pt; Pl; Pb; Pr denotes the rectangle.
+            Ps denotes the attributes to reverse, i.e.,  1, 4, 5, 7.
+CSI u     Restore cursor (ANSI.SYS). This restores only the position.
+CSI Ps SP u
+          Set margin-bell volume (DECSMBV, VT520).
+            Ps = 1  -> off.
+            Ps = 2 , 3  or 4  -> low.
+            Ps = 0 , 5 , 6 , 7 , or 8  -> high.
+CSI Pt; Pl; Pb; Pr; Pp; Pt; Pl; Pp$ v
+          Copy Rectangular Area (DECCRA, VT400 and up).
+            Pt; Pl; Pb; Pr denotes the rectangle.
+            Pp denotes the source page.
+            Pt; Pl denotes the target location.
+            Pp denotes the target page.
+CSI Pt ; Pl ; Pb ; Pr ' w
+          Enable Filter Rectangle (DECEFR), VT420 and up.
+          Parameters are [top;left;bottom;right].
+          Defines the coordinates of a filter rectangle and activates
+          it.  Anytime the locator is detected outside of the filter
+          rectangle, an outside rectangle event is generated and the
+          rectangle is disabled.  Filter rectangles are always treated
+          as "one-shot" events.  Any parameters that are omitted default
+          to the current locator position.  If all parameters are omit-
+          ted, any locator motion will be reported.  DECELR always can-
+          cels any prevous rectangle definition.
+CSI Ps x  Request Terminal Parameters (DECREQTPARM).
+          if Ps is a "0" (default) or "1", and xterm is emulating VT100,
+          the control sequence elicits a response of the same form whose
+          parameters describe the terminal:
+            Ps -> the given Ps incremented by 2.
+            Pn = 1  <- no parity.
+            Pn = 1  <- eight bits.
+            Pn = 1  <- 2  8  transmit 38.4k baud. Transmit speed (baud)
+            Pn = 1  <- 2  8  receive 38.4k baud. Receive speed (baud)
+            Pn = 1  <- clock multiplier.
+            Pn = 0  <- STP flags.The baud rate is retrieved from a lookup table based on the current ESPTerm settings.
+See the source code for the full list. Examples: 120 = 38400, 144 = 115200 baud. What this function is
+good for remains a mystery??CSI Ps * x
+          Select Attribute Change Extent (DECSACE).
+            Ps = 0  -> from start to end position, wrapped.
+            Ps = 1  -> from start to end position, wrapped.
+            Ps = 2  -> rectangle (exact).
+CSI Pc ; Pt ; Pl ; Pb ; Pr $ x
+          Fill Rectangular Area (DECFRA), VT420 and up.
+            Pc is the character to use.
+            Pt; Pl; Pb; Pr denotes the rectangle.
+CSI Pi ; Pg ; Pt; Pl; Pb; Pr * y
+          Request Checksum of Rectangular Area (DECRQCRA), VT420 and up.
+          Response is
+          DCS Pi ! x x x x ST
+            Pi is the request id.
+            Pg is the page number.
+            Pt; Pl; Pb; Pr denotes the rectangle.
+            The x's are hexadecimal digits 0-9 and A-F.
+CSI Ps ; Pu ' z
+          Enable Locator Reporting (DECELR).
+          Valid values for the first parameter:
+            Ps = 0  -> Locator disabled (default).
+            Ps = 1  -> Locator enabled.
+            Ps = 2  -> Locator enabled for one report, then disabled.
+          The second parameter specifies the coordinate unit for locator
+          reports.
+          Valid values for the second parameter:
+            Pu = 0  <- or omitted -> default to character cells.
+            Pu = 1  <- device physical pixels.
+            Pu = 2  <- character cells.
+CSI Pt; Pl; Pb; Pr$ z
+          Erase Rectangular Area (DECERA), VT400 and up.
+            Pt; Pl; Pb; Pr denotes the rectangle.
+CSI Pm ' {
+          Select Locator Events (DECSLE).
+          Valid values for the first (and any additional parameters)
+          are:
+            Ps = 0  -> only respond to explicit host requests (DECRQLP).
+                       (This is default).  It also cancels any filter
+                       rectangle.
+            Ps = 1  -> report button down transitions.
+            Ps = 2  -> do not report button down transitions.
+            Ps = 3  -> report button up transitions.
+            Ps = 4  -> do not report button up transitions.
+CSI Pt; Pl; Pb; Pr $ {
+          Selective Erase Rectangular Area (DECSERA), VT400 and up.
+            Pt; Pl; Pb; Pr denotes the rectangle.
+CSI Ps ' |
+          Request Locator Position (DECRQLP).
+          Valid values for the parameter are:
+            Ps = 0 , 1 or omitted -> transmit a single DECLRP locator
+          report.
+
+          If Locator Reporting has been enabled by a DECELR, xterm will
+          respond with a DECLRP Locator Report.  This report is also
+          generated on button up and down events if they have been
+          enabled with a DECSLE, or when the locator is detected outside
+          of a filter rectangle, if filter rectangles have been enabled
+          with a DECEFR.
+
+            -> CSI Pe ; Pb ; Pr ; Pc ; Pp &  w
+
+          Parameters are [event;button;row;column;page].
+          Valid values for the event:
+            Pe = 0  -> locator unavailable - no other parameters sent.
+            Pe = 1  -> request - xterm received a DECRQLP.
+            Pe = 2  -> left button down.
+            Pe = 3  -> left button up.
+            Pe = 4  -> middle button down.
+            Pe = 5  -> middle button up.
+            Pe = 6  -> right button down.
+            Pe = 7  -> right button up.
+            Pe = 8  -> M4 button down.
+            Pe = 9  -> M4 button up.
+            Pe = 1 0  -> locator outside filter rectangle.
+          The "button" parameter is a bitmask indicating which buttons
+          are pressed:
+            Pb = 0  <- no buttons down.
+            Pb & 1  <- right button down.
+            Pb & 2  <- middle button down.
+            Pb & 4  <- left button down.
+            Pb & 8  <- M4 button down.
+          The "row" and "column" parameters are the coordinates of the
+          locator position in the xterm window, encoded as ASCII deci-
+          mal.
+          The "page" parameter is not used by xterm.
+CSI Pm ' }
+          Insert Ps Column(s) (default = 1) (DECIC), VT420 and up.
+CSI Pm ' ~
+          Delete Ps Column(s) (default = 1) (DECDC), VT420 and up.
+
+
+

Operating System Commands

+
+OSC Ps ; Pt BEL
+OSC Ps ; Pt ST
+          Set Text Parameters.  For colors and font, if Pt is a "?", the
+          control sequence elicits a response which consists of the con-
+          trol sequence which would set the corresponding value.  The
+          dtterm control sequences allow you to determine the icon name
+          and window title.
+            Ps = 0  -> Change Icon Name and Window Title to Pt.
+            Ps = 1  -> Change Icon Name to Pt.
+            Ps = 2  -> Change Window Title to Pt. (same as 0)
+            Ps = 3  -> Set X property on top-level window.  Pt should be
+          in the form "prop=value", or just "prop" to delete the prop-
+          erty
+            Ps = 81-85  -> Change text of a button 1 through 5. Empty string
+          makes the button appear disabled (grayed out).
+            Ps = 91-95  -> Change report message of a button 1 through 5 (max 10 bytes).
+          Any characters except NUL, ESC, BEL, CAN and SUB are supported.
+            Ps = 4 ; c; spec -> Change Color Number c to the color spec-
+          ified by spec.  This can be a name or RGB specification as per
+          XParseColor.  Any number of c/spec pairs may be given.  The
+          color numbers correspond to the ANSI colors 0-7, their bright
+          versions 8-15, and if supported, the remainder of the 88-color
+          or 256-color table.
+
+          If a "?" is given rather than a name or RGB specification,
+          xterm replies with a control sequence of the same form which
+          can be used to set the corresponding color.  Because more than
+          one pair of color number and specification can be given in one
+          control sequence, xterm can make more than one reply.
+
+            Ps = 5 ; c; spec -> Change Special Color Number c to the
+          color specified by spec.  This can be a name or RGB specifica-
+          tion as per XParseColor.  Any number of c/spec pairs may be
+          given.  The special colors can also be set by adding the maxi-
+          mum number of colors to these codes in an OSC 4  control:
+
+              Pc = 0  <- resource colorBD (BOLD).
+              Pc = 1  <- resource colorUL (UNDERLINE).
+              Pc = 2  <- resource colorBL (BLINK).
+              Pc = 3  <- resource colorRV (REVERSE).
+              Pc = 4  <- resource colorIT (ITALIC).
+
+            Ps = 6 ; c; f -> Enable/disable Special Color Number c.  OSC
+          6  is the same as OSC 1 0 6 .
+
+          The 10 colors (below) which may be set or queried using 1 0
+          through 1 9  are denoted dynamic colors, since the correspond-
+          ing control sequences were the first means for setting xterm's
+          colors dynamically, i.e., after it was started.  They are not
+          the same as the ANSI colors.  These controls may be disabled
+          using the allowColorOps resource.  At least one parameter is
+          expected for Pt.  Each successive parameter changes the next
+          color in the list.  The value of Ps tells the starting point
+          in the list.  The colors are specified by name or RGB specifi-
+          cation as per XParseColor.
+
+          If a "?" is given rather than a name or RGB specification,
+          xterm replies with a control sequence of the same form which
+          can be used to set the corresponding dynamic color.  Because
+          more than one pair of color number and specification can be
+          given in one control sequence, xterm can make more than one
+          reply.
+
+            Ps = 1 0  -> Change VT100 text foreground color to Pt.
+            Ps = 1 1  -> Change VT100 text background color to Pt.
+            Ps = 1 2  -> Change text cursor color to Pt.
+            Ps = 1 3  -> Change mouse foreground color to Pt.
+            Ps = 1 4  -> Change mouse background color to Pt.
+            Ps = 1 5  -> Change Tektronix foreground color to Pt.
+            Ps = 1 6  -> Change Tektronix background color to Pt.
+            Ps = 1 7  -> Change highlight background color to Pt.
+            Ps = 1 8  -> Change Tektronix cursor color to Pt.
+            Ps = 1 9  -> Change highlight foreground color to Pt.
+
+            Ps = 4 6  -> Change Log File to Pt.  (This is normally dis-
+          abled by a compile-time option).
+
+            Ps = 5 0  -> Set Font to Pt.  These controls may be disabled
+          using the allowFontOps resource.  If Pt begins with a "#",
+          index in the font menu, relative (if the next character is a
+          plus or minus sign) or absolute.  A number is expected but not
+          required after the sign (the default is the current entry for
+          relative, zero for absolute indexing).
+          The same rule (plus or minus sign, optional number) is used
+          when querying the font.  The remainder of Pt is ignored.
+          A font can be specified after a "#" index expression, by
+          adding a space and then the font specifier.
+          If the "TrueType Fonts" menu entry is set (the renderFont
+          resource), then this control sets/queries the faceName
+          resource.
+
+            Ps = 5 1  -> reserved for Emacs shell.
+
+            Ps = 5 2  -> Manipulate Selection Data.  These controls may
+          be disabled using the allowWindowOps resource.  The parameter
+          Pt is parsed as
+               Pc; Pd
+          The first, Pc, may contain zero or more characters from the
+          set c  p  s  0  1  2  3  4  5  6  7 .  It is used to construct
+          a list of selection parameters for clipboard, primary, select,
+          or cut buffers 0 through 7 respectively, in the order given.
+          If the parameter is empty, xterm uses s 0 , to specify the
+          configurable primary/clipboard selection and cut buffer 0.
+          The second parameter, Pd, gives the selection data.  Normally
+          this is a string encoded in base64.  The data becomes the new
+          selection, which is then available for pasting by other appli-
+          cations.
+          If the second parameter is a ? , xterm replies to the host
+          with the selection data encoded using the same protocol.
+          If the second parameter is neither a base64 string nor ? ,
+          then the selection is cleared.
+
+            Ps = 1 0 4 ; c -> Reset Color Number c.  It is reset to the
+          color specified by the corresponding X resource.  Any number
+          of c parameters may be given.  These parameters correspond to
+          the ANSI colors 0-7, their bright versions 8-15, and if sup-
+          ported, the remainder of the 88-color or 256-color table.  If
+          no parameters are given, the entire table will be reset.
+
+            Ps = 1 0 5 ; c -> Reset Special Color Number c.  It is reset
+          to the color specified by the corresponding X resource.  Any
+          number of c parameters may be given.  These parameters corre-
+          spond to the special colors which can be set using an OSC 5
+          control (or by adding the maximum number of colors using an
+          OSC 4  control).
+
+            Ps = 1 0 6 ; c; f -> Enable/disable Special Color Number c.
+          The second parameter tells xterm to enable the corresponding
+          color mode if nonzero, disable it if zero.
+
+              Pc = 0  <- resource colorBDMode (BOLD).
+              Pc = 1  <- resource colorULMode (UNDERLINE).
+              Pc = 2  <- resource colorBLMode (BLINK).
+              Pc = 3  <- resource colorRVMode (REVERSE).
+              Pc = 4  <- resource colorITMode (ITALIC).
+              Pc = 5  <- resource colorAttrMode (Override ANSI).
+
+          The dynamic colors can also be reset to their default
+          (resource) values:
+            Ps = 1 1 0  -> Reset VT100 text foreground color.
+            Ps = 1 1 1  -> Reset VT100 text background color.
+            Ps = 1 1 2  -> Reset text cursor color.
+            Ps = 1 1 3  -> Reset mouse foreground color.
+            Ps = 1 1 4  -> Reset mouse background color.
+            Ps = 1 1 5  -> Reset Tektronix foreground color.
+            Ps = 1 1 6  -> Reset Tektronix background color.
+            Ps = 1 1 7  -> Reset highlight color.
+            Ps = 1 1 8  -> Reset Tektronix cursor color.
+            Ps = 1 1 9  -> Reset highlight foreground color.
+
+
+

Privacy Message

+
+PM Pt ST  xterm implements no PM  functions; Pt is ignored.  Pt need not
+          be printable characters.
+
+
+

Alt and Meta Keys

+ +

ESPTerm does not implement Alt and Meta keys, however it implements Ctrl and some Shift keys. +For more info, please move on to the next section.

+
+

+Many keyboards have keys labeled "Alt".  Few have keys labeled "Meta".
+However, xterm's default translations use the Meta modifier.  Common
+keyboard configurations assign the Meta modifier to an "Alt" key.  By
+using xmodmap one may have the modifier assigned to a different key, and
+have "real" alt and meta keys.  Here is an example:
+
+     ! put meta on mod3 to distinguish it from alt
+     keycode 64 = Alt_L
+     clear mod1
+     add mod1 = Alt_L
+     keycode 115 = Meta_L
+     clear mod3
+     add mod3 = Meta_L
+
+The metaSendsEscape resource (and altSendsEscape if altIsNotMeta is set)
+can be used to control the way the Meta modifier applies to ordinary
+keys unless the modifyOtherKeys resource is set:
+          - prefix a key with the ESC  character.
+          - shift the key from codes 0-127 to 128-255 by adding 128.
+
+The table shows the result for a given character "x" with modifiers
+according to the default translations with the resources set on or off.
+This assumes altIsNotMeta is set:
+
+       -----------------------------------------------------------
+       key          altSendsEscape   metaSendsEscape   result
+       -----------+----------------+-----------------+------------
+       x          | off            | off             | x
+       Meta-x     | off            | off             | shift
+       Alt-x      | off            | off             | shift
+       Alt+Meta-x | off            | off             | shift
+       x          | ON             | off             | x
+       Meta-x     | ON             | off             | shift
+       Alt-x      | ON             | off             | ESC  x
+       Alt+Meta-x | ON             | off             | ESC  shift
+       x          | off            | ON              | x
+       Meta-x     | off            | ON              | ESC  x
+       Alt-x      | off            | ON              | shift
+       Alt+Meta-x | off            | ON              | ESC  shift
+       x          | ON             | ON              | x
+       Meta-x     | ON             | ON              | ESC  x
+       Alt-x      | ON             | ON              | ESC  x
+       Alt+Meta-x | ON             | ON              | ESC  x
+       -----------+----------------+-----------------+------------
+
+
+

PC-Style Function Keys

+ + +

+ ESPTerm's implementation of key codes is mostly based on this section and on what is expected by real + applications. For example, the MicroMite Basic does not support SS3 codes, so there is a toggle for those + in the settings. +

+ +

A quick summary of keyboard support:

+ +
    +
  • Any graphic characters, including UTF-8 code points, can be sent directly from the keyboard. On Android, + the soft keyboard can be opened by tapping the keyboard icon beneath the screen.
  • +
  • Ctrl+A..Z produce low ASCII codes (A = 1, through Z = 26), Ctrl+],/,[,^,_ produce codes 27 through 31.
  • +
  • Cursor keys, Home and End can be switched between CSI and SS3 mode by DECCKM.
  • +
  • The codes sent by F1-F4, Home and End can be adjusted by toggles on the config page.
  • +
  • The numeric keypad, if your machine has it, can send alternate key codes if the terminal is switched + to "Application Keypad Mode". This is described below, look for DECKPAM and DECKPNM
  • +
+ +

+ In general, the best way to check what codes are sent is to look at the UART output with an + application like GtkTerm or PuTTY, if they can show the codes without interpreting them. + Alternatively, connect ESPTerm to a Linux machine, start agetty on the serial port, + run cat in shell and press they keys you're interested in. It will first show them + as plaintext, then interpret them when you press enter. Incidentally, this can also be used + to test escape sequences and application support. ESPTerm is known to run eg. mc, neovim or nano without issues. +

+
+ +
+If xterm does minimal translation of the function keys, it usually does
+this with a PC-style keyboard, so PC-style function keys result.  Sun
+keyboards are similar to PC keyboards.  Both have cursor and scrolling
+operations printed on the keypad, which duplicate the smaller cursor and
+scrolling keypads.
+
+X does not predefine NumLock (used for VT220 keyboards) or Alt (used as
+an extension for the Sun/PC keyboards) as modifiers.  These keys are
+recognized as modifiers when enabled by the numLock resource, or by the
+"DECSET 1 0 3 5 " control sequence.
+
+The cursor keys transmit the following escape sequences depending on the
+mode specified via the DECCKM escape sequence.
+
+                  Key            Normal     Application
+                  -------------+----------+-------------
+                  Cursor Up    | CSI A    | SS3 A
+                  Cursor Down  | CSI B    | SS3 B
+                  Cursor Right | CSI C    | SS3 C
+                  Cursor Left  | CSI D    | SS3 D
+                  -------------+----------+-------------
+
+The home- and end-keys (unlike PageUp and other keys also on the 6-key
+editing keypad) are considered "cursor keys" by xterm.  Their mode is
+also controlled by the DECCKM escape sequence:
+
+                    Key        Normal     Application
+                    ---------+----------+-------------
+                    Home     | CSI H    | SS3 H
+                    End      | CSI F    | SS3 F
+                    ---------+----------+-------------
+
+The application keypad transmits the following escape sequences depend-
+ing on the mode specified via the DECKPNM and DECKPAM escape sequences.
+Use the NumLock key to override the application mode.
+
+Not all keys are present on the Sun/PC keypad (e.g., PF1, Tab), but are
+supported by the program.
+
+      Key              Numeric    Application   Terminfo   Termcap
+      ---------------+----------+-------------+----------+----------
+      Space          | SP       | SS3 SP      | -        | -
+      Tab            | TAB      | SS3 I       | -        | -
+      Enter          | CR       | SS3 M       | kent     | @8
+      PF1            | SS3 P    | SS3 P       | kf1      | k1
+      PF2            | SS3 Q    | SS3 Q       | kf2      | k2
+      PF3            | SS3 R    | SS3 R       | kf3      | k3
+      PF4            | SS3 S    | SS3 S       | kf4      | k4
+      * (multiply)   | *        | SS3 j       | -        | -
+      + (add)        | +        | SS3 k       | -        | -
+      , (comma)      | ,        | SS3 l       | -        | -
+      - (minus)      | -        | SS3 m       | -        | -
+      . (Delete)     | .        | CSI 3 ~     | -        | -
+      / (divide)     | /        | SS3 o       | -        | -
+      0 (Insert)     | 0        | CSI 2 ~     | -        | -
+      1 (End)        | 1        | SS3 F       | kc1      | K4
+      2 (DownArrow)  | 2        | CSI B       | -        | -
+      3 (PageDown)   | 3        | CSI 6 ~     | kc3      | K5
+      4 (LeftArrow)  | 4        | CSI D       | -        | -
+      5 (Begin)      | 5        | CSI E       | kb2      | K2
+      6 (RightArrow) | 6        | CSI C       | -        | -
+      7 (Home)       | 7        | SS3 H       | ka1      | K1
+      8 (UpArrow)    | 8        | CSI A       | -        | -
+      9 (PageUp)     | 9        | CSI 5 ~     | ka3      | K3
+      = (equal)      | =        | SS3 X       | -        | -
+      ---------------+----------+-------------+----------+----------
+
+They also provide 12 function keys, as well as a few other special-pur-
+pose keys:
+
+                       Key        Escape Sequence
+                       ---------+-----------------
+                       F1       | SS3 P
+                       F2       | SS3 Q
+                       F3       | SS3 R
+                       F4       | SS3 S
+                       F5       | CSI 1 5 ~
+                       F6       | CSI 1 7 ~
+                       F7       | CSI 1 8 ~
+                       F8       | CSI 1 9 ~
+                       F9       | CSI 2 0 ~
+                       F10      | CSI 2 1 ~
+                       F11      | CSI 2 3 ~
+                       F12      | CSI 2 4 ~
+                       ---------+-----------------
+
+Note that F1 through F4 are prefixed with SS3 , while the other keys are
+prefixed with CSI .  Older versions of xterm implement different escape
+sequences for F1 through F4, with a CSI  prefix.  These can be activated
+by setting the oldXtermFKeys resource.  However, since they do not cor-
+respond to any hardware terminal, they have been deprecated.  (The DEC
+VT220 reserves F1 through F5 for local functions such as Setup).
+
+                       Key        Escape Sequence
+                       ---------+-----------------
+                       F1       | CSI 1 1 ~
+                       F2       | CSI 1 2 ~
+                       F3       | CSI 1 3 ~
+                       F4       | CSI 1 4 ~
+                       ---------+-----------------
+
+In normal mode, i.e., a Sun/PC keyboard when the sunKeyboard resource is
+false (and none of the other keyboard resources such as oldXtermFKeys
+resource is set), xterm encodes function key modifiers as parameters
+appended before the final character of the control sequence.  As a spe-
+cial case, the SS3  sent before F1 through F4 is altered to CSI  when
+sending a function key modifier as a parameter.
+Generally, ESPTerm supports only Shift adn Ctrl in some combinations.
+                    Code     Modifiers
+                  ---------+---------------------------
+                     2     | Shift
+                     3     | Alt
+                     4     | Shift + Alt
+                     5     | Control
+                     6     | Shift + Control
+                     7     | Alt + Control
+                     8     | Shift + Alt + Control
+                     9     | Meta
+                     10    | Meta + Shift
+                     11    | Meta + Alt
+                     12    | Meta + Alt + Shift
+                     13    | Meta + Ctrl
+                     14    | Meta + Ctrl + Shift
+                     15    | Meta + Ctrl + Alt
+                     16    | Meta + Ctrl + Alt + Shift
+                  ---------+---------------------------
+
+For example, shift-F5 would be sent as CSI 1 5 ; 2 ~
+
+If the alwaysUseMods resource is set, the Meta modifier also is recog-
+nized, making parameters 9 through 16.
+
+
+

VT220-Style Function Keys

+
+However, xterm is most useful as a DEC VT102 or VT220 emulator.  Set the
+sunKeyboard resource to true to force a Sun/PC keyboard to act like a
+VT220 keyboard.
+Some information here may be irrelevant for ESPTerm.
+The VT102/VT220 application keypad transmits unique escape sequences in
+application mode, which are distinct from the cursor and scrolling key-
+pad:
+
+                  Key            Numeric    Application
+                  -------------+----------+-------------
+                  Space        | SP       | SS3 SP
+                  Tab          | TAB      | SS3 I
+                  Enter        | CR       | SS3 M
+                  PF1          | SS3 P    | SS3 P
+                  PF2          | SS3 Q    | SS3 Q
+                  PF3          | SS3 R    | SS3 R
+                  PF4          | SS3 S    | SS3 S
+                  * (multiply) | *        | SS3 j
+                  + (add)      | +        | SS3 k
+                  , (comma)    | ,        | SS3 l
+                  - (minus)    | -        | SS3 m
+                  . (period)   | .        | SS3 n
+                  / (divide)   | /        | SS3 o
+                  0            | 0        | SS3 p
+                  1            | 1        | SS3 q
+                  2            | 2        | SS3 r
+                  3            | 3        | SS3 s
+                  4            | 4        | SS3 t
+                  5            | 5        | SS3 u
+                  6            | 6        | SS3 v
+                  7            | 7        | SS3 w
+                  8            | 8        | SS3 x
+                  9            | 9        | SS3 y
+                  = (equal)    | =        | SS3 X
+                  -------------+----------+-------------
+
+The VT220 provides a 6-key editing keypad, which is analogous to that on
+the PC keyboard.  It is not affected by DECCKM or DECKPNM/DECKPAM:
+
+                   Key        Normal     Application
+                   ---------+----------+-------------
+                   Insert   | CSI 2 ~  | CSI 2 ~
+                   Delete   | CSI 3 ~  | CSI 3 ~
+                   Home     | CSI 1 ~  | CSI 1 ~
+                   End      | CSI 4 ~  | CSI 4 ~
+                   PageUp   | CSI 5 ~  | CSI 5 ~
+                   PageDown | CSI 6 ~  | CSI 6 ~
+                   ---------+----------+-------------
+
+The VT220 provides 8 additional function keys.  With a Sun/PC keyboard,
+access these keys by Control/F1 for F13, etc.
+
+                       Key        Escape Sequence
+                       ---------+-----------------
+                       F13      | CSI 2 5 ~
+                       F14      | CSI 2 6 ~
+                       F15      | CSI 2 8 ~
+                       F16      | CSI 2 9 ~
+                       F17      | CSI 3 1 ~
+                       F18      | CSI 3 2 ~
+                       F19      | CSI 3 3 ~
+                       F20      | CSI 3 4 ~
+                       ---------+-----------------
+
+
+

VT52-Style Function Keys

+
+VT52 modes are summarily not implemented in ESPTerm.
+A VT52 does not have function keys, but it does have a numeric keypad
+and cursor keys.  They differ from the other emulations by the prefix.
+Also, the cursor keys do not change:
+
+                   Key            Normal/Application
+                   -------------+--------------------
+                   Cursor Up    | ESC A
+                   Cursor Down  | ESC B
+                   Cursor Right | ESC C
+                   Cursor Left  | ESC D
+                   -------------+--------------------
+
+The keypad is similar:
+
+                  Key            Numeric    Application
+                  -------------+----------+-------------
+                  Space        | SP       | ESC ? SP
+                  Tab          | TAB      | ESC ? I
+                  Enter        | CR       | ESC ? M
+                  PF1          | ESC P    | ESC P
+                  PF2          | ESC Q    | ESC Q
+                  PF3          | ESC R    | ESC R
+                  PF4          | ESC S    | ESC S
+                  * (multiply) | *        | ESC ? j
+                  + (add)      | +        | ESC ? k
+                  , (comma)    | ,        | ESC ? l
+                  - (minus)    | -        | ESC ? m
+                  . (period)   | .        | ESC ? n
+                  / (divide)   | /        | ESC ? o
+                  0            | 0        | ESC ? p
+                  1            | 1        | ESC ? q
+                  2            | 2        | ESC ? r
+                  3            | 3        | ESC ? s
+                  4            | 4        | ESC ? t
+                  5            | 5        | ESC ? u
+                  6            | 6        | ESC ? v
+                  7            | 7        | ESC ? w
+                  8            | 8        | ESC ? x
+                  9            | 9        | ESC ? y
+                  = (equal)    | =        | ESC ? X
+                  -------------+----------+-------------
+
+
+

Sun-Style Function Keys

+

+The xterm program provides support for Sun keyboards more directly, by a
+menu toggle that causes it to send Sun-style function key codes rather
+than VT220.  Note, however, that the sun and VT100 emulations are not
+really compatible.  For example, their wrap-margin behavior differs.
+
+Only function keys are altered; keypad and cursor keys are the same.
+The emulation responds identically.  See the xterm-sun terminfo entry
+for details.
+
+
+

HP-Style Function Keys

+

+Similarly, xterm can be compiled to support HP keyboards.  See the
+xterm-hp terminfo entry for details.
+
+
+

The Alternate Screen Buffer

+ +ESPTerm implements this feature only partly due to RAM constraints. See CSI ? 1 0 4 7 h (above) for more details. +
+Xterm maintains two screen buffers.  The normal screen buffer allows you
+to scroll back to view saved lines of output up to the maximum set by
+the saveLines resource.  The alternate screen buffer is exactly as large
+as the display, contains no additional saved lines.  When the alternate
+screen buffer is active, you cannot scroll back to view saved lines.
+Xterm provides control sequences and menu entries for switching between
+the two.
+
+Most full-screen applications use terminfo or termcap to obtain strings
+used to start/stop full-screen mode, i.e., smcup and rmcup for terminfo,
+or the corresponding ti and te for termcap.  The titeInhibit resource
+removes the ti and te strings from the TERMCAP string which is set in
+the environment for some platforms.  That is not done when xterm is
+built with terminfo libraries because terminfo does not provide the
+whole text of the termcap data in one piece.  It would not work for ter-
+minfo anyway, since terminfo data is not passed in environment vari-
+ables; setting an environment variable in this manner would have no
+effect on the application's ability to switch between normal and alter-
+nate screen buffers.  Instead, the newer private mode controls (such as
+1 0 4 9 ) for switching between normal and alternate screen buffers sim-
+ply disable the switching.  They add other features such as clearing the
+display for the same reason: to make the details of switching indepen-
+dent of the application that requests the switch.
+
+
+

Bracketed Paste Mode

+

+When bracketed paste mode is set, pasted text is bracketed with control
+sequences so that the program can differentiate pasted text from typed-
+in text.  When bracketed paste mode is set, the program will receive:
+   ESC [ 2 0 0 ~ ,
+followed by the pasted text, followed by
+   ESC [ 2 0 1 ~ .
+
+
+

Title Modes

+

+The window- and icon-labels can be set or queried using control
+sequences.  As a VT220-emulator, xterm "should" limit the character
+encoding for the corresponding strings to ISO-8859-1.  Indeed, it used
+to be the case (and was documented) that window titles had to be
+ISO-8859-1.  This is no longer the case.  However, there are many appli-
+cations which still assume that titles are set using ISO-8859-1.  So
+that is the default behavior.
+
+If xterm is running with UTF-8 encoding, it is possible to use window-
+and icon-labels encoded using UTF-8.  That is because the underlying X
+libraries (and many, but not all) window managers support this feature.
+
+The utf8Title X resource setting tells xterm to disable a reconversion
+of the title string back to ISO-8859-1, allowing the title strings to be
+interpreted as UTF-8.  The same feature can be enabled using the title
+mode control sequence described in this summary.
+
+Separate from the ability to set the titles, xterm provides the ability
+to query the titles, returning them either in ISO-8859-1 or UTF-8.  This
+choice is available only while xterm is using UTF-8 encoding.
+
+Finally, the characters sent to, or returned by a title control are less
+constrained than the rest of the control sequences.  To make them more
+manageable (and constrained), for use in shell scripts, xterm has an
+optional feature which decodes the string from hexadecimal (for setting
+titles) or for encoding the title into hexadecimal when querying the
+value.
+
+
+

Mouse Tracking

+
+The VT widget can be set to send the mouse position and other informa-
+tion on button presses.  These modes are typically used by editors and
+other full-screen applications that want to make use of the mouse.
+
+There are two sets of mutually exclusive modes:
+o mouse protocol
+o protocol encoding
+
+The mouse protocols include DEC Locator mode, enabled by the DECELR CSI
+Ps ; Ps  '  z control sequence, and is not described here (control
+sequences are summarized above).  The remaining five modes of the mouse
+protocols are each enabled (or disabled) by a different parameter in the
+"DECSET CSI ? Pm h " or "DECRST CSI ? Pm l " control sequence.
+
+Manifest constants for the parameter values are defined in xcharmouse.h
+as follows:
+
+     #define SET_X10_MOUSE               9
+     #define SET_VT200_MOUSE             1000
+     #define SET_VT200_HIGHLIGHT_MOUSE   1001
+     #define SET_BTN_EVENT_MOUSE         1002
+     #define SET_ANY_EVENT_MOUSE         1003
+
+     #define SET_FOCUS_EVENT_MOUSE       1004
+
+     #define SET_EXT_MODE_MOUSE          1005
+     #define SET_SGR_EXT_MODE_MOUSE      1006
+     #define SET_URXVT_EXT_MODE_MOUSE    1015
+
+     #define SET_ALTERNATE_SCROLL        1007
+
+The motion reporting modes are strictly xterm extensions, and are not
+part of any standard, though they are analogous to the DEC VT200 DECELR
+locator reports.
+
+Normally, parameters (such as pointer position and button number) for
+all mouse tracking escape sequences generated by xterm encode numeric
+parameters in a single character as value+32.  For example, !  specifies
+the value 1.  The upper left character position on the terminal is
+denoted as 1,1.  This scheme dates back to X10, though the normal mouse-
+tracking (from X11) is more elaborate.
+
+
+

X10 compatbility mode

+
+X10 compatibility mode sends an escape sequence only on button press,
+encoding the location and the mouse button pressed.  It is enabled by
+specifying parameter 9 to DECSET.  On button press, xterm sends CSI M
+CbCxCy (6 characters).
+o Cb is button-1.
+o Cx and Cy are the x and y coordinates of the mouse when the button was
+  pressed.
+
+
+

Normal tracking mode

+
+Normal tracking mode sends an escape sequence on both button press and
+release.  Modifier key (shift, ctrl, meta) information is also sent.  It
+is enabled by specifying parameter 1000 to DECSET.  On button press or
+release, xterm sends CSI M CbCxCy.
+o The low two bits of Cb encode button information: 0=MB1 pressed, 1=MB2
+  pressed, 2=MB3 pressed, 3=release.
+o The next three bits encode the modifiers which were down when the but-
+  ton was pressed and are added together:  4=Shift, 8=Meta, 16=Control.
+  Note however that the shift and control bits are normally unavailable
+  because xterm uses the control modifier with mouse for popup menus,
+  and the shift modifier is used in the default translations for button
+  events.  The Meta modifier recognized by xterm is the mod1 mask, and
+  is not necessarily the "Meta" key (see xmodmap).
+o Cx and Cy are the x and y coordinates of the mouse event, encoded as
+  in X10 mode.
+
+
+

Wheel mice

+
+Wheel mice may return buttons 4 and 5.  Those buttons are represented by
+the same event codes as buttons 1 and 2 respectively, except that 64 is
+added to the event code.  Release events for the wheel buttons are not
+reported.  By default, the wheel mouse events are translated to scroll-
+back and scroll-forw actions.  Those actions normally scroll the whole
+window, as if the scrollbar was used.  However if Alternate Scroll mode
+is set, then cursor up/down controls are sent when the terminal is dis-
+playing the alternate screen.  The initial state of Alternate Scroll
+mode is set using the alternateScroll resource.
+
+
+

Highlight tracking

+

+Mouse highlight tracking notifies a program of a button press, receives
+a range of lines from the program, highlights the region covered by the
+mouse within that range until button release, and then sends the program
+the release coordinates.  It is enabled by specifying parameter 1001 to
+DECSET.  Highlighting is performed only for button 1, though other but-
+ton events can be received.
+
+Warning: use of this mode requires a cooperating program or it will hang
+xterm.
+
+On button press, the same information as for normal tracking is gener-
+ated; xterm then waits for the program to send mouse tracking informa-
+tion.  All X events are ignored until the proper escape sequence is
+received from the pty: CSI Ps ; Ps ; Ps ; Ps ; Ps T .  The parameters
+are func, startx, starty, firstrow, and lastrow.  func is non-zero to
+initiate highlight tracking and zero to abort.  startx and starty give
+the starting x and y location for the highlighted region.  The ending
+location tracks the mouse, but will never be above row firstrow and will
+always be above row lastrow.  (The top of the screen is row 1.)  When
+the button is released, xterm reports the ending position one of two
+ways:
+o if the start and end coordinates are the same locations:
+  CSI t CxCy.
+o otherwise:
+  CSI T CxCyCxCyCxCy.
+  The parameters are startx, starty, endx, endy, mousex, and mousey.
+  - startx, starty, endx, and endy give the starting and ending charac-
+    ter positions of the region.
+  - mousex and mousey give the location of the mouse at button up, which
+    may not be over a character.
+
+
+

Button-event tracking

+
+Button-event tracking is essentially the same as normal tracking, but
+xterm also reports button-motion events.  Motion events are reported
+only if the mouse pointer has moved to a different character cell.  It
+is enabled by specifying parameter 1002 to DECSET.  On button press or
+release, xterm sends the same codes used by normal tracking mode.
+o On button-motion events, xterm adds 32 to the event code (the third
+  character, Cb).
+o The other bits of the event code specify button and modifier keys as
+  in normal mode.  For example, motion into cell x,y with button 1 down
+  is reported as CSI M @ CxCy.  ( @  = 32 + 0 (button 1) + 32 (motion
+  indicator) ).  Similarly, motion with button 3 down is reported as CSI
+  M B CxCy.  ( B  = 32 + 2 (button 3) + 32 (motion indicator) ).
+
+
+

Any-event tracking

+
+Any-event mode is the same as button-event mode, except that all motion
+events are reported, even if no mouse button is down.  It is enabled by
+specifying 1003 to DECSET.
+
+
+

FocusIn/FocusOut

+This feature is planned for reporting when any clients are connected to the web interface +

+FocusIn/FocusOut can be combined with any of the mouse events since it
+uses a different protocol.  When set, it causes xterm to send CSI I
+when the terminal gains focus, and CSI O  when it loses focus.
+
+
+

Extended coordinates

+
+The original X10 mouse protocol limits the Cx and Cy ordinates to 223
+(=255 - 32).  Xterm supports more than one scheme for extending this
+range, by changing the protocol encoding:
+UTF-8 (1005)
+          This enables UTF-8 encoding for Cx and Cy under all tracking
+          modes, expanding the maximum encodable position from 223 to
+          2015.  For positions less than 95, the resulting output is
+          identical under both modes.  Under extended mouse mode, posi-
+          tions greater than 95 generate "extra" bytes which will con-
+          fuse applications which do not treat their input as a UTF-8
+          stream.  Likewise, Cb will be UTF-8 encoded, to reduce confu-
+          sion with wheel mouse events.
+          Under normal mouse mode, positions outside (160,94) result in
+          byte pairs which can be interpreted as a single UTF-8 charac-
+          ter; applications which do treat their input as UTF-8 will
+          almost certainly be confused unless extended mouse mode is
+          active.
+          This scheme has the drawback that the encoded coordinates will
+          not pass through luit unchanged, e.g., for locales using non-
+          UTF-8 encoding.
+SGR (1006)
+          The normal mouse response is altered to use CSI < followed by
+          semicolon-separated encoded button value, the Cx and Cy ordi-
+          nates and a final character which is M  for button press and m
+          for button release.
+          o The encoded button value in this case does not add 32 since
+            that was useful only in the X10 scheme for ensuring that the
+            byte containing the button value is a printable code.
+          o The modifiers are encoded in the same way.
+          o A different final character is used for button release to
+            resolve the X10 ambiguity regarding which button was
+            released.
+          The highlight tracking responses are also modified to an SGR-
+          like format, using the same SGR-style scheme and button-encod-
+          ings.
+URXVT (1015)
+          The normal mouse response is altered to use CSI followed by
+          semicolon-separated encoded button value, the Cx and Cy ordi-
+          nates and final character M .
+          This uses the same button encoding as X10, but printing it as
+          a decimal integer rather than as a single byte.
+          However, CSI M  can be mistaken for DL (delete lines), while
+          the highlight tracking CSI T  can be mistaken for SD (scroll
+          down), and the Window manipulation controls.  For these rea-
+          sons, the 1015 control is not recommended; it is not an
+          improvement over 1005.
+
+
+

Sixel Graphics

+

+If xterm is configured as VT240, VT241, VT330, VT340 or VT382 using the
+decTerminalID resource, it supports Sixel Graphics controls, a palleted
+bitmap graphics system using sets of six vertical pixels as the basic
+element.
+
+CSI Ps c  xterm responds to Send Device Attributes (Primary DA) with
+          these additional codes:
+            Ps = 4  -> Sixel graphics.
+CSI ? Pm h
+          xterm has these additional private Set Mode values:
+            Ps = 8 0  -> Sixel scrolling.
+            Ps = 1 0 7 0  -> use private color registers for each
+          graphic.
+            Ps = 8 4 5 2  -> Sixel scrolling leaves cursor to right of
+          graphic.
+DCS Pa; Pb; Ph q  Ps..Ps ST
+          See:
+
+               http://vt100.net/docs/vt3xx-gp/chapter14.html
+
+          The sixel data device control string has three positional
+          parameters, following the q  with sixel data.
+            Pa -> pixel aspect ratio
+            Pb -> background color option
+            Ph -> horizontal grid size (ignored).
+            Ps -> sixel data
+
+
+

ReGIS Graphics

+

+If xterm is configured as VT125, VT240, VT241, VT330 or VT340 using the
+decTerminalID resource, it supports Remote Graphic Instruction Set, a
+graphics description language.
+
+CSI Ps c  xterm responds to Send Device Attributes (Primary DA) with
+          these additional codes:
+            Ps = 3  -> ReGIS graphics.
+CSI ? Pm h
+          xterm has these additional private Set Mode values:
+            Ps = 1 0 7 0  -> use private color registers for each
+          graphic.
+DCS Pm p Pr..Pr ST
+          See:
+
+               http://vt100.net/docs/vt3xx-gp/chapter1.html
+
+          The ReGIS data device control string has one positional param-
+          eter with four possible values:
+            Pm = 0 -> resume command, use fullscreen mode.
+            Pm = 1 -> start new command, use fullscreen mode.
+            Pm = 2 -> resume command, use command display mode.
+            Pm = 3 -> start new command, use command display mode.
+
+
+

Tektronix 4014 Mode

+

+Most of these sequences are standard Tektronix 4014 control sequences.
+Graph mode supports the 12-bit addressing of the Tektronix 4014.  The
+major features missing are the write-through and defocused modes.  This
+document does not describe the commands used in the various Tektronix
+plotting modes but does describe the commands to switch modes.
+
+BEL       Bell (Ctrl-G).
+BS        Backspace (Ctrl-H).
+TAB       Horizontal Tab (Ctrl-I).
+LF        Line Feed or New Line (Ctrl-J).
+VT        Cursor up (Ctrl-K).
+FF        Form Feed or New Page (Ctrl-L).
+CR        Carriage Return (Ctrl-M).
+ESC ETX   Switch to VT100 Mode (ESC  Ctrl-C).
+ESC ENQ   Return Terminal Status (ESC  Ctrl-E).
+ESC FF    PAGE (Clear Screen) (ESC  Ctrl-L).
+ESC SO    Begin 4015 APL mode (ESC  Ctrl-N).  (This is ignored by
+          xterm).
+ESC SI    End 4015 APL mode (ESC  Ctrl-O).  (This is ignored by xterm).
+ESC ETB   COPY (Save Tektronix Codes to file COPYyyyy-mm-dd.hh:mm:ss).
+            ETB  (end transmission block) is the same as Ctrl-W.
+ESC CAN   Bypass Condition (ESC  Ctrl-X).
+ESC SUB   GIN mode (ESC  Ctrl-Z).
+ESC FS    Special Point Plot Mode (ESC  Ctrl-\).
+ESC 8     Select Large Character Set.
+ESC 9     Select #2 Character Set.
+ESC :     Select #3 Character Set.
+ESC ;     Select Small Character Set.
+OSC Ps ; Pt BEL
+          Set Text Parameters of VT window.
+            Ps = 0  -> Change Icon Name and Window Title to Pt.
+            Ps = 1  -> Change Icon Name to Pt.
+            Ps = 2  -> Change Window Title to Pt.
+            Ps = 4 6  -> Change Log File to Pt.  (This is normally dis-
+          abled by a compile-time option).
+ESC `     Normal Z Axis and Normal (solid) Vectors.
+ESC a     Normal Z Axis and Dotted Line Vectors.
+ESC b     Normal Z Axis and Dot-Dashed Vectors.
+ESC c     Normal Z Axis and Short-Dashed Vectors.
+ESC d     Normal Z Axis and Long-Dashed Vectors.
+ESC h     Defocused Z Axis and Normal (solid) Vectors.
+ESC i     Defocused Z Axis and Dotted Line Vectors.
+ESC j     Defocused Z Axis and Dot-Dashed Vectors.
+ESC k     Defocused Z Axis and Short-Dashed Vectors.
+ESC l     Defocused Z Axis and Long-Dashed Vectors.
+ESC p     Write-Thru Mode and Normal (solid) Vectors.
+ESC q     Write-Thru Mode and Dotted Line Vectors.
+ESC r     Write-Thru Mode and Dot-Dashed Vectors.
+ESC s     Write-Thru Mode and Short-Dashed Vectors.
+ESC t     Write-Thru Mode and Long-Dashed Vectors.
+FS        Point Plot Mode (Ctrl-\).
+GS        Graph Mode (Ctrl-]).
+RS        Incremental Plot Mode (Ctrl-^).
+US        Alpha Mode (Ctrl-_).
+
+
+

VT52 Mode

+

+Parameters for cursor movement are at the end of the ESC Y  escape
+sequence.  Each ordinate is encoded in a single character as value+32.
+For example, !  is 1.  The screen coordinate system is 0-based.
+
+ESC <     Exit VT52 mode (Enter VT100 mode).
+ESC =     Enter alternate keypad mode.
+ESC >     Exit alternate keypad mode.
+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     Move the cursor to the home position.
+ESC I     Reverse line feed.
+ESC J     Erase from the cursor to the end of the screen.
+ESC K     Erase from the cursor to the end of the line.
+ESC Y Ps Ps
+          Move the cursor to given row and column.
+ESC Z     Identify.
+            -> ESC  /  Z  ("I am a VT52.").
+
+ + + + diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..83c2ca9 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,73 @@ + + + +VT100 emulation - useful references + + + + + +

VT100 emulation resources collection Ondřej Hruška <ondra@ondrovo.com>, Sep 2017

+ +
+ +

VT100 emulation resources collection

+ +

This page lists some files and sites I found helpful when developing ESPTerm.

+ +

Web references

+ + + +

Collected files and memos

+ +

Those are some documents I've found on the internet while researching for ESPTerm +and preserve them here for reference should the original sources disappear.

+ + + +

[End of document]

diff --git a/docs/joesmith1984-ansicode.txt b/docs/joesmith1984-ansicode.txt new file mode 100644 index 0000000..12551e8 --- /dev/null +++ b/docs/joesmith1984-ansicode.txt @@ -0,0 +1,779 @@ +Summary of ANSI standards for ASCII terminals Joe Smith, 18-May-84 + +Contents: + 1. Overview and Definitions + 2. General rules for interpreting an ESCape Sequence + 3. General rules for interpreting a Control Sequence + 4. C0 and C1 control codes in numeric order + 5. Two and three-character ESCape Sequences in numeric order + 6. Control Sequences in numeric order + 7. VT100 emulation requirements + +The VT100 USER GUIDE and ANSI standard X3.64-1979 both list the ANSI ESCape +sequences in alphabetic order by mnemonic, but do not have a have a cross +reference in order by ASCII code. This paper lists the combination of all +definitions from the three ANSI standards in numeric order. For a description +of the advantages of using these standards, see the article "Toward +Standardized Video Terminals" in the April-1984 issue of BYTE magazine. + +ANSI X3.4-1977 defines the 7-bit ASCII character set (C0 and G0). It was +written in 1968, revised in 1977, and explains the decisions made in laying out +the ASCII code. In particular, it explains why ANSI chose to make ASCII +incompatible with EBCDIC in order to make it self-consistant. + +ANSI X3.41-1974 introduces the idea of an 8-bit ASCII character set (C1 and G1 +in addition to the existing C0 and G0). It describes how to use the 8-bit +features in a 7-bit environment. X3.41 defines the format of all ESCape +sequences, but defines only the 3-character ones with a parameter character +in the middle. These instruct the terminal how to interpret the C0, G0, C1, +and G1 characters (such as by selecting different character-set ROMs). + + Note: NAPLPS does videotex graphics by redefining the C1 set and + selecting alternate G0, G1, G2, and G3 sets. + See the February 1983 issue of BYTE magazine for details. + +ANSI X3.64-1979 defines the remaining ESCape sequences. It defines all the C1 +control characters, and specifies that certain two-character ESCape sequences +in the 7-bit environment are to act exactly like the 8-bit C1 control set. +X3.64 introduces the idea of a Control-Sequence, which starts with CSI +character, has an indefinite length, and is terminated by an alphabetic +character. The VT100 was one of the first terminals to implement this +standard. + +Definitions: + + Control Character - A single character with an ASCII code with the range + of 000 to 037 and 200 to 237 octal, 00 to 1F and 80 to 9F hex. + + Escape Sequence - A two or three character string staring with ESCape. + (Four or more character strings are allowed but not defined.) + + Control Sequence - A string starting with CSI (233 octal, 9B hex) or + with ESCape Left-Bracket, and terminated by an alphabetic character. + Any number of parameter characters (digits 0 to 9, semicolon, and + question mark) may appear within the Control Sequence. The terminating + character may be preceded by an intermediate character (such as space). + Character classifications: + +C0 Control 000-037 octal, 00-1F hex (G0 is 041-176 octal, 21-7E hex) +SPACE 040+240 octal, 20+A0 hex Always and everywhere a blank space +Intermediate 040-057 octal, 20-2F hex !"#$%&'()*+,-./ +Parameters 060-077 octal, 30-3F hex 0123456789:;<=>? +Uppercase 100-137 octal, 40-5F hex @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ +Lowercase 140-176 octal, 60-7E hex `abcdefghijlkmnopqrstuvwxyz{|}~ +Alphabetic 100-176 octal, 40-7E hex (all of upper and lower case) +Delete 177 octal, 7F hex Always and everywhere ignored +C1 Control 200-237 octal, 80-9F hex 32 additional control characters +G1 Displayable 241-376 octal, A1-FE hex 94 additional displayable characters +Special 240+377 octal, A0+FF hex Same as SPACE and DELETE + +Note that in this paper, the terms uppercase, lowercase, and alphabetics +include more characters than just A to Z. + +------------------------------------------------------------------------------ + +General rules for interpreting an ESCape Sequence: + + An ESCape Sequence starts with the ESC character (033 octal, 1B hex). +The length of the ESCape Sequence depends on the character that immediately +follows the ESCape. + +If the next character is + C0 control: Interpret it first, then resume processing ESCape sequence. + Example: CR, LF, XON, and XOFF work as normal within an ESCape sequence. + Intermediate: Expect zero or more intermediates, a parameter terminates + a private function, an alphabetic terminates a standard sequence. + Example: ESC ( A defines standard character set, ESC ( 0 a DEC set. + Parameter: End of a private 2-character escape sequence. + Example: ESC = sets special keypad mode, ESC > clears it. + Uppercase: Translate it into a C1 control character and act on it. + Example: ESC D does indexes down, ESC M indexes up. (CSI is special) + Lowercase: End of a standard 2-character escape sequence. + Example: ESC c resets the terminal. + Delete: Ignore it, and continue interpreting the ESCape sequence + C1 and G1: Treat the same as their 7-bit counterparts + + Note that CSI is the two-character sequence ESCape left-bracket or the 8-bit +C1 code of 233 octal, 9B hex. CSI introduces a Control Sequence, which +continues until an alphabetic character is received. + +General rules for interpreting a Control Sequence: + +1) It starts with CSI, the Control Sequence Introducer. +2) It contains any number of parameter characters (0123456789:;<=>?). +3) It terminates with an alphabetic character. +4) Intermediate characters (if any) immediately precede the terminator. + +If the first character after CSI is one of "<=>?" (074-077 octal, 3C-3F hex), +then Control Sequence is to be interpreted according to private standards (such +as setting and resetting modes not defined by ANSI). The terminal should +expect any number of numeric parameters, separated by semicolons (073 octal, +3B hex). Only after the terminating alphabetic character is received should +the terminal act on the Control Sequence. + +============================================================================= + C0 set of 7-bit control characters (from ANSI X3.4-1977). + +Oct Hex Name * (* marks function used in DEC VT series or LA series terminals) +--- -- - --- - -------------------------------------------------------------- +000 00 @ NUL * Null filler, terminal should ignore this character +001 01 A SOH Start of Header +002 02 B STX Start of Text, implied end of header +003 03 C ETX End of Text, causes some terminal to respond with ACK or NAK +004 04 D EOT End of Transmission +005 05 E ENQ * Enquiry, causes terminal to send ANSWER-BACK ID +006 06 F ACK Acknowledge, usually sent by terminal in response to ETX +007 07 G BEL * Bell, triggers the bell, buzzer, or beeper on the terminal +010 08 H BS * Backspace, can be used to define overstruck characters +011 09 I HT * Horizontal Tabulation, move to next predetermined position +012 0A J LF * Linefeed, move to same position on next line (see also NL) +013 0B K VT * Vertical Tabulation, move to next predetermined line +014 0C L FF * Form Feed, move to next form or page +015 0D M CR * Carriage Return, move to first character of current line +016 0E N SO * Shift Out, switch to G1 (other half of character set) +017 0F O SI * Shift In, switch to G0 (normal half of character set) +020 10 P DLE Data Link Escape, interpret next control character specially +021 11 Q XON * (DC1) Terminal is allowed to resume transmitting +022 12 R DC2 Device Control 2, causes ASR-33 to activate paper-tape reader +023 13 S XOFF* (DC2) Terminal must pause and refrain from transmitting +024 14 T DC4 Device Control 4, causes ASR-33 to deactivate paper-tape reader +025 15 U NAK Negative Acknowledge, used sometimes with ETX and ACK +026 16 V SYN Synchronous Idle, used to maintain timing in Sync communication +027 17 W ETB End of Transmission block +030 18 X CAN * Cancel (makes VT100 abort current escape sequence if any) +031 19 Y EM End of Medium +032 1A Z SUB * Substitute (VT100 uses this to display parity errors) +033 1B [ ESC * Prefix to an ESCape sequence +034 1C \ FS File Separator +035 1D ] GS Group Separator +036 1E ^ RS * Record Separator (sent by VT132 in block-transfer mode) +037 1F _ US Unit Separator + +040 20 SP * Space (should never be defined to be otherwise) +177 7F DEL * Delete, should be ignored by terminal + +============================================================================== + C1 set of 8-bit control characters (from ANSI X3.64-1979) + +Oct Hex Name * (* marks function used in DEC VT series or LA series terminals) +--- -- - --- - -------------------------------------------------------------- +200 80 @ Reserved for future standardization +201 81 A Reserved +202 82 B Reserved +203 83 C Reserved +204 84 D IND * Index, moves down one line same column regardless of NL +205 85 E NEL * NEw Line, moves done one line and to first column (CR+LF) +206 86 F SSA Start of Selected Area to be sent to auxiliary output device +207 87 G ESA End of Selected Area to be sent to auxiliary output device +210 88 H HTS * Horizontal Tabulation Set at current position +211 89 I HTJ Hor Tab Justify, moves string to next tab position +212 8A J VTS Vertical Tabulation Set at current line +213 8B K PLD Partial Line Down (subscript) +214 8C L PLU Partial Line Up (superscript) +215 8D M RI * Reverse Index, go up one line, reverse scroll if necessary +216 8E N SS2 * Single Shift to G2 +217 8F O SS3 * Single Shift to G3 (VT100 uses this for sending PF keys) +220 90 P DCS * Device Control String, terminated by ST (VT125 enters graphics) +221 91 Q PU1 Private Use 1 +222 92 R PU2 Private Use 2 +223 93 S STS Set Transmit State +224 94 T CCH Cancel CHaracter, ignore previous character +225 95 U MW Message Waiting, turns on an indicator on the terminal +226 96 V SPA Start of Protected Area +227 97 W EPA End of Protected Area +230 98 X Reserved for for future standard +231 99 Y Reserved +232 9A Z * Reserved, but causes DEC terminals to respond with DA codes +233 9B [ CSI * Control Sequence Introducer (described in a seperate table) +234 9C \ ST * String Terminator (VT125 exits graphics) +235 9D ] OSC Operating System Command (reprograms intelligent terminal) +236 9E ^ PM Privacy Message (password verification), terminated by ST +237 9F _ APC Application Program Command (to word processor), term by ST + +============================================================================== + Character set selection sequences (from ANSI X3.41-1974) + All are 3 characters long (including the ESCape). Alphabetic characters + as 3rd character are defined by ANSI, parameter characters as 3rd character + may be interpreted differently by each terminal manufacturer. + +Oct Hex * (* marks function used in DEC VT series or LA series terminals) +--- -- -- - ------------------------------------------------------------------ +040 20 ANNOUNCER - Determines whether to use 7-bit or 8-bit ASCII + A G0 only will be used. Ignore SI, SO, and G1. + B G0 and G1 used internally. SI and SO affect G0, G1 is ignored. + C G0 and G1 in an 8-bit only environment. SI and SO are ignored. + D G0 and G1 are used, SI and SO affect G0. + E + F * 7-bit transmission, VT240/PRO350 sends CSI as two characters ESC [ + G * 8-bit transmission, VT240/PRO350 sends CSI as single 8-bit character +041 21 ! Select C0 control set (choice of 63 standard, 16 private) +042 22 " Select C1 control set (choice of 63 standard, 16 private) +043 23 # Translate next character to a special single character + #3 * DECDHL1 - Double height line, top half + #4 * DECDHL2 - Double height line, bottom half + #5 * DECSWL - Single width line + #6 * DECDWL - Double width line + #7 * DECHCP - Make a hardcopy of the graphics screen (GIGI,VT125,VT241) + #8 * DECALN - Alignment display, fill screen with "E" to adjust focus +044 24 $ MULTIBYTE CHARACTERS - Displayable characters require 2-bytes each +045 25 % SPECIAL INTERPRETATION - Such as 9-bit data +046 26 & Reserved for future standardization +047 27 ' Reserved for future standardization +050 28 ( * SCS - Select G0 character set (choice of 63 standard, 16 private) + (0 * DEC VT100 line drawing set (affects lowercase characters) + (1 * DEC Alternate character ROM set (RAM set on GIGI and VT220) + (2 * DEC Alternate character ROM set with line drawing + (5 * DEC Finnish on LA100 + (6 * DEC Norwegian/Danish on LA100 + (7 * DEC Swedish on LA100 + (9 * DEC French Canadian + (< * DEC supplemental graphics (everything not in USASCII) + (A * UKASCII (British pound sign) + (B * USASCII (American pound sign) + (C * ISO Finnish on LA120 + (E * ISO Norwegian/Danish on LA120 + (H * ISO Swedish on LA120 + (K * ISO German on LA100,LA120 + (R * ISO French on LA100,LA120 + (Y * ISO Italian on LA100 + (Z * ISO Spanish on LA100 +051 29 ) * SCS - Select G1 character set (choice of 63 standard, 16 private) + * (same character sets as listed under G0) +052 2A * * SCS - Select G2 character set + * (same character sets as listed under G0) +053 2B + * SCS - Select G3 character set + * (same character sets as listed under G0) +054 2C , SCS - Select G0 character set (additional 63+16 sets) +055 2D - SCS - Select G1 character set (additional 63+16 sets) +056 2E . SCS - Select G2 character set +057 2F / SCS - Select G3 character set + +============================================================================== + Private two-character escape sequences (allowed by ANSI X3.41-1974) + These can be defined differently by each terminal manufacturer. + +Oct Hex * (* marks function used in DEC VT series or LA series terminals) +--- -- - - ------------------------------------------------------------------ +060 30 0 +061 31 1 DECGON graphics on for VT105, DECHTS horiz tab set for LA34/LA120 +062 32 2 DECGOFF graphics off VT105, DECCAHT clear all horz tabs LA34/LA120 +063 33 3 DECVTS - set vertical tab for LA34/LA120 +064 34 4 DECCAVT - clear all vertical tabs for LA34/LA120 +065 35 5 * DECXMT - Host requests that VT132 transmit as if ENTER were pressed +066 36 6 +067 37 7 * DECSC - Save cursor position and character attributes +070 38 8 * DECRC - Restore cursor and attributes to previously saved position +071 39 9 +072 3A : +073 3B ; +074 3C < * DECANSI - Switch from VT52 mode to VT100 mode +075 3D = * DECKPAM - Set keypad to applications mode (ESCape instead of digits) +076 3E > * DECKPNM - Set keypad to numeric mode (digits intead of ESCape seq) +077 3F ? + + DCS Device Control Strings used by DEC terminals (ends with ST) + +Pp = Start ReGIS graphics (VT125, GIGI, VT240, PRO350) +Pq = Start SIXEL graphics (screen dump to LA34, LA100, screen load to VT125) +Pr = SET-UP data for GIGI, $PrVC0$\ disables both visible cursors. +Ps = Reprogram keys on the GIGI, $P0sDIR$\ makes keypad 0 send "DIR" + 0-9=digits on keypad, 10=ENTER, 11=minus, 12=comma, 13=period, + 14-17=PF1-PF4, 18-21=cursor keys. Enabled by $[?23h (PK1). +Pt = Start VT105 graphics on a VT125 + +============================================================================== + + Standard two-character escape sequences (defined by ANSI X3.64-1979) + +100 40 @ See description of C1 control characters + An ESCape followed by one of these uppercase characters is translated + to an 8-bit C1 control character before being interpreted. +220 90 P DCS - Device Control String, terminated by ST - see table above. +133 5B [ CSI - Control Sequence Introducer - see table below. +137 5F _ See description of C1 control characters + +============================================================================== + + Indepenent control functions (from Appendix E of X3.64-1977). + These four controls have the same meaning regardless of the current + definition of the C0 and C1 control sets. Each control is a two-character + ESCape sequence, the 2nd character is lowercase. + +Oct Hex * (* marks function used in DEC VT series or LA series terminals) +--- -- - - -------------------------------------------------------------------- +140 60 ` DMI - Disable Manual Input +141 61 a INT - INTerrupt the terminal and do special action +142 62 b EMI - Enable Manual Input +143 63 c * RIS - Reset to Initial State (VT100 does a power-on reset) + ... The remaining lowercase characters are reserved by ANSI. +153 6B k NAPLPS lock-shift G1 to GR +154 6C l NAPLPS lock-shift G2 to GR +155 6D m NAPLPS lock-shift G3 to GR +156 6E n * LS2 - Shift G2 to GL (extension of SI) VT240,NAPLPS +157 6F o * LS3 - Shift G3 to GL (extension of SO) VT240,NAPLPS + ... The remaining lowercase characters are reserved by ANSI. +174 7C | * LS3R - VT240 lock-shift G3 to GR +175 7D } * LS2R - VT240 lock-shift G2 to GR +176 7E ~ * LS1R - VT240 lock-shift G1 to GR + +============================================================================== + Control Sequences (defined by ANSI X3.64-1979) + +Control Sequences are started by either ESC [ or CSI and are terminated by an +"alphabetic" character (100 to 176 octal, 40 to 7E hex). Intermediate +characters are space through slash (40 to 57 octal, 20 to 2F hex) and parameter +characters are zero through question mark (60 to 77 octal, 30 to 3F hex, +including digits and semicolon). Parameters consist of zero or more decimal +numbers separated by semicolons. Leading zeros are optional, leading blanks +are not allowed. If no digits precede the final character, the default +parameter is used. Many functions treat a parameter of 0 as if it were 1. + +Oct Hex * (* marks function used in DEC VT series or LA series terminals) +--- -- - - -------------------------------------------------------------------- +100 40 @ ICH - Insert CHaracter + [10@ = Make room for 10 characters at current position +101 41 A * CUU - CUrsor Up + * [A = Move up one line, stop at top of screen, [9A = move up 9 +102 42 B * CUD - CUrsor Down + * [B = Move down one line, stop at bottom of screen +103 43 C * CUF - CUrsor Forward + * [C = Move forward one position, stop at right edge of screen +104 44 D * CUB - CUrsor Backward + * [D = Same as BackSpace, stop at left edge of screen +105 45 E CNL - Cursor to Next Line + [5E = Move to first position of 5th line down +106 46 F CPL - Cursor to Previous Line + [5F = Move to first position of 5th line previous +107 47 G CHA - Cursor Horizontal position Absolute + [40G = Move to column 40 of current line +110 48 H * CUP - CUrsor Position + * [H = Home, [24;80H = Row 24, Column 80 +111 49 I CHT - Cursor Horizontal Tabulation + [I = Same as HT (Control-I), [3I = Go forward 3 tabs +112 4A J * ED - Erase in Display (cursor does not move) + * [J = [0J = Erase from current position to end (inclusive) + * [1J = Erase from beginning to current position (inclusive) + * [2J = Erase entire display + * [?0J = Selective erase in display ([?1J, [?2J similar) +113 4B K * EL - Erase in Line (cursor does not move) + * [K = [0K = Erase from current position to end (inclusive) + * [1K = Erase from beginning to current position + * [2K = Erase entire current line + * [?0K = Selective erase to end of line ([?1K, [?2K similar) +114 4C L * IL - Insert Line, current line moves down (VT102 series) + [3L = Insert 3 lines if currently in scrolling region +115 4D M * DL - Delete Line, lines below current move up (VT102 series) + [2M = Delete 2 lines if currently in scrolling region +116 4E N EF - Erase in Field (as bounded by protected fields) + [0N, [1N, [2N act like [L but within currend field +117 4F O EA - Erase in qualified Area (defined by DAQ) + [0O, [1O, [2O act like [J but within current area +120 50 P * DCH - Delete Character, from current position to end of field + [4P = Delete 4 characters, VT102 series +121 51 Q SEM - Set Editing extent Mode (limits ICH and DCH) + [0Q = [Q = Insert/delete character affects rest of display + [1Q = ICH/DCH affect the current line only + [2Q = ICH/DCH affect current field (between tab stops) only + [3Q = ICH/DCH affect qualified area (between protected fields) +122 52 R * CPR - Cursor Position Report (from terminal to host) + * [24;80R = Cursor is positioned at line 24 column 80 +123 53 S SU - Scroll up, entire display is moved up, new lines at bottom + [3S = Move everything up 3 lines, bring in 3 new lines +124 54 T SD - Scroll down, new lines inserted at top of screen + [4T = Scroll down 4, bring previous lines back into view +125 55 U NP - Next Page (if terminal has more than 1 page of memory) + [2U = Scroll forward 2 pages +126 56 V PP - Previous Page (if terminal remembers lines scrolled off top) + [1V = Scroll backward 1 page +127 57 W CTC - Cursor Tabulation Control + [0W = Set horizontal tab for current line at current position + [1W = Set vertical tab stop for current line of current page + [2W = Clear horiz tab stop at current position of current line + [3W = Clear vert tab stop at current line of current page + [4W = Clear all horiz tab stops on current line only + [5W = Clear all horiz tab stops for the entire terminal + [6W = Clear all vert tabs stops for the entire terminal +130 58 X ECH - Erase CHaracter + [4X = Change next 4 characters to "erased" state +131 59 Y CVT - Cursor Vertical Tab + [2Y = Move forward to 2nd following vertical tab stop +132 5A Z CBT - Cursor Back Tab + [3Z = Move backwards to 3rd previous horizontal tab stop +133 5B [ Reserved for future standardization left bracket +134 5C \ Reserved reverse slant +135 5D ] Reserved right bracket +136 5E ^ Reserved circumflex +137 5F _ Reserved underscore +140 60 ` * HPA - Horizontal Position Absolute (depends on PUM) + [720` = Move to 720 decipoints (1 inch) from left margin + * [80` = Move to column 80 on LA120 +141 61 a * HPR - Horizontal Position Relative (depends on PUM) + [360a = Move 360 decipoints (1/2 inch) from current position + * [40a = Move 40 columns to right of current position on LA120 +142 62 b REP - REPeat previous displayable character + [80b = Repeat character 80 times +143 63 c * DA - Device Attributes + * [c = Terminal will identify itself + * [?1;2c = Terminal is saying it is a VT100 with AVO + * [>0c = Secondary DA request (distinguishes VT240 from VT220) +144 64 d * VPA - Vertical Position Absolute (depends on PUM) + [90d = Move to 90 decipoints (1/8 inch) from top margin + * [10d = Move to line 10 if before that else line 10 next page +145 65 e * VPR - Vertical Position Relative (depends on PUM) + [720e = Move 720 decipoints (1 inch) down from current position + * [6e = Advance 6 lines forward on LA120 +146 66 f * HVP - Horizontal and Vertical Position (depends on PUM) + [720,1440f = Move to 1 inch down and 2 inches over (decipoints) + * [24;80f = Move to row 24 column 80 if PUM is set to character +147 67 g * TBC - Tabulation Clear + * [0g = Clear horizontal tab stop at current position + * [1g = Clear vertical tab stop at current line (LA120) + * [2g = Clear all horizontal tab stops on current line only LA120 + * [3g = Clear all horizontal tab stops in the terminal +150 68 h * SM - Set Mode (. means permanently set on VT100) + [0h = Error, this command is ignored + * [1h = GATM - Guarded Area Transmit Mode, send all (VT132) + [2h = KAM - Keyboard Action Mode, disable keyboard input + [3h = CRM - Control Representation Mode, show all control chars + * [4h = IRM - Insertion/Replacement Mode, set insert mode (VT102) + [5h = SRTM - Status Report Transfer Mode, report after DCS + * [6h = ERM - ERasure Mode, erase protected and unprotected + [7h = VEM - Vertical Editing Mode, IL/DL affect previous lines + [8h, [9h are reserved + [10h = HEM - Horizontal Editing mode, ICH/DCH/IRM go backwards + [11h = PUM - Positioning Unit Mode, use decipoints for HVP/etc + . [12h = SRM - Send Receive Mode, transmit without local echo + [13h = FEAM - Format Effector Action Mode, FE's are stored + [14h = FETM - Format Effector Transfer Mode, send only if stored + [15h = MATM - Multiple Area Transfer Mode, send all areas + * [16h = TTM - Transmit Termination Mode, send scrolling region + [17h = SATM - Send Area Transmit Mode, send entire buffer + [18h = TSM - Tabulation Stop Mode, lines are independent + [19h = EBM - Editing Boundry Mode, all of memory affected + * [20h = LNM - Linefeed Newline Mode, LF interpreted as CR LF + * [?1h = DECCKM - Cursor Keys Mode, send ESC O A for cursor up + * [?2h = DECANM - ANSI Mode, use ESC < to switch VT52 to ANSI + * [?3h = DECCOLM - COLumn mode, 132 characters per line + * [?4h = DECSCLM - SCrolL Mode, smooth scrolling + * [?5h = DECSCNM - SCreeN Mode, black on white background + * [?6h = DECOM - Origin Mode, line 1 is relative to scroll region + * [?7h = DECAWM - AutoWrap Mode, start newline after column 80 + * [?8h = DECARM - Auto Repeat Mode, key will autorepeat + * [?9h = DECINLM - INterLace Mode, interlaced for taking photos + * [?10h = DECEDM - EDit Mode, VT132 is in EDIT mode + * [?11h = DECLTM - Line Transmit Mode, ignore TTM, send line + [?12h = ? + * [?13h = DECSCFDM - Space Compression/Field Delimiting on, + * [?14h = DECTEM - Transmit Execution Mode, transmit on ENTER + [?15h = ? + * [?16h = DECEKEM - Edit Key Execution Mode, EDIT key is local + [?17h = ? + * [?18h = DECPFF - Print FormFeed mode, send FF after printscreen + * [?19h = DECPEXT - Print Extent mode, print entire screen + * [?20h = OV1 - Overstrike, overlay characters on GIGI + * [?21h = BA1 - Local BASIC, GIGI to keyboard and screen + * [?22h = BA2 - Host BASIC, GIGI to host computer + * [?23h = PK1 - GIGI numeric keypad sends reprogrammable sequences + * [?24h = AH1 - Autohardcopy before erasing or rolling GIGI screen + * [?29h = - Use only the proper pitch for the LA100 font + * [?38h = DECTEK - TEKtronix mode graphics +151 69 i * MC - Media Copy (printer port on VT102) + * [0i = Send contents of text screen to printer + [1i = Fill screen from auxiliary input (printer's keyboard) + [2i = Send screen to secondary output device + [3i = Fill screen from secondary input device + * [4i = Turn on copying received data to primary output (VT125) + * [4i = Received data goes to VT102 screen, not to its printer + * [5i = Turn off copying received data to primary output (VT125) + * [5i = Received data goes to VT102's printer, not its screen + * [6i = Turn off copying received data to secondary output (VT125) + * [7i = Turn on copying received data to secondary output (VT125) + * [?0i = Graphics screen dump goes to graphics printer VT125,VT240 + * [?1i = Print cursor line, terminated by CR LF + * [?2i = Graphics screen dump goes to host computer VT125,VT240 + * [?4i = Disable auto print + * [?5i = Auto print, send a line at a time when linefeed received +152 6A j Reserved for future standardization +153 6B k Reserved for future standardization +154 6C l * RM - Reset Mode (. means permanently reset on VT100) + * [1l = GATM - Transmit only unprotected characters (VT132) + . [2l = KAM - Enable input from keyboard + . [3l = CRM - Control characters are not displayable characters + * [4l = IRM - Reset to replacement mode (VT102) + . [5l = SRTM - Report only on command (DSR) + * [6l = ERM - Erase only unprotected fields + . [7l = VEM - IL/DL affect lines after current line + [8l, [9l are reserved + . [10l = HEM - ICH and IRM shove characters forward, DCH pulls + . [11l = PUM - Use character positions for HPA/HPR/VPA/VPR/HVP + [12l = SRM - Local echo - input from keyboard sent to screen + . [13l = FEAM - HPA/VPA/SGR/etc are acted upon when received + . [14l = FETM - Format Effectors are sent to the printer + [15l = MATM - Send only current area if SATM is reset + * [16l = TTM - Transmit partial page, up to cursor position + [17l = SATM - Transmit areas bounded by SSA/ESA/DAQ + . [18l = TSM - Setting a tab stop on one line affects all lines + . [19l = EBM - Insert does not overflow to next page + * [20l = LNM - Linefeed does not change horizontal position + * [?1l = DECCKM - Cursor keys send ANSI cursor position commands + * [?2l = DECANM - Use VT52 emulation instead of ANSI mode + * [?3l = DECCOLM - 80 characters per line (erases screen) + * [?4l = DECSCLM - Jump scrolling + * [?5l = DECSCNM - Normal screen (white on black background) + * [?6l = DECOM - Line numbers are independent of scrolling region + * [?7l = DECAWM - Cursor remains at end of line after column 80 + * [?8l = DECARM - Keys do not repeat when held down + * [?9l = DECINLM - Display is not interlaced to avoid flicker + * [?10l = DECEDM - VT132 transmits all key presses + * [?11l = DECLTM - Send page or partial page depending on TTM + [?12l = ? + * [?13l = DECSCFDM - Don't suppress trailing spaces on transmit + * [?14l = DECTEM - ENTER sends ESC S (STS) a request to send + [?15l = ? + * [?16l = DECEKEM - EDIT key transmits either $[10h or $[10l + [?17l = ? + * [?18l = DECPFF - Don't send a formfeed after printing screen + * [?19l = DECPEXT - Print only the lines within the scroll region + * [?20l = OV0 - Space is destructive, replace not overstrike, GIGI + * [?21l = BA0 - No BASIC, GIGI is On-Line or Local + * [?22l = BA0 - No BASIC, GIGI is On-Line or Local + * [?23l = PK0 - Ignore reprogramming on GIGI keypad and cursors + * [?24l = AH0 - No auto-hardcopy when GIGI screen erased + * [?29l = Allow all character pitches on the LA100 + * [?38l = DECTEK - Ignore TEKtronix graphics commands +155 6D m * SGR - Set Graphics Rendition (affects character attributes) + * [0m = Clear all special attributes + * [1m = Bold or increased intensity + * [2m = Dim or secondary color on GIGI (superscript on XXXXXX) + [3m = Italic (subscript on XXXXXX) + * [4m = Underscore, [0;4m = Clear, then set underline only + * [5m = Slow blink + [6m = Fast blink (overscore on XXXXXX) + * [7m = Negative image, [0;1;7m = Bold + Inverse + [8m = Concealed (do not display character echoed locally) + [9m = Reserved for future standardization + * [10m = Select primary font (LA100) + * [11m - [19m = Selete alternate font (LA100 has 11 thru 14) + [20m = FRAKTUR (whatever that means) + * [22m = Cancel bold or dim attribute only (VT220) + * [24m = Cancel underline attribute only (VT220) + * [25m = Cancel fast or slow blink attribute only (VT220) + * [27m = Cancel negative image attribute only (VT220) + * [30m = Write with black, [40m = Set background to black (GIGI) + * [31m = Write with red, [41m = Set background to red + * [32m = Write with green, [42m = Set background to green + * [33m = Write with yellow, [43m = Set background to yellow + * [34m = Write with blue, [44m = Set background to blue + * [35m = Write with magenta, [45m = Set background to magenta + * [36m = Write with cyan, [46m = Set background to cyan + * [37m = Write with white, [47m = Set background to white + [38m, [39m, [48m, [49m are reserved +156 6E n * DSR - Device Status Report + * [0n = Terminal is ready, no malfunctions detected + [1n = Terminal is busy, retry later + [2n = Terminal is busy, it will send DSR when ready + * [3n = Malfunction, please try again + [4n = Malfunction, terminal will send DSR when ready + * [5n = Command to terminal to report its status + * [6n = Command to terminal requesting cursor position (CPR) + * [?15n = Command to terminal requesting printer status, returns + [?10n = OK, [?11n = not OK, [?13n = no printer. + * [?25n = "Are User Defined Keys Locked?" (VT220) +157 6F o DAQ - Define Area Qualification starting at current position + [0o = Accept all input, transmit on request + [1o = Protected and guarded, accept no input, do not transmit + [2o = Accept any printing character in this field + [3o = Numeric only field + [4o = Alphabetic (A-Z and a-z) only + [5o = Right justify in area + [3;6o = Zero fill in area + [7o = Set horizontal tab stop, this is the start of the field + [8o = Protected and unguarded, accept no input, do transmit + [9o = Space fill in area + +============================================================================== + + Private Control Sequences (allowed by ANSI X3.41-1974). + These take parameter strings and terminate with the last half of lowercase. + +Oct Hex * (* marks function used in DEC VT series or LA series terminals) +--- -- - - -------------------------------------------------------------------- +160 70 p * DECSTR - Soft Terminal Reset + [!p = Soft Terminal Reset +161 71 q * DECLL - Load LEDs + [0q = Turn off all, [?1;4q turns on L1 and L4, etc + [154;155;157q = VT100 goes bonkers + [2;23!q = Partial screen dump from GIGI to graphics printer + [0"q = DECSCA Select Character Attributes off + [1"q = DECSCA - designate set as non-erasable + [2"q = DECSCA - designate set as erasable +162 72 r * DECSTBM - Set top and bottom margins (scroll region on VT100) + [4;20r = Set top margin at line 4 and bottom at line 20 +163 73 s * DECSTRM - Set left and right margins on LA100,LA120 + [5;130s = Set left margin at column 5 and right at column 130 +164 74 t * DECSLPP - Set physical lines per page + [66t = Paper has 66 lines (11 inches at 6 per inch) +165 75 u * DECSHTS - Set many horizontal tab stops at once on LA100 + [9;17;25;33;41;49;57;65;73;81u = Set standard tab stops +166 76 v * DECSVTS - Set many vertical tab stops at once on LA100 + [1;16;31;45v = Set vert tabs every 15 lines +167 77 w * DECSHORP - Set horizontal pitch on LAxxx printers + [1w = 10 characters per inch, [2w = 12 characters per inch + [0w=10, [3w=13.2, [4w=16.5, [5w=5, [6w=6, [7w=6.6, [8w=8.25 +170 78 x * DECREQTPARM - Request terminal parameters + [3;5;2;64;64;1;0x = Report, 7 bit Even, 1200 baud, 1200 baud +171 79 y * DECTST - Invoke confidence test + [2;1y = Power-up test on VT100 series (and VT100 part of VT125) + [3;1y = Power-up test on GIGI (VK100) + [4;1y = Power-up test on graphics portion of VT125 +172 7A z * DECVERP - Set vertical pitch on LA100 + [1z = 6 lines per inch, [2z = 8 lines per inch + [0z=6, [3z=12, [4z=3, [5z=3, [6z=4 +173 7B { Private +174 7C | * DECTTC - Transmit Termination Character + [0| = No extra characters, [1| = terminate with FF +175 7D } * DECPRO - Define protected field on VT132 + [0} = No protection, [1;4;5;7} = Any attribute is protected + [254} = Characters with no attributes are protected +176 7E ~ * DECKEYS - Sent by special function keys + [1~=FIND, [2~=INSERT, [3~=REMOVE, [4~=SELECT, [5~=PREV, [6~=NEXT + [17~=F6...[34~=F20 ([23~=ESC,[24~=BS,[25~=LF,[28~=HELP,[29~=DO) +177 7F DELETE is always ignored + +============================================================================== + Control Sequences with intermediate characters (from ANSI X3.64-1979). + Note that there is a SPACE character before the terminating alphabetic. + +Oct Hex * (* marks function used in DEC VT series or LA series terminals) +--- -- - - -------------------------------------------------------------------- +100 40 @ SL - Scroll Left + [4 @ = Move everything over 4 columns, 4 new columns at right +101 41 A SR - Scroll Right + [2 A = Move everything over 2 columns, 2 new columns at left +102 42 B GSM - Graphic Size Modification + [110;50 B = Make 110% high, 50% wide +103 43 C GSS - Graphic Size Selection + [120 C = Make characters 120 decipoints (1/6 inch) high +104 44 D FNT - FoNT selection (used by SGR, [10m thru [19m) + [0;23 D = Make primary font be registered font #23 +105 45 E TSS - Thin Space Specification + [36 E = Define a thin space to be 36 decipoints (1/20 inch) +106 46 F JFY - JustiFY, done by the terminal/printer + [0 E = No justification + [1 E = Fill, bringing words up from next line if necessary + [2 E = Interword spacing, adjust spaces between words + [3 E = Letter spacing, adjust width of each letter + [4 E = Use hyphenation + [5 E = Flush left margin + [6 E = Center following text between margins (until [0 E) + [7 E = Flush right margin + [8 E = Italian form (underscore instead of hyphen) +107 47 G SPI - SPacing Increment (in decipoints) + [120;72 G = 6 per inch vertical, 10 per inch horizontal +110 48 H QUAD- Do quadding on current line of text (typography) + [0 H = Flush left, [1 H = Flush left and fill with leader + [2 H = Center, [3 H = Center and fill with leader + [4 H = Flush right, [5 H = Flush right and fill with leader +111 49 I Reserved for future standardization +157 67 o Reserved for future standardization +160 70 p Private use + ... May be defined by the printer manufacturer +176 7E ~ Private use +177 7F DELETE is always ignored + +============================================================================== + Minimum requirements for VT100 emulation: + +1) To act as a passive display, implement the 4 cursor commands, the 2 erase + commands, direct cursor addressing, and at least inverse characters. + The software should be capable of handling strings with 16 numeric parameters + with values in the range of 0 to 255. + + [A Move cursor up one row, stop if a top of screen + [B Move cursor down one row, stop if at bottom of screen + [C Move cursor forward one column, stop if at right edge of screen + [D Move cursor backward one column, stop if at left edge of screen + [H Home to row 1 column 1 (also [1;1H) + [J Clear from current position to bottom of screen + [K Clear from current position to end of line + [24;80H Position to line 24 column 80 (any line 1 to 24, any column 1 to 132) + [0m Clear attributes to normal characters + [7m Add the inverse video attribute to succeeding characters + [0;7m Set character attributes to inverse video only + +2) To enter data in VT100 mode, implement the 4 cursor keys and the 4 PF keys. + It must be possible to enter ESC, TAB, BS, DEL, and LF from the keyboard. + + [A Sent by the up-cursor key (alternately ESC O A) + [B Sent by the down-cursor key (alternately ESC O B) + [C Sent by the right-cursor key (alternately ESC O C) + [D Sent by the left-cursor key (alternately ESC O D) + OP PF1 key sends ESC O P + OQ PF2 key sends ESC O Q + OR PF3 key sends ESC O R + OS PF3 key sends ESC O S + [c Request for the terminal to identify itself + [?1;0c VT100 with memory for 24 by 80, inverse video character attribute + [?1;2c VT100 capable of 132 column mode, with bold+blink+underline+inverse + +3) When doing full-screen editing on a VT100, implement directed erase, the + numeric keypad in applications mode, and the limited scrolling region. + The latter is needed to do insert/delete line functions without rewriting + the screen. + + [0J Erase from current position to bottom of screen inclusive + [1J Erase from top of screen to current position inclusive + [2J Erase entire screen (without moving the cursor) + [0K Erase from current position to end of line inclusive + [1K Erase from beginning of line to current position inclusive + [2K Erase entire line (without moving cursor) + [12;24r Set scrolling region to lines 12 thru 24. If a linefeed or an + INDex is received while on line 24, the former line 12 is deleted + and rows 13-24 move up. If a RI (reverse Index) is received while + on line 12, a blank line is inserted there as rows 12-13 move down. + All VT100 compatible terminals (except GIGI) have this feature. + ESC = Set numeric keypad to applications mode + ESC > Set numeric keypad to numbers mode + OA Up-cursor key sends ESC O A after ESC = ESC [ ? 1 h + OB Down-cursor key sends ESC O B " " " + OC Right-cursor key sends ESC O B " " " + OB Left-cursor key sends ESC O B " " " + OM ENTER key sends ESC O M after ESC = + Ol COMMA on keypad sends ESC O l " " (that's lowercase L) + Om MINUS on keypad sends ESC O m " " + Op ZERO on keypad sends ESC O p " " + Oq ONE on keypad sends ESC O q " " + Or TWO on keypad sends ESC O r " " + Os THREE on keypad sends ESC O s " " + Ot FOUR on keypad sends ESC O t " " + Ou FIVE on keypad sends ESC O u " " + Ov SIX on keypad sends ESC O v " " + Ow SEVEN on keypad sends ESC O w " " + Ox EIGHT on keypad sends ESC O x " " + Oy NINE on keypad sends ESC O y " " + +4) If the hardware is capable of double width/double height: + + #3 Top half of a double-width double-height line + #4 Bottom half of a double-width double-height line + #5 Make line single-width (lines are set this way when cleared by ESC [ J) + #6 Make line double-width normal height (40 or 66 characters) + +5) If the terminal emulator is capable of insert/delete characters, +insert/delete lines, insert/replace mode, and can do a full-screen dump to +the printer (in text mode), then it should identify itself as a VT102 + + [c Request for the terminal to identify itself + [?6c VT102 (printer port, 132 column mode, and ins/del standard) + [1@ Insert a blank character position (shift line to the right) + [1P Delete a character position (shift line to the left) + [1L Insert blank line at current row (shift screen down) + [1M Delete the current line (shift screen up) + [4h Set insert mode, new characters shove existing ones to the right + [4l Reset insert mode, new characters replace existing ones + [0i Print screen (all 24 lines) to the printer + [4i All received data goes to the printer (nothing to the screen) + [5i All received data goes to the screen (nothing to the printer) + + +[End of ANSICODE.TXT] diff --git a/docs/shuford_terminal_vt100_codes_news.txt b/docs/shuford_terminal_vt100_codes_news.txt new file mode 100644 index 0000000..b05dbe9 --- /dev/null +++ b/docs/shuford_terminal_vt100_codes_news.txt @@ -0,0 +1,1216 @@ + vt100_codes_news.txt + =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= + + This information is largely derived from DEC document EK-VT100-UG-003, + the original manual for the VT100. + + Most so-called VT100 implementations (both stand-alone terminals and + PC emulators) actually implement more controls than are given here. + The minimal standard is really the slightly more advanced VT102 terminal. + + ...RSS + + =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= + +Path: cs.utk.edu!gatech!usenet.ins.cwru.edu!agate!doc.ic.ac.uk!pipex!sunic + !trane.uninett.no!news.eunet.no!nuug!news.eunet.fi!funic!nntp.hut.fi + !lk-hp-14.hut.fi!pev +From: pev@lk-hp-14.hut.fi (Petri Virekoski) +Newsgroups: comp.terminals +Subject: VT100 control info +Date: 11 Sep 1993 12:43:22 GMT +Organization: Helsinki University of Technology +Lines: 878 +Distribution: world +Message-ID: <26sh5a$oct@nntp.hut.fi> +NNTP-Posting-Host: lk-hp-14.hut.fi + + +OK. I finally found this on my local machine by doing a locate. +Still haven't found any FTP site bearing this kind of information. +I myself would need a similar file with extensions for VT200/VT220. +Please do not address any complaints to me, since I just copied this file +as I found it. There might be some escape sequences missing from the +end because there was some carbage, but I don't know. Here goes... + + +This file describes information needed for controlling the VT100 terminal from +a remote computer. All of the information was derived from the VT100 user's +manual, Programmer's Information section. Full documentation can be obtain +from DIGITAL'S Accessory and Supplies Group. + + [The notation denotes a single ASCII Escape character, 1Bx.] + + + ANSI mode w/cursor ANSI mode w/cursor +Cursor Key VT52 mode key mode reset key mode set +-------------------------------------------------------------------------- + UP A [A OA + DOWN B [B OB + RIGHT C [C OC + LEFT D [D OD + + +******************************* +* Special Graphics Characters * +******************************* + + + If the Special Graphics set is selected, the graphics for ASCII codes +0137 through 0176 will be replaced according to the following table (see the +SCS control sequence). + + +Octal ASCII Special Octal ASCII Special +Code graphic graphic code graphic graphic +------------------------------------------------------------------------------- +0137 _ Blank 0157 o Horiz Line - scan 1 +0140 \ Diamond 0160 p Horiz Line - scan 3 +0141 a Checkerboard 0161 q Horiz Line - scan 5 +0142 b Digraph: HT 0162 r Horiz Line - scan 7 +0143 c Digraph: FF 0163 s Horiz Line - scan 9 +0144 d Digraph: CR 0164 t Left "T" (|-) +0145 e Digraph: LF 0165 u Right "T" (-|) +0146 f Degree Symbol 0166 v Bottom "T" (|_) +0147 g +/- Symbol 0167 w Top "T" (T) +0150 h Digraph: NL 0170 x Vertical Bar (|) +0151 i Digraph: VT 0171 y Less/Equal (<_) +0152 j Lower-right corner 0172 z Grtr/Egual (>_) +0153 k Upper-right corner 0173 { Pi symbol +0154 l Upper-left corner 0174 | Not equal (=/) +0155 m Lower-left corner 0175 } UK pound symbol +0156 n Crossing lines (+) 0176 ~ Centered dot + + +NOTE 1: Codes 0152-0156 and 0164-0170 are used to draw rectangular grids" each +piece of this set is contiguous with other so the lines formed will be +unbroken. + +NOTE 2: Codes 0157-0163 give better vertical resolution than dashes and +underlines when drawing graphs; using these segments, 120 x 132 resolution may +be obtained in 132 column mode with the Advanced Video Option installed. + + + +***************************** +* Terminal Control Commands * +***************************** + +Control Characters +------------------ + + The control characters recognized by the VT100 are listed below. All +other control characters cause no action to be taken. + + Control characters (codes 00 - 037 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 the VT100. The processing of the control sequence then +continues with the next character recieved. The exceptions are: if the +character occurs, the current control sequence is aborted, and a new one +commences beginning with the just recieved. If the character +(030) or the character (032) 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. + + + +Control Octal +Character Code Action Taken +------------------------------------------------------------------------------ + 0000 Ignored on input; not stored in buffer + 0005 Transmit ANSWERBACK message + 0007 Sound bell + 0010 Move cursor to the left one position, unless it is at + the left margin, in which case no action is taken. + 0011 Move cursor to the next tab stop, or to the right + margin if no further tabs are set. + 0012 Causes either a line feed or new line operation (See + new line mode.) + 0013 Same as . + 0014 Same as . + 0015 Move the cursor to the left margin of the current line. + 0016 Invoke the G1 character set, as designated by the SCS + control sequence. + 0017 Invoke the G0 character set, as selected by the ( + sequence. + 0021 Causes terminal to resume transmission (XON). + 0023 Causes terminal to stop transmitting all codes except + XOFF and XON (XOFF). + 0030 If sent during a control sequence, the sequence id + immediately terminated and not executed. It also + causes the error character (checkerboard) to be + displayed. + 0032 Same as . + 0033 Introduces a control sequence. + 0177 Ignored on input; not stored in buffer. + + + The VT100 is an upward and downward software-compatible terminal; +that is, previous Digital video terminals have Digital's private standards +for control sequences. The American National Standards Institute has since +standardized escape and control sequences in terminals in documents X3.41-1974 +and X3.64-1977. + + The VT100 is compatible with both the previous Digital standard and +ANSI standards. Customers may use existing Digital software designed around +the VT52 or new VT100 software. The VT100 has a "VT52 compatible" mode in +which the VT100 responds to control sequences like a VT52. In this mode, most +of the new VT100 features cannot be used. + + Throughout this document references will be made to "VT52 mode" or +"ANSI mode". These two terms are used to indicate the VT100's software +compatibility. + + +NOTE: The ANSI standards allow the manufacturer flexibility in implementing +each function. This document describes how the VT100 will respond to the +implemented ANSI central function. + +NOTE: ANSI standards may be obtained by writing: + + American National Standards Institute + Sales Department + 1430 Broadway + New York, NY, 10018 + + [July 1995 update: current address for ordering ANSI standards: + + American National Standards Institute + Attn: Customer Service + 11 West 42nd Street + New York, NY 10036 + USA + + ANSI's fax number for placing publication orders is +1 212/302-1286.] + + [Further update, from Tim Lasko : + + "ANSI X3.64 has been withdrawn in favor of the more complete and + updated ISO standard 6429. (ECMA-48 is equivalent to ISO DP6429, + last I checked.) X3.64 has been out of date for some time. At the + time when I was on the relevant committee, we couldn't get enough + resources to really do a good job of updating the standard. + Later, the proposal came up to withdraw it in favor of the ISO + standard.] + + +Definitions +----------- + + Control Sequence Introducer (CSI) - 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: [ + + Parameter: (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). + (2) The value so represented. + + Numeric Parameter: A parameter that represents a number, designated by + Pn. + + Selective Parameter: 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. + + Parameter String: A string of parameters separated by a semicolon. + + Default: A function-dependent value that is assumed when no explicit + value, or a value of 0, is specified. + + Final character: A character whose bit combination terminates an + escape or control sequence. + + + EXAMPLE: Control sequence to turn off all character attributes, then + turn on underscore and blink attributes (SGR). [0;4;5m + + Sequence: + + + Delimiters + / \ + / \ + | | + \ / \ / + [ 0 ; 4 ; 5 m + ^^^^^^ ^ ^ ^ ^ + |||||| | | | | + \||||/ \ | / +------Final character + \||/ \ | / + CSI Selective + Parameters + + + The octal representation of this string is: + + 033 0133 060 073 064 073 065 0155 + [ 0 ; 4 ; 5 m + + + Alternate sequences which will accomplish the same thing: + + 1) [;4;m + + 2) [m + [4m + [5m + + 3) [0;04;005m + + +Control Sequences +----------------- + + 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. + + The following text conforms to these formatting conventions: + + 1) Control characters are designated by angle brackets (e.g. + the Escape character is ). + + 2) Parameters are indicated by curly braces. + + 3) Parameter types usually are indicated as one of: + + {Pn} A string of digits representing a numerical + value. + + {Ps} A character that selects an item from a list. + + {a-z} Any lowercase sequence of one44 or more + characters in braces represent a value to be + entered (as in {Pn}), and the name in the + braces will be referred to in explanatory text. + + 4) Spaces in the control sequence are present for clarity and + may be omitted. Spaces which are required will be + surrounded by single quotes: ' '. + + 5) All other characters are literals. + + + + + +CPR Cursor Position Report VT100 to Host + + [ {Pn} ; {Pn} R Default Value: 1 + + 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 equivelent + to a cursor at home position. + + The numbering of the lines depends upon the state of the Origin Mode + (DECOM). + + This control sequence is sent in reply to a device status report (DSR) + command sent from the host. + + + +CUB Cursor Backward Host to VT100 & VT100 to Host + + [ {Pn} D Default Value: 1 + + The CUB sequence move 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. Editor Function. + + +CUD Cursor Down Host to VT100 & VT100 to Host + + [ {Pn} B Default value: 1 + + 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. Editor Function. + + +CUF Cursor Foreward Host to VT100 & VT100 to Host + + [ {Pn} C Default Value: 1 + + The CUF sequence moves the cursor to the right a number of positions + specified in the parameter. The cursor cannot be moved past the right + margin. Editor Function. + + +CUP Cursor Position + + [ {Pn} ; {Pn} H Default Value: 1 + + The CUP sequence 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 (H) homes the cursor. In the VT100, this command behaves + identically to it's format effector counterpart, HVP. + + The numbering of the lines depends upon the state of the Origin Mode + (DECOM). Editor Function. + + +CUU Cursor Up Host to VT100 & VT100 to Host + + [ {Pn} A Default Value: 1 + + 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. Editor Function. + + +DA Device Attributes Host to VT100 & VT100 to Host + + [ {Pn} c Default Value: 0 + + 1) 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. + + 2) Response to the request described above (VT100 to host) is generated + by the VT100 as a DA control sequencewith the numeric parameters as + follows: + + Option Present Sequence Sent + --------------------------------------------- + No options [?1;0c + Processor Option (STP) [?1;1c + Advanced Video Option (AVO) [?1;2c + AVO and STP [?1;3c + Graphics Option (GPO) [?1;4c + GPO and STP [?1;5c + GPO and AVO [?1;6c + GPO, ACO, and STP [?1;7c + +<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>, +<<> +<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + +DECALN Screen Alignment Display (DEC private) + + # 8 + + This command causes the VT100 to fill it's screen with uppercase Es for + screen focus and alignment. + + +DECANM ANSI/VT52 Mode (DEC Private) + + This is a private parameter to the SM and 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 MODES, SM, and RM. + + +DECARM Auto Repeat Mode (DEC Private) + + This is a private parameter to the SM and RM control sequences. The + reset state causes no keyboard keys to auto-repeat, the set state + causes most of them to. See MODES, SM, and RM. + + +DECAWM Autowrap Mode (DEC Private) + + This is a private parameter to the SM and RM control sequences. The + reset state prevents the cursor from moving when characters are + recieved 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 MODES, SM, and RM. + + +DECCKM Cursor Keys Mode (DEC Private) + + This is a private parameter to the SM and RM control requences. This + mode is only effective when the terminal is in keypad application mode + (DECPAM) and the ANSI/VT52 mode (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 MODES, RM, and SM). + + +DECCOLM Column Mode (DEC Private) + + This is a private parameter to the SM and 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 MODES, RM, and SM. + + +DECDHL Double Height Line (DEC Private) + + Top Half: #3 + Bottom Half: #4 + + These sequences cause the line containing the cursor to become the top + or bottom half of a double-height, double width line. The sequences + should be used in pairs on adjacent lines with each line containing the + same character string. 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. + + +DECDWL Double Width Line (DEC Private) + + #6 + + 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. + + +DECID Identify Terminal (DEC Private) + + Z + + This sequence causes the same response as the DA sequence. This + sequence will not be supported in future models. + + +DECINLM Interlace Mode (DEC Private) + + This is a private parameter to the RM and 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 MODES, RM, and SM. + + +DECKPAM Keypad Application Mode (DEC Private) + + = + + The auxiliary keypad keys will transmit control sequences. + + +DECKPNM Keypad Numeric Mode (DEC Private) + + > + + The auxiliary keypad keys will send ASCII codes corresponding to the + characters engraved on their keys. + + +DECLL Load LEDs (DEC Private) + + [ {Ps} q Default Value: 0 + + Load the four programmable LEDs on the keyboard according to the + parameter(s). + + Parameter Meaning + ----------------------- + 0 Clear All LEDs + 1 Light L1 + 2 Light L2 + 3 Light L3 + 4 Light L4 + + +DECOM Origin Mode (DEC Private) + + This is a private parameter to SM and 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 (CUP) or + horizontal and vertical position (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 Restore Cursor (DEC Private) + + 8 + + This sequence causes the previously saved cursor position, graphic + rendition, and character set to be restored. + + +DECREPTPARM Report Terminal Parameters VT100 to Host + + [ {sol} ; {par} ; {nbits} ; {xspd} ; {rspd} ; {cmul} ; {flags} x + + 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 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 paramters are: + + Parameter Value Meaning + ------------------------------------------------------------------ + {sol} 1 This message is a report. + 2 This message is a report, and the terminal is + only reporting on request. + + {par} 1 No parity set + 4 Parity set and odd + 5 Parity set and even + + {nbits} 1 8 bits per character + 2 7 bits per character + + {xspd} 0 Speed set to 50 bps + -and- 8 Speed set to 75 bps + {rspd} 16 Speed set to 110 bps + 24 Speed set to 134.5 bps + {xspd}= 32 Speed set to 150 bps + Transmit 40 Speed set to 200 bps + Speed 48 Speed set to 300 bps + 56 Speed set to 600 bps + {rspd}= 64 Speed set to 1200 bps + Recieve 72 Speed set to 1800 bps + Speed 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 + + {cmul} 1 The bit rate multiplier is 16 + + {flags} 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 Request Terminal Parameters + + [ {Ps} x + + The host sends this sequence to request the VT100 to send a DECREPTPARM + sequence back. {Ps} can be either 0 or 1. If 0, the terminal will be + allowed to send unsolicited 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 DECREPTPARMs in response to a + request. + + +DECSC Save Cursor (DEC Private) + + 7 + + Causes the cursor position, graphic rendition, and character set to be + saved. (See DECRC) + + +DECSCLM Scrolling Mode (DEC Private) + + This is a private parameter to RM and 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 MODES, RM, and SM. + + +DECSCNM Screen Mode (DEC Private) + + This is a private parameter to RM and 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 MODES, + RM, and SM. + +<<<>>> +DECSTBM Set Top and Bottom Margins (DEC Private) + + [ {Pn} ; {Pn} r Default Values: See Below + + 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 DECOM). + + +DECSWL Single-width Line (DEC Private) + + #5 + + 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. + + +DECTST Invoke Confidence Test + + [ 2 ; {Ps} y + + 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. + + Test Weight + -------------------------------------------------------------- + POST (ROM checksum, RAM NVR, keyboardm and AVO) 1 + Data Loop Back (Loopback connector required) 2 + EIA Modem Control Test (Loopback connector req.) 4 + Repeat Testing until failure 8 + + +DSR Device Status Report Host to VT100 & VT100 to Host + + [ {Ps} n + + Requests and reports the general status of the VT100 according to the + following parameters: + + Parameter Meaning + --------------------------------------------------------------- + 0 Response from VT100 - Ready, no faults detected + 3 Response from VT100 - Malfunction Detected + 5 Command from host - Report Status (using a DSR control + sequence) + 6 Command from host - Report Active Position (using a CPR + sequence) + + DSR with a parameter of 0 or 3 is always sent as a response to a + requesting DSR with a parameter of 5. + + +ED Erase in Display + + [ {Ps} J Default: 0 + + 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. Editor Function. + + Parameter Meaning + ---------------------------------------------------------------- + 0 Erase from the cursor to the end of the screen. + 1 Erase from the start of the screen to the cursor. + 2 Erase the entire screen. + + +EL Erase in Line + + [ {Ps} K Default: 0 + + Erases some or all characters in the active line, according to the + parameter. Editor Function. + + Parameter Meaning + --------------------------------------------------------------- + 0 Erase from cursor to the end of the line. + 1 Erase from the start of the line to the cursor. + 2 Erase the entire line. + + +HTS Horizontal Tab Set + + H + + Set a tab stop at the current cursor position. Format Effector. + + +HVP Horizontal and Vertical Position + + [ {Pn} ; {Pn} f + + 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, CUP. The numbering + of hte lines depends upon the state of the Origin Mode (DECOM). Format + Effector. + + +IND Index + + D + + 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. Format Effector. + + +LNM Line Feed/New Line Mode + + This is a parameter to SM and RM control sequences. The reset state + causes the interpretation of the character to imply only vertical + movement of the cursor and causes the RETURN key to send the single + code . The set state causes the character to imply movement + to the first position of the following line, and causes the RETURN key + to send the code pair . This is the New Line option. + + This mode does not affect the Index (IND) or the next line (NEL) format + effectors. + + +MODES The Following is a list of VT100 modes which may be changed with Set + Mode (SM) and Reset Mode (RM) controls. + + ANSI Specified Modes + + Parameter Mnemonic Function + ------------------------------------------------------------------ + 0 Error (Ignored) + 20 LNM Line Feed/New Line Mode + + + DEC Private Modes + + If the first character in the parameter string is ? (077), the + parameters are interpreted as DEC private parameters according to the + following: + + Parameter Mnemonic Function + ------------------------------------------------------------------- + 0 Error (Ignored) + 1 DECCKM Cursor Key + 2 DECANM ANSI/VT52 + 3 DECCOLM Column + 4 DECSCLM Scrolling + 5 DECSCNM Screen + 6 DECOM Origin + 7 DECAWM Auto Wrap + 8 DECARM Auto Repeat + 9 DECINLM Interlace + + Any other parameter values are ignored. + + The following modes, which are specified in the ANSI standard, may be + considered to be permanently set, permanently reset, or not applicable, + as noted. + + Mnemonic Function State + ------------------------------------------------------ + CRM Control Representation Reset + EBM Editing Boundary Reset + ERM Erasure Set + FEAM Format Effector Action Reset + FETM Format Effector Transfer Reset + GATM Guarded Area Transfer NA + HEM Horizontal Editing NA + IRM Insertion-replacement Reset + KAM Keyboard Action Reset + MATM Multiple area transfer NA + PUM Positioning Unit Reset + SATM Selected Area Transfer NA + SRTM Status Reporting Transfer Reset + TSM Tabulation Stop Reset + TTM Transfer Termination NA + VEM Vertical Editing NA + + +NEL Next Line + + E + + 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. + Format Effector. + + +RI Reverse Index + + M + + Move the cursor up one line without changing columns. If the cursor is + on the top line, a scroll down is performed. + + +RIS Reset to Initial State + + c + + 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. + + +RM Reset Mode + + [ {Ps} ; {Ps} l + + 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 MODES and SM. + + +SCS Select Character Set + + The appropriate D0 and G1 character sets are designated from one of the + five possible sets. The G0 and G1 sets are invokedd by the characters + and , respectively. + + G0 Sets G1 Sets + Sequence Sequence Meaning + ------------------------------------------------------------------ + (A )A United Kingdom Set + (B )B ASCII Set + (0 )0 Special Graphics + (1 )1 Alternate Character ROM + Standard Character Set + (2 )2 Alternate Character ROM + Special Graphics + + 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 recieved. + + +SGR Select Graphic Rendition + + [ {Ps} ; {Ps} m + + 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. Format + Effector. + + Parameter Meaning + --------------------------------------------------------------- + 0 Attributes Off + 1 Bold or increased intensity + 4 Underscore + 5 Blink + 7 Negative (reverse) image + + 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. + + [Update: DP6429 defines parameters in the 30-37 range to change + foreground color and in the 40-47 range to change background.] + + +SM Set Mode + + [ {Ps} ; {Ps} h + + 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 (RM) control sequence. See RM and MODES. + + [Editor's note: The original DEC VT100 documentation EK-VT100-UG-003 + erroneously omitted the "[" character from the SM sequence.] + + +TBC Tabulation Clear + + [ {Ps} g + + 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. Format Effector. + + + ___ + ( /_)_---_------------------------------------------------- +(_/ ( ! / ) Petri Virekoski ------ pev@vipu.hut.fi ------ +-------!/--------------------------------------------------- + + ////////////////////////////////////////////////////////////////////////////// + +Here is a string of control sequences I use for a general VT200 terminal reset. + +No spaces really--just for clarity. + + ESC [ ? 38 l ESC ) 0 Control-O ESC [ H ESC [ 2 J + +where ESC is hexadecimal 1B + Control-O is hexadecimal 0F + "l" is hexadecimal 6C (a lowercase "L") + +It takes the terminal out of Tektronix graphics mode, gets it out of +line-draw-character mode, and clears the screen. + + ...RSS + + ////////////////////////////////////////////////////////////////////////////// + +Newsgroups: comp.terminals,comp.protocols.misc +Expires: Sun, 31 Jan 1993 22:23:24 GMT +References: <18623@mindlink.bc.ca> +Organization: University of Tennessee, Knoxville--Dept. of Computer Science +Keywords: VT100, scroll, control code, Escape, ANSI X3.64, terminal +Sender: shuford@cs.utk.edu +Subject: ANSI X3.64 sequences (was Re: VT100 scrolling region) +Summary: Escape code effects + +In article pdsmith@bbn.com (Peter D. Smith) writes: +> In article <18623@mindlink.bc.ca>, Frank@mindlink.bc.ca (Frank I. Reiter) +> writes: +> > Part of an application I am working on includes a VT100 emulator. +> > 1) Does ESC [;22r mean "scroll lines 0 through 22" or does it mean "Set +> > the bottom scrolling line to 22, leave the top line as it is set already"? +> +> It should mean 'scroll lines 1 to 22'. + +The control sequences recognized by the Digital Equipment Corporation +VT100, VT200, VT300, and VT400-family character-cell video terminals +are an extended variant of the control sequences specified by an ANSI +standard, ANSI X3.64. (ISO DP6429 is the international version.) + +The generic sequence introducer is a thing called CSI (Control +Sequence Introducer). If you are using 8-bit communication, you +can use the hexadecimal value 9B to represent this (but be sure you +understand the side effects thereof). Otherwise, use the 7-bit +equivalent: the Escape character (1Bh) followed by [ (the left +bracket character). + +The canonical form of the given scroll-region command would be + + CSI xx ; yy r + +or in 7-bit style + + Esc [ xx ; yy r + +(where xx and yy are decimal digits expressed in ASCII/IA5; you do not +actually use a space between sequence elements, this is for clarity. +Be careful with the notation here--sometimes a space character _is_ +a sequence element, as in the SR Scroll Right editing function.) + +In an X3.64 control sequence, the numeric arguments may default to an +arbitrary value specific to the device function being controlled. Do +not assume that the default always will be 0 or 1. (Or there may be +no default allowed.) For example, the numeric arguments in the GSM +(Graphic Size Modify) sequence have the default values 100, 100. + +As a private extension to X3.64, DEC defines the DECSTBM (Set Top and +Bottom Margins) command as follows: + + CSI Pt ; Pb r + + Selects top and bottom margins defining the scrolling region. + Pt is the line number of the first line in the scrolling region. + Pb is the line number of the bottom line. + If you do not select either Pt or Pb, they default to the top + and bottom respectively. Lines are counted from 1. + +(See \VT220 Programmer Pocket Guide/, part EK-VT220-HR-002, page 37.) + +> Remember that these sequences +> could be implemented in TTL without a microprocessor of any +> kind & therefore use the simplest possible implementation. + +Peter must be thinking of the much simpler DEC VT52 sequences. As far +as I know, terminals implementing X3.64 have ALWAYS used a built-in +microprocessor. The VT100 was built around an 8-bit-bus Intel 8085. + +In fact, when the X3.64 document was published (circa 1978), some +vendors, insisting on using discrete logic designs, objected that the +standard was so complex it could not be implemented. Most of these +vendors are now floating belly-up on the tide of technology. Some +credit is due to The Heath Company for a pioneering microprocessor- +based video terminal that implemented many of the X3.64 functions. + +> > 2) Should a clear screen code clear the scrolling region only, or the +> > entire screen? How about a clear to end of screen? +> +> I think this is the whole screen regardless of the scrolling region. +> Don't bet your company on it, though. + +Screen clearing should not depend on scrolling. + +Erasing parts of the display (EL and ED) in the VT100 is performed thus: + + Erase from cursor to end of line Esc [ 0 K or Esc [ K + Erase from beginning of line to cursor Esc [ 1 K + Erase line containing cursor Esc [ 2 K + Erase from cursor to end of screen Esc [ 0 J or Esc [ J + Erase from beginning of screen to cursor Esc [ 1 J + Erase entire screen Esc [ 2 J + +Some brain-damaged terminal/emulators respond to Esc [ J as if it were +Esc [ 2 J (here the default is 0), and _some_ versions of Microsoft's +MS-DOS ANSI.SYS contain a bug requiring software to send Esc [ k +(instead of the uppercase). Of course, you would never make this mistake. + +The VT200 and later terminals have the ECH control sequence: + + Esc yy X + +(where yy is a numeric parameter) + +This erases the cursor position and the next (yy-1) positions, but this +is not part of the least common denominator VT100. + + - - - - - - + +VT, Flip Chip, DIBOL, and Rainbow are trademarks of Digital Equipment +Corporation. + + ////////////////////////////////////////////////////////////////////////////// + +Newsgroups: comp.terminals +Path: utkcs2!gatech!ukma!wupost!sdd.hp.com!think.com!news.bbn.com!bbn.com!pdsmith +Message-ID: <66978@bbn.BBN.COM> +Sender: news@bbn.com +Reply-To: pdsmith@spca.bbn.com (Peter D. Smith) +Organization: Bolt Beranek and Newman Inc., Cambridge MA +Date: 22 Oct 1991 14:13:24 GMT +From: pdsmith@bbn.com (Peter D. Smith) +Subject: Answers to recent questions -- micro-FAQ + + + *** comp.terminals unofficial FAQ *** + +1) How do I save my VT100 setups? + 1) Place the terminal in SET-UP mode + 2) Press the SHIFT and S keys simultaneously. The screen will + clear and the message "wait" will be displayed in the + upper left hand corner. After a brief wait, the terminal + will return to SET-UP A mode + +2) How do I set my DEC terminal to reverse video? + Use the sequence ESC [ ? h (white on black) or ESC [ ? l + (black on white). + +3) What are the DIP switches for an H19 (or Z19)? + Switch S402 + 0 cursor is 0=underscore 1=block + 1 keys 0=will 1=wont click + 2 lines 0=wont 1=will wrap + 3 Auto LF on CR is 0=off 1=on + 4 Auto CR on LF is 0=off 1=on + 5 Terminal mode is 0=Heath/Zenith 1=Ansi + 6 keypad 0=normal 1=shifted + 7 refresh 0=60Hz 1=50Hz + Switch S401 + 0..3 = Baud rate, on of N/A 110 150 300 600 1200 1800 2000 + 2400 3600 4800 7200 9600 N/A N/A N/A such that if all + switches are ZERO except switch 0, terminal is 300 baud + 4 Parity is 0=off 1=on + 5 Parity is 0=even 1=odd + 6 Parity is 0=normal 1=stick + 7 Duplex is 0=half 1=full + + + ////////////////////////////////////////////////////////////////////////////// + +Newsgroups: comp.terminals +Message-ID: <6ttv6b$nf8$1@apakabar.cc.columbia.edu> +References: +Date: 18 Sep 1998 15:45:15 GMT +From: Frank da Cruz +Subject: Re: vt101 terminal + +In article , +Neil Zanella wrote: +: +: When using a vt101 terminal should I set the TERM variable to vt100 . I +: have a fairly recent version of terminfo but there is no entry for the vt101 +: Digital terminal. As far as I'm concerned the vt100 and vt101 look exactly +: the same. Are there any differences at all between these two? + + +Probably none that would affect termcap/terminfo. The main difference was +that the VT101 added local-echo capability so it could be used with (say) +IBM mainframes on linemode connections. + +- Frank + + =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= + + +Newsgroups: comp.terminals +Message-ID: <3BAF39C9.ED27D78B@uk.thalesgroup.com> +References: + <9on90l$i7d$3@news1.Radix.Net> +Date: Mon, 24 Sep 2001 14:48:57 +0100 +From: Paul Williams +Subject: Re: Double width to single width bug test in vttest + +Thomas Dickey wrote: +> +> Simon Clubley wrote: +> > +> > I have been running VTTEST against several VT emulators and +> > genuine DEC terminals and I have a question about the single +> > width->double width->single width test in "Test of known bugs", +> > test number 8. +> +> > My question is why is the loss of the right half of the line +> > considered to be a bug ? +> > Does the specification for the VT100 disagree with actual +> > behaviour in this area ? +> +> probably not (it's been a while since I've seen any detailed info, +> but my recollection is that it was pretty vague). + +The VT100 User Guide says "If the line was single-width single-height, +all characters to the right of the screen are lost". The VT102 User +Guide uses similar words. + + http://vt100.net/docs/vt100-ug/chapter3.html#DECDWL + + + ////////////////////////////////////////////////////////////////////////////// + + +Newsgroups: comp.terminals +Message-ID: <3BB23B20.DB5EF55C@tinyworld.co.uk> +References: + <9on90l$i7d$3@news1.Radix.Net> +Organization: VT100.net +Date: Wed, 26 Sep 2001 21:31:28 +0100 +From: Paul Williams +Subject: Re: Double width to single width bug test in vttest + +Simon Clubley wrote: +> +> Yes, I understood that the terminal would have to store the extra +> text somewhere if the specs required that the text be saved. + +What extra text? Setting a line to double width wouldn't necessarily +change the contents of the characters in a line at all; the terminal +would just change the line attributes. + +> What I can't understand is why the VT100 behaviour of losing the +> right half of the line is described as a bug, when everything that +> I've seen, as well as the behaviour on later DEC terminals that I +> have tried, make me believe that it's normal behaviour. + +It is described as a misfeature, not a bug. Misfeatures are anything +that the user thought was awkward in the implementation, even if it +matched the specification. + +I've just tried this on my genuine VT100 and it does indeed clear the +right half of the screen, exactly as its specification[1] says and +exactly as its DEC successors do. + +I don't think this is a misfeature at all, but I don't have a copy of +the original article by Sami Tabih in order to see why he thought it +was. Someone must have a copy of that article and I'd love to see it. + +[1] I mean the VT100 User Guide, not the Video System Reference Manual, + which is the real specification. + +Regards, +Paul Williams + + ////////////////////////////////////////////////////////////////////////////// + diff --git a/docs/vt100.codes.txt b/docs/vt100.codes.txt new file mode 100644 index 0000000..c06f61c --- /dev/null +++ b/docs/vt100.codes.txt @@ -0,0 +1,324 @@ + + /======================================================\ + | VT100 and VT52 Compatable Modes ESCape Codes Chart | + \======================================================/ + +VT52 Compatable Mode +-------------------- + +ESC A Cursor up +ESC B Cursor down +ESC C Cursor right +ESC D Cursor left +ESC F Special graphics character set +ESC G Select ASCII character set +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 Ylc Direct cursor address (See note 1) +ESC Z Identify (See note 2) +ESC = Enter alternate keypad mode +ESC > Exit alternate keypad mode +ESC 1 Graphics processor on (See note 3) +ESC 2 Graphics processor off (See note 3) +ESC < Enter ANSI mode + +Note 1: Line and column numbers for direct cursor addresses are single + character codes whose values are the desired number plus 37 octal. + Line and column numbers start at 1. + +Note 2: Response to ESC Z is ESC/Z. + +Note 3: Ignored if no graphics processor stored in the VT100 + +ANSI Compatable Mode +-------------------- + +ESC [ Pn A Cursor up Pn lines +ESC [ Pn B Cursor down Pn lines +ESC [ Pn C Cursor forward Pn characters (right) +ESC [ Pn D Cursor backward Pn characters (left) +ESC [ Pl;PcH Direct cursor addressing, where Pl is line#, Pc is column# +ESC [ Pl;Pcf Same as above +ESC D Index +ESC M Reverse index +ESC 7 Save cursor and attributes +ESC 8 Restore cursor and attributes + +ESC #3 Change this line to double-height top half +ESC #4 Change this line to double-height bottom half +ESC #5 Change this line to single-width single-height +ESC #6 Change this line to double-width single-height + +ESC [ Ps..Ps m Ps refers to selective parameter. Multiple parameters are + separated by the semicolon character (073 octal). The param- + eters are executed in order and have the following meaning: + + 0 or none All attributes off + 1 Bold on + 4 Underscore on + 5 Blink on + 7 Reverse video on + + Any other parameters are ignored. + +ESC [ K Erase from cursor to end of line +ESC [ 0K Same +ESC [ 1K Erase from beginning of line to cursor +ESC [ 2K Erase line containing cursor +ESC [ J Erase from cursor to end of screen +ESC [ 0J Same +ESC [ 2J Erase entire screen + +ESC [ Ps..Ps q Programmable LEDs: Ps are selective parameters separated by + semicolons (073 octal) and executed in order, as follows: + + 0 or None All LEDs off + 1 L1 On + 2 L2 On + 3 L3 On + 4 L4 On + + Any other parameter values are ignored. + +The following select alternative character sets. The G1 set is invoked for +use by the control code SO (Shift Out), the G0 set is invoked by the control +code SI (Shift In). + +G0 designator G1 designator Character set + +ESC ( A ESC ) A United Kingdom (UK) +ESC ( B ESC ) B United States (USASCII) +ESC ( 0 ESC ) 0 Special graphics/line drawing set +ESC ( 1 ESC ) 1 Alternative character ROM +ESC ( 2 ESC ) 2 Alternative graphic ROM + +ESC K Pt;Pb r Set top scrolling window (Pt) and bottom scrolling window + (Pb). Pb must be greater than Pb. + +ESC H Set tab at current column +ESC [ g Clear tab at current column +ESC [ 0g Same +ESC [ 3g Clear all tabs + +Modes +----- + +Mode Name Mode To set seq Mode To reset seq + +Line feed/new New line ESC [20h Line feed ESC [20l +Cursor key Application ESC [?1h Cursor ESC [?1l +ANSI/VT52 ANSI n/a VT52 ESC [?2l +Column mode 132 col ESC [?3h 80 col ESC [?3l +Scrolling Smooth ESC [?4h Jump ESC [?4l +Screen mode Reverse ESC [?5h Normal ESC [?5l +Origin mode Relative ESC [?6h Absolute ESC [?6l +Wraparound On ESC [?7h Off ESC [?7l +Autorepeat On ESC [?8h Off ESC [?8l +Interface On ESC [?9h Off ESC [?9l + +Reports +------- + +ESC [ 6n Cursor position report +ESC [ Pl;PcR (response; Pl=line#; Pc=column#) +ESC [ 5n Status report +ESC [ c (response; terminal Ok) +ESC [ 0c (response; teminal not Ok) +ESC [ c What are you? +ESC [ 0c Same +ESC [?1;Ps c response; where Ps is option present: + + 0 Base VT100, no options + 1 Preprocessor option (STP) + 2 Advanced video option (AVO) + 3 AVO and STP + 4 Graphics processor option (GO) + 5 GO and STP + 6 GO and AVO + 7 GO, STP, and AVO + +ESC c Causes power-up reset routine to be executed +ESC #8 Fill screen with "E" +ESC [ 2;Ps y Invoke Test(s), where Ps is a decimal computed by adding the + numbers of the desired tests to be executed: + + 1 Power up test + 2 Data loop back + 4 EIA modem control signal test + 8 Repeat test(s) indefinitely + + + + +Article 4810 of alt.hackers: +Newsgroups: alt.hackers +From: Dom@sound.demon.co.uk (The Dark Stranger) +Path: caen!math.ohio-state.edu!howland.reston.ans.net!pipex!uknet!demon!sound.demon.co.uk!sound.and.vision.bbs!vf10!VeXNeT!Dom +Subject: Re: vt100 escapes +Reply-To: Dom@sound.demon.co.uk +References: <2kp5c0$61c@samba.oit.unc.edu> +Distribution: world +X-Mailer: Sound & Vision BBS +44 (0)932-252-323 +Organization: Vex-Factor:10 Productions, London, England. +Approved: I like to think so +Lines: 145 +Date: Tue, 1 Mar 1994 19:13:36 +0000 +Message-ID: <#2377_vf10@sound.demon.co.uk> +Sender: usenet@demon.co.uk + +In article <2kp5c0$61c@samba.oit.unc.edu> Michael.Lea@launchpad.unc.edu (Michael David Lea) writes: +> Does anyone know where I can get a list of vt100 escape codes? I found +> one list but it doesn't seem to work. + +TERMINAL COMMANDS +~~~~~~~~~~~~~~~~ +c Reset +[ ! p Soft Reset +# 8 Fill Screen with E's +} 1 * Fill screen with * test +} 2 Video attribute test display +} 3 Character sets display test + +KEYBOARD COMMANDS +~~~~~~~~~~~~~~~~ +[ 2 h Keyboard locked +[ 2 l Keyboard unlocked +[ ? 8 h Autorepeat ON +[ ? 8 l Autorepeat OFF +[ 0 q Lights all off on keyboard +[ * q Light * on + +PROGRAMMABLE KEY COMMANDS +~~~~~~~~~~~~~~~~~~~~~~~~ +! pk Program a programmable key (local) +@ pk Program a programmable key (on-line) +% pk Transmit programmable key contents + +SCREEN FORMAT +~~~~~~~~~~~~ +[ ? 3 h 132 Characters on +[ ? 3 l 80 Characters on +[ ? 4 h Smooth Scroll on +[ ? 4 l Jump Scroll on +[ *t ; *b r Scrolling region selected, line *t to *b +[ ? 5 h Inverse video on +[ ? 5 l Normal video off +[ ? 7 h Wraparound ON +[ ? 7 l Wraparound OFF +[ ? 75 h Screen display ON +[ ? 75 l Screen display OFF + +CHARACTER SETS AND LABELS +~~~~~~~~~~~~~~~~~~~~~~~~ +( A British +( B North American ASCII set +( C Finnish +( E Danish or Norwegian +( H Swedish +( K German +( Q French Canadian +( R Flemish or French/Belgian +( Y Italian +( Z Spanish +( 0 Line Drawing +( 1 Alternative Character +( 2 Alternative Line drawing +( 4 Dutch +( 5 Finnish +( 6 Danish or Norwegian +( 7 Swedish +( = Swiss (French or German) + +[Note all ( may be replaced with )] + +CHARACTER SIZE +~~~~~~~~~~~~~ +# 1 Double ht, single width top half chars +# 2 Double ht, single width lower half chars +# 3 Double ht, double width top half chars +# 4 Double ht, double width lower half chars +# 5 Single ht, single width chars +# 6 Single ht, double width chars + +ATTRIBUTES AND FIELDS +~~~~~~~~~~~~~~~~~~~~ +[ 0 m Clear all character attributes +[ 1 m Alternate Intensity ON +[ 4 m Underline ON +[ 5 m Blink ON +[ 7 m Inverse video ON +[ 22 m Alternate Intensity OFF +[ 24 m Underline OFF +[ 25 m Blink OFF +[ 27 m Inverse Video OFF +[ 0 } Protected fields OFF +[ 1 } Protected = Alternate Intensity +[ 4 } Protected = Underline +[ 5 } Protected = Blinking +[ 7 } Protected = Inverse +[ 254 } Protected = All attributes OFF + +CURSOR COMMANDS +~~~~~~~~~~~~~~ +[ ? 25 l Cursor OFF +[ ? 25 h Cursor ON +[ ? 50 l Cursor OFF +[ ? 50 h Cursor ON +7 Save cursor position and character attributes +8 Restore cursor position and character attributes +D Line feed +E Carriage return and line feed +M Reverse Line feed +[ A Cursor up one line +[ B Cursor down one line +[ C Cursor right one column +[ D Cursor left one column +[ * A Cursor up * lines +[ * B Cursor down * lines +[ * C Cursor right * columns +[ * D Cursor left * columns +[ H Cursor home +[ *l ; *c H Move cursor to line *l, column *c +[ *l ; *c f Move curosr to line *l, column *c +Y nl nc Direct cursor addressing (line/column number) +H Tab set at present cursor position +[ 0 g Clear tab at present cursor position +[ 3 g Clear all tabs + +EDIT COMMANDS +~~~~~~~~~~~~ +[ 4 h Insert mode selected +[ 4 l Replacement mode selected +[ ? 14 h Immediate operation of ENTER key +[ ? 14 l Deferred operation of ENTER key +[ ? 16 h Edit selection immediate +[ ? 16 l Edit selection deffered +[ P Delete character from cursor position +[ * P Delete * chars from curosr right +[ M Delete 1 char from cursor position +[ * M Delete * lines from cursor line down +[ J Erase screen from cursor to end +[ 1 J Erase beginning of screen to cursor +[ 2 J Erase entire screen but do not move cursor +[ K Erase line from cursor to end +[ 1 K Erase from beginning of line to cursor +[ 2 K Erase entire line but do not move cursor +[ L Insert 1 line from cursor position +[ * L Insert * lines from cursor position + +ObBusinessHack: Customer wants a CD-ROM multimedia encyclopaedia, so I buy a +Soundblaster Pro for #75 which comes bundled with a multimedia encyclopaedia +CD-ROM. After carefully removing the "not to be sold separately" notice from +the CD, I sell it on for #75. Result: One free Soundblaster Pro and a happy +(but gullible) customer. (Allegedly ;) + +Virtually... :)om + ............................................................................. + : INTERNET: Dom@sound.demon.co.uk :: Tel: 0831-88-42-69 Int:+44-831-884-269 : + : FIDONET: VF10 at node 2:254/14 :: PGP 2.3 public key available via Email : + ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + + +