This is preliminary documentation for an upcoming version of Kermit 95 (3.0.0 Beta.8).
 

Kermit 95 Control Sequences


Kermit 95 Release: 3.0.0 DEV
Build Date: 15 May 2025

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. For quicker lookup, An Outline of this document is available, as well as a Table of Control Sequences by Terminal Type.

Prior to 2025 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 behaviors. There is sure to be errors, and many of the descriptions are unhelpfully brief.

Importantly, this document describes what Kermit 95 currently does (or appears to do) for a control sequence, not necessarily what it should do for a given control sequence and terminal emulation. There are no doubt bugs in Kermit 95s implementation of some escape sequences, and errors in this documents description of Kermit 95s implementation. If you notice any errors or omissions please log a bug to have it corrected! Its important to remember this is not documenting what real terminals do, just what Kermit 95s various modes do.

Kermit 95 emulates many different terminal types. Where a control sequence, or some specific behavior, is specific to one or more terminal types it is marked with badges such as these: vt320 wy370. Anything not marked with a terminal-type badge is available under all terminal type modes, even if a particular control sequence was not supported by a particular terminal.

Where possible, links to applicable standards and terminal documentation are provided. This is usually on the same line the section heading. This currently includes the following reference sources:

ecma-48
Standard ECMA-48: Control Functions for Coded Character Sets - both the PDF page number and document page number is given (e.g., p35/49—numbered page 35, PDF page 49)
dec-std-070
DEC STD 070 Video Systems Reference Manual (page numbers given are from the start of the PDF). Note that this is a very large OCRd PDF; it may take a while to load!
wy370
Wyse WY-370 Programmer's Guide (page numbers given are from the start of the PDF)
vt132
VT132 User Guide - both the PDF page number and document page number is given (e.g., p35/49—numbered page 35, PDF page 49)
vt420
DEC VT420 Reference Manual
vt510
DEC VT510 Video Terminal Programmer Information
vt52x
DEC VT520/VT525 Reference Manual
xterm
XTerm Control Sequences

K95s implementation will not always match the associated standards or terminal documentation. This could due to bugs (in K95 or in the terminals being emulated), or simply due to K95s implementation being incomplete.

Additional reference documentation that may be useful includes:

CONTENTS

C1 (8-bit) Control Characters

ESC D INDIndex dec-std-070 (p289) vt52x (p111) vt52x (p338) vt510 vt420 (p33/55) vt220 vt132 (p81/93) vt100 wy370 (p120) xterm

vt100 vip7809 linux hft aixterm sun ba80 vt102 vt220 vt220pc vt320 vt320pc wy370 s97801 aaa beos qansi

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

ESC H HTSSet Tab Stop ecma-48 (p46/60) dec-std-070 (p324) vt52x (p111) vt52x (p336) vt510 vt420 (p34/56) vt220 vt132 (p81/93) vt100 wy370 (p126) xterm

vt100 vip7809 linux hft aixterm sun ba80 vt102 vt220 vt220pc vt320 vt320pc wy370 s97801 aaa beos qansi

Set Tab Stop

ESC M RIReverse Index ecma-48 (p55/69) dec-std-070 (p291) vt52x (p111) vt510 vt420 (p34/56) vt220 vt132 (p82/94) vt100 wy370 (p121) xterm

vt100 vip7809 linux hft aixterm sun ba80 vt102 vt220 vt220pc vt320 vt320pc wy370 s97801 aaa beos qansi

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

ESC N SS2Single shift G2, left ecma-48 (p70/84) dec-std-070 (p185) vt52x (p111) vt52x (p359) vt510 vt420 (p34/56) vt220 wy370 (p49) xterm

vt220 vt220pc vt320 vt320pc wy370 s97801 aaa beos qansi linux sun scoansi at386 ansi

Single shift G2, left

ESC O SS3Single shift G3, left ecma-48 (p70/84) dec-std-070 (p186) vt52x (p111) vt52x (p359) vt510 vt420 (p34/56) vt220 wy370 (p49) xterm

vt220 vt220pc vt320 vt320pc wy370 s97801 aaa beos qansi linux sun scoansi at386 ansi

Single shift G3, left

ESC P DCSDevice Control String ecma-48 (p38/52) dec-std-070 (p133) vt52x (p111) vt510 vt420 (p34/56) vt220 xterm

Device Control String (DCS, 0x90)

ESC V SPAStart Protected Area xterm

aaa

Start Protected Area

ESC W EPAEnd Protected Area xterm

aaa

End Protected Area

ESC X SOSStart of String ecma-48 (p66/80) vt52x (p111) vt510 vt420 (p34/56) xterm

Start of String (SOS, 0x98)

ESC Z DECIDIdentify Terminal dec-std-070 (p232) vt52x (p111) vt52x (p214) vt510 vt420 (p234/256) vt220 vt132 (p73/85) vt100 vt100 vt52 (p23) wy370 (p138) xterm

DECID (0x9A) - Identify Terminal. While the VT420 and VT520 manuals claim that DECID is ignored in VT400 or higher mode, K95 doesn't enforce this restriction and will produce a response for any terminal type.

ESC [ CSIControl Sequence Introducer ecma-48 (p36/50) vt52x (p111) vt510 vt420 (p34/56) xterm

Control Sequence Introducer (CSI, 0x9B)

ESC \ STString Terminator ecma-48 (p70/84) vt52x (p111) vt510 vt420 (p34/56) xterm

String Terminator (ST, 0x9C)

ESC ] OSCOperating System Command ecma-48 (p51/65) vt52x (p111) vt510 vt420 (p35/57) xterm

Operating System Command (OSC, 0x9D)

ESC ^ PMPrivacy Message ecma-48 (p53/67) vt52x (p111) vt510 vt420 (p35/57) xterm

Privacy Message (PM, 0x9E)

ESC _ APCApplication Program Command ecma-48 (p33/47) vt52x (p111) vt510 vt420 (p35/57) xterm

Application Program Command (APC, 0x9F)

Single-character functions

The code for these all lives in ckoco3.c, functions vt100(unsigned short) and wrtch(unsigned short)

BEL BELBell ecma-48 (p33/47) dec-std-070 (p369) vt52x (p110) vt510 vt420 (p31/53) vt220 vt132 (p66/78) vt100 wy370 (p36) xterm

Makes an audible bell (set term bell audible), or flashes the screen (set term bell visible), or does nothing (set term bell none).

BS BSBackspace ecma-48 (p34/48) dec-std-070 (p318) vt52x (p110) vt510 vt420 (p31/53) vt220 vt132 (p66/78) vt100 wy370 (p121) xterm

Moves the cursor left 1 column

s97801 Moves the cursor left one column if it is currently to the right of the left margin

CAN CANCancel ecma-48 (p34/48) dec-std-070 (p124) vt52x (p110) vt510 vt420 (p33/55) vt220 vt132 (p66/78) vt100 wy370 (p36)

Cancels any in-progress escape sequence.

CR CRCarriage Return ecma-48 (p35/49) dec-std-070 (p313) vt52x (p110) vt510 vt420 (p32/54) vt220 vt132 (p66/78) vt100 wy370 (p121) xterm

Carriage Return. Sends the cursor to the start of the line.

s97801 Sends the cursor to the left margin

SUB SUBSubstitute ecma-48 (p34/48) dec-std-070 (p387) vt52x (p110) vt510 vt420 (p33/55) vt220 vt132 (p66/78) vt100 wy370 (p36)

Cancels any in-progress escape sequences. In VT100 emulations, it also outputs a sahded box (U+2592). In VT220 or higher emulations, a reverse question-mark character (U+2426) is output instad. Many fonts don't include character U+2426 in which case a box or some other character may be displayed. On recent Windows releases, the Cascadia Mono font includes this symbol.

ENQ ENQReturn Terminal Status (VIP7809) ecma-48 (p43/57)

vip7809

Respond with the following escape sequence (ETX control char in bold) regardless of the answerback setting:

7813  P GC  AETX

ENQ ENQReturn Terminal Status ecma-48 (p43/57) dec-std-070 (p1197) vt52x (p110) vt510 vt420 (p31/53) vt220 vt132 (p66/78) vt100 wy370 (p133) xterm

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.

FF FFForm Feed ecma-48 (p44/58) dec-std-070 (p317) vt52x (p110) vt510 vt420 (p32/54) vt220 vt132 (p66/78) vt100 wy370 (p120) xterm

Treated the same as LF for most emulations.

scoansi at386 ansi sun Instead, this clears screen and homes cursor

avatar Instead, this clear screen, home cursor, and reset color attribute

s97801 Instead, this moves cursor one to the right if to the left of the right margin

LF LFLine Feed or New Line (NL) ecma-48 (p49/63) dec-std-070 (p314) vt52x (p110) vt510 vt420 (p32/54) vt220 vt132 (p66/78) vt100 wy370 (p120) xterm

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

s97801 If in page mode and the cursor is at the bottom margin, the cursor is sent to the start of the line

NUL NULNull ecma-48 (p51/65) dec-std-070 (p383) vt52x (p110) vt510 vt420 (p31/53) vt220 vt132 (p66/78) vt100

Ignored when received

s97801 Treated the same as SP

SI LS1Ignored (ANSI)

scoansi at386 ansi

This should switch to the standard character set, but instead it does nothing. A comment notes that this is for "ANSI music protection".

SI LS1Switch to Standard Character Set (Linux)

linux

Switch to Standard Character set (invoke G2 character set as GR).

SI LS1Switch to Standard Character Set ecma-48 (p63/77) dec-std-070 (p178) vt52x (p341) vt510 vt420 (p98/120) vt220 vt132 (p66/78) vt100 wy370 (p49) xterm

Switch to Standard Character set (invoke G0 character set as GL).

SO LS0Ignored (ANSI)

scoansi at386 ansi

This should switch to the alternate character set, but instead does nothing. A comment notes that this is for "ANSI music protection".

SO LS0Switch to Alternate Character Set (Linux)

linux

Invoke G3 character set as GR

SO LS0Switch ot Alternate Character Set ecma-48 (p65/79) dec-std-070 (p179) vt52x (p341) vt510 vt420 (p98/120) vt220 vt132 (p66/78) vt100 wy370 (p49) xterm

Switch to Alternate Character set (invoke G1 character set as GL)

SP SPSpace xterm

Space.

SYN SYNAvatar AVTCODE

avatar

Ctrl-V - AVATAR AVTCODE

TAB HTTAB ecma-48 (p45/59) dec-std-070 (p322) vt52x (p110) vt52x (p336) vt510 vt420 (p32/54) vt220 vt132 (p66/78) vt100 wy370 (p121) xterm

Horizontal Tab—sends the cursor to the next tabstop

VT VTVertical Tab ecma-48 (p74/88) dec-std-070 (p316) vt52x (p110) vt510 vt420 (p32/54) vt220 vt132 (p66/78) vt100 wy370 (p120) xterm

Vertical Tab. This is treated the same as LF

XEM XEMRepeat Character

avatar

Repeat character

Controls beginning with ESC

The code for all of this lives in ckoco3.c, function vtescape( void )

ESC SP F S7C1TTransmit 7-bit control characters dec-std-070 (p176) vt52x (p350) vt510 vt420 (p88/110) vt220 wy370 (p34) xterm

vt220 vt220pc vt320 vt320pc wy370 s97801 aaa beos qansi linux sun

Switches to sending 7-bit control characters

ESC SP G S8C1TTransmit 8-bit control characters dec-std-070 (p177) vt510 vt420 (p88/110) vt220 wy370 (p34) xterm

vt220 vt220pc vt320 vt320pc wy370 s97801 aaa beos qansi linux sun

Switches to sending 8 bit control characters

ESC SP 0 WYIDRequest Terminal ID wy370 (p138)

wy370

Responds with "370\r"

ESC SP L Set ANSI conformance level 1 dec-std-070 (p173) vt52x (p155) vt510 vt420 (p101/123) xterm

vt220 vt220pc vt320 vt320pc wy370 s97801 aaa beos qansi linux sun

Set ANSI conformance level 1. As ISO-4873 does not specify that lower levels cannot support the capabilities of higher levels, K95 treats them all the same.

ESC SP M Set ANSI conformance level 2 dec-std-070 (p173) vt52x (p155) vt510 vt420 (p101/123) xterm

vt220 vt220pc vt320 vt320pc wy370 s97801 aaa beos qansi linux sun

Set ANSI conformance level 2. As ISO-4873 does not specify that lower levels cannot support the capabilities of higher levels, K95 treats them all the same.

ESC SP N Set ANSI conformance level 3 dec-std-070 (p173) vt52x (p155) vt510 vt420 (p101/123) xterm

vt220 vt220pc vt320 vt320pc wy370 s97801 aaa beos qansi linux sun

Set ANSI conformance level 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 } DECKBDKeyboard Language Selection vt52x (p217) vt510

vt220 vt220pc vt320 vt320pc wy370 s97801 aaa beos qansi linux sun

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 # Transmit Page (H19)

h19

Transmit page (lines 1–24) to host

ESC # 3 DECDHLdouble-height line, top half dec-std-070 (p354) vt52x (p192) vt510 vt420 (p145/167) vt220 vt132 (p72/84) vt100 wy370 (p100) xterm

DEC double-height line, top half

ESC # 4 DECDHLdouble-height line, bottom half dec-std-070 (p354) vt52x (p192) vt510 vt420 (p145/167) vt220 vt132 (p72/84) vt100 wy370 (p100) xterm

DEC double-height line, bottom half

ESC # 5 DECSWLsingle width line dec-std-070 (p351) vt510 vt420 (p144/166) vt220 vt132 (p78/90) vt100 wy370 (p100) xterm

DEC Single Width line

ESC # 6 DECDWLdouble width line dec-std-070 (p352) vt52x (p202) vt510 vt420 (p145/167) vt220 vt132 (p72/84) vt100 wy370 (p100) xterm

DEC Double Width line

ESC # 7 DECHCPHard Copy (DEC Private) vt132 (p73/85)

Hardcopy (VT100)

ESC # 8 DECALNDEC Screen Alignment Test dec-std-070 (p1206) vt52x (p171) vt510 vt420 (p291/313) vt220 vt132 (p71/83) vt100 wy370 (p38) xterm

Fills the screen with "E"

ESC # : WYDHLWyse double-height line, top half wy370 (p99)

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

ESC # ; WYDHLWyse double-height line, bottom half wy370 (p99)

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

ESC % @ Select default character set xterm

Return to ISO 2002 mode

ESC % G Select UTF-8 character set xterm

Select UTF-8 character set with standard return

