VT102 codes
Adam Wiggins
nightfall at inficad.com
Tue Mar 25 23:32:27 CET 1997
> > Ah-ha! Found it. Just mounted the stupid thing under linux (forgot how
> > easy that is).
> >
> > Here it is - if you've got any questions feel free to ask but it's really
> > very straightforward. I coded in all the stuff we have right now in
> > a couple hours one night, and that was counting that I had to give myself
> > a quick refresher course on how all our low level IO/socket stuff worked.
> >
> > (snip)
>
> Hmmm, for some stupid reason the actual text seems to have gotten left
> off. Could have *sworn* I put it in there. Let's try this again.
Hmmm. Say JC, you don't have some sort of a filter on this thing for
message headers, do you? I _know_ I posted it that last time. Let me
try trimming off the headers.
===============================================================================
Many people ask for this information so here is a list of the vt102 codes
that I grabbed offf the network months ago,... the orginal poster
was <kivinen at hut.fi>
===============================================================================
Escape codes for vt102 terminal. <kivinen at hut.fi>
All numbers below are octal.<n> means numeric value,<c> means character string.
If <n> is missing it is 0 or in cursor movements 1.
Reset and set modes
Set Modes
Esc [ <c> ; ... ; <c> h
033 133 073 073 150
Reset Modes
Esc [ <c> ; ... ; <c> l
033 133 073 073 154
Where <c> is
'2'= Lock keyboard (set); Unlock keyboard (reset)
'4'= Insert mode (set); Replace mode (reset)
'12'= Echo on (set); Echo off (reset)
'20'= Return = CR+LF (set); Return = CR (reset)
'?1'= Cursorkeys application (set); Cursorkeys normal (reset)
'?2'= Ansi (set); VT52 (reset)
'?3'= 132 char/row (set); 80 char/row (reset)
'?4'= Jump scroll (set); Smooth scroll (reset)
'?5'= Reverse screen (set); Normal screen (reset)
'?6'= Sets relative coordinates (set); Sets absolute coordinates (reset)
'?7'= Auto wrap (set); Auto wrap off (reset)
'?8'= Auto repeat on (set); Auto repeat off (reset)
'?18'= Send FF to printer after print screen (set); No char after PS (reset)
'?19'= Print screen prints full screen (set); PS prints scroll region (reset)
'?25'= Cursor on (set); Cursor off (reset)
Set scrolling region (n1=upper,n2=lower)
Esc [ <n1> ; <n2> r
033 133 073 162
Cursor movement (<n>=how many chars or lines), cursor stop at margin.
Up
Esc [ <n> A
033 133 101
Down
Esc [ <n> B
033 133 102
Right
Esc [ <n> C
033 133 103
Left
Esc [ n D
033 133 104
Cursor position (<n1>=y,<n2>=x, from top of screen or scroll region)
Esc [ <n1> ; <n2> H
033 133 073 110
Or Esc [ <n1> ; <n2> f
033 133 073 146
Index (cursor down with scroll up when at margin)
Esc D
033 104
Reverse index (cursor up with scroll down when at margin)
Esc M
033 115
Next line (CR+Index)
Esc E
033 105
Save cursor and attribute
Esc 7
033 067
Restore cursor and attribute
Esc 8
033 070
Keybad character selection
Application keypad mode
Esc =
033 075
Numeric keypad mode
Esc >
033 076
Keypadkeys codes generated
Numeric Application VT52 Application
0 0 (060) Esc O p (033 117 160) Esc ? p (033 077 160)
1 1 (061) Esc O q (033 117 161) Esc ? q (033 077 161)
2 2 (062) Esc O r (033 117 162) Esc ? r (033 077 162)
3 3 (063) Esc O s (033 117 163) Esc ? s (033 077 163)
4 4 (064) Esc O t (033 117 164) Esc ? t (033 077 164)
5 5 (065) Esc O u (033 117 165) Esc ? u (033 077 165)
6 6 (066) Esc O v (033 117 166) Esc ? v (033 077 166)
7 7 (067) Esc O w (033 117 167) Esc ? w (033 077 167)
8 8 (070) Esc O x (033 117 170) Esc ? x (033 077 170)
9 9 (071) Esc O y (033 117 171) Esc ? y (033 077 171)
- (minus) - (055) Esc O m (033 117 155) Esc ? m (033 077 155)
, (comma) , (054) Esc O l (033 117 154) Esc ? l (033 077 154)
. (period) . (056) Esc O n (033 117 156) Esc ? n (033 077 156)
Enter CR (015)* Esc O M (033 117 115) Esc ? M (033 077 115)
PF1 Esc O P Esc O P (033 117 120) Esc P (033 120)
PF2 Esc O Q Esc O Q (033 117 121) Esc Q (033 121)
PF3 Esc O R Esc O R (033 117 122) Esc R (033 122)
PF4 Esc O S Esc O S (033 117 123) Esc S (033 123)
* Or CR+LF (015 012)
Cursorkeys codes generated (changed by set and reset modes '?1')
normal application
Up Esc [ A Esc O A
033 133 101 033 117 101
Down Esc [ B Esc O B
033 133 102 033 117 102
Right Esc [ C Esc O C
033 133 103 033 117 103
Left Esc [ D Esc O D
033 133 104 033 117 104
Select chaacter set
UK as G0
Esc ( A
033 050 101
US as G0
Esc ( B
033 050 102
Special characters and line drawing character set as G0
Esc ( 0
033 050 060
Alternate ROM as G0
Esc ( 1
033 050 061
Alternate ROM special characters character set as G0
Esc ( 2
033 050 062
UK as G1
Esc ) A
033 051 101
US as G1
Esc ) B
033 051 102
Special characters and line drawing character set as G1
Esc ) 0
033 051 060
Alternate ROM as G1
Esc ) 1
033 051 061
Alternate ROM special characters character set as G1
Esc ) 2
033 051 062
Selects G2 for one character
Esc N
033 115
Selects G3 for one character
Esc O
033 117
Set graphic rendition
Esc [ <n> ; <n> m
033 133 073 156
Where <n> is
0 = Turn off attributes
1 = Bold (Full)
2 = Half
4 = Underline
5 = Blink
7 = Reverse
21 = Normal intensity
22 = Normal intensity
24 = Cancel underlined
25 = Cancel blinking
27 = Cancel reverse
Tab stops
Set horizontal tab
Esc H
033 110
Clear horizontal tab
Esc [ g
033 133 147
Or Esc [ 0 g
033 133 060 147
Clear all horizontal tabs
Esc [ 3 g
033 133 063 147
Line attributes
Double-height
Top half
Esc # 3
033 043 063
Bottom half
Esc # 4
033 043 064
Single-width, single-height
Esc # 5
033 043 065
Double-width
Esc # 6
033 043 066
Erasing
Erase in line
End of line (including cursor position)
Esc [ K
033 133 113
Or Esc [ 0 K
033 133 060 113
Beginning of line (including cursor position)
Esc [ 1 K
033 133 061 113
Complete line
Esc [ 2 K
033 133 062 113
Erase in display
End of screen (including cursor position)
Esc [ J
033 133 112
Or Esc [ 0 J
033 133 060 112
Beginning of screen (including cursor position)
Esc [ 1 J
033 133 061 112
Complete display
Esc [ 2 J
033 133 062 112
Computer editing
Delete characters (<n> characters right from cursor
Esc [ <n> P
033 133 120
Inser line (<n> lines)
Esc [ <n> L
033 133 114
Delete line (<n> lines)
Esc [ <n> M
033 133 115
Printing
Esc [ <c> i
033 133 151
Where <c> is
''= Same as '0'
'0'= Prints screen (full or scroll region)
'4'= Printer controller off
'5'= Printer controller on (Print all received chars to printer)
'?1'= Print cursor line
'?4'= Auto print off
'?5'= Auto print on (Prints line to printer when you exit from it)
Reports
Device status
Esc [ <c> n
033 133 156
Where <c> is
'0'=Response Ready, no malfunctions detected
'3'=Malfunction, error in self-test.
'5'=Status report request
'6'=Request cursor position.
'?10'=Response to printer status request, All ok.
'?11'=Response to printer status request, Printer is not ready.
'?13'=Response to printer status request, No printer.
'?15'=Status report request from printer
Cursor position raport (Response to request cursor position)
Esc [ <n1> ; <n2> R
033 133 073 122
Request terminal to identify itself (esc Z may not be supported in future)
Esc [ c
033 133 143
Esc [ 0 c
033 133 060 143
Esc Z
033 132
Response to terminal identify (VT102)
Esc [ ? 6 c
033 133 077 066 143
Reset to initial state
Esc c
033 143
Tests
Invoke confidence test
Esc [ 2 ; <n> y
033 133 062 073 171
Where <n> is
'1'= Power-up test
'2'= Data loopback test
'4'= EIA loopback test
'9'= Power-up tests (continuously)
'10'= Data loopback tests (continuously)
'12'= EIA loopback tests (continuously)
'16'= Printer loopback test
'24'= Printer loopback tests (continuously)
Screen adjustments
Esc # 8
033 043 070
Keyboard indicator
Led L1 off
Esc [ 0 q
033 133 060 181
Led L1 on
Esc [ 1 q
033 133 061 181
VT52 sequences
Ansi mode
Esc <
033 074
Cursor positioning
Up Esc A
033 101
Down Esc B
033 102
Right Esc C
033 103
Left Esc D
033 104
Home Esc H
033 110
Direct cursor address
Esc Y <line+040> <columns+040>
033 131
Reverse linefeed Esc I
033 111
Erase to end of line Esc K
033 113
Erase to end of screen Esc J
033 112
Auto print on Esc ^
033 136
Auto print off Esc
033 137
Printer controller on Esc W
033 127
Printer controller off Esc X
033 130
Print cursor line Esc V
033 135
Print screen Esc ]
033 135
Indentify request Esc Z
033 132
Response to indetify Esc / Z
request (VT52) 033 057 132
Special charset (same Esc F
as line draw in VT102 033 106
Normal char set Esc G
033 107
Control characters
000 = Null (fill character)
003 = ETX (Can be selected half-duplex turnaround char)
004 = EOT (Can be turnaround or disconnect char, if turn, then DLE-EOT=disc.)
005 = ENQ (Transmits answerback message)
007 = BEL (Generates bell tone)
010 = BS (Moves cursor left)
011 = HT (Moves cursor to next tab)
012 = LF (Linefeed or New line operation)
013 = VT (Processed as LF)
014 = FF (Processed as LF, can be selected turnaround char)
015 = CR (Moves cursor to left margin, can be turnaround char)
016 = SO (Selects G1 charset)
017 = SI (Selects G0 charset)
021 = DC1 (XON, causes terminal to continue transmit)
023 = DC3 (XOFF, causes terminal to stop transmitting)
030 = CAN (Cancels escape sequence)
032 = SUB (Processed as CAN)
033 = ESC (Processed as sequence indicator)
--
===============================================================================
(c) 1992 Philip Copeland - alias 'Bryce' (SysAdmin)
JANET : p_copela at uk.ac.bristol-poly.csd
"... I can resist anything but temptation..."
-------------------------------------------------------------------------------
More information about the mud-dev-archive
mailing list