Kermit 95 Control Sequences


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.

Index

V100 Mode Single-character functions

BEL

Bell

BS

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

CR

Carriage Return

Sends the cursor to the start of the line

SNI-97801 HP Sends the cursor to the left margin

ENQ

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

FF

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

NUL

SNI-97801 Treated the same as SP

SI

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.

SO

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.

SP

Space

SYN

AVATAR Ctrl-V - AVATAR AVTCODE

LF

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

TAB (HT)

Horizontal Tab - sends the cursor to the next tabstop

VT

Vertical Tab. This is treated the same as LF

XEM

AVATAR Repeat character

Controls beginning with ESC

ESC SP F

Terminal Type Specific Behaviour
VT220
VT320
WY370
SNI-97801
AAA
BEOS
QANSI
LINUX
SUN

Switches to sending 7-bit control characters

ESC SP G

Terminal Type Specific Behaviour
VT220
VT320
WY370
SNI-97801
AAA
BEOS
QANSI
LINUX
SUN

Switches to sending 8 bit control characters

ESC SP 0

WY370 WYID: Responds with "370\r"

ESC SP L
ESC SP M
ESC SP N

Terminal Type Specific Behaviour
VT220
VT320
WY370
SNI-97801
AAA
BEOS
QANSI
LINUX
SUN

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.

ESC SP }

Terminal Type Specific Behaviour
VT220
VT320
WY370
SNI-97801
AAA
BEOS
QANSI
LINUX
SUN

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.

ESC #

J19 Not Implemented: Transmit page (lines 1-24) to host

ESC # 3

DECDHL: DEC double-height line, top half

ESC # 4

DECDHL: DEC double-height line, bottom half

ESC # 5

DECSWL: DEC Single Width line

ESC # 6

DECDWL: DEC Double Width line

ESC # 7

Not Implemented: Hardcopy (VT100)

ESC # 8

DECALN: DEC Screen Alignment test. Fills the screen with "E"

ESC # :

WYDHL: Wyse double-height line, top half, single-wide characters

ESC # ;

WYDHL: Wyse double-height line, bottom half, single-wide characters

ESC 6

Behaviour depends on the selected terminal type.

Terminal Type Specific Behaviour
AAA

Does nothing. Should be: zTI - Toggle IRM

Terminal Type Specific Behaviour
VT100
VT102
VT220
VT320
WY370
SNI-97801
BEOS
QANSI
LINUX
SUN
VIP7809
HFT
AIXTERM
BA80

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.

ESC \

H19 Not Implemented: Exit Hold Screen Mode

ESC @

H19 Enter insert character mode

ESC 1

H19 Enter keypad shift mode

ESC 7

Saves the cursor position and attributes

Terminal Type Specific Behaviour
SCOANSI
AT386
ANSI
AAA

Saves the cursor position only, does not save attributes.

ESC 8

Restores the cursor position and attributes

Terminal Type Specific Behaviour
SCOANSI
AT386
ANSI
AAA

Restores the cursor position only, does not restore attributes.

ESC 9

AAA zCGR - Change Graphic Rendition to Qualified Area. Default area goes from Current Cursor position to End of Screen.

Terminal Type Specific Behaviour
VT100
VT102
VT220
VT320
WY370
SNI-97801
BEOS
QANSI
LINUX
SUN
VIP7809
HFT
AIXTERM
BA80

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.

ESC =

DECKPAM: Set keypad to application mode

ESC >

DECKPNM: Set keypad to numeric mode

ESC <

Switches from VT52 mode to VT102 mode

H19Switches to VT100 mode, not VT102

ESC :

AAA Not implemented: zGUA - Guard Unprotected Areas

