data stream
Purpose
Defines the data stream that an HFT virtual terminal uses
in KSR mode.
Description
The IBM RT PC is capable of addressing 1024 distinct dis-
playable characters. To designate these characters using
8-bit bytes, a code page convention is used. Each code
page is an ordered set of up to 256 characters, which are
called code points. The first 32 code points of each
code page are reserved for control codes and are the same
for all code pages. The control codes do not have
graphic representations, so each code page can have a
maximum of 224 distinct graphic characters.
The remaining characters are divided into three code
pages called P0, P1, and P2. Two additional code pages
called USER1 and USER2 are provided for user-defined
symbols.
Code points in the range 32 to 127 (0x20 to 0x7F) of code
page P0 represent the standard 7-bit US ASCII graphic
symbols. P0 code points 128 to 255 (0x80 to 0xFF) and
code points in pages P1 and P2 are collectively called
extended characters.
The following code page maps show the predefined graphic
display symbols and their code point values within each
of the three code pages.
ol811306
Figure 7-1. Code Page P0
ol811307
Figure 7-2. Code Page P1
ol811305
Figure 7-3. Code Page P2
CODE PAGE SWITCHING
Characters from code page P0 are represented in a character data stream by a
single 8-bit byte corresponding to their code points.
Characters from other code pages are selected with single-shift controls. A
single-shift control is one of the single-byte control codes SS1 (0x1F), SS2
(0x1E), SS3 (0x1D), and SS4 (0x1C). Each of these codes indicates that the
following byte specifies a character from a code page other than P0. These
control codes are called "single shifts" because they shift to another code
page for a single character; that is, they are nonlocking shifts.
The byte that follows a single shift corresponds to the code point for the
desired character, but with the most significant bit set. In other words,
SS1, SS2, SS3, and SS4 must be followed by a byte in the range 0x80 to 0xFF.
A single shift followed by 0x00 to 0x7F is not a valid code sequence. The
single shift that is used specifies the upper or lower half of a code page as
follows:
SS1 Lower half of code page P1 (P1 0x20 to 0x7F)
SS2 Upper half of code page P1 (P1 0x80 to 0xFF)
SS3 Lower half of code page P2 (P2 0x20 to 0x7F)
SS2 Upper half of code page P2 (P2 0x80 to 0xFF).
Note that in this scheme, code points in the range 0x00 to 0x7F (7-bit US
ASCII) are unique in the data stream, and that they are never validly pre-
ceded by a single-shift control. This encoding scheme minimizes the changes
necessary to existing software that is oriented toward 7-bit ASCII.
If a single-shift control is followed by a byte with the most significant bit
set to zero (that is, a byte in the range 0x00 to 0x7F), then the single-
shift prefix is ignored, and the byte is processed as an unprefixed char-
acter.
On both input and output, graphic character code points that are not prefixed
with a single-shift control select a display symbol from the active graphic
display set (G0 or G1) to be echoed or displayed on the screen. By default,
both G0 and G1 are set to P0, and G0 is the active display set. The active
graphic display set can be set to G0 or G1 with the SI and SO single-byte
controls, respectively (see "Single-Byte Controls"). The mapping used for G0
and G1 can be set with the SG0 and SG1 control sequences (see "Multi-Byte
Controls").
On both input and output, valid graphic character code points that are pre-
fixed with SS1, SS2, SS3, or SS4 bypass the active graphic display set and
echo or display characters directly from code page P1 or P2.
NONSPACING CHARACTERS
For convenience when typing diacritical (accented) characters, a nonspacing
or "dead" character facility is provided. A nonspacing character sequence is
a two-key sequence consisting of one of the 13 diacritics followed by an
alphabetic character or a space. The virtual terminal subsystem converts
this two-key sequence into a single code point that may have a single-shift
prefix. The resulting character is the alphabetic character with the speci-
fied diacritic mark. A diacritic followed by a space translates to the
diacritic character itself.
The 13 valid diacritics are:
] Acute Accent or Apostrophe 0xEF or 0x27
` Grave Accent 0x60
^ Circumflex Accent 0x5E
— Umlaut Accent 0xF9
~ Tilde Accent 0x7E
Caron Accent 0x1FF3
Breve Accent 0x1E9D
= Double Acute Accent 0x1E9E
E Overcircle Accent 0x1FFD
E Overdot Accent 0x1E85
&maMacron Accent 0x1EA3
Cedilla Accent 0xF7
Ogonek Accent 0x1E87
If a nonspacing character and the following character do not combine to form
a diacritical character in the set of predefined graphic symbols, then the
diacritic is treated as a separate character code. For example, "~Q" is
treated as two characters, "~" and "Q".
Note that nonspacing characters apply only to keyboard input and are not a
feature of the data stream used by applications. Also, a diacritic must be
explicitly designated as being nonspacing in the keyboard mapping for this
facility to operate. None of the keys on the standard U.S. keyboard mapping
are defined to be nonspacing characters. However, nonspacing characters can
be defined. See "Set Keyboard Map (HFSKBD)" for details.
CONTROLS
Two types of controls are valid in a character stream data:
o Single-byte controls (also called control characters and control codes),
which have character values from 0 to 31 (0x00 to 0x1F)
o Multi-byte controls, which are also called escape sequences and control
sequences.
Single-Byte Controls
The single-byte controls are common to all code pages. The following list
shows the single-byte controls and their interpretation in KSR coded data. A
line introducing each control gives its mnemonic, its code value, and its
function.
o NUL, 0x00, (Null) has no terminal function.
o SOH, 0x01, (Start of Header) has no terminal function.
o STX, 0x02, (Start of Text) has no terminal function.
o ETX, 0x03, (End of Text) has no terminal function.
o EOT, 0x04, (End of Transmission) has no terminal function.
o ENQ, 0x05, (Enquiry) has no terminal function.
o ACK, 0x06, (Acknowledge) has no terminal function.
o BEL, 0x07, (Bell) causes an audible alarm to sound.
o BS, 0x08, (Backspace) moves the cursor position to the left one column,
unless the cursor is at the left boundary of the presentation space. In
that case, the cursor position does not change.
o HT, 0x09, (Horizontal Tab) moves the cursor position forward to the next
tab stop. If the cursor is already in the last column of a line, then
the cursor position does not change. Note that the CHT (cursor hori-
zontal tab) multi-byte control performs a similar operation, but also
performs line wrapping.
o LF, 0x0A, (Line Feed) if the LNM mode is reset, the line feed moves the
cursor position down one line. If the LNM mode is set (default), the
line feed is treated as a NEL and moves the cursor position to the first
position of the next line. In either case, if the cursor is already on
the last line of the PS, the PS lines scroll up one line. The top line
of the PS disappears and a blank line is inserted as the new bottom line.
o VT, 0x0B, (Vertical Tab) moves the cursor position down to the next line
that is defined as a vertical tab stop. Tabs stops are always set at the
first and last lines of the PS. If the cursor was already on the last
line of the PS and HFWRAP mode is not set, the cursor stays on the last
line in the PS. If HFWRAP mode is set, the cursor moves to the top line
in the PS. The column position does not change in any case.
o FF, 0x0C, (Form Feed) treated as a line end; see NEL.
o CR, 0x0D, (Carriage Return) if the CNM mode is reset (default), the car-
riage return moves the cursor position to the first character of the line
indicated by the cursor. If the CNM mode is set, the carriage return is
treated as an NEL and causes the cursor position to move to the first
position of the next line. In this case, if the cursor is already on the
last line of the PS, the PS lines scroll up one line. The top line of
the PS disappears and a blank line is inserted as the new bottom line.
o SO, 0x0E, (Shift Out) maps the subsequently received graphic codes to
display symbols according to the active G1 character set. See "display
symbols" for a list of the display symbols.
o SI, 0x0F, (Shift In) maps the subsequently received graphic codes to
display symbols according to the active G0 character set. See "display
symbols" for a list of the display symbols.
o DLE, 0x10, (Data Link Escape) has no terminal function.
o DC1, 0x11, (Device Control 1) has no terminal function when output.
o DC2, 0x12, (Device Control 2) has no terminal function.
o DC3, 0x13, (Device Control 3) has no terminal function when output.
o DC4, 0x14, (Device Control 4) has no terminal function.
o NAK, 0x15, (Negative Acknowledgment) has no terminal function.
o SYN, 0x16, (Synchronous) has no terminal function.
o ETB, 0x17, (End of Block) has no terminal function.
o CAN, 0x18, (Cancel) has no terminal function.
o EM, 0x19, (End of Medium) has no terminal function.
o SUB, 0x1A, (Substitute) has no terminal function.
o ESC, 0x1B, (Escape) defines the beginning of a multi-byte control
sequence as defined in "Multi-Byte Controls."
o SS4, 0x1C, (Single Shift 4) causes the following byte to be interpreted
as belonging to the upper half of code page P2 (see "Code Page
Switching").
o SS3, 0x1D, (Single Shift 3) causes the following byte to be interpreted
as belonging to the lower half of code page P2.
o SS2, 0x1E, (Single Shift 2) causes the following byte to be interpreted
as belonging to the upper half of code page P1.
o SS1, 0x1F, (Single Shift 1) causes the following byte to be interpreted
as belonging to the lower half of code page P1.
o DEL, 0x7F, (Delete) has no terminal function.
Multi-Byte Controls
This section defines the code points and effects on the virtual terminal for
multi-byte control sequences that are recognized in KSR mode. All of them
begin with the ESC code (0x1B) followed by a "[" (0x5B) and include all sub-
sequent bytes up to and including the first code in the range 0x40--0x7F.
Any multi-byte control sequences not defined below are ignored. Invalid
sequences return an error Device Status Report to the program. Multi-byte
control sequences of more than 16 codes are considered invalid on receipt of
the 17th code. The next code is not considered a part of that sequence.
Also, numeric parameters in control sequences contain no more than 3 digits.
The numeric value of the parameter may be incorrect if more than three digits
are used, and the numeric value never exceeds 255.
Controls effect a virtual terminal's presentation space (PS) and its related
cursor (pointer into the PS). The presentation space is a logical array of
display symbols, N columns by M lines.
The following list gives the valid multi-byte control code sequences. A line
introducing each control gives its mnemonic, its code sequence, and its func-
tion. The code sequence is shown in terms of ASCII characters. For example,
the sequence ESC A represents two codes with a value of 0x1B41.
o CBT ESC [ PN Z Cursor Back Tab
Moves the cursor back the number of horizontal tab stops specified by PN.
Tab stops are always set at the first and last columns of each line. If
the cursor is already in the first column of a line and HFWRAP mode is
set, the cursor moves to the last column. If AUTONL is also set, the
cursor moves to the last column of the previous line. In this case, if
the cursor is already on the first row of the PS, it moves to the last
row.
o CHA ESC [ PN G Cursor Horizontal Absolute
Moves the cursor to the column specified by PN, unless the column exceeds
the PS width. If the column exceeds the PS width, the cursor moves to
the PS column farthest to the right.
o CHT ESC [ PN I Cursor Horizontal Tab
Moves the cursor position forward to the PN(th) following tab stop. If
the cursor is already in the last column of a line and HFWRAP mode is
set, then the cursor returns to the first column of the line. If AUTONL
mode is also set, then the cursor moves to the first column of the next
line. In this case, if the cursor is already on the last line of the PS,
then the cursor moves to the first column of the first line. Note that
the HT (horizontal tab) single-byte control does not cause wrapping to
occur.
o CTC ESC [ PS W Cursor Tab Stop Control
0 Set a horizontal tab at cursor.
1 Set a vertical tab at cursor.
2 Clear a horizontal tab at cursor.
3 Clear a vertical tab at cursor.
4 Clear all horizontal tabs on line.
5 Clear all horizontal tabs.
6 Clear all vertical tabs.
Sets or clears one or more tabulation stops according to the parameter
specified. Tab stops on the first or last column cannot be cleared.
When horizontal tab stops are set or cleared, the number of lines
affected is all (if Tabulation Stop Mode is set) or one (if Tabulation
Stop Mode is reset). This control does not change the position of char-
acters already in the presentation space.
o CNL ESC [ PN E Cursor Next Line
Moves the cursor down the number of lines specified by PN, and over to
the first position of that line. If the cursor was already on the bottom
PS line and HFWRAP mode is not set, it is positioned at the beginning of
that line. If HFWRAP mode is set, the cursor wraps from the bottom line
to the top PS line.
o CPL ESC [ PN F Cursor Preceding Line
Moves the cursor back the number of lines specified by PN, and over to
the first position of that line. If the cursor was already on the top PS
line and HFWRAP mode is not set, the cursor is positioned at the begin-
ning of that line. If HFWRAP mode is set, the cursor wraps from the top
line to the bottom line of the PS.
o CPR ESC [ PN ; PN R Cursor Position Report
Reports the current cursor position. The first numeric parameter is the
line number, and the second is the column. Line and column values are
sent to the application as information. However, if the information is
received by the virtual terminal, it is treated as a CUP control.
o CUB ESC [ PN D Cursor Backward
Moves the cursor backward on the line the specified number of columns.
If this cursor movement exceeds the left PS boundary and HFWRAP mode is
not set, the cursor stops at the leftmost PS position. If HFWRAP mode is
set, the cursor wraps from the leftmost column to the rightmost column of
the preceding PS line. In HFWRAP mode the cursor also wraps from the
home to the rightmost bottom position of the PS.
o CUD ESC [ PN B Cursor Down
Moves the cursor down the number of lines specified by PN. If this
cursor movement exceeds the bottom PS boundary and HFWRAP mode is not
set, the cursor stops on the last PS line. If HFWRAP mode is set, the
cursor wraps from the bottom line to the top line of the PS.
o CUF ESC [ PN C Cursor Forward
Moves the cursor forward on the line the specified number of columns. If
this cursor movement exceeds the right PS boundary and HFWRAP mode is not
set, the cursor stops at the rightmost PS position. If HFWRAP mode is
set, the cursor wraps from the rightmost column to the leftmost column of
the following line in the PS. In HFWRAP mode, the cursor also wraps from
rightmost bottom position to the home position of the PS.
o CUP ESC [ PN ; PN H Cursor Position
Moves the cursor to the line specified by the first parameter, and to the
column specified by the second parameter. If this movement crosses a PS
boundary, the cursor stops at the PS boundary.
o CUU ESC [ PN A Cursor up
Moves the cursor up the specified number of lines. If this cursor move-
ment exceeds the top PS boundary and HFWRAP mode is not set, the cursor
stops on the first PS line. If HFWRAP mode is set, the cursor wraps from
the top line to the bottom line in the PS.
o CVT ESC [ PN Y Cursor Vertical Tab
Moves the cursor down the number of vertical tab stops specified. Tab
stops are assumed at the top and bottom PS lines. If there are not
enough vertical tab stops in the PS and HFWRAP mode is not set, the
cursor stops on the last line in the PS. If HFWRAP mode is set, the
cursor wraps from the bottom line to the top line of the PS.
o DCH ESC [ PN P Delete Character
Deletes the cursor character and the following PN-1 characters on the
line indicated by the cursor. The characters following the deleted char-
acters on the line overlay the deleted character positions. The line is
cleared from the end of the line to the edge of the presentation space.
If the number of characters to be deleted exceeds the number of columns
from the cursor to the PS right boundary, then all the characters from
the cursor to the PS boundary are replaced with empty spaces and a DSR
control sequence identifying an error is returned to the application.
o DL ESC [ PN M Delete Line
Deletes the line and the PN-1 following lines in the PS. The lines fol-
lowing the deleted lines are scrolled up PN lines and PN blanks lines are
placed at the bottom of the PS. If there are less than PN lines from the
line indicated by the cursor to the bottom of the PS, the line indicated
by the cursor and all the following PS lines are replaced with empty
lines.
o DSR ESC [ PN n Device Status Report Request
6 Request Cursor Position Report
13 Error Report
A request cursor position report (CPR) sends a cursor position report
from the virtual terminal to the application. An error report is sent
from the virtual terminal to the application when the virtual terminal
receives an invalid control sequence. Error reports are private reports
which conform to the ANSI standard for private parameters.
o DMI ESC ' (left quote) Disable Manual Input
This control, when received in an output data stream, causes keyboard
input to this terminal to be ignored. This control is ignored when
received from the keyboard.
o EMI ESC b Enable Manual Input
This control, when received in an output data stream, restarts keyboard
input recognition and buffering if previously disabled with a DMI multi-
byte control. This control is ignored when received from the keyboard.
o EA ESC [ 0 0 Erase to End of Area
ESC [ 1 0 Erase from Start of Area
ESC [ 2 0 Erase All of Area.
This control is treated like an EL control sequence.
o ED ESC [ 0 J Erase to End of Display
ESC [ 1 J Erase from Start of Display
ESC [ 2 J Erase All of Display.
Erases certain characters within the PS. Erased characters are replaced
with empty spaces. Erase to end of display erases the character indi-
cated by the cursor and all following characters in the PS. Erase from
start of display erases the first character of first line and the fol-
lowing characters up to and including the character indicated by the
cursor. Erase all of display erases all the characters on the PS.
o EF ESC [ 0 N Erase to End of Field
ESC [ 1 N Erase from Start of Field
ESC [ 2 N Erase All of Field.
Erases certain characters between horizontal tab stops. Erased charac-
ters are replaced with empty spaces. Erase to end of field erases the
character indicated by the cursor and all following characters before the
next tab stop. Erase from start of field erases the character at the tab
stop preceding the cursor an the following characters up to and including
the character indicated by the cursor. Erase all of field erases the
character at the tab stop preceding the cursor, and the following charac-
ters up to and including the character at the tab stop following the
cursor. Tab stops are assumed at the first and last columns of the PS
when executing this control.
o EL ESC [ 0 K Erase to End of Line
ESC [ 1 K Erase from Start of Line
ESC [ 2 K Erase All of Line.
Erases certain characters within a line. Erased characters are replaced
with empty spaces. Erase to end of line erases the character indicated
by the cursor and all following characters on the line. Erase from start
of line erases the first character of first line and the following char-
acters up to and including the character indicated by the cursor. Erase
all of line erases all the characters on the line.
o ECH ESC [ PN X Erase Character
Erases the character indicated by the cursor and the following PN-1 char-
acters on that line. Erased characters are replaced with empty spaces.
If there are less than PN characters from the cursor to the PS right
boundary, then the character indicated by the cursor and all the fol-
lowing characters on the line are replaced empty spaces.
o HTS ESC H Horizontal Tab Stop
Sets a horizontal tab stop at the current horizontal position. If TSM is
set, then the tab stop applies only to this line. If TSM is reset, then
the tab stop applies to all PS lines. This control does not change the
positioning of characters already in the presentation space.
o HVP ESC [ PN ; PN f Horizontal and Vertical Position
Moves the cursor to the line specified by the first parameter, and to the
column specified by the second parameter. If this movement would cross a
PS boundary, the cursor stops at the current PS boundary.
o ICH ESC [ PN @ Insert Character
Inserts PN empty spaces before the character indicated by the cursor.
The string of characters starting with the character indicated by the
cursor and ending with last character of the line are shifted PN columns
to the right. Characters shifted past the PS right boundary are lost.
The cursor does not move.
o IL ESC [ PN L Insert Line
Inserts PN empty lines before the line indicated by the cursor. The line
indicated by the cursor is scrolled down. The cursor position on the
screen is not affected.
o IND ESC D Index
Moves cursor down one line. If the cursor was already on the bottom line
of the PS, then the top line is lost, the other lines move up one line,
and a blank line becomes the new bottom line.
o NEL ESC E Next Line
Moves the cursor to the first position of the following line. If the
cursor was already on the bottom line of the PS, then the top line is
lost, the other lines move up one, and a blank line becomes the new
bottom line.
o KSI ESC [ PS p Keyboard Status Information
The virtual terminal generates this control whenever HFHOSTS and
HFXLATKBD are set and the status of the keyboard changes. Each selective
parameter is the character-coded decimal value of a keyboard status byte.
For example, if the keyboard has two status bytes, the control sequence
is ESC [ xxx;yyy p, where xxx is the value of the high-order byte and yyy
is the value of the low-order byte. This is a private control that con-
forms to the ANSI standards for private control sequences. The virtual
terminal display handler ignores this sequence whether it is received
from the application or echoed. The values of the status bytes are
described in "Untranslated Key Control."
o PFK ESC [ PN q PF Key Report
The control sequence is sent by the virtual terminal to the application
when a program function key (PFK) code is received from the keyboard.
The parameter PN is a PF key number from 1 to 255. This is a private
control that conforms to the ANSI standards for private control
sequences. This sequence is ignored by the virtual terminal display
handler whether received from the application or echoed.
o RCP ESC [ u Restore Cursor Position
Moves the cursor to the position saved by the last SCP control. If no
SCP has been received, then the cursor position is set to the first char-
acter of the first line. This is a private control that conforms to the
ANSI standards for private controls. This control has no terminal func-
tion when received from the keyboard.
o RI ESC L Reverse Index
Moves the cursor up one line, unless the cursor is already on the PS top
line. In that case, if HFWRAP mode is not set, then the cursor does not
move. If HFWRAP mode is set, the cursor moves to the bottom line of the
PS. The column position does not change.
o RIS ESC c Reset to Initial State
Resets the virtual terminal to the state of a newly-opened virtual ter-
minal: erases all PS data, places the cursor at the home position, resets
graphic rendition to normal, resets subscripting and superscripting, and
sets tab stops, modes, keyboard map, character maps and echo maps to
their default values.
Note: The RIS multi-byte control resets the VRM virtual terminal
defaults, which are not necessarily the same as the defaults of an HFT
device.
o RM ESC [ PS l Reset Mode
20 LNM - Line Feed - New Line Mode
4 IRM - Insert Mode
12 SRM - Send Receive Mode (set ECHO off)
18 TSM - Tabulation Stop Mode
?21 CNM - Carriage Return - New Line Mode
?7 AUTONL - Wrap character to following line when end of current line
reached
Resets the modes specified in the parameter string. Multiple parameters
must be separated by semicolons. The modes that can be reset are listed
above with the appropriate parameter code. All other mode parameters are
ignored.
TSM mode determines whether horizontal tabs apply identically to all line
(TSM reset) or uniquely to each line on which they are set (TSM set).
o SCP ESC [ s Save Cursor Position
Saves the current cursor position. Any previously saved cursor position
is lost. The cursor can be restored to this position with an RCP
control. This is a private control that conforms to the ANSI standards
for private controls. This control has no terminal function when
received from the keyboard.
o SD ESC [ PN T Scroll Down
Moves all the PS lines down PN lines. The bottom PN lines are lost,
and PN empty lines are put at the top of the presentation space. Phys-
ical cursor position does not change due to the scroll.
o SL ESC [ PN SP @ Scroll Left
Moves all the PS characters PN column positions to the left. The charac-
ters in the PN leftmost PS columns are lost, and empty spaces are put in
the rightmost PN columns of all lines. Physical cursor position does not
change due to the scroll.
o SR ESC [ PN SP A Scroll Right
Moves all the PS characters PN column positions to the right. The char-
acters in the PN rightmost PS columns are lost, and empty spaces are put
in the leftmost PN columns of all lines. Physical cursor position does
not change due to the scroll.
o SU ESC [ PN S Scroll Up
Moves all the PS lines up PN lines. The top PN lines are lost, and PN
empty lines are put at the bottom of the presentation space. The phys-
ical cursor position does not change due to the scroll.
o SGR ESC [ PS m Set Graphic Rendition
0 Normal (none of attributes 1-9)
1 Bold or Bright
4 Underscore
5 Slow Blink
7 Negative (reverse image)
8 Cancelled On (invisible: set to background color)
10 Primary Font
11 First Alternate Font
12 Second Alternate Font
13 Third Alternate Font
14 Fourth Alternate Font
15 Fifth Alternate Font
16 Sixth Alternate Font
17 Seventh Alternate Font
30 Color palette entry 0 foreground
31 Color palette entry 1 foreground
32 Color palette entry 2 foreground
33 Color palette entry 3 foreground
34 Color palette entry 4 foreground
35 Color palette entry 5 foreground
36 Color palette entry 6 foreground
37 Color palette entry 7 foreground
40 Color palette entry 0 background
41 Color palette entry 1 background
42 Color palette entry 2 background
43 Color palette entry 3 background
44 Color palette entry 4 background
45 Color palette entry 5 background
46 Color palette entry 6 background
47 Color palette entry 7 background
90 Color palette entry 8 foreground
91 Color palette entry 9 foreground
92 Color palette entry 10 foreground
93 Color palette entry 11 foreground
94 Color palette entry 12 foreground
95 Color palette entry 13 foreground
96 Color palette entry 14 foreground
97 Color palette entry 15 foreground
100 Color palette entry 8 background
101 Color palette entry 9 background
102 Color palette entry 10 background
103 Color palette entry 11 background
104 Color palette entry 12 background
105 Color palette entry 13 background
106 Color palette entry 14 background
107 Color palette entry 15 background.
Causes the next characters received in the data stream or from the key-
board to have the display attributes specified by the parameter string.
Any parameter not listed above is ignored.
The attributes corresponding to parameters 1 through 9 are cumulative.
For example, specifying underscore and then specifying blink causes fol-
lowing characters to be underscored and blink. To reset one of these
attributes, specify normal and then reinstate the desired parameters.
Multiple parameters are processed in the order listed.
Whether the characters really have the requested attributes on the
display depends on the capabilities of the physical display device used
by the virtual terminal.
Note that switching between loaded fonts with the SGR sequence causes no
data loss, but loading new fonts does cause data loss. (See "Untrans-
lated Key Control" for more information.)
Characters that cannot be displayed do not exist in the system.
o SG0A ESC ( f Set G0 Character Set
SG0B ESC , f Set G0 Character Set (Alternate form)
: Unique One (User-defined)
; Unique Two (User-defined)
< P0 (Display Symbols 32-255)
= P1 (Display Symbols 256-479)
> P2 (Display Symbols 480-703)
? User1 (Display Symbols 704-927)
@ User2 (Display Symbols 928-1023)
Designates the set of characters to use as the G0 set when the G0 set is
invoked by SI. The default G0 set is the 224-character code page P0.
Unique One and Unique Two may have unique definitions for each virtual
terminal. When a virtual terminal is opened, these two sets are equiv-
alent to <. See "Character Set Definition" about defining Unique One and
Unique Two.
o SG1A ESC ) f Set G1 Character Set
SG1B ESC - f Set G1 Character Set (Alternate)
: Unique One (User-defined)
; Unique Two (User-defined)
< P0 (Display Symbols 32-255)
= P1 (Display Symbols 256-479)
> P2 (Display Symbols 480-703)
? User1 (Display Symbols 704-927)
@ User2 (Display Symbols 928-1023)
Designates the set of characters to use as the G1 set when the G1 set is
invoked by SO. The default G1 set is the 224-character code page P0.
Unique One and Unique Two may have unique definitions for each virtual
terminal. When a virtual terminal is opened, these two sets are equiv-
alent to <. See "Character Set Definition" about defining Unique One and
Unique Two.
o SM ESC [ PS h Set Mode
2 0 LNM - Line Feed - New Line Mode (default = 1)
4 IRM - Insert Replace Mode (default = 0)
1 2 SRM - Send Receive Mode (set echo off) (default = 0)
1 8 TSM - Tabulation Stop Mode (default = 0)
? 2 1 CNM - Carriage Return - New Line Mode (default = 0)
? 7 AUTONL - Wrap to next line when end of line reached (default = 1)
Sets the modes specified in the parameter string. Multiple parameters
must be separated by semicolons. The modes that can be set are listed
above with the appropriate parameter code. All other mode parameters are
ignored.
SRM mode affects translated keyboard input handling. If SRM mode is set,
translated keyboard input is never echoed by the virtual terminal, but is
immediately returned to the application.
TSM mode determines whether horizontal tabs apply to all lines iden-
tically (TSM reset) or if horizontal tabs apply uniquely to each line on
which they are set (TSM set).
o TBC ESC [ PS g Tabulation Clear
0 Horizontal tab at cursor column
1 Vertical tab at line indicated by the cursor
2 Horizontal tabs on line
3 Horizontal tabs in presentation space
4 Vertical tabs in presentation space.
Clears tabulation stops specified by the parameters. Horizontal tab
changes affect only the line indicated by the cursor if TSM is set, and
horizontal tab changes affect all lines if TSM is reset. Any parameters
not listed above are ignored. This control does not change the posi-
tioning of characters already in the presentation space.
o VTA ESC [ r Virtual Terminal Addressability
This private control sequence precedes a binary header and associated
data that provide status information on the IBM 5081 Display Adapter.
o VTD ESC [ x Virtual Terminal Data
This private control sequence precedes a binary header and associated
data. The block of data can be in formats other than character-coded
data, such as binary format. See "Output" for details about how this
control sequence is used.
o VTL ESC [ y Virtual Terminal Device Input
This private control sequence precedes binary format input data from a
mouse, tablet, LPFK, or valuator device. See "Input Device Report" for
details about how this control sequence is used.
o VTR ESC [ w Virtual Terminal Raw Keyboard Input
This private control sequence precedes "raw" (untranslated) keyboard
input data, which is in a binary format. See "Untranslated Key Control"
for details about how this control sequence is used.
o VTS ESC I Vertical Tab Stop
Sets a vertical tab stop at the line indicated by the cursor. This
control does not change the positioning of characters already in the
presentation space.
Files
/usr/pub/ibmcharset Contains RT PC character set.
Related Information
In this book: "display symbols" and "hft."
Keyboard Description and Character Reference.
"Overview of International Character Support" in Managing the AIX Operating
System.