ESC ( C SCSDesignate G0 Character Set dec-std-070 (p372) vt52x (p351) vt510 vt420 (p93/115) vt220 vt132 (p83/95) vt100 wy370 (p47) xterm

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 linux, ASCII
K N/A linux 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

SNI-97801 specific character sets s97801

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 SCSDesignate G1 Character Set dec-std-070 (p372) vt52x (p351) vt510 vt420 (p93/115) vt220 vt132 (p83/95) vt100 wy370 (p47) xterm

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.

Additional linux character sets 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 SCSDesignate G2 Character Set vt52x (p351) vt510 vt420 (p93/115) vt220 xterm

vt220 vt220pc vt320 vt320pc wy370 s97801 aaa beos qansi sun scoansi at386 ansi

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 SCSDesignate G3 Character Set vt52x (p351) vt510 vt420 (p93/115) vt220 xterm

vt220 vt220pc vt320 vt320pc wy370 s97801 aaa beos qansi sun scoansi at386 ansi

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 SCSDesignate G1 Character Set (VT300) vt52x (p351) vt510 vt420 (p93/115) xterm

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 s97801 Only: Latin/Cyrillic
@ Latin/Greek
G Latin/Arabic
H Latin/Hebrew
L Latin/Cyrillic
T s97801 - 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 SCSDesignate G2 Character Set (VT300) vt52x (p351) vt510 vt420 (p93/115) xterm

vt220 vt220pc vt320 vt320pc wy370 s97801 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 SCSDesignate G3 Character Set (VT300) vt52x (p351) vt510 vt420 (p93/115) xterm

vt220 vt220pc vt320 vt320pc wy370 s97801 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 1 Enter keypad shift mode (H19)

h19

Enter keypad shift mode

ESC 1 Graphic Processor On

vt100 vip7809 linux hft aixterm sun ba80 vt102 vt220 vt220pc vt320 vt320pc wy370 s97801 aaa beos qansi

Graphic Processor On

ESC 2 Graphic Processor Off

vt100 vip7809 linux hft aixterm sun ba80 vt102 vt220 vt220pc vt320 vt320pc wy370 s97801 aaa beos qansi

Graphic Processor Off

ESC 6 zTIToggle IRM

aaa

Does nothing. Should be: zTI - Toggle IRM

ESC 6 DECBIBack Index dec-std-070 (p294) vt52x (p180) vt510 vt420 (p177/199) xterm

vt100 vip7809 linux hft aixterm sun ba80 vt102 vt220 vt220pc vt320 vt320pc wy370 s97801 beos qansi

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 7 SCPSave Cursor (ANSI)

scoansi at386 ansi aaa

Saves the cursor position only, does not save attributes.

ESC 7 DECSCSave Cursor dec-std-070 (p442) vt52x (p274) vt510 vt420 (p270/292) vt220 vt132 (p77/89) vt100 wy370 (p35) xterm

Saves the cursor position and attributes

ESC 8 RCPRestore Cursor (ANSI)

scoansi at386 ansi aaa

Restores the cursor position only, does not restore attributes.

ESC 8 DECRCRestore Cursor dec-std-070 (p444) vt52x (p246) vt510 vt420 (p270/292) vt220 vt132 (p75/87) vt100 wy370 (p35) xterm

Restores the cursor position and attributes

ESC 9 zCGRChange Graphic Rendition to Qualified Area

aaa

Default area goes from Current Cursor position to End of Screen.

ESC 9 DECFIForward Index dec-std-070 (p292) vt52x (p208) vt510 vt420 (p177/199) xterm

vt100 vip7809 linux hft aixterm sun ba80 vt102 vt220 vt220pc vt320 vt320pc wy370 s97801 beos qansi

Moves the cursor right one. If the cursor is already at the right margin, it scrolls the screen one column to the left.

ESC : zGUAGuard Unprotected Areas

aaa

Guard Unprotected Areas

ESC < Exit VT52 emulation mode vt52x (p173) vt510 vt420 (p328/350) vt220 vt132 (p87/99) vt100 xterm

Switches from VT52 mode to VT102 mode

h19 If the true terminal type is H19, then K95 switches to VT100 mode instead of VT102

ESC = DECKPAMSet keypad to application mode dec-std-070 (p553) vt52x (p220) vt510 vt420 (p192/214) vt220 vt132 (p73/85) vt100 vt100 vt52 (p24) wy370 (p42) xterm

Set keypad to application mode

ESC > DECKPNMSet keypad to numeric mode dec-std-070 (p554) vt52x (p221) vt510 vt420 (p192/214) vt220 vt132 (p74/86) vt100 vt100 vt52 (p24) wy370 (p42) xterm

Set keypad to numeric mode

ESC @ Enter insert character mode (H19)

h19

Enter insert character mode

ESC A VT52 Cursor Up vt510 vt420 (p328/350) vt220 vt132 (p86/98) vt100 vt52 (p23) xterm

vt52 h19

Cursor Up

ESC B VT52 Cursor Down vt510 vt420 (p328/350) vt220 vt132 (p86/98) vt100 vt52 (p23) xterm

vt52 h19

Cursor Down

ESC C VT52 Cursor Right vt510 vt420 (p328/350) vt220 vt132 (p86/98) vt100 vt52 (p24) xterm

vt52 h19

Cursor Right

ESC D VT52 Cursor Left vt510 vt420 (p328/350) vt220 vt132 (p86/98) vt100 vt52 (p20) xterm

vt52 h19

Cursor Left

ESC E Clear screen (H19)

h19

Clear display and home cursor

ESC F VT52 Enable Graphics vt510 vt420 (p328/350) vt220 vt132 (p86/98) vt100 vt52 (p25) xterm

vt52 h19

Enable VT52 Graphics

ESC F SSAStart Selected Area

vt220 vt220pc vt320 vt320pc wy370 s97801 aaa beos qansi linux sun

Start Selected Area

ESC G VT52 Disable Graphics vt510 vt420 (p328/350) vt220 vt132 (p86/98) vt100 vt52 (p25) xterm

vt52 h19

Disable VT52 Graphics

ESC G ESAEnd selected area

vt220 vt220pc vt320 vt320pc wy370 s97801 aaa beos qansi linux sun

End selected area

ESC H VT52 Cursor Home vt510 vt420 (p328/350) vt220 vt132 (p86/98) vt100 vt52 (p20) xterm

vt52 h19

Cursor Home

ESC I VT52 Reverse Linefeed vt510 vt420 (p328/350) vt220 vt132 (p87/99) vt100 vt52 (p19) xterm

vt52 h19

Reverse Linefeed

ESC I HTJHorizontal Tab with Justify

aaa

Horizontal Tab with Justify

ESC J VT52 Clear to end of screen vt510 vt420 (p328/350) vt220 vt132 (p87/99) vt100 vt52 (p21) xterm

vt52 h19

Clear to the end of the screen

ESC K VT52 Clear to end of line vt510 vt420 (p328/350) vt220 vt132 (p87/99) vt100 vt52 (p21) xterm

vt52 h19

Clear to the end of the line

ESC L Insert line (H19)

h19

Insert line

ESC M Delete Line

h19

Delete Line

ESC N Delete character (H19)

h19

Delete character

ESC O Insert character mode (H19)

h19

Insert character mode

ESC Q SCODFKFunction key assignments (ANSI) vt52x (p369)

scoansi at386 ansi

SCOANSI/AT386 Function key assignments. SCOANSI break ANSI X.64-1979. See vtescape() in ckoco3.c for implementation details.

DEC calls this SCODFK, while the SCO documentation calls it SFK (Set Function Key)

ESC Q Private Use One (PU1) Introducer (SNI-97801-5xx)

Private Use One (PU1) Introducer (SNI-97801-5xx)

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

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

ESC S STSSet Transmit State

aaa

Set Transmit State

ESC V VT52 Print cursor line vt510 vt420 (p328/350) vt220 vt102

vt52 h19

Print cursor line

ESC W VT52 Enter printer controller mode vt510 vt420 (p328/350) vt220 vt102

vt52 h19

Enable transparent print

ESC X VT52 Exit printer controller mode vt510 vt420 (p328/350) vt220 vt102

vt52 h19

Disable transparent print

ESC Y Ps Ps VT52 direct cursor address vt510 vt510 vt420 (p328/350) vt220 vt132 (p87/99) vt100 vt52 (p20) xterm

vt52 h19

Sends the cursor to row and column Ps

ESC [ Hold Screen mode on (H19)

h19

Hold Screen mode On

ESC \ Exit hold screen (H19)

h19

Exit Hold Screen Mode

ESC ] Transmit line 25 to host (H19)

h19

Only if the real terminal type is H19. If a different terminal type is chosen that is able to switch into an H19 mode, and K95 is asked to switch into that H19 mode, this control sequence remains unavailable.

ESC ] VT52 Print Screen vt510 vt420 (p328/350) vt220 vt102

vt52

Print Screen

ESC ^ VT52 Enable Auto-print vt510 vt420 (p328/350) vt220 vt102

vt52 h19

Turn on Auto-print

ESC _ VT52 Disable Auto-print vt510 vt420 (p328/350) vt220 vt102

vt52 h19

Turn off Auto-print

ESC ` Clear screen (VIP7809)

vip7809

Clears the screen, cursor does not move

ESC ` Enable key lock

hft aixterm s97801 aaa

Enables the key lock

ESC a INTInterrupt (AAA)

aaa

Interrupt

ESC b Erase to beginning of display

h19

Erase to the beginning of the display

ESC b Disable key lock

hft aixterm s97801 aaa

Disables the key lock

ESC j Save cursor position (H19)

h19

Save cursor position

ESC k Restore cursor position (H19)

h19

Restore cursor position

ESC l Erase entire line (H19)

h19

Erase entire line

ESC l LMALock Memory Area (SCO)

scoansi

Lock Memory Area (sets margins)

ESC m USRUnlock Memory Area (SCO)

scoansi

Unlock Memory Area (sets margins)

ESC n Cursor Position Report (H19)

h19

Cursor Position Report

ESC n LS2Lock shift G2, left ecma-48 (p49/63) dec-std-070 (p180) vt52x (p341) vt510 vt420 (p98/120) vt220 wy370 (p49) xterm

vt220 vt220pc vt320 vt320pc wy370 s97801 aaa beos qansi linux sun scoansi at386 ansi

Lock shift G2, left

ESC o Erase to beginning of line (H19)

h19

Erase to the beginning of the line

ESC o LS3Lock shift G3, left ecma-48 (p50/64) dec-std-070 (p181) vt52x (p341) vt510 vt420 (p98/120) vt220 wy370 (p49) xterm

vt220 vt220pc vt320 vt320pc wy370 s97801 aaa beos qansi linux sun scoansi at386 ansi

Lock shift G3, left

ESC p Enter reverse video mode (H19)

h19

Enter reverse video mode

ESC q Exit reverse video mode

h19

Exit reverse video mode

ESC r Modify Baud Rate (H19)

h19

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

ESC u Exit keypad shift mode (H19)

h19

Exit Keypad Shift Mode

ESC v Enable wrap around at end of line (H19)

h19

Enable wrap around at the end of the line

ESC w Discard at end of line

h19

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

ESC x Set modes (H19)

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 Ps Reset modes

h19

Reset modes. Ps should be one of the following:

Ps 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 Reset Terminal (H19)

h19

Reset Terminal

ESC { Disable keyboard lock (H19)

h19

Disable keyboard lock (enable keyboard)

ESC | LS3RLock shift G3, right ecma-48 (p50/64) dec-std-070 (p184) vt52x (p341) vt510 vt420 (p98/120) vt220 wy370 (p49) xterm

vt220 vt220pc vt320 vt320pc wy370 s97801 aaa beos qansi linux sun scoansi at386 ansi

Lock shift G3, right

ESC } Enable keyboard lock (H19)

h19

Enable keyboard lock (disable keyboard)

ESC } LS2RLock shift G2, right ecma-48 (p49/63) dec-std-070 (p183) vt52x (p341) vt510 vt420 (p98/120) vt220 wy370 (p49) xterm

vt220 vt220pc vt320 vt320pc wy370 s97801 aaa beos qansi linux sun scoansi at386 ansi

Lock shift G2, right

ESC ~ LS1RLock shift G1, right ecma-48 (p49/63) dec-std-070 (p182) vt52x (p341) vt420 (p98/120) vt220 wy370 (p49) xterm

vt220 vt220pc vt320 vt320pc wy370 s97801 aaa beos qansi linux sun scoansi at386 ansi

Lock shift G1, right

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 DECUDKUser Defined Keys dec-std-070 (p976) vt52x (p317) vt510 vt420 (p202/224) vt220 xterm

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 (e.g., 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

DCS $ q Pt ST DECRQSSRequest Selection or Setting dec-std-070 (p451) vt52x (p266) vt510 vt420 (p267/289) xterm

vt320 vt320pc wy370

D...D specifies the setting or selection being requested - this usually consts of the final characters from whatever control sequence makes the setting or selection.

For example, to request the current SGR selection:

DCS $ q m ST

And the response, DECRPSS, would be in the form

DCS Ps $ r D...D ST

The parameter Ps in the response indicates if the original request was valid (1) or invalid (0) as described in DEC-STD-070. Despite what the VT320, VT420, VT510 and VT525 manuals say, this behavior is indeed correct. The VT320 manual got it the wrong way round, and the mistake was never caught, instead being carried forward all the way to the very end.

If the request was valid, D...D will contain the response.

For the earlier example requesting the current SGR selection, Kermit 95s response might be the following if bold, italic, and underline were all on:

DCS 1 $ r 0 ; 1 ; 3 ; 4 m ST

Pt = m SGRSet Graphic Rendition dec-std-070 (p451) vt52x (p266) vt510 xterm

Returns currently selected graphic rendition. Only the following are currently reported: 0, 1, 2 (dim), 3, 4, 5 (slow blink), 7 (reverse video), 8, 30-37, 38 (rgb), 38 (indexed color), 40-47, 48 (rgb), 48 (indexed color), 90-97, 100-107.

Pt = " q DECSCASet Character Attribute dec-std-070 (p451) vt52x (p266) vt510 xterm

Responds with the current state of DECSCA. For example, if DECSCA is set to Designate Character Erasable (2), then the response will be: DCS 1 $ r 1 " q ST

Pt = " p DECSCLSet Conformance Level dec-std-070 (p451) vt52x (p266) vt510 xterm

Reports the conformance level set with DECSCL, the result of which may be non-obvious!

A real DEC VT520 has two conformance levels: VT100 mode, and VT520 mode. So setting the conformance level to 62, 63, 64 or 65 will result in the conformance level being set to 65 giving you a response of DCS 1 $ r 6 5 ; 1 " p ST if using 7-bit controls. And if you set the conformance level to 61 (VT100), a real VT520 will not respond to DECRQSS because a real VT100 wouldn't.

As a result you'll only get a response on a VT320 or higher, and the conformance level will reflect the chosen terminal type. The only part of this response you can actually change via DECRQSS is the 8-bit/7-bit controls setting.

Pt = SP q DECSCUSRSet Cursor Style vt52x (p266) vt510 xterm

Reports the current DECSCUSR setting - the cursor style. A response for a blinking block, for example, looks like DCS 1 $ r 1 SP q ST (where SP is the space character)

Pt = r DECSTBMSet Top and Bottom Margins dec-std-070 (p451) vt52x (p266) vt510 xterm

Reports the current DECSTBM setting. For example, if the top margin is 5 and the bottom margin is 20 the response would be: DCS 1 $ r 5 ; 2 0 r ST

Pt = s DECSLRMSet Left and Right Margins dec-std-070 (p451) vt52x (p266) vt510 xterm

Not Implemented: K95 responds with:

DCS 1 $ r s ST

Pt = t DECSLPPSet Lines Per Page dec-std-070 (p451) vt52x (p266) vt510 xterm

Reports the current DECSLPP setting - the number of lines in the terminal screen. A response for a terminal with a height of 24 lines looks like: DCS 1 $ r 2 4 t ST

Unlike a real terminal, Kermit 95s terminal height is not constrained to the options 24, 25, 36, 41, 42, 48, 52, 53 and 72. If your K95 terminal happens to be 10, or 100 lines tall that is the number Kermit 95 will respond with.

Pt = } DECPRO

Not Implemented: K95 responds with:

DCS 0 $ r } ST

Pt = $ | DECSCPPSet Columns Per Page dec-std-070 (p451) vt52x (p266) vt510 xterm

Kermit 95 responds with the width of the terminal Window. If, for example, the terminal is 132 columns wide, the response would be: DCS 1 $ r 1 3 2 $ | ST

Unlike a real terminal, Kermit 95s terminal width is not limited to being only 80 or 132 columns wide. If the terminal window is some other width, such as 200 columns, it will be reported here also.

Pt = $ } DECSASDSelect Active Status Display dec-std-070 (p451) vt52x (p266) vt510 xterm

Responds with the current DECSASD selection. If DECSASD is set to Terminal (the default), the response would be: DCS 1 $ r 0 $ } ST

Pt = $ ~ DECSSDTSelect Status Line Type dec-std-070 (p451) vt52x (p266) vt510 xterm

Responds with the current DECSSDT selection. If DECSSD is set to Indicator (the default), the response would be: DCS 1 $ r 1 $ ~ ST

Pt = ) { DECSTGLTSelect Color Lookup Table vt52x (p266) xterm vt320 vt320pc wy370 s97801 aaa

Returns the current DECSTGLT setting.

Pt = * x DECSACESelect Attribute Change Extent dec-std-070 (p451) vt52x (p266) vt510 xterm

Reports the current DECSACE setting. For example, if DECSACE is set to 2 (Rectangle, exact) then the response would be DCS 1 $ r 2 * x ST

Pt = * | DECSNLSSet Number of Lines per Screen dec-std-070 (p451) vt52x (p266) vt510 xterm

Not Implemented: K95 responds with:

DCS 1 $ r * | ST

Pt = , | DECACAssign Color vt52x (p266) xterm

Reports one of the 16 color pairs set with DECAC. A parameter must be supplied to specify which color pair to report. For compatibility with other terminals, that parameter can appear either before the '$q' or after it. For example, both of the following will request the color pair for Normal Text (1):

DCS 1 $ q , } ST
                    DCS $ q 1 , } ST

And the response might be something like: DCS 1 $ r 1 ; 1 4 ; 4 , } ST

Pt = , } DECATCAlternate Text Color vt52x (p266) xterm vt320 vt320pc wy370 s97801 aaa

Reports one of the 16 color pairs set with DECATC. A parameter must be supplied to specify which color pair to report. For compatibility with other terminals, that parameter can appear either before the '$q' or after it. For example, both of the following will request the color pair for Underline (3):

DCS 3 $ q , } ST
DCS $ q 3 , } ST

And the response might be something like: DCS 1 $ r 3 ; 1 4 ; 4 , } 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 DECELFEnable Local Functions

Not Implemented: K95 responds with:

DCS 1 $ r + q ST

Pt = + r DECSMKRSelect modifier key reporting

Not Implemented: K95 responds with:

DCS 1 $ r + r ST

Pt = = } DECLFKCLocal Function Key Control

Not Implemented: K95 responds with:

DCS 1 $ r = } ST

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

CSI Ps SP CUBCursor Left (SCO)

scoansi

Cursor left Ps columns. A comment notes that SCO ANSI is violating the rules by using SP as a final character.

CSI Ps @ ICHInsert character ecma-48 (p46/60) dec-std-070 (p397) vt52x (p337) vt510 vt420 (p152/174) vt220 xterm

vip7809 linux hft aixterm sun ba80 vt102 vt220 vt220pc vt320 vt320pc wy370 s97801 aaa beos qansi scoansi at386 ansi

Insert Ps characters.

CSI Ps SP @ SLScroll Left/Pan right ecma-48 (p63/77) xterm

Scroll Left - Pan right Ps columns

CSI Ps A CUUCursor Up ecma-48 (p37/51) dec-std-070 (p296) vt52x (p162) vt510 vt420 (p180/202) vt220 vt132 (p70/82) vt100 xterm

Cursor Up Ps lines (default = 1)

s97801 Ignored if outside scroll region

CSI = Ps A SBCSet Border Color (ANSI)

scoansi at386 ansi

Set Border Color. Ps contains the new color.

CSI = Ps A

ba80

Ps = 0 Dead key mode off

Ps = 1 Dead key mode on

Ps = 2 Block start

Ps = 3 Block end

CSI Ps SP A SRScroll Right/Pan left ecma-48 (p68/82) xterm

Scroll Right - Pan left Ps columns.

CSI Ps B CUDCursor Down ecma-48 (p36/50) dec-std-070 (p298) vt52x (p161) vt510 vt420 (p180/202) vt220 vt132 (p69/81) vt100 xterm

Cursor Down Ps lines (default = 1)

s97801 Ignored if outside scroll region

CSI = Ps ; Ps B SBPSet Beep Frequency and Duration

scoansi at386 ansi

Comments note that K95 may not be handling the beep frequency correctly in some way ("??? this isn't correct").

CSI = Ps B Set Cursor

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 CUFCursor Forward ecma-48 (p36/50) dec-std-070 (p300) vt52x (p161) vt510 vt420 (p179/201) vt220 vt132 (p70/82) vt100 xterm

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

CSI = C Close Virtual Window

ba80

Close Virtual Window

CSI = Pa ; Pb C SCSSet Cursor Height (ANSI)

scoansi at386 ansi