ESC `

VIP7809 Clears the screen, cursor does not move

Terminal Type Specific Behaviour
SNI-97801
HFT
AAA

Enables the key lock

ESC A

VT52 Cursor Up

ESC a

AAA Not implemented: Interrupt

ESC B

VT52 Cursor Down

ESC b

H19 Erase to beginning of display

Terminal Type Specific Behaviour
SNI-97801
HFT
AAA

Disables the key lock

ESC C

VT52 Cursor Right

ESC c

RIS: Full reset

ESC D

Terminal Type Specific Behaviour
VT52

Cursor Left

Terminal Type Specific Behaviour
VT100
VT102
VT220
VT320
WY370
SNI-97801
AAA
BEOS
QANSI
LINUX
SUN
VIP7809
HFT
AIXTERM
BA80

IND - Index. If the cursor is at the bottom margin, the screen is scrolled upwards, otherwise the cursor is moved down one.

ESC E

NEL - Next Line

H19 Clear display and home cursor

ESC F

VT52 Enables VT52 Graphics

Terminal Type Specific Behaviour
VT220
VT320
WY370
SNI-97801
AAA
BEOS
QANSI
LINUX
SUN

Not Implemented: SSA - Start Select Error (VT220)

ESC G

VT52 Disables VT52 Graphics

Terminal Type Specific Behaviour
VT220
VT320
WY370
SNI-97801
AAA
BEOS
QANSI
LINUX
SUN

Not Implemented: ESA - End Select Error (VT220)

ESC H

VT52 Cursor Home

Terminal Type Specific Behaviour
VT100
VT102
VT220
VT320
WY370
SNI-97801
AAA
BEOS
QANSI
LINUX
SUN
VIP7809
HFT
AIXTERM
BA80

HTS - Set Tab Stop

ESC I

AAA Not implemented: HTJ - Horizontal Tab with Justify

VT52 Reverse Linefeed

ESC J

VT52 Clear to end of screen

ESC j

H19 Save cursor position

ESC K

VT52 Clear to end of line

ESC k

H19 Restore cursor position

ESC L

H19 Insert line

ESC l

H19 Erase entire line

SCOANSI Lock Memory Area (sets margins)

ESC M

H19 Delete Line

Terminal Type Specific Behaviour
VT100
VT102
VT220
VT320
WY370
SNI-97801
AAA
BEOS
QANSI
LINUX
SUN
VIP7809
HFT
AIXTERM
BA80

Reverse Index - moves the cursor up one, scrolling the screen if the cursor is already at the top margin.

ESC m

SCOANSI Unlock Memory Area (sets margins)

ESC P

Device Control String (DCS, 0x90)

ESC p

H19 Enter reverse video mode

ESC Q

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.

ESC q

H19 Exit reverse video mode

ESC R

Private Use Two (PU2) Introducer (SNI-97801-5xx)

ESC r

H19 Modify Baud Rate. K95 doesn't do this and just consumes the next character.

ESC S

AAA Not Implemented: STS - Set Transmit State

ESC u

H19 Exit Keypad Shift Mode

ESC V

VT52 Print cursor line

AAA Not Implemented: SPA - Start Protected Area

ESC v

H19 Enable wrap around at end of line

ESC W

VT52 Enable transparent print

AAA Not Implemented: EPA - End Protected Area

ESC w

H19 Discard at end of line (don't wrap)

ESC X

Start of String (SOS, 0x98)

VT52 Disable transparent print

ESC x

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

ESC Y

VT52 Direct cursor address

ESC y

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

ESC Z

DECID (0x9A) - Identify Terminal

ESC z

H19 Reset Terminal

ESC [

Control Sequence Introducer (CSI, 0x9B)

H19 Not Implemented: Hold Screen Mode On

ESC ]

Operating System Command (OSC, 0x9D)

H19 Not Implemented: Transmit 25th line to host

VT52 Print Screen

ESC ^

Privacy Message (PM, 0x9E)

VT52 Turn on Autoprint

ESC _

Application Program Command (APC, 0x9F)

VT52 Turn off Autoprint

ESC % @

Return to ISO 2002 mode

ESC % G

Select UTF-8 character set with standard return

ESC ( C

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
Additional character sets for SNI-97801 emulation
SNI-97801

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

ESC ) C

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.

Differences for Linux terminal emulation
LINUX

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

ESC * C

Terminal Type Specific Behaviour
VT220
VT320
WY370
SNI-97801
AAA
BEOS
QANSI
SCOANSI
AT386
ANSI
SUN

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.

ESC + C

Terminal Type Specific Behaviour
VT220
VT320
WY370
SNI-97801
AAA
BEOS
QANSI
SCOANSI
AT386
ANSI
SUN

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.

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

ESC . C

Terminal Type Specific Behaviour
VT220
VT320
WY370
SNI-97801
AAA
BEOS
QANSI
LINUX
SUN
SCOANSI
AT386
ANSI

Select 96 character set into G2. Valid values for parameter C are the same as those for ESC . C

ESC / C

Terminal Type Specific Behaviour
VT220
VT320
WY370
SNI-97801
AAA
BEOS
QANSI
LINUX
SUN
SCOANSI
AT386
ANSI

Select 96 character set into G3. Valid values for parameter C are the same as those for ESC . C

ESC ~

Terminal Type Specific Behaviour
VT220
VT320
WY370
SNI-97801
AAA
BEOS
QANSI
LINUX
SUN
SCOANSI
AT386
ANSI

Lock shift G1, right

ESC }

H19 Enable keyboard lock (disable keyboard)

Terminal Type Specific Behaviour
VT220
VT320
WY370
SNI-97801
AAA
BEOS
QANSI
LINUX
SUN
SCOANSI
AT386
ANSI

Lock shift G2, right

ESC n

H19 Cursor Position Report

Terminal Type Specific Behaviour
VT220
VT320
WY370
SNI-97801
AAA
BEOS
QANSI
LINUX
SUN
SCOANSI
AT386
ANSI

Lock shift G2, left

ESC o

H19 Erase to beginning of line

Terminal Type Specific Behaviour
VT220
VT320
WY370
SNI-97801
AAA
BEOS
QANSI
LINUX
SUN
SCOANSI
AT386
ANSI

Lock shift G3, left

ESC |

Terminal Type Specific Behaviour
VT220
VT320
WY370
SNI-97801
AAA
BEOS
QANSI
LINUX
SUN
SCOANSI
AT386
ANSI

Lock shift G3, right

ESC N

H19 Delete character

Terminal Type Specific Behaviour
VT220
VT320
WY370
SNI-97801
AAA
BEOS
QANSI
LINUX
SUN
SCOANSI
AT386
ANSI

Single shift G2, left

ESC O

H19 Insert character mode

Terminal Type Specific Behaviour
VT220
VT320
WY370
SNI-97801
AAA
BEOS
BEOS
QANSI
LINUX
SUN
SCOANSI
AT386
ANSI

Single shift G3, left

ESC {

H19 Disable keyboard lock (enable keyboard)

Application Program-Command functions

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.

Device-Control functions

DCS Ps ; Ps | Pt ST

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.

DCS Ps + m Pt ST

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.

Examples

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

DCS $ q Pt 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.

Pt = m ⇒ SGR

Not Implemented: K95 responds with:

DCS 0 $ r m ST

Pt = " q ⇒ DECSCA

Not Implemented: K95 responds with:

DCS 0 $ r " q ST

Pt = " p ⇒ DECSCL

Not Implemented: K95 responds with:

 DCS 0 $ r " p ST

Pt = r ⇒ DECSTBM

Not Implemented: K95 responds with:

DCS 0 $ r r ST

Pt = s ⇒ DECSLRM - Set Left and Right Margins

Not Implemented: K95 responds with:

DCS 1 $ r s ST

Pt = t ⇒ DECSLPP

Not Implemented: K95 responds with:

DCS 0 $ r t ST

Pt = } ⇒ DECPRO

Not Implemented: K95 responds with:

DCS 0 $ r } ST

Pt = $ | ⇒

Not Implemented: K95 responds with:

DCS 0 $ r $ | ST

Pt = $ } ⇒ DECSASD

Not Implemented: K95 responds with:

DCS 0 $ r $ } ST

Pt = $ ~ ⇒ DECSSDT

Not Implemented: K95 responds with:

DCS 0 $ r $ ~ ST

Pt = * x ⇒ DECSACE - Select Attrib Change Extent

Not Implemented: If DECSACE is on, K95 responds with:

DCS 2 $ r * x ST

otherwise, K95 responds with:

DCS 1 $ r * x ST

Pt = * | ⇒ DECSNLS - Set Num Lines Per Screen

Not Implemented: K95 responds with:

DCS 1 $ r * | ST

Pt = | ⇒ DECTTC

Not Implemented: K95 responds with:

DCS 0 $ r | ST

Pt = ' s ⇒ DECTLTC

Not Implemented: K95 responds with:

DCS 0 $ r ' s ST

Pt = + q ⇒ DECELF - Enable Local Functions

Not Implemented: K95 responds with:

DCS 1 $ r + q ST

Pt = + r ⇒ DECSMKR - Select modifier key reporting

Not Implemented: K95 responds with:

DCS 1 $ r + r ST

Pt = = } ⇒ DECLFKC - Local Function Key Control

Not Implemented: K95 responds with:

DCS 1 $ r = } ST

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

CSI Ps SP @

Scroll Left - Pan right Ps columns.

CSI Ps @

VT102 VT220 VT320 WY370 SNI-97801 AAA BEOS QANSI LINUX SUN VIP7809 HFT AIXTERM SUN BA80 SCOANSI AT386 ANSI ICH - Insert Ps characters.

CSI Ps A

Cursor Up Ps lines (default = 1)

SNI-97801 Ignored if outside scroll region

CSI = Ps A

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

CSI Ps SP A

Scroll Right - Pan left Ps columns.

CSI Ps B

Cursor Down Ps lines (default = 1)

SNI-97801 Ignored if outside scroll region

CSI = Ps ; Ps B

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").

CSI = Ps B

BA80 Alters the cursor in one of the following ways:

Ps = 0 ⇒ Cursor Off

Ps = 1 ⇒ Cursor On

Ps = 2 ⇒ Alternate Cursor (Block)

Ps = 3 ⇒ Normal Cursor (Underline)

CSI Ps C

Cursor Right Ps times (default = 1) staying on the same line

CSI = C

BA80 Not Implemented: Close Virtual Window

CSI = Pa ; Pb C

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.

CSI Ps D

Cursor left Ps characters

CSI = Ps D

Cursor Left Ps times (default = 1) staying on the same line

CSI = Ps D

SCOANSI AT386 ANSI Turn on/off background colour intensity

CSI E

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.

CSI Ps E

Cursor next line Ps times (default = 1)

CSI = E

BA80 Window Status Request

CSI = Ps E

SCOANSI AT386 ANSI If Ps is 0 then blink is simulated with bold background intesnity, any other value enables true blink.

CSI ? E

AIXTERM Erase status line

CSI Ps F

Cursor previous line Ps times (default = 1)

CSI ? F

AIXTERM Return from status line

CSI = F

BA80 Not Implemented: Fetch virtual window from the background

CSI = Ps F

SCOANSI AT386 ANSI QANSI Set Normal Foreground Color to Ps.

CSI Ps G

SCOANSI AT386 ANSI QANSI HFT LINUX Cursor Horizontal Absolute: Move cursor to column Ps

CSI = Ps G

SCOANSI AT386 ANSI QANSI Set Normal Background Color to Ps.

CSI ? H

HFT Hide status line

CSI = Ps H

SCOANSI AT386 ANSI Set Reverse Foreground Color to Ps

CSI Ps I

Cursor Horizontal Tab Ps tab stops

CSI = I

BA80 Not Implemented: Input

CSI = Ps I

SCOANSI AT386 ANSI Set Reverse background colour to Ps

CSI = ? I
CSI ? = I

BA80 Not Implemented: screen saver off

CSI Ps J

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.

Ps = 0 ⇒ Clear to end of screen with Space

SNI-97801 Only clears to end of scroll region

Ps = 1 ⇒ Clear to beginning of screen with Space

SNI-97801 Only clears to start of scroll region

Ps = 2 ⇒ Clear whole screen with Space

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.

Ps = 3 ⇒ Clear to end of screen with Space (SNI-97801)

SNI-97801 Clears to the end of the screen staying within the scroll region

Ps = 4 ⇒ Clear to beginning with NUL (SNI-97801)

SNI-97801 Fills to the beginning of the screen with NUL staying within the scroll region.

Ps = 5 ⇒ Clear whole screen with NUL (SNI-97801)

SNI-97801 Fills the current screen area (terminal or status line) with NUL staying within the scroll region

Ps = 6 ⇒ Clear to end of screen with space (SNI-97801)

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.

Ps = 7 ⇒ Clear to beginning of screen with space (SNI-97801)

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.

Ps = 8 ⇒ Clear whole screen with space (SNI-97801)

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.

Ps = 9 ⇒ Clear to end of screen with NUL (SNI-97801)

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.

Ps = 10 ⇒ Clear to beginning of screen with NUL (SNI-97801)

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.

Ps = 11 ⇒ Clear whole screen with NUL (SNI-97801)

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.

Ps = 12 ⇒ Clear to end of screen with space preserving attributes (SNI-97801)

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.

Ps = 13 ⇒ Clear to beginning of screen with space preserving attributes (SNI-97801)

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.

Ps = 14 ⇒ Clear whole screen with space preserving attributes (SNI-97801)

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.

Ps = 15 ⇒ Clear to end of screen with NUL preserving attributes (SNI-97801)

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.

Ps = 16 ⇒ Clear to beginning of screen with NUL preserving attributes (SNI-97801)

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.

Ps = 17 ⇒ Clear whole screen with NUL preserving attributes (SNI-97801)

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.

CSI ? Ps J

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.

CSI = Ps J

SCOANSI AT386 ANSI Set Graphic Foreground Color to Ps.

CSI = ? J
CSI ? = J

BA80 Not Implemented: Screen Saver On

CSI Ps K

EL - Erase in Line

Erases within a single line

Ps = 0 ⇒ Clear to end of line with space

Clears to the end of the line with the space character. Clears attributes.

Ps = 1 ⇒ Clear to beginning of line with Space

Clears to the beginning of the line with the space character. Clears attributes.

Ps = 2 ⇒ Clear whole cursor line with Space

Clears the entire currently line with the space character. Clears attributes.

Ps = 3 ⇒ Clear to end of line with NUL (SNI-97801)

Clears to the end of the line with the NUL character. Clears attributes.

Ps = 4 ⇒ Clears to beginning of line with NUL (SNI-97801)

Clears to the beginning of the line with the NUL character. Clears attributes.

Ps = 5 ⇒ Clears entire line with NUL (SNI-97801)

Clears the entire line with the NUL character. Clears attributes.

Ps = 6 ⇒ Clear to end of line with Space (SNI-97801)

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

Ps = 7 ⇒ Clear to beginning of line with Space (SNI-97801)

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

Ps = 8 ⇒ Clear entire line with Space (SNI-97801)

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

Ps = 9 ⇒ Clear to end of line with NUL (SNI-97801)

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.

Ps = 10 ⇒ Clear to beginning of line with NUL (SNI-97801)

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.

Ps = 11 ⇒ Clear entire line with NUL (SNI-97801)

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.

Ps = 12 ⇒ Clear to end of line with Space (SNI-97801)

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.

Ps = 13 ⇒ Clear to beginning of line with Space (SNI-97801)

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.

Ps = 14 ⇒ Clears the entire line with Space (SNI-97801)

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.

Ps = 15 ⇒ Clear to end of line with NUL (SNI-97801)

Clear to end of line with the NUL character. Not Implemented: Additionally, attributes should be preserved. K95 instead clears attributes.

Ps = 16 ⇒ Clear to beginning of line with NUL (SNI-97801)

Clear to the beginning of the line with the NUL character. Not Implemented: Additionally, attributes should be preserved. K95 instead clears attributes.

Ps = 17 ⇒ Clear the entire line with NUL (SNI-97801)

Clear the entire line with the NUL character. Not Implemented: Additionally, attributes should be preserved. K95 instead clears attributes.

CSI = K

BA80 Begin reading function key labels

CSI = Ps K

SCOANSI AT386 ANSI Set Graphic Background Color to Ps.

CSI ? Ps K

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).

CSI Ps L

VT102 VT220 VT320 WY370 SNI-97801 AAA BEOS QANSI LINUX SUN VIP7809 HFT AIXTERM SUN BA80 SCOANSI AT386 ANSI IL - Insert Ps lines.

CSI = Ps L

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).

CSI Ps M

VT102 VT220 VT320 WY370 SNI-97801 AAA BEOS QANSI LINUX SUN VIP7809 HFT AIXTERM SUN BA80 SCOANSI AT386 ANSI DL - Delete Ps lines.

CSI = M

BA80 Go to status line

SCOANSI AT386 ANSI ANSI - Report Color Attributes. The response is the background and foreground colours separated by a space.

CSI Ps N

HFT LINUX AAA EF - Erase Field

Ps = 0 ⇒ Erase to End of Field (Cursor to tab stop)

Ps = 1 ⇒ Erase from Field Start (tab stop to cursor)

Ps = 2 ⇒ Erase All of the field (tab stop to tab stop)

CSI Ps O

HFT LINUX AAA EA - Erase Area

Ps = 0 ⇒ Erase to end of area (line)

Ps = 1 ⇒ Erase from area start (line)

Ps = 2 ⇒ Erase all of the area (line)

CSI = O

BA80 Not Implemented: Open Virtual Window

CSI Ps P

VT102 VT220 VT320 WY370 SNI-97801 AAA BEOS QANSI LINUX SUN VIP7809 HFT AIXTERM SUN BA80 SCOANSI AT386 ANSI DCH - Delete Ps characters

CSI Ps Q

AAA Not Implemented: SEE - Select Editing Extent

CSI R

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

CSI Ps $ R

SCOANSI Delete lines - alternate form of CSI Ps M

CSI = Ps $ R

BA80 Not Implemented: Reset virtual window to the background

CSI Ps S

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.

CSI ? S

AIXTERM Show status line

CSI ? Pm S

HFT Not Implemented: Save Modes.

CSI = S

BA80 Return from Status Line

CSI Ps T

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.

CSI ? Ps T

AIXTERM Go to column Ps of the status line

CSI U

SCOANSI Reset Terminal

CSI Ps V

SCOANSI Erase in region

Ps = 0 ⇒ Clear to end of region

Clears to the end of the region with the space character and resets attributes

Ps = 1 ⇒ Clear to beginning of region

Clears to the beginning of the region with the space character and resets attributes

Ps = 2 ⇒ Clear whole region

Clears the whole scroll region with the space character and resets attributes

CSI Ps W

HFT LINUX AAA CTC - Cursor Tab Stop Control

CSI Ps X

VT220 VT320 WY370 SNI-97801 AAA BEOS QANSI LINUX SUN HFT LINUX AAA SCOANSI AT386 ANSI ECH - Erase Ps characters

CSI Y

HFT Not Implemented: Cursor Vertical Tab

CSI = Z

SCOANSI AT386 ANSI Reset colours

CSI Ps Z

CBT - Cursor Backward Tabulation. Moves active cursor position back Ps tab stops.

CSI Ps a

Horizontal Position Relative - moves active position Ps characters to the right.

CSI Ps b

QANSI Repeat previous character Ps times.

CSI Pc ; Pn b

SCOANSI AAA Comment says "Horizontal Position Relative". Code repeats character Pc Pn times

CSI c

SNI-97801 Resets the terminal

CSI Ps c

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

CSI > Ps 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

CSI = Ps 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.

CSI ? Ps ; Pa ; Pc c

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

CSI Ps d

Vertical Position Absolute: Moves active position to row Ps

CSI Ps e

Vertical Position Relative - moves active position Ps rows down

CSI Ps ; Ps f

Send cursor to row;column. Default is 1;1

SNI-97801 If DECSASD is set to the status line, it is reset to terminal.

CSI Ps g

Tab clear at position Ps

SCOANSI Ignored.

CSI Ps g

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.

CSI = Ps g

SCOANSI AT386 ANSI Displays the character Ps in G2

CSI Pm h

Non-private / ANSI Set Mode

Ps = 2 ⇒ Keyboard lock

Locks the keyboard

Ps = 3 ⇒ Controls Mode On, or SCO: 132 Column Mode

Controls Mode On

SCOANSI Switches to 132 Column Mode

Ps = 4 ⇒ ANSI Insert Mode, or SCO: Enable Smooth Scrolling

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

Ps = 6 ⇒ Erasure Mode Set, or SCO: Relative Origin

Erasure Mode Set

SCOANSI Returns the cursor to 1,margintop

Ps = 7 ⇒ Auto Wrap Mode

SCOANSI Enables auto wrap mode

Ps = 12 ⇒ Send Receive ON

Switches to full duplex mode

Ps = 13 ⇒ Control execution off

Not Implemented: display control codes

Ps = 16 ⇒ TTM - Send through cursor position

Not Implemented: Send through cursor position

Ps = 20 ⇒ LNM - Line Feed / new line mode

Turns on terminal new line and display crlf (equivalent to set terminal cr-display crlf and set terminal newline on

Ps = 25 ⇒ Cursor On

SCOANSI Turns on the cursor

Ps = 30 ⇒ SCO: Scrollbars On, WY370: Display off

SCOANSI Not Implemented: Scrollbars On

WY370 Turns the screen off

Ps = 31 ⇒ WYSTLINM - Display status line

Not Implemented: Display status line

Ps = 32 ⇒ WYCTRSAVM - Screen Saver off

Not Implemented: Screen Saver off

Ps = 33 ⇒ WYSTCURM - Cursor steady

Not Implemented: Cursor steady

Ps = 34 ⇒ WYULCURM - Underline cursor

WY370 Changes to the underline cursor

Ps = 35 ⇒ WYCLRM - Width change clear off

Not Implemented: Width change clear off

Ps = 36 ⇒ WYDELKM - Set delete key to BS/DEL

Not Implemented: Set delete key to BS/DEL

Ps = 37 ⇒ WYGATM - Send all characters

Not Implemented: Send all characters

Ps = 38 ⇒ WYTEXM - Send full page

Not Implemented: Send full page

Ps = 40 ⇒ WYEXTDM - Extra data line

Not Implemented: Extra data line

Ps = 42 ⇒ WYASCII - Select Wyse 350 personality

Not Implemented: Select Wyse 350 personality

Ps = 44 ⇒ Margin Bell On

SCOANSI Enables the margin bell

Ps = 48 ⇒ Cursor On

SCOANSI Turns on the cursor

Ps = 50 ⇒ 97801-5XX - Compose key table on

SNI-97801 Not Implemented: Compose key table on

Ps = 51 ⇒ 97801-5XX - Dead key table on

SNI-97801 Not Implemented: Dead key table on

Ps = 53 ⇒ 97801-5XX - 132-character mode

SNI-97801 Switch to 132 character mode

Ps = 1048 ⇒ Cursor On

SCOANSI Turns on the cursor

CSI ? Pm h

DECSET: DEC Private Mode Set

Ps = 1 ⇒ DECCKM

Application Cursor Keys

Ps = 2 ⇒ DECANM

Switch to VT52 mode

H19Turn off VT52 graphics and switch to H19 mode

Ps = 3 ⇒ DECCOLM - 132 column mode

Switches the screen to 132 columns and moves homes the cursor

Ps = 4 ⇒ DECSCLM - Smooth scroll

Console version only: Enable smooth (slow) scrolling mode. K95G (the GUI version) presently ignores this setting.

Ps = 5 ⇒ DECSCNM - Reverse screen

Switches to reverse video

Ps = 6 ⇒ DECOM - Relative origin

Switches to relative origin mode

Ps = 7 ⇒ DECAWM - Auto Wrap mode

Turns auto-wrap mode on

Ps = 8 ⇒ DECARM - Autorepeat

Not Implemented: enable auto-repeat mode

Ps = 9 ⇒ DECINLM - Interlace / X10 mouse reporting

Not Implemented: enable interlaced video mode

LINUX SCOANSI AT386 ANSI Send mouse X & Y on button press (X10 mouse reporting).

Ps = 10 ⇒ DECEDM - Block Mode On

Not Implemented: K95 does not support the VT132 block editing mode

Ps = 18 ⇒ DECPFF - Print Form Feed

Enables print form-feed (sends a form-feed to the printer after printing some or all of the screen)

Ps = 19 ⇒ DECPEX - Printer extent

Set print extent to print the entire screen

Ps = 25 ⇒ DECTCEM - Cursor On

Turn on the cursor

Ps = 34 ⇒ DECRLM - Right to Left Mode

Not Implemented: right-to-left mode

Ps = 35 ⇒ DECHEBM - Hebrew Keyboard Mode

Switches the keyboard mode to Hebrew

Ps = 36 ⇒ DECHEM - Hebrew Encoding Mode

Not Implemented: Enter hebrew encoding mode

Ps = 38 ⇒ DECTEK - Enter Tektronix 4010/4014 mode

Not Implemented: K95 does not (yet) support the Tektronix mode

Ps = 40 ⇒ XTERM - Allow 80 - 132 Mode

Not Implemented: XTERM - Allow 80 - 132 Mode

Ps = 41 ⇒ XTERM - more(1) fix

Not Implemented: XTERM - more(1) fix

Ps = 42 ⇒ DECNRCM - Use 7-bit National Replacement Character Sets

Switch to using 7-bit national replacement character sets

Ps = 43 ⇒ DECGEPM - Graphics Expanded Print mode

Not Implemented: VT340 Graphics Expanded Print Mode

Ps = 44 ⇒ DECGPCM - Graphics Print Color mode

Not Implemented: VT340 Graphics Print Color Mode

XTERM Not Implemented: Xterm - Turn on Margin Bell

Ps = 45 ⇒ DECGPCS - Graphics Print Color syntax = RGB

Not Implemented: Graphics Print Color syntax = RGB

XTERM Not Implemented: Xterm - Reverse-wraparound mode

Ps = 46 ⇒ DECGPBM - Graphics Print Background mode

Not Implemented: Graphics Print Background mode

XTERM Not Implemented: Xterm - Start Logging (XTLOGGING)

Ps = 47 ⇒ DECGRCM - Graphics Rotated Print mode

Not Implemented: Graphics Rotated Print mode

XTERM Not Implemented: Xterm - Use Alternate Screen Buffer

Ps = 53 ⇒ DEC131TM - VT131 Transmit

Not Implemented: VT131 Transmit

Ps = 60 ⇒ DECHCCM - Horizontal cursor coupling

Not Implemented: Horizontal cursor coupling

Ps = 61 ⇒ DECVCCM - Vertical cursor coupling

Not Implemented: Vertical cursor coupling

Ps = 64 ⇒ DECPCCM - Page cursor coupling

Not Implemented: Page cursor coupling

Ps = 66 ⇒ DECNKM - Numeric Keyboard - Application

Switches the numeric keypad to application mode

Ps = 67 ⇒ DECBKM - Backarrow key sends BS

Adjusts the keymap so that the backarrow key sends backspace. The previous key definition is saved so it can be restored later.

Ps = 68 ⇒ DECKBUM - Keyboard Usage - Data Processing

Not Implemented: K95 stores this setting, but does not currently use it for anything

Ps = 73 ⇒ DECXRLM - Transmit rate limiting

Not Implemented: transmit rate limiting

Ps = 80 ⇒ WY161 - 161-column mode

Not Implemented: Enable Sixel Display Mode

WY370 Switch to 161-column mode

Ps = 83 ⇒ WY52 - 52 line mode

WY370 Switch to 52 line mode

Ps = 84 ⇒ WYENAT

WY370 Not Implemented: enable separate assignment of SGR attributes to erasable and non-erasable characters

Ps = 85 ⇒ WYREPL

WY370 Not Implemented: set replacement character to current character background color

Ps = 1000 ⇒ XTERM - Send Mouse X&Y on button press and release

Sends mouse X & Y on button press and release

Ps = 1001 ⇒ XTERM - Use Hilite Mouse Tracking

Not Implemented: Hilite mouse tracking

Ps = 1002 ⇒ XTERM - Cell Motion Mouse Tracking

Enables button event mouse reporting

Ps = 1003 ⇒ XTERM - All Motion Mouse Tracking

Enables all motion mouse tracking

Ps = 1004 ⇒ XTERM - Send FocusIn / FocusOut events

Not Implemented: Send FocusIn / FocusOut events

Ps = 1005 ⇒ XTERM - Enable UTF-8 Mouse Mode

Not Implemented: UTF-8 Mouse Mode

Ps = 1006 ⇒ XTERM - Enable SGR Mouse Mode

Enables SGR mouse reporting

Ps = 1007 ⇒ XTERM - Enable Alternate Scroll Mode

Not Implemented: enable alternate scroll mode

Ps = 1010 ⇒ RXVT - Scroll to bottom on tty output

Not Implemented: scroll to bottom on tty output

Ps = 1011 ⇒ RXVT - Scroll to bottom on key press

Not Implemented: scroll to bottom on key press

Ps = 1015 ⇒ URXVT - Enable URXVT Mouse Mode

Enables URXVT mouse reporting

Ps = 2004 ⇒ XTERM - Enable Bracketed Paste Mode

Enables bracketed paste mode. ESC [ 2 0 0 ~ will be sent before the pasted text, and ESC [ 2 0 1 ~ after it.

CSI > Pm h

Zenith, Heath and AnnArbor set mode

AnnArbor values 25-61 (excluding 50, 58 and 60) are parsed but not implemented.

Ps = 1 ⇒ Enable 25th line

Disables the status line

Ps = 2 ⇒ No Key Click

Disables key click

Ps = 3 ⇒ Hold Screen Mode

Not Implemented: hold screen mode

Ps = 4 ⇒ Block Cursor

Switches the cursor to a block

Ps = 5 ⇒ Cursor Off

Turns off the cursor

Ps = 6 ⇒ Keypad Shifted

Not Implemented: While K95 stors the keypad shifted setting, it does not currently use this value for anything

Ps = 7 ⇒ Alternate keypad mode

Switches the keypad to application mode

Ps = 8 ⇒ Auto Line Feed on receipt of CR

Enables automatic line feed on receipt of CR

Ps = 9 ⇒ Auto CR on receipt of LF

Enables automatic carriage return on receipt of LF

CSI Pm i

Media Copy

Ps = 0 ⇒ Print whole screen

Sends the entire screen to the configured printer

Ps = 2 ⇒ Transmit Screen

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.

Ps = 4 ⇒ Turn off Transparent Print

Turns off Transparent Print

Ps = 5 ⇒ Transparent Print

Sends every character received to the configured printer

Ps = 6 ⇒ Turn off screen display
Ps = 7 ⇒ Turn on screen display

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.

CSI ? Pm i

Media Copy

Ps = 1 ⇒ Print cursor line

Sends the line the cursor is currently on to the configured printer

Ps = 4 ⇒ Turn off Autoprint

Turns off Autoprint

Ps = 5 ⇒ Autoprint

Enables Autoprint mode - sends each line to the configured printer as the cursor leaves it (line feed, form feed, vertical tab, wrap)

CSI Pm k

Turns key click off (Ps = 1) or on (Ps = 0)

CSI = ? l
CSI ? = l

Insert line up

CSI Pm l

Mode Reset

Ps = 2 ⇒ Keyboard unlocked

unlocks the keyboard

Ps = 3 ⇒ Controls Mode off, or SCO: 80 columns

Controls mode off

SCOANSI Switch to 80 column mode

Ps = 4 ⇒ ANSI Insert Mode, or SCO: Jump Scroll

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.

Ps = 6 ⇒ Erasure Mode Reset, or SCO: Absolute Origin

Erasure mode reset

SCOANSI Sends the cursor to 1,1

Ps = 7 ⇒ Auto Wrap

SCOANSI Turns off auto-wrap

Ps = 12 ⇒ Send Receive Off

Turns on local echo

Ps = 13 ⇒ FEAM - Control execution on

Not Implemented: control execution on

Ps = 16 ⇒ TTM - Send through EOL or EOS

Not Implemented: Send through EOL or EOS

Ps = 20 ⇒ LNM - linefeed / newline mode

Turns off terminal new line and display crlf

Ps = 25 ⇒ Cursor off

SCOANSI Disable cursor

Ps = 30 ⇒ WYDSCM - Turn display on, or SCO: Scrollbars Off

WY370 Turn display on

SCOANSI Turn scrollbars off

Ps = 31 ⇒ WYSTLINM - Turn off status line

Not Implemented: Turn off status line

Ps = 32 ⇒ WYCTRSAVM - Screen Saver on

Not Implemented: Screen Saver on

Ps = 33 ⇒ WYSTCURM - Cursor blinking

Not Implemented: Cursor blinking

Ps = 34 ⇒ WYULCURM - Block cursor

WY370 Switch to block cursor

Ps = 35 ⇒ WYCLRM - Width change clear on

Not Implemented: Width change clear on

Ps = 36 ⇒ WYDELKM - Set delete key to DEL/CAN

Not Implemented: Set delete key to DEL/CAN

Ps = 37 ⇒ WHGATM - Send erasable characters

Not Implemented: Send erasable characters

Ps = 38 ⇒ WYTEXM - Send scrolling region

Not Implemented: Send scrolling region

Ps = 40 ⇒ WYEXTDM - Extra data line

Not Implemented: Extra data line

Ps = 44 ⇒ Margin Bell Off

SCOANSI Turn margin bell off

Ps = 48 ⇒ Cursor off

SCOANSI Disable cursor

Ps = 50 ⇒ 97801-5XX - Compose key table off

SNI-97801 Not Implemented: Make compose key send Compse Key String

Ps = 51 ⇒ 97801-5XX - Dead key table off

SNI-97801 Not Implemented: Dead key table off

Ps = 53 ⇒ 97801-5XX - 80-character mode

SNI-97801 Switch to 80 column mode

Ps = 1048 ⇒ Cursor off

SCOANSI Disable cursor

CSI ? Pm l

DEC Private Mode Reset

Ps = 1 ⇒ DECCKM - Cursor key mode

Sets the arrow keys to normal

Ps = 2 ⇒ DECANM : ANSI/VT52

Switches to VT52 mode

Ps = 3 ⇒ DECCOLM - 80 Columns

Switches to 80 column mode

Ps = 4 ⇒ DECSCLM - Jump scrolling

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

Ps = 5 ⇒ DECSCNM - Normal screen

Normal screen

Ps = 6 ⇒ DECOM - Absolute origin

Normal cursor mode

Ps = 7 ⇒ DECAWM - Auto wrap

Turn off autowrap

Ps = 8 ⇒ DECARM - Auto repeat

Not Implemented: turn off auto-repeat

Ps = 9 ⇒ DECINLM - Interlace

Not Implemented: Turn off interlaced video

LINUX SCOANSI AT386 ANSI Turn off X10 mouse reporting

Ps = 10 ⇒ DECEDM - Block mode off

Not Implemented: turn off block mode

Ps = 18 ⇒ DECPFF - Print Form Feed

Don't send form feed after printing screen

Ps = 19 ⇒ DECPEX - Print extent

Print scrolling region, not full screen

Ps = 25 ⇒ DECTCEM - Cursor Off

Turn off cursor

Ps = 34 ⇒ DECRLM - Right to Left Mode

Not Implemented: Right to left mode

Ps = 35 ⇒ DECHEBM - Enter english keyboard mode

Enter english keyboard mode

Ps = 36 ⇒ DECHEM - Hebrew Encoding Mode

Not Implemented: Hebrew encoding mode

Ps = 38 ⇒ DECTEK - Exit Tektronix 4010/4014 mode

Not Implemented: Exits tektronix mode. Tektronix mode doesn't currently do anything in K95.

Ps = 40 ⇒ XTERM - Disallow 80 - 132 mode switch

Not Implemented: Disallow 80 - 132 column switch

Ps = 41 ⇒ XTERM - No more(1) fix

Not Implemented: xterm more(1) fix

Ps = 42 ⇒ DECNRCM - 8-bit multinational character set

Use 8-bit multinational character set

Ps = 43 ⇒ DECGEPM - Graphics Normal Print mode

Not Implemented: Graphics Normal Print mode

Ps = 44 ⇒ DECGPCM - Graphics Print Monochrome mode

Not Implemented:Graphics Print Monochrome mode

Ps = 45 ⇒ DECGPCS - Graphics Print Color syntax = HLS

Not Implemented: Graphics Print Color syntax = HLS

Ps = 46 ⇒ DECGPBM - Graphics Print No-Background mode

Not Implemented: Graphics Print No-Background mode

Ps = 47 ⇒ DECGRCM - Graphics Unrotated Print mode

Not Implemented:Graphics Unrotated Print mode

Ps = 53 ⇒ DEC131TM - VT131 Transmit

Not Implemented: VT131 Transmit

Ps = 60 ⇒ DECHCCM - Horizontal cursor coupling

Not Implemented: Horizontal cursor coupling

Ps = 61 ⇒ DECVCCM - Vertical cursor coupling

Not Implemented: Vertical cursor coupling

Ps = 64 ⇒ DECPCCM - Page cursor coupling

Not Implemented: Page cursor coupling

Ps = 66 ⇒ DECNKM - Numeric Keyboard - Numeric

Sets the keypad to normal

Ps = 67 ⇒ DECBKM - Backarrow sends DEL

Changes the keymap so that backarrow sends DEL.

Ps = 68 ⇒ DECKBUM - Keyboard Usage - Typewriter mode

Not Implemented: While K95 stores this setting, it doesn't do anything with it

Ps = 73 ⇒ DECXRLM - Transmit rate limiting

Not Implemented: Transmit rate limiting

Ps = 80 ⇒ WY161 - 80-column mode

WY370 Switches to 80-column mode

Ps = 83 ⇒ WY52 - 24 line mode

WY370 Switches to 24 line mode

Ps = 84 ⇒ WYENAT

WY370 Enable attribute assignment (SGR) to extend to both eraseable and nonerasable characters

Ps = 85 ⇒ WYREPL

WY370 Set replacement character to color map background color

Ps = 1000 ⇒ XTERM - Don't Send Mouse X&Y on button press and release

Disable X11 mouse reporting

Ps = 1001 ⇒ XTERM - Don't use Hilite Mouse Tracking

Not Implemented: Hilite mouse tracking

Ps = 1002 ⇒ XTERM - Cell Motion Mouse Tracking

Turns off button-event mouse reporting

Ps = 1003 ⇒ XTERM - All Motion Mouse Tracking

Turns off all mose reporting

Ps = 1004 ⇒ XTERM - Send FocusIn/FocusOut events

Not Implemented: Send FocusIn/FocusOut events

Ps = 1005 ⇒ XTERM - UTF-8 Mouse Mode

Not Implemented: UTF-8 Mouse Mode

Ps = 1006 ⇒ XTERM - Disable SGR Mouse Mode

Turns off SGR mouse reporting

Ps = 1007 ⇒ XTERM - Alternate Scroll Mode

Not Implemented: Alternate Scroll Mode

Ps = 1010 ⇒ RXVT - Scroll to bottom on tty output

Not Implemented: Scroll to bottom on tty output

Ps = 1011 ⇒ RXVT - Scroll to bottom on key press

Not Implemented: Scroll to bottom on key press

Ps = 1015 ⇒ URXVT - Disable URXVT Mosue Mode

Disable URXVT mouse reporting

Ps = 2004 ⇒ XTERM - Disable Bracketed Paste Mode

Disable bracketed paste mode

CSI > Pm l

Zenith/Heath Mode Reset

AnnArbor values 25-61 are not implemented (excluding 50, 58 and 60 which are ignored)

Ps = 1 ⇒ Disable 25th line

Enables the status line

Ps = 2 ⇒ Key Click

Enables key click

Ps = 3 ⇒ Exit Hold Screen Mode

Not Implemented: Hold screen mode

Ps = 4 ⇒ Underline Cursor

Ps = 5 ⇒ Cursor On

Ps = 6 ⇒ Keypad Unshifted

Ps = 7 ⇒ Exit Alternate keypad mode

Ps = 8 ⇒ No Auto Line Feed on receipt of CR

Ps = 9 ⇒ No Auto CR on receipt of LF

CSI = Ps ; Ps }
CSI = Ps ; Ps m

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`.

