This document attempts to describe the control sequences implemented by Kermit 95s ANSI terminal emulator. It is roughly modeled on xterms excellent ctlseqs document to make comparing implemented control sequences easier.
Previously there was no documentation on the control sequences supported by Kermit 95. This document was produced by reading through several thousand lines of ANSI C recording what appeared to be implemented and what, if any, terminal type restrictions applied to various behaviours. There are sure to be errors and the styling is a bit inconsistent at the moment. If you notice any errors or omissions please log a bug to have it corrected!
Kermit 95 emulates many different ANSI terminal, not just those from DEC like the VT100. Where one or more terminals may have different behaviour for a particular control sequence, this is marked with a badge such as these: VT320 WY370
Sometimes Kermit 95 has code to recognise a particular control sequence but otherwise doesn't actually act on it. This may be because that control sequence doesn't make sense in a software emulation of the real terminal, or because that functionality just hasn't been implemented yet. These not-implemented behaviours are still documented here in this style to make it clear that for particular terminal types Kermit 95 may simply do nothing when it encounters a control sequence rather doing something else.
Bell
Backspace
Moves the cursor left 1 column
QNX Moves the cursor one column left. If the cursor is already at the start of the line, moves the cursor to the end of the previous line
SNI-97801 HP Moves the cursor left 1 column if it is currently to the right of the left margin
Carriage Return
Sends the cursor to the start of the line
SNI-97801 HP Sends the cursor to the left margin
If answerback is enabled (off by default, enabled with set term answerback on). By default the answer back is "K-95" followed by the C-Kermit numeric version number and the current terminal emulation profile. It can be extended with set term answerback message which will append an underscore followed by the supplied message to the answerback string.
VIP7809 Responds with the escape sequence (ETX control char in bold):
7813 P GC AETX
Treated the same as LF
SUN SCOANSI AT386 ANSI Clear screen and home cursor
SNI-97801 HP Move cursor one to the right if to the left of the right margin
SNI-97801 Treated the same as SP
All terminals except SCOANSI, AT386 and ANSI: Switch to Standard Character set (invoke G0 character set as GL) A comment notes that SCOANSI, AT380 and ANSI are excluded for "ANSI music protection".
LINUX Invoke G2 character set as GR.
All terminals except SCOANSI, AT386 and ANSI: Switch to Alternate Character set (invoke G1 character set as GL) A comment notes that SCOANSI, AT380 and ANSI are excluded for "ANSI music protection".
LINUX Invoke G3 character set as GR.
Space
AVATAR Ctrl-V - AVATAR AVTCODE
Line Feed or New Line (NL)
If autoscroll is on (set term autoscroll on), the cursor is at the bottom margin, and the cursor is not in a protected region the terminal scrolls up one line. Otherwise, the cursor remains at the end of the line
SNI-97801 If in page mode and the cursor is at the bottom margin, the cursor is sent to the start of the line
Horizontal Tab - sends the cursor to the next tabstop
Vertical Tab. This is treated the same as LF
AVATAR Repeat character
Switches to sending 7-bit control characters
Switches to sending 8 bit control characters
WY370 WYID: Responds with "370\r"
Set ANSI conformance level 1/2/3. As ISO-4873 does not specify that lower levels cannot support the capabilities of higher levels, K95 treats them all the same.
DECKBD: Pn[1] specifies the keyboard layout, Pn[2] specifies the national keyboard language.
There is code present to implement this in K95, but it is currently disabled for unknown reasons.
J19 Not Implemented: Transmit page (lines 1-24) to host
DECDHL: DEC double-height line, top half
DECDHL: DEC double-height line, bottom half
DECSWL: DEC Single Width line
DECDWL: DEC Double Width line
Not Implemented: Hardcopy (VT100)
DECALN: DEC Screen Alignment test. Fills the screen with "E"
WYDHL: Wyse double-height line, top half, single-wide characters
WYDHL: Wyse double-height line, bottom half, single-wide characters
Behaviour depends on the selected terminal type.
Does nothing. Should be: zTI - Toggle IRM
DECBI - Back Index. Moves the cursor left. If the cursor is already at the left margin, then all data on the screen is moved one column to the right.
H19 Not Implemented: Exit Hold Screen Mode
H19 Enter insert character mode
H19 Enter keypad shift mode
Saves the cursor position and attributes
Saves the cursor position only, does not save attributes.
Restores the cursor position and attributes
Restores the cursor position only, does not restore attributes.
AAA zCGR - Change Graphic Rendition to Qualified Area. Default area goes from Current Cursor position to End of Screen.
DECFI - Forward Index. Moves the cursor right one. If the cursor is already at the right margin, it scrolls the screen one column to the left.
DECKPAM: Set keypad to application mode
DECKPNM: Set keypad to numeric mode
Switches from VT52 mode to VT102 mode
H19Switches to VT100 mode, not VT102
AAA Not implemented: zGUA - Guard Unprotected Areas
VIP7809 Clears the screen, cursor does not move
Enables the key lock
VT52 Cursor Up
AAA Not implemented: Interrupt
VT52 Cursor Down
H19 Erase to beginning of display
Disables the key lock
VT52 Cursor Right
RIS: Full reset
Cursor Left
IND - Index. If the cursor is at the bottom margin, the screen is scrolled upwards, otherwise the cursor is moved down one.
NEL - Next Line
H19 Clear display and home cursor
VT52 Enables VT52 Graphics
Not Implemented: SSA - Start Select Error (VT220)
VT52 Disables VT52 Graphics
Not Implemented: ESA - End Select Error (VT220)
VT52 Cursor Home
HTS - Set Tab Stop
AAA Not implemented: HTJ - Horizontal Tab with Justify
VT52 Reverse Linefeed
VT52 Clear to end of screen
H19 Save cursor position
VT52 Clear to end of line
H19 Restore cursor position
H19 Insert line
H19 Erase entire line
SCOANSI Lock Memory Area (sets margins)
H19 Delete Line
Reverse Index - moves the cursor up one, scrolling the screen if the cursor is already at the top margin.
SCOANSI Unlock Memory Area (sets margins)
Device Control String (DCS, 0x90)
H19 Enter reverse video mode
Private Use One (PU1) Introducer (SNI-97801-5xx)
SCOANSI AT386 ANSI Function key assignments. SCOANSI break ANSI X.64-1979. See vtescape() in ckoco3.c for implementation details.
H19 Exit reverse video mode
Private Use Two (PU2) Introducer (SNI-97801-5xx)
H19 Modify Baud Rate. K95 doesn't do this and just consumes the next character.
AAA Not Implemented: STS - Set Transmit State
H19 Exit Keypad Shift Mode
VT52 Print cursor line
AAA Not Implemented: SPA - Start Protected Area
H19 Enable wrap around at end of line
VT52 Enable transparent print
AAA Not Implemented: EPA - End Protected Area
H19 Discard at end of line (don't wrap)
Start of String (SOS, 0x98)
VT52 Disable transparent print
H19 Set modes. Next character should be one of the following:
Character | Action |
---|---|
1 | Enable 25th line (status line) |
2 | Turn off key click |
3 | Not Implemented: Hold Screen Mode |
4 | Switch to block cursor |
5 | Turn off cursor |
6 | Turn on keypad shifted |
7 | Alternate keypad mode |
8 | Turn on auto line feed on receipt of CR |
9 | Auto CR on receipt of LF |
VT52 Direct cursor address
H19 Reset modes. Next character should be one of the following:
Character | Action |
---|---|
1 | Disable 25th line (status line) |
2 | Turn on key click |
3 | Not Implemented: Exit Hold Screen Mode |
4 | Switch to underline cursor |
5 | Turn on cursor |
6 | Turn off keypad shifted |
7 | Exit alternate keypad mode |
8 | Turn off auto line feed on receipt of CR |
9 | No Auto CR on receipt of LF |
DECID (0x9A) - Identify Terminal
H19 Reset Terminal
Control Sequence Introducer (CSI, 0x9B)
H19 Not Implemented: Hold Screen Mode On
Operating System Command (OSC, 0x9D)
H19 Not Implemented: Transmit 25th line to host
VT52 Print Screen
Privacy Message (PM, 0x9E)
VT52 Turn on Autoprint
Application Program Command (APC, 0x9F)
VT52 Turn off Autoprint
Return to ISO 2002 mode
Select UTF-8 character set with standard return
Select 94 Character Set into G0. If in National Replacement Character Set mode, and parameter C is a valid NRC, then this is also selected into G1, G2 and G3. Valid values are:
Character(s) | Valid for NRC | Description |
---|---|---|
@ | No | United Kingdom (UK). SNI-97801 - Not quite US ASCII, but close |
A | Yes | United Kingdom (UK) |
B | Yes | United States ASCII |
C or 5 | Yes | Finnish |
E or 6 | Yes | Norwegian |
` | No | Norwegian |
G | No | Swedish |
H or 7 | Yes | Swedish |
K | Yes | German, or for the LINUX tyASCII |
K | N/A | Linux terminal type: user mapping - ASCII |
9 | No | French Canadian |
Q | Yes | French Canadian |
R or f | Yes | French |
Y | Yes | Italian |
Z | Yes | Spanish |
4 | Yes | Dutch |
= | Yes | Swiss |
0 | No | DEC Special Character and Line Drawing Set |
1 | Yes | ASCII (DEC Alternate ROM) |
> or 2 | No | DEC Technical |
< | No | DEC MCS, or for VT320: User Preferred Supplemental |
% 5 | No | DEC MCS |
% 6 | No | Portuguese |
L | No | Portuguese |
i | No | Hungarian |
J | No | J201R |
I | No | J201K |
* | No | IBM C0 Graphics |
U or ? | No | ASCII |
e | No | APL-ISO |
SP @ | No | Not implemented: soft character set |
K95s SNI-97801 emulation provides a few additional character sets in addition to those listed above. These are:
Character(s) | Valid for NRC | Description |
---|---|---|
c | No | FACET character set |
u | No | Euro symbols |
v | No | IBM character set |
w | No | SNI Brackets character set |
Select 94 Character Set into G1. If in National Replacement Character Set mode, and parameter c is a valid NRC, then this is also selected into G0, G2 and G3. Valid values for parameter C are the same as for ESC ( C.
The following differences apply for Linux emulation for the list of values for ESC ( C:
Character(s) | Description |
---|---|
B | Latin-1 character set |
K | CP850 |
Select 94 Character Set into G2. If in National Replacement Character Set mode, and parameter c is a valid NRC, then this is also selected into G0, G1 and G3. Valid values for parameter C are the same as for ESC ( C.
Select 94 Character Set into G3. If in National Replacement Character Set mode, and parameter c is a valid NRC, then this is also selected into G0, G1 and G2. Valid values for parameter C are the same as for ESC ( C.
Select 96 character set into G1. Valid values for parameter C are:
Character(s) | Description |
---|---|
< | DEC User-preferred Supplemental |
A | Latin-1 |
B | Latin-2 |
C | Latin-3 |
D | Latin-4 |
F | Latin/Greek |
F | SNI-97801 Only: Latin/Cyrillic |
@ | Latin/Greek |
G | Latin/Arabic |
H | Latin/Hebrew |
L | Latin/Cyrillic |
T | SNI-97801: Ignored |
T or M | Latin-5 |
V | Latin/Arabic |
% 5 | DEC MCS |
* | IBM C0 Graphics |
U or ? | CP437 |
b | Latin-9 |
d | Data General MCS |
e | Data General PC Graphics |
f | Data General Line Drawing |
g | Data General Word Processing Graphics |
h | HP Roman-8 |
i | HP Math-8 |
j | HP Line-8 |
Select 96 character set into G2. Valid values for parameter C are the same as those for ESC . C
Select 96 character set into G3. Valid values for parameter C are the same as those for ESC . C
Lock shift G1, right
H19 Enable keyboard lock (disable keyboard)
Lock shift G2, right
H19 Cursor Position Report
Lock shift G2, left
H19 Erase to beginning of line
Lock shift G3, left
Lock shift G3, right
H19 Delete character
Single shift G2, left
H19 Insert character mode
Single shift G3, left
H19 Disable keyboard lock (enable keyboard)
Kermit 95 supports the execution of Kermit commands via APC. As this could be hazardous, APC sequences are disabled by default and must be turned on with the slightly risky set term apc on command or the far more risky set term apc unchecked.
With APC sequences on, the remote host can request the execution of any Kermit command except those considered dangerous, such as: push, run, !, redirect, delete, rename, output, enable, disable, script and set terminal apc.
The unchecked option removes the above safety mechanism allowing the remote host to run any Kermit command at all on your PC including those which could cause damage such as deleting files and disabling other security features.
You should only enable APC support when connecting to hosts you trust, and you should think twice about enabling unchecked APCs. See page 278 of Using C-Kermit for more on this topic.
DECUDK - User Defined Keys
The first parameter can be either 0 (clear all UDK definitions before starting, default), or 1 (erase below).
The second parameter can be either 0 (lock the keys, default), or 1 (do not lock the keys)
The third parameter is a ;-seperated list of key definitions. A key definition consists of the key code for one of the function keys, a / character and then the string to send in response to that function key being pressed.
Not Implemented: K95 does not currently support specifying the shift-state of function keys, or the direction the response to pressing the key is to be sent in.
Kermit 95 Hyperlink Extension. This pre-dates the now widely implemented OSC 8 hyperlink escape sequence, but it works much the same way - you specify a destination for the hyperlink and some text. Where it differs from OSC 8 is that you can specify the type of hyperlink with both URI and UNC path destinations supported.
The parameter Ps specifies the type of link - a value of 1 indicates a URI to be opened in a browser (eg, https://www.kermitproject.com), while a value of 2 indicates a UNC path to be opened in the file manager or the application associated with the file specified. A value of 0 is used to terminate a hyperlink.
The second parameter, Pt, is the destination in wrapped in quotes.
To start a hyperlink to https://www.kermitproject.com, issue the following sequence which begins the hyperlink and sets the destination:
DCS 1 + m " h t t p s : / / w w w . k e r m i t p r o j e c t . c o m " ST
Then send the text for the hyperlink:
K e r m i t P r o j e c t W e b s i t e
Then terminate the hyperlink with:
DCS 0 + m ST
Linking to a UNC path is much the same:
DCS 2 + m " \ \ m y s e r v e r \ s h a r e d " ST
Then send the text for the hyperlink:
S h a r e d F i l e s
Then terminate the hyperlink with:
DCS 0 + m ST
Not Implemented: DECRQSS - Request Status String. The string Pt specifies the setting or selection being requested. K95s responses all start DCS and end with ST. If sending of 8-bit controls is disabled, then DCS is replaced with ESC P and ST is replaced with ESC.
If the value of Pt is not recognised, K95 indicates request was not valid by responding with:
DCS 1 $ r ST
K95 recognises the following values for Pt for which it currently just echos back the nonsense replies below.
Not Implemented: K95 responds with:
DCS 0 $ r m ST
Not Implemented: K95 responds with:
DCS 0 $ r " q ST
Not Implemented: K95 responds with:
DCS 0 $ r " p ST
Not Implemented: K95 responds with:
DCS 0 $ r r ST
Not Implemented: K95 responds with:
DCS 1 $ r s ST
Not Implemented: K95 responds with:
DCS 0 $ r t ST
Not Implemented: K95 responds with:
DCS 0 $ r } ST
Not Implemented: K95 responds with:
DCS 0 $ r $ | ST
Not Implemented: K95 responds with:
DCS 0 $ r $ } ST
Not Implemented: K95 responds with:
DCS 0 $ r $ ~ ST
Not Implemented: If DECSACE is on, K95 responds with:
DCS 2 $ r * x ST
otherwise, K95 responds with:
DCS 1 $ r * x ST
Not Implemented: K95 responds with:
DCS 1 $ r * | ST
Not Implemented: K95 responds with:
DCS 0 $ r | ST
Not Implemented: K95 responds with:
DCS 0 $ r ' s ST
Not Implemented: K95 responds with:
DCS 1 $ r + q ST
Not Implemented: K95 responds with:
DCS 1 $ r + r ST
Not Implemented: K95 responds with:
DCS 1 $ r = } ST
Scroll Left - Pan right Ps columns.
VT102 VT220 VT320 WY370 SNI-97801 AAA BEOS QANSI LINUX SUN VIP7809 HFT AIXTERM SUN BA80 SCOANSI AT386 ANSI ICH - Insert Ps characters.
Cursor Up Ps lines (default = 1)
SNI-97801 Ignored if outside scroll region
SCOANSI AT386 ANSI Set Border Color. Ps contains the new color.
BA80 Not Implemented: Ps of 0/1 should turn dead key mode off/on, Ps of 2/3 should do block start/block/end
Scroll Right - Pan left Ps columns.
Cursor Down Ps lines (default = 1)
SNI-97801 Ignored if outside scroll region
SCOANSI AT386 ANSI Set Beep Frequency and Duration. Comments note that K95 may not be handling the beep frequency correctly in some way ("??? this isn't correct").
BA80 Alters the cursor in one of the following ways:
Cursor Right Ps times (default = 1) staying on the same line
BA80 Not Implemented: Close Virtual Window
SCOANSI AT386 ANSI Set Cursor Height. If Pa > Pb then the cursor is disabled. If Pb - Pa <= 1, the cursor is set to underline. If Pb - Pa < 10 then the cursor is set to half. Otherwise the cursor is set to block.
Cursor left Ps characters
Cursor Left Ps times (default = 1) staying on the same line
SCOANSI AT386 ANSI Turn on/off background colour intensity
BA80 Window Status Request. Responds with the format string:
CSI = D HHH : WWW ; 001 : 001 ; Lohn D
Where HHH is the terminal height, and WWW is the terminal width.
Cursor next line Ps times (default = 1)
BA80 Window Status Request
SCOANSI AT386 ANSI If Ps is 0 then blink is simulated with bold background intesnity, any other value enables true blink.
AIXTERM Erase status line
Cursor previous line Ps times (default = 1)
AIXTERM Return from status line
BA80 Not Implemented: Fetch virtual window from the background
SCOANSI AT386 ANSI QANSI Set Normal Foreground Color to Ps.
SCOANSI AT386 ANSI QANSI HFT LINUX Cursor Horizontal Absolute: Move cursor to column Ps
SCOANSI AT386 ANSI QANSI Set Normal Background Color to Ps.
HFT Hide status line
SCOANSI AT386 ANSI Set Reverse Foreground Color to Ps
Cursor Horizontal Tab Ps tab stops
BA80 Not Implemented: Input
SCOANSI AT386 ANSI Set Reverse background colour to Ps
BA80 Not Implemented: screen saver off
ED - Erases an area within the display (including attributes)
Not Implemented: When emulating an SNI-97801 terminal K95 should only clear within the scroll region, but currently K95 ignores the left and right margin clearing entire lines when it shouldn't.
SNI-97801 Only clears to end of scroll region
SNI-97801 Only clears to start of scroll region
Clears within the cursors current screen area (terminal or status line), the cursor is not moved
SNI-97801 If clearing within the terminal area (not the status line), only the scroll region is cleared. The cursor is not moved.
SCOANSI AT386 ANSI Clears the entire screen and homes the cursor.
SNI-97801 Clears to the end of the screen staying within the scroll region
SNI-97801 Fills to the beginning of the screen with NUL staying within the scroll region.
SNI-97801 Fills the current screen area (terminal or status line) with NUL staying within the scroll region
SNI-97801 Fills to the end of the screen with the space character staying within the scroll region. Not Implemented: Additionally, attributes should be reset to the last valid attribute (if attributes are not stored). K95 does not do this - attributes are just reset to normal - same behaviour as Ps = 0.
SNI-97801 Fills to the beginning of the screen with the space character staying within the scroll region. Not Implemented: Additionally, attributes should be reset to the last valid attribute (if attributes are not stored). K95 does not do this - attributes are just reset to normal - same behaviour as Ps = 1.
SNI-97801 Fills the whole screen with the space character staying within the scroll region. Not Implemented: Additionally, attributes should be reset to the last valid attribute (if attributes are not stored). K95 does not do this - attributes are just reset to normal - same behaviour as Ps = 2.
SNI-97801 Fills to the end of the screen with the NUL character staying within the scroll region. Not Implemented: Additionally, attributes should be reset to the last valid attribute (if attributes are not stored). K95 does not do this - attributes are just reset to normal.
SNI-97801 Fills to the beginning of the screen with the NUL character staying within the scroll region. Not Implemented: Additionally, attributes should be reset to the last valid attribute (if attributes are not stored). K95 does not do this - attributes are just reset to normal.
SNI-97801 Fills the whole screen with the NUL character staying within the scroll region. Not Implemented: Additionally, attributes should be reset to the last valid attribute (if attributes are not stored). K95 does not do this - attributes are just reset to normal.
SNI-97801 Fills to the end of the screen with the space character staying within the scroll region. Not Implemented: Additionally, attributes should be preserved. K95 resets attributes normal - same behaviour as Ps = 0.
SNI-97801 Fills to the beginning of the screen with the space character staying within the scroll region. Not Implemented: Additionally, attributes should be preserved. K95 resets attributes normal - same behaviour as Ps = 1.
SNI-97801 Fills the entire screen with the space character staying within the scroll region. Not Implemented: Additionally, attributes should be preserved. K95 resets attributes normal - same behaviour as Ps = 2.
SNI-97801 Fills to the end of the screen with the NUL character staying within the scroll region. Not Implemented: Additionally, attributes should be preserved. K95 resets attributes normal.
SNI-97801 Fills to the beginning of the screen with the NUL character staying within the scroll region. Not Implemented: Additionally, attributes should be preserved. K95 resets attributes normal.
SNI-97801 Fills the entire screen with the NUL character staying within the scroll region. Not Implemented: Additionally, attributes should be preserved. K95 resets attributes normal.
DECSED - Selective Clear Screen. If Ps is 0, selective clear to end of screen, if 1 selective clear to beginning, if 2 selective clear whole screen.
SCOANSI AT386 ANSI Set Graphic Foreground Color to Ps.
BA80 Not Implemented: Screen Saver On
EL - Erase in Line
Erases within a single line
Clears to the end of the line with the space character. Clears attributes.
Clears to the beginning of the line with the space character. Clears attributes.
Clears the entire currently line with the space character. Clears attributes.
Clears to the end of the line with the NUL character. Clears attributes.
Clears to the beginning of the line with the NUL character. Clears attributes.
Clears the entire line with the NUL character. Clears attributes.
Clear to end of line with the space character. Not Implemented: Additionally, attributes should be preset to the last valid SGR attribute (if attributes are not stored). K95 instead clears attributes giving the same behaviour as Ps = 0
Clears to the beginning of the line with the Space character. Not Implemented: Additionally, attributes should be preset to the last valid SGR attribute (if attributes are not stored). K95 instead clears attributes giving the same behaviour as Ps = 1
Clears the entire line with the Space character. Not Implemented: Additionally, attributes should be preset to the last valid SGR attribute (if attributes are not stored). K95 instead clears attributes giving the same behaviour as Ps = 2
Clear to end of line with the NUL character. Not Implemented: Additionally, attributes should be preset to the last valid SGR attribute (if attributes are not stored). K95 instead clears attributes.
Clears to the beginning of the line with the NUL character. Not Implemented: Additionally, attributes should be preset to the last valid SGR attribute (if attributes are not stored). K95 instead clears attributes.
Clears the entire line with the NUL character. Not Implemented: Additionally, attributes should be preset to the last valid SGR attribute (if attributes are not stored). K95 instead clears attributes.
Clear to end of line with the Space character. Not Implemented: Additionally, attributes should be preserved. K95 instead clears attributes resulting in the same behaviour as Ps = 0.
Clear to the beginning of the line with the Space character. Not Implemented: Additionally, attributes should be preserved. K95 instead clears attributes resulting in the same behaviour as Ps = 1.
Clear the entire line with the Space character. Not Implemented: Additionally, attributes should be preserved. K95 instead clears attributes resulting in the same behaviour as Ps = 2.
Clear to end of line with the NUL character. Not Implemented: Additionally, attributes should be preserved. K95 instead clears attributes.
Clear to the beginning of the line with the NUL character. Not Implemented: Additionally, attributes should be preserved. K95 instead clears attributes.
Clear the entire line with the NUL character. Not Implemented: Additionally, attributes should be preserved. K95 instead clears attributes.
BA80 Begin reading function key labels
SCOANSI AT386 ANSI Set Graphic Background Color to Ps.
VT220 VT320 WY370 SNI-97801 AAA BEOS QANSI LINUX SUN DECSEL - Selective erase from cursor to end of line and clear attributes. Ps is one of: 0 (to end of line), 1 (to beginning) or 2 (whole cursor line).
VT102 VT220 VT320 WY370 SNI-97801 AAA BEOS QANSI LINUX SUN VIP7809 HFT AIXTERM SUN BA80 SCOANSI AT386 ANSI IL - Insert Ps lines.
SCOANSI Set Emulation Feature. Only two of these are currently implemented. Ps = 6 turns off backwards compatibility mode, while Ps = 7 turns it on. AT this time when enabled, backwards compatibility mode causes colours to be reset by SGR Select Primary Font and Display GL Control Characters as Graphic Characters.
SCOANSI AT386 ANSI Turn fill (erase?) mode on (use normal color) or off (use current color).
VT102 VT220 VT320 WY370 SNI-97801 AAA BEOS QANSI LINUX SUN VIP7809 HFT AIXTERM SUN BA80 SCOANSI AT386 ANSI DL - Delete Ps lines.
BA80 Go to status line
SCOANSI AT386 ANSI ANSI - Report Color Attributes. The response is the background and foreground colours separated by a space.
HFT LINUX AAA EF - Erase Field
HFT LINUX AAA EA - Erase Area
BA80 Not Implemented: Open Virtual Window
VT102 VT220 VT320 WY370 SNI-97801 AAA BEOS QANSI LINUX SUN VIP7809 HFT AIXTERM SUN BA80 SCOANSI AT386 ANSI DCH - Delete Ps characters
AAA Not Implemented: SEE - Select Editing Extent
CPR - Cursor Position Report. This is sent to the host (see: DSR), not processed by the terminal. No action is performed on receipt of CSR R
SCOANSI Delete lines - alternate form of CSI Ps M
BA80 Not Implemented: Reset virtual window to the background
VT320 VT320PC VT420 VT520 WY370 AAA SU - Scroll Up: Scrolls the characters up Ps lines.
SNI-97801 Behaviour for the SNI-97801 is a bit different when not in "Roll Mode". Instead, it treats the line the cursor on as the bottom margin and scrolls the screen between there and the top margin Ps lines.
HFT SCOANSI AT386 ANSI Scrolls the entire screen (excluding status line)up Ps lines ignoring top and bottom margins.
AIXTERM Show status line
HFT Not Implemented: Save Modes.
BA80 Return from Status Line
VT320 VT320PC VT420 VT520 WY370 AAA SD - Scroll down Ps lines. The top Ps lines are cleared to blanks.
SNI-97801 For SNI-97801 emulation, if the terminal is in Roll Mode, the behaviour is the same as above (scroll down Ps lines). If in Scroll mode instead, the current cursor position is treated as the top margin and the screen between the cursor possion and the bottom margin is scrolled down Ps lines.
HFT SCOANSI AT386 ANSI The entire screen is scrolled down Ps lines ignoring top and bottom margins, with the top Ps lines cleared to blanks.
AIXTERM Go to column Ps of the status line
SCOANSI Reset Terminal
SCOANSI Erase in region
Clears to the end of the region with the space character and resets attributes
Clears to the beginning of the region with the space character and resets attributes
Clears the whole scroll region with the space character and resets attributes
HFT LINUX AAA CTC - Cursor Tab Stop Control
VT220 VT320 WY370 SNI-97801 AAA BEOS QANSI LINUX SUN HFT LINUX AAA SCOANSI AT386 ANSI ECH - Erase Ps characters
HFT Not Implemented: Cursor Vertical Tab
SCOANSI AT386 ANSI Reset colours
CBT - Cursor Backward Tabulation. Moves active cursor position back Ps tab stops.
Horizontal Position Relative - moves active position Ps characters to the right.
QANSI Repeat previous character Ps times.
SCOANSI AAA Comment says "Horizontal Position Relative". Code repeats character Pc Pn times
SNI-97801 Resets the terminal
Device Attributes (Primary). Kermit 95s response depends on the selected terminal type. Some of the VT-compatible responses are included below:
Terminal Type | Response |
---|---|
HFT, AIXTERM, VT100 | CSI ? 1 ; 2 c |
VT102 | CSI ? 6 c |
VT220 | CSI ? 6 2 ; 1 ; 2 ; 6 ; 8 ; 9 ; 1 5 ; 4 4 c |
VT320 | CSI ? 6 3 ; 1 ; 2 ; 6 ; 8 ; 9 ; 1 5 ; 4 4 c |
WY370 | CSI ? 6 3 ; 1 ; 2 ; 6 ; 8 ; 9 ; 1 5 ; 4 4 c |
SNI-97801 | CSI ? 6 2 ; 1 ; 2 ; 6 ; 8 ; 9 ; 1 5 ; 4 4 c |
VT220 VT320 WY370 SNI-97801 AAA BEOS QANSI LINUX SUN Secondary Device Attributes Report Request. If Ps is 0 then K95 claims to be a VT320 with firmware version 0 and ROM cartridge registration number 0 by responding with: CSI > 2 4 ; 0 ; 0 c
VT220 VT320 WY370 SNI-97801 AAA BEOS QANSI LINUX SUN Tertiary Device Attributes Report Request. If Ps is 0 then K95 responds with DCS ~ | 0 0 0 0 0 0 0 0 ESC
SCOANSI AT386 ANSI Set Cursor Type. Cursor types are numbered from 0: underline, block, no cursor.
LINUX Set Cursor appearance. Parameter Ps sets the cursor size and other settings, while Pa and Pc specify character attributes. Kermit 95 only supports setting the cursor size and visibiltiy - the other bits in Ps are ignored, while the Pa and Pc parameters are ignored entirely.
Ps (lower four bits) | Cursor |
---|---|
0 or 2 | Cursor enabled, underline |
3, 4, 5, 6 or 7 | Cursor enabled, half |
8 | Cursor enabled, block |
1 | Cursor disabled |
Vertical Position Absolute: Moves active position to row Ps
Vertical Position Relative - moves active position Ps rows down
Send cursor to row;column. Default is 1;1
SNI-97801 If DECSASD is set to the status line, it is reset to terminal.
Tab clear at position Ps
SCOANSI Ignored.
SCOANSI Displays the character Ps in G2. This should only occur when not in SCO ANSI BCS2 mode, but as there is no way to turn SCO ANSI BCS2 mode on this is always true.
SCOANSI AT386 ANSI Displays the character Ps in G2
Non-private / ANSI Set Mode
Locks the keyboard
Controls Mode On
SCOANSI Switches to 132 Column Mode
SCOANSI Enable Smooth Scrolling. Only supported in the console version of K95 at this time (not K95G).
VT102 VT220 VT320 WY370 SNI-97801 AAA BEOS QANSI LINUX SUN VIP7809 HFT AIXTERM BA80 AT386 ANSI Enable insert mode
Erasure Mode Set
SCOANSI Returns the cursor to 1,margintop
SCOANSI Enables auto wrap mode
Switches to full duplex mode
Not Implemented: display control codes
Not Implemented: Send through cursor position
Turns on terminal new line and display crlf (equivalent to set terminal cr-display crlf and set terminal newline on
SCOANSI Turns on the cursor
SCOANSI Not Implemented: Scrollbars On
WY370 Turns the screen off
Not Implemented: Display status line
Not Implemented: Screen Saver off
Not Implemented: Cursor steady
WY370 Changes to the underline cursor
Not Implemented: Width change clear off
Not Implemented: Set delete key to BS/DEL
Not Implemented: Send all characters
Not Implemented: Send full page
Not Implemented: Extra data line
Not Implemented: Select Wyse 350 personality
SCOANSI Enables the margin bell
SCOANSI Turns on the cursor
SNI-97801 Not Implemented: Compose key table on
SNI-97801 Not Implemented: Dead key table on
SNI-97801 Switch to 132 character mode
SCOANSI Turns on the cursor
DECSET: DEC Private Mode Set
Application Cursor Keys
Switch to VT52 mode
H19Turn off VT52 graphics and switch to H19 mode
Switches the screen to 132 columns and moves homes the cursor
Console version only: Enable smooth (slow) scrolling mode. K95G (the GUI version) presently ignores this setting.
Switches to reverse video
Switches to relative origin mode
Turns auto-wrap mode on
Not Implemented: enable auto-repeat mode
Not Implemented: enable interlaced video mode
LINUX SCOANSI AT386 ANSI Send mouse X & Y on button press (X10 mouse reporting).
Not Implemented: K95 does not support the VT132 block editing mode
Enables print form-feed (sends a form-feed to the printer after printing some or all of the screen)
Set print extent to print the entire screen
Turn on the cursor
Not Implemented: right-to-left mode
Switches the keyboard mode to Hebrew
Not Implemented: Enter hebrew encoding mode
Not Implemented: K95 does not (yet) support the Tektronix mode
Not Implemented: XTERM - Allow 80 - 132 Mode
Not Implemented: XTERM - more(1) fix
Switch to using 7-bit national replacement character sets
Not Implemented: VT340 Graphics Expanded Print Mode
Not Implemented: VT340 Graphics Print Color Mode
XTERM Not Implemented: Xterm - Turn on Margin Bell
Not Implemented: Graphics Print Color syntax = RGB
XTERM Not Implemented: Xterm - Reverse-wraparound mode
Not Implemented: Graphics Print Background mode
XTERM Not Implemented: Xterm - Start Logging (XTLOGGING)
Not Implemented: Graphics Rotated Print mode
XTERM Not Implemented: Xterm - Use Alternate Screen Buffer
Not Implemented: VT131 Transmit
Not Implemented: Horizontal cursor coupling
Not Implemented: Vertical cursor coupling
Not Implemented: Page cursor coupling
Switches the numeric keypad to application mode
Adjusts the keymap so that the backarrow key sends backspace. The previous key definition is saved so it can be restored later.
Not Implemented: K95 stores this setting, but does not currently use it for anything
Not Implemented: transmit rate limiting
Not Implemented: Enable Sixel Display Mode
WY370 Switch to 161-column mode
WY370 Switch to 52 line mode
WY370 Not Implemented: enable separate assignment of SGR attributes to erasable and non-erasable characters
WY370 Not Implemented: set replacement character to current character background color
Sends mouse X & Y on button press and release
Not Implemented: Hilite mouse tracking
Enables button event mouse reporting
Enables all motion mouse tracking
Not Implemented: Send FocusIn / FocusOut events
Not Implemented: UTF-8 Mouse Mode
Enables SGR mouse reporting
Not Implemented: enable alternate scroll mode
Not Implemented: scroll to bottom on tty output
Not Implemented: scroll to bottom on key press
Enables URXVT mouse reporting
Enables bracketed paste mode. ESC [ 2 0 0 ~ will be sent before the pasted text, and ESC [ 2 0 1 ~ after it.
Zenith, Heath and AnnArbor set mode
AnnArbor values 25-61 (excluding 50, 58 and 60) are parsed but not implemented.
Disables the status line
Disables key click
Not Implemented: hold screen mode
Switches the cursor to a block
Turns off the cursor
Not Implemented: While K95 stors the keypad shifted setting, it does not currently use this value for anything
Switches the keypad to application mode
Enables automatic line feed on receipt of CR
Enables automatic carriage return on receipt of LF
Media Copy
Sends the entire screen to the configured printer
This is possibly to support the "Instant Screen Read" feature of DOUBLEVISION v1.x by Maxim Computer Technologies. This looks to be a kind of remote control package - like TeamViewer but for terminals.
If send-data is enabled (set terminal send-data on), every character on the screen is transmitted to the host. If send-data is off, it sends space characters instead. Attributes are not sent.
Turns off Transparent Print
Sends every character received to the configured printer
Described in the VT125 manual, these are really ANSI Media Copy sequences which should control the flow of data from the printer port to the host. In Kermit 95, they just turn the screen off and on.
Media Copy
Sends the line the cursor is currently on to the configured printer
Turns off Autoprint
Enables Autoprint mode - sends each line to the configured printer as the cursor leaves it (line feed, form feed, vertical tab, wrap)
Turns key click off (Ps = 1) or on (Ps = 0)
Insert line up
Mode Reset
unlocks the keyboard
Controls mode off
SCOANSI Switch to 80 column mode
VT102 VT220 VT320 WY370 SNI-97801 AAA BEOS QANSI LINUX SUN VIP7809 HFT AIXTERM SUN BA80 SCOANSI AT386 ANSI Turn off insert mode
SCOANSI Switch to Jump scrolling. Only has an effect in the console version of K95, the GUI version (K95G) doesn't support smooth scrolling so is always in jump scrolling mode.
Erasure mode reset
SCOANSI Sends the cursor to 1,1
SCOANSI Turns off auto-wrap
Turns on local echo
Not Implemented: control execution on
Not Implemented: Send through EOL or EOS
Turns off terminal new line and display crlf
SCOANSI Disable cursor
WY370 Turn display on
SCOANSI Turn scrollbars off
Not Implemented: Turn off status line
Not Implemented: Screen Saver on
Not Implemented: Cursor blinking
WY370 Switch to block cursor
Not Implemented: Width change clear on
Not Implemented: Set delete key to DEL/CAN
Not Implemented: Send erasable characters
Not Implemented: Send scrolling region
Not Implemented: Extra data line
SCOANSI Turn margin bell off
SCOANSI Disable cursor
SNI-97801 Not Implemented: Make compose key send Compse Key String
SNI-97801 Not Implemented: Dead key table off
SNI-97801 Switch to 80 column mode
SCOANSI Disable cursor
DEC Private Mode Reset
Sets the arrow keys to normal
Switches to VT52 mode
Switches to 80 column mode
Switches to Jump (fast) scrolling. Only has an effect on the console version of K95 - the GUI version (K95G) only supports jump scrolling at the moment so is always in this mode
Normal screen
Normal cursor mode
Turn off autowrap
Not Implemented: turn off auto-repeat
Not Implemented: Turn off interlaced video
LINUX SCOANSI AT386 ANSI Turn off X10 mouse reporting
Not Implemented: turn off block mode
Don't send form feed after printing screen
Print scrolling region, not full screen
Turn off cursor
Not Implemented: Right to left mode
Enter english keyboard mode
Not Implemented: Hebrew encoding mode
Not Implemented: Exits tektronix mode. Tektronix mode doesn't currently do anything in K95.
Not Implemented: Disallow 80 - 132 column switch
Not Implemented: xterm more(1) fix
Use 8-bit multinational character set
Not Implemented: Graphics Normal Print mode
Not Implemented:Graphics Print Monochrome mode
Not Implemented: Graphics Print Color syntax = HLS
Not Implemented: Graphics Print No-Background mode
Not Implemented:Graphics Unrotated Print mode
Not Implemented: VT131 Transmit
Not Implemented: Horizontal cursor coupling
Not Implemented: Vertical cursor coupling
Not Implemented: Page cursor coupling
Sets the keypad to normal
Changes the keymap so that backarrow sends DEL.
Not Implemented: While K95 stores this setting, it doesn't do anything with it
Not Implemented: Transmit rate limiting
WY370 Switches to 80-column mode
WY370 Switches to 24 line mode
WY370 Enable attribute assignment (SGR) to extend to both eraseable and nonerasable characters
WY370 Set replacement character to color map background color
Disable X11 mouse reporting
Not Implemented: Hilite mouse tracking
Turns off button-event mouse reporting
Turns off all mose reporting
Not Implemented: Send FocusIn/FocusOut events
Not Implemented: UTF-8 Mouse Mode
Turns off SGR mouse reporting
Not Implemented: Alternate Scroll Mode
Not Implemented: Scroll to bottom on tty output
Not Implemented: Scroll to bottom on key press
Disable URXVT mouse reporting
Disable bracketed paste mode
Zenith/Heath Mode Reset
AnnArbor values 25-61 are not implemented (excluding 50, 58 and 60 which are ignored)
Enables the status line
Enables key click
Not Implemented: Hold screen mode
SCOANSI Set margin to specified value. Margins are numbered 0-3 top/bottom/left/right.
The form of this control sequence ending with a `}` ( CSI = Ps ; Ps }) is marked with the comment "why this?" in the K95 source code — it is at this time uncertain if some particular terminal also accepts this form (or some particular application expects it), or if it is just a mistake/bug. Probably best not to rely on this behaviour and instead use the one ending with `m`.
Sets all attributes to normal (off/false): blinking, italic, bold, invisible, underlined, reversed, graphic, dim, wyse, hyperlink, sco8bit.
SCOANSI AT386 ANSI Also sets crm to off/false.
Turns on the Bold attribute
SCOANSI If processing of SGR colors is enabled (set term sgr-colors on), sets the foreground (1st parameter) and background (2nd parameter) colors. The intensity bit is not altered. The colour codes are:
Value | Color |
---|---|
0 | Black |
1 | Blue |
2 | Green |
3 | Cyan |
4 | Red |
5 | Magenta |
6 | Brown |
7 | Light Grey |
Other Terminals Turns on the Faint/Dim (decreased intensity) attribute.
Turns on the Italic attribute.
SCOANSI The following parameter is supposed to indicate blink or bold background. K95 does not handle this so it is skipped.
Turns on the Underline attribute
AT386 If underline support is disabled (In K95G with set terminal attribute underline off) or unsupported (in K95.EXE), the color set with set terminal color underline is used instead of setting the underline attribute.
Turns on the Blink attribute. This is supposed to be slow blink for all terminals except SCOANSI, but there is no implementation difference at this time.
Turns on fast blink, which is currently the same as regular blink.
SCOANSI Turns off Blink instead of turning on fast blink
Turns on the Reverse Video attribute.
AT386 Instead of turning on the reverse video attribute, the foreground and background colours are swapped.
Turns on the Invisible attribute.
SCOANSI AT386 ANSI BEOS Disables sco8bit and crm modes, turns off the graphic attribute, switches to graphic set G1. If in SCOANSI backwards compatibility mode, colours are reset.
LINUX QANSI Disables sco8bit and crm modes, restores graphic sets.
SCOANSI AT386 ANSI Turns off sco8bit, turns on crm, switches to graphic set G2, and switches colours to the color set with set term color graphic. if in SCOANSI backwards compatibility mode, colours are reset.
LINUX Turns on sco8bit and crm. Sets G1, G2 and G3 to CP437
QANSI Turns on sco8bit and crm. Sets G1/G2/G3 to IBM C0 Graphics.
LINUX Select null mapping (CP437), set display control flag, set toggle meta flag (causes the high bit of a byte to be toggled before the mapping table translation is done). Turns on sco8bit and crm, turns off the graphic attribute, sets G1/G2/G3 to CP437.
SCOANSI AT386 ANSI BEOS Turns on sco8bit, turns off crm and graphic attribute. Switches to G3.
QANSI Turns sco8bit on, turns crm off. Switches G1/G2/G3 to CP437
Turns off the Bold and Dim attributes
Turns off the bold and dim attributes
Turns off the italic attribute
Turns off the underline attribute
Turns off the blink attribute
Turns off the blink attribute
SCOANSI Turns On the blink attribute
Turns off the Reverse Video attribute
Turns off the Invisible attribute
If processing of SGR colors is enabled (set term sgr-colors on), sets the foreground color.
SCOANSI Also sets the default foreground color, reverse video background colour, and the graphic attribute foreground colour
Comment for this one says "Enable underline option". The terminal type this behaviour should be for is not mentioned. It is not implemented in any case.
This is processed for all terminal types, where it resets the foreground color to the default value.
The comments say: Disable Underline Option: Supported by SCO ANSI, for QANSI restore foreground color saved with CSI = Pn F.
If processing of SGR colors is enabled (set term sgr-colors on), sets the background color.
SCOANSI Also sets the default background color, reverse video foreground colour, and the graphic attribute background colour
This is processed for all terminal types, where it resets the background color to the default value.
The comemnts say: Supported by SCO ANSI. QANSI - restore bg color saved with CSI = Pn G
SNI-97801 Does nothing. Comment says it should do be "Save Attributes": When the "save attributes" command is issued, all attributes then in effect for the entire screen are stored. These attributes will then apply to any new display data (without SGR command sequences) output to the screen. The stored attributes can be returned to normal by commands such as "erase in display with blanks/NULs; clear attributes".
SCOANSI Does nothing. Comment says it should: Reset to the original color pair. In backwards compatibility mode, set the normal attribute to white text on a black background, and reverse video to black text on a white background. In the default (new) mode, set the current attribute according to the current mode and the current values for reverse, normal or graphics
SCOANSI Does nothing. Comment says it should: Resets all colors to the system default of gray for the foreground and reverse background, and black for the background and reverse foreground. Only valid in new mode.
If processing of SGR colors is enabled (set term sgr-colors on), sets the foreground color.
While this is an aixterm feature, it is supported for all terminal types.
SCOANSI Also sets the default foreground color, reverse video background colour, and the graphic attribute foreground colour
If processing of SGR colors is enabled (set term sgr-colors on), sets the background color.
While this is an aixterm feature, it is supported for all terminal types.
SCOANSI Also sets the default background color, reverse video foreground colour, and the graphic attribute background colour
SCOANSI Transmit Cursor Position
Responds with CSI 0 n indicating the terminal si OK
Transmits the cursor position to the host. Response is: CSI x ; y R where x and y are the cursor coordinates
K95 responds with printer ready: CSI ? 1 0 n
If User Defined Keys are locked, K95 responds with CSI ? 2 1 n or CSI ? 2 0 n if they're unlocked
Sends CSI ? 2 7 ; 2 n if G0 is British ISO 646, otherwise K95 sends CSI ? 2 7 ; 1 n
Transmits the cursor position to the host. Response is: CSI x ; y ; p R where x and y are the cursor coordinates, and p is the page (always 1 in K95)
K95 responds with printer ready: CSI ? 1 0 n
If User Defined Keys are locked, K95 responds with CSI ? 2 1 n or CSI ? 2 0 n if they're unlocked
Sends CSI ? 2 7 ; 2 n if G0 is British ISO 646, otherwise K95 sends CSI ? 2 7 ; 1 n
AAA Not Implemented: DAQ - Define Area Qualification
SCOANSI Transmit Margin Position. Responses are one or more numbers separated by spaces if required and followed by a line feed.
H19 Not Implemented: Transmit Page to host
SUN Not Implemented: SUNBOW - Black On White. This should set foreground to black, background to white, cursor to a solid black block, and characters in SGR revese white-on-black. This matches the initial settings for the frame buffer console on reset.
SNI-97801 Set... things?
Not Implemented: Blinking on, lines 1-25 or 1-24
Not Implemented: Blinking off, lines 1-25 or 1-24
Not Implemented: Blinking on, line 25
Not Implemented: Blinking off, line 25
Responds with <FS> <line+0x20> <column+0x20>, 0 based
Hides the cursor
Shows the cursor
This is supposed to fill the viewable screen with blanks but continue processing additional chars into the display buffer. K95 does its usual screen-off things.
Re-enable viewing the display buffer with real data.
Sets the cursor to half
Sets the cursor to full (block)
Sets the cursor to underline
Not Implemented: Activate cursor blinking
Not Implemented: Deactivate cursor blinking
AAA Set Display Parameters:
Parameter | |
---|---|
Pa | Active Memory Lines |
Pu | Upper Host Area Lines |
Pl | Lower Host Area Lines |
Ps | Screen Lines |
Pc | Screen Columns |
Pm | Active Memory Columns |
As K956 doesn't support memory pages different from the actual screen size, so behaviour isn't quite right here. Pa sets the number of rows, and the bottom margin is set to Ps. The number of screen columns is set to Pc. In K95G, if Pa < Ps then line spacing is adjusted.
DECSTR - Soft Reset: Resets the terminal
DECSCL - Set compatibility level and set active status display to terminal. The second parameter is only recognised in combination with levels 2 and 3.
VT100Sets the terminal type mode to VT100
VT100 VT102 VT220 VT220PC VT320 VT320PC WY370 Sets the terminal type mode to VT102
VT220 VT220PC Sets the terminal type mode to VT220
VT320 VT320PC Sets the terminal type mode to VT320
WY370 Sets the terminal type mode to WY370
VT320 VT320PC Sets the terminal type mode to VT320
WY370 Sets the terminal type mode to WY370
VT220 VT220PC VT320 VT320PC WY370 Sets K95 to use 8-bit controls. Requires Pl=62 or Pl=63. For all other compatibility levels, Pc is ignored.
VT220 VT220PC VT320 VT320PC WY370 Sets K95 to use 7-bit controls. Requires Pl=62 or Pl=63. For all other compatibility levels, Pc is ignored.
DECRQM (from host). Response is in the form: CSI ? Ps; Pm $ y
Values for Ps are:
Ps | Mode |
---|---|
1 | DECCKM: Cursor keys |
2 | DECANM: ANSI |
3 | DECCOLM: Column |
4 | DECSCLM: Scrolling |
5 | DECSCNM: Screen |
6 | DECOM: Origin |
7 | DECAWM: Autowrap |
8 | DECARM: Autorepeat (permanently set to 3) |
18 | DECPFF: Print form feed |
19 | DECPEX: Printer extent |
25 | DECTCEM: Text cursor enable |
42 | DECNRCM: National replacement character set |
66 | DECNKM: Numeric Keypad |
67 | DECBKM: Backarrow key |
68 | DECKBUM: Keyboard usage |
ANSI DECRQM (from host). Response is in the form: CSI Ps; Pm $ y
Values for Ps are:
Ps | Mode |
---|---|
2 | KAM: Keyboard action |
3 | CRM: Control representation |
4 | IRM: Insert/replace |
10 | HEM: Horizontal editing (permanently set to 4) |
12 | SRM: Send/receive |
20 | LNM: line feed/new line |
DECLTOD - Load Time of Day. K95 will attempt to set the local system time (your computers clock) to the time supplied if it can. First parameter is hour (0-23), second parameter is minute (0-59).
H19 Not Implemented: Transmit 25th line to host
SUN Not Implemented: SUNWOB - White On Black. Takes no parameters. Sets the screen mode to white- on-black. If the screen mode is already white-on- black, has no effect. In this mode spaces display as solid black, other characters as white-on-black. The cursor is a solid white block. Characters displayed in negative image rendition (see `Select Graphic Rendi- tion' above) is black-on-white in this mode. The ini- tial setting of the screen mode on reset is the alter- native mode, black on white.
SNI-97801 Not Implemented: Turns CH.CODE LED off (Ps = 0) or on (Ps = 6). Does not affect actual mode.
DECLL - Load LEDs
DECSCA - Select Character Attributes. Valid values for the parameter are:
0 or 2 | Designate character erasable |
1 | Designate character unerasable |
Set Cursor Type (VT520).
Not Implemented: While K95G does support non-blinking cursors, it doesn't handle them here so this currently gives the same result as Ps = 0 or Ps = 1
Not Implemented: While K95G does support non-blinking cursors, it doesn't handle them here so this currently gives the same result as Ps = 3.
H19 Not Implemented: Set Baud Rate to Ps
SUN Not Implemented: SUNSCRL - Set Scrolling Region. The parameter (default 0) sets how many lines the screen should scroll up when a line-feed function is performed with the cursor on the bottom line. A parameter of 2 or 3 introduces a small "jump" when a scroll occurs, while a parameter of 34 clears the screen rather than scrolling. A parameter of 0 initiates "wrap mode". In wrap mode, if a linefeed occurs on the bottom line, the cursor goes to the same character position in the top line of the screen. When any linefeed occurs, the line that the cursor moves to is cleared.
Set margin. Parameters are top and bottom.
SNI-97801 The bottom margin may include the status line even when it is separated from the main display area.
SCOANSISet margins. First two parameters are standard (top and bottom). The second two parameters are the left and right margin which default to 1 and the width of the terminal if not supplied;
SCOANSI Reset/clear margins
HFT Not Implemented: Restore Modes. K95 loops through all the parameters but performs no actions. There are no comments in the source code indicating what parameters should be accepted or what they should do.
VT320 VT320PC VT420 VT520 WY370 SNI-97801 AAA DECCARA - Change attributes in rectangular area. Marked for VT420 but as K95 lacks a VT420 mode at the moment, VT420 is currently a synonym for VT320 and compatibles. Pt ; Pl ; Pb ; Pr is the rectangle. If DECSACE is off (1 or 0) then the DECCARA affects the stream of characters between the first and second character positions specified. The Pm is the SGR attributes to change, one of:
Pm | Attribute |
---|---|
0 | All attributes off (normal) |
1 | Bold |
4 | Underline |
5 | Blink |
7 | Negative image |
22 | No bold |
24 | No underline |
25 | No blink |
27 | Positive image |
SUN Reset Terminal
SCOANSI AT386 ANSI SNI-97801 Save cursor position
AAA Not Implemented: zPSH - Push Line
SNI-97801 Turn key click off (Ps = 2) or on (Ps = 3). Not Implemented: Repeat off (Ps = 0) and Repeat on (Ps = 1)
AAA Not Implemented: zPOP - Pop Line
SNI-97801 Card Reader operations:
Not Implemented
Not Implemented
K95 provides the "ID Card Reader broken or missing" response. If 8 bit controls are enabled, that is: DCS P t A ST Otherwise its; ESC P P t A ESC
DECSLPP - Set Screen height (first parameter only), XTWINOPS - Window Manipulation (1-3 parameters). This does not apply to SNI-97801 emulation which uses the CSI Ps t control sequence for querying an ID card reader (see above).
K95G only: Deiconify/restore/un-minimise window. Ignored by the console version of K95.
K95G only: minimizes the window. Ignored by the console version of K95.
K95G: Move window to (x,y). X and Y will default to 0 if not supplied. Ignored by the console version of K95.
K95G only: Size the window in pixels. If width or height is 0 then do not change that dimension.
Not Implemented: Raise Window
Not Implemented: Lower Window
Not Implemented: Refresh Window
Resizes the window to the specified number of rows and columns.
Not Implemented: Maximise window in method specified by the second parameter (maximise, maximise vertically, maximise horizontally, or restore if the parameter is 0).
Not Implemented: Undo full screen mode, Change to full screen mode, toggle full screen mode - the second parameter (0-2) indicates which one.
Not Implemented
Not Implemented: If the second parameter is 2, report the text area position in pixels, otherwise report the window position.
Not Implemented: If the second parameter is 2, report window size in pixels, otherwise report text area size in pixels.
Not Implemented
Not Implemented
Responds with: CSI 8 ; height ; width t
Not Implemented
Not Implemented
Not Implemented
Not Implemented. The second parameter (0-2) indicates which to save: icon and title, icon, title. The optional third parameter (1-10) indicates which position in the stack to store to rather than pushing on to the stack.
Not Implemented. The second parameter (0-2) indicates which to restore: icon and title, icon, title. The optional third parameter (1-10) indicates which position in the stack to restore from rather than popping from the top of the stack.
Sets the screen height to Ps rows. If the second and third parameters are supplied they are ignored - DECSLPP only uses the first parameter.
VT320 VT320PC VT420 VT520 WY370 SNI-97801 AAA DECRARA - Reverse attributes in rectangular area. Marked for VT420 but as K95 lacks a VT420 mode at the moment, VT420 is currently a synonym for VT320 and compatibles. Pt ; Pl ; Pb ; Pr is the rectangle. If DECSACE is off (1 or 0) then the DECRARA affects the stream of characters between the first and second character positions specified. The Pm is the SGR attributes to change, one of:
Pm | Attribute |
---|---|
0 | All attributes off (normal) |
1 | Bold |
4 | Underline |
5 | Blink |
7 | Negative image |
Not Implemented: XTSMTITLE - set one or more features of the xterm title mode
AAA Not Implemented: zSTP - Set Transfer Point
SCOANSI AT386 ANSI SNI-97801 Restore cursor position
SNI-97801 Various mode options
Turns off the status line
Turns on the status line
Not Implemented
Not Implemented
Not Implemented
Not Implemented
Turns on page mode
Turns on auto-roll mode (page mode off)
Turns off scroll mode - only affects RD/SD - CSI Ps T
Turns on scroll mode - only affects RD/SD - CSI Ps T
Not Implemented
Not Implemented
Switches to normal screen
Switches to reverse video
AAA Not Implemented: zSRC - Start Remote Copy
SNI-97801
Switch to the other SNI CH.CODE mode if in SNI 7-bit mode.
Not Implemented: Full screen mode
Not Implemented: Fill scroll area with characters
Not Implemented: Output entire character generator
Disables SNI CH.CODE key
Enables SNI CH.CODE key
Responds with ESC P 1 3 v STATUS ESC if using 7-bit controls, or DCS 1 3 v STATUS ST if using 8-bit controls. STATUS is either 0 (SI: G0FEST active), 1 (SI: G0 active), 2 (SO: G0FEST active) or 3 (SO: G0 active).
Switches to the other CH.CODE mode
Responds with ESC P 2 1 v STATUS ESC if using 7-bit controls, or DCS 2 1 v STATUS ST if using 8-bit controls. STATUS is either 0 (not in CH.CODE mode) or 1 (CH.CODE mode)
Disables 8-bit mode CH.CODE key.
Enables 8-bit mode CH.CODE key.
DECRQDE - Windows Report. The response is:
CSI Ph; Pw; Pc; Pr; Pp " w
Where:
VT320 VT320PC VT420 VT520 WY370 SNI-97801 AAA DECCRA - Copy rectangular area. Marked for VT420 but as K95 lacks a VT420 mode at the moment, VT420 is currently a synonym for VT320 and compatibles. Pt ; Pl ; Pb ; Pr is the source rectangle, Pp is the source page number, Pt ; Pl is the destination, and Pp is the destination page.
K95 doesn't support pages, so the page numbers are ignored.
HFT Not Implemented: VT raw keyboard input
SNI-97801 Not Implemented: Transmit kelock switch status (Ps = 0), or Reinitialize character generator (Ps = 1).
AAA Not Implemented: zSPF - Set Print Format. First parameter is printed lines per page (1-126), second parameter is total lines per page (1-126), third parameter is left margin (0-254).
WY370 WYCDIR - Direct Color Mode, set color and attribute. The first two parameters are foreground and background colour, a value from 0-64 (the WY370 supports a 64-color colour palette). K95 currently maps whatever colour is specified to one of the 8 standard colours. The third parameter, Pa, specifies an attribute.
K95 assigns different meanings to the attribute numbers than described in the WY370 programmers guide (Table 5-9, page 5-19):
Pa | Attribute |
---|---|
0 | No attribute (turn all attributes off) |
1 | Turn on bold |
2 | Turn on DIM (QANSI) |
3 | Turn on ITALIC (ANSI X3.64) |
4 | Turn on UNDERLINE |
5 | Turn on Slow BLINK |
6 | Turn on Fast BLINK (same as slow blink in K95) |
7 | Turn on REVERSE VIDEO |
8 | Turn on INVISIBLE |
9 | Turn on INVISIBLE (QANSI) |
DECREQTPARM - Request Terminal Parameters. Ps can either be a 0 or a 1 - any other value will result in the request being ignored. If Ps is a 0, then the first parameter in the response will be a 2, otherwise it will be a 3.
The response is of the form: CSI Ps ; Pp ; Pb ; Px ; Pr ; Pc ; Pf x
Where:Parameter | Meaning | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Ps | The original Ps value + 2 | ||||||||||||||||||||||||||||||||||||
Pp | Parity - 1 for none, 5 for even, 4 for odd, 3 for mark, 2 for space | ||||||||||||||||||||||||||||||||||||
Pb | Terminal byte size - 1 for 8 bit, 2 for 7 bit | ||||||||||||||||||||||||||||||||||||
Px Pr |
xspeed and rspeed in bits per second:
|
||||||||||||||||||||||||||||||||||||
Pc | Always 1 indicating the bit rate multiplier is 16 | ||||||||||||||||||||||||||||||||||||
Pf | Always 0 |
VT320 VT320PC VT420 VT520 WY370 SNI-97801 AAA DECFRA - Fill rectangular area. Marked for VT420 but as K95 lacks a VT420 mode at the moment, VT420 is currently a synonym for VT320 and compatibles. Pc is the character to fill with, while Pt ; Pl ; Pb ; Pr is the rectangle to fill
VT320 VT320PC VT420 VT520 WY370 SNI-97801 AAA DECSACE - Select Attribute Change Extent. Marked for VT420 but as K95 lacks a VT420 mode at the moment, VT420 is currently a synonym for VT320 and compatibles. Parameter Ps is one of:
Ps | |
---|---|
0 | from start to end position, wrapped |
1 | from start to end position, wrapped |
2 | Rectangle (exact) |
VIP7809 K95 responds with (ESC, ETX and NUL control codes in bold):
ESC[8p OTETXESC[y7813 P GC A ETXNUL
HFT Not Implemented: Virtual Terminal locator report
SNI-97801 Mostly various test functions most of which don't make a lot of sense for a terminal emulator (eg, "Execute hardware test for terminal"). Only three of the possible values of Ps are implemented:
Not Implemented: DECTST - VT100 confidence tests.
US_ASCII to G0 (GL), Brackets to G1, Blanks to G2, ISO 8859-1 to G3 (GR)
US_ASCII to G0 (GL and GR)
K95 responds with either: DCS 2 2 y 7 ST (7-bit mode) or DCS 2 2 y 8 ST (8-bit mode)
VT320 VT320PC VT420 VT520 WY370 SNI-97801 AAA XTERM DECRQCRA - Request Checksum of Rectangular Area. Marked for VT420 but as K95 lacks a VT420 mode at the moment, VT420 is currently a synonym for VT320 and compatibles. Pi is the request Id, Pg is the page number (ignored), and Pt ; Pl ; Pb ; Pr is the rectangle to calculate the checksum for. Only available if send-data is enabled (set terminal send-data on)
H19 Reset terminal
AAA Not Implemented: zSTE - Set Transfer End
SCOANSI Not Implemented: Switch to screen Ps
SNI-97801 Not Implemented: "Define left and right margins. This sequence affects only the character that immediately follows this sequence. That char is used to fill the scroll region using these borders, then the broders revert to 1,80"
VT320 VT320PC VT420 VT520 WY370 SNI-97801 AAA DECERA - Erase rectangular area. Marked for VT420 but as K95 lacks a VT420 mode at the moment, VT420 is currently a synonym for VT320 and compatibles. Pt ; Pl ; Pb ; Pr is the rectangle to erase
SCOANSI Clear all tab stops
VT320 VT320PC VT420 VT520 WY370 SNI-97801 AAA DECSERA - Selective erase rectangular area. Marked for VT420 but as K95 lacks a VT420 mode at the moment, VT420 is currently a synonym for VT320 and compatibles. Pt ; Pl ; Pb ; Pr is the rectangle to selectively erase
DECSCPP - Set Columns Per Page. The parameter Ps is required and specifies the new width of the terminal. Supplying 0, which should set the width to 80 columns, actually results in the terminal being set to the maximum width (512 columns on modern Windows, 256 on vintage windows and OS/2) - this is a bug.
Select Active Status Display - Terminal
VT320 VT320PC VT420 VT520 WY370 SNI-97801 AAA DECIC - Insert Ps columns (default 1). Marked for VT420 but as K95 currently lacks a VT520 mode, VT420 is currently a synonym for VT320 and compatibles.
DECTME - Terminal Mode Emulation
VT220 VT320 WY370 Returns from Terminal Mode Emulation
If two parameters are supplied, and the second parameter is 1 then switch to 7-bit controls, otherwise switch to 8-bit controls
Switches to VT102 mode
VT100 Switches back to VT100 mode, not VT102
Not Implemented: While K95 does support PCTerm mode, Ps = 4 currently does nothing.
Switches to WY60 emulation
Not Implemented: While K95 does support PCTerm mode, Ps = 6 currently does nothing.
Switches to WY50 emulation
Not Implemented: WYSE 150/120 emulation
Switches to TVI950 emulation
Switches to TVI 925 emulation
Switches to TVI 910 emulation
Not Implemented: ADDS A2 emulation
Switches to SCO ANSI emulation
Not Implemented: WY-325 emulation
Select status line type
No status line (default)
Indicator
Host-writable - active status display can be set to the status line
VT320 VT320PC VT420 VT520 WY370 SNI-97801 AAA DECDC - Delete Ps columns (default 1). Marked for VT420 but as K95 currently lacks a VT520 mode, VT420 is currently a synonym for VT320 and compatibles.
MS-DOS Kermit PRODUCT Macro: Runs the following Kermit command as though it were received as an APC: do product Ps Ps Ps Ps Ps Ps Ps Ps Ps
Horizontal Position Absolute (HPA) - moves active position to column Ps
SD - Scroll Down Ps lines
SCOANSI Cursor left Ps columns.
HFT Not Implemented: Select Reversed String. Ps=0 is End Push, Ps=1 is Start Push.
HFT Not Implemented: Select Alternate Presentation Variant (BIDI, Arabic numeric shapes, Hindi numeric shapes, symmetric swapping mode for directional characters, ...).
CSI Ps ; Ps ]
LINUX Not Implemented: Various display settings
Not Implemented: Enable Session
Kermit k95 currently only supports a limited selection of Operating System Commands for the purpose of setting the window title. These can be terminated with either an ST or, for compatibility purposes, a BEL:
OSC Ps ; Pt ST OSC Ps ; Pt BEL
Ps specifies the type of operation:
Sets the window title to the value supplied, up to 63 characters.
Not Implemented: DECSIN - Set Icon Title (VTxxx)
DECSWT - Sets the window title to the value supplied, up to 63 characters.
Kermit 95 does not implement any privacy message functions