Set Cursor Height. If Pa &gt; Pb then the cursor is disabled. If Pb - Pa &lt;= 1, the cursor is set to underline. If Pb - Pa &lt; 10 then the cursor is set to half. Otherwise, the cursor is set to block.

CSI Ps D CUBCursor Backward ecma-48 (p36/50) dec-std-070 (p302) vt52x (p161) vt510 vt420 (p179/201) vt220 vt132 (p69/81) vt100 xterm

Cursor left Ps characters

CSI = Ps D SBITurn on/off background colour intensity (ANSI)

scoansi at386 ansi

Turn on/off background color intensity

CSI = Ps D Cursor Backward

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

CSI E Window Status Request (BA80)

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 CNLCursor Next Line ecma-48 (p35/49) vt52x (p158) vt510 xterm

Cursor next line Ps times (default = 1)

CSI = E Window Status Request (BA80)

ba80

Window Status Request

CSI = Ps E SBBSet Blink (ANSI)

scoansi at386 ansi

If Ps is 0 then blink is simulated with bold background intensity, any other value enables true blink.

CSI ? E Erase status line (AIXTERM)

aixterm

Erase status line

CSI Ps F CPLCursor Previous Line ecma-48 (p35/49) vt52x (p159) vt510 xterm

Cursor previous line Ps times (default = 1)

CSI ? F Return from status line (AIXTERM)

aixterm

Return from status line

CSI = F Fetch virtual window

ba80

Fetch virtual window from the background

CSI = Ps F SNFSet Normal Foreground Color (ANSI)

scoansi at386 ansi qansi

Set Normal Foreground Color to Ps.

If the display is in reverse video mode (DECSCNM), in Kermit 95 beta 7 and earlier this clears the foreground color, and ORs Ps with the existing background color. The resulting background color will not necessarily be the same as value supplied as Ps, while the foreground color will be black. This may be a bug!

With the addition of support for more than 16 colors, in reverse video mode it now sets the background color to Ps while preserving the foreground color.

CSI Ps G CHACursor Horizontal Absolute ecma-48 (p34/48) vt52x (p157) vt510 xterm

hft aixterm scoansi at386 ansi vt320 vt320pc wy370 s97801 aaa qansi linux

Move cursor to column Ps

CSI = Ps G SNBSet Normal Background Color (ANSI)

scoansi at386 ansi qansi

Set Normal Background Color to Ps

CSI Ps ; Ps H CUPCursor Position ecma-48 (p36/50) dec-std-070 (p306) vt52x (p162) vt510 vt420 (p178/200) vt220 vt132 (p70/82) vt100 wy370 (p120) xterm

Send cursor to row;column. Default is 1;1. Implementation is shared with HVP

s97801 If DECSASD is set to the status line, it is reset to terminal.

CSI ? H Hide status line

hft aixterm

Hide status line

CSI = Ps H SRFSet Reverse Foreground Color

scoansi at386 ansi

Set Reverse Foreground Color to Ps

CSI Ps I CHTCursor Horizontal Tab ecma-48 (p34/48) vt52x (p158) vt510 xterm

Cursor Horizontal Tab Ps tab stops

CSI = I Input (BA80)

ba80

Input

CSI = Ps I SRBSet Reverse background colour

scoansi at386 ansi

Set Reverse background color to Ps

CSI = ? I
CSI ? = I
Screen saver off (BA80)

ba80

screen saver off

CSI Ps J EDErase in Display ecma-48 (p41/55) dec-std-070 (p411) vt52x (p334) vt510 vt420 (p153/175) vt220 vt132 (p80/92) vt100 wy370 (p124) xterm

Erases an area within the display (including attributes)

For the SNI-97801 terminal type, 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 ecma-48 (p41/55) dec-std-070 (p411) vt52x (p334) vt510 vt420 (p153/175) vt220 vt132 (p80/92) vt100 wy370 (p124) xterm

s97801 Only clears to end of scroll region

Ps = 1 Clear to beginning of screen with Space ecma-48 (p41/55) dec-std-070 (p411) vt52x (p334) vt510 vt420 (p153/175) vt220 vt132 (p80/92) vt100 wy370 (p124) xterm

s97801 Only clears to start of scroll region

Ps = 2 Clear whole screen with Space ecma-48 (p41/55) dec-std-070 (p411) vt52x (p334) vt510 vt420 (p153/175) vt220 vt132 (p80/92) vt100 wy370 (p124) xterm

Clears within the cursors current screen area (terminal or status line), the cursor is not moved

s97801 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 s97801

Clears to the end of the screen staying within the scroll region

Ps = 4 Clear to beginning with NUL s97801

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

Ps = 5 Clear whole screen with NUL s97801

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 s97801

Fills to the end of the screen with the space character staying within the scroll region.

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 behavior as Ps = 0.

Ps = 7 Clear to beginning of screen with space s97801

Fills to the beginning of the screen with the space character staying within the scroll region.

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 behavior as Ps = 1.

Ps = 8 Clear whole screen with space s97801

Fills the whole screen with the space character staying within the scroll region.

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 behavior as Ps = 2.

Ps = 9 Clear to end of screen with NUL s97801

Fills to the end of the screen with the NUL character staying within the scroll region.

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 s97801

Fills to the beginning of the screen with the NUL character staying within the scroll region.

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 s97801

Fills the whole screen with the NUL character staying within the scroll region.

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 s97801

Fills to the end of the screen with the space character staying within the scroll region.

Additionally, attributes should be preserved. K95 resets attributes normal - same behavior as Ps = 0.

Ps = 13 Clear to beginning of screen with space preserving attributes s97801

Fills to the beginning of the screen with the space character staying within the scroll region.

Additionally, attributes should be preserved. K95 resets attributes normal - same behavior as Ps = 1.

Ps = 14 Clear whole screen with space preserving attributes s97801

Fills the entire screen with the space character staying within the scroll region.

Additionally, attributes should be preserved. K95 resets attributes normal - same behavior as Ps = 2.

Ps = 15 Clear to end of screen with NUL preserving attributes s97801

Fills to the end of the screen with the NUL character staying within the scroll region.

Additionally, attributes should be preserved. K95 resets attributes normal.

Ps = 16 Clear to beginning of screen with NUL preserving attributes s97801

Fills to the beginning of the screen with the NUL character staying within the scroll region.

Additionally, attributes should be preserved. K95 resets attributes normal.

Ps = 17 Clear whole screen with NUL preserving attributes s97801

Fills the entire screen with the NUL character staying within the scroll region.

Additionally, attributes should be preserved. K95 resets attributes normal.

CSI ? Ps J DECSEDSelective Erase in Display dec-std-070 (p417) vt52x (p283) vt510 vt420 (p156/178) vt220 wy370 (p124) xterm

Ps = 0 Selective erase to end of screen dec-std-070 (p417) vt510 vt420 (p156/178) vt220 wy370 (p124) xterm

Ps = 1 Selective erase to beginning of screen dec-std-070 (p417) vt510 vt420 (p156/178) vt220 wy370 (p124) xterm

CSI = Ps J SGFSet Graphic Foreground Color (ANSI)

scoansi at386 ansi

Set Graphic Foreground Color to Ps

CSI = ? J
CSI ? = J
Screen Saver On

ba80

Screen Saver On

CSI Ps K ELErase in Line ecma-48 (p28/42) dec-std-070 (p409) vt52x (p334) vt510 vt420 (p154/176) vt220 vt132 (p80/92) vt100 wy370 (p125) xterm

Erase in Line. Erases within a single line.

Ps = 0 Clear to end of line with space ecma-48 (p28/42) dec-std-070 (p409) vt52x (p334) vt510 vt420 (p154/176) vt220 vt100 wy370 (p125) xterm

Clears to the end of the line with the space character, and clears attributes.

Ps = 1 Clear to beginning of line with Space ecma-48 (p28/42) dec-std-070 (p409) vt52x (p334) vt510 vt420 (p154/176) vt220 vt100 wy370 (p125) xterm

Clears to the beginning of the line with the space character, and clears attributes.

Ps = 2 Clear whole cursor line with Space ecma-48 (p28/42) dec-std-070 (p409) vt52x (p334) vt510 vt420 (p154/176) vt220 vt100 wy370 (p125) xterm

Clears the entire current line with the space character, and clears attributes.

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

Clears to the end of the line with the NUL character, and clears attributes.

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

Clears to the beginning of the line with the NUL character, and clears attributes.

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

Clears the entire line with the NUL character, and clears attributes.

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

Clear to the end of the line with the space character.

Additionally, attributes should be preset to the last valid SGR attribute (if attributes are not stored). K95 instead clears attributes giving the same behaviour Ps = 0

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

Clears to the beginning of the line with the Space character.

Additionally, attributes should be preset to the last valid SGR attribute (if attributes are not stored). K95 instead clears attributes giving the same behavior as Ps = 1

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

Clears the entire line with the Space character.

Additionally, attributes should be preset to the last valid SGR attribute (if attributes are not stored). K95 instead clears attributes giving the same behavior as Ps = 2

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

Clear to the end of the line with the NUL character.

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.

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.

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 the end of the line with the Space character.

Additionally, attributes should be preserved. K95 instead clears attributes resulting in the same behavior 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.

Additionally, attributes should be preserved. K95 instead clears attributes resulting in the same behavior as Ps = 1.

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

Clear the entire line with the Space character.

Additionally, attributes should be preserved. K95 instead clears attributes resulting in the same behavior as Ps = 2.

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

Clear to the end of the line with the NUL character.

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.

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.

Additionally, attributes should be preserved. K95 instead clears attributes.

CSI = K Begin reading function key labels (BA80)

ba80

Begin reading function key labels

CSI = Ps K SGBSet Graphic Background Color (ANSI)

scoansi at386 ansi

Set Graphic Background Color to Ps

CSI ? Ps K DECSELSelective Erase in Line dec-std-070 (p414) vt52x (p285) vt510 vt420 (p157/179) vt220 wy370 (p125) xterm

vt220 vt220pc vt320 vt320pc wy370 s97801 aaa beos qansi linux sun

Ps = 0 Selective erase to end of line dec-std-070 (p414) vt52x (p285) vt510 vt420 (p157/179) vt220 wy370 (p125) xterm

Ps = 1 Selective erase to beginning of line dec-std-070 (p414) vt52x (p285) vt510 vt420 (p157/179) vt220 wy370 (p125) xterm

CSI Ps L ILInsert Line ecma-48 (p47/61) dec-std-070 (p401) vt52x (p338) vt510 vt420 (p151/173) vt220 vt132 (p81/93) vt102 xterm

vip7809 linux hft aixterm sun ba80 vt102 vt220 vt220pc vt320 vt320pc wy370 s97801 aaa beos qansi scoansi at386 ansi

Insert Ps lines.

CSI = Ps L Fill mode on (ANSI)

at386 ansi

Turn fill (erase?) mode on (use normal color) or off (use current color).

CSI = Ps L SEFSet Emulation Feature (SCO)

scoansi

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 colors to be reset by SGR Select Primary Font and Display GL Control Characters as Graphic Characters.

Ps = 0 New regions filled with the current attribute (default)

Ps = 1 New regions filled with the normal attribute

Ps = 2 Disable iBCS2 compliance (default)

Ps = 3 Enable iBCS2 compliance

Ps = 4 Disable ANSI SGR0 interpretation (default)

Ps = 5 Enable ANSI SGR0 interpretation

Ps = 6 Disable backwards compatibility mode (default)

Ps = 7 Enable backwards compatibility mode (resets margins too)

Ps = 8 Cursor motion bound by region (default)

Ps = 9 Cursor motion unbound

Ps = 10 Enable 8-bit keyboard meta mode (default)

Ps = 11 Disable 8-bit keyboard meta mode

Ps = 12 Disable debugging for this screen (default)

Ps = 13 Enable debugging for this screen (do not use)

Ps = 14 Disable global video loop debugging (default)

Ps = 15 Enable global video loop debugging (do not use)

Ps = 16 Enable M6845 frame buffer optimization (default)

Ps = 17 Disable M6845 frame buffer optimization (debugging only)

Ps = 20 Disable using ESC for meta (high) bit

Ps = 21 Enable using ESC for meta (high) bit

CSI Ps M DLDelete line ecma-48 (p25/39) dec-std-070 (p403) vt52x (p326) vt510 vt420 (p150/172) vt220 vt132 (p79/91) vt102 xterm

vip7809 linux hft aixterm sun ba80 vt102 vt220 vt220pc vt320 vt320pc wy370 s97801 aaa beos qansi scoansi at386 ansi

Delete Ps lines.

CSI = M Go to status line (BA80)

ba80

Go to status line

CSI = Ps M RASReport Color Attributes (ANSI)

scoansi at386 ansi

The response is the default background and foreground colors numbers separated by a space. The value of Ps should be 0, 1 or 2. Ps = 1 for the reverse color attribute, 0 or 2 for the normal attribute (2 should probably be the graphic attribute, but K95 doesn't do that currently).

In versions of Kermit 95 supporting color palettes larger than 16 colors, the current palette index will be returned exactly, so if a color &gt; 15 is set, then a color &gt; 15 will be returned. It is assumed that any application that sets a color outside the 16-color range will handle receiving a color outside this range. Otherwise, for the best compatibility stick to 16-color or RGB values for SET TERMINAL COLOR TERMINAL when using ANSI emulation.

In versions of Kermit 95 supporting 24-bit RGB color, if the default foreground or background color is a 24-bit RGB value, then the nearest color from the 16-color palette is returned regardless of the current palette setting.

CSI Ps N EFErase Field ecma-48 (p27/41)

hft aixterm linux aaa

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 EAErase Area ecma-48 (p40/54)

hft aixterm linux aaa

Erase Area

Ps = 0 Erase to end of area (line) ecma-48 (p40/54)

Ps = 1 Erase from area start (line) ecma-48 (p40/54)

Ps = 2 Erase all of the area (line) ecma-48 (p40/54)

CSI = O Pa Pn1[:Pn2][;Pa Pn1[:Pn2]][...] O Open Virtual Window (BA80)

ba80

Open virtual window. Parameters are the dimensions, location and title of the virtual window

CSI Ps P DCHDelete character ecma-48 (p38/52) dec-std-070 (p399) vt52x (p167) vt510 vt420 (p152/174) vt220 vt132 (p71/83) xterm

vip7809 linux hft aixterm sun ba80 vt102 vt220 vt220pc vt320 vt320pc wy370 s97801 aaa beos qansi scoansi at386 ansi

Delete Ps characters.

CSI Ps Q SEESelect Editing Extent ecma-48 (p60/74)

aaa

Select Editing Extent

CSI R CPRCursor Position Report ecma-48 (p35/49) dec-std-070 (p308) vt52x (p159) vt510 vt132 (p69/81) xterm

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 Delete lines (SCO)

scoansi

Delete lines—alternate form of CSI Ps M

CSI = Ps $ R Reset virtual window (BA80)

ba80

Reset virtual window to the background

CSI Ps S Scroll Up / Pan Down ecma-48 (p71/85)

s97801

Scrolls the characters up Ps lines. When not in "RollMode" it treats the line the cursor on as the bottom margin and scrolls the screen between there and the top margin Ps lines.

CSI Ps S Scroll Up / Pan Down ecma-48 (p71/85)

hft aixterm scoansi at386 ansi

Scrolls the entire screen (excluding status line) up Ps lines ignoring top and bottom margins.

CSI Ps S SUScroll Up / Pan Down ecma-48 (p71/85) dec-std-070 (p346) vt52x (p361) vt510 vt420 (p181/203) xterm

vt320 vt320pc wy370 aaa

Scrolls the characters up Ps lines.

CSI ? S Show status line

aixterm

Show status line

CSI = S Return from Status Line

ba80

Return from Status Line

CSI Ps T Scroll Down / Pan Up ecma-48 (p59/73)

s97801

If the terminal is in Roll Mode, scroll down Ps lines. If in scroll mode, the current cursor position is treated as the top margin and the screen between the cursor position and the bottom margin is scrolled down Ps lines.

CSI Ps T Scroll Down / Pan Up ecma-48 (p59/73)

hft aixterm scoansi at386 ansi

The entire screen is scrolled down Ps lines ignoring top and bottom margins, with the top Ps lines cleared to blanks. A comment notes "We don't support paged memory so it does nothing"

CSI Ps T SDScroll Down / Pan Up ecma-48 (p59/73) dec-std-070 (p347) vt52x (p354) vt510 vt420 (p182/204) xterm

vt320 vt320pc wy370 s97801 aaa

Scroll down Ps lines. The top Ps lines are cleared to blanks.

CSI ? Ps T Go to status line column (AIXTERM)

aixterm

Go to column Ps of the status line

CSI U RISReset Terminal (SCO)

scoansi

Reset Terminal

CSI Ps V ERErase in region (SCO)

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 CTCCursor Tab Stop Control ecma-48 (p36/50)

hft aixterm linux aaa

Cursor Tab Stop Control

CSI Ps X ECHErase Character ecma-48 (p41/55) dec-std-070 (p407) vt52x (p333) vt510 vt420 (p154/176) vt220 xterm

vt220 vt220pc vt320 vt320pc wy370 s97801 aaa beos qansi linux sun hft aixterm scoansi at386 ansi linux aaa

Erase Ps characters

CSI Y CVTCursor Vertical Tab ecma-48 (p37/51)

hft aixterm

Cursor Vertical Tab

CSI Ps Z CBTCursor Backward Tabulation ecma-48 (p34/48) vt52x (p157) vt510 xterm

Moves active cursor position back Ps tab stops.

CSI = Z Reset colors (ANSI)

scoansi at386 ansi

Reset colours

CSI Ps [ Select Reversed String

hft aixterm

Ps=0 is End Push, Ps=1 is Start Push.

CSI Pm ] Select Alternate Presentation Variant

hft aixterm

Select Alternate Presentation Variant (BIDI, Arabic numeric shapes, Hindi numeric shapes, symmetric swapping mode for directional characters, ...).

CSI Ps ; Ps ] Linux display settings

linux

Ps = 1 ; n Set underline color