CSI Pm m Character Attributes (SGR)

Ps = 0 ⇒ Normal (default), VT100

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.

Ps = 1 ⇒ Turn on Bold

Turns on the Bold attribute

Ps = 2 ⇒ Turn on Faint/Dim (NORMAL), Set Foreground and Background Colour (SCOANSI)

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
0Black
1Blue
2Green
3Cyan
4Red
5Magenta
6Brown
7Light Grey

Other Terminals Turns on the Faint/Dim (decreased intensity) attribute.

Ps = 3 ⇒ Turn on Italic

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.

Ps = 4 ⇒ Turn on Underline

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.

Ps = 5 ⇒ Turn on Blink

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.

Ps = 6 ⇒ Turn on Fast Blink, or for SCOANSI turns off blink

Turns on fast blink, which is currently the same as regular blink.

SCOANSI Turns off Blink instead of turning on fast blink

Ps = 7 ⇒ Turn on Reverse Video

Turns on the Reverse Video attribute.

AT386 Instead of turning on the reverse video attribute, the foreground and background colours are swapped.

Ps = 8 ⇒ Turn on Invisible attribute
Ps = 9 ⇒ Turn on Invisible attribute (QANSI)

Turns on the Invisible attribute.

TODO:
Ps = 9 should only apply to QANSI, for all other terminals PS=9 should be crossed-out characters (ECMA-48 3rd Ed)

Ps = 10 ⇒ Select Primary Font

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.

Ps = 11 ⇒ Display GL Control Characters as Graphic Characters

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.

Ps = 12 ⇒

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.

Ps = 13 ⇒ Shift High Bit on before displaying characters
Ps = 14 ⇒ Shift High Bit on before displaying characters
Ps = 15 ⇒ Shift High Bit on before displaying characters
Ps = 16 ⇒ Shift High Bit on before displaying characters
Ps = 17 ⇒ Shift High Bit on before displaying characters

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

Ps = 21 ⇒ Set Normal Intensity

Turns off the Bold and Dim attributes

TODO:
ECMA-48 3rd Edition: This should turn on doubly-underlined
LINUX TODO:
Current behaviour is correct for linux versions before 4.17. Linux 4.17 and newer use this to turn on underline (as opposed to underscore set by Ps=2?)

Ps = 22 ⇒ Normal (turn off bold and dim)

Turns off the bold and dim attributes

Ps = 23 ⇒ Turn off Italic

Turns off the italic attribute

Ps = 24 ⇒ Turn off Underline

Turns off the underline attribute

Ps = 25 ⇒ Turn off Blink

Turns off the blink attribute

Ps = 26 ⇒ Turn off Blink, or (SCOANSI) turn on blink