Sets color n as the current underline foreground color. In the GUI version of Kermit 95, this only has an effect if true underline has been turned off with SET TERMINAL ATTRIBUTE UNDERLINE OFF

Kermit 95 allows any indexed color valid in the current color palette here, while the real linux console (as of linux 6.1 at least) only supports the 16-color palette.

Ps = 2 ; n Set dim color

Sets color n as the current dim foreground color. In both the GUI and Console versions of Kermit 95, this only has an effect if the true dim attribute has been turned off and set to a fixed color rather than foreground intensity with SET TERMINAL ATTRIBUTE DIM OFF COLOR.

Kermit 95 allows any indexed color valid in the current color palette here, while the real linux console (as of linux 6.1 at least) only supports the 16-color palette.

Ps = 8 Set current color pair as the default attribute

Makes the current foreground and background color the default foreground and background color (the color that is restored with SGR-0).

Ps = 9 ; n Set screen blank timeout to n minutes

Ps = 10 ; n Set bell frequency in Hz

Ps = 11 ; n Set bell duration in msec

Ps = 12 ; n Bring specified console to the front

Ps = 13 Unblank the screen

Ps = 14 ; n Set the VESA power-down interval in minutes

Ps = 15 Bring previous console to front

Ps = 16 ; n Set cursor blink interval in msec

CSI Ps ^ SDScroll Down xterm

Scroll Down Ps lines. This was apparently an error in the first printed version of the ECMA-48 fifth edition and the initial PDF version from April 1998. The VT420, later PDF versions of the standard, and other terminals use CSI Ps T