Turns off the blink attribute

SCOANSI Turns On the blink attribute

Ps = 27 ⇒ Turn off Reverse Video

Turns off the Reverse Video attribute

Ps = 28 ⇒ Turn off Invisible
Ps = 29 ⇒ Turn off Invisible (QANSI)

Turns off the Invisible attribute

TODO:
Ps = 29 should only apply to QANSI, for all other terminals PS=29 should be not crossed-out characters (ECMA-48 3rd Ed)

Ps = 30 ⇒ Set Black Foreground
Ps = 31 ⇒ Set Red Foreground
Ps = 32 ⇒ Set Green Foreground
Ps = 33 ⇒ Set Brown Foreground
Ps = 34 ⇒ Set Blue Foreground
Ps = 35 ⇒ Set Magenta Foreground
Ps = 36 ⇒ Set Cyan Foreground
Ps = 37 ⇒ Set White Foreground

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

Ps = 38 ⇒ Not Implemented: Enable Underline Option

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.

LINUX TODO:
Before Linux 3.16: Set underscore on. From Linux 3.16: 256/24-bit foreground color follows, shoehorned into 16 basic colors

Ps = 39 ⇒ Set foreground color to default

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.

Ps = 40 ⇒ Set Black Background
Ps = 41 ⇒ Set Red Background
Ps = 42 ⇒ Set Green Background
Ps = 43 ⇒ Set Brown Background
Ps = 44 ⇒ Set Blue Background
Ps = 45 ⇒ Set Magenta Background
Ps = 46 ⇒ Set Cyan Background
Ps = 47 ⇒ Set White Background

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

Ps = 48 ⇒ Not processed

LINUX TODO:
256/24-bit background color follows, shoehorned into 8 basic colors

Ps = 49 ⇒ Set background color to default

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

Ps = 50 ⇒ Not implemented.

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

Ps = 51 ⇒ Not Implemented

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.

Ps = 90 ⇒ Set Bright Black Foreground
Ps = 91 ⇒ Set Bright Red Foreground
Ps = 92 ⇒ Set Bright Green Foreground
Ps = 93 ⇒ Set Bright Brown Foreground
Ps = 94 ⇒ Set Bright Blue Foreground
Ps = 95 ⇒ Set Bright Magenta Foreground
Ps = 96 ⇒ Set Bright Cyan Foreground
Ps = 97 ⇒ Set Bright White Foreground

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

Ps = 100 ⇒ Set Bright Black Background
Ps = 101 ⇒ Set Bright Red Background
Ps = 102 ⇒ Set Bright Green Background
Ps = 103 ⇒ Set Bright Brown Background
Ps = 104 ⇒ Set Bright Blue Background
Ps = 105 ⇒ Set Bright Magenta Background
Ps = 106 ⇒ Set Bright Cyan Background
Ps = 107 ⇒ Set Bright White Background

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

CSI Ps n

Ps = 0 ⇒ SCO: Transmit cursor position

SCOANSI Transmit Cursor Position

Ps = 5 ⇒ Terminal Status Report

Responds with CSI 0 n indicating the terminal si OK

Ps = 6 ⇒ CPR - Cursor position report

Transmits the cursor position to the host. Response is: CSI x ; y R where x and y are the cursor coordinates

Ps = 15 ⇒ DECDSR - Printer status

K95 responds with printer ready: CSI ? 1 0 n

Ps = 25 ⇒ DECDSR - UDK status

If User Defined Keys are locked, K95 responds with CSI ? 2 1 n or CSI ? 2 0 n if they're unlocked

Ps = 26 ⇒ DECDSR - Keyboard language, UK or US

Sends CSI ? 2 7 ; 2 n if G0 is British ISO 646, otherwise K95 sends CSI ? 2 7 ; 1 n