CSI Ps ` HPAHorizontal Position Absolute vt52x (p335) vt510 wy370 (p119) xterm

Moves active position to column Ps.

CSI Ps a HPRHorizontal Position Relative ecma-48 (p45/59) vt52x (p335) vt510 wy370 (p120) xterm

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

CSI Ps b REPRepeat ecma-48 (p55/69) xterm

qansi

Repeat previous character Ps times.

CSI Pc ; Pn b RCHRepeat character

scoansi aaa

Repeat character Pc Pn times.

CSI c Reset to Initial State

s97801

Resets the terminal

CSI Ps c Set cursor type

scoansi at386 ansi

Sets the cursor type. Cursor types are numbered from 0: underline, block, no cursor.

CSI Ps c DADevice Attributes ecma-48 (p37/51) dec-std-070 (p221) vt52x (p163) vt510 vt420 (p229/251) vt220 vt132 (p70/82) vt100 wy370 (p137) xterm

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

The first value indicates the device class: 61 for VT100, 62 for VT200, 63 for VT300, 64 for VT400/VT500. The remaining values specify extensions and have the following meanings:

1
132-columns
2
Printer
3
ReGIS
4
Sixel
6
Selective erase
7
Soft character sets (DRCS)
8
User-defined keys
9
National Replacement Character Sets
12
Yugoslavian (SCS)
15
Technical Characters
16
Locator Port
17
Terminal state interrogation
18
Windowing capability
19
Dual Sessions
21
Horizontal scrolling
22
ANSI color (eg, VT525)
23
Greek
24
Turkish
28
Rectangular editing
29
ANSI text locator
42
ISO Latin-2 character set
44
PCTerm
45
Soft key map
46
ASCII emulation

CSI = Ps c DA3Tertiary Device Attributes dec-std-070 (p230) vt52x (p166) vt510 vt420 (p233/255) xterm

vt220 vt220pc vt320 vt320pc wy370 s97801 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

CSI > Ps c DA2Secondary Device Attributes dec-std-070 (p228) vt52x (p165) vt510 vt420 (p232/254) vt220 wy370 (p138) xterm

vt220 vt220pc vt320 vt320pc wy370 s97801 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 &gt; 2 4 ; 0 ; 0 c

CSI = Ps c HSCSet cursor type (SCO)

scoansi

Ps = 0 Underline

Ps = 1 Block

Ps = 2 No cursor

CSI ? Ps ; Pa ; Pc c Set cursor appearance (LINUX)

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 VPAVertical Line Position Absolute ecma-48 (p74/88) vt52x (p362) vt510 wy370 (p120) xterm

Vertical Position Absolute: Moves active position to row Ps

CSI Ps e VPRVertical Position Relative ecma-48 (p74/88) vt52x (p362) vt510 wy370 (p119) xterm

Vertical Position Relative—moves active position Ps rows down

CSI Ps ; Ps f HVPHorizontal and Vertical Position ecma-48 (p46/60) dec-std-070 (p306) vt52x (p337) vt510 vt420 (p178/200) vt220 vt132 (p81/93) vt100 wy370 (p120) xterm

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

s97801 If DECSASD is set to the status line, it is reset to terminal.

CSI Ps g DGCDisplay character in G2 (SCO)

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 currently this is always true.

CSI = Ps g PRCDisplay character in G2 (ANSI)

scoansi at386 ansi

Displays the character Ps in G2

CSI Pm h SMSet Mode ecma-48 (p65/79) dec-std-070 (p388) vt52x (p360) vt510 vt420 (p263/285) vt220 vt132 (p84/96) vt100 wy370 (p25) xterm

Non-private / ANSI Set Mode

Ps = 2 KAMKeyboard lock ecma-48 (p65/79) vt52x (p339) vt510 vt420 (p188/210) vt220 xterm

Locks the keyboard

Ps = 3 132 Column Mode scoansi

Switches to 132 Column Mode

Ps = 3 CRMControls Mode On ecma-48 (p65/79) vt52x (p160) vt510

Controls Mode On

Ps = 4 Enable Smooth Scrolling scoansi

Enable Smooth Scrolling. Only supported in the console version of K95 at this time (not K95G).

Ps = 4 IRMANSI Insert Mode ecma-48 (p65/79) dec-std-070 (p393) vt52x (p339) vt510 vt420 (p149/171) vt220 vt132 (p82/94) vt102 xterm vip7809 linux hft aixterm sun ba80 vt102 vt220 vt220pc vt320 vt320pc wy370 s97801 aaa beos qansi at386 ansi

Enable insert mode

Ps = 6 Relative Origin scoansi

Returns the cursor to 1,margintop

Ps = 6 ERMErasure Mode Set ecma-48 (p65/79) vt510 vt132 (p80/92)

Ps = 7 Auto Wrap Mode scoansi

Enables auto wrap mode

Ps = 12 SRMSend Receive ON ecma-48 (p65/79) dec-std-070 (p390) vt52x (p358) vt510 vt420 (p216/238) vt220 xterm

Switches to full duplex mode

scoansi Ignored

Ps = 13 Control execution off

display control codes

scoansi Ignored

Ps = 16 TTMSend through cursor position ecma-48 (p65/79) vt510 vt132 (p84/96)

scoansi Ignored

Ps = 20 LNMLine Feed / new line mode dec-std-070 (p312) vt52x (p340) vt510 vt420 (p189/211) vt220 vt132 (p82/94) vt100 xterm

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

scoansi Ignored

Ps = 25 Cursor On scoansi

Turns on the cursor

Ps = 30 Turn display off wy370 (p26) wy370

Turns the screen off

Ps = 30 Scrollbars On scoansi

Ps = 31 WYSTLINMDisplay status line wy370 (p26)

scoansi Ignored

Ps = 32 WYCTRSAVMScreen Saver off wy370 (p26)

scoansi Ignored

Ps = 33 WYSTCURMCursor steady wy370 (p26)

scoansi Ignored

Ps = 34 WYULCURMUnderline cursor wy370 (p26)

Changes to the underline cursor

Ps = 35 WYCLRMWidth change clear off wy370 (p26)

scoansi Ignored

Ps = 36 WYDELKMSet delete key to BS/DEL wy370 (p26)

scoansi Ignored

Ps = 37 WYGATMSend all characters wy370 (p26)

scoansi Ignored

Ps = 38 WYTEXMSend full page wy370 (p26)

scoansi Ignored

Ps = 40 WYEXTDMExtra data line wy370 (p26)

scoansi Ignored

Ps = 42 WYASCIISelect Wyse 350 personality wy370 (p26)

scoansi Ignored

Ps = 44 Margin Bell On scoansi

Enables the margin bell

Ps = 48 Cursor On scoansi

Turns on the cursor

Ps = 50 Compose key table on s97801

Ps = 51 Dead key table on s97801

Ps = 53 132-character mode s97801

Switches to 132-character mode

Ps = 1048 Cursor On scoansi

Turns on the cursor

CSI ? Pm h DECSETDEC Private Mode Set dec-std-070 (p388) vt510 wy370 (p25) xterm

DEC Private Mode Set

Ps = 2 DECANMReturn from VT52 emulation vt52x (p172) vt510 vt220 vt100 wy370 (p26) xterm

Returns to whichever ANSI mode K95 was in before switching to VT52 emulation.

h19 If the current terminal type is H19, then K95 switches from VT52 mode back ot H19 emulation

Ps = 3 DECCOLM132 column mode dec-std-070 (p326) vt52x (p188) vt510 vt420 (p131/153) vt220 vt132 (p72/84) vt100 wy370 (p26) xterm

Switches the screen to 132 columns and moves homes the cursor

Ps = 4 DECSCLMSmooth scroll dec-std-070 (p389) vt52x (p277) vt510 vt420 (p217/239) vt220 vt132 (p77/89) vt100 wy370 (p26) xterm

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

Ps = 5 DECSCNMReverse screen dec-std-070 (p349) vt52x (p277) vt510 vt420 (p216/238) vt220 vt132 (p77/89) vt100 wy370 (p26) xterm

Switches to reverse video

Ps = 6 DECOMRelative origin dec-std-070 (p389) vt52x (p231) vt510 vt420 (p135/157) vt220 vt132 (p74/86) vt100 wy370 (p26) xterm

Switches to relative origin mode

Ps = 7 DECAWMAuto Wrap mode dec-std-070 (p389) vt52x (p179) vt510 vt420 (p191/213) vt220 vt132 (p71/83) vt100 wy370 (p26) xterm

Turns auto-wrap mode on

Ps = 8 DECARMAutorepeat dec-std-070 (p389) vt52x (p173) vt510 vt420 (p190/212) vt220 vt132 (p71/83) vt100 wy370 (p26) xterm

Enable auto-repeat mode

Ps = 9 X10 mouse reporting xterm scoansi at386 ansi linux

Send mouse X & Y on button press (X10 mouse reporting).

Ps = 9 DECINLMInterlace vt132 (p73/85) vt100

Enable interlaced video mode

Ps = 10 DECEDMBlock Mode On vt132 (p72/84) wy370 (p26)

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

Ps = 18 DECPFFPrint Form Feed dec-std-070 (p389) vt52x (p237) vt510 vt420 (p211/233) vt220 vt102 wy370 (p26) xterm

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

Ps = 19 DECPEXPrinter extent dec-std-070 (p389) vt52x (p237) vt510 vt420 (p210/232) vt220 vt102 wy370 (p26) xterm

Set print extent to print the entire screen

Ps = 25 DECTCEMCursor On dec-std-070 (p389) vt52x (p311) vt510 vt420 (p176/198) vt220 wy370 (p26) xterm

Turn on the cursor

Ps = 34 DECRLMRight to Left Mode vt52x (p247) vt510

right-to-left mode

Ps = 35 DECHEBMHebrew Keyboard Mode vt52x (p212) vt510

Switches the keyboard mode to Hebrew

Ps = 36 DECHEMHebrew Encoding Mode vt52x (p211) vt510

Enter hebrew encoding mode

Ps = 38 DECTEKEnter Tektronix 4010/4014 mode dec-std-070 (p389) wy370 (p26) xterm

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

Ps = 40 XTERM - Allow 80 - 132 Mode xterm

Ps = 41 XTERM - more(1) fix xterm

Ps = 42 DECNRCMUse 7-bit National Replacement Character Sets dec-std-070 (p381) vt52x (p229) vt510 vt420 (p89/111) vt220 wy370 (p26) xterm

Switch to using 7-bit national replacement character sets

Ps = 43 DECGEPMGraphics Expanded Print mode xterm

VT340 Graphics Expanded Print Mode

Ps = 44 DECGPCMGraphics Print Color mode xterm

VT340 Graphics Print Color Mode

Ps = 45 DECGPCSGraphics Print Color syntax = RGB xterm

Graphics Print Color syntax = RGB

Ps = 46 DECGPBMGraphics Print Background mode xterm

Ps = 47 DECGRCMGraphics Rotated Print mode xterm

Ps = 47 Use alternate screen buffer (xterm) xterm

Ps = 53 DEC131TMVT131 Transmit

Ps = 60 DECHCCMHorizontal cursor coupling dec-std-070 (p340) vt510 wy370 (p26)

Ps = 61 DECVCCMVertical cursor coupling dec-std-070 (p341) vt52x (p324) vt510 vt420 (p183/205) wy370 (p26)

Ps = 64 DECPCCMPage cursor coupling dec-std-070 (p342) vt52x (p234) vt510 vt420 (p184/206) wy370 (p26)

Ps = 66 DECNKMNumeric Keyboard - Application vt52x (p229) vt510 vt420 (p193/215) wy370 (p26) xterm

Switches the numeric keypad to application mode

Ps = 67 DECBKMBackarrow key sends BS vt52x (p180) vt510 vt420 (p188/210) wy370 (p26) xterm

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

Ps = 68 DECKBUMKeyboard Usage - Data Processing dec-std-070 (p389) vt52x (p219) vt510 vt420 (p194/216) wy370 (p26)

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

Ps = 73 DECXRLMTransmit rate limiting dec-std-070 (p389) vt52x (p325) vt510

Ps = 80 DECSDMEnable Sixel Display Mode xterm

Ps = 80 WY161161-column mode wy370 (p26) wy370

Switch to 161-column mode

Ps = 83 WY5252 line mode wy370 (p26) wy370

Switch to 52 line mode

Ps = 84 WYENATErasable/non-erasable attribute select wy370 (p26)

enable separate assignment of SGR attributes to erasable and non-erasable characters

Ps = 85 WYREPLReplacement character color

set replacement character to current character background color

Ps = 114 DECATCUMSet/Reset Alternate Text Underline Mode vt52x (p177)

Enables true underline when in DECSTGLT Alternate Color mode allowing underlined text combined with the underline color set via DECATC.

Ps = 115 DECATCBMSet/Reset Alternate Text Color Blink Mode vt52x (p177)

Enables true blink when in DECSTGLT Alternate Color mode allowing blinking text combined with the blink color set via DECATC.

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

Sends mouse X & Y on button press and release

Ps = 1001 XTERM - Use Hilite Mouse Tracking xterm

Ps = 1002 XTERM - Cell Motion Mouse Tracking xterm

Enables button event mouse reporting

Ps = 1003 XTERM - All Motion Mouse Tracking xterm

Enables all motion mouse tracking

Ps = 1004 XTERM - Send FocusIn / FocusOut events xterm

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

Ps = 1006 XTERM - Enable SGR Mouse Mode xterm

Enables SGR mouse reporting

Ps = 1007 XTERM - Enable Alternate Scroll Mode xterm

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

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

Causes the terminal screen to scroll to the bottom on keypress, equivalent to set terminal roll-mode keystrokes restore-and-send.

Ps = 1015 URXVT - Enable URXVT Mouse Mode xterm

Enables URXVT mouse reporting

Ps = 2004 XTERM - Enable Bracketed Paste Mode xterm

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 and up 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

Ps = 4 Block Cursor

Switches the cursor to a block

Ps = 5 Cursor Off

Turns off the cursor

Ps = 6 Keypad Shifted

While K95 stores 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

Ps = 25 zMDMMargin Bell Mode

Ps = 26 zKCMKey Click Mode

Ps = 27 zKPCMKey Pad Control Mode

Ps = 28 zKRMKey Repeat Mode

Ps = 29 zRLMReturn Line Feed Mode

Ps = 30 zDBMDestructive Backspace Mode

Ps = 31 zBKCMBlock Cursor Mode

Ps = 32 zBNCMBlinking Cursor Mode

Ps = 33 zWFMWrap Forward Mode

Ps = 34 zWBMWrap Backward Mode

Ps = 35 zDDMDEL character Display Mode

Ps = 36 zSPMScroll Page Mode

Ps = 37 zAXMAuto Xoff/Xon Mode

Ps = 38 zAPMAuto Pause Mode

Ps = 39 zSSMSlow Scroll Mode

Ps = 40 zHDMHalf-Duplex Mod

Ps = 41 zTPDMTransfer Pointer Display Mode

Ps = 42 zLTMLine Transfer Mode

Ps = 43 zCSTMColumn Separator Transfer Mode

Ps = 44 zFSTMField Separator Transfer Mode

Ps = 45 zGRTMGraphic Rendition Transfer Mode

Ps = 46 zAKDMAuto Keyboard Disable Mode

Ps = 47 zFRMFast Repeat Mode

Ps = 48 zHAMHold in Area Mode

Ps = 49 zGAPMGuarded Area Print Mode

Ps = 51 zACMAlternate Cursor Mode

Ps = 52 zMKMMeta Key Mode

Ps = 53 zCLIMCaps Lock Invert Mode

Ps = 54 zINMIgnore NUL Mode

Ps = 55 zCNMCR New-Line Mode

Ps = 56 zICMInvisible Cursor Mode

Ps = 57 zMMMMeta Monitor Mode

Ps = 59 zIVMInverse Video Mode

Ps = 61 Z8RCM8-bit Remote Copy Mode

CSI Ps i MCMedia Copy ecma-48 (p50/64) dec-std-070 (p713) vt52x (p342) vt510 vt420 (p211/233) vt220 vt102 wy370 (p132) xterm

Ps = 0 Print whole screen (default) vt52x (p342) vt510 vt420 (p212/234) vt220 vt102 xterm

Ps = 2 Transmit Screen vt52x (p342) vt510

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 Printer Controller (Transparent Print) dec-std-070 (p713) vt52x (p342) vt510 vt420 (p212/234) vt220 vt102 xterm

Turns off Printer Controller (Transparent Print) mode

Ps = 5 Printer Controller (Transparent Print) dec-std-070 (p713) vt52x (p342) vt510 vt420 (p212/234) vt220 vt102 xterm

Sends every character received to the configured printer

Ps = 6 Turn off screen display vt52x (p343) vt510

Ps = 7 Turn on screen display vt52x (p343) vt510

Described in the VT125 manual, these are really ANSI Media Copy sequences that 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 ? Ps i MCMedia Copy (DEC Private) vt52x (p342) vt510 vt220 xterm

Ps = 1 Print cursor line vt52x (p343) vt510 vt420 (p213/235) vt220 vt102

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

Ps = 4 Turn off Auto-print dec-std-070 (p714) vt52x (p343) vt510 vt420 (p212/234) vt102 xterm

Turns off Auto-print

Ps = 5 Auto-print dec-std-070 (p714) vt52x (p343) vt510 vt420 (p212/234) vt220 vt102 xterm

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

CSI Ps k EDKSet Key Click

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

CSI = ? l
CSI ? = l
Insert line up

Insert line up

CSI Pm l RMReset Mode ecma-48 (p42/56) dec-std-070 (p388) vt52x (p349) vt510 vt420 (p264/286) vt220 vt132 (p83/95) vt100 wy370 (p25) xterm

Ps = 2 KAMKeyboard unlocked ecma-48 (p42/56) dec-std-070 (p388) vt52x (p339) vt510 vt420 (p188/210) vt220 wy370 (p26) xterm

unlocks the keyboard

Ps = 3 80 columns scoansi

Switch to 80 column mode

Ps = 3 CRMControls Mode off ecma-48 (p42/56) vt52x (p160) vt510 wy370 (p26)

Ps = 4 Jump Scroll 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 = 4 IRMANSI Insert Mode ecma-48 (p42/56) dec-std-070 (p393) vt52x (p339) vt510 vt420 (p149/171) vt220 vt132 (p82/94) vt102 wy370 (p26) xterm vip7809 linux hft aixterm sun ba80 vt102 vt220 vt220pc vt320 vt320pc wy370 s97801 aaa beos qansi scoansi at386 ansi

Turn off insert mode

Ps = 6 Absolute Origin scoansi

Sends the cursor to 1,1

Ps = 6 ERMErasure Mode Reset ecma-48 (p42/56) vt132 (p80/92)

Erasure mode reset

Ps = 7 Auto Wrap scoansi

Turns off auto-wrap

Ps = 12 SRMSend Receive Off ecma-48 (p42/56) dec-std-070 (p390) vt52x (p358) vt510 vt420 (p216/238) vt220 wy370 (p26) xterm

Turns on local echo

scoansi Ignored

Ps = 13 FEAMControl execution on ecma-48 (p42/56) vt510 wy370 (p26)

scoansi Ignored

Ps = 16 TTMSend through EOL or EOS ecma-48 (p42/56) vt510 vt132 (p84/96) wy370 (p26)

scoansi Ignored

Ps = 20 LNMlinefeed / newline mode dec-std-070 (p312) vt52x (p340) vt510 vt420 (p189/211) vt220 vt132 (p82/94) vt100 wy370 (p26) xterm

Turns off terminal new line and display crlf

scoansi Ignored

Ps = 25 Cursor off

Disable cursor

Ps = 30 WYDSCMTurn display on wy370 (p26) wy370

Ps = 30 Scrollbars Off scoansi

Ps = 31 WYSTLINMTurn off status line wy370 (p26)

scoansi Ignored

Ps = 32 WYCTRSAVMScreen Saver on wy370 (p26)

scoansi Ignored

Ps = 33 WYSTCURMCursor blinking wy370 (p26)

scoansi Ignored

Ps = 34 WYULCURMBlock cursor wy370 (p26) wy370

Switch to block cursor

Ps = 35 WYCLRMWidth change clear on wy370 (p26)

Ps = 36 WYDELKMSet delete key to DEL/CAN wy370 (p26)

Ps = 37 WHGATMSend erasable characters wy370 (p26)

Ps = 38 WYTEXMSend scrolling region wy370 (p26)

Ps = 40 WYEXTDMExtra data line wy370 (p26)

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

Make compose key send Compose Key String

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

Ps = 53 80-character mode wy370

Ps = 1048 Cursor off scoansi

Disable cursor

CSI ? Pm l DECRSTDEC Private Mode Reset dec-std-070 (p388) vt52x (p349) vt510 vt420 (p265/287) vt220 vt132 (p83/95) vt100 wy370 (p25) xterm

DEC Private Mode Reset

Ps = 1 DECCKMCursor key mode dec-std-070 (p389) vt52x (p186) vt510 vt420 (p192/214) vt220 vt132 (p71/83) vt100 wy370 (p26) xterm

Sets the arrow keys to normal

Ps = 2 DECANMANSI/VT52 vt52x (p172) vt510 vt420 (p327/349) vt220 vt132 (p71/83) vt100 wy370 (p26) xterm

Switches to VT52 mode

Ps = 3 DECCOLM80 Columns dec-std-070 (p326) vt52x (p188) vt510 vt420 (p131/153) vt220 vt132 (p72/84) vt100 wy370 (p26) xterm

Switches to 80 column mode

Ps = 4 DECSCLMJump scrolling dec-std-070 (p389) vt52x (p277) vt510 vt420 (p217/239) vt220 vt132 (p77/89) vt100 wy370 (p26) xterm

Switches to Jump (fast) scrolling. Only affects the console version of K95—the GUI version (K95G) only supports jump scrolling at the moment so is always in this mode

Ps = 5 DECSCNMNormal screen dec-std-070 (p349) vt52x (p277) vt510 vt420 (p216/238) vt220 vt132 (p77/89) vt100 wy370 (p26) xterm

Normal screen

Ps = 6 DECOMAbsolute origin dec-std-070 (p389) vt52x (p231) vt510 vt420 (p135/157) vt220 vt132 (p74/86) vt100 wy370 (p26) xterm

Normal cursor mode

Ps = 8 DECARMAuto repeat dec-std-070 (p389) vt52x (p173) vt510 vt420 (p190/212) vt220 vt132 (p71/83) vt100 wy370 (p26) xterm

Turn off auto-repeat

Ps = 9 DECINLMInterlace vt132 (p73/85) vt100

Turn off interlaced video

Ps = 9 Turn off X10 mouse reporting xterm scoansi at386 ansi linux

Ps = 10 DECEDMBlock mode off vt132 (p72/84) wy370 (p26)

Ps = 18 DECPFFPrint Form Feed dec-std-070 (p389) vt52x (p237) vt510 vt420 (p211/233) vt220 vt102 wy370 (p26) xterm

Don't send form feed after printing screen

Ps = 19 DECPEXPrint extent dec-std-070 (p389) vt52x (p237) vt510 vt420 (p210/232) vt220 vt102 wy370 (p26) xterm

Print scrolling region, not full screen

Ps = 25 DECTCEMCursor Off dec-std-070 (p389) vt510 vt420 (p176/198) vt220 wy370 (p26) xterm

Turn off cursor

Ps = 34 DECRLMRight to Left Mode vt52x (p247) vt510

Ps = 35 Enter english keyboard mode vt52x (p212) vt510

Ps = 36 DECHEMHebrew Encoding Mode vt52x (p211) vt510

Ps = 38 DECTEKExit Tektronix 4010/4014 mode dec-std-070 (p389) wy370 (p26)

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

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

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

Ps = 42 DECNRCM8-bit multinational character set dec-std-070 (p381) vt52x (p229) vt510 vt420 (p89/111) vt220 wy370 (p26) xterm

Use 8-bit multinational character set

Ps = 43 DECGEPMGraphics Normal Print mode xterm

Ps = 44 DECGPCMGraphics Print Monochrome mode xterm

Ps = 45 DECGPCSGraphics Print Color syntax = HLS xterm

Ps = 46 DECGPBMGraphics Print No-Background mode

Ps = 47 DECGRCMGraphics Unrotated Print mode xterm

Ps = 47 Use normal screen buffer (xterm) xterm

Ps = 53 DEC131TMVT131 Transmit

Ps = 60 DECHCCMHorizontal cursor coupling dec-std-070 (p340) vt510

Ps = 61 DECVCCMVertical cursor coupling dec-std-070 (p341) vt52x (p324) vt510 vt420 (p183/205) wy370 (p26)

Ps = 64 DECPCCMPage cursor coupling dec-std-070 (p342) vt52x (p234) vt510 vt420 (p184/206) wy370 (p26)

Ps = 66 DECNKMNumeric Keyboard - Numeric vt52x (p229) vt510 vt420 (p193/215) wy370 (p26) xterm

Sets the keypad to normal

Ps = 67 DECBKMBackarrow sends DEL vt52x (p180) vt510 vt420 (p188/210) wy370 (p26) xterm

Changes the keymap so that backarrow sends DEL.

Ps = 68 DECKBUMKeyboard Usage - Typewriter mode dec-std-070 (p389) vt52x (p219) vt510 vt420 (p194/216) wy370 (p26)

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

Ps = 73 DECXRLMTransmit rate limiting dec-std-070 (p389) vt52x (p325) vt510

Ps = 80 WY16180-column mode wy370 (p26) wy370

Ps = 83 WY5224 line mode wy370 (p26) wy370

Switches to 24 line mode

Ps = 84 WYENAT wy370 (p26) wy370

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

Ps = 85 WYREPL wy370 (p26) wy370

Set replacement character to color map background color

Ps = 114 DECATCUMSet/Reset Alternate Text Underline Mode vt52x (p177)

Disables true underline when in DECSTGLT Alternate Color mode causing the underline attribute to only change the text color to that set via DECATC.

Ps = 115 DECATCBMSet/Reset Alternate Text Color Blink Mode vt52x (p177)

Disables true blink when in DECSTGLT Alternate Color mode causing the blink attribute to only change the text color to that set via DECATC.

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

Disable X11 mouse reporting

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

Ps = 1002 XTERM - Cell Motion Mouse Tracking xterm

Turns off button-event mouse reporting

Ps = 1003 XTERM - All Motion Mouse Tracking xterm

Turns off all mose reporting

Ps = 1004 XTERM - Send FocusIn/FocusOut events xterm

Ps = 1005 XTERM - UTF-8 Mouse Mode xterm

Ps = 1006 XTERM - Disable SGR Mouse Mode xterm

Turns off SGR mouse reporting

Ps = 1007 XTERM - Alternate Scroll Mode xterm

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

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

When viewing scrollback, causes the terminal screen to remain where it is rather than scrolling to the bottom on keypress. Equivalent to set terminal roll-mode keystrokes send.

Ps = 2004 XTERM - Disable Bracketed Paste Mode xterm

Disable bracketed paste mode

CIS > Pm l Zenith/Heath Mode Reset

AnnArbor values from 25 are not implemented

Ps = 1 Disable 25th line

Enables the status line

Ps = 2 Key Click

Enables key click

Ps = 3 Exit 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

Ps = 25 zMDMMargin Bell Mode

Ps = 26 zKCMKey Click Mode

Ps = 27 zKPCMKey Pad Control Mode

Ps = 28 zKRMKey Repeat Mode

Ps = 29 zRLMReturn Line Feed Mode

Ps = 30 zDBMDestructive Backspace Mode

Ps = 31 zBKCMBlock Cursor Mode

Ps = 32 zBNCMBlinking Cursor Mode

Ps = 33 zWFMWrap Forward Mode

Ps = 34 zWBMWrap Backward Mode

Ps = 35 zDDMDEL character Display Mode

Ps = 36 zSPMScroll Page Mode

Ps = 37 zAXMAuto Xoff/Xon Mode

Ps = 38 zAPMAuto Pause Mode

Ps = 39 zSSMSlow Scroll Mode

Ps = 40 zHDMHalf-Duplex Mode

Ps = 41 zTPDMTransfer Pointer Display Mode

Ps = 42 zLTMLine Transfer Mode

Ps = 43 zCSTMColumn Separator Transfer Mode

Ps = 44 zFSTMField Separator Transfer Mode

Ps = 45 zGRTMGraphic Rendition Transfer Mode

Ps = 46 zAKDMAuto Keyboard Disable Mode

Ps = 47 zFRMFast Repeat Mode

Ps = 48 zHAMHold in Area Mode

Ps = 49 zGAPMGuarded Area Print Mode

Ps = 51 zACMAlternate Cursor Mode

Ps = 52 zMKMMeta Key Mode

Ps = 53 zCLIMCaps Lock Invert Mode

Ps = 54 zINMIgnore NUL Mode

Ps = 55 zCNMCR New-Line Mode

Ps = 56 zICMInvisible Cursor Mode

Ps = 57 zMMMMeta Monitor Mode

Ps = 59 zIVMInverse Video Mode

Ps = 61 Z8RCM8-bit Remote Copy Mode

CSI = ? }
CSI ? = }
CSI = ? m
CSI ? = m
Scroll up one line deleting the previous

CSI = Ps ; Ps {
CSI = Ps ; Ps m
SSMSet margin to specified value

scoansi

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 behavior and instead use the one ending with `m`.

CSI Pm m SGRSelect Graphic Rendition ecma-48 (p61/75) dec-std-070 (p358) vt52x (p355) vt510 vt420 (p143/165) vt220 vt132 (p83/95) vt100 wy370 (p77) xterm

Character Attributes (SGR)

Ps = 0 Normal (default), VT100 ecma-48 (p61/75) dec-std-070 (p358) vt52x (p355) vt510 vt420 (p143/165) vt220 vt132 (p83/95) vt100 wy370 (p78) xterm

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 ecma-48 (p61/75) vt52x (p355) vt510 vt420 (p143/165) vt220 vt132 (p83/95) vt100 wy370 (p78) xterm

Turns on the Bold attribute. ECMA-48 leaves presentation up to the implementation saying it can be a bold font or increased intensity. Usually it was implemented as increased intensity on hardware terminals, and when color appeared it was often used to gain access to brighter versions of the standard eight colors specified by ECMA-48. SGR-90 to 97 and SGR-100 to 107 which provide direct access to these eight brighter colors are a later non-standard extension from IBMs aixterm terminal

In the Console version of Kermit 95 (OS/2, Windows), bold is always shown as a more intense color. The Windows GUI version of Kermit 95 (K95G) by default uses a bold font in addition to the more intense color.

Ps = 2 Set Foreground and Background Colour scoansi

If processing of SGR colors is enabled (set term sgr-colors on), the following two parameters are taken as the foreground (first parameter) and background (second parameter) colors. The current intensity setting is preserved (if the previous foreground color was intense blue, and the new one is green, then the result will be intense green). Valid color codes are:

Value Color
0 Black
1 Blue
2 Green
3 Cyan
4 Red
5 Magenta
6 Brown
7 Light Grey

Ps = 2 Turn on Faint/Dim ecma-48 (p61/75) wy370 (p78) xterm

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

Ps = 3 Turn on Italic ecma-48 (p61/75) xterm

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 ecma-48 (p61/75) dec-std-070 (p358) vt52x (p355) vt510 vt420 (p143/165) vt220 vt132 (p83/95) vt100 wy370 (p78) xterm

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 scoansi

Turns on the Blink attribute.

Ps = 5 Turn on Slow Blink ecma-48 (p61/75) dec-std-070 (p358) vt52x (p355) vt510 vt420 (p143/165) vt220 vt132 (p83/95) vt100 wy370 (p78) xterm

K95 does not currently differentiate between Blink and Slow Blink, so this just sets the blink attribute.

Ps = 6 Turn off Blink scoansi

Turns off the blink attribute

Ps = 6 Turn on Fast Blink ecma-48 (p61/75)

Sets the blink attribute

Ps = 7 Swap foreground and background colours at386

Swaps the foreground and background colours

Ps = 7 Turn on Reverse Video ecma-48 (p61/75) dec-std-070 (p358) vt52x (p355) vt510 vt420 (p143/165) vt220 vt132 (p83/95) vt100 wy370 (p78) xterm

Turns on the Reverse Video attribute.

Ps = 8 Turn on Invisible attribute ecma-48 (p61/75) vt52x (p355) vt510 vt420 (p143/165) wy370 (p78) xterm

Turns on the Invisible attribute.

Ps = 9 Turn on Invisible attribute qansi

Turns on the Invisible attribute.

Ps = 10 Select Primary Font vt52x (p355) vt510 scoansi at386 ansi beos

The ASCII Character Set is the current 7-bit display character set (SCO Console Emulation).

Ps = 10 Select Primary Font ecma-48 (p61/75) qansi linux

Disables sco8bit and crm modes, restores graphic sets.

Ps = 11 Display GL Control Characters as Graphic Characters vt52x (p355) vt510 scoansi at386 ansi

Hex 00–7F of the PC character set codes are mapped to the current 7-bit display character set.

Ps = 11 Display GL Control Characters as Graphic Characters linux

Turns on sco8bit and crm. Sets G1, G2 and G3 to CP437

Ps = 11 Display GL Control Characters as Graphic Characters qansi

Turns on sco8bit and crm. Sets G1/G2/G3 to IBM C0 Graphics.

Ps = 12 Select null mapping 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 = 12 Map 80-FF vt52x (p355) vt510

Hex 80-FF of the current character set are mapped to the current 7-bit display character set.

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

Ps = 21 Set Underlined linux

Set underlined attribute (since linux 4.17)

Ps = 22 Normal (turn off bold and dim) ecma-48 (p61/75) dec-std-070 (p358) vt52x (p355) vt510 vt420 (p143/165) vt220 wy370 (p78) xterm

Turns off the bold and dim attributes

Ps = 23 Turn off Italic ecma-48 (p61/75) xterm

Turns off the italic attribute

Ps = 24 Turn off Underline ecma-48 (p61/75) dec-std-070 (p358) vt52x (p355) vt510 vt420 (p143/165) vt220 wy370 (p78) xterm

Turns off the underline attribute

Ps = 25 Turn off Blink ecma-48 (p61/75) dec-std-070 (p358) vt52x (p355) vt510 vt420 (p143/165) vt220 wy370 (p78) xterm

Turns off the blink attribute

Turns on the Blink attribute

Turns off the Blink attribute

Ps = 27 Turn off Reverse Video ecma-48 (p61/75) dec-std-070 (p358) vt52x (p355) vt510 vt420 (p143/165) vt220 wy370 (p78) xterm

Turns off the Reverse Video attribute

Ps = 28 Turn off Invisible ecma-48 (p61/75) vt52x (p355) vt510 vt420 (p143/165) wy370 (p78) xterm

Turns off the Invisible attribute

Ps = 29 Turn off Invisible qansi

Turns off the Invisible attribute

Ps = 30 Set Black Foreground ecma-48 (p61/75) vt52x (p356) xterm

Ps = 31 Set Red Foreground ecma-48 (p61/75) vt52x (p356) xterm

Ps = 32 Set Green Foreground ecma-48 (p61/75) vt52x (p356) xterm

Ps = 33 Set Brown Foreground ecma-48 (p61/75) vt52x (p356) xterm

Ps = 34 Set Blue Foreground ecma-48 (p61/75) vt52x (p356) xterm

Ps = 35 Set Magenta Foreground ecma-48 (p61/75) vt52x (p356) xterm

Ps = 36 Set Cyan Foreground ecma-48 (p61/75) vt52x (p356) xterm

Ps = 37 Set White Foreground ecma-48 (p61/75) vt52x (p356) xterm

If processing of SGR colors is enabled (set term sgr-colors on), sets the foreground color preserving its intensity.

scoansi Also sets the default foreground color, reverse video background color, and the graphic attribute foreground colour

Ps = 38 Enable Underline Option

Comment for this one says, "Enable underline option." The terminal type this behavior should be for is not mentioned, but it was probably for linux pre-3.16. It is not implemented in any case.

Ps = 38 : 2 : Pi : Pr : Pg : Pb Set foreground to RGB values xterm

Sets the foreground color to the supplied 24-bit RGB value. Pi is the color space ID which is currently ignored, and Pr/Pg/Pb are the red, green and blue components (0–255).

If Kermit 95 has not been compiled with 24-bit RGB color support, the nearest color in the current palette (as set by SET TERM COLOR PALETTE) is used instead. In console builds of Kermit 95 (k95.exe, k2.exe), this will always be the 16-color aixterm palette.

Ps = 38 : 5 : Ps Set foreground to indexed color xterm

Sets the foreground color to the specified color in the current color palette (as set by SET TERM COLOR PALETTE). Valid range is 0–15 for the aixterm-16 palette, 0–87 for the xterm-88 palette, and 0–255 for the xterm-256 palette.

Console builds of Kermit 95 (k95.exe, k2.exe) only support the aixterm 16-color palette. If the current color palette is not aixterm-16, the specified color will be looked up in that palette, and then the nearest match in the aixterm-16 palette will be used instead.

Ps = 38 ; 2 ; Pr ; Pg ; Pb Set foreground to RGB values xterm

This does not properly conform to ISO-8613-6 and is implemented only for compatibility with older xterm releases and Konsole. Using the standard syntax is recommended.

Sets the foreground color to the supplied 24-bit RGB value. Pr/Pg/Pb are the red, green and blue components (0–255).

If Kermit 95 has not been compiled with 24-bit RGB color support, the nearest color in the current palette (as set by SET TERM COLOR PALETTE) is used instead. In console builds of Kermit 95 (k95.exe, k2.exe), this will always be the 16-color aixterm palette.

Ps = 38 ; 5 ; Ps Set foreground to indexed color

This does not properly conform to ISO-8613-6 and is implemented only for compatibility other terminal emulators. Using the standard syntax is recommended.

Sets the foreground color to the specified color in the current color palette (as set by SET TERM COLOR PALETTE). Valid range is 0–15 for the aixterm-16 palette, 0–87 for the xterm-88 palette, and 0–255 for the xterm-256 palette.

Console builds of Kermit 95 (k95.exe, k2.exe) only support the aixterm 16-color palette. If the current color palette is not aixterm-16, the specified color will be looked up in that palette, and then the nearest match in the aixterm-16 palette will be used instead.

Ps = 39 Set foreground color to default ecma-48 (p61/75) vt52x (p356) xterm

This is processed for all terminal types, where it resets the foreground color to the default value. The comments say: Supported by SCO ANSI, for QANSI restore foreground color saved with CSI = Pn F.

If the default foreground color is one of the standard 16 colors, the foregrounds' existing intensity bit is preserved. (for example, if the default FG color is green, and the current FG color is intense blue, then the result will be intense green).

The comments also indicate this is used for "disable underline option" on some unspecified terminal; presumably the inverse of CSI 38 m

Ps = 40 Set Black Background ecma-48 (p61/75) vt52x (p356) xterm

Ps = 41 Set Red Background ecma-48 (p61/75) vt52x (p356) xterm

Ps = 42 Set Green Background ecma-48 (p61/75) vt52x (p356) xterm

Ps = 43 Set Brown Background ecma-48 (p61/75) vt52x (p356) xterm

Ps = 44 Set Blue Background ecma-48 (p61/75) vt52x (p356) xterm

Ps = 45 Set Magenta Background ecma-48 (p61/75) vt52x (p356) xterm

Ps = 46 Set Cyan Background ecma-48 (p61/75) vt52x (p356) xterm

Ps = 47 Set White Background ecma-48 (p61/75) vt52x (p356) xterm

If processing of SGR colors is enabled (set term sgr-colors on), sets the background color preserving its intensity.

scoansi Also sets the default background color, reverse video foreground color, and the graphic attribute background colour

Ps = 48 : 2 : Pi : Pr : Pg : Pb Set background to RGB values xterm

Sets the background color to the supplied 24-bit RGB value. Pi is the color space ID which is currently ignored, and Pr/Pg/Pb are the red, green and blue components (0–255).

If Kermit 95 has not been compiled with 24-bit RGB color support, the nearest color in the current palette (as set by SET TERM COLOR PALETTE) is used instead. In console builds of Kermit 95 (k95.exe, k2.exe), this will always be the 16-color aixterm palette.

Ps = 48 : 5 : Ps Set background to indexed color xterm

Sets the background color to the specified color in the current color palette (as set by SET TERM COLOR PALETTE). Valid range is 0–15 for the aixterm-16 palette, 0–87 for the xterm-88 palette, and 0–255 for the xterm-256 palette.

Console builds of Kermit 95 (k95.exe, k2.exe) only support the aixterm 16-color palette. If the current color palette is not aixterm-16, the specified color will be looked up in that palette, and then the nearest match in the aixterm-16 palette will be used instead.

Ps = 48 ; 2 ; Pr ; Pg ; Pb Set background to RGB values xterm

This does not properly conform to ISO-8613-6 and is implemented only for compatibility with older xterm releases and Konsole. Using the standard syntax is recommended.

Sets the background color to the supplied 24-bit RGB value. Pr/Pg/Pb are the red, green and blue components (0–255).

If Kermit 95 has not been compiled with 24-bit RGB color support, the nearest color in the current palette (as set by SET TERM COLOR PALETTE) is used instead. In console builds of Kermit 95 (k95.exe, k2.exe), this will always be the 16-color aixterm palette.

Ps = 48 ; 5 ; Ps Set background to indexed color

This does not properly conform to ISO-8613-6 and is implemented only for compatibility other terminal emulators. Using the standard syntax is recommended.

Sets the background color to the specified color in the current color palette (as set by SET TERM COLOR PALETTE). Valid range is 0–15 for the aixterm-16 palette, 0–87 for the xterm-88 palette, and 0–255 for the xterm-256 palette.

Console builds of Kermit 95 (k95.exe, k2.exe) only support the aixterm 16-color palette. If the current color palette is not aixterm-16, the specified color will be looked up in that palette, and then the nearest match in the aixterm-16 palette will be used instead.

Ps = 49 Set background color to default ecma-48 (p61/75) vt52x (p356) xterm

This is processed for all terminal types, where it resets the background color to the default value. The comments say: "Supported by SCO ANSI. QANSI - restore bg color saved with CSI = Pn G"

Ps = 50 Save Attributes s97801

Ps = 50 Reset to the original color pair scoansi

Ps = 51 Ignored 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 xterm

Ps = 91 Set Bright Red Foreground xterm

Ps = 92 Set Bright Green Foreground xterm

Ps = 93 Set Bright Brown Foreground xterm

Ps = 94 Set Bright Blue Foreground xterm

Ps = 95 Set Bright Magenta Foreground xterm

Ps = 96 Set Bright Cyan Foreground xterm

Ps = 97 Set Bright White Foreground xterm

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 color, and the graphic attribute foreground colour

Ps = 100 Set Bright Black Background xterm

Ps = 101 Set Bright Red Background xterm

Ps = 102 Set Bright Green Background xterm

Ps = 103 Set Bright Brown Background xterm

Ps = 104 Set Bright Blue Background xterm

Ps = 105 Set Bright Magenta Background xterm

Ps = 106 Set Bright Cyan Background xterm

Ps = 107 Set Bright White Background xterm

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 color, and the graphic attribute background colour

CSI Ps n
CSI ? Ps n
DSRDevice Status Report
ecma-48 (p40/54) dec-std-070 (p435) vt52x (p327) vt510 vt420 (p235/257) vt220 vt132 (p79/91) vt100 wy370 (p138) xterm (standard) xterm (DEC private)

K95 does not currently differentiate between the standard and DEC private DSR control sequences. Using the DEC private control sequence only affects the response produced by Ps = 6.

Ps = 0 Transmit cursor position scoansi

Ps = 5 Terminal Status Report ecma-48 (p40/54) vt52x (p331) vt510 vt420 (p236/258) vt220 vt100 wy370 (p138) xterm

Responds with CSI 0 n indicating the terminal is OK

Ps = 6 CPRCursor position report ecma-48 (p40/54) vt52x (p327) vt510 vt420 (p236/258) vt220 vt100 wy370 (p138) xterm

If the request was CSI 6 n, transmits the cursor position is transmitted to the host. Response is: CSI x ; y R where x and y are the cursor coordinates

Ps = 6 DECXCPRCursor position report dec-std-070 (p310) vt52x (p324) vt52x (p328) vt510 vt420 (p236/258) xterm

If the request was CSI ? 6 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)

Ps = 15 DECDSRPrinter status vt52x (p332) vt510 vt420 (p237/259) vt220 vt102

K95 responds with printer ready: CSI ? 1 0 n

Ps = 25 DECDSRUDK status vt52x (p333) vt510 vt420 (p238/260) vt220

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

Ps = 26 DECDSRKeyboard language, UK or US vt52x (p329) vt510 vt420 (p238/260) vt220

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

CSI n TCPTransmit Cursor Position

scoansi

Transmits the cursor position - row and column separated by a space and followed by a new line.

CSI o DAQDefine Area Qualification

aaa

CSI Ps o TMPTransmit Margin Position

scoansi

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 SUNBOWBlack On White

sun

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 p Transmit Page to host

h19

Only if the real terminal type is H19. If a different terminal type is chosen that is able to switch into an H19 mode, and K95 is asked to switch into that H19 mode, this control sequence remains unavailable.

CSI Ps p SNI-97801 set... things?

s97801

Ps = 0 Blinking on

Blinking on, lines 1–25 or 1–24

Ps = 1 Blinking off

Blinking off, lines 1–25 or 1–24

Ps = 2 Blinking on, line 25

Blinking on, line 25

Ps = 3 Blinking off, line 25

Blinking off, line 25

Ps = 5 Request abbreviated cursor position

Responds with &lt;FS&gt; &lt;line+0x20&gt; &lt;column+0x20&gt;, 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

Ps = 14 Deactivate cursor blinking

CSI Pa ; Pu ; Pl ; Ps ; Pc ; Pm ; p Set Display Parameters

aaa
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, the behavior 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 &lt; Ps then line spacing is adjusted.

CSI ! p DECSTRSoft Reset dec-std-070 (p235) vt52x (p304) vt510 vt420 (p285/307) vt220 wy370 (p36) xterm

Resets the terminal

CSI Pl ; Pc " p DECSCLSelect Conformance Level dec-std-070 (p226) vt52x (p276) vt510 vt420 (p87/109) vt220 wy370 (p34) xterm

This lets you switch in and out of VT100 mode, and change between 7-bit controls and 8-bit controls.

A real VT520 at least, and the documentation suggests this is the case for older models too, can only switch between the VT100 conformance level and its own conformance level. On a VT520, trying to set a conformance level of 62, 63, 64 or 65 will all get you 65. You get to choose between the lowest level (61) and the highest level for your terminal—the in between options are all the same as the highest level.

So the conformance levels you're switching to here depend on which terminal type Kermit 95 is emulating.

If Kermit 95 is emulating a VT320 or higher, you can query the state of DECSCL with with DECRQSS

Pl = 61 level 1 dec-std-070 (p226) xterm vt100

Sets the terminal type mode to VT100

Pl = 61 level 1 dec-std-070 (p226) vt52x (p276) vt510 vt420 (p87/109) vt220 xterm vt102 vt220 vt220pc vt320 vt320pc wy370

Sets the terminal type mode to VT102

Pl = 62 level 2 dec-std-070 (p226) vt220 xterm vt220 vt220pc

Sets the terminal type to VT220

Pl = 62 level 2 - VT320 dec-std-070 (p226) xterm vt320 vt320pc

Sets the terminal type to VT320

Pl = 62 level 2 wy370

Sets the terminal type to WY370

Pl = 63 level 3 - VT320 dec-std-070 (p226) xterm vt320 vt320pc

Sets the terminal type to VT320

Pl = 63 level 3 dec-std-070 (p226) wy370

Sets the terminal type to WY370

Pc = 0 8-bit controls vt510 vt420 (p87/109) xterm 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 vt510 xterm 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.

Pc = 2 8-bit controls vt510 xterm 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.

CSI Ps $ p DECRQMRequest ANSI Mode dec-std-070 (p448) vt52x (p262) vt510 vt420 (p257/279) wy370 (p147) xterm

Ps is the mode number as in SM/RM. Only those listed below are currently supported by DECRQM in K95 at this time. Response is in the form: CSI Ps; Pm $ y

Ps = 2 KAMKeyboard action ecma-48 (p65/79) vt52x (p263) vt510 vt420 (p259/281) xterm

Ps = 3 CRMControl representation ecma-48 (p65/79) vt52x (p263) vt510 vt420 (p259/281)

Ps = 10 HEMHorizontal editing (permanently set to 4) vt52x (p263) vt510 vt420 (p259/281)

Ps = 20 LNMline feed/new line dec-std-070 (p312) vt52x (p263) vt510 vt420 (p259/281) xterm

Ps = 33 WYSTCURMCursor blinking wy370 (p26)

scoansi Ignored

Ps = 34 WYULCURMBlock cursor wy370 (p26) wy370

CSI ? Ps $ p DECRQMRequest DEC mode dec-std-070 (p448) vt510 wy370 (p147) xterm

Ps is the mode number as in SM/RM. Only those listed below are currently supported by DECRQM in K95 at this time. Response is in the form: CSI ? Ps; Pm $ y

Ps = 2 DECANMANSI vt52x (p264) vt510 vt420 (p260/282) wy370 (p26) xterm

Ps = 8 DECARMAutorepeat (permanently set to 3) dec-std-070 (p389) vt52x (p264) vt510 vt420 (p260/282) wy370 (p26) xterm

Ps = 9 X10 mouse reporting xterm scoansi at386 ansi linux

Ps = 10 DECEDMBlock mode vt132 (p72/84) wy370 (p26)

Ps = 18 DECPFFPrint form feed dec-std-070 (p389) vt52x (p264) vt510 vt420 (p260/282) wy370 (p26) xterm

Ps = 19 DECPEXPrinter extent dec-std-070 (p389) vt52x (p264) vt510 vt420 (p260/282) wy370 (p26) xterm

Ps = 25 DECTCEMText cursor enable dec-std-070 (p389) vt52x (p264) vt510 vt420 (p260/282) wy370 (p26) xterm

Ps = 34 DECRLMCursor direction, right to left vt52x (p264) vt510

Ps = 35 DECHEBMHebrew keyboard mapping vt52x (p264) vt510

Ps = 38 DECTEKTektronix 4010/4014 mode dec-std-070 (p389) wy370 (p26)

Ps = 40 80 - 132 mode switch xterm

Ps = 41 more(1) fix xterm

Ps = 42 DECNRCMNational replacement character set dec-std-070 (p381) vt52x (p264) vt510 vt420 (p260/282) wy370 (p26) xterm

Ps = 43 DECGEPMGraphics Normal Print mode xterm

Ps = 44 DECGPCMGraphics Print Monochrome mode xterm

Ps = 45 DECGPCSGraphics Print Color syntax = HLS xterm

Ps = 46 DECGPBMGraphics Print No-Background mode

Ps = 47 DECGRCMGraphics Unrotated Print mode xterm

Ps = 47 Use normal screen buffer (xterm) xterm

Ps = 53 DEC131TMVT131 Transmit

Ps = 66 DECNKMNumeric Keypad vt52x (p264) vt510 vt420 (p260/282) wy370 (p26) xterm

Ps = 67 DECBKMBackarrow key vt52x (p264) vt510 vt420 (p260/282) wy370 (p26) xterm

Ps = 68 DECKBUMKeyboard usage dec-std-070 (p389) vt52x (p264) vt510 vt420 (p260/282) wy370 (p26)

Ps = 114 DECATCUMAlternate Text Underline Mode vt52x (p177)

Reports the current DECATCUM setting

Ps = 115 DECATCBMAlternate Text Color Blink Mode vt52x (p177)

Reports the current DECATCBM setting

Ps = 1000 XTERM - Send Mouse X&Y on button press and release xterm scoansi at386 ansi linux

Ps = 1001 XTERM - Use Hilite Mouse Tracking xterm

Ps = 1002 XTERM - Cell Motion Mouse Tracking xterm scoansi at386 ansi linux

Ps = 1003 XTERM - All Motion Mouse Tracking xterm scoansi at386 ansi linux

Ps = 1004 XTERM - Send FocusIn / FocusOut events xterm

Ps = 1006 XTERM - SGR Mouse Mode xterm scoansi at386 ansi linux

Ps = 1007 XTERM - Alternate Scroll Mode xterm

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

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

Responds with Set if set terminal roll-mode keystrokes is set to restore-and-send, or not set otherwise.

Ps = 1015 URXVT Mouse Mode xterm scoansi at386 ansi linux

CSI Ps ; Ps , p DECLTODLoad Time of Day vt52x (p226) vt510

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 Transmit 25th line to host

h19

CSI q SUNWOBWhite On Black

sun

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 Rendition' above) is black-on-white in this mode. The initial setting of the screen mode on reset is the alternative mode, black on white.

CSI Ps q Set CH.CODE LED

s97801

Turns CH.CODE LED off (Ps = 0) or on (Ps = 6). Does not affect actual mode.

CSI Pm q DECLLLoad LEDs vt52x (p225) vt510 vt132 (p74/86) vt100 xterm

Ps = 0 All LEDs off vt52x (p225) vt510 xterm

Ps = 1 Num Lock on vt52x (p225) vt510 xterm

Ps = 2 Caps Lock On vt52x (p225) vt510 xterm

Ps = 3 Scroll Lock On vt52x (p225) vt510 xterm

Ps = 4 LED 4 On vt132 (p74/86)

On the VT132, this is the EDIT light

Ps = 21 Num Lock off vt52x (p225) vt510 xterm

Ps = 22 Caps Lock Off vt52x (p225) vt510 xterm

Ps = 23 Scroll Lock Off vt52x (p225) vt510 xterm

Ps = 24 LED 4 Off vt132 (p74/86)

On the VT132, this is the EDIT light

CSI Ps SP q DECSCUSRSet Cursor Style vt52x (p281) vt510 xterm

Set Cursor Type (VT520)

You can query the current state of DECSCUSR with DECRQSS

Ps = 2 Steady Block vt52x (p281) vt510 xterm

Ps = 4 Steady Underline vt52x (p281) vt510 xterm

CSI Ps " q DECSCASelect Character Attributes dec-std-070 (p421) vt52x (p275) vt510 vt420 (p155/177) vt220 wy370 (p76) xterm

vt220 vt220pc vt320 vt320pc wy370 s97801 aaa beos qansi linux sun

You can query the current state of DECSCA with DECRQSS

Ps = 0 Designate character erasable dec-std-070 (p421) vt52x (p275) vt510 vt420 (p155/177) vt220 wy370 (p76) xterm

Ps = 1 Designate character unerasable dec-std-070 (p421) vt52x (p275) vt510 vt420 (p155/177) vt220 wy370 (p76) xterm

Ps = 2 Designate character erasable dec-std-070 (p421) vt52x (p275) vt510 vt420 (p155/177) vt220 wy370 (p76) xterm

CSI Ps r Set Baud Rate

h19

Set Baud Rate to Ps.

Only if the real terminal type is H19. If a different terminal type is chosen that is able to switch into an H19 mode, and K95 is asked to switch into that H19 mode, this control sequence remains unavailable.

CSI Ps r SUNSCRLSet Scrolling Region

sun

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 DECSTBMSet Top and Bottom Margins dec-std-070 (p280) vt52x (p303) vt510 vt420 (p134/156) vt220 vt132 (p77/89) vt100 wy370 (p75) xterm

Sets the scrolling region (top;bottom). You can query the current state of DECSTBM with DECRQSS.

s97801 The bottom margin may include the status line even when it is separated from the main display area.

CSI Ps ; Ps ; Ps ; Ps r Set margins (SCO)

scoansi

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 RSMReset/clear margins (SCO)

scoansi

CSI ? Pm r Restore Modes

hft aixterm

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 DECCARAChange attributes in rectangular area dec-std-070 (p428) vt52x (p182) vt510 vt420 (p167/189) xterm

vt320 vt320pc wy370 s97801 aaa
Note! Because K95 currently lacks a VT420 mode, this is temporarily available to VT320-compatible terminal types. In the future, this will only be available to VT420 and higher emulations.

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 ? Pm s Save Modes

hft aixterm

CSI Ps s SNI97801 Set Clicker/Repeat

s97801

Ps = 0 Repeat off

Ps = 1 Repeat on

Ps = 2 Clicker off

Ps = 3 Clicker on

CSI s zPSHPush Line

aaa

CSI s SCOSCSave Cursor Position vt52x (p371) xterm

scoansi at386 ansi linux

CSI s SUNRESETReset terminal emulator

sun

Reset Terminal

CSI t zPOPPop Line

aaa

CSI Ps t Card Reader operations

s97801

Ps = 0 Disable ID card reader

Ps = 1 Enable ID card reader

Ps = 3 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 t DECSLPPSet Lines Per Page dec-std-070 (p330) vt52x (p290) vt510 vt420 (p132/154) xterm

Sets the screen height to Ps rows. Valid options are: 24, 25, 36, 41, 42, 48, 52, 53 and 72. Values for Ps below 24 may be interpreted as XTWINOPS

You can query the current state of DECSLPP with DECRQSS.

s97801 DECSLPP does not apply to SNI-97801 emulation which uses the CSI Ps t control sequence for querying an ID card reader (see above).

CSI Ps ; Ps ; Ps t XTWINOPSWindow manipulation xterm

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

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

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

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

Ps = 3 ; x ; y Move window xterm

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 Size window in pixels xterm

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

Ps = 5 Raise Window xterm

Ps = 6 Lower Window xterm

Ps = 7 Refresh the xterm window xterm

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

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

Ps = 9 Maximise Window xterm

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

Ps = 10 Full Screen Mode xterm

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

Kermit 95 responds with the current state of the window: CSI 1 t (normal), or CSI 2 t (minimized).

This is supported on Windows only in the GUI version of Kermit 95 (k95g.exe). Ignored in the console version for Windows or OS/2.

Ps = 15 Report size of the screen in pixels xterm

Kermit 95 responds with the screen size in characters: CSI 9 ; height ; width t

This is supported on Windows only in the GUI version of Kermit 95 (k95g.exe). Ignored in the console version for Windows or OS/2.

Ps = 16 Report xterm character cell size in pixels xterm

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

Responds with: CSI 8 ; height ; width t

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

Kermit 95 responds with the size its window would be if it were maximized, in pixels: CSI 9 ; height ; width t

This is supported on Windows only in the GUI version of Kermit 95 (k95g.exe). Ignored in the console version for Windows or OS/2.

Ps = 20 Report icon label xterm

Ps = 21 Report window label xterm

Ps = 22 Save icon and window title on stack xterm

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 xterm

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.

CSI > Ps t XTSMTITLEset xterm title mode features xterm

XTSMTITLE - set one or more features of the xterm title mode. Parameter is one of:

Ps = 0 Set window/icon labels using hexadecimal xterm

Ps = 1 Query window/icon labels using hexadecimal xterm

Ps = 2 Set window/icon labels using UTF-8 xterm

Ps = 3 Query window/icon labels using UTF-8 xterm

CSI Pt ; Pl ; Pb ; Pr ; Pm ; $ t DECRARAReverse attributes in rectangular area dec-std-070 (p430) vt52x (p244) vt510 vt420 (p169/191) xterm

vt320 vt320pc wy370 s97801 aaa
Note! Because K95 currently lacks a VT420 mode, this is temporarily available to VT320-compatible terminal types. In the future, this will only be available to VT420 and higher emulations.

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 u zSTPSet Transfer Point

aaa

CSI u SCORCRestore cursor position vt52x (p371) xterm

scoansi at386 ansi hft aixterm scoansi linux

CSI Ps u SNI97801 Various mode options

s97801

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

Ps = 3 Clear character SP

Ps = 4 Video timeout off

Ps = 5 Video timeout on

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

Ps = 19 Reduced-intensity background display

Ps = 20 Dark background (white on black)

Switches to normal screen

Ps = 21 Light background (black on white)

Switches to reverse video

CSI v zSRCStart Remote Copy

aaa

CSI Ps v

s97801

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

Ps = 8 Fill scroll area with characters (diagnostics)

Ps = 9 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 DECRQDERequest Displayed Extent dec-std-070 (p343) vt510 vt420 (p271/293) xterm

vt220 vt220pc vt320 vt320pc wy370 s97801 aaa beos qansi linux sun

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 Pts ; Pls ; Pbs ; Prs ; Pps ; Ptd ; Pld ; Ppd $ v DECCRACopy rectangular area dec-std-070 (p424) vt52x (p189) vt510 vt420 (p161/183) xterm

vt320 vt320pc wy370 s97801 aaa
Note! Because K95 currently lacks a VT420 mode, this is temporarily available to VT320-compatible terminal types. In the future, this will only be available to VT420 and higher emulations.

Pts ; Pls ; Pbs ; Prs is the source rectangle, Pps is the source page number, Ptd ; Pld is the destination, and Ppd is the destination page.

K95 doesn't support pages, so the page numbers are ignored.

CSI w VT raw keyboard input

hft aixterm

CSI Ps w Transmit keylock switch status / Reinitialize character generator

s97801

Transmit keylock switch status (Ps = 0), or Reinitialize character generator (Ps = 1).

CSI Ps ; Ps ; Ps w zSPFSet Print Format

aaa

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 & x DECESEnable Session vt52x (p207) vt420 (p303/325)

CSI Pf ; Pb ; Pa x WYCDIRDirect Color Mode wy370 (p94)

wy370

Set color and attribute. The first two parameters are foreground and background color, a value from 0 to 64 (the WY370 supports a 64-color color palette). K95 currently maps whatever color is specified to one of the eight standard colors. The third parameter, Pa, specifies an attribute.

K95 currently assigns different meanings to the attribute numbers than described in the WY370 programmer's 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 DECREQTPARMRequest Terminal Parameters vt132 (p75/87) vt100 xterm

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 minus 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

CSI Ps * x DECSACESelect Attribute Change Extent dec-std-070 (p432) vt52x (p273) vt510 vt420 (p166/188) xterm

vt320 vt320pc wy370 s97801 aaa
Note! Because K95 currently lacks a VT420 mode, this is temporarily available to VT320-compatible terminal types. In the future, this will only be available to VT420 and higher emulations.

You can query the current state of DECSACE with DECRQSS

Ps = 0 from start to end position, wrapped dec-std-070 (p432) vt510 xterm

Ps = 1 from start to end position, wrapped dec-std-070 (p432) vt510 xterm

Ps = 2 Rectangle (exact) dec-std-070 (p432) vt510 xterm

CSI Pc ; Pt ; Pl ; Pb ; Pr $ x DECFRAFill rectangular area dec-std-070 (p425) vt52x (p209) vt510 vt420 (p162/184) xterm

vt320 vt320pc wy370 s97801 aaa
Note! Because K95 currently lacks a VT420 mode, this is temporarily available to VT320-compatible terminal types. In the future, this will only be available to VT420 and higher emulations.

Pc is the character to fill with, while Pt ; Pl ; Pb ; Pr is the rectangle to fill

CSI y

vip7809

K95 responds with (ESC, ETX and NUL control codes in bold): ESC[8p OTETXESC[y7813 P GC A ETXNUL

CSI y Virtual Terminal locator report

hft aixterm

CSI Ps y

s97801

Mostly various test functions most of which don't make a lot of sense for a terminal emulator (e.g., "Execute hardware test for terminal"). Only three of the possible values of Ps are implemented:

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 2 ; Ps y DECTSTVT100 confidence tests vt52x (p316) vt510 vt420 (p291/313) vt220 vt132 (p78/90) vt100

power-up self-test, data loop back test, EIA modem control test, repeat selected tests indefinitely

CSI Pi ; Pg ; Pt ; Pl ; Pb ; Pr * y DECRQCRARequest Checksum of Rectangular Area dec-std-070 (p434) vt52x (p259) vt510 vt420 (p243/265) xterm

vt320 vt320pc wy370 s97801 aaa
Note! Because K95 currently lacks a VT420 mode, this is temporarily available to VT320-compatible terminal types. In the future, this will only be available to VT420 and higher emulations.

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 Reset terminal

h19

Only if the real terminal type is H19. If a different terminal type is chosen that is able to switch into an H19 mode, and K95 is asked to switch into that H19 mode, this control sequence remains unavailable.

CSI z zSTESet Transfer End

aaa

CSI Ps z SSWSwitch to screen

scoansi

Switch to screen Ps

CSI Ps ; Ps z Define left and right margins

s97801

"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 borders revert to 1,80"

CSI Pt ; Pl ; Pb ; Pr $ z DECERAErase rectangular area dec-std-070 (p426) vt52x (p206) vt510 vt420 (p164/186) xterm

Note! Because K95 currently lacks a VT420 mode, this is temporarily available to VT320-compatible terminal types. In the future, this will only be available to VT420 and higher emulations.

Pt ; Pl ; Pb ; Pr is the rectangle to erase.

CSI = z CATClear all tab stops

scoansi

CSI Pt ; Pl ; Pb ; Pr $ { DECSERASelective erase rectangular area dec-std-070 (p427) vt52x (p286) vt510 vt420 (p165/187) xterm

vt320 vt320pc wy370 s97801 aaa
Note! Because K95 currently lacks a VT420 mode, this is temporarily available to VT320-compatible terminal types. In the future, this will only be available to VT420 and higher emulations.

Pt ; Pl ; Pb ; Pr is the rectangle to selectively erase

CSI Ps ) { DECSTGLTSelect Color Look-Up Table dec-std-070 (p368) vt52x (p305)

vt320 vt320pc wy370 s97801 aaa

You can query the current state of DECSTGLT with DECRQSS

Warning: The behavior of the implementation described here has not been checked against a real VT525 and as such is subject to change should it turn out the real terminal behaves differently.

Pt = 0 Mono

Disables display of SGR colors. All text on screen and in the scrollback buffer immediately appears in the default terminal colors as set by SET TERMINAL COLOR TERMINAL.

While in this mode you can still use SGR to set colors, they just won't appear until display of SGR colors is re-enabled.

Pt = 1 Alternate Color

Pt = 2 Alternate Color

Uses the Bold, Underline, Reverse and Blink attributes to specify text colors from a table of 16 foreground-background color pairs, rather than showing text as bold/underline/reverse/blinking. Other text attributes (e.g., italic) are shown as normal text.

When in this mode, DECATCUM and DECATCBM can be set to allow text to be blinking and/or underlined in addition to the color associated with those attribute combinations.

To set colors for attribute combinations, see DECATC.

Pt = 3 ANSI SGR color

Enables display of SGR colors. Returns display of reverse, underline, bold and blink attributes to their normal status.

CSI Ps $ | DECSCPPSet Columns Per Page dec-std-070 (p328) vt52x (p279) vt510 vt420 (p130/152) xterm

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.

Ps = 0 80 columns vt510 vt420 (p130/152) xterm

Ps = 80 80 columns vt510 vt420 (p130/152) xterm

Ps = 132 132 columns vt510 vt420 (p130/152) xterm

CSI Ps ; Ps ; Ps , | DECACAssign Color vt52x (p170) xterm

vt320 vt320pc wy370 s97801 aaa

The first parameter specifies the item the color is being assigned to, while the second and third parameters are the foreground and background color indices respectively.

While a real VT525 is limited to 16 colors (0...15), Kermit 95 accepts any color index that is valid for the current palette as chosen by SET TERMINAL COLOR PALETTE.

You can query the current state of DECAC with DECRQSS

Warning: The behavior described here has not been checked against a real VT525 and is subject to change should it turn out that a VT525 behaves differently.

Pt = 1 Normal Text

Assigns the colors for normal text. This is the default text color for any text that hasn't had some other color specified via SGR or some other mechanism.

Pt = 2 Window Frame

CSI Ps ; Ps ; Ps , } DECATCAlternate Text Color vt52x (p176) xterm

vt320 vt320pc wy370 s97801 aaa

Sets colors used for text attribute combinations when in DECSTGLT Alternate Color Mode. The first parameter specifies an attribute combination from the table below, the second parameter is the foreground color index, and the third parameter is the background color index.

While a real VT525 limits you to the 16-color palette for the foreground and background color values, in Kermit 95 you can use any color from the current palette chosen with SET TERMINAL COLOR PALETTE.

DECATC only affects a separate table of colors that Kermit 95 maintains for use by the DECSTGLT Alternate Color Mode. These colors are not used when attributes are turned off via SET TERMINAL ATTRIBUTE, and except for the first five entries in the table they cannot be set via the SET TERMINAL COLOR command. The remaining eleven table entries can only be changed via DECATC. The DECATC color table is reset on terminal reset.

You can query the current state of DECATC with DECRQSS

Warning: Initial color assignments for these attribute combinations are subject to change! The current default color assignments are arbitrary and will likely change in the future if the proper assignments can be obtained from someone with access to a real VT525 for testing.

Ps1 Attributes
0 Normal text
1 Bold
2 Reverse
3 Underline
4 Blink
5 Bold + Reverse
6 Bold + Underline
7 Bold + Blink
8 Reverse + Underline
9 Reverse + Blink
10 Underline + Blink
11 Bold + Reverse + Underline
12 Bold + Reverse + Blink
13 Bold + Underline + Blink
14 Reverse + Underline + Blink
15 Bold + Reverse + Underline + Blink

CSI Ps ' } DECICInsert Column dec-std-070 (p405) vt52x (p213) vt510 vt420 (p150/172) xterm

vt320 vt320pc wy370 s97801 aaa
Note! Because K95 currently lacks a VT420 mode, this is temporarily available to VT320-compatible terminal types. In the future, this will only be available to VT420 and higher emulations.

Insert Ps columns (default 1).

CSI Ps $ } DECSASDSelect Active Status Display dec-std-070 (p1047) vt52x (p274) vt510 vt420 (p219/241) wy370 (p74) xterm

You can query the current state of DECSASD with DECRQSS

Ps = 0 Terminal dec-std-070 (p1047) vt510 vt420 (p219/241) wy370 (p74) xterm

Select the main display (terminal)

Ps = 1 Status Line dec-std-070 (p1047) vt510 vt420 (p219/241) wy370 (p74) xterm

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

CSI Ps ; Ps ~ DECTMETerminal Mode Emulation vt52x (p313) vt510

Ps = 0 Return to VT220/VT320/WY370 mode vt52x (p313) vt510 vt220 vt220pc vt320 vt320pc wy370

Ps = 1 Return to VT220/VT320/WY370 mode vt52x (p313) vt510 vt220 vt220pc vt320 vt320pc 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 vt52x (p313) vt510 vt100

Ps = 2 Switch to VT102

Ps = 3 Switch to VT52 mode vt52x (p313) vt510

Ps = 4 VT420 PCTerm vt52x (p313) vt510

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

Ps = 5 WYSE 60/160 vt52x (p313) vt510

Switches to WY60 emulation

Ps = 6 WYSE 60/160 PCTerm vt52x (p313) vt510

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

Ps = 7 WYSE 50+ vt52x (p313) vt510

Switches to WY50 emulation

Ps = 8 WYSE 150/120 vt52x (p313) vt510

Ps = 9 TVI 950 vt52x (p313) vt510

Ps = 10 TVI 925 vt52x (p313) vt510

Ps = 11 TVI 910+ vt52x (p313) vt510

Switches to TVI 910 emulation

Ps = 12 ADDS A2 vt52x (p313) vt510

Ps = 13 SCO Console vt52x (p313) vt510

Switches to SCO ANSI emulation

Ps = 14 WYSE 325 vt52x (p313)

CSI Ps ' ~ DECDCDelete Column dec-std-070 (p406) vt52x (p191) vt510 vt420 (p149/171) xterm

Note! Because K95 currently lacks a VT420 mode, this is temporarily available to VT320-compatible terminal types. In the future, this will only be available to VT420 and higher emulations.

Delete Ps columns (default 1).

CSI Ps $ -
CSI Ps $ ~
DECSSDTSelect Status Line Type
dec-std-070 (p1048) vt52x (p301) vt510 vt420 (p220/242) xterm

You can query the current state of DECSSDT with DECRQSS

Ps = 0 Blank dec-std-070 (p1048) vt510 vt420 (p220/242) xterm

No status line (default)

Ps = 1 Indicator dec-std-070 (p1048) vt510 vt420 (p220/242) xterm

Indicator

Ps = 2 Host-writable dec-std-070 (p1048) vt510 vt420 (p220/242) xterm

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

CSI < Ps ; Ps ; Ps ; Ps ; Ps ; Ps ; Ps ; Ps ; Ps ~ MSKPRODProduct Macro (MS-DOS Kermit) k95 msk (p195)

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

Operating System Commands

OSC Ps ; Pt BEL
OSC Ps ; Pt ST
Set Text Parameters
xterm

Kermit 95 supports a selection of operating system commands for setting the window title and manipulating color handling. These can be terminated with either an ST (OSC Ps ; Pt ST) or, for compatibility with other terminal emulators, a BEL (OSC Ps ; Pt BEL)

Ps specifies the type of operation:

Ps = 0 Set Icon Name and Window Title (xterm) xterm

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

Ps = 1 Change icon name xterm

Not supported: Windows doesn't provide a way of setting a value for the task bar label that is different from the window title.

Ps = 2 Window title (xterm) xterm

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

Ps = 2L DECSINSet Icon Title vt52x (p288)

Set Icon Title (VT520)

Not supported: Windows doesn't provide a way of setting a value for the task bar label that is different from the window title.

Ps = 3 Set X property on top-level window xterm

Ps = 4 ; c ; spec Change color number xterm

Changes the RGB value for one or more colors in the color palette. Multiple c ; spec pairs can be supplied separated by ';' to change multiple entries in the color palette. Only supported in GUI versions of Kermit 95.

The c component is the color index to change. Valid values depend on which color palette is currently active: 0–15 for aixterm-16, 0–87 for xterm-88, and 0–255 for xterm-256. The first five values above the range of the current palette (e.g., for the xterm-256 palette: 256, 257, 258, 259, 260) set attribute colors. See OSC-5 for more details.

The spec component is a color specification in the form supported by XParseColor. Both the newer rgb:RRRR/GGGG/BBBB and older #RRRRGGGGBBBB formats are supported, where R/G/B are hex digits (case doesn't matter). X11 color names are also accepted and parsed case-insensitively. For more information on this color specification, see the XParseColor man page, while a list of X11 color names and values can be found on Wikipedia. Other XParseColor formats such as rgbi: and CIEuvY: are not currently supported.

If the spec component is a '?' character then instead of setting a color for the specified color index, the current color is returned in the form of an OSC sequence suitable for restoring the current value. The returned OSC sequence uses the same terminator (BEL or ST) as the original query OSC sequence.

For example, OSC 4 ; 1 ; ? ST will cause K95 to send back OSC 4 ; 1 ; r g b : 0 0 0 0 / 0 0 0 0 / 8 0 8 0 ST for the default RGB value of 0/0/128 for color index 1. If multiple query parameters are supplied (eg OSC 4 ; 1 ; ? ; 2 ; ? ; 3 ; ? ST then multiple responses will be sent back.

If a color was set by name rather than an RGB value, then when queried that colors RGB value will be returned; Kermit 95 does not remember the original color name used.

Ps = 5 ; c ; spec Change special color number xterm

Changes the foreground color (background color for reverse) of an attribute (special color in xterm), equivalent to SET TERM COLOR. Has no visible effect until that attribute is turned off ( OSC-6 or SET TERM ATTRIBUTE). In the case of Bold and Blink, the attribute must be turned off with SET TERM ATTRIBUTE {BOLD,BLINK} OFF COLOR (OSC-6 does this). Changes are reverted on terminal reset or via OSC-104/OSC-105.

Multiple c;spec pairs can be supplied in the same fashion as OSC-4, and the supported formats for spec are the same. The attributes that can be set are:

  • 0 - bold
  • 1 - underline
  • 2 - blink
  • 3 - reverse
  • 4 - italic

These values can also be set via OSC-4 by adding the above numbers to the maximum number of colors in the current palette (as set by SET TERM COLOR PALETTE). For example, if the current palette is xterm-256, then OSC 4 ; 257 ; r g b : f f f f / 0 0 0 0 / 0 0 0 0 would set the underline attribute to red.

Ps = 6 ; c ; f Enable/disable special color number xterm

This is a synonym for OSC-106 (OSC-6 and OSC-106 have identical implementations).

Ps = 10 Change VT100 text foreground color xterm

Requires one parameter: a new default foreground color, which does not take effect until attributes are set (eg, with SGR-0) and is reset on terminal reset. Format of the color parameter is the same color spec format as OSC-4 (rgb:RRRR/BBBB/GGGG), and if the text parameter is a `?` then the response will be an OSC-10 sequence to set the current color.

Up to nine additional color parameters can be supplied which will be applied to OSC-11 through OSC-19 in order. For example, the sequence \033]10;rgb:ffff/0000/0000;rgb:0000/ffff/0000\07 would set the foreground to red and background to green. If any of these parameters are `?`, they will be included in the query color response.

Ps = 11 Change VT100 text background color xterm

Requires one parameter: a new default background color, which does not take effect until attributes are set (e.g., with SGR-0) and is reset on terminal reset. Format of the color parameter is the same color spec format as OSC-4 (rgb:RRRR/BBBB/GGGG), and if the text parameter is a `?` then the response will be an OSC-11 sequence to set the current color.

Up to eight additional color parameters can be supplied which will be applied to OSC-12 through OSC-19 in order.

Ps = 12 Change text cursor color xterm

Requires one parameter: a new text cursor background color, which takes effect immediately and is reset on terminal reset. Format of the color parameter is the same color spec format as OSC-4 (rgb:RRRR/BBBB/GGGG), and if the text parameter is a `?` then the response will be an OSC-12 sequence to set the current color.

Up to seven additional color parameters can be supplied which will be applied to OSC-13 through OSC-19 in order.

Ps = 13 Change pointer foreground color xterm

Not supported. Consumes one color parameter in the same color spec format as OSC-4 (rgb:RRRR/BBBB/GGGG), but does not apply it to anything as K95 does not support changing the pointer color.

Up to six additional color parameters can be supplied which will be applied to OSC-14 through OSC-19 in order.

Ps = 14 Change pointer background color xterm

Not supported. Consumes one color parameter in the same color spec format as OSC-4 (rgb:RRRR/BBBB/GGGG), but does not apply it to anything as K95 does not support changing the pointer color.

Up to five additional color parameters can be supplied which will be applied to OSC-15 through OSC-19 in order.

Ps = 15 Change tektronix foreground color xterm

Not supported. Consumes one color parameter in the same color spec format as OSC-4 (rgb:RRRR/BBBB/GGGG), but does not apply it to anything as K95 does not support Tektronix emulation.

Up to four additional color parameters can be supplied which will be applied to OSC-16 through OSC-19 in order.

Ps = 16 Change tektronix background color xterm

Not supported. Consumes one color parameter in the same color spec format as OSC-4 (rgb:RRRR/BBBB/GGGG), but does not apply it to anything as K95 does not support Tektronix emulation.

Up to three additional color parameters can be supplied which will be applied to OSC-17 through OSC-19 in order.

Ps = 17 Change highlight background color xterm

Sets the selection background color. Reset on terminal reset.

Requires one parameter: a new text selection background color, which is reset on terminal reset. Format of the color parameter is the same color spec format as OSC-4 (rgb:RRRR/BBBB/GGGG), and if the text parameter is a `?` then the response will be an OSC-17 sequence to set the current color.

Up to two additional color parameters can be supplied which will be applied to OSC-18 and OSC-19 in order.

Ps = 18 Change tektronix cursor color xterm

Not supported. Consumes one color parameter in the same color spec format as OSC-4 (rgb:RRRR/BBBB/GGGG), but does not apply it to anything as K95 does not support Tektronix emulation.

One additional color parameters can be supplied which will be applied to OSC-19 in order.

Ps = 19 Change highlight foreground color xterm

Requires one parameter: a new text selection foreground color, which is reset on terminal reset. Format of the color parameter is the same color spec format as OSC-4 (rgb:RRRR/BBBB/GGGG), and if the text parameter is a `?` then the response will be an OSC-19 sequence to set the current color.

Ps = 21 DECSWTSet Window Title vt52x (p310)

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

Ps = 104 ; c Reset color number xterm

Resets one or more colors in the color palette to defaults or values specified by the user via SET GUI RGBCOLOR. Multiple color numbers can be specified separated by ';' (e.g., OSC 1 0 4 ; 1 ; 2 ; 3 ST). Only supported in GUI versions of Kermit 95.

If no parameters are given (eg, OSC 104 ST), then the entire color palette is reset.

The first five color numbers above the range of the current palette allow resetting attribute colors in the same way OSC-4 allows setting attribute colors. OSC-104 will not reset all attribute colors in the absence of any parameters however; for that OSC-105 must be used.

Ps = 105 ; c Reset special color number xterm

Resets one or more attribute colors (special colors in xterm) to their default/user set values. Any number of colors can be specified using the same numberas as for OSC-5. If none are specified, all attribute colors are reset.

Ps = 106 ; c ; f Enable/disable special color number xterm

Enables rendering attributes as color (special color in xterm)—equivalent to SET TERM ATTRIBUTE x OFF or, in the case of blink and bold, SET TERM ATTRIBUTE {BLINK,BOLD} OFF COLOR.

The c parameter is the attribute to enable or disable, and the second parameter, f is if it should be disabled (0) or enabled and shown as color (any other value):

  • 0 - bold
  • 1 - underline
  • 2 - blink
  • 3 - reverse
  • 4 - italic
  • 5 - colorAttMode

The colorAttMode (off by default in xterm, on by default in Kermit 95) controls whether attribute colors (when enabled) take priority over SGR colors. When OFF, only text that has the same color as the default attribute (settable with DECAC, SNF, SNB, OSC-10/11, etc.) will show in its attribute color. When ON, it will show in its attribute color regardless of whether some other SGR color was assigned to that text.

Ps = 110 Reset VT100 text foreground color xterm

Ps = 111 Reset VT100 text background color xterm

Ps = 112 Reset text cursor color xterm

Ps = 113 Reset pointer foreground color xterm

Ps = 114 Reset pointer background color xterm

Ps = 115 Reset tektronix foreground color xterm

Ps = 116 Reset Tektronix background color xterm

Ps = 117 Reset highlight color xterm

Ps = 118 Reset tektronix cursor color xterm

Ps = 119 Reset highlight foreground xterm

Ps = I ; c Set icon to file xterm

Not supported as the specified icon file specification is likely to reside on a remote host which K95 has no reasonable way of accessing.

Ps = l ; c set Window title xterm

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

Ps = L ; c set icon label xterm

Not supported: Windows doesn't provide a way of setting a value for the task bar label that is different from the window title.

Ps = R Reset palette (linux) linux

This OSC is not terminated! At all! The OSC is, verbatim, OSC R. No ST or BEL to terminate! For this reason its limited to the linux terminal type.

In GUI versions of Kermit 95, this resets all color palettes to defaults or values specified by the user via SET GUI RGBCOLOR. In console versions, this OSC is not acted upon.

Ps = P nrrggbb Set palette (linux) linux

This OSC is not terminated! At all! No ST or BEL to terminate! For this reason its limited to the linux terminal type.

In GUI versions of Kermit 95, this sets the RGB value for color index n (0–15 in hex) to the RGB value rrggbb (0–255 in hex). In console versions of Kermit 95, this OSC is not acted upon.

Privacy Message

Kermit 95 does not implement any privacy message functions

Color Support in Kermit 95

Prior to Kermit 95 v3.0 beta.8, Kermit 95 was limited to 16 colors (the 8 standard ANSI colors, plus the additional 8 "intense" colors from aixterm). Kermit 95 now supports being built with multiple distinct color palettes and 24-bit RGB support:

The first 16 colors are the same in each palette. You can change the currently active color palette via the SET TERM COLOR PALETTE command. This setting is primarily for the GUI version of K95 and affects:

As Kermit 95 does not store a palette ID alongside each color attribute (this would waste too much RAM), changing the active color palette has an immediate effect on the current contents of the terminal and the scroll-back buffer. Switching from a larger palette to a smaller one mid-session will result in incorrect colors being displayed. As this is just a rendering setting, switching back to the previous palette will imediately restore correct color for the terminal screen and scrollback buffer.

The color related build options primarily affect the size of the data structure used for storing color information for each cell in the terminal buffer:

24-bit RGB support

If Kermit 95 was not compiled with 24-bit RGB support, or the current color palette is not one with RGB support (something other than xterm-rgb), Kermit 95 uses color quantization to select the nearest color in the current color palette to 24bit RGB colors set via SGR-38 and SGR-48. That palette color is then stored, rather than the RGB value.

As Kermit 95 uses the same data structure for storing attributes-as-colors (special colors in xterm) as it does for storing color attributes in the terminal buffer, Kermit 95 only supports OSC-5 (Change special color number) when built with 24-bit RGB support as OSC-5 does not support setting color indexes, only RGB values.

To help applications on the remote host detect 24-bit color support, Kermit 95 will automatically set the COLORTERM environment variable to truecolor on the remote host when making a telnet or SSH connection. In the unlikely event this behavior causes problems, it can be disabled for telnet connections with SET TELNET SEND-COLORTERM OFF. For SSH connections there is no disable option as SSH servers will usually reject this environment variable by default unless its added to AcceptEnv in /etc/ssh/sshd_config

Customising the Color Palette

GUI versions of Kermit 95 keep two copies of each color palette in memory: the active copy, and the saved copy. When Kermit 95 is launched, both copies contain the same data. At any time, you can change the RGB value in both copies of the current color palette with the SET GUI RGBCOLOR command, and the active copy of the current color palette only with OSC-4 or (for the linux terminal type) OSC-P.

When the terminal is reset, the active copies of all color palettes are overwritten by their saved copies. This results in changes made via OSC-4 being undone without affecting changes made via SET GUI RGBCOLOR.

As SET GUI RGBCOLOR and OSC-4 only affect the current palette, if you make a change while the aixterm-16 palette is selected you only made a change to the definition of the aixterm-16 palette specifically. If you switch to the xterm-256 palette, your change will not be visible until you switch back to the aixterm-16 palette.

Color in Console versions of Kermit 95

Console builds of Kermit 95 (or custom 16-color builds of GUI Kermit 95) only support 16 colors max. This is a limitation in the OS/2 VIO Window, and the Windows NT/9x console host prior to Windows 10 v1809. This is stored as a pair of 4-bit values packed into an 8-bit integer.

Console versions of Kermit 95 have no control over the appearance of these 16 colors; that is up to the console environment K95 is running under. Because of this, console builds of K95 do not support customizing the color palette via OSC-4 or SET GUI RGBCOLOR.

To retain compatibility with software blindly expecting 256-color or 24-bit RGB color support, 16-color versions of Kermit 95 still support the SET TERM COLOR PALETTE command and implement SGR-38 and SGR-48. When the host tries to set a color via SGR-38 or SGR-48, that request is translated into something valid for the aixterm-16 color palette.

If a color index was specified for SGR-38 or SGR-48, then the RGB value for that color is looked up in the current color palette, then the aixterm-16 palette is searched for the nearest match to that RGB value. If a 24bit RGB value was specified for SGR-38 or SGR-48, then the aixterm-16 palette is searched for the nearest match to that RGB value.

Once the nearest match in the aixterm-16 palette is found, that color index is then stored rather than the supplied index or RGB value. To not waste memory storing color indexes the console environment can't actually display, 16-color builds of K95 only have 4 bits each for the foreground and background colors, making them incapable of actually storing color indexes above 16 or per-cell RGB values.

16-color builds do not support OSC-4 or the SET GUI RGBCOLOR command as the color palettes are only used to get an RGB value to use for color quantization. K95 has no control over how the console host/VIO window renders colors, so the RGB values in the color palettes are never used for display; only to map indexes from a larger palette on to the smaller 4-bit aixterm-16 palette.