CSI ? Ps n

Ps = 6 ⇒ DECXCPR - Cursor position report

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)

Ps = 15 ⇒ DECDSR - Printer status

K95 responds with printer ready: CSI ? 1 0 n

Ps = 25 ⇒ DECDSR - UDK status

If User Defined Keys are locked, K95 responds with CSI ? 2 1 n or CSI ? 2 0 n if they're unlocked

Ps = 26 ⇒ DECDSR - Keyboard language, UK or US

Sends CSI ? 2 7 ; 2 n if G0 is British ISO 646, otherwise K95 sends CSI ? 2 7 ; 1 n

CSI o

AAA Not Implemented: DAQ - Define Area Qualification

CSI Ps o

SCOANSI Transmit Margin Position. Responses are one or more numbers separated by spaces if required and followed by a line feed.

Ps = 0 ⇒ All margins (four numbers)

Ps = 1 ⇒ Margin Top

Ps = 2 ⇒ Margin Bottom

Ps = 3 ⇒ Margin Left

Ps = 4 ⇒ Margin Right

CSI p

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.

CSI Ps p

SNI-97801 Set... things?

Ps = 0 ⇒ Blinking on

Not Implemented: Blinking on, lines 1-25 or 1-24

Ps = 1 ⇒ Blinking off

Not Implemented: Blinking off, lines 1-25 or 1-24

Ps = 2 ⇒ Blinking on, line 25

Not Implemented: Blinking on, line 25

Ps = 3 ⇒ Blinking off, line 25

Not Implemented: Blinking off, line 25

Ps = 5 ⇒ Request abbreviated cursor position

Responds with <FS> <line+0x20> <column+0x20>, 0 based

Ps = 6 ⇒ Cursor not visible

Hides the cursor

Ps = 7 ⇒ Activate cursor

Shows the cursor

Ps = 8 ⇒ Display off

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.

Ps = 9 ⇒ Display on

Re-enable viewing the display buffer with real data.

Ps = 10 ⇒ Single inverting block cursor

Sets the cursor to half

Ps = 11 ⇒ Activate block cursor

Sets the cursor to full (block)

Ps = 12 ⇒ Activate underscore cursor

Sets the cursor to underline

Ps = 13 ⇒ Activate cursor blinking

Not Implemented: Activate cursor blinking

Ps = 14 ⇒ Deactivate cursor blinking

Not Implemented: Deactivate cursor blinking

CSI Pa ; Pu ; Pl ; Ps ; Pc ; Pm ; p

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.

CSI ! p

DECSTR - Soft Reset: Resets the terminal

CSI Pl ; Pc " p

DECSCL - Set compatibility level and set active status display to terminal. The second parameter is only recognised in combination with levels 2 and 3.

Pl = 6 1 ⇒ level 1

VT100Sets the terminal type mode to VT100

VT100 VT102 VT220 VT220PC VT320 VT320PC WY370 Sets the terminal type mode to VT102

Pl = 6 2 ⇒ level 2

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

Pl = 6 3 ⇒ level 3

VT320 VT320PC Sets the terminal type mode to VT320

WY370 Sets the terminal type mode to WY370

Pc = 0 or 2 ⇒ 8-bit controls

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.

Pc = 1 or any other value ⇒ 7-bit controls

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.

CSI ? Ps $ p

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

CSI $ p

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

CSI Ps ; Ps , p

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).

CSI q

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.

CSI Ps q

SNI-97801 Not Implemented: Turns CH.CODE LED off (Ps = 0) or on (Ps = 6). Does not affect actual mode.

CSI Pm q

DECLL - Load LEDs

Ps = 0 ⇒ All LEDs off

Ps = 1 ⇒ Num Lock on

Ps = 2 ⇒ Caps Lock On

Ps = 3 ⇒ Scroll Lock On

Ps = 4 ⇒ LED 4 On

Ps = 21 ⇒ Num Lock off

Ps = 22 ⇒ Caps Lock Off

Ps = 23 ⇒ Scroll Lock Off

Ps = 24 ⇒ LED 4 Off

CSI Ps " q

Terminal Type Specific Behaviour
VT220
VT320
WY370
SNI-97801
AAA
BEOS
QANSI
LINUX
SUN

DECSCA - Select Character Attributes. Valid values for the parameter are:

0 or 2 Designate character erasable
1 Designate character unerasable

CSI Ps SP q

Set Cursor Type (VT520).

Ps = 0 ⇒ Blinking Block
Ps = 1 ⇒ Blinking Block

Ps = 2 ⇒ Steady Block

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

Ps = 3 ⇒ Blinking Underline

Ps = 4 ⇒ Steady Underline

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.

CSI Ps r

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.

CSI Ps ; Ps r

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.

CSI Ps ; Ps ; Ps ; Ps r

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;

CSI = r

SCOANSI Reset/clear margins

CSI ? Pm r

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.

CSI Pt ; Pl ; Pb ; Pr ; Pm $ r

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

CSI s

SUN Reset Terminal

SCOANSI AT386 ANSI SNI-97801 Save cursor position

AAA Not Implemented: zPSH - Push Line

CSI Ps s

SNI-97801 Turn key click off (Ps = 2) or on (Ps = 3). Not Implemented: Repeat off (Ps = 0) and Repeat on (Ps = 1)

CSI t

AAA Not Implemented: zPOP - Pop Line

CSI Ps t

SNI-97801 Card Reader operations:

Ps = 0 ⇒ Disable ID card reader

Not Implemented

Ps = 1 ⇒ Enable ID card reader

Not Implemented

Ps = 2 ⇒ Query ID card reader status

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

CSI Ps ; Ps ; Ps t

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).

Ps = 1 ⇒ Deiconify (Restore) window (xterm)

K95G only: Deiconify/restore/un-minimise window. Ignored by the console version of K95.

Ps = 2 ⇒ Iconify (minimize) window (xterm)

K95G only: minimizes the window. Ignored by the console version of K95.

Ps = 3 ; x ; y ⇒

K95G: Move window to (x,y). X and Y will default to 0 if not supplied. Ignored by the console version of K95.

Ps = 4 ; height ; width ⇒

K95G only: Size the window in pixels. If width or height is 0 then do not change that dimension.

Ps = 5 ⇒ Raise Window

Not Implemented: Raise Window

Ps = 6 ⇒ Lower Window

Not Implemented: Lower Window

Ps = 7 ⇒ Refresh the xterm window

Not Implemented: Refresh Window

Ps = 8 ; height ; width ⇒ Resize window in characters

Resizes the window to the specified number of rows and columns.

Ps = 9 ⇒ Maximise Window

Not Implemented: Maximise window in method specified by the second parameter (maximise, maximise vertically, maximise horizontally, or restore if the parameter is 0).

Ps = 10 ⇒ Full Screen Mode

Not Implemented: Undo full screen mode, Change to full screen mode, toggle full screen mode - the second parameter (0-2) indicates which one.

Ps = 11 ⇒ Report state of window (normal/iconified)

Not Implemented

Ps = 13 ⇒ Report position of window in pixels

Not Implemented: If the second parameter is 2, report the text area position in pixels, otherwise report the window position.

Ps = 14 ⇒ Report size of window in pixels

Not Implemented: If the second parameter is 2, report window size in pixels, otherwise report text area size in pixels.

Ps = 15 ⇒ Report size of the screen in pixels

Not Implemented

Ps = 16 ⇒ Report xterm character cell size in pixels

Not Implemented

Ps = 18 ⇒ Report the size of the text area in chars

Responds with: CSI 8 ; height ; width t

Ps = 19 ⇒ Report the size of the screen in characters

Not Implemented

Ps = 20 ⇒ Report icon label

Not Implemented

Ps = 21 ⇒ Report window label

Not Implemented

Ps = 22 ⇒ Save icon and window title on stack

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.

Ps = 23 ⇒ Restore title and/or icon from 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.

Ps = 24 ⇒ DECSLPP - Set Screen Height
Ps = 25 ⇒ DECSLPP - Set Screen Height
Ps = 36 ⇒ DECSLPP - Set Screen Height
Ps = 41 ⇒ DECSLPP - Set Screen Height
Ps = 42 ⇒ DECSLPP - Set Screen Height
Ps = 48 ⇒ DECSLPP - Set Screen Height
Ps = 52 ⇒ DECSLPP - Set Screen Height
Ps = 53 ⇒ DECSLPP - Set Screen Height
Ps = 72 ⇒ DECSLPP - Set Screen Height

Sets the screen height to Ps rows. If the second and third parameters are supplied they are ignored - DECSLPP only uses the first parameter.

CSI Pt ; Pl ; Pb ; Pr ; Pm $ t

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

CSI > Ps t

Not Implemented: XTSMTITLE - set one or more features of the xterm title mode

CSI u

AAA Not Implemented: zSTP - Set Transfer Point

SCOANSI AT386 ANSI SNI-97801 Restore cursor position

CSI Ps u

SNI-97801 Various mode options

Ps = 0 ⇒ 25-line mode on

Turns off the status line

Ps = 1 ⇒ 25-line mode off

Turns on the status line

Ps = 2 ⇒ Clear character NUL

Not Implemented

Ps = 3 ⇒ Clear character SP

Not Implemented

Ps = 4 ⇒ Video timeout off

Not Implemented

Ps = 5 ⇒ Video timeout on

Not Implemented

Ps = 8 ⇒ Page mode on

Turns on page mode

Ps = 9 ⇒ Auto Roll mode on

Turns on auto-roll mode (page mode off)

Ps = 10 ⇒ Roll Mode

Turns off scroll mode - only affects RD/SD - CSI Ps T

Ps = 11 ⇒ Scroll mode

Turns on scroll mode - only affects RD/SD - CSI Ps T

Ps = 18 ⇒ Reduced-intensity character display

Not Implemented

Ps = 19 ⇒ Reduced-intensity background display

Not Implemented

Ps = 20 ⇒ Dark background (white on black)

Switches to normal screen

Ps = 21 ⇒ Light background (black on white)

Switches to reverse video

CSI v

AAA Not Implemented: zSRC - Start Remote Copy

CSI Ps v

SNI-97801

Ps = 5 ⇒ Switch within G0 (national/international, 7-bit mode)

Switch to the other SNI CH.CODE mode if in SNI 7-bit mode.

Ps = 7 ⇒ Full screen mode off

Not Implemented: Full screen mode

Ps = 8 ⇒ Fill scroll area with characters (diagnostics)

Not Implemented: Fill scroll area with characters

Ps = 9 ⇒ Output entire character generator

Not Implemented: Output entire character generator

Ps = 10 ⇒ Disable CH.CODE key (7-bit mode)

Disables SNI CH.CODE key

Ps = 11 ⇒ Enable CH.CODE key (7-bit mode)

Enables SNI CH.CODE key

Ps = 13 ⇒ Query current code table

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).

Ps = 20 ⇒ Switch to alternative key assignment table (8-bit CH.CODE)

Switches to the other CH.CODE mode

Ps = 21 ⇒ Query current key assignment table (CH.CODE status, 8-bit 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)

Ps = 22 ⇒ Disable CH.CODE key (8-bit mode)

Disables 8-bit mode CH.CODE key.

Ps = 23 ⇒ Enable CH.CODE key (8-bit mode)

Enables 8-bit mode CH.CODE key.

CSI " v

Terminal Type Specific Behaviour
VT220
VT320
WY370
SNI-97801
AAA
BEOS
QANSI
LINUX
SUN

DECRQDE - Windows Report. The response is:

    CSI Ph; Pw; Pc; Pr; Pp " w

Where:

Ph
Height of the terminal in lines (should be of the current page but K95 only supports one)
Pw
Width of the terminal in columns (should be of the current page but K95 only supports one)
Pc
1 - the column number at the top-left of the terminal
Pr
1 - the row number at the top-left of the terminal
Pp
1 - the current page number (K95 only supports one page)

CSI Pt ; Pl ; Pb ; Pr ; Pp ; Pt ; Pl ; Pp $ v

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.

CSI w

HFT Not Implemented: VT raw keyboard input

CSI Ps w

SNI-97801 Not Implemented: Transmit kelock switch status (Ps = 0), or Reinitialize character generator (Ps = 1).

CSI Ps ; Ps ; Ps w

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).

CSI Pf ; Pb ; Pa x

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)

CSI Ps x

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:
Value Bits per second
0 50
8 75
14 133
16 110
32 150
40 200
48 300
56 600
64 1200
72 1800
80 2000
88 2400
96 3600
104 4800
112 9600
120 19200
128 38400 or 57600 or 115200 or 230400 or any other serial interface speed or a network connection
Pc Always 1 indicating the bit rate multiplier is 16
Pf Always 0

CSI Pc ; Pt ; Pl ; Pb ; Pr $ x

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

CSI Ps * x

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)

CSI y

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

CSI Ps y

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:

CSI 2 ; Ps y

Not Implemented: DECTST - VT100 confidence tests.

Ps = 20 ⇒ Activate 8-bit mode

US_ASCII to G0 (GL), Brackets to G1, Blanks to G2, ISO 8859-1 to G3 (GR)

Ps = 21 ⇒ Activate 7-bit mode

US_ASCII to G0 (GL and GR)

Ps = 22 ⇒ Query active mode

K95 responds with either: DCS 2 2 y 7 ST (7-bit mode) or DCS 2 2 y 8 ST (8-bit mode)

CSI Pi ; Pg ; Pt ; Pl ; Pb ; Pr * y

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)

CSI z

H19 Reset terminal

AAA Not Implemented: zSTE - Set Transfer End

CSI Ps z

SCOANSI Not Implemented: Switch to screen Ps

CSI Ps ; Ps z

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"

CSI Pt ; Pl ; Pb ; Pr $ z

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

CSI = z

SCOANSI Clear all tab stops

CSI Pt ; Pl ; Pb ; Pr $ z

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

CSI Ps $ |

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.

CSI Ps $ }

Select Active Status Display - Terminal

Ps = 0 ⇒ Terminal

Select the main display (terminal)

Ps = 1 ⇒ Status Line

Select status line only if the current status line type is host-writable

CSI Ps '$' }

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.

CSI Ps ; Ps ~

DECTME - Terminal Mode Emulation

Ps = 0 ⇒ Return to VT220/VT320/WY370 mode
Ps = 1 ⇒ Return to VT220/VT320/WY370 mode

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

Ps = 2 ⇒ Switch to VT100/VT102 mode

Switches to VT102 mode

VT100 Switches back to VT100 mode, not VT102

Ps = 3 ⇒ Switch to VT52 mode

Ps = 4 ⇒ VT420 PCTerm

Not Implemented: While K95 does support PCTerm mode, Ps = 4 currently does nothing.

Ps = 5 ⇒ WYSE 60/160

Switches to WY60 emulation

Ps = 6 ⇒ WYSE 60/160 PCTerm

Not Implemented: While K95 does support PCTerm mode, Ps = 6 currently does nothing.

Ps = 7 ⇒ WYSE 50+

Switches to WY50 emulation

Ps = 8 ⇒ WYSE 150/120

Not Implemented: WYSE 150/120 emulation

Ps = 9 ⇒ TVI 950

Switches to TVI950 emulation

Ps = 10 ⇒ TVI 925

Switches to TVI 925 emulation

Ps = 11 ⇒ TVI 910+

Switches to TVI 910 emulation

Ps = 12 ⇒ ADDS A2

Not Implemented: ADDS A2 emulation

Ps = 13 ⇒ SCO Console

Switches to SCO ANSI emulation

Ps = 14 ⇒ WYSE 325

Not Implemented: WY-325 emulation

CSI Ps $ -
CSI Ps $ ~

Select status line type

Ps = 0 ⇒ Blank

No status line (default)

Ps = 1 ⇒ Indicator

Indicator

Ps = 2 ⇒ Host-writable

Host-writable - active status display can be set to the status line

CSI Ps ' ~

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.

CSI < Ps ; Ps ; Ps ; Ps ; Ps ; Ps ; Ps ; Ps ; Ps ~

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

CSI Ps `

Horizontal Position Absolute (HPA) - moves active position to column Ps

CSI Ps ^

SD - Scroll Down Ps lines

CSI Ps SP

SCOANSI Cursor left Ps columns.

CSI Ps [

HFT Not Implemented: Select Reversed String. Ps=0 is End Push, Ps=1 is Start Push.

CSI Pm ]

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

CSI & x

Not Implemented: Enable Session

Operating System Commands

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:

Ps = 0 ⇒ Window title (xterm)

Sets the window title to the value supplied, up to 63 characters.

Ps = 2L ⇒ Set Icon Title

Not Implemented: DECSIN - Set Icon Title (VTxxx)

Ps = 21 ⇒ Set Window Title

DECSWT - Sets the window title to the value supplied, up to 63 characters.

Privacy Message

Kermit 95 does not implement any privacy message functions