summaryrefslogtreecommitdiffstats
path: root/konsole/doc
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commit4aed2c8219774f5d797760606b8489a92ddc5163 (patch)
tree3f8c130f7d269626bf6a9447407ef6c35954426a /konsole/doc
downloadtdebase-4aed2c8219774f5d797760606b8489a92ddc5163.tar.gz
tdebase-4aed2c8219774f5d797760606b8489a92ddc5163.zip
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'konsole/doc')
-rw-r--r--konsole/doc/Konsole2.Requirements141
-rw-r--r--konsole/doc/Makefile.am5
-rw-r--r--konsole/doc/More/Ansi_esc.txt77
-rw-r--r--konsole/doc/More/Eterm.ref508
-rw-r--r--konsole/doc/More/ansi.sys.txt355
-rw-r--r--konsole/doc/More/ansix364.txt322
-rw-r--r--konsole/doc/More/dec_vt100_codes.txt166
-rw-r--r--konsole/doc/More/iowa_vt100_news.txt255
-rw-r--r--konsole/doc/More/k95vtnttn.html184
-rw-r--r--konsole/doc/More/rxvt-ref.html1281
-rw-r--r--konsole/doc/More/swedish_vt102_codes.txt413
-rw-r--r--konsole/doc/More/villanova-vt100-esc-codes.txt389
-rw-r--r--konsole/doc/More/vt100_codes_news.txt970
-rw-r--r--konsole/doc/More/vt100_colorized_termcap.txt438
-rw-r--r--konsole/doc/More/vt100_numeric_keypad.txt202
-rw-r--r--konsole/doc/More/vt100_reference_card.txt215
-rw-r--r--konsole/doc/More/vt100_scroll_region.txt124
-rw-r--r--konsole/doc/More/vt100_setup.txt170
-rw-r--r--konsole/doc/More/vttest.html205
-rw-r--r--konsole/doc/More/xterm.codes206
-rw-r--r--konsole/doc/README.first4
-rw-r--r--konsole/doc/VT100/Makefile.am3
-rw-r--r--konsole/doc/VT100/MoreText98
-rw-r--r--konsole/doc/VT100/Table.Codes1879
-rw-r--r--konsole/doc/VT100/Table.Graphic32
-rw-r--r--konsole/doc/VT100/Table.VT5240
-rw-r--r--konsole/doc/VT100/awk.table.graphic30
-rw-r--r--konsole/doc/VT100/cmds.pro61
-rw-r--r--konsole/doc/VT100/db.trans190
-rwxr-xr-xkonsole/doc/VT100/db2.pl49
-rwxr-xr-xkonsole/doc/VT100/genDocument257
-rwxr-xr-xkonsole/doc/VT100/genPl.pl300
-rwxr-xr-xkonsole/doc/VT100/genTC.pl434
-rw-r--r--konsole/doc/VT100/konsole1.gifbin0 -> 1582 bytes
-rw-r--r--konsole/doc/VT100/konsole2.gifbin0 -> 1813 bytes
-rwxr-xr-xkonsole/doc/VT100/t.pl17
-rw-r--r--konsole/doc/VT100/techref.html4681
-rw-r--r--konsole/doc/VT100/vt100.gif401
-rw-r--r--konsole/doc/color-schema114
-rw-r--r--konsole/doc/framework33
-rw-r--r--konsole/doc/histBuffer24
-rw-r--r--konsole/doc/konsole.Doxyfile10
-rw-r--r--konsole/doc/missing.codes89
-rw-r--r--konsole/doc/missing.keys124
-rwxr-xr-xkonsole/doc/mkDocs6
45 files changed, 15502 insertions, 0 deletions
diff --git a/konsole/doc/Konsole2.Requirements b/konsole/doc/Konsole2.Requirements
new file mode 100644
index 000000000..19cbd72fc
--- /dev/null
+++ b/konsole/doc/Konsole2.Requirements
@@ -0,0 +1,141 @@
+[Konsole2.Requirements]
+
+The current state of konsole asks for a redesign.
+
+While lower level material, especially the emulation
+comes out to be very stable over the years, the upper
+level level shifts because of new uses and fulfilled
+wishes.
+
+These cannot be implemented by evolutionary modification
+but require complete redesign/rewrites.
+
+This file is to collect requirements and ideas for this.
+
+- Here are some candidates -----------------------------
+
+- proper partification
+
+ While konsole became a proper platform for terminal
+ oriented working, fine integration with the desktop
+ did not happen yet.
+
+- connection/disconnect session to/from individual windows
+
+- gui style configuration for $KDEDIR/share/apps/konsole/*
+
+- improved history algorithm
+
+ Current history algorithm does not allow to limit the
+ histories size. Also, it descreases the speed.
+
+- improve unicode support
+
+ this is both an ncurses and terminfo issue.
+ We may need to provide some help for these packages.
+
+- tty vs. fullscreen mode solution.
+
+ The visual appearence of the problem is that information
+ may get lost when the screen is resized. Likely, lines
+ scrolled into the history could be unfolded.
+
+- systematic solution for the configuration issue.
+
+ Konsole can be configured from many sources.
+ Adding or changing configuration items needs
+ to be localized.
+
+ The compiled-in defaults should consistently
+ be handled like the default.Keytab.
+
+- Multi session startup
+
+ Having multible sessions in the beginning
+ would be a nice option.
+
+- Event flow and class design.
+
+ The Emulation::setConnect logic has severe flaws.
+ The whole class design needs to be revisited in
+ light of the session material that came in, too.
+ Likely, cut&paste happily flows from the back
+ through the chest right into the eye.
+
+- Improved integration of technical documentation.
+
+ This is a freeware project and so, proper technical
+ documentation is even more importent than in a
+ commertial environment.
+
+- A more generic handling of different sorts of emulations.
+
+ This means to fix a long term problem in mc(1) first,
+ to allow using terminfo entries other then 'xterm'.
+
+ We could use these then to weed out obsolete material
+ and to make konsole having an ECMA compatible emulation
+ by default. This would perhaps allow to pull the emulation
+ straight again.
+
+... Check through wishlist and FIXME/Notes/PROJECTS
+
+--------------------------------------------------------
+- copy of the earlier file PROJECTS --------------------
+
+The state of konsole is that the lower level mechanics are very
+stable, while the overall program still shifts purpose.
+
+After a year or two of these shifts the upper levels ask for a
+redesign. This will come out to be konsole2.
+
+I'll start a Konsole2.requierements instead of this file.
+
+- current issues -------------------------------------------------
+
+- add configuration for function keys. (allmost done)
+ document broken keypad (It's a QT issue really)
+ document VT100 keypad codes (doc/missing.keys)
+
+* configuration
+
+ - codec selection unfinished.
+ - command line options
+ font, menu, scrollbar, schema, kdelnk, codec, keytrans, ...
+
+* improve/complete documentation
+
+ - include README.* into doc.
+ - explain configuration files
+
+
+
+* future stuff, perhaps ------------------------------------------
+
+
+* stuff centered around resizing and text vs. matrix:
+
+ [This needs a bit explaination]
+
+ - make resizing more clever
+ to see the issue, 'ls /dev', make window smaller
+ and then larger again.
+ - introduce the concept of "logical lines" for resizing and
+ cut'n'paste.
+ - selecting lines that wrap insert a '\n' in the middle of the
+ line when pasting. A related problem occures with resizing.
+
+* write configuration utility for configuration files.
+ (*.schema,*.kdelnk.*.keytab)
+
+- when manipulating binary files, sometimes one
+ screws up ones terminal settings. xterm has
+ a convenient 'hard reset' menu choice.
+
+- keep session open after client program termination.
+ Useful for things like 'konsole -e ls'.
+
+- deflicker, setting all the attributes separately
+ both when creating and changing to a session
+ creates 3 setimage and 1 paint events. (This may
+ have improved, lately).
diff --git a/konsole/doc/Makefile.am b/konsole/doc/Makefile.am
new file mode 100644
index 000000000..e60c34d10
--- /dev/null
+++ b/konsole/doc/Makefile.am
@@ -0,0 +1,5 @@
+
+SUBDIRS=VT100
+
+EXTRA_DIST = More README.first histBuffer missing.codes missing.keys
+
diff --git a/konsole/doc/More/Ansi_esc.txt b/konsole/doc/More/Ansi_esc.txt
new file mode 100644
index 000000000..ede1a7c24
--- /dev/null
+++ b/konsole/doc/More/Ansi_esc.txt
@@ -0,0 +1,77 @@
+ ANSI ESCAPE SEQUENCES
+===============================================================================
+Wherever you see '#', that should be replaced by the appropriate number.
+
+ ESC code sequence Function
+ ------------------- ---------------------------
+Cursor Controls:
+ ESC[#;#H or ESC[#;#f Moves cusor to line #, column #
+ ESC[#A Moves cursor up # lines
+ ESC[#B Moves cursor down # lines
+ ESC[#C Moves cursor forward # spaces
+ ESC[#D Moves cursor back # spaces
+ ESC[#;#R Reports current cursor line & column
+ ESC[s Saves cursor position for recall later
+ ESC[u Return to saved cursor position
+
+Erase Functions:
+ ESC[2J Clear screen and home cursor
+ ESC[K Clear to end of line
+
+Set Graphics Rendition:
+ ESC[#;#;....;#m Set display attributes where # is
+ 0 for normal display
+ 1 for bold on
+ 4 underline (mono only)
+ 5 blink on
+ 7 reverse video on
+ 8 nondisplayed (invisible)
+ 30 black foreground
+ 31 red foreground
+ 32 green foreground
+ 33 yellow foreground
+ 34 blue foreground
+ 35 magenta foreground
+ 36 cyan foreground
+ 37 white foreground
+ 40 black background
+ 41 red background
+ 42 green background
+ 43 yellow background
+ 44 blue background
+ 45 magenta background
+ 46 cyan background
+ 47 white background
+
+ ESC[=#;7h or Put screen in indicated mode where # is
+ ESC[=h or 0 for 40 x 25 black & white
+ ESC[=0h or 1 for 40 x 25 color
+ ESC[?7h 2 for 80 x 25 b&w
+ 3 for 80 x 25 color
+ 4 for 320 x 200 color graphics
+ 5 for 320 x 200 b & w graphics
+ 6 for 640 x 200 b & w graphics
+ 7 to wrap at end of line
+
+ ESC[=#;7l or ESC[=l or Resets mode # set with above command
+ ESC[=0l or ESC[?7l
+
+Keyboard Reassignments:
+ ESC[#;#;...p Keyboard reassignment. The first ASCII
+ or ESC["string"p code defines which code is to be
+ or ESC[#;"string";#; changed. The remaining codes define
+ #;"string";#p what it is to be changed to.
+
+ E.g. Reassign the Q and q keys to the A and a keys (and vice versa).
+ ESC [65;81p A becomes Q
+ ESC [97;113p a becomes q
+ ESC [81;65p Q becomes A
+ ESC [113;97p q becomes a
+
+ E.g. Reassign the F10 key to a DIR command.
+ ESC [0;68;"dir";13p The 0;68 is the extended ASCII code
+ for the F10 key and 13 is the ASCII
+ code for a carriage return.
+
+ Other function key codes F1=59,F2=60,F3=61,F4=62,F5=63
+ F6=64,F7=65,F8=66,F9=67,F10=68
diff --git a/konsole/doc/More/Eterm.ref b/konsole/doc/More/Eterm.ref
new file mode 100644
index 000000000..849be1f3b
--- /dev/null
+++ b/konsole/doc/More/Eterm.ref
@@ -0,0 +1,508 @@
+--------------------------------------------------------------------------
+ Eterm Technical Reference
+--------------------------------------------------------------------------
+ Reworked from XTerm documentation and from other sources
+
+Definitions
+
+c The literal character c.
+
+C A single (required) character.
+
+Ps A single (usually optional) numeric parameter, composed of one or
+ more digits.
+
+Pm A multiple numeric parameter composed of any number of single
+ numeric parameters, separated by ; character(s).
+
+Pt A text parameter composed of printable characters.
+
+[-] marks unimplemented sequences
+[*] marks Eterm-specific (non-ANSI/ISO) sequences
+--------------------------------------------------------------------------
+
+ENQ Enquiry (Ctrl-E), Send Device Attributes (DA)
+ -> request attributes from terminal
+ -> ESC[?1;2c
+ (``I am a VT100 with Advanced Video Option.'')
+BEL Bell (Ctrl-G)
+BS Backspace (Ctrl-H)
+TAB Horizontal Tab (HT) (Ctrl-I)
+LF Line Feed or New Line (NL) (Ctrl-J)
+VT Vertical Tab (Ctrl-K) same as LF
+FF Form Feed or New Page (NP) (Ctrl-L) same as LF
+CR Carriage Return (Ctrl-M)
+SO Shift Out (Ctrl-N), invokes the G1 character set
+ -> Switch to Alternate Character Set
+SI Shift In (Ctrl-O), invokes the G0 character set (the default)
+ -> Switch to Standard Character Set
+SPC Space Character
+
+ESC # 8 DEC Screen Alignment Test (DECALN)
+
+Character Sets
+--------------------------------------------------------------------------
+ESC ( C Designate G0 Character Set (ISO 2022)
+ESC ) C Designate G1 Character Set (ISO 2022)
+ESC * C Designate G2 Character Set (ISO 2022)
+ESC + C Designate G3 Character Set (ISO 2022)
+ESC $ C Designate Kanji Character Set
+ where
+ C = 0 -> DEC Special Character and Line Drawing Set
+ C = A -> United Kingdom (UK)
+ C = B -> United States (USASCII)
+[-] C = < -> Multinational character set
+[-] C = 5 -> Finnish character set
+[-] C = C -> Finnish character set
+[-] C = K -> German character set
+
+ESC 7 Save Cursor (SC)
+ESC 8 Restore Cursor (RC)
+ESC = Application Keypad (SMKX)
+ESC > Normal Keypad (RMKX)
+
+ - If the numeric keypad is activated, e.g. Num_Lock has been
+ pressed, numbers or control functions are generated by the
+ numeric keypad (see Key Codes section)
+
+ESC D Index (IND)
+ESC E Next Line (NEL)
+ESC H Tab Set (HTS)
+ESC M Reverse Index (RI)
+[-] ESC N Single Shift Select of G2 Character Set (SS2):
+ affects next character only
+[-] ESC O Single Shift Select of G3 Character Set (SS3):
+ affects next character only
+
+ESC Z Obsolete form of ESC [ c
+ Optional (compile-time) returns -> ESC[?1;2C
+
+ESC [ Ps @ Insert Ps (Blank) Character(s) [default: 1] (ICH)
+ESC [ Ps A Cursor Up Ps Times [default: 1] (CUU)
+ESC [ Ps B Cursor Down Ps Times [default: 1] (CUD)
+ESC [ Ps C Cursor Forward Ps Times [default: 1] (CUF)
+ESC [ Ps D Cursor Backward Ps Times [default: 1] (CUB)
+ESC [ Ps E Cursor Down Ps Times [default: 1] and to first column
+ESC [ Ps F Cursor Up Ps Times [default: 1] and to first column
+ESC [ Ps G Cursor to Column Ps (HPA)
+
+ESC [ Ps;Ps H Cursor Position [row;column] [default: 1;1] (CUP)
+ESC [ Ps I Move forward Ps [default: 1] tab stops
+ESC [ Ps J Erase in Display (ED)
+ Ps = 0 -> Clear Below (default)
+ Ps = 1 -> Clear Above
+ Ps = 2 -> Clear All
+ESC [ Ps K Erase in Line (EL)
+ Ps = 0 -> Clear to Right (default)
+ Ps = 1 -> Clear to Left (EL1)
+ Ps = 2 -> Clear All
+ESC [ Ps L Insert Ps Line(s) [default: 1] (IL)
+ESC [ Ps M Delete Ps Line(s) [default: 1] (DL)
+ESC [ Ps P Delete Ps Character(s) [default: 1] (DCH)
+[-] ESC [ Ps;Ps;Ps;Ps;Ps T
+ Initiate hilite mouse tracking. Parameters are
+ [func;startx;starty;firstrow;lastrow].
+ See the section Mouse Tracking.
+ESC [ Ps W Tabulator functions
+ Ps = 0 -> Tab Set (HTS)
+ Ps = 2 -> Tab Clear (TBC), Clear Current Column (default)
+ Ps = 5 -> Tab Clear (TBC), Clear All
+ESC [ Ps X Erase Ps Character(s) [default: 1] (ECH)
+ESC [ Ps Z Move backward Ps [default: 1] tab stops
+ESC [ PS ` == ESC [ PS G
+ESC [ Ps a == ESC [ Ps C
+
+ESC [ Ps c Send Device Attributes (DA)
+ Ps = 0 or omitted -> request attributes from terminal
+ -> ESC[?1;2c
+ (``I am a VT100 with Advanced Video Option.'')
+ESC [ Ps d Cursor to Line Ps (VPA)
+ESC [ Ps e == ESC [ Ps A
+ESC [ Ps;Ps f Horizontal and Vertical Position [row;column]
+ [default: 1;1] (HVP)
+ESC [ Ps g Tab Clear (TBC)
+ Ps = 0 -> Clear Current Column (default)
+ Ps = 3 -> Clear All (TBC)
+ESC [ Ps i Printing
+ Ps = 4 -> disable transparent print mode (MC4)
+[-] Ps = 5 -> enable transparent print mode (MC5)
+ESC [ Pm h Set Mode (SM)
+ESC [ Pm l Reset Mode (RM)
+ Ps = 4
+ h -> Insert Mode (SMIR)
+ l -> Replace Mode (RMIR)
+[-] Ps = 20
+ h -> Automatic Newline (LNM)
+ l -> Normal Linefeed (LNM)
+
+ESC [ Pm m Character Attributes (SGR)
+ Ps = 0 -> Normal (default)
+ Ps = 1 / 22 -> On / Off Bold (bright fg)
+ Ps = 4 / 24 -> On / Off Underline
+ Ps = 5 / 25 -> On / Off Blink (bright bg)
+ Ps = 7 / 27 -> On / Off Inverse
+ Ps = 30 / 40 -> fg / bg Black
+ Ps = 31 / 41 -> fg / bg Red
+ Ps = 32 / 42 -> fg / bg Green
+ Ps = 33 / 43 -> fg / bg Yellow
+ Ps = 34 / 44 -> fg / bg Blue
+ Ps = 35 / 45 -> fg / bg Magenta
+ Ps = 36 / 46 -> fg / bg Cyan
+ Ps = 37 / 47 -> fg / bg White
+ Ps = 39 / 49 -> fg / bg Default
+
+ESC [ Ps n Device Status Report (DSR)
+ Ps = 5 -> Status Report ESC [ 0 n (``OK'')
+ Ps = 6 -> Report Cursor Position (CPR) [row;column]
+ as ESC [ r ; c R
+ Ps = 7 -> Request Display Name
+ Ps = 8 -> Request Version Number (place in window title)
+
+ESC [ Ps;Ps r Set Scrolling Region [top;bottom]
+ [default: full size of window] (CSR)
+ESC [ Ps x Request Terminal Parameters (DECREQTPARM)
+
+ESC [ ? Pm h DEC Private Mode Set (DECSET)
+ESC [ ? Pm l DEC Private Mode Reset (DECRST)
+ESC [ ? Pm r Restore previously saved DEC Private Mode Values.
+ESC [ ? Pm s Save DEC Private Mode Values.
+ESC [ ? Pm t Toggle DEC Private Mode Values (Eterm extension).
+ Ps = 1
+ h -> Application Cursor Keys (DECCKM)
+ l -> Normal Cursor Keys (DECCKM)
+[-] Ps = 2
+ h -> Designate USASCII for character sets G0-G3.
+ Ps = 3
+ h -> 132 Column Mode (DECCOLM)
+ l -> 80 Column Mode (DECCOLM)
+[-] Ps = 4
+ h -> Smooth (Slow) Scroll (DECSCLM)
+ l -> Jump (Fast) Scroll (DECSCLM)
+ Ps = 5
+ h -> Reverse Video (DECSCNM)
+ l -> Normal Video (DECSCNM)
+ Ps = 6
+ h -> Origin Mode (DECOM)
+ l -> Normal Cursor Mode (DECOM)
+ Ps = 7
+ h -> Wraparound Mode (DECAWM)
+ l -> No Wraparound Mode (DECAWM)
+[-] Ps = 8
+ h -> Auto-repeat Keys (DECARM)
+ l -> No Auto-repeat Keys (DECARM)
+ Ps = 9 (X10 XTerm mouse reporting)
+ h -> Send Mouse X & Y on button press.
+ l -> Don't Send Mouse X & Y on button press
+ See the section Mouse Tracking.
+[*] Ps = 10
+ h -> menuBar visisble
+ l -> menuBar invisisble
+ Ps = 25
+ h -> Visible cursor {cnorm/cvvis}
+ l -> Invisible cursor {civis}
+[*] Ps = 30
+ h -> scrollBar visisble
+ l -> scrollBar invisisble
+[*] Ps = 35
+ h -> Allow XTerm Shift+key sequences
+ l -> Disallow XTerm Shift+key sequences
+[-] Ps = 38 -> Enter Tektronix Mode (DECTEK)
+ Ps = 40
+ h -> Allow 80 <--> 132 Mode
+ l -> Disallow 80 <--> 132 Mode
+[-] Ps = 44
+ h -> Turn On Margin Bell
+ l -> Turn Off Margin Bell
+[-] Ps = 45
+ h -> Reverse-wraparound Mode
+ l -> No Reverse-wraparound Mode
+[-] Ps = 46
+ h -> Start Logging (normally disabled at compile-time)
+ l -> Stop Logging (normally disabled at compile-time)
+ Ps = 47
+ h -> Use Alternate Screen Buffer
+ l -> Use Normal Screen Buffer
+ Ps = 66
+ h -> Application Keypad (DECPAM)
+ l -> Normal Keypad (DECPNM)
+ Ps = 67
+ h -> Backspace key sends BS (DECBKM)
+ l -> Backspace key sends DEL
+ Ps = 1000 (X11 XTerm mouse reporting)
+ h -> Send Mouse X & Y on button press and release.
+ See the section Mouse Tracking.
+ l -> Don't Send Mouse X & Y on button press and release
+[-] Ps = 1001 (X11 XTerm mouse tracking)
+ h -> Use Hilite Mouse Tracking.
+ See the section Mouse Tracking.
+ l -> Don't Use Hilite Mouse Tracking
+ESC ] Ps;Pt BEL
+ Set Text Parameters
+ Ps = 0 -> Change Icon Name and Window Title to Pt
+ Ps = 1 -> Change Icon Name to Pt
+ Ps = 2 -> Change Window Title to Pt
+[*] Ps = 10 -> menuBar command Pt (compile-time option)
+ see menuBar section below
+[*] Ps = 20 -> Change default background pixmap to Pt
+ (compile-time option)
+ see XPM section below
+[*] Ps = 39 -> Change default foreground color to Pt
+ (compile-time option)
+[-] Ps = 46 -> Change Log File to Pt (normally disabled by a
+ compile-time option)
+[*] Ps = 49 -> Change default background color to Pt
+ (compile-time option)
+ Ps = 50 -> Set Font to Pt
+[*] special values of Pt (Eterm extension)
+ "#+n" change up <n> font(s)
+ "#-n" change down <n> font(s)
+ if <n> is missing or 0, a value of 1 is used
+ "" change to font0
+ "#n" change to font<n>
+
+ESC c Full Reset (RIS)
+ESC n Invoke the G2 Character Set (LS2)
+ESC o Invoke the G3 Character Set (LS3)
+
+--------------------------------------------------------------------------
+ Eterm XPM
+--------------------------------------------------------------------------
+
+For the XPM XTerm escape sequence, "ESC ] 20; Pt BEL", Pt can be the
+name of the background pixmap followed by a sequence of
+scaling/positioning commands separated by semi-colons.
+
+The scaling/positioning commands:
+ `?' = query scale/position
+ `WxH+X+Y' = change scale and position
+ `WxH+X' -> Y = X
+ `WxH' -> Y = X = 50
+ `W+X+Y' -> H = W
+ `W+X' -> H = W, Y = X
+ `W' -> H = W, X = Y = 50
+ `=+X+Y' = change position (absolute)
+ `+X+Y' = change position (relative)
+ `=+X' -> Y = X
+ `+X' -> Y = X
+ `Wx0' -> W *= W/100
+ `0xH' -> H *= H/100
+
+For example:
+eg.
+ "\E]20;mona.xpm;200"
+ loads the pixmap `mona.xpm' and sets the scaling to 200%
+or
+ "\E]20;;200;?\a"
+
+ sets the scaling of the current pixmap to 200% and displays
+ the image geometry in the title.
+
+--------------------------------------------------------------------------
+ Eterm menuBar
+--------------------------------------------------------------------------
+
+For the menubar XTerm escape sequence, "ESC ] 10; Pt BEL", the syntax
+of Pt is as follows:
+
+ = title set menuBar title
+ +/ access menuBar top level
+ -/ remove menuBar top level
+ NUL remove menuBar top level
+
+ + [/menu/path/]submenu add/access menu
+ - [/menu/path/]submenu remove menu
+
+ + [/menu/path/]{item}[{rtext}] [action] add/alter item
+ - [/menu/path/]{item} remove item
+
+ + [/menu/path/]{-} add separator
+ - [/menu/path/]{-} remove separator
+
+ + ../ access parent menu (1 level)
+ + ../../ access parent menu (multiple levels)
+
+ Define menu quick arrows
+ <b>Begin<r>Right<l>Left<u>Up<d>Down<e>End
+
+NB: the square brackets indicate optional values.
+
+The title may contain the following format specifiers:
+ %% literal '%' character
+ %v Eterm version
+
+In the `action' associated with a menu item, special characters must be
+backslash-escaped:
+ `\a', `\b', `\E `\e', `\n', `\r', `\t', '\octal'
+or in control-character notation:
+ ^@, ^A .. ^Z .. ^_, ^?
+
+ If `action' begins with a NUL (^@) character followed by
+ non-NUL characters, the leading NUL is stripped off and the
+ balance is sent back to Eterm.
+
+ To send a string starting with a NUL (^@) character to the
+ program, start action with a pair of NUL characters (^@^@),
+ the first of which will be stripped off and the balance
+ directed to the program.
+
+ As a concession and a convenience to the many Emacs work-alike
+ editors, an action string can be be starting with the following:
+ `M-...', eg, `M-$' == `\E$'
+ and for Meta-x commands, a carriage-return will be appended if
+ missing and leading space will be skipped
+
+ eg, `M-x apropos' == `\Exapropos\r'
+
+ The option {rtext} will be right-justified. In the absence of
+ a specified action, this text will be as the used. So, for
+ example,
+ Pt = `+{Open}{^X^F}'
+ is equivalent to
+ Pt = `+{Open){^X^F}{^X^F}'
+
+ To only have the right-justified text, either use the same name
+ for both left and right labels, eg:
+ Pt = `+{Open}{Open} Open-File-Action'
+ or simply hide the left label by preceeding it with a dot, eg:
+ Pt = `+{.anyLabel}{Open} Open-File-Action'
+
+ Since the left label is used for matching, it is necessary.
+
+ The menus also provide a hook for `quick arrows' to provide
+ easier user access. If nothing has been explicitly set, the
+ default is to emulate the curror keys. The syntax permits
+ each arrow to be altered individually or all four at once with
+ re-entering their common beginning/end text. For example, to
+ explicitly associate cursor actions with the arrows, any of the
+ following forms could be used:
+
+ Pt = `<u>\\E[A'
+ Pt = `<d>\\E[B'
+ Pt = `<r>\\E[C'
+ Pt = `<l>\\E[D'
+ or
+ Pt = `<u>\\E[A<d>\\E[B<r>\\E[C<l>\\E[D'
+ or
+ Pt = `<b>\\E[<u>A<d>B<r>C<l>D'
+
+ It is probably easiest just to see the examples.
+
+--------------------------------------------------------------------------
+ Mouse reporting
+--------------------------------------------------------------------------
+
+ESC [ M <b> <x> <y> report mouse position
+ The lower 2 bits of <b> indicate the button:
+ Button = <b> & 3 - SPACE
+ 0 = Button1 pressed
+ 1 = Button2 pressed
+ 2 = Button3 pressed
+ 3 = button released (X11 mouse report)
+
+ The upper bits of <b> indicate the modifiers when
+ the button was pressed and are added together
+ (X11 mouse report only):
+ State = <b> & 28 - SPACE
+ 4 = Shift
+ 8 = Meta
+ 16 = Control
+
+ Col = <x> - SPACE
+ Row = <y> - SPACE
+
+--------------------------------------------------------------------------
+ Eterm special graphics mode:
+--------------------------------------------------------------------------
+ESC G Q query if graphics are available
+-> ESC G 0 no graphics available
+-> ESC G 1 graphics available (color only)
+
+Add more documentation here, if anyone actually cares.
+ESC G W <x>;<y>;<w>;<h>: create window
+ESC G G <id>: query window
+-> ESC G <id> <x> <y> <w> <h> <fw> <fh> <nw> <nh>
+ESC G L <id> start line
+ESC G P <id> start point
+ESC G F <id> start fill
+ESC G C <id> clear window
+ESC G T <id>;<x>; <y>;<mode>;<len>:<text> place text
+
+--------------------------------------------------------------------------
+ Key Codes
+--------------------------------------------------------------------------
+ Normal Shift Control Application
+Up ESC [ A ESC [ a ESC O a ESC O A
+Down ESC [ B ESC [ b ESC O b ESC O B
+Right ESC [ C ESC [ c ESC O c ESC O C
+Left ESC [ D ESC [ d ESC O d ESC O D
+
+ Normal Shift Control
+Tab ^I ESC [ Z ^I
+BackSpace ^H ^? ^?
+
+ Normal Shift Control Ctrl+Shift
+Home == Find ESC [ 1 ~ ESC [ 1 $ ESC [ 1 ^ ESC [ 1 @
+Insert ESC [ 2 ~ paste-mouse ESC [ 2 ^ ESC [ 2 @
+Execute ESC [ 3 ~ ESC [ 3 $ ESC [ 3 ^ ESC [ 3 @
+End == Select ESC [ 4 ~ ESC [ 4 $ ESC [ 4 ^ ESC [ 4 @
+Prior ESC [ 5 ~ scroll-up ESC [ 5 ^ ESC [ 5 @
+Next ESC [ 6 ~ scroll-down ESC [ 6 ^ ESC [ 6 @
+
+Delete ESC [ 3 ~ ESC [ 3 $ ESC [ 3 ^ ESC [ 3 @
+
+Function Keys:
+(Note: Shift + F1-10 generates F11-20)
+ Norm Shift Control Ctrl+Shift
+F1 ESC [ 11 ~ ESC [ 23 ~ ESC [ 11 ^ ESC [ 23 ^
+F2 ESC [ 12 ~ ESC [ 24 ~ ESC [ 12 ^ ESC [ 24 ^
+F3 ESC [ 13 ~ ESC [ 25 ~ ESC [ 13 ^ ESC [ 25 ^
+F4 ESC [ 14 ~ ESC [ 26 ~ ESC [ 14 ^ ESC [ 26 ^
+F5 ESC [ 15 ~ ESC [ 28 ~ ESC [ 15 ^ ESC [ 28 ^
+
+F6 ESC [ 17 ~ ESC [ 29 ~ ESC [ 17 ^ ESC [ 29 ^
+F7 ESC [ 18 ~ ESC [ 31 ~ ESC [ 18 ^ ESC [ 31 ^
+F8 ESC [ 19 ~ ESC [ 32 ~ ESC [ 19 ^ ESC [ 32 ^
+F9 ESC [ 20 ~ ESC [ 33 ~ ESC [ 20 ^ ESC [ 33 ^
+F10 ESC [ 21 ~ ESC [ 34 ~ ESC [ 21 ^ ESC [ 34 ^
+
+F11 ESC [ 23 ~ ESC [ 23 $ ESC [ 23 ^ ESC [ 23 @
+F12 ESC [ 24 ~ ESC [ 24 $ ESC [ 24 ^ ESC [ 24 @
+F13 ESC [ 25 ~ ESC [ 25 $ ESC [ 25 ^ ESC [ 25 @
+F14 ESC [ 26 ~ ESC [ 26 $ ESC [ 26 ^ ESC [ 26 @
+
+F15 (Help) ESC [ 28 ~ ESC [ 28 $ ESC [ 28 ^ ESC [ 28 @
+F16 (Menu) ESC [ 29 ~ ESC [ 29 $ ESC [ 29 ^ ESC [ 29 @
+
+F17 ESC [ 31 ~ ESC [ 31 $ ESC [ 31 ^ ESC [ 31 @
+F18 ESC [ 32 ~ ESC [ 32 $ ESC [ 32 ^ ESC [ 32 @
+F19 ESC [ 33 ~ ESC [ 33 $ ESC [ 33 ^ ESC [ 33 @
+F20 ESC [ 34 ~ ESC [ 34 $ ESC [ 34 ^ ESC [ 34 @
+
+Keypad:
+ use Shift to temporarily override Appl-Keypad setting
+ use Num_Lock to toggle Appl-Keypad setting
+ if Num_Lock is off, escape sequences toggle Appl-Keypad setting
+------
+ Normal Application
+KP_Enter ^M ESC O M
+KP_F1 ESC O P ESC O P
+KP_F2 ESC O Q ESC O Q
+KP_F3 ESC O R ESC O R
+KP_F4 ESC O S ESC O S
+XK_KP_Multiply * ESC O j
+XK_KP_Add + ESC O k
+XK_KP_Separator , ESC O l
+XK_KP_Subtract - ESC O m
+XK_KP_Decimal . ESC O n
+XK_KP_Divide / ESC O o
+XK_KP_0 0 ESC O p
+XK_KP_1 1 ESC O q
+XK_KP_2 2 ESC O r
+XK_KP_3 3 ESC O s
+XK_KP_4 4 ESC O t
+XK_KP_5 5 ESC O u
+XK_KP_6 6 ESC O v
+XK_KP_7 7 ESC O w
+XK_KP_8 8 ESC O x
+XK_KP_9 9 ESC O y
+--------------------------------------------------------------------------
diff --git a/konsole/doc/More/ansi.sys.txt b/konsole/doc/More/ansi.sys.txt
new file mode 100644
index 000000000..5600175f3
--- /dev/null
+++ b/konsole/doc/More/ansi.sys.txt
@@ -0,0 +1,355 @@
+<TITLE>ANSI.SYS -- ansi terminal emulation escape sequences</TITLE>
+
+ ANSI.SYS
+
+Defines functions that change display graphics, control cursor movement, and
+reassign keys. The ANSI.SYS device driver supports ANSI terminal emulation
+of escape sequences to control your system's screen and keyboard. An ANSI
+escape sequence is a sequence of ASCII characters, the first two of which
+are the escape character (1Bh) and the left-bracket character (5Bh). The
+character or characters following the escape and left-bracket characters
+specify an alphanumeric code that controls a keyboard or display function.
+ANSI escape sequences distinguish between uppercase and lowercase letters;
+for example,"A" and "a" have completely different meanings.
+
+
+Parameters used in ANSI escape sequences
+
+Pn
+ Numeric parameter. Specifies a decimal number.
+
+Ps
+ Selective parameter. Specifies a decimal number that you use to select
+ a function. You can specify more than one function by separating the
+ parameters with semicolons.
+
+PL
+ Line parameter. Specifies a decimal number that represents one of the
+ lines on your display or on another device.
+
+Pc
+ Column parameter. Specifies a decimal number that represents one of the
+ columns on your screen or on another device.
+
+ANSI escape sequences for cursor movement, graphics, and keyboard settings
+
+In the following list of ANSI escape sequences, the abbreviation ESC
+represents the ASCII escape character 27 (1Bh), which appears at the
+beginning of each escape sequence.
+
+ESC[PL;PcH
+ Cursor Position: Moves the cursor to the specified position
+ (coordinates). If you do not specify a position, the cursor moves to the
+ home position - the upper-left corner of the screen (line 0, column
+ 0). This escape sequence works the same way as the following Cursor
+ Position escape sequence.
+
+ESC[PL;Pcf
+ Cursor Position: Works the same way as the preceding Cursor Position
+ escape sequence.
+
+ESC[PnA
+ Cursor Up: Moves the cursor up by the specified number of lines without
+ changing columns. If the cursor is already on the top line, ANSI.SYS
+ ignores this sequence.
+
+ESC[PnB
+ Cursor Down: Moves the cursor down by the specified number of lines
+ without changing columns. If the cursor is already on the bottom line,
+ ANSI.SYS ignores this sequence.
+
+ESC[PnC
+ Cursor Forward: Moves the cursor forward by the specified number of
+ columns without changing lines. If the cursor is already in the
+ rightmost column, ANSI.SYS ignores this sequence.
+
+ESC[PnD
+ Cursor Backward: Moves the cursor back by the specified number of
+ columns without changing lines. If the cursor is already in the leftmost
+ column, ANSI.SYS ignores this sequence.
+
+ESC[s
+ Save Cursor Position: Saves the current cursor position. You can move
+ the cursor to the saved cursor position by using the Restore Cursor
+ Position sequence.
+
+ESC[u
+ Restore Cursor Position: Returns the cursor to the position stored
+ by the Save Cursor Position sequence.
+
+ESC[2J
+ Erase Display: Clears the screen and moves the cursor to the home
+ position (line 0, column 0).
+
+ESC[K
+ Erase Line: Clears all characters from the cursor position to the
+ end of the line (including the character at the cursor position).
+
+ESC[Ps;...;Psm
+ Set Graphics Mode: Calls the graphics functions specified by the
+ following values. These specified functions remain active until the next
+ occurrence of this escape sequence. Graphics mode changes the colors and
+ attributes of text (such as bold and underline) displayed on the
+ screen.
+
+ Text attributes
+ 0 All attributes off
+ 1 Bold on
+ 4 Underscore (on monochrome display adapter only)
+ 5 Blink on
+ 7 Reverse video on
+ 8 Concealed on
+
+ Foreground colors
+ 30 Black
+ 31 Red
+ 32 Green
+ 33 Yellow
+ 34 Blue
+ 35 Magenta
+ 36 Cyan
+ 37 White
+
+ Background colors
+ 40 Black
+ 41 Red
+ 42 Green
+ 43 Yellow
+ 44 Blue
+ 45 Magenta
+ 46 Cyan
+ 47 White
+
+ Parameters 30 through 47 meet the ISO 6429 standard.
+
+ESC[=psh
+ Set Mode: Changes the screen width or type to the mode specified
+ by one of the following values:
+
+ 0 40 x 148 x 25 monochrome (text)
+ 1 40 x 148 x 25 color (text)
+ 2 80 x 148 x 25 monochrome (text)
+ 3 80 x 148 x 25 color (text)
+ 4 320 x 148 x 200 4-color (graphics)
+ 5 320 x 148 x 200 monochrome (graphics)
+ 6 640 x 148 x 200 monochrome (graphics)
+ 7 Enables line wrapping
+ 13 320 x 148 x 200 color (graphics)
+ 14 640 x 148 x 200 color (16-color graphics)
+ 15 640 x 148 x 350 monochrome (2-color graphics)
+ 16 640 x 148 x 350 color (16-color graphics)
+ 17 640 x 148 x 480 monochrome (2-color graphics)
+ 18 640 x 148 x 480 color (16-color graphics)
+ 19 320 x 148 x 200 color (256-color graphics)
+
+ESC[=Psl
+ Reset Mode: Resets the mode by using the same values that Set Mode
+ uses, except for 7, which disables line wrapping. The last character
+ in this escape sequence is a lowercase L.
+
+ESC[code;string;...p
+ Set Keyboard Strings: Redefines a keyboard key to a specified string.
+ The parameters for this escape sequence are defined as follows:
+
+ Code is one or more of the values listed in the following table.
+ These values represent keyboard keys and key combinations. When using
+ these values in a command, you must type the semicolons shown in this
+ table in addition to the semicolons required by the escape sequence.
+ The codes in parentheses are not available on some keyboards.
+ ANSI.SYS will not interpret the codes in parentheses for those
+ keyboards unless you specify the /X switch in the DEVICE command for
+ ANSI.SYS.
+
+ String is either the ASCII code for a single character or a string
+ contained in quotation marks. For example, both 65 and "A" can be
+ used to represent an uppercase A.
+
+IMPORTANT: Some of the values in the following table are not valid for all
+ computers. Check your computer's documentation for values that
+ are different.
+
+Key Code SHIFT+code CTRL+code ALT+code
+-------------------------------------------------------------------
+
+F1 0;59 0;84 0;94 0;104
+
+F2 0;60 0;85 0;95 0;105
+
+F3 0;61 0;86 0;96 0;106
+
+F4 0;62 0;87 0;97 0;107
+
+F5 0;63 0;88 0;98 0;108
+
+F6 0;64 0;89 0;99 0;109
+
+F7 0;65 0;90 0;100 0;110
+
+F8 0;66 0;91 0;101 0;111
+
+F9 0;67 0;92 0;102 0;112
+
+F10 0;68 0;93 0;103 0;113
+
+F11 0;133 0;135 0;137 0;139
+
+F12 0;134 0;136 0;138 0;140
+
+HOME (num keypad) 0;71 55 0;119 --
+
+UP ARROW (num keypad) 0;72 56 (0;141) --
+
+PAGE UP (num keypad) 0;73 57 0;132 --
+
+LEFT ARROW (num keypad) 0;75 52 0;115 --
+
+RIGHT ARROW (num 0;77 54 0;116 --
+keypad)
+
+END (num keypad) 0;79 49 0;117 --
+
+DOWN ARROW (num keypad) 0;80 50 (0;145) --
+
+PAGE DOWN (num keypad) 0;81 51 0;118 --
+
+INSERT (num keypad) 0;82 48 (0;146) --
+
+DELETE (num keypad) 0;83 46 (0;147) --
+
+HOME (224;71) (224;71) (224;119) (224;151)
+
+UP ARROW (224;72) (224;72) (224;141) (224;152)
+
+PAGE UP (224;73) (224;73) (224;132) (224;153)
+
+LEFT ARROW (224;75) (224;75) (224;115) (224;155)
+
+RIGHT ARROW (224;77) (224;77) (224;116) (224;157)
+
+END (224;79) (224;79) (224;117) (224;159)
+
+DOWN ARROW (224;80) (224;80) (224;145) (224;154)
+
+PAGE DOWN (224;81) (224;81) (224;118) (224;161)
+
+INSERT (224;82) (224;82) (224;146) (224;162)
+
+DELETE (224;83) (224;83) (224;147) (224;163)
+
+PRINT SCREEN �� �� 0;114 ��
+
+PAUSE/BREAK �� �� 0;0 ��
+
+BACKSPACE 8 8 127 (0)
+
+ENTER 13 �� 10 (0
+
+TAB 9 0;15 (0;148) (0;165)
+
+NULL 0;3 �� �� ��
+
+A 97 65 1 0;30
+
+B 98 66 2 0;48
+
+C 99 66 3 0;46
+
+D 100 68 4 0;32
+
+E 101 69 5 0;18
+
+F 102 70 6 0;33
+
+G 103 71 7 0;34
+
+H 104 72 8 0;35
+
+I 105 73 9 0;23
+
+J 106 74 10 0;36
+
+K 107 75 11 0;37
+
+L 108 76 12 0;38
+
+M 109 77 13 0;50
+
+N 110 78 14 0;49
+
+O 111 79 15 0;24
+
+P 112 80 16 0;25
+
+Q 113 81 17 0;16
+
+R 114 82 18 0;19
+
+S 115 83 19 0;31
+
+T 116 84 20 0;20
+
+U 117 85 21 0;22
+
+V 118 86 22 0;47
+
+W 119 87 23 0;17
+
+X 120 88 24 0;45
+
+Y 121 89 25 0;21
+
+Z 122 90 26 0;44
+
+1 49 33 �� 0;120
+
+2 50 64 0 0;121
+
+3 51 35 �� 0;122
+
+4 52 36 �� 0;123
+
+5 53 37 �� 0;124
+
+6 54 94 30 0;125
+
+7 55 38 �� 0;126
+
+8 56 42 �� 0;126
+
+9 57 40 �� 0;127
+
+0 48 41 �� 0;129
+
+- 45 95 31 0;130
+
+= 61 43 ��- 0;131
+
+[ 91 123 27 0;26
+
+] 93 125 29 0;27
+
+ 92 124 28 0;43
+
+; 59 58 �� 0;39
+
+' 39 34 �� 0;40
+
+, 44 60 �� 0;51
+
+. 46 62 �� 0;52
+
+/ 47 63 �� 0;53
+
+` 96 126 �� (0;41)
+
+ENTER (keypad) 13 �� 10 (0;166)
+
+/ (keypad) 47 47 (0;142) (0;74)
+
+* (keypad) 42 (0;144) (0;78) ��
+
+- (keypad) 45 45 (0;149) (0;164)
+
++ (keypad) 43 43 (0;150) (0;55)
+
+5 (keypad) (0;76) 53 (0;143) ��
diff --git a/konsole/doc/More/ansix364.txt b/konsole/doc/More/ansix364.txt
new file mode 100644
index 000000000..da74ad156
--- /dev/null
+++ b/konsole/doc/More/ansix364.txt
@@ -0,0 +1,322 @@
+
+The following table of the ANSI X3.64 encodings is the result of some work I
+did a few years ago for BYTE magazine. BYTE made this table available for
+download from several bulletin-board systems, so I see no reason why it cannot
+be posted here for whatever private use you care to make. Just don't expect
+to make a profit selling copies of it without paying royalties to McGraw-Hill.
+
+Oh, by the way, the equivalent ISO standard is DP-6429.
+
+.....RSS
+
+
+ ANSI Standard (X3.64) Control Sequences for Video Terminals and Peripherals
+ in alphabetic order by mnemonic
+
+ (Inspired by the article "Toward Standardized Video Terminals: ANSI
+ X3.64 Device Control" by Mark L. Siegel, April 1984 BYTE, page 365)
+
+ (Ps and Pn are parameters expressed in ASCII.)
+ (Numeric parameters are given in decimal radix.)
+ (Abbreviations are explained in detail at end.)
+ (Spaces used in this table for clarity are not
+ used in the actual codes.)
+
+ Default Type
+Sequence Sequence Parameter or
+Mnemonic Name Sequence Value Mode
+---------------------------------------------------------------------------
+APC Applicatn Program Command Esc Fe Delim
+CBT Cursor Backward Tab Esc [ Pn Z 1 eF
+CCH Cancel Previous Character Esc T
+CHA Cursor Horzntal Absolute Esc [ Pn G 1 eF
+CHT Cursor Horizontal Tab Esc [ Pn I 1 eF
+CNL Cursor Next Line Esc [ Pn E 1 eF
+CPL Cursor Preceding Line Esc [ Pn F 1 eF
+CPR Cursor Position Report Esc [ Pn ; Pn R 1, 1
+CSI Control Sequence Intro Esc [ Intro
+CTC Cursor Tab Control Esc [ Ps W 0 eF
+CUB Cursor Backward Esc [ Pn D 1 eF
+CUD Cursor Down Esc [ Pn B 1 eF
+CUF Cursor Forward Esc [ Pn C 1 eF
+CUP Cursor Position Esc [ Pn ; Pn H 1, 1 eF
+CUU Cursor Up Esc [ Pn A 1 eF
+CVT Cursor Vertical Tab Esc [ Pn Y eF
+DA Device Attributes Esc [ Pn c 0
+DAQ Define Area Qualification Esc [ Ps o 0
+DCH Delete Character Esc [ Pn P 1 eF
+DCS Device Control String Esc P Delim
+DL Delete Line Esc [ Pn M 1 eF
+DMI Disable Manual Input Esc \ Fs
+DSR Device Status Report Esc [ Ps n 0
+EA Erase in Area Esc [ Ps O 0 eF
+ECH Erase Character Esc [ Pn X 1 eF
+ED Erase in Display Esc [ Ps J 0 eF
+EF Erase in Field Esc [ Ps N 0 eF
+EL Erase in Line Esc [ Ps K 0 eF
+EMI Enable Manual Input Esc b Fs
+EPA End of Protected Area Esc W
+ESA End of Selected Area Esc G
+FNT Font Selection Esc [ Pn ; Pn Space D 0, 0 FE
+GSM Graphic Size Modify Esc [ Pn ; Pn Space B 100, 100 FE
+GSS Graphic Size Selection Esc [ Pn Space C none FE
+HPA Horz Position Absolute Esc [ Pn ` 1 FE
+HPR Horz Position Relative Esc [ Pn a 1 FE
+HTJ Horz Tab w/Justification Esc I FE
+HTS Horizontal Tab Set Esc H FE
+HVP Horz & Vertical Position Esc [ Pn ; Pn f 1, 1 FE
+ICH Insert Character Esc [ Pn @ 1 eF
+IL Insert Line Esc [ Pn L 1 eF
+IND Index Esc D FE
+INT Interrupt Esc a Fs
+JFY Justify Esc [ Ps ; ... ; Ps Space F 0 FE
+MC Media Copy Esc [ Ps i 0
+MW Message Waiting Esc U
+NEL Next Line Esc E FE
+NP Next Page Esc [ Pn U 1 eF
+OSC Operating System Command Esc ] Delim
+PLD Partial Line Down Esc K FE
+PLU Partial Line Up Esc L FE
+PM Privacy Message Esc ^ Delim
+PP Preceding Page Esc [ Pn V 1 eF
+PU1 Private Use 1 Esc Q
+PU2 Private Use 2 Esc R
+QUAD Typographic Quadding Esc [ Ps Space H 0 FE
+REP Repeat Char or Control Esc [ Pn b 1
+RI Reverse Index Esc M FE
+RIS Reset to Initial State Esc c Fs
+RM Reset Mode Esc [ Ps l none
+SD Scroll Down Esc [ Pn T 1 eF
+SEM Select Edit Extent Mode Esc [ Ps Q 0
+SGR Select Graphic Rendition Esc [ Ps m 0 FE
+SL Scroll Left Esc [ Pn Space @ 1 eF
+SM Select Mode Esc [ Ps h none
+SPA Start of Protected Area Esc V
+SPI Spacing Increment Esc [ Pn ; Pn Space G none FE
+SR Scroll Right Esc [ Pn Space A 1 eF
+SS2 Single Shift 2 (G2 set) Esc N Intro
+SS3 Single Shift 3 (G3 set) Esc O Intro
+SSA Start of Selected Area Esc F
+ST String Terminator Esc \ Delim
+STS Set Transmit State Esc S
+SU Scroll Up Esc [ Pn S 1 eF
+TBC Tab Clear Esc [ Ps g 0 FE
+TSS Thin Space Specification Esc [ Pn Space E none FE
+VPA Vert Position Absolute Esc [ Pn d 1 FE
+VPR Vert Position Relative Esc [ Pn e 1 FE
+VTS Vertical Tabulation Set Esc J FE
+
+---------------------------------------------------------------------------
+
+Abbreviations:
+
+Intro an Introducer of some kind of defined sequence; the normal 7-bit
+ X3.64 Control Sequence Introducer is the two characters "Escape ["
+
+Delim a Delimiter
+
+x/y identifies a character by position in the ASCII table (column/row)
+
+eF editor function (see explanation)
+
+FE format effector (see explanation)
+
+F is a Final character in
+ an Escape sequence (F from 3/0 to 7/14 in the ASCII table)
+ a control sequence (F from 4/0 to 7/14)
+
+Gs is a graphic character appearing in strings (Gs ranges from
+ 2/0 to 7/14) in the ASCII table
+
+Ce is a control represented as a single bit combination in the C1 set
+ of controls in an 8-bit character set
+
+C0 the familiar set of 7-bit ASCII control characters
+
+C1 roughly, the set of control characters available only in 8-bit systems.
+ This is too complicated to explain fully here, so read Jim Fleming's
+ article in the February 1983 BYTE, especially pages 214 through 224.
+
+Fe is a Final character of a 2-character Escape sequence that has an
+ equivalent representation in an 8-bit environment as a Ce-type
+ (Fe ranges from 4/0 to 5/15)
+
+Fs is a Final character of a 2-character Escape sequence that is
+ standardized internationally with identical representation in 7-bit
+ and 8-bit environments and is independent of the currently
+ designated C0 and C1 control sets (Fs ranges from 6/0 to 7/14)
+
+I is an Intermediate character from 2/0 to 2/15 (inclusive) in the
+ ASCII table
+
+P is a parameter character from 3/0 to 3/15 (inclusive) in the ASCII
+ table
+
+Pn is a numeric parameter in a control sequence, a string of zero or
+ more characters ranging from 3/0 to 3/9 in the ASCII table
+
+Ps is a variable number of selective parameters in a control sequence
+ with each selective parameter separated from the other by the code
+ 3/11 (which usually represents a semicolon); Ps ranges from
+ 3/0 to 3/9 and includes 3/11
+
+\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
+/
+
+Format Effectors versus Editor Functions
+
+A format effector specifies how the final output is to be created.
+An editor function allows you to modify the specification.
+
+For instance, a format effector that moves the "active position" (the
+cursor or equvalent) one space to the left would be useful when you want to
+create an overstrike, a compound character made of two standard characters
+overlaid. Control-H, the Backspace character, is actually supposed to be a
+format effector, so you can do this. But many systems use it in a
+nonstandard fashion, as an editor function, deleting the character to the
+left of the cursor and moving the cursor left. When Control-H is assumed to
+be an editor function, you cannot predict whether its use will create an
+overstrike unless you also know whether the output device is in an "insert
+mode" or an "overwrite mode". When Control-H is used as a format effector,
+its effect can always be predicted. The familiar characters carriage
+return, linefeed, formfeed, etc., are defined as format effectors.
+
+\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
+/
+
+ANSI X3.64 Mode-Changing Parameters for use with the
+ Select Mode (SM) and Reset Mode (RM) functions
+
+ Parameter Mode Mode Function
+ Characters Mnemonic
+ column/ graphic
+ row repres.
+----------------------------------------------------------------------------
+3/0 0 an error condition
+3/1 1 GATM guarded-area transfer mode
+3/2 2 KAM keyboard action mode
+3/3 3 CRM control representation mode
+3/4 4 IRM insertion/replacement mode
+3/5 5 SRTM status-reporting transfer mode
+3/6 6 ERM erasure mode
+3/7 7 VEM vertical editing mode
+3/8 8 reserved for future standardization
+3/9 9 reserved for future standardization
+3/10 : reserved separator for parameters
+3/11 ; Standard separator for parameters
+3/12 < reserved for private (experimental) use
+3/13 = reserved for private (experimental) use
+3/14 > reserved for private (experimental) use
+3/15 ? reserved for private (experimental) use
+3/1 3/0 10 HEM horizontal editing mode
+3/1 3/1 11 PUM positioning unit mode
+3/1 3/2 12 SRM send/receive mode
+3/1 3/3 13 FEAM format effector action mode
+3/1 3/4 14 FETM format effector transfer mode
+3/1 3/5 15 MATM multiple area transfer mode
+3/1 3/6 16 TTM transfer termination mode
+3/1 3/7 17 SATM selected area transfer mode
+3/1 3/8 18 TSM tabulation stop mode
+3/1 3/9 19 EBM editing boundary mode
+3/1 3/10 1: reserved separator for parameters
+3/1 3/11 1; Standard separator for parameters
+3/1 3/12 1< error condition--unspecified recovery
+3/1 3/13 1= error condition--unspecified recovery
+3/1 3/14 1> error condition--unspecified recovery
+3/1 3/15 1? error condition--unspecified recovery
+3/2 3/0 20 LNM linefeed/newline mode (not in ISO 6429)
+3/2 3/1 21
+ . .
+ . . reserved for future standardization
+ . .
+3/9 3/9 99
+
+3/12 3/0 <0
+ . .
+ . . reserved for private (experimental) use
+ . .
+3/15 3/15 ??
+
+\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
+/
+
+NOTES ON THE DEC VT100 IMPLEMENTATION
+
+In the case of the popular DEC VT100 video-terminal implementation,
+the only mode that may be altered is the linefeed/newline (LNM) mode.
+Other modes are considered permanently set, reset, or not applicable
+as follows:
+
+ Set: ERM
+ Reset: CRM, EBM, FEAM, FETM, IRM, KAM, PUM, SRTM, TSM
+ N/A: GATM, HEM, MATM, SATM, TTM, VEM
+
+Control sequences implemented in the VT100 are as follows:
+
+ CPR, CUB, CUD, CUF, CUP, CUU, DA, DSR, ED, EL, HTS, HVP, IND,
+ LNM, NEL, RI, RIS, RM, SGR, SM, TBC
+
+plus several private DEC commands.
+
+Erasing parts of the display (EL and ED) in the VT100 is performed thus:
+
+ Erase from cursor to end of line Esc [ 0 K or Esc [ K
+ Erase from beginning of line to cursor Esc [ 1 K
+ Erase line containing cursor Esc [ 2 K
+ Erase from cursor to end of screen Esc [ 0 J or Esc [ J
+ Erase from beginning of screen to cursor Esc [ 1 J
+ Erase entire screen Esc [ 2 J
+
+The VT100 responds to receiving the DA (Device Attributes) control
+
+ Esc [ c (or Esc [ 0 c)
+
+by transmitting the sequence
+
+ Esc [ ? l ; Ps c
+
+where Ps is a character that describes installed options.
+
+The VT100's cursor location can be read with the DSR (Device Status
+Report) control
+
+ Esc [ 6 n
+
+The VT100 reports by transmitting the CPR sequence
+
+ Esc [ Pl ; Pc R
+
+where Pl is the line number and Pc is the column number (in decimal).
+
+\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
+/
+
+The complete document describing the standard, "ANSI X3.64-1979:
+Additional Controls for Use with the American National Standard
+Code for Information Interchange," can be ordered for $13.50 (plus
+$4 postage) from
+
+ Standards Sales Department
+ American National Standards Institute
+ 1430 Broadway
+ New York, NY 10018
+ 212/354-3300
+
+It's best to read the full standard before using it. It also helps
+to have copies of the related standards "X3.4-1977: American
+National Standard Code for Information Interchange" (the ASCII
+standard) and "X3.41.1974: Code-Extension Techniques for Use with
+the 7-Bit Coded Character Set of American National Standard for
+Information Interchange."
+
+See also the chapter "Using Extended Screens and Keyboard Control"
+in the IBM PC-DOS manuals, especially for the coding for character
+attributes.
+
+The specification for the DEC VT100 is document EK-VT100-UG-003.
+
+(Copyright 1984 BYTE Publications, subsidiary of McGraw-Hill Inc.)
+(Permission granted to reproduce for noncommercial uses.)
+(This file prepared by Richard S. Shuford.)
+
+ \ No newline at end of file
diff --git a/konsole/doc/More/dec_vt100_codes.txt b/konsole/doc/More/dec_vt100_codes.txt
new file mode 100644
index 000000000..e9d4b9f82
--- /dev/null
+++ b/konsole/doc/More/dec_vt100_codes.txt
@@ -0,0 +1,166 @@
+Article 2317 of comp.terminals:
+Path: cs.utk.edu!darwin.sura.net!opusc!usceast!riker!chan
+From: [email protected] (Simon Chan)
+Newsgroups: comp.terminals
+Subject: INFO for VT100 !!!!!!!!
+Date: 27 Apr 1994 23:30:09 -0400
+Organization: Univ of S. Carolina, ECE Dept
+Lines: 153
+Message-ID: <chan.767503605@riker>
+NNTP-Posting-Host: riker.ece.scarolina.edu
+
+ So I am posting this once again.....
+------------------------------<Cut Here>---------------------------------------
+Taken from VT100 Programming Reference Card (DIGITAL)
+
+ANSI Compatible Mode
+
+ Cursor Movement Commands
+ Cursor up ESC [ Pn A
+ Cursor down ESC [ Pn B
+ Cursor forward (right) ESC [ Pn C
+ Cursor backward (left) ESC [ Pn D
+ Direct cursor addressing ESC [ Pl; Pc H or
+ ESC [ Pl; Pc f
+ Index ESC D
+ Next Line ESC E
+ Reverse index ESC M
+ Save cursor and attributes ESC 7
+ Restore cursor and attributes ESC 8
+ * Pn = decimal parameter in string of ASCII digits.(default 1)
+ * Pl = line number (default 0); Pc = column number (default 0)
+
+ Line Size (Double-Height and Double-Width) Commands
+ Change this line to double-height top half ESC # 3
+ Change this line to double-height bottom half ESC # 4
+ Change this line to single-width single-height ESC # 5
+ Change this line to double-width single-height ESC # 6
+
+ Character Attributes
+ ESC [ Ps;Ps;Ps;...,Ps m
+ Ps = 0 or None All Attributes Off
+ 1 Bold on
+ 4 Underscore on
+ 5 Blink on
+ 7 Reverse video on
+ Any other parameter values are ignored.
+
+ Erasing
+ From cursor to end of line ESC [ K or ESC [ 0 K
+ From beginning of line to cursor ESC [ 1 K
+ Entire line containing cursor ESC [ 2 K
+ From cursor to end of screen ESC [ J or ESC [ 0 J
+ From beginning of screen to cursor ESC [ 1 J
+ Entire screen ESC [ 2 J
+
+ Programmable LEDs
+ ESC [ Ps;Ps;...Ps q
+ Ps = 0 or None All LEDs Off
+ 1 L1 on
+ 2 L2 on
+ 3 L3 on
+ 4 L4 on
+ Any other parameter values are ignored.
+
+ Character Set (G0 and G1 Designators)
+ Charactor Set G0 Designator G1 Designator
+ United Kingdom (UK) ESC ( A ESC ) A
+ United States (USASCII) ESC ( B ESC ) B
+ Special graphics characters ESC ( 0 ESC ) 0
+ and line drawing set
+ Alternate character ROM ESC ( 1 ESC ) 1
+ Alternate character ROM ESC ( 2 ESC ) 2
+ special graphics characters
+
+ Scrolling Region
+ ESC [ Pt ; Pb r
+ Pt is the number of the top line of the scrolling region;
+ Pb is the number of the bottom line of the scrolling region
+ and must be greater than Pt.
+ (The default for Pt is line 1, the default for Pb is the end
+ of the screen)
+
+ TAB stops
+ Set tab at current column ESC H
+ Clear tab at curent column ESC [ g or ESC [ 0 g
+ Clear all tabs ESC [ 3 g
+
+ Modes
+ To Set To Reset
+ Mode Name Mode Sequence Mode Sequence
+ Line feed/new line New line ESC [20h Line feed ESC [20l
+ Cursor key mode Application ESC [?1h Cursor ESC [?l
+ ANSI/VT52 mode ANSI ESC < VT52 ESC [?2l
+ Column mode 132 Col ESC [?3h 80 Col ESC [?3l
+ Scrolling mode Smooth ESC [?4h Jump ESC [?4l
+ Screen mode Reverse ESC [?5h Normal ESC [?5l
+ Origin mode Relative ESC [?6h Absolute ESC [?6l
+ Wraparound On ESC [?7h Off ESC [?7l
+ Auto repeat On ESC [?8h Off ESC [?8l
+ Interlace On ESC [?9h Off ESC [?9l
+ Graphic proc. option On ESC 1 Off ESC 2
+ Keypad mode Application ESC = Numeric ESC >
+
+ Reports
+ Cursor Position Report
+ Invoked by ESC [ 6 n
+ Response is ESC [ Pl; Pc R
+ * Pl = line number; Pc = column number
+
+ Status Report
+ Invoked by ESC [ 5 n
+ Response is ESC [ 0 n (terminal ok)
+ ESC [ 3 n (terminal not ok)
+
+ What Are You
+ Invoked by ESC [ c or ESC [ O c
+ Response is ESC [ ?1 ; Ps C
+ Ps = 0 Base VT100, no options
+ 1 Processor option (STP)
+ 2 Advanced Video option (AVO)
+ 3 AVO and STP
+ 4 Graphocs processor option (GO)
+ 5 GO and STP
+ 6 GO and AVO
+ 7 GO, STP, and AVO
+ Alternately invoked by ESC Z (not recommended.) Response is the same.
+
+ Reset
+ ESC c
+
+ Confidence Tests
+ Fill Screen with "Es" ESC # 8
+ Invoke Test(s) ESC [ 2 ; Ps y
+ Ps = 1 Power-up self test
+ (ROM checksum, RAM, NVR,
+ keyboard and AVO if installed)
+ 2(loop back connector required) Data Loop Back
+ 4(loop back connector required) ETA Modern Control Test
+ 8 Repeat selected test(s)
+ indefinitely
+ (until failure or power off)
+
+VT52 Compatible Mode
+ Cursor Up ESC A
+ Cursor Down ESC B
+ Cursor Right ESC C
+ Cursor Left ESC D
+ Select Special Graphics character set ESC F
+ Select ASCII character set ESC G
+ Cursor to home ESC H
+ Reverse line feed ESC I
+ Erase to end of screen ESC J
+ Erase to end of line ESC K
+ Direct cursor address ESC Ylc (see note 1)
+ Identify ESC Z (see note 2)
+ Enter alternate keypad mode ESC =
+ Exit alternate keypad mode ESC >
+ Enter ANSI mode ESC <
+
+ NOTE 1: Line and column numbers for direct cursor address are single
+ character codes whose values are the desired number plus
+ 37 (in Octal). Line and column numbers start at 1.
+ NOTE 2: Response to ESC Z is ESC / Z.
+
+
+
diff --git a/konsole/doc/More/iowa_vt100_news.txt b/konsole/doc/More/iowa_vt100_news.txt
new file mode 100644
index 000000000..94a62b69a
--- /dev/null
+++ b/konsole/doc/More/iowa_vt100_news.txt
@@ -0,0 +1,255 @@
+iowa_vt100.news
+
+\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
+
+Newsgroups: comp.terminals
+Path: utkcs2!emory!swrinde!cs.utexas.edu!wupost!gumby!destroyer
+ !news.iastate.edu!emann
+From: [email protected] (The Emann)
+Subject: A vt100 ctrl seq list
+Message-ID: <[email protected]>
+Date: 13 Mar 92 07:20:04 GMT
+Sender: [email protected] (USENET News System)
+Lines: 205
+
+
+ Without benefit of a vt100 programmer's reference, we've been trying
+to locate as complete a list of control sequences for vt52/100/102's.
+This list here was compiled from the lists we could find. Most notably
+Rob Elliott's 'Selected ANSI Escape codes'; the Villanova list; and the
+ANSI_X3.64-tables-from-BYTE list. We'd much rather have a reference manual,
+but if anyone can tell us what's missing or incorrect in this list, it
+would be greatly appreciated.
+
+start of list
+----------------------------------------------
+Control Characters
+------------------
+
+Char
+Name Dec Hex Action Taken
+------------------------------------------------------------------
+NUL 0 0x00 ignored; Null
+SOH 1 0x01 ignored; Start of heading
+STX 2 0x02 ignored; Start of text
+ETX 3 0x03 ignored; End of text
+EOT 4 0x04 ignored; End of transmission
+ENQ 5 0x05 Transmit answerback message
+ACK 6 0x06 ignored; Acknowledge
+BEL 7 0x07 Ring the bell
+BS 8 0x08 Move cursor left
+HT 9 0x09 Move cursor to next tab stop; Horizontal tab
+LF 10 0x0A Line feed; causes print if in autoprint
+VT 11 0x0B Same as LF; Vertical tab
+FF 12 0x0C Same as LF; Form feed
+CR 13 0x0D Move cursor to left margin or newline; Carriage return
+SO 14 0x0E Invoke G1 character set
+SI 15 0x0F Invoke G0 character set
+DC1 16 0x10 ignored; Device control 1
+XON 17 0x11 Resume transmission; Device control 2
+DC3 18 0x02 ignored; Device control 3
+XOFF 19 0x13 Halt transmission; Device control 4
+NAK 20 0x14 ignored; Negative acknowledge
+SYN 21 0x15 ignored; Syncronous idle
+ETB 22 0x16 ignored; End of transmission block
+CAN 23 0x17 ignored; Cancel
+EM 24 0x18 Cancel escape sequence and display checkerboard
+SUB 26 0x1A Same as CAN
+ESC 27 0x1B Introduce a control sequence
+FS 28 0x1C ignored; File separator
+GS 29 0x1D ignored; Group separator
+RS 30 0x1E ignored; Record separator
+US 31 0x1F ignored; Unit separator
+DEL 127 0x7F ignored; Delete
+
+Control Sequences
+-----------------
+
+Action VT52 mode ANSI (VT100)
+----------------------------------------------------
+Cursor up Esc A Esc [ Pn A
+Cursor down Esc B Esc [ Pn B
+Cursor right Esc C Esc [ Pn C
+Cursor left Esc D Esc [ Pn D
+Cursor home Esc H
+Cursor address Esc Y Pl Pc Esc [ Pn(row);Pn(col);H or
+ Esc [ Pn(row);Pn(col);f
+Cursor position report Esc [ 6 n
+ returns: Esc [ Pn(row);Pn(col) R
+Index Esc D
+Newline Esc E
+Reverse newline Esc I Esc M
+Save cursor & attr Esc 7
+Restore cursor & attr Esc 8
+Insert line Esc [ Pn L
+Delete line Esc [ Pn M
+Delete character Esc [ Pn P
+Define scrolling region Esc [ Pn(top);Pn(bot) r
+Erase cursor to EOL Esc K Esc [ K
+Erase BOL to cursor Esc [ 1 K
+Erase entire line Esc [ 2 K
+Erase cursor to EOS Esc J Esc [ J
+Erase BOS to cursor Esc [ 1 J
+Erase entire screen Esc [ 2 J
+Print screen or region Esc ] Esc [ i (region in ANSI only)
+Print cursor line Esc V Esc [ ? 1 i
+Enter print controller Esc W Esc [ 5 i
+Exit print controller Esc X Esc [ 4 i
+Enter auto print Esc ^ Esc [ ? 5 i
+Exit auto print Esc - Esc [ ? 4 i
+Set tab at current col Esc H
+Clr tab at current col Esc [ g
+Clear all tabs Esc [ 3 g
+Enter ANSI mode Esc <
+Application keypad Esc = Esc =
+Numeric kyepad Esc > Esc >
+Fill screen with 'E's Esc # 8
+Reset Esc c
+Identify Esc Z Esc Z
+ returns: Esc/Z returns: Esc [ ? 6 c
+Device attr report Esc [ c
+ returns: Esc [ ? 6 c
+Device status report Esc [ 5 n
+ returns: Esc [ O n
+Request term params Esc [ 1 x
+ returns: Esc[3;<par>;<nbits>;<xspeed>;<rspeed>;1;0x
+
+Mode name Ps Set (Esc [ Ps h) Reset (Esc [ Ps l) VT100
+-------------------------------------------------------------------------
+Keyboard action 2 Locked Unlocked reset
+Insertion 4 Insert Overwrite reset
+Duplex 12 Full Half (echo) available
+Linefeed/Newline 20 Newline Linefeed available
+Cursor key ?1 Application Cursor available
+ANSI/VT52 ?2 ANSI VT52 available
+Column width ?3 132 80 available
+Scolling method ?4 Smooth Jump available
+Screen ?5 Reverse Normal available
+Origin ?6 Relative Absolute available
+Wraparound ?7 Wrap Truncate available
+Key auto repeat ?8 Repeating No repeat available
+Print formfeed ?18 Yes No available
+Print extent ?19 Full screen Scolling region available
+
+Character set VT52 VT100 (G0) VT100 (G1)
+--------------------------------------------------------
+United Kingdom (UK) Esc ( A Esc ) A
+United States (US) Esc G Esc ( B Esc ) B
+Graphics Esc F Esc ( 0 Esc ) 0
+Default ROM Esc ( 1 Esc ) 1
+Alternate ROM Esc ( 2 Esc ) 2
+Switch to G0/G1 Esc O Esc N
+
+Character attributes Ps (Esc [ Ps;Ps;Ps;...Psm)
+---------------------------------------------------
+Normal (attr off) 0 Note: Ps=3 4 or 6 are unknown and
+Bold on 1 probably redundant.
+Underscore on 2
+Blink on 5
+Inverse on 7
+
+Line Sizes:
+Change current line VT100
+---------------------------------------
+To double-height top half Esc # 3
+To double-height bottom half Esc # 4
+To normal size Esc # 5
+To double-width Esc # 6
+
+Cursor control keys VT52 VT100 (appl mode) VT100 (cursor mode)
+---------------------------------------------------------------------
+Up arrow Esc A Esc O A Esc [ A
+Down arrow Esc B Esc O B Esc [ B
+Right arrow Esc C Esc O C Esc [ C
+Left arrow Esc D Esc O D Esc [ D
+
+Auxilliary keypad VT52 (num) VT52 (appl) VT100 (num) VT100 (appl)
+------------------------------------------------------------------------
+0 0 Esc ? p 0 Esc O p
+1 1 Esc ? q 1 Esc O q
+2 2 Esc ? r 2 Esc O r
+3 3 Esc ? s 3 Esc O s
+4 4 Esc ? t 4 Esc O t
+5 5 Esc ? u 5 Esc O u
+6 6 Esc ? v 6 Esc O v
+7 7 Esc ? w 7 Esc O w
+8 8 Esc ? x 8 Esc O x
+9 9 Esc ? y 9 Esc O y
+- - Esc ? m - Esc O m
+, , Esc ? l , Esc O l
+. . Esc ? n . Esc O n
+Enter ^M Esc ? M ^M Esc O M
+PF1 Esc P Esc P Esc O P Esc O P
+PF2 Esc Q Esc Q Esc O Q Esc O Q
+PF3 Esc R Esc R Esc O R Esc O R
+PF4 Esc S Esc S Esc O S Esc O S
+
+G0 graphics char set
+--------------------
+
+ASCII code Symbol displayed
+------------------------------------
+\ Diamond
+a Chekerboard
+e Degree sign
+g Plus/minus sign
+j Lower-right box corner
+k Upper-right box corner
+l Upper-left box corner
+m Lower-left box corner
+n Intersecting lines
+o Horizontal line - scan 1 (bottom)
+p Horizontal line - scan 3
+q Horizontal line - scan 5 (matches with box corners)
+r Horizontal line - scan 7
+s Horizontal line - scan 9 (top)
+t Left T
+u Right T
+v Top T
+w Bottom T
+x Vertical bar
+y Less-than-or-equal-to sign
+z Greater-than-or-equal-to sign
+| Not-equal-to sign
+( Pi sign
+) UK pound sign
+~ Centered dot
+
+---------------------------------------
+end of list
+
+\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
+
+Path: utkcs2!memstvx1!ukma!asuvax!cs.utexas.edu!usc!elroy.jpl.nasa.gov!wvus
+ !abode!blars!blarson
+Newsgroups: comp.terminals
+Subject: Re: A vt100 ctrl seq list
+Message-ID: <[email protected]>
+Date: 13 Mar 92 10:13:23 GMT
+References: <[email protected]>
+Lines: 20
+
+In article <[email protected]>,
+ [email protected] (The Emann) writes:
+>
+> Without benefit of a vt100 programmer's reference, we've been trying
+> to locate as complete a list of control sequences for vt52/100/102's.
+
+Even if you had one, it wouldn't list them all. A couple of examples:
+(Genuine vt100, imitators probably get them wrong. (Dec never was good
+at imitating their own terminals.))
+
+Esc [ 2 ; 8 y Wait for poweroff.
+Esc [ 2 ; 15 y Flashing background mode. Also puts terminal in local.
+
+Also, many sequences produced different results at different speeds.
+The original VT100 terminal has many undocumented modes such as 24
+duplicate lines, linefeed goes up, etc.
+
+--
[email protected] usc!blarson blarson@zog
+C news and rn for os9/68k!
+
+\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
diff --git a/konsole/doc/More/k95vtnttn.html b/konsole/doc/More/k95vtnttn.html
new file mode 100644
index 000000000..12ac9851d
--- /dev/null
+++ b/konsole/doc/More/k95vtnttn.html
@@ -0,0 +1,184 @@
+<html><head>
+<title>VTTEST Score Sheet - MS Telnet for Windows NT</title>
+</head><body>
+<h2>VTTEST Score Sheet - MS Telnet for Windows NT</h2>
+<pre>
+VTTEST VT100/VT102 Compatibility Test Score Sheet
+
+
+Program and version: <b>MS Telnet 1.0 Windows NT</b> Date: ____<b>18 Dec 95</b>___
+
+Score: ____<b>25</b>____ + Extra credit: ____<b>0</b>____ = Final score: ____<b>25</b>___
+
+Check box if test passed. Score 1 point per check mark.
+Perfect score = 100 points. Extra credit at end.
+
+1. Test of cursor movements
+
+[<b>0</b>] 1. Text inside frame of E's inside frame of *'s and +'s, 80 columns
+[<b>0</b>] 2. Text inside frame of E's inside frame of *'s and +'s, 132 columns
+[<b>0</b>] 3. Cursor-control chars inside ESC sequences
+[<b>1</b>] 4. Leading 0's in ESC sequences
+
+2. Test of screen features
+
+[<b>1</b>] 5. Three identical lines of *'s (test of wrap mode)
+[<b>0</b>] 6. Test of tab setting/resetting
+[<b>0</b>] 7. 132-column mode, light background
+[<b>1</b>] 8. 80-column mode, light background
+[<b>0</b>] 9. 132-column mode, dark background
+[<b>0</b>] 10. 80-column mode, dark background
+[<b>1</b>] 11. Soft scroll down
+[<b>1</b>] 12. Soft scroll up / down
+[<b>1</b>] 13. Jump scroll down
+[<b>1</b>] 14. Jump scroll up / down
+[<b>0</b>] 15. Origin mode test (2 parts)
+
+ Graphic Rendition test pattern, dark background
+
+[<b>1</b>] 16. Normal ("vanilla")
+[<b>0</b>] 17. Normal underlined distinct from normal
+[<b>0</b>] 18. Normal blink distinct from all above
+[<b>1</b>] 19. Normal underline blink distinct from all above
+[<b>0</b>] 20. Normal reverse ("negative") distinct from all above
+[<b>0</b>] 21. Normal underline reverse distinct from all above
+[<b>0</b>] 22. Normal blink reverse distinct from all above
+[<b>0</b>] 23. Normal underline blink reverse distinct from all above
+[<b>0</b>] 24. Bold distinct from all above
+[<b>0</b>] 25. Bold underlined distinct from all above
+[<b>0</b>] 26. Bold blink distinct from all above
+[<b>0</b>] 27. Bold underline blink distinct from all above
+[<b>0</b>] 28. Bold reverse ("negative") distinct from all above
+[<b>0</b>] 29. Bold underline reverse distinct from all above
+[<b>0</b>] 30. Bold blink reverse distinct from all above
+[<b>0</b>] 31. Bold underline blink reverse distinct from all above
+
+ Graphic Rendition test pattern, light background
+
+[<b>0</b>] 32. Normal ("vanilla")
+[<b>0</b>] 33. Normal underlined distinct from normal
+[<b>0</b>] 34. Normal blink distinct from all above
+[<b>0</b>] 35. Normal underline blink distinct from all above
+[<b>0</b>] 36. Normal reverse ("negative") distinct from all above
+[<b>0</b>] 37. Normal underline reverse distinct from all above
+[<b>0</b>] 38. Normal blink reverse distinct from all above
+[<b>0</b>] 39. Normal underline blink reverse distinct from all above
+[<b>0</b>] 40. Bold distinct from all above
+[<b>0</b>] 41. Bold underlined distinct from all above
+[<b>0</b>] 42. Bold blink distinct from all above
+[<b>0</b>] 43. Bold underline blink distinct from all above
+[<b>0</b>] 44. Bold reverse ("negative") distinct from all above
+[<b>0</b>] 45. Bold underline reverse distinct from all above
+[<b>0</b>] 46. Bold blink reverse distinct from all above
+[<b>0</b>] 47. Bold underline blink reverse distinct from all above
+
+ Save/Restore Cursor
+
+[<b>1</b>] 48. AAAA's correctly placed
+[<b>0</b>] 49. Lines correctly rendered (middle of character cell)
+[<b>0</b>] 50. Diamonds correctly rendered
+
+3. Test of character sets
+
+[<b>0</b>] 51. UK/National shows Pound Sterling sign in 3rd position
+[<b>0</b>] 52. US ASCII shows number sign in 3rd position
+[<b>0</b>] 53. SO/SI works (right columns identical with left columns)
+[<b>0</b>] 54. True special graphics & line drawing chars, not simulated by ASCII
+
+4. Test of double-sized chars
+
+ Test 1 in 80-column mode:
+
+[<b>0</b>] 55. Left margin correct
+[<b>0</b>] 56. Width correct
+
+ Test 2 in 80-column mode:
+
+[<b>0</b>] 57. Left margin correct
+[<b>0</b>] 58. Width correct
+
+ Test 1 in 132-column mode:
+
+[<b>0</b>] 59. Left margin correct
+[<b>0</b>] 60. Width correct
+
+ Test 2 in 132-column mode:
+
+[<b>0</b>] 61. Left margin correct
+[<b>0</b>] 62. Width correct
+
+[<b>0</b>] 63. "The man programmer strikes again" test pattern
+[<b>0</b>] 64. "Exactly half the box should remain"
+
+5. Test of keyboard
+
+[<b>0</b>] 65. LEDs.
+[<b>0</b>] 66. Autorepeat
+[<b>1</b>] 67. "Press each key" (ability to send each ASCII graphic char)
+[<b>1</b>] 68. Arrow keys (ANSI/Cursor key mode reset)
+[<b>1</b>] 69. Arrow keys (ANSI/Cursor key mode set)
+[<b>1</b>] 70. Arrow keys VT52 mode
+[<b>1</b>] 71. PF keys numeric mode
+[<b>1</b>] 72. PF keys application mode
+[<b>1</b>] 73. PF keys VT52 numeric mode
+[<b>1</b>] 74. PF keys VT52 application mode
+[<b>0</b>] 75. Send answerback message from keyboard
+[<b>1</b>] 76. Ability to send every control character
+
+6. Test of Terminal Reports
+
+[<b>0</b>] 77. Respond to ENQ with answerback
+[<b>0</b>] 78. Newline mode set
+[<b>1</b>] 79. Newline mode reset
+[<b>0</b>] 80. Device status report 5
+[<b>1</b>] 81. Device status report 6
+[<b>1</b>] 82. Device attributes report
+[<b>0</b>] 83. Request terminal parameters 0
+[<b>0</b>] 84. Request terminal parameters 1
+
+7. Test of VT52 submode
+
+[<b>1</b>] 85. Centered rectangle
+[<b>1</b>] 86. Normal character set
+[<b>0</b>] 87. Graphics character set
+[<b>1</b>] 88. Identify query
+
+8. VT102 Features
+
+[<b>0</b>] 89. Insert/delete line, 80 columns
+[<b>0</b>] 90. Insert (character) mode, 80 columns
+[<b>0</b>] 91. Delete character, 80 columns
+[<b>0</b>] 92. Right column staggered by 1 (normal chars), 80 columns
+[<b>0</b>] 93. Right column staggered by 1 (double-wide chars), 80 columns
+[<b>1</b>] 94. ANSI insert character, 80 columns
+[<b>0</b>] 95. Insert/delete line, 132 columns
+[<b>0</b>] 96. Insert (character) mode, 132 columns
+[<b>0</b>] 97. Delete character, 132 columns
+[<b>0</b>] 98. Right column staggered by 1 (normal chars), 132 columns
+[<b>0</b>] 99. Right column staggered by 1 (double-wide chars), 132 columns
+[<b>0</b>] 100. ANSI insert character, 132 columns
+
+9. Extra credit
+
+[<b>0</b>] 101. True soft (smooth) scroll
+[<b>0</b>] 102. True underline
+[<b>0</b>] 103. True blink
+[<b>0</b>] 104. True double-high/wide lines, not simulated
+[<b>0</b>] 105. Reset terminal (*)
+[<b>0</b>] 106. Interpret controls (debug mode) (*)
+[<b>0</b>] 107. Send BREAK (250 msec) (*)
+[<b>0</b>] 108. Send Long BREAK (1.5 sec) (*)
+[<b>0</b>] 109. Host-controlled transparent / controller print (*)
+[<b>0</b>] 110. Host-controlled autoprint (*)
+
+(*) Features of VT100 not tested by vttest.
+
+NOTES:
+Test 3 (character sets) puts it into graphics mode, from which it
+can't recover.
+
+<hr><address>
+VTTEST Score Sheet / Columbia University / [email protected] / 18 Dec 95
+</address>
+</body>
+</html>
diff --git a/konsole/doc/More/rxvt-ref.html b/konsole/doc/More/rxvt-ref.html
new file mode 100644
index 000000000..a27f5b4bc
--- /dev/null
+++ b/konsole/doc/More/rxvt-ref.html
@@ -0,0 +1,1281 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+don't use Netscape to edit this file, since it has some stange ideas of
+formatting that makes later global/change/replace difficult,
+but it is okay for making the text version of this document
+-->
+<HTML>
+<HEAD>
+<TITLE>
+Rxvt Technical Reference
+</TITLE>
+ <META NAME="Author" CONTENT="mj olesen <[email protected]>">
+ <META NAME="Description" CONTENT="Documentation of VT, XTerm, and other escape sequences used by rxvt.">
+</HEAD>
+<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#0000FF" ALINK="#FF0000">
+<HR>
+<CENTER>
+<H1><A NAME="Top">Rxvt Technical Reference</A></H1>
+Reworked from XTerm documentation and other sources<BR>
+<P>
+<A TARGET="_top" HREF="refer.html">[No]</A>
+<A TARGET="_top" HREF="refer-frame.html">Frames</A>
+<HR>
+</CENTER>
+<UL>
+<LI><A HREF="#Definitions">Definitions</A></LI>
+<LI><A HREF="#Values">Values</A></LI>
+<LI><A HREF="#Sequences">Escape Sequences</A></LI>
+<LI><A HREF="#CSI">CSI (Code Sequence Introducer) Sequences</A></LI>
+<LI><A HREF="#PrivateModes">DEC Private Modes</A></LI>
+<LI><A HREF="#XTerm">XTerm Escape Sequences</A></LI>
+<LI><A HREF="#menuBar">menuBar</A></LI>
+<LI><A HREF="#XPM">XPM</A></LI>
+<LI><A HREF="#Mouse">Mouse Reporting</A></LI>
+<LI><A HREF="#Graphics">Special Graphics Mode</A></LI>
+<LI><A HREF="#KeyCodes">Key Codes</A></LI>
+</UL>
+
+<HR>
+<H2><A HREF="#toc" NAME="Definitions">Definitions</A></H2>
+<P>
+
+<DL><DT><B><TT>c</TT></B></DT><DD>The literal character c.</DD></DL>
+<P>
+
+<DL><DT><B><TT>C</TT></B></DT><DD>A single (required) character.</DD></DL>
+<P>
+
+<DL>
+<DT><B><TT>Ps</TT></B></DT>
+<DD>A single (usually optional) numeric parameter,
+composed of one or more digits.</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>Pm</TT></B></DT>
+<DD>A multiple numeric parameter composed of any number of single numeric
+parameters, separated by ; character(s).</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>Pt</TT></B></DT>
+<DD>A text parameter composed of printable characters.</DD>
+</DL>
+<P>
+
+<HR>
+<H2><A HREF="#toc" NAME="Values">Values</A></H2>
+<P>
+
+<DL>
+<DT><B><TT>ENQ</TT></B></DT>
+<DD>Enquiry (Ctrl-E) = Send Device Attributes (DA)<BR>
+request attributes from terminal
+== <A HREF="#ESC[Psc"><B><TT>ESC[c</TT></B></A>
+</DD>
+</DL>
+<P>
+
+<DL><DT><B><TT>BEL</TT></B></DT><DD>Bell (Ctrl-G)</DD></DL>
+<P>
+
+<DL><DT><B><TT>BS</TT></B></DT><DD>Backspace (Ctrl-H)</DD></DL>
+<P>
+
+<DL><DT><B><TT>TAB</TT></B></DT><DD>Horizontal Tab (HT) (Ctrl-I)</DD></DL>
+<P>
+
+<DL><DT><B><TT>LF</TT></B></DT><DD>Line Feed or New Line (NL) (Ctrl-J)</DD></DL>
+<P>
+
+<DL>
+<DT><B><TT>VT</TT></B></DT>
+<DD>Vertical Tab (Ctrl-K) same as <B><TT>LF</TT></B></DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>FF</TT></B></DT>
+<DD>Form Feed or New Page (NP) (Ctrl-L) same as <B><TT>LF</TT></B></DD>
+</DL>
+<P>
+
+<DL><DT><B><TT>CR</TT></B></DT><DD>Carriage Return (Ctrl-M)</DD></DL>
+<P>
+
+<DL>
+<DT><B><TT>SO</TT></B></DT>
+<DD>Shift Out (Ctrl-N), invokes the G1 character set<BR>
+Switch to Alternate Character Set</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>SI</TT></B></DT>
+<DD>Shift In (Ctrl-O), invokes the G0 character set (the default)<BR>
+Switch to Standard Character Set</DD>
+</DL>
+<P>
+
+<DL><DT><B><TT>SPC</TT></B></DT><DD>Space Character</DD></DL>
+<P>
+
+<HR>
+<H2><A HREF="#toc" NAME="Sequences">Escape Sequences</A></H2>
+<P>
+
+<DL>
+<DT><B><TT>ESC # 8</TT></B></DT>
+<DD>DEC Screen Alignment Test (DECALN)</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>
+ESC 7<BR>
+ESC 8
+</TT></B></DT>
+<DD>
+Save Cursor (SC)<BR>
+Restore Cursor (RC)
+</DD>
+</DL>
+<P>
+
+<DL>
+<A NAME="ESC="></A>
+<DT><B><TT>
+ESC =<BR>
+ESC &gt;
+</TT></B></DT>
+<DD>
+Application Keypad (SMKX) ==
+<A HREF="#Priv66"><B><TT>ESC[?66h</TT></B></A><BR>
+Normal Keypad (RMKX) ==
+<A HREF="#Priv66"><B><TT>ESC[?66l</TT></B></A>
+</DD>
+</DL>
+<P>
+
+<B>Note:</B>
+If the numeric keypad is activated, eg, <B>Num_Lock</B> has been pressed,
+numbers or control functions are generated by the numeric keypad (see
+<A HREF="#KeyCodes">Key Codes</A>)
+<P>
+
+<DL><DT><B><TT>ESC D</TT></B></DT><DD>Index (IND)</DD></DL>
+<P>
+
+<DL><DT><B><TT>ESC E</TT></B></DT><DD>Next Line (NEL)</DD></DL>
+<P>
+
+<DL><DT><B><TT>ESC H</TT></B></DT><DD>Tab Set (HTS)</DD></DL>
+<P>
+
+<DL><DT><B><TT>ESC M</TT></B></DT><DD>Reverse Index (RI)</DD></DL>
+<P>
+
+<DL>
+<DT><B><TT>ESC N</TT></B></DT>
+<DD>Single Shift Select of G2 Character Set (SS2): affects next character only
+<B><U>unimplemented</B></U>
+</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>ESC O</TT></B></DT>
+<DD>Single Shift Select of G3 Character Set (SS3): affects next character only
+<B><U>unimplemented</U></B>
+</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>ESC Z</TT></B></DT>
+<DD>Obsolete form of <A HREF="#ESC[Psc"><B><TT>ESC[c</TT></B></A><BR>
+returns: <B><TT>ESC[?1;2C</TT></B> (<B><U>rxvt compile-time option</U></B>)
+</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>ESC c</TT></B></DT>
+<DD>Full Reset (RIS)</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>ESC n</TT></B></DT>
+<DD>Invoke the G2 Character Set (LS2)</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>ESC o</TT></B></DT>
+<DD>Invoke the G3 Character Set (LS3)</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>
+ESC ( C<BR>
+ESC ) C<BR>
+ESC * C<BR>
+ESC + C<BR>
+ESC $ C
+</TT></B></DT>
+<DD>
+Designate G0 Character Set (ISO 2022)<BR>
+Designate G1 Character Set (ISO 2022)<BR>
+Designate G2 Character Set (ISO 2022)<BR>
+Designate G3 Character Set (ISO 2022)<BR>
+Designate Kanji Character Set<BR>
+<EM>where</EM> <B><TT>C</TT></B> is<BR>
+<UL>
+<B><TT>C = 0</TT></B> : DEC Special Character and Line Drawing Set<BR>
+<B><TT>C = A</TT></B> : United Kingdom (UK)<BR>
+<B><TT>C = B</TT></B> : United States (USASCII)<BR>
+<B><TT>C = &lt;</TT></B> : Multinational character set <B><U>unimplemented</U></B><BR>
+<B><TT>C = 5</TT></B> : Finnish character set <B><U>unimplemented</U></B><BR>
+<B><TT>C = C</TT></B> : Finnish character set <B><U>unimplemented</U></B><BR>
+<B><TT>C = K</TT></B> : German character set <B><U>unimplemented</U></B>
+</UL>
+</DD>
+</DL>
+<P>
+
+<HR>
+<H2><A HREF="#toc" NAME="CSI">CSI (Code Sequence Introducer) Sequences</A></H2>
+<P>
+
+<DL>
+<DT><B><TT>ESC [ Ps @</TT></B></DT>
+<DD>Insert <B><TT>Ps</TT></B> (Blank) Character(s) [default: 1] (ICH)</DD>
+</DL>
+<P>
+
+<DL>
+<A NAME="ESC[PsA"></A>
+<DT><B><TT>ESC [ Ps A</TT></B></DT>
+<DD>Cursor Up <B><TT>Ps</TT></B> Times [default: 1] (CUU)</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>ESC [ Ps B</TT></B></DT>
+<DD>Cursor Down <B><TT>Ps</TT></B> Times [default: 1] (CUD)
+</DD>
+</DL>
+<P>
+
+<DL>
+<A NAME="ESC[PsC"></A>
+<DT><B><TT>ESC [ Ps C</TT></B></DT>
+<DD>Cursor Forward <B><TT>Ps</TT></B> Times [default: 1] (CUF)</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>ESC [ Ps D</TT></B></DT>
+<DD>Cursor
+Backward <B><TT>Ps</TT></B> Times [default: 1] (CUB)</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>ESC [ Ps E</TT></B></DT>
+<DD>Cursor Down <B><TT>Ps</TT></B> Times [default: 1] and to first column</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>ESC [ Ps F</TT></B></DT>
+<DD>Cursor Up <B><TT>Ps</TT></B> Times [default: 1] and to first column</DD>
+</DL>
+<P>
+
+<DL>
+<A NAME="ESC[PsG"></A>
+<DT><B><TT>ESC [ Ps G</TT></B></DT>
+<DD>Cursor to Column <B><TT>Ps</TT></B> (HPA)</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>ESC [ Ps;Ps H</TT></B></DT>
+<DD>Cursor Position [row;column] [default: 1;1] (CUP)</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>ESC [ Ps I</TT></B></DT>
+<DD>Move forward <B><TT>Ps</TT></B> tab stops [default: 1]</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>ESC [ Ps J</TT></B></DT>
+<DD>Erase in Display (ED)<BR>
+<B><TT>Ps = 0</TT></B> : Clear Below (default)<BR>
+<B><TT>Ps = 1</TT></B> : Clear Above<BR>
+<B><TT>Ps = 2</TT></B> : Clear All</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>ESC [ Ps K</TT></B></DT>
+<DD>Erase in Line (EL)<BR>
+<B><TT>Ps = 0</TT></B> : Clear to Right (default)<BR>
+<B><TT>Ps = 1</TT></B> : Clear to Left (EL1)<BR>
+<B><TT>Ps = 2</TT></B> : Clear All</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>ESC [ Ps L</TT></B></DT>
+<DD>Insert <B><TT>Ps</TT></B> Line(s) [default: 1] (IL)</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>ESC [ Ps M</TT></B></DT>
+<DD>Delete <B><TT>Ps</TT></B> Line(s) [default: 1] (DL)</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>ESC [ Ps P</TT></B></DT>
+<DD>Delete <B><TT>Ps</TT></B> Character(s)
+[default: 1] (DCH)</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>ESC [ Ps;Ps;Ps;Ps;Ps T</TT></B></DT>
+<DD>Initiate <A HREF="#Mouse">hilite mouse tracking</A>.
+<B><U>unimplemented</U></B><BR>
+Parameters are [func;startx;starty;firstrow;lastrow].</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>ESC [ Ps W</TT></B></DT>
+<DD>Tabulator functions<BR>
+<B><TT>Ps = 0</TT></B> : Tab Set (HTS)<BR>
+<B><TT>Ps = 2</TT></B> : Tab Clear (TBC), Clear Current Column (default)<BR>
+<B><TT>Ps = 5</TT></B> : Tab Clear (TBC), Clear All</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>ESC [ Ps X</TT></B></DT>
+<DD>Erase <B><TT>Ps</TT></B> Character(s) [default: 1] (ECH)</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>ESC [ Ps Z</TT></B></DT>
+<DD>Move backward <B><TT>Ps</TT></B> [default: 1] tab stops</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>ESC [ Ps '</TT></B></DT>
+<DD>== <A HREF="#ESC[PsG"><B><TT>ESC [ Ps G</TT></B></A></DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>ESC [ Ps a</TT></B></DT>
+<DD>== <A HREF="#ESC[PsC"><B><TT>ESC [ Ps C</TT></B></A></DD>
+</DL>
+<P>
+
+<DL>
+<A NAME="ESC[Psc"></A>
+<DT><B><TT>ESC [ Ps c</TT></B></DT>
+<DD>Send Device Attributes (DA)<BR>
+<B><TT>Ps = 0</TT></B> (or omitted) : request attributes from terminal<BR>
+returns: <B><TT>ESC[?1;2c</TT></B> (``I am a VT100 with Advanced Video Option'')</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>ESC [ Ps d</TT></B></DT>
+<DD>Cursor to Line <B><TT>Ps</TT></B> (VPA)</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>ESC [ Ps e</TT></B></DT>
+<DD>== <A HREF="#ESC[PsA"><B><TT>ESC [ Ps A</TT></B></A></DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>ESC [ Ps;Ps f</TT></B></DT>
+<DD>Horizontal and Vertical Position [row;column] (HVP)<BR>
+[default: 1;1]</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>ESC [ Ps g</TT></B></DT>
+<DD>Tab Clear (TBC)<BR>
+<B><TT>Ps = 0</TT></B> : Clear Current Column (default)<BR>
+<B><TT>Ps = 3</TT></B> : Clear All (TBC)
+</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>ESC [ Ps i</TT></B></DT>
+<DD>Printing<BR>
+<B><TT>Ps = 4</TT></B> : disable transparent print mode (MC4)<BR>
+<B><TT>Ps = 5</TT></B> : enable transparent print mode (MC5)
+<B><U>unimplemented</U></B>
+</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>
+ESC [ Pm h<BR>
+ESC [ Pm l
+</TT></B>
+<DD>Set Mode (SM)<BR>
+Reset Mode (RM)</DD>
+<DT><B><TT>Ps = 4</TT></B></DT>
+<DD>
+<B><TT>h</TT></B> : Insert Mode (SMIR)<BR>
+<B><TT>l</TT></B> : Replace Mode (RMIR)
+</DD>
+<DT><B><TT>Ps = 20</TT></B> <B><U>unimplemented</U></B></DT>
+<DD>
+<B><TT>h</TT></B> : Automatic Newline (LNM)<BR>
+<B><TT>l</TT></B> : Normal Linefeed (LNM)
+</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>ESC [ Pm m</TT></B></DT>
+<DD>Character Attributes (SGR) </BR>
+<B><TT>Ps = 0</TT></B> : Normal (default)<BR>
+<B><TT>Ps = 1 / 22</TT></B> : On / Off Bold (bright fg)<BR>
+<B><TT>Ps = 4 / 24</TT></B> : On / Off Underline<BR>
+<B><TT>Ps = 5 / 25</TT></B> : On / Off Blink (bright bg)<BR>
+<B><TT>Ps = 7 / 27</TT></B> : On / Off Inverse<BR>
+<B><TT>Ps = 30 / 40</TT></B> : fg / bg Black<BR>
+<B><TT>Ps = 31 / 41</TT></B> : fg / bg Red<BR>
+<B><TT>Ps = 32 / 42</TT></B> : fg / bg Green<BR>
+<B><TT>Ps = 33 / 43</TT></B> : fg / bg Yellow<BR>
+<B><TT>Ps = 34 / 44</TT></B> : fg / bg Blue<BR>
+<B><TT>Ps = 35 / 45</TT></B> : fg / bg Magenta<BR>
+<B><TT>Ps = 36 / 46</TT></B> : fg / bg Cyan<BR>
+<B><TT>Ps = 37 / 47</TT></B> : fg / bg White<BR>
+<B><TT>Ps = 39 / 49</TT></B> : fg / bg Default</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>ESC [ Ps n</TT></B></DT>
+<DD>Device Status Report (DSR)<BR>
+<B><TT>Ps = 5</TT></B> : Status Report <B><TT>ESC [ 0 n</TT></B> (``OK'')<BR>
+<B><TT>Ps = 6</TT></B> : Report Cursor Position (CPR) [row;column] as
+ <B><TT>ESC [ r ; c R</TT></B><BR>
+<B><TT>Ps = 7</TT></B> : Request Display Name<BR>
+<B><TT>Ps = 8</TT></B> : Request Version Number (place in window title)
+</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>ESC [ Ps;Ps r</TT></B></DT>
+<DD>Set Scrolling Region [top;bottom]<BR>
+[default: full size of window] (CSR)</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>ESC [ Ps x</TT></B></DT>
+<DD>Request Terminal Parameters (DECREQTPARM)
+</DD>
+</DL>
+<P>
+
+<HR>
+<H2><A HREF="#toc" NAME="PrivateModes">DEC Private Modes</A></H2>
+
+<DL>
+<DT><B><TT>ESC [ ? Pm h</TT></B></DT>
+<DD>DEC Private Mode Set (DECSET)</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>ESC [ ? Pm l</TT></B></DT>
+<DD>DEC Private Mode Reset (DECRST)</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>ESC [ ? Pm r</TT></B></DT>
+<DD>Restore previously saved DEC Private Mode Values.</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>ESC [ ? Pm s</TT></B></DT>
+<DD>Save DEC Private Mode Values.</DD>
+</DL>
+
+<P>
+<DL>
+<DT><B><TT>ESC [ ? Pm t</TT></B></DT>
+<DD>Toggle DEC Private Mode Values (rxvt extension).</DD>
+</DL>
+<P>
+
+<EM>where</EM>
+<P>
+
+<DL>
+<DD>
+<DT><B><TT>Ps = 1</TT></B> (DECCKM)</DT>
+<DD>
+<B><TT>h</TT></B> : Application Cursor Keys<BR>
+<B><TT>l</TT></B> : Normal Cursor Keys
+</DD>
+<DT><B><TT>Ps = 2</TT></B> <B><U>unimplemented</U></B></DT>
+<DD>
+<B><TT>h</TT></B> : Designate USASCII for character sets G0-G3.
+</DD>
+<DT><B><TT>Ps = 3</TT></B></DT>
+<DD>
+<B><TT>h</TT></B> : 132 Column Mode (DECCOLM)<BR>
+<B><TT>l</TT></B> : 80 Column Mode (DECCOLM)
+</DD>
+<DT><B><TT>Ps = 4</TT></B> <B><U>unimplemented</U></B></DT>
+<DD>
+<B><TT>h</TT></B> : Smooth (Slow) Scroll (DECSCLM)<BR>
+<B><TT>l</TT></B> : Jump (Fast) Scroll (DECSCLM)
+</DD>
+<DT><B><TT>Ps = 5</TT></B></DT>
+<DD>
+<B><TT>h</TT></B> : Reverse Video (DECSCNM)<BR>
+<B><TT>l</TT></B> : Normal Video (DECSCNM)
+</DD>
+<DT><B><TT>Ps = 6</TT></B></DT>
+<DD>
+<B><TT>h</TT></B> : Origin Mode (DECOM)<BR>
+<B><TT>l</TT></B> : Normal Cursor Mode (DECOM)
+</DD>
+<DT><B><TT>Ps = 7</TT></B></DT>
+<DD>
+<B><TT>h</TT></B> : Wraparound Mode (DECAWM)<BR>
+<B><TT>l</TT></B> : No Wraparound Mode (DECAWM)
+</DD>
+<DT><B><TT>Ps = 8</TT></B> <B><U>unimplemented</U></B></DT>
+<DD>
+<B><TT>h</TT></B> : Auto-repeat Keys (DECARM)<BR>
+<B><TT>l</TT></B> : No Auto-repeat Keys (DECARM)
+</DD>
+<DT><B><TT>Ps = 9</TT></B> (X10 XTerm <A HREF="#Mouse">mouse reporting</A>)</DT>
+<DD>
+<B><TT>h</TT></B> : Send Mouse X &amp; Y on button press.<BR>
+<B><TT>l</TT></B> : No mouse reporting.
+</DD>
+<A NAME="Priv10"></A>
+<DT><B><TT>Ps = 10</TT></B> (<B><U>rxvt</U></B>)</DT>
+<DD>
+<B><TT>h</TT></B> : <A HREF="#menuBar">menuBar</A> visisble<BR>
+<B><TT>l</TT></B> : <A HREF="#menuBar">menuBar</A> invisisble
+</DD>
+<DT><B><TT>Ps = 25</TT></B></DT>
+<DD>
+<B><TT>h</TT></B> : Visible cursor {cnorm/cvvis}<BR>
+<B><TT>l</TT></B> : Invisible cursor {civis}
+</DD>
+<DT><B><TT>Ps = 30</TT></B> (<B><U>rxvt</U></B>)</DT>
+<DD>
+<B><TT>h</TT></B> : scrollBar visisble<BR>
+<B><TT>l</TT></B> : scrollBar invisisble
+</DD>
+<DT><B><TT>Ps = 35</TT></B> (<B><U>rxvt</U></B>)</DT>
+<DD>
+<B><TT>h</TT></B> : Allow XTerm Shift+key sequences<BR>
+<B><TT>l</TT></B> : Disallow XTerm Shift+key sequences
+</DD>
+<DT><B><TT>Ps = 38</TT></B> : Enter Tektronix Mode (DECTEK)
+<B><U>unimplemented</U></B></DT>
+<DD>
+</DD>
+<DT><B><TT>Ps = 40</TT></B></DT>
+<DD>
+<B><TT>h</TT></B> : Allow 80/132 Mode<BR>
+<B><TT>l</TT></B> : Disallow 80/132 Mode
+</DD>
+<DT><B><TT>Ps = 44</TT></B> <B><U>unimplemented</U></B></DT>
+<DD>
+<B><TT>h</TT></B> : Turn On Margin Bell<BR>
+<B><TT>l</TT></B> : Turn Off Margin Bell
+</DD>
+<DT><B><TT>Ps = 45</TT></B> <B><U>unimplemented</U></B></DT>
+<DD>
+<B><TT>h</TT></B> : Reverse-wraparound Mode<BR>
+<B><TT>l</TT></B> : No Reverse-wraparound Mode
+</DD>
+<DT><B><TT>Ps = 46</TT></B> <B><U>unimplemented</U></B></DT>
+<DT><B><TT>Ps = 47</TT></B></DT>
+<DD>
+<B><TT>h</TT></B> : Use Alternate Screen Buffer<BR>
+<B><TT>l</TT></B> : Use Normal Screen Buffer
+</DD>
+<A NAME="Priv66"></A>
+<DT><B><TT>Ps = 66</TT></B></DT>
+<DD>
+<B><TT>h</TT></B> : Application Keypad (DECPAM)
+ == <A HREF="#ESC="><B><TT>ESC =</TT></B></A><BR>
+<B><TT>l</TT></B> : Normal Keypad (DECPNM)
+ == <A HREF="#ESC="><B><TT>ESC &gt;</TT></B></A>
+</DD>
+<DT><B><TT>Ps = 67</TT></B></DT>
+<DD>
+<B><TT>h</TT></B> : Backspace key sends <B><TT>BS</TT></B> (DECBKM)<BR>
+<B><TT>l</TT></B> : Backspace key sends <B><TT>DEL</TT></B>
+</DD>
+<DT><B><TT>Ps = 1000</TT></B> (X11 XTerm <A HREF="#Mouse">mouse reporting</A>)</DT>
+<DD>
+<B><TT>h</TT></B> : Send Mouse X &amp; Y on button press and release.<BR>
+<B><TT>l</TT></B> : No mouse reporting.
+</DD>
+<DT><B><TT>Ps = 1001</TT></B> (X11 XTerm <A HREF="#Mouse">mouse Tracking</A>) <B><U>unimplemented</U></B></DT>
+<DD>
+<B><TT>h</TT></B> : Use Hilite Mouse Tracking.<BR>
+<B><TT>l</TT></B> : No mouse reporting.
+</DD>
+</DL>
+<P>
+
+<HR>
+<H2><A HREF="#toc" NAME="XTerm">XTerm Escape Sequences</A></H2>
+
+<DL>
+<DT><B><TT>ESC ] Ps;Pt BEL</TT></B></DT>
+<DD>Set XTerm Parameters</DD>
+<DT><B><TT>Ps = 0</TT></B></DT>
+<DD>Change Icon Name and Window Title to <B><TT>Pt</TT></B></DD>
+<DT><B><TT>Ps = 1</TT></B></DT>
+<DD>Change Icon Name to <B><TT>Pt</TT></B></DD>
+<DT><B><TT>Ps = 2</TT></B></DT>
+<DD>Change Window Title to <B><TT>Pt</TT></B></DD>
+<DT><B><TT>Ps = 10</TT></B></DT>
+<DD><A HREF="#menuBar">menuBar</A> command <B><TT>Pt</TT></B>
+(<B><U>rxvt compile-time option</U></B>)</DD>
+<DT><B><TT>Ps = 20</TT></B></DT>
+<DD>Change default background <A HREF="#XPM">pixmap</A> to <B><TT>Pt</TT></B>
+(<B><U>rxvt compile-time option</U></B>)
+</DD>
+
+<DT><B><TT>Ps = 39</TT></B></DT>
+<DD>Change default foreground color to <B><TT>Pt</TT></B>
+(<B><U>rxvt compile-time option</U></B>)</DD>
+<DT><B><TT>Ps = 46</TT></B></DT>
+<DD>Change Log File to <B><TT>Pt</TT></B>(normally disabled by a compile-time option) <B><U>unimplemented</U></B></DD>
+<DT><B><TT>Ps = 49</TT></B></DT>
+<DD>Change default background color to <B><TT>Pt</TT></B>
+(<B><U>rxvt compile-time option</U></B>)</DD>
+<DT>
+<B><TT>Ps = 50</TT></B></DT>
+<DD>Set Font to <B><TT>Pt</TT></B>, with the following special values of <B><TT>Pt</TT></B> (<B><U>rxvt</U></B>)<BR>
+<B><TT>#+n</TT></B> : change up <B><TT>n</TT></B> font(s)<BR>
+<B><TT>#-n</TT></B> : change down <B><TT>n</TT></B> font(s)<BR>
+<UL>if <B><TT>n</TT></B> is missing or 0, a value of 1 is used</UL>
+<EM>empty</EM> : change to font0<BR>
+<B><TT>#n</TT></B> : change to font<B><TT>n</TT></B></DD>
+</DL>
+<P>
+
+<HR>
+<H2><A HREF="#toc" NAME="menuBar">menuBar</A></H2>
+<P>
+
+<STRONG>The exact syntax used is <EM>almost</EM> solidified.</STRONG><BR>
+In the menus, <STRONG>DON'T</STRONG> try to use menuBar commands that
+add or remove a menuBar.
+<P>
+
+Note that in all of the commands, the <B><EM>/path/</EM></B>
+<EM>cannot</EM> be omitted:
+use <B>./</B> to specify a menu relative to the current menu.
+
+<H3>Overview of menuBar operation</H3>
+
+For the menuBar XTerm escape sequence <B><TT>ESC ] 10; Pt BEL</TT></B>, the
+syntax of <B><TT>Pt</TT></B> can be used for a variety of tasks:
+<UL COMPACT>
+<LI><A HREF="#menuBarCommands">Commands</A></LI>
+<LI><A HREF="#menuBarAdd">Adding and accessing menus</A></LI>
+<LI><A HREF="#menuBarRemove">Removing menus</A></LI>
+<LI><A HREF="#menuBarArrows">Quick Arrows</A></LI>
+<LI><A HREF="#menuBarSummary">Command Summary</A></LI>
+</UL>
+
+At the top level is the current menuBar which is a member of a
+circular linked-list of other such menuBars.
+
+The menuBar acts as a parent for the various drop-down menus, which in
+turn, may have labels, separator lines, menuItems and subMenus.
+
+The menuItems are the useful bits: you can use them to mimic keyboard
+input or even to send text or escape sequences back to rxvt.
+
+The menuBar syntax is intended to provide a simple yet robust method
+of constructing and manipulating menus and navigating through the
+menuBars.
+
+<P>
+The first step is to use the tag <B>[menu:<EM>name</EM>]</B> which
+creates the menuBar called <EM>name</EM> and allows access.
+You may now
+<A HREF="#menuBarAdd">add</A> or <A HREF="#menuBarRemove">remove</A>
+menus, subMenus, and menuItems. Finally, use the tag
+<B>[done]</B> to set the menuBar access as <B>readonly</B>
+to prevent accidental corruption of the menus.
+To re-access the current menuBar for alterations, use the tag
+<B>[menu]</B>, make the alterations and then use
+<B>[done]</B>
+<P>
+
+<H3><A HREF="#menuBar" NAME="menuBarCommands">Commands</A></H3>
+
+<DL >
+<DT><B>[menu:<EM>name</EM>]</B></DT>
+<DD>
+access the named menuBar for creation or alteration.
+If a new menuBar is created, it is called <EM>name</EM> (max of 15 chars)
+and the current menuBar is pushed onto the stack
+</DD>
+
+<DT><B>[menu]</B></DT>
+<DD>access the current menuBar for alteration</DD>
+
+<DT><B>[title:<EM>string</EM>]</B></DT>
+<DD>
+set the current menuBar's title to <EM>string</EM>, which may contain
+the following format specifiers:<BR>
+<B>%%</B> : literal <B>%</B> character<BR>
+<B>%n</B> : rxvt name (as per the <B>-name</B> command-line option)<BR>
+<B>%v</B> : rxvt version
+</DD>
+
+<DT><B>[done]</B></DT>
+<DD>
+set menuBar access as <B>readonly</B>.<BR>
+End-of-file tag for <B>[read:<EM>file</EM>]</B> operations.
+</DD>
+
+<DT><B>[read:<EM>file</EM>]</B></DT>
+<DD>
+read menu commands directly from <EM>file</EM>
+(extension &quot;.menu&quot; will be appended if required).
+Start reading at a line with <B>[menu]</B> or <B>[menu:<EM>name</EM>]</B>
+and continuing until <B>[done]</B> is encountered.
+<BR>
+Blank and comment lines (starting with <B>#</B>) are ignored.
+Actually, since any invalid menu commands are also ignored, almost
+anything could be construed as a comment line, but this may be
+tightened up in the future ... so don't count on it!.
+</DD>
+
+<DT><B>[read:<EM>file</EM>;<EM>name</EM>]</B></DT>
+<DD>
+The same as <B>[read:<EM>file</EM>]</B>, but
+start reading at a line with <B>[menu:<EM>name</EM>]</B>
+and continuing until <B>[done:<EM>name</EM>]</B>
+or <B>[done]</B> is encountered.
+</DD>
+
+<DT><B>[dump]</B></DT>
+<DD>
+dump all menuBars to the file <B>/tmp/rxvt-PID</B> in a format suitable
+for later rereading.
+</DD>
+
+<DT><B>
+[rm:name]<BR>
+[rm] [rm:]<BR>
+[rm*] [rm:*]
+</B></DT>
+<DD>
+remove the named menuBar<BR>
+remove the current menuBar<BR>
+remove all menuBars
+</DD>
+
+<DT><B>[swap]</B></DT>
+<DD>swap the top two menuBars</DD>
+
+<DT><B>[prev]<BR>[next]</B></DT>
+<DD>access the previous or next menuBar</DD>
+
+<DT><B>[show]<BR>[hide]</B></DT>
+<DD>control display of the menuBar ... just like
+<A HREF="#Priv10"><B>ESC[?10 h/l</B></A>
+</DD>
+
+<DT><B>
+[pixmap:<EM>name</EM>]<BR>
+[pixmap:<EM>name</EM>;<EM>scaling</EM>]
+</B></DT>
+<DD>set the background pixmap globally ... just like
+<A HREF="#XPM"><B>ESC]20; Pt BEL</B></A>
+<BR>
+<B>A Future implementation <EM>may</EM> make this local to the menubar</B>
+</DD>
+
+<DT><B>[:<EM>command</EM>:]</B></DT>
+<DD>ignore the menu readonly status and issue a <EM>command</EM> to
+<A HREF="#menuBarAdd">Add/Modify</A> or
+<A HREF="#menuBarRemove">Remove</A> a menu or menuitem or
+change the <A HREF="#menuBarArrows">Quick Arrows</A>;
+a useful shortcut for setting the quick arrows from a menuBar.
+</DD>
+</DL>
+
+<H3><A HREF="#menuBar" NAME="menuBarAdd">Adding and accessing menus</A></H3>
+
+The following commands may also be <B>+</B> prefixed.
+<DL>
+<DT><B>/<BR>./<BR>../<BR>../../</B></DT>
+<DD>
+access menuBar top level<BR>
+access current menu level<BR>
+access parent menu (1 level up)<BR>
+access parent menu (multiple levels up)
+</DD>
+
+<DT><B><EM>/path/</EM>menu</B></DT>
+<DD>add/access menu</DD>
+
+<DT><B><EM>/path/</EM>menu/*</B></DT>
+<DD>add/access menu and clear it if it exists</DD>
+
+<DT><B><EM>/path/</EM>{-}</B></DT>
+<DD>add separator</DD>
+
+<DT><B><EM>/path/</EM>{item}</B></DT>
+<DD>add <B>item</B> as a label</DD>
+
+<DT><B><EM>/path/</EM>{item} action</B></DT>
+<DD>
+add/alter <EM>menuitem</EM> with an associated <EM>action</EM>
+</DD>
+
+<DT><B><EM>/path/</EM>{item}{right-text}</B></DT>
+<DD>
+add/alter <EM>menuitem</EM> with <B>right-text</B>
+as the right-justified text and as the associated <EM>action</EM>
+</DD>
+
+<DT><B><EM>/path/</EM>{item}{rtext} action</B></DT>
+<DD>
+add/alter <EM>menuitem</EM> with an associated <EM>action</EM>
+and with <B>rtext</B> as the right-justified text.
+</DD>
+</DL>
+
+<DL>
+<DT>Special characters in <EM>action</EM> must be backslash-escaped:</DT>
+<DD><B>\a \b \E \e \n \r \t \octal</B></DD>
+<DT>or in control-character notation:</DT>
+<DD><B>^@, ^A .. ^Z .. ^_, ^?</B></DD>
+</DL>
+
+To send a string starting with a <B>NUL</B> (<B>^@</B>)
+character to the program, start <EM>action</EM> with a pair of
+<B>NUL</B> characters (<B>^@^@</B>),
+the first of which will be stripped off and the balance directed to
+the program.
+Otherwise if <EM>action</EM> begins with <B>NUL</B>
+followed by non-<B>NUL</B> characters, the leading
+<B>NUL</B> is stripped off and the balance is sent back to rxvt.
+<P>
+As a convenience for the many Emacs-type editors, <EM>action</EM>
+may start with <B>M-</B> (eg, <B>M-$</B> is equivalent to <B>\E$</B>)
+and a <B>CR</B> will be appended if missed from <B>M-x</B> commands.
+
+As a convenience for issuing XTerm <B>ESC]</B> sequences from a menubar
+(or quick arrow), a <B>BEL</B> (<B>^G</B>) will be appended if needed.
+
+<DL>
+<DT>For example,</DT>
+<DD><B>M-xapropos</B></DD>
+<DT>is equivalent to</DT>
+<DD><B>\Exapropos\r</B></DD>
+<DT>and</DT>
+<DD><B>\E]10;mona;100</B>
+<DT>is equivalent to</DT>
+<DD><B>\E]10;mona;100\a</B></DD>
+</DL>
+
+<P>
+The option <B>{<EM>right-rtext</EM>}</B> will be right-justified.
+In the absence of a specified action, this text will be used as the
+<EM>action</EM> as well.
+<DL>
+<DT>For example,</DT>
+<DD><B>/File/{Open}{^X^F}</B></DD>
+<DT>is equivalent to</DT>
+<DD><B>/File/{Open){^X^F}&nbsp;^X^F</B></DD>
+</DL>
+
+The left label <EM>is</EM> necessary, since it's used for matching,
+but implicitly hiding the left label (by using same name for both left
+and right labels), or explicitly hiding the left label (by preceding
+it with a dot), makes it possible to have right-justified text only.
+<DL>
+<DT>For example,</DT>
+<DD><B>/File/{Open}{Open}&nbsp;Open-File-Action</B></DD>
+<DT>or hiding it</DT>
+<DD><B>/File/{.anylabel}{Open}&nbsp;Open-File-Action</B></DD>
+</DL>
+
+<H3><A HREF="#menuBar" NAME="menuBarRemove">Removing menus</A></H3>
+
+<DL>
+<DT><B>
+-/*<BR>
+-<EM>/path/</EM>menu<BR>
+-<EM>/path/</EM>{item}<BR>
+-<EM>/path/</EM>{-}
+</B></DT>
+<DD>
+remove all menus from the menuBar, the same as <B>[clear]</B><BR>
+remove menu<BR>
+remove item<BR>
+remove separator
+</DD>
+<DT><B>-/path/menu/*</B></DT>
+<DD>remove all items, separators and submenus from menu</DD>
+</DL>
+
+<H3><A HREF="#menuBar" NAME="menuBarArrows">Quick Arrows</A></H3>
+
+The menus also provide a hook for <EM>quick arrows</EM> to provide easier
+user access. If nothing has been explicitly set, the default is to
+emulate the curror keys. The syntax permits each arrow to be altered
+individually or all four at once without re-entering their common
+beginning/end text. For example, to explicitly associate cursor
+actions with the arrows, any of the following forms could be used:
+
+<DL >
+<DT><B>
+&lt;r&gt;<EM>Right</EM><BR>
+&lt;l&gt;<EM>Left</EM><BR>
+&lt;u&gt;<EM>Up</EM><BR>
+&lt;d&gt;<EM>Down</EM>
+</B></DT>
+<DD>Define actions for the respective arrow buttons</DD>
+<DT><B>
+&lt;b&gt;<EM>Begin</EM><BR>
+&lt;e&gt;<EM>End</EM>
+</B></TT></DT>
+<DD>
+Define common beginning/end parts for <EM>quick arrows</EM>
+when used in conjunction with the above
+<B>&lt;r&gt; &lt;l&gt; &lt;u&gt; &lt;d&gt;</B>
+constructs
+</DD>
+</DL>
+
+<DL>
+<DT>For example, define arrows individually,</DT>
+<DD><B>
+&lt;u&gt;\E[A<BR>
+&lt;d&gt;\E[B<BR>
+&lt;r&gt;\E[C<BR>
+&lt;l&gt;\E[D
+</B></DD>
+<DT>or all at once</DT>
+<DD><B>&lt;u&gt;\E[A&lt;d&gt;\E[B&lt;r&gt;\E[C&lt;l&gt;\E[D</B></DD>
+<DT>or more compactly (factoring out common parts)</DD>
+<DD><B>&lt;b&gt;\E[&lt;u&gt;A&lt;d&gt;B&lt;r&gt;C&lt;l&gt;D</B></DD>
+</DL>
+
+<HR>
+<H3><A HREF="#menuBar" NAME="menuBarSummary">Command Summary</A></H3>
+
+A short summary of the most <EM>common</EM> commands:
+<DL >
+<DT>[menu:name]</DT>
+<DD>use an existing named menuBar or start a new one</DD>
+<DT>[menu]</DT>
+<DD>use the current menuBar</DD>
+<DT>[title:string]</DT>
+<DD>set menuBar title<DD>
+<DT>[done]</DT>
+<DD>set menu access to readonly and, if reading from a file, signal EOF</DD>
+<DT>[done:name]</DT>
+<DD>if reading from a file using [read:file;name] signal EOF</DD>
+<DT>[rm:name]<BR>[rm] [rm:]<BR>[rm*] [rm:*]</DT>
+<DD>remove named, current, or all menuBar(s)</DD>
+<DT>[swap]</DT>
+<DD>swap top two menuBars</DD>
+<DT>[prev]<BR>[next]</DT>
+<DD>access the previous/next menuBar</DD>
+<DT>[show]<BR>[hide]</DT>
+<DD>map/unmap menuBar</DD>
+<DT>[pixmap;file]<BR>[pixmap;file;scaling]</DT>
+<DD>set a background pixmap</DD>
+<DT>
+[read:file]<BR>
+[read:file;name]</DT>
+<DD>read in a menu from a file</DD>
+<DT>[dump]</DT>
+<DD>dump out all menuBars to /tmp/rxvt-PID</DD>
+<DT>/<DT><DD>access menuBar top level</DD>
+<DT>./<BR>../<BR>../../</DT><DD>access current or parent menu level</DD>
+<DT>/path/menu</DT><DD>add/access menu</DD>
+<DT>/path/{-}</DT><DD>add separator</DD>
+<DT>/path/{item}{rtext}&nbsp;action</DT>
+<DD>add/alter menu item<BR>({rtext} and/or action, may be omitted)</DD>
+<DT>-/*</DT><DD>remove all menus from the menuBar</DD>
+<DT>-/path/menu</DT><DD>remove menu items, separators and submenus from menu</DD>
+<DT>-/path/menu</DT><DD>remove menu</DD>
+<DT>-/path/{item}</DT><DD>remove item</DD>
+<DT>-/path/{-}</DT><DD>remove separator</DD>
+<DT>&lt;b&gt;Begin&lt;r&gt;Right&lt;l&gt;Left&lt;u&gt;Up&lt;d&gt;Down&lt;e&gt;End</DT>
+<DD>menu quick arrows</DD>
+</DL>
+
+<HR>
+<H2><A HREF="#toc" NAME="XPM">XPM</A></H2>
+<P>
+For the XPM XTerm escape sequence <B><TT>ESC ] 20; Pt BEL</TT></B>
+then value of <B><TT>Pt</TT></B>
+can be the name of the background pixmap followed by a sequence of
+scaling/positioning commands separated by semi-colons. The
+scaling/positioning commands are as follows:
+<DL>
+<DT>query scale/position</DT>
+<DD><B>?</B></DD>
+<DT>change scale and position</DT>
+<DD><B>WxH+X+Y</B><BR>
+<B>WxH+X</B> (== <B>WxH+X+X</B>)<BR>
+<B>WxH</B> (same as <B>WxH+50+50</B>)<BR>
+<B>W+X+Y</B> (same as <B>WxW+X+Y</B>)<BR>
+<B>W+X</B> (same as <B>WxW+X+X</B>)<BR>
+<B>W</B> (same as <B>WxW+50+50</B>)
+</DD>
+<DT>change position (absolute)</DT>
+<DD><B>=+X+Y</B><BR>
+<B>=+X</B> (same as <B>=+X+Y</B>)
+</DD>
+<DT>change position (relative)</DT>
+<DD><B>+X+Y</B><BR>
+<B>+X</B> (same as <B>+X+Y</B>)
+</DD>
+<DT>rescale (relative)</DT>
+<DD>
+<B>Wx0</B> -&gt; <B>W *= (W/100)</B><BR>
+<B>0xH</B> -&gt; <B>H *= (H/100)</B></DD>
+</DL>
+<P>
+
+For example:
+<DL>
+<DT><B>\E]20;funky\a</B></DT>
+<DD>load <B>funky.xpm</B> as a tiled image</DD>
+<DT><B>\E]20;mona;100\a</B></DT>
+<DD>load <B>mona.xpm</B> with a scaling of 100%</DD>
+<DT><B>\E]20;;200;?\a</B></DT>
+<DD>rescale the current pixmap to 200% and display the image geometry
+in the title</DD>
+</DL>
+<P>
+
+<HR>
+<H2><A HREF="#toc" NAME="Mouse">Mouse Reporting</A></H2>
+<P>
+
+<DL>
+<DT><B><TT>ESC [ M &lt;b&gt; &lt;x&gt; &lt;y&gt;</TT></B></DT>
+<DD>report mouse position</DD>
+</DL>
+<P>
+ <P>
+The lower 2 bits of <B><TT>&lt;b&gt;</TT></B> indicate the button:
+<DL>
+<DT>Button = <B><TT>&lt;b&gt; &amp; 3 - SPACE</TT></B></DT>
+<DD>
+0 = Button1 pressed<BR>
+1 = Button2 pressed<BR>
+2 = Button3 pressed<BR>
+3 = button released (X11 mouse report)</DD>
+</DL>
+The upper bits of <B><TT>&lt;b&gt;</TT></B> indicate the modifiers when
+the button was pressed and are added together (X11 mouse report only):
+<DL>
+<DT>State = <B><TT>&lt;b&gt; &amp; 28 - SPACE</TT></B></DT>
+<DD>
+4 = Shift<BR>
+8 = Meta<BR>
+16 = Control<BR>
+Col = <B><TT>&lt;x&gt; - SPACE</TT></B><BR>
+Row = <B><TT>&lt;y&gt; - SPACE</TT></B>
+</DD>
+</DL>
+
+<HR>
+<H2><A HREF="#toc" NAME="Graphics">Special Graphics Mode</A></H2>
+
+Add more documentation here, <EM>if anyone actually cares.</EM> <P>
+
+<DL>
+<DT><B><TT>ESC G Q</TT></B></DT>
+<DD>query if graphics are available<BR>
+returns: <B><TT>ESC G 0</TT></B> no graphics available<BR>
+returns: <B><TT>ESC G 1</TT></B> graphics available (color only)</DD>
+</DL>
+<DL>
+<DT><B><TT>ESC G W &lt;x&gt;;&lt;y&gt;;&lt;w&gt;;&lt;h&gt;:</TT></B></DT>
+<DD>create window</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>ESC G C &lt;id&gt;</TT></B></DT>
+<DD>clear window</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>ESC G G &lt;id&gt;:</TT></B></DT>
+<DD>query window<BR>
+returns: <B><TT>ESC G &lt;id&gt; &lt;x&gt; &lt;y&gt; &lt;w&gt; &lt;h&gt; &lt;fw&gt; &lt;fh&gt; &lt;nw&gt; &lt;nh&gt;</TT></B>
+</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>
+ESC G L &lt;id&gt;<BR>
+ESC G P &lt;id&gt;<BR>
+ESC G F &lt;id&gt;
+</TT></B></DT>
+<DD>
+start point<BR>
+start line<BR>
+start fill
+</DD>
+</DL>
+<P>
+
+<DL>
+<DT><B><TT>;&lt;x&gt;;&lt;y&gt;</TT></B></DT>
+<DD>extend point/line/fill</DD>
+</DL>
+
+<P>
+<DL>
+<DT><B><TT>ESC G T &lt;id&gt;;&lt;x&gt;;&lt;y&gt;;&lt;mode&gt;;&lt;len&gt;:&lt;text&gt;</TT></B></DT>
+<DD>place text</DD>
+</DL>
+<P>
+
+<HR>
+<H2><A HREF="#toc" NAME="KeyCodes">Key Codes</A></H2>
+<P>
+
+Note: <B>Shift</B> + <B>F1</B>-<B>F10</B> generates <B>F11</B>-<B>F20</B>
+<P>
+For the keypad, use <B>Shift</B> to temporarily override
+Application-Keypad setting use <B>Num_Lock</B> to toggle
+Application-Keypad setting if <B>Num_Lock</B> is off,
+<A HREF="#ESC=">escape sequences</A> toggle Application-Keypad setting.
+Also note that values of <B>Home</B>, <B>End</B>, <B>Delete</B>
+may have been compiled differently on your system.
+
+<TABLE CELLPADDING=5 WIDTH="100%" >
+<TR>
+<TD></TD>
+<TD><B>Normal<B></TD>
+<TD><B>Shift<B></TD>
+<TD><B>Control<B></TD>
+<TD><B>Ctrl+Shift<B></TD>
+</TR>
+<TR><TD>Tab </TD><TD>^I </TD><TD>ESC [ Z</TD><TD>^I </TD><TD>ESC [ Z</TD></TR>
+<TR><TD>BackSpace</TD><TD>^H </TD><TD>^? </TD><TD>^?</TD><TD>^?</TD></TR>
+<TR><TD>Find </TD><TD>ESC [ 1 ~</TD><TD>ESC [ 1 $ </TD><TD>ESC [ 1 ^</TD><TD>ESC [ 1 @</TD></TR>
+<TR><TD>Insert </TD><TD>ESC [ 2 ~</TD><TD><I>paste</I></TD><TD>ESC [ 2 ^</TD><TD>ESC [ 2 @</TD></TR>
+<TR><TD>Execute </TD><TD>ESC [ 3 ~</TD><TD>ESC [ 3 $ </TD><TD>ESC [ 3 ^</TD><TD>ESC [ 3 @</TD></TR>
+<TR><TD>Select </TD><TD>ESC [ 4 ~</TD><TD>ESC [ 4 $ </TD><TD>ESC [ 4 ^</TD><TD>ESC [ 4 @</TD></TR>
+<TR><TD>Prior </TD><TD>ESC [ 5 ~</TD><TD><I>scroll-up</I></TD><TD>ESC [ 5 ^</TD><TD>ESC [ 5 @</TD></TR>
+<TR><TD>Next </TD><TD>ESC [ 6 ~</TD><TD><I>scroll-down</I></TD><TD>ESC [ 6 ^</TD><TD>ESC [ 6 @</TD></TR>
+<TR><TD>Home </TD><TD>ESC [ 7 ~</TD><TD>ESC [ 7 $ </TD><TD>ESC [ 7 ^</TD><TD>ESC [ 7 @</TD></TR>
+<TR><TD>End </TD><TD>ESC [ 8 ~</TD><TD>ESC [ 8 $ </TD><TD>ESC [ 8 ^</TD><TD>ESC [ 8 @</TD></TR>
+<TR><TD>Delete </TD><TD>ESC [ 3 ~</TD><TD>ESC [ 3 $ </TD><TD>ESC [ 3 ^</TD><TD>ESC [ 3 @</TD></TR>
+
+<TR><TD>F1 </TD><TD>ESC [ 11 ~</TD><TD>ESC [ 23 ~</TD><TD>ESC [ 11 ^</TD><TD>ESC [ 23 ^</TD></TR>
+<TR><TD>F2 </TD><TD>ESC [ 12 ~</TD><TD>ESC [ 24 ~</TD><TD>ESC [ 12 ^</TD><TD>ESC [ 24 ^</TD></TR>
+<TR><TD>F3 </TD><TD>ESC [ 13 ~</TD><TD>ESC [ 25 ~</TD><TD>ESC [ 13 ^</TD><TD>ESC [ 25 ^</TD></TR>
+<TR><TD>F4 </TD><TD>ESC [ 14 ~</TD><TD>ESC [ 26 ~</TD><TD>ESC [ 14 ^</TD><TD>ESC [ 26 ^</TD></TR>
+<TR><TD>F5 </TD><TD>ESC [ 15 ~</TD><TD>ESC [ 28 ~</TD><TD>ESC [ 15 ^</TD><TD>ESC [ 28 ^</TD></TR>
+<TR><TD>F6 </TD><TD>ESC [ 17 ~</TD><TD>ESC [ 29 ~</TD><TD>ESC [ 17 ^</TD><TD>ESC [ 29 ^</TD></TR>
+<TR><TD>F7 </TD><TD>ESC [ 18 ~</TD><TD>ESC [ 31 ~</TD><TD>ESC [ 18 ^</TD><TD>ESC [ 31 ^</TD></TR>
+<TR><TD>F8 </TD><TD>ESC [ 19 ~</TD><TD>ESC [ 32 ~</TD><TD>ESC [ 19 ^</TD><TD>ESC [ 32 ^</TD></TR>
+<TR><TD>F9 </TD><TD>ESC [ 20 ~</TD><TD>ESC [ 33 ~</TD><TD>ESC [ 20 ^</TD><TD>ESC [ 33 ^</TD></TR>
+<TR><TD>F10</TD><TD>ESC [ 21 ~</TD><TD>ESC [ 34 ~</TD><TD>ESC [ 21 ^</TD><TD>ESC [ 34 ^</TD></TR>
+<TR><TD>F11</TD><TD>ESC [ 23 ~</TD><TD>ESC [ 23 $</TD><TD>ESC [ 23 ^</TD><TD>ESC [ 23 @</TD></TR>
+<TR><TD>F12</TD><TD>ESC [ 24 ~</TD><TD>ESC [ 24 $</TD><TD>ESC [ 24 ^</TD><TD>ESC [ 24 @</TD></TR>
+<TR><TD>F13</TD><TD>ESC [ 25 ~</TD><TD>ESC [ 25 $</TD><TD>ESC [ 25 ^</TD><TD>ESC [ 25 @</TD></TR>
+<TR><TD>F14</TD><TD>ESC [ 26 ~</TD><TD>ESC [ 26 $</TD><TD>ESC [ 26 ^</TD><TD>ESC [ 26 @</TD></TR>
+<TR><TD>F15 (Help)</TD><TD>ESC [ 28 ~</TD><TD>ESC [ 28 $</TD><TD>ESC [ 28 ^</TD><TD>ESC [ 28 @</TD></TR>
+<TR><TD>F16 (Menu)</TD><TD>ESC [ 29 ~</TD><TD>ESC [ 29 $</TD><TD>ESC [ 29 ^</TD><TD>ESC [ 29 @</TD></TR>
+<TR><TD>F17</TD><TD>ESC [ 31 ~</TD><TD>ESC [ 31 $</TD><TD>ESC [ 31 ^</TD><TD>ESC [ 31 @</TD></TR>
+<TR><TD>F18</TD><TD>ESC [ 32 ~</TD><TD>ESC [ 32 $</TD><TD>ESC [ 32 ^</TD><TD>ESC [ 32 @</TD></TR>
+<TR><TD>F19</TD><TD>ESC [ 33 ~</TD><TD>ESC [ 33 $</TD><TD>ESC [ 33 ^</TD><TD>ESC [ 33 @</TD></TR>
+<TR><TD>F20</TD><TD>ESC [ 34 ~</TD><TD>ESC [ 34 $</TD><TD>ESC [ 34 ^</TD><TD>ESC [ 34 @</TD></TR>
+<TR>
+<TD></TD><TD></TD><TD></TD><TD></TD>
+<TD><B>Application</B></TD>
+</TR>
+<TR><TD>Up </TD><TD>ESC [ A</TD><TD>ESC [ a</TD><TD>ESC O a</TD><TD>ESC O A</TD></TR>
+<TR><TD>Down </TD><TD>ESC [ B</TD><TD>ESC [ b</TD><TD>ESC O b</TD><TD>ESC O B</TD></TR>
+<TR><TD>Right</TD><TD>ESC [ C</TD><TD>ESC [ c</TD><TD>ESC O c</TD><TD>ESC O C</TD></TR>
+<TR><TD>Left </TD><TD>ESC [ D</TD><TD>ESC [ d</TD><TD>ESC O d</TD><TD>ESC O D</TD></TR>
+<TR><TD>KP_Enter</TD><TD>^M</TD><TD></TD><TD></TD><TD>ESC O M</TD></TR>
+<TR><TD>KP_F1</TD><TD>ESC O P</TD><TD></TD><TD></TD><TD>ESC O P</TD></TR>
+<TR><TD>KP_F2</TD><TD>ESC O Q</TD><TD></TD><TD></TD><TD>ESC O Q</TD></TR>
+<TR><TD>KP_F3</TD><TD>ESC O R</TD><TD></TD><TD></TD><TD>ESC O R</TD></TR>
+<TR><TD>KP_F4</TD><TD>ESC O S</TD><TD></TD><TD></TD><TD>ESC O S</TD></TR>
+<TR><TD>XK_KP_Multiply </TD><TD>*</TD><TD></TD><TD></TD><TD>ESC O j</TD></TR>
+<TR><TD>XK_KP_Add </TD><TD>+</TD><TD></TD><TD></TD><TD>ESC O k</TD></TR>
+<TR><TD>XK_KP_Separator</TD><TD>,</TD><TD></TD><TD></TD><TD>ESC O l</TD></TR>
+<TR><TD>XK_KP_Subtract </TD><TD>-</TD><TD></TD><TD></TD><TD>ESC O m</TD></TR>
+<TR><TD>XK_KP_Decimal </TD><TD>.</TD><TD></TD><TD></TD><TD>ESC O n</TD></TR>
+<TR><TD>XK_KP_Divide </TD><TD>/</TD><TD></TD><TD></TD><TD>ESC O o</TD></TR>
+<TR><TD>XK_KP_0 </TD><TD>0</TD><TD></TD><TD></TD><TD>ESC O p</TD></TR>
+<TR><TD>XK_KP_1 </TD><TD>1</TD><TD></TD><TD></TD><TD>ESC O q</TD></TR>
+<TR><TD>XK_KP_2 </TD><TD>2</TD><TD></TD><TD></TD><TD>ESC O r</TD></TR>
+<TR><TD>XK_KP_3 </TD><TD>3</TD><TD></TD><TD></TD><TD>ESC O s</TD></TR>
+<TR><TD>XK_KP_4 </TD><TD>4</TD><TD></TD><TD></TD><TD>ESC O t</TD></TR>
+<TR><TD>XK_KP_5 </TD><TD>5</TD><TD></TD><TD></TD><TD>ESC O u</TD></TR>
+<TR><TD>XK_KP_6 </TD><TD>6</TD><TD></TD><TD></TD><TD>ESC O v</TD></TR>
+<TR><TD>XK_KP_7 </TD><TD>7</TD><TD></TD><TD></TD><TD>ESC O w</TD></TR>
+<TR><TD>XK_KP_8 </TD><TD>8</TD><TD></TD><TD></TD><TD>ESC O x</TD></TR>
+<TR><TD>XK_KP_9 </TD><TD>9</TD><TD></TD><TD></TD><TD>ESC O y</TD></TR>
+</TABLE>
+
+<P><HR><ADDRESS>
+Mark Olesen<BR>
+Fri Feb 14 14:16:00 1997
+</ADDRESS>
+</BODY>
+</HTML>
diff --git a/konsole/doc/More/swedish_vt102_codes.txt b/konsole/doc/More/swedish_vt102_codes.txt
new file mode 100644
index 000000000..7fca08c71
--- /dev/null
+++ b/konsole/doc/More/swedish_vt102_codes.txt
@@ -0,0 +1,413 @@
+Article 3073 of comp.terminals:
+Path: cs.utk.edu!stc06.CTD.ORNL.GOV!fnnews.fnal.gov!uwm.edu!news.alpha.net!news.mathworks.com!europa.eng.gtefsd.com!howland.reston.ans.net!EU.net!uunet!sunic!trane.uninett.no!due.uninett.no!usenet
+From: [email protected] (Lars Johanson)
+Newsgroups: comp.terminals
+Subject: vt102 escape codes
+Date: 24 Oct 1994 16:29:21 GMT
+Organization: Haukeland Sykehus
+Lines: 399
+Message-ID: <[email protected]>
+NNTP-Posting-Host: lpjo.onh.haukeland.no
+X-Newsreader: WinVN 0.92.6+
+
+
+Hi.
+
+I have seen some people asking for escape sequencies for the
+vt100-terminal. I asked the DIGITAL company in Sweden, and
+received this (hopefully not copyrighted). It is a vt102 terminal,
+but there seems to be little difference. I've tried to mark
+functions special to vt102 with: // Not in vt100
+
+Here you are:
+
+
+
+Escape codes for vt102 terminal.
+
+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 character 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 // Not in vt100
+ Esc ( 1
+ 033 050 061
+ Alternate ROM special characters character set as G0 // Not in vt100
+ 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 // Not in vt100
+ Esc ) 1
+ 033 051 061
+ Alternate ROM special characters character set as G1 // Not in vt100
+ Esc ) 2
+ 033 051 062
+
+ Selects G2 for one character // Not in vt100
+ Esc N
+ 033 115
+ Selects G3 for one character // Not in vt100
+ 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 // Not in vt100
+ 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
+ Insert 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)
+
+
+
+
diff --git a/konsole/doc/More/villanova-vt100-esc-codes.txt b/konsole/doc/More/villanova-vt100-esc-codes.txt
new file mode 100644
index 000000000..8142978ed
--- /dev/null
+++ b/konsole/doc/More/villanova-vt100-esc-codes.txt
@@ -0,0 +1,389 @@
+Date: Sat, 27 Oct 90 15:59:27 -0400
+From: [email protected] (Stephen Tihor)
+Message-Id: <[email protected]>
+Subject: Re: VT100/52/ANSI et.al. Escape codes
+Newsgroups: comp.os.vms
+In-Reply-To: <[email protected]> 23 Oct 90 16:00 EDT
+
+/* acf4:comp.os.vms */
+/* [email protected] (Jim McRee [Merlin]) / 4:00 pm Oct 23, 1990 */
+
+ Villanova University
+ Campus Computing - Terminal Emulation
+ Includes VT100 and VT52 Terminal and Control Codes
+
+ This file contains control and terminal codes for the VT100 terminals,
+ANSI terminals, and VT52 terminals. Many of the codes were derived from PC/
+Intercomm, from Mark of the Unicorn Software. I have researched some of them
+and added some of my own.
+
+ Thank you,
+ Jim McRee ([email protected])
+
+(* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *)
+
+ CONTROL SEQUENCE SUMMARY
+
+ * For additional information on the DEC VT100 and VT102 terminals, please
+ consult the VT100 USER GUIDE and VT102 USER GUIDE, published by Digital
+ Equipment Corporation as part numbers EK-VT100-UG and EK-VT102-UG.
+
+
+CONTROL CHARACTERS:
+------------------
+
+Character
+Name Decimal Action Taken
+---------------------------------------------------------------
+NUL 0 Fill character; ignored on input.
+ENQ 5 Transmit answerback message.
+BEL 7 Ring the bell.
+BS 8 Move cursor left.
+HT 9 Move cursor to next tab stop.
+LF 10 Line feed; causes print if in autoprint.
+VT 11 Same as LF.
+FF 12 Same as LF.
+CR 13 Move cursor to left margin or newline.
+SO 14 Invoke G1 character set.
+SI 15 Invoke G0 character set.
+XON 17 Resume transmission.
+XOFF 19 Halt transmission.
+CAN 24 Cancel escape sequence and display checkerboard.
+SUB 26 Same as CAN.
+ESC 27 Introduce a control sequence.
+DEL 127 Fill character; ignored on input.
+
+ * All characters less than 32 decimal which are not listed above are ignored.
+
+(* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *)
+
+ANSI MODE SUMMARY:
+-----------------
+
+ *In ANSI sequences, parameters are given as a string of ASCII digits
+ ('0' - '9') seperated by semicolons. Pn refers to a number whose value
+ used directly. Ps refers to a number used as a selector.
+
+CURSOR MOVEMENT:
+---------------
+
+ Cursor Up: Esc [ Pn A
+ Cursor Down: Esc [ Pn B
+ Cursor Left: Esc [ Pn C
+ Cursor Right: Esc [ Pn D
+
+ Direct Addressing : Esc [ Pn(row);Pn(col);H or
+ Esc [ Pn(row);Pn(col);f
+
+ ie. (Pascal)
+ Writeln (Esc,'[',Row:1,';',col:1,';','H');
+
+ Index: Esc D
+ New Line: Esc E
+ Reverse Line: Esc M
+
+ Save cursor & Attributes: Esc 7
+ Restore cursor & attributes: Esc 8
+
+ERASING:
+-------
+
+ Cursor to end of line Esc [ K
+ Beginning of line to cursor Esc [ 1 K
+ Entire line Esc [ 2 K
+ Cursor to end of screen Esc [ J
+ Beginning of screen to cursor Esc [ 1 J
+ Entire screen Esc [ 2 J
+
+ (Some programs expect Esc [ J to always clear the entire
+ screen, but this does not conform to the standard.)
+
+MODES:
+-----
+
+ Set with Esc [ Ps h
+ Reset with Esc [ Ps l
+
+Mode name Ps Set Reset
+-------------------------------------------------------------------
+Keyboard action 2 Locked Unlocked
+Insertion 4 Insert Overwrite
+Send - Receive 12 Full Echo
+Line feed/New line 20 New line Line feed
+Cursor key ?1 Application Cursor
+ANSI/VT52 ?2 ANSI VT52
+Column ?3 132 80
+Scrolling ?4 Smooth Jump
+Screen ?5 Reverse Normal
+Origin ?6 Relative Absolute
+Wraparound ?7 Wrap Truncate
+Auto key repeat ?8 Repeating No repeat
+Print form feed ?18 Yes No
+Print extent ?19 Full screen Scrolling region
+
+Keypad application Esc =
+Keypad numeric mode Esc >
+
+EDITING:
+-------
+
+ Insert line Esc [ Pn L
+ Delete line Esc [ Pn M
+ Delete character Esc [ Pn P
+ Scrolling region Esc [ Pn(top);Pn(bot) r
+
+PRINTING:
+--------
+
+ Print screen or region Esc [ i
+ Print cursor line Esc [ ? 1 i
+ Enter auto print Esc [ ? 5 i
+ Exit auto print Esc [ ? 4 i
+ Enter print controller Esc [ 5 i
+ Exit print controller Esc [ 4 i
+
+LINE SIZE:
+---------
+
+ The following is a list of the available styles of printing on the
+screen. "Yes" in any column means that the option is supported by the escape
+code on that line. "No" means that the option is not supported by the escape
+code on that line; however, it may, and almost certainly is, supported by
+another escape sequence.
+
+Double-height and double-width double the size of the characters in their
+respective ways (ie. Double-height is twice as tall as usual). _Line
+designates underlining. Blink is for blinking characters. Side is the
+orientation of the character. Normal means that there is no orientation.
+
+Top and bottom refers to the position of the character in order to make a
+complete character. The top and bottom sequences will be important if you use
+the double height option. You will need to print the line twice to get a
+complete line. The first printing will print the top part of the characters
+and the second printing will print the bottom part.
+
+Inverse refers to the condition of the character. "No" indicates that the
+character will be printed in the color it normally is printed in with its usual
+backround. "Yes" means that the character will be printed in the backround
+color and the character's backround will be the color it is usually printed in.
+Shade refers to the brightness of the character. Normal is the standard
+brightness of the character. Bright is bold type. Dark is a darker brightness
+than usual.
+
+The escape code is the command you would type before the text you want to print
+to get the indicated effects. This section was greatly expanded in version 1.1
+of this file.
+
+Double Double
+Height Width _Line Blink Side Inverse Shade Escape Code
+-----------------------------------------------------------------------
+ No No No No Normal No Normal <ESC>[0m
+ Yes Yes No No Top No Bright <ESC>#3<ESC>[1m
+ Yes Yes No No Bottom No Bright <ESC>#4<ESC>[1m
+ Yes Yes No No Top No Dark <ESC>#3<ESC>[2m
+ Yes Yes No No Bottom No Dark <ESC>#4<ESC>[2m
+ Yes Yes No No Top No Normal <ESC>#3<ESC>[3m
+ Yes Yes No No Bottom No Normal <ESC>#4<ESC>[3m
+ Yes Yes Yes No Top No Normal <ESC>#3<ESC>[4m
+ Yes Yes Yes No Bottom No Normal <ESC>#4<ESC>[4m
+ Yes Yes No Yes Top No Normal <ESC>#3<ESC>[5m
+ Yes Yes No Yes Bottom No Normal <ESC>#4<ESC>[5m
+ Yes Yes No No Top Yes Normal <ESC>#3<ESC>[7m
+ Yes Yes No No Bottom Yes Normal <ESC>#3<ESC>[7m
+ No Yes No No Normal No Normal <ESC>#6<ESC>[0m
+ No Yes No No Normal No Bright <ESC>#6<ESC>[1m
+ No Yes No No Normal No Dark <ESC>#6<ESC>[2m
+ No Yes Yes No Normal No Normal <ESC>#6<ESC>[4m
+ No Yes No Yes Normal No Normal <ESC>#6<ESC>[5m
+ No Yes No No Normal Yes Normal <ESC>#6<ESC>[7m
+ No No No No Normal No Bright <ESC>#7<ESC>[1m
+ No No No No Normal No Dark <ESC>#7<ESC>[2m
+ No No Yes No Normal No Normal <ESC>#7<ESC>[4m
+ No No No Yes Normal No Normal <ESC>#7<ESC>[5m
+ No No No No Normal Yes Normal <ESC>#7<ESC>[7m
+
+* Some codes have been eliminated due to a repetition of effects. To the best
+ of my knowledge, these codes are complete and correct. If you should find
+ any errors, or you find some new sequences/effects, please inform me.
+
+* <ESC>#3 and <ESC>#4 behave in the same way as <ESC>#3[3m and <ESC>#4[4m.
+
+CHARACTER SETS:
+--------------
+
+Character set G0 G1
+-----------------------------------------------------
+United Kingdom (UK) Esc ( A Esc ) A
+United States (US) Esc ( B Esc ) B
+Graphics Esc ( 0 Esc ) 0
+Default ROM Esc ( 1 Esc ) 1
+Alternate ROM Esc ( 2 Esc ) 2
+
+Switch to G0/G1 Esc O Esc N
+
+TAB STOPS:
+---------
+
+ Set tab at current column Esc H
+ Clear tab at current column Esc [ g
+ Clear all tabs Esc [ 3 g
+
+MISCELLANEOUS:
+-------------
+
+ Hard Reset Esc c
+
+ Character attributes Esc [ Ps m
+ or Esc [ Ps ; Ps ; Ps m
+ 0 - All attributes off
+ 1 - Bold on
+ 4 - Underscore on
+ 5 - Blink on
+ 7 - Reverse on
+
+ Programmable LEDs Esc [ Ps q
+ 0 - All LEDs off
+ (1 - 4) - Turn respective LED on
+
+ Fill screen with "E"s (test) Esc # 8
+
+(* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *)
+
+NON-VT100 CONTROL SEQUENCES:
+----------------------------
+
+ *Some VT100 terminal programs also understand a few other escape
+ sequences than the standard VT100. I cannot guarantee that any of
+ these nonstandard codes will work with any particular terminal, but
+ they may be useful if they do work.
+
+ Transmit a file Esc { T filenameCR ---> CR = Carriage Return
+ Receive a file Esc { R filenameCR ---> CR = Carriage Return
+ Append to a file Esc { A filenameCR ---> CR = Carriage Return
+ Save collected text Esc { S
+ Save collected text Esc S
+
+ * These sequences will probably be most useful in developing a micro
+ version of a VT100 emulator or in adapting an existing one.
+
+(* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *)
+
+VT52 MODE SUMMARY:
+-----------------
+
+ Cursor up Esc A
+ Cursor down Esc B
+ Cursor right Esc C
+ Cursor left Esc D
+ Graphics character set Esc F
+ ASCII character set Esc G
+ Home cursor Esc H
+ Reverse line feed Esc I
+ Erase to end of screen Esc J
+ Erase to end of line Esc K
+ Print cursor line Esc V
+ Enter print controller Esc W
+ Exit print controller Esc X
+ Cursor address Esc Y row col
+ Identify Esc Z
+ Print screen Esc ]
+ Enter auto print Esc ^
+ Exit auto print Esc -
+ Alternate keypad Esc =
+ Numeric keypad Esc >
+ Enter ANSI mode Esc <
+
+ * Row and column numbers are single characters with a bias of 31.
+ E.g., "$" means row/column 5.)
+
+KEYPAD AND FUNCTION KEY SUMMARY:
+-------------------------------
+
+ CURSOR CONTROL KEYS:
+ -------------------
+ Vt52 ANSI and Cursor Key modes
+ Arrow Key Mode Reset Set
+ ---------------------------------------------------
+ Up Esc A Esc [ A Esc O A
+ Down Esc B Esc [ B Esc O B
+ Right Esc C Esc [ C Esc O C
+ Left Esc D Esc [ D Esc O D
+
+ AUXILLIARY KEYPAD:
+ -----------------
+
+ VT52 Mode ANSI Mode
+ Key Numeric Application Numeric Application
+ ----------------------------------------------------------------------
+ 0 0 Esc ? p 0 Esc O p
+ 1 1 Esc ? q 1 Esc O q
+ 2 2 Esc ? r 2 Esc O r
+ 3 3 Esc ? s 3 Esc O s
+ 4 4 Esc ? t 4 Esc O t
+ 5 5 Esc ? u 5 Esc O u
+ 6 6 Esc ? v 6 Esc O v
+ 7 7 Esc ? w 7 Esc O w
+ 8 8 Esc ? x 8 Esc O x
+ 9 9 Esc ? y 9 Esc O y
+ - - Esc ? m - Esc O m
+ , , Esc ? l , Esc O l
+ . . Esc ? n . Esc O n
+ ENTER ^M Esc ? M ^M Esc O M
+ PF1 Esc P Esc P Esc O P Esc O P
+ PF2 Esc Q Esc Q Esc O Q Esc O Q
+ PF3 Esc R Esc R Esc O R Esc O R
+ PF4 Esc S Esc S Esc O S Esc O S
+
+VT100 CURRENT STATES:
+--------------------
+
+ Esc [ c DA:Device Attributes
+
+ or
+
+ Esc Z DECID:Identify Terminal (ANSI mode)
+
+ * For PC/Intercomm and some other emulators,
+ irrespective of the parameter(s) present, the
+ response is always
+
+ Esc [ ? 6 c
+
+ (i.e., a VT102) Other DEC terminals will respond
+ according to their configuration and mode.
+
+ Esc Z Identify (VT52 mode)
+
+ * The sequence Esc / Z is always returned.
+
+ Esc [ <sol> x DECREQTPARM: Request Terminal Parameters
+
+ * <sol> values other than 1 are ignored. Upon
+ receipt of a <sol> value of 1, the following
+ response is sent:
+
+ Esc[3;<par>;<nbits>;<xspeed>;<rspeed>;1;0x
+
+ * Where <par>, <nbits>, <xspeed>, and <rspeed>
+ are as for VT100s with the following
+ exceptions:
+
+ <nbits> Values of 5 and 6 bits per
+ character are sent as 7 bits.
+
+ <xspeed>,<rspeed>
+ These two numbers will always
+ be the same. 9600 baud is
+ sent for 7200 baud.
+
+ Esc [ Ps n DSR: Device Status Report
+
+ * Parameter values other than 5, 6, are ignored.
+ If the parameter value is 5, the sequence
+ Esc [ O n is returned. If the parameter value is
+ 6, the CPR: Cursor Position Report sequence
+ Esc [ Pn ; Pn R is returned with the Pn set to
+ cursor row and column numbers.
+/* ---------- */
+
diff --git a/konsole/doc/More/vt100_codes_news.txt b/konsole/doc/More/vt100_codes_news.txt
new file mode 100644
index 000000000..d136e2224
--- /dev/null
+++ b/konsole/doc/More/vt100_codes_news.txt
@@ -0,0 +1,970 @@
+ vt100_codes_news.txt
+ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+ This information is largely derived from DEC document EK-VT100-UG-003,
+ the original manual for the VT100.
+
+ Most so-called VT100 implementations (both stand-alone terminals and
+ PC emulators) actually implement more controls than are given here.
+ The minimal standard is really the slightly more advanced VT102 terminal.
+
+ ...RSS
+
+ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+Path: cs.utk.edu!gatech!usenet.ins.cwru.edu!agate!doc.ic.ac.uk!pipex!sunic
+ !trane.uninett.no!news.eunet.no!nuug!news.eunet.fi!funic!nntp.hut.fi
+ !lk-hp-14.hut.fi!pev
+From: [email protected] (Petri Virekoski)
+Newsgroups: comp.terminals
+Subject: VT100 control info
+Date: 11 Sep 1993 12:43:22 GMT
+Organization: Helsinki University of Technology
+Lines: 878
+Distribution: world
+Message-ID: <[email protected]>
+NNTP-Posting-Host: lk-hp-14.hut.fi
+
+
+OK. I finally found this on my local machine by doing a locate.
+Still haven't found any FTP site bearing this kind of information.
+I myself would need a similar file with extensions for VT200/VT220.
+Please do not address any complaints to me, since I just copied this file
+as I found it. There might be some escape sequences missing from the
+end because there was some carbage, but I don't know. Here goes...
+
+
+This file describes information needed for controlling the VT100 terminal from
+a remote computer. All of the information was derived from the VT100 user's
+manual, Programmer's Information section. Full documentation can be obtain
+from DIGITAL'S Accessory and Supplies Group.
+
+ [The notation <ESC> denotes a single ASCII Escape character, 1Bx.]
+
+
+ ANSI mode w/cursor ANSI mode w/cursor
+Cursor Key VT52 mode key mode reset key mode set
+--------------------------------------------------------------------------
+ UP <ESC>A <ESC>[A <ESC>OA
+ DOWN <ESC>B <ESC>[B <ESC>OB
+ RIGHT <ESC>C <ESC>[C <ESC>OC
+ LEFT <ESC>D <ESC>[D <ESC>OD
+
+
+*******************************
+* Special Graphics Characters *
+*******************************
+
+
+ If the Special Graphics set is selected, the graphics for ASCII codes
+0137 through 0176 will be replaced according to the following table (see the
+SCS control sequence).
+
+
+Octal ASCII Special Octal ASCII Special
+Code graphic graphic code graphic graphic
+-------------------------------------------------------------------------------
+0137 _ Blank 0157 o Horiz Line - scan 1
+0140 \ Diamond 0160 p Horiz Line - scan 3
+0141 a Checkerboard 0161 q Horiz Line - scan 5
+0142 b Digraph: HT 0162 r Horiz Line - scan 7
+0143 c Digraph: FF 0163 s Horiz Line - scan 9
+0144 d Digraph: CR 0164 t Left "T" (|-)
+0145 e Digraph: LF 0165 u Right "T" (-|)
+0146 f Degree Symbol 0166 v Bottom "T" (|_)
+0147 g +/- Symbol 0167 w Top "T" (T)
+0150 h Digraph: NL 0170 x Vertical Bar (|)
+0151 i Digraph: VT 0171 y Less/Equal (<_)
+0152 j Lower-right corner 0172 z Grtr/Egual (>_)
+0153 k Upper-right corner 0173 { Pi symbol
+0154 l Upper-left corner 0174 | Not equal (=/)
+0155 m Lower-left corner 0175 } UK pound symbol
+0156 n Crossing lines (+) 0176 ~ Centered dot
+
+
+NOTE 1: Codes 0152-0156 and 0164-0170 are used to draw rectangular grids" each
+piece of this set is contiguous with other so the lines formed will be
+unbroken.
+
+NOTE 2: Codes 0157-0163 give better vertical resolution than dashes and
+underlines when drawing graphs; using these segments, 120 x 132 resolution may
+be obtained in 132 column mode with the Advanced Video Option installed.
+
+
+
+*****************************
+* Terminal Control Commands *
+*****************************
+
+Control Characters
+------------------
+
+ The control characters recognized by the VT100 are listed below. All
+other control characters cause no action to be taken.
+
+ Control characters (codes 00 - 037 inclusive) are specifically excluded
+from the control sequence syntax, but may be embedded within a control
+sequence. Embedded control characters are executed as soon as they are
+encountered by the VT100. The processing of the control sequence then
+continues with the next character recieved. The exceptions are: if the <ESC>
+character occurs, the current control sequence is aborted, and a new one
+commences beginning with the <ESC> just recieved. If the character <CAN>
+(030) or the character <SUB> (032) occurs, the current control sequence is
+aborted. The ability to embed control characters allows the synchronization
+characters XON and XOFF to be interpreted properly without affecting the
+control sequence.
+
+
+
+Control Octal
+Character Code Action Taken
+------------------------------------------------------------------------------
+<NUL> 0000 Ignored on input; not stored in buffer
+<ENQ> 0005 Transmit ANSWERBACK message
+<BEL> 0007 Sound bell
+<BS> 0010 Move cursor to the left one position, unless it is at
+ the left margin, in which case no action is taken.
+<HT> 0011 Move cursor to the next tab stop, or to the right
+ margin if no further tabs are set.
+<LF> 0012 Causes either a line feed or new line operation (See
+ new line mode.)
+<VT> 0013 Same as <LF>.
+<FF> 0014 Same as <LF>.
+<CR> 0015 Move the cursor to the left margin of the current line.
+<SO> 0016 Invoke the G1 character set, as designated by the SCS
+ control sequence.
+<SI> 0017 Invoke the G0 character set, as selected by the <ESC>(
+ sequence.
+<DC1> 0021 Causes terminal to resume transmission (XON).
+<DC3> 0023 Causes terminal to stop transmitting all codes except
+ XOFF and XON (XOFF).
+<CAN> 0030 If sent during a control sequence, the sequence id
+ immediately terminated and not executed. It also
+ causes the error character (checkerboard) to be
+ displayed.
+<SUB> 0032 Same as <CAN>.
+<ESC> 0033 Introduces a control sequence.
+<DEL> 0177 Ignored on input; not stored in buffer.
+
+
+ The VT100 is an upward and downward software-compatible terminal;
+that is, previous Digital video terminals have Digital's private standards
+for control sequences. The American National Standards Institute has since
+standardized escape and control sequences in terminals in documents X3.41-1974
+and X3.64-1977.
+
+ The VT100 is compatible with both the previous Digital standard and
+ANSI standards. Customers may use existing Digital software designed around
+the VT52 or new VT100 software. The VT100 has a "VT52 compatible" mode in
+which the VT100 responds to control sequences like a VT52. In this mode, most
+of the new VT100 features cannot be used.
+
+ Throughout this document references will be made to "VT52 mode" or
+"ANSI mode". These two terms are used to indicate the VT100's software
+compatibility.
+
+
+NOTE: The ANSI standards allow the manufacturer flexibility in implementing
+each function. This document describes how the VT100 will respond to the
+implemented ANSI central function.
+
+NOTE: ANSI standards may be obtained by writing:
+
+ American National Standards Institute
+ Sales Department
+ 1430 Broadway
+ New York, NY, 10018
+
+
+
+Definitions
+-----------
+
+ Control Sequence Introducer (CSI) - An escape sequence that provides
+ supplementary controls and is itself a prefix affecting the
+ interpretation of a limited number of contiguous characters.
+ In the VT100, the CSI is: <ESC>[
+
+ Parameter: (1) A string of zero or more decimal characters which
+ represent a single value. Leading zeros are ignored. The
+ decimal characters have a range of 0 (060) to 9 (071).
+ (2) The value so represented.
+
+ Numeric Parameter: A parameter that represents a number, designated by
+ Pn.
+
+ Selective Parameter: A parameter that selects a subfunction from a
+ specified set of subfunctions, designated by Ps. In general, a
+ control sequence with more than one selective parameter causes
+ the same effect as several control sequences, each with one
+ selective parameter, e.g., CSI Psa; Psb; Psc F is identical to
+ CSI Psa F CSI Psb F CSI Psc F.
+
+ Parameter String: A string of parameters separated by a semicolon.
+
+ Default: A function-dependent value that is assumed when no explicit
+ value, or a value of 0, is specified.
+
+ Final character: A character whose bit combination terminates an
+ escape or control sequence.
+
+
+ EXAMPLE: Control sequence to turn off all character attributes, then
+ turn on underscore and blink attributes (SGR). <ESC>[0;4;5m
+
+ Sequence:
+
+
+ Delimiters
+ / \
+ / \
+ | |
+ \ / \ /
+ <ESC>[ 0 ; 4 ; 5 m
+ ^^^^^^ ^ ^ ^ ^
+ |||||| | | | |
+ \||||/ \ | / +------Final character
+ \||/ \ | /
+ CSI Selective
+ Parameters
+
+
+ The octal representation of this string is:
+
+ 033 0133 060 073 064 073 065 0155
+ <ESC> [ 0 ; 4 ; 5 m
+
+
+ Alternate sequences which will accomplish the same thing:
+
+ 1) <ESC>[;4;m
+
+ 2) <ESC>[m
+ <ESC>[4m
+ <ESC>[5m
+
+ 3) <ESC>[0;04;005m
+
+
+Control Sequences
+-----------------
+
+ All of the following control sequences are transmitted from the Host to
+VT100 unless otherwise noted. All of the control sequences are a subset of
+those defined in ANSI X 3.64 1977 and ANSI X 3.41 1974.
+
+ The following text conforms to these formatting conventions:
+
+ 1) Control characters are designated by angle brackets (e.g.
+ the Escape character is <ESC>).
+
+ 2) Parameters are indicated by curly braces.
+
+ 3) Parameter types usually are indicated as one of:
+
+ {Pn} A string of digits representing a numerical
+ value.
+
+ {Ps} A character that selects an item from a list.
+
+ {a-z} Any lowercase sequence of one44 or more
+ characters in braces represent a value to be
+ entered (as in {Pn}), and the name in the
+ braces will be referred to in explanatory text.
+
+ 4) Spaces in the control sequence are present for clarity and
+ may be omitted. Spaces which are required will be
+ surrounded by single quotes: ' '.
+
+ 5) All other characters are literals.
+
+
+
+
+
+CPR Cursor Position Report VT100 to Host
+
+ <ESC>[ {Pn} ; {Pn} R Default Value: 1
+
+ The CPR sequence reports the active position by means of the
+ parameters. This sequence has two parameter values, the first
+ specifying the line and the second specifying the column. The default
+ condition with no parameters present, or parameters of 0, is equivelent
+ to a cursor at home position.
+
+ The numbering of the lines depends upon the state of the Origin Mode
+ (DECOM).
+
+ This control sequence is sent in reply to a device status report (DSR)
+ command sent from the host.
+
+
+
+CUB Cursor Backward Host to VT100 & VT100 to Host
+
+ <ESC>[ {Pn} D Default Value: 1
+
+ The CUB sequence move the cursor to the left. The distance moved is
+ determined by the parameter. If the parameter missing, zero, or one,
+ the cursor is moved one position. The cursor cannot be moved past the
+ left margin. Editor Function.
+
+
+CUD Cursor Down Host to VT100 & VT100 to Host
+
+ <ESC>[ {Pn} B Default value: 1
+
+ Moves the cursor down a number of lines as specified in the parameter
+ without changing columns. The cursor cannot be moved past the bottom
+ margin. Editor Function.
+
+
+CUF Cursor Foreward Host to VT100 & VT100 to Host
+
+ <ESC>[ {Pn} C Default Value: 1
+
+ The CUF sequence moves the cursor to the right a number of positions
+ specified in the parameter. The cursor cannot be moved past the right
+ margin. Editor Function.
+
+
+CUP Cursor Position
+
+ <ESC>[ {Pn} ; {Pn} H Default Value: 1
+
+ The CUP sequence moves the curor to the position specified by the
+ parameters. The first parameter specifies the line, and the second
+ specifies the column. A value of zero for either line or column moves
+ the cursor to the first line or column in the display. The default
+ string (<ESC>H) homes the cursor. In the VT100, this command behaves
+ identically to it's format effector counterpart, HVP.
+
+ The numbering of the lines depends upon the state of the Origin Mode
+ (DECOM). Editor Function.
+
+
+CUU Cursor Up Host to VT100 & VT100 to Host
+
+ <ESC>[ {Pn} A Default Value: 1
+
+ Moves the cursor up without changing columns. The cursor is moved up a
+ number of lines as indicated by the parameter. The cursor cannot be
+ moved beyond the top margin. Editor Function.
+
+
+DA Device Attributes Host to VT100 & VT100 to Host
+
+ <ESC>[ {Pn} c Default Value: 0
+
+ 1) The host requests the VT100 to send a DA sequence to indentify
+ itself. This is done by sending the DA sequence with no parameters,
+ or with a parameter of zero.
+
+ 2) Response to the request described above (VT100 to host) is generated
+ by the VT100 as a DA control sequencewith the numeric parameters as
+ follows:
+
+ Option Present Sequence Sent
+ ---------------------------------------------
+ No options <ESC>[?1;0c
+ Processor Option (STP) <ESC>[?1;1c
+ Advanced Video Option (AVO) <ESC>[?1;2c
+ AVO and STP <ESC>[?1;3c
+ Graphics Option (GPO) <ESC>[?1;4c
+ GPO and STP <ESC>[?1;5c
+ GPO and AVO <ESC>[?1;6c
+ GPO, ACO, and STP <ESC>[?1;7c
+
+<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>,
+<<<I doubt if alot of these DEC commands work..a few do.. (like scroll areas)>>
+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+
+DECALN Screen Alignment Display (DEC private)
+
+ <ESC># 8
+
+ This command causes the VT100 to fill it's screen with uppercase Es for
+ screen focus and alignment.
+
+
+DECANM ANSI/VT52 Mode (DEC Private)
+
+ This is a private parameter to the SM and RM control sequences. The
+ reset state causes only VT52 compatible escape sequences to be
+ recognized. The set state causes only ANSI compatible escape sequences
+ to be recognized. See the entries for MODES, SM, and RM.
+
+
+DECARM Auto Repeat Mode (DEC Private)
+
+ This is a private parameter to the SM and RM control sequences. The
+ reset state causes no keyboard keys to auto-repeat, the set state
+ causes most of them to. See MODES, SM, and RM.
+
+
+DECAWM Autowrap Mode (DEC Private)
+
+ This is a private parameter to the SM and RM control sequences. The
+ reset state prevents the cursor from moving when characters are
+ recieved while at the right margin. The set state causes these
+ characters to advance to the next line, causing a scroll up if required
+ and permitted. See MODES, SM, and RM.
+
+
+DECCKM Cursor Keys Mode (DEC Private)
+
+ This is a private parameter to the SM and RM control requences. This
+ mode is only effective when the terminal is in keypad application mode
+ (DECPAM) and the ANSI/VT52 mode (DECANM) is set. Under these
+ conditions, if this mode is reset, the cursor keys will send ANSI
+ cursor control commands. If setm the cursor keys will send application
+ function commands (See MODES, RM, and SM).
+
+
+DECCOLM Column Mode (DEC Private)
+
+ This is a private parameter to the SM and RM control sequences. The
+ reset state causes an 80 column screen to be used. The set state
+ causes a 132 column screen to be used. See MODES, RM, and SM.
+
+
+DECDHL Double Height Line (DEC Private)
+
+ Top Half: <ESC>#3
+ Bottom Half: <ESC>#4
+
+ These sequences cause the line containing the cursor to become the top
+ or bottom half of a double-height, double width line. The sequences
+ should be used in pairs on adjacent lines with each line containing the
+ same character string. If the line was single width single height, all
+ characters to the right of the center of the screen will be lost. The
+ cursor remains over the same character position, unless it would be to
+ the right of the right margin, in which case it is moved to the right
+ margin.
+
+
+DECDWL Double Width Line (DEC Private)
+
+ <ESC>#6
+
+ This causes the line that contains the cursor to become double-width
+ single height. If the line was single width, all characters ro the
+ right of the center of the screen will be lost. The cursor remains
+ over the same character position, unless it would be to the right of
+ the right margin, in which case it is moved to the right margin.
+
+
+DECID Identify Terminal (DEC Private)
+
+ <ESC>Z
+
+ This sequence causes the same response as the DA sequence. This
+ sequence will not be supported in future models.
+
+
+DECINLM Interlace Mode (DEC Private)
+
+ This is a private parameter to the RM and SM control sequences. The
+ reset state (non-interlace) causes the video processor to display 240
+ scan lines per frame. The set state causes the video processor to
+ display 480 scan lines per screen. See MODES, RM, and SM.
+
+
+DECKPAM Keypad Application Mode (DEC Private)
+
+ <ESC>=
+
+ The auxiliary keypad keys will transmit control sequences.
+
+
+DECKPNM Keypad Numeric Mode (DEC Private)
+
+ <ESC> >
+
+ The auxiliary keypad keys will send ASCII codes corresponding to the
+ characters engraved on their keys.
+
+
+DECLL Load LEDs (DEC Private)
+
+ <ESC>[ {Ps} q Default Value: 0
+
+ Load the four programmable LEDs on the keyboard according to the
+ prameter(s).
+
+ Parameter Meaning
+ -----------------------
+ 0 Clear All LEDs
+ 1 Light L1
+ 2 Light L2
+ 3 Light L3
+ 4 Light L4
+
+
+DECOM Origin Mode (DEC Private)
+
+ This is a private parameter to SM and RM control sequences. The reset
+ state causes the origin (or home position) to be the upper left
+ character position of the screen. Line and column numbers are,
+ therefore, independent of current margin settings. The cursor may be
+ positioned outside the margins with a cursor position (CUP) or
+ horizontal and vertical position (HVP) control.
+
+ The set state causes the origin to be at the upper left character
+ position within the current margins. Line and column numbers are,
+ therefore, relative to the current margin settings. The cursor cannot
+ be positioned outside of the margins.
+
+ The cursor is moved to the new home position when this mode is set or
+ reset. Lines and columns are numbered consecutively, with the origin
+ being line 1, column 1.
+
+
+DECRC Restore Cursor (DEC Private)
+
+ <ESC>8
+
+ This sequence causes the previously saved cursor position, graphic
+ rendition, and character set to be restored.
+
+
+DECREPTPARM Report Terminal Parameters VT100 to Host
+
+ <ESC>[ {sol} ; {par} ; {nbits} ; {xspd} ; {rspd} ; {cmul} ; {flags} x
+
+ This sequence is generated by the VT100 to notify the host of the
+ status of selected terminal parameters. The status sequence may be
+ sent when requested by the host (via DECREQTPARM) or at the terminal's
+ discretion. On power up or reset, the VT100 is inhibited from sending
+ unsolicited reports.
+
+ The meanings of the sequence paramters are:
+
+ Parameter Value Meaning
+ ------------------------------------------------------------------
+ {sol} 1 This message is a report.
+ 2 This message is a report, and the terminal is
+ only reporting on request.
+
+ {par} 1 No parity set
+ 4 Parity set and odd
+ 5 Parity set and even
+
+ {nbits} 1 8 bits per character
+ 2 7 bits per character
+
+ {xspd} 0 Speed set to 50 bps
+ -and- 8 Speed set to 75 bps
+ {rspd} 16 Speed set to 110 bps
+ 24 Speed set to 134.5 bps
+ {xspd}= 32 Speed set to 150 bps
+ Transmit 40 Speed set to 200 bps
+ Speed 48 Speed set to 300 bps
+ 56 Speed set to 600 bps
+ {rspd}= 64 Speed set to 1200 bps
+ Recieve 72 Speed set to 1800 bps
+ Speed 80 Speed set to 2000 bps
+ 88 Speed set to 2400 bps
+ 96 Speed set to 3600 bps
+ 104 Speed set to 4800 bps
+ 112 Speed set to 9600 bps
+ 120 Speed set tp 19200 bps
+
+ {cmul} 1 The bit rate multiplier is 16
+
+ {flags} 0-15 This value communicates the four switch values
+ in block 5 of SET-UP B, which are only visible
+ to the user when an STP option is installed.
+
+
+DECREQTPARM Request Terminal Parameters
+
+ <ESC>[ {Ps} x
+
+ The host sends this sequence to request the VT100 to send a DECREPTPARM
+ sequence back. {Ps} can be either 0 or 1. If 0, the terminal will be
+ allowed to send unsolicited DECREPTPARMs. These reports will be
+ generated each time the terminal exits the SET-UP mode. If {Ps} is 1,
+ then the terminal will only generate DECREPTPARMs in response to a
+ request.
+
+
+DECSC Save Cursor (DEC Private)
+
+ <ESC>7
+
+ Causes the cursor position, graphic rendition, and character set to be
+ saved. (See DECRC)
+
+
+DECSCLM Scrolling Mode (DEC Private)
+
+ This is a private parameter to RM and SM control sequences. The reset
+ state causes scrolls to "jump" instantaneuously one line at a time.
+ The set state causes the scrolls to be "smooth", and scrolls at a
+ maximum rate of siz lines/sec. See MODES, RM, and SM.
+
+
+DECSCNM Screen Mode (DEC Private)
+
+ This is a private parameter to RM and SM control sequences. The reset
+ state causes the screen to be black with white characters; the set
+ state causes the screen to be white with black characters. See MODES,
+ RM, and SM.
+
+<<<<This one works...and is very handy! >>>>
+DECSTBM Set Top and Bottom Margins (DEC Private)
+
+ <ESC>[ {Pn} ; {Pn} r Default Values: See Below
+
+ This sequence sets the top and bottom margins to define the scrolling
+ region. The first parameter is the line number of the first line in
+ the scrolling region; the second parameter is the line number of the
+ bottom line of the scrolling region. Default is the entire screen (no
+ margins). The minimum region allowed is two lines, i.e., the top line
+ must be less than the bottom. The cursor is placed in the home
+ position (See DECOM).
+
+
+DECSWL Single-width Line (DEC Private)
+
+ <ESC>#5
+
+ This causes the line which contains the cursor to become single-width,
+ single-height. The cursor remains on the same character position.
+ This is the default condition for all new lines on the screen.
+
+
+DECTST Invoke Confidence Test
+
+ <ESC>[ 2 ; {Ps} y
+
+ Ps is the parameter indicating the test to be done. It is computed by
+ taking the weight indicated for each desired test and adding them
+ together. If Ps is 0, no test is performed but the VT100 is reset.
+
+ Test Weight
+ --------------------------------------------------------------
+ POST (ROM checksum, RAM NVR, keyboardm and AVO) 1
+ Data Loop Back (Loopback connector required) 2
+ EIA Modem Control Test (Loopback connector req.) 4
+ Repeat Testing until failure 8
+
+
+DSR Device Status Report Host to VT100 & VT100 to Host
+
+ <ESC>[ {Ps} n
+
+ Requests and reports the general status of the VT100 according to the
+ following parameters:
+
+ Parameter Meaning
+ ---------------------------------------------------------------
+ 0 Response from VT100 - Ready, no faults detected
+ 3 Response from VT100 - Malfunction Detected
+ 5 Command from host - Report Status (using a DSR control
+ sequence)
+ 6 Command from host - Report Active Position (using a CPR
+ sequence)
+
+ DSR with a parameter of 0 or 3 is always sent as a response to a
+ requesting DSR with a parameter of 5.
+
+
+ED Erase in Display
+
+ <ESC>[ {Ps} J Default: 0
+
+ This sequence erases some or all of the characters in the display
+ according to the parameter. Any complete line erased by this sequence
+ will return that line to single width mode. Editor Function.
+
+ Parameter Meaning
+ ----------------------------------------------------------------
+ 0 Erase from the cursor to the end of the screen.
+ 1 Erase from the start of the screen to the cursor.
+ 2 Erase the entire screen.
+
+
+EL Erase in Line
+
+ <ESC>[ {Ps} K Default: 0
+
+ Erases some or all characters in the active line, according to the
+ parameter. Editor Function.
+
+ Parameter Meaning
+ ---------------------------------------------------------------
+ 0 Erase from cursor to the end of the line.
+ 1 Erase from the start of the line to the cursor.
+ 2 Erase the entire line.
+
+
+HTS Horizontal Tab Set
+
+ <ESC>H
+
+ Set a tab stop at the current cursor position. Format Effector.
+
+
+HVP Horizontal and Vertical Position
+
+ <ESC>[ {Pn} ; {Pn} f
+
+ Moves the cursor to the position specified by the parameters. The
+ first parameter specifies the line, and the second specifies the
+ column. A parameter of 0 or 1 causes the active position to move to
+ the first line or column in the display. In the VT100, this control
+ behaves identically with it's editor counterpart, CUP. The numbering
+ of hte lines depends upon the state of the Origin Mode (DECOM). Format
+ Effector.
+
+
+IND Index
+
+ <ESC>D
+
+ This sequence causes the cursor to move downward one line without
+ changing the column. If the cursor is at the bottom margin, a scroll
+ up is performed. Format Effector.
+
+
+LNM Line Feed/New Line Mode
+
+ This is a parameter to SM and RM control sequences. The reset state
+ causes the interpretation of the <LF> character to imply only vertical
+ movement of the cursor and causes the RETURN key to send the single
+ code <CR>. The set state causes the <LF> character to imply movement
+ to the first position of the following line, and causes the RETURN key
+ to send the code pair <CR><LF>. This is the New Line option.
+
+ This mode does not affect the Index (IND) or the next line (NEL) format
+ effectors.
+
+
+MODES The Following is a list of VT100 modes which may be changed with Set
+ Mode (SM) and Reset Mode (RM) controls.
+
+ ANSI Specified Modes
+
+ Parameter Mnemonic Function
+ ------------------------------------------------------------------
+ 0 Error (Ignored)
+ 20 LNM Line Feed/New Line Mode
+
+
+ DEC Private Modes
+
+ If the first character in the parameter string is ? (077), the
+ parameters are interpreted as DEC private parameters according to the
+ following:
+
+ Parameter Mnemonic Function
+ -------------------------------------------------------------------
+ 0 Error (Ignored)
+ 1 DECCKM Cursor Key
+ 2 DECANM ANSI/VT52
+ 3 DECCOLM Column
+ 4 DECSCLM Scrolling
+ 5 DECSCNM Screen
+ 6 DECOM Origin
+ 7 DECAWM Auto Wrap
+ 8 DECARM Auto Repeat
+ 9 DECINLM Interlace
+
+ Any other parameter values are ignored.
+
+ The following modes, which are specified in the ANSI standard, may be
+ considered to be permanently set, permanently reset, or not applicable,
+ as noted.
+
+ Mnemonic Function State
+ ------------------------------------------------------
+ CRM Control Representation Reset
+ EBM Editing Boundary Reset
+ ERM Erasure Set
+ FEAM Format Effector Action Reset
+ FETM Format Effector Transfer Reset
+ GATM Guarded Area Transfer NA
+ HEM Horizontal Editing NA
+ IRM Insertion-replacement Reset
+ KAM Keyboard Action Reset
+ MATM Multiple area transfer NA
+ PUM Positioning Unit Reset
+ SATM Selected Area Transfer NA
+ SRTM Status Reporting Transfer Reset
+ TSM Tabulation Stop Reset
+ TTM Transfer Termination NA
+ VEM Vertical Editing NA
+
+
+NEL Next Line
+
+ <ESC>E
+
+ This causes the cursor to move to the first position of the next line
+ down. If the cursor is on the bottom line, a scroll is performed.
+ Format Effector.
+
+
+RI Reverse Index
+
+ <ESC>M
+
+ Move the cursor up one line without changing columns. If the cursor is
+ on the top line, a scroll down is performed.
+
+
+RIS Reset to Initial State
+
+ <ESC>c
+
+ Resets the VT100 to the state is has upon power up. This also causes
+ the execution of the POST and signal INT H to be asserted briefly.
+
+
+RM Reset Mode
+
+ <ESC>[ {Ps} ; {Ps} l
+
+ Resets one or more VT100 modes as specified by each selective parameter
+ in the parameter string. Each mode to be reset is specified by a
+ separate parameter. See MODES and SM.
+
+
+SCS Select Character Set
+
+ The appropriate D0 and G1 character sets are designated from one of the
+ five possible sets. The G0 and G1 sets are invokedd by the characters
+ <SI> and <SO>, respectively.
+
+ G0 Sets G1 Sets
+ Sequence Sequence Meaning
+ ------------------------------------------------------------------
+ <ESC>(A <ESC>)A United Kingdom Set
+ <ESC>(B <ESC>)B ASCII Set
+ <ESC>(0 <ESC>)0 Special Graphics
+ <ESC>(1 <ESC>)1 Alternate Character ROM
+ Standard Character Set
+ <ESC>(2 <ESC>)2 Alternate Character ROM
+ Special Graphics
+
+ The United Kingdom and ASCII sets conform to the "ISO international
+ register of character sets to be used with escape sequences". The
+ other sets are private character sets. Special graphics means that the
+ graphic characters fpr the codes 0137 to 0176 are replaced with other
+ characters. The specified character set will be used until another SCS
+ is recieved.
+
+
+SGR Select Graphic Rendition
+
+ <ESC>[ {Ps} ; {Ps} m
+
+ Invoke the graphic rendition specified by the parameter(s). All
+ following characters transmitted to the VT100 are rendered according
+ to the parameter(s) until the next occurrence of an SGR. Format
+ Effector.
+
+ Parameter Meaning
+ ---------------------------------------------------------------
+ 0 Attributes Off
+ 1 Bold or increased intensity
+ 4 Underscore
+ 5 Blink
+ 7 Negative (reverse) image
+
+ All other parameter values are ignored.
+
+ Without the Advanced Video Option, only one type of character attribute
+ is possible, as determined by the cursor selection; in that case
+ specifying either underscore or reverse will activate the currently
+ selected attribute.
+
+
+SM Set Mode
+
+ <ESC> [ {Ps} ; {Ps} h
+
+ Causes one or more modes to be set within the VT100 as specified by
+ each selective parameter string. Each mode to be set is specified by a
+ seperate parameter. A mode is considered set until it is reset by a
+ Reset Mode (RM) control sequence. See RM and MODES.
+
+ [Editor's note: The original DEC VT100 documentation EK-VT100-UG-003
+ erroneously omitted the "[" character from the SM sequence.]
+
+
+TBC Tabulation Clear
+
+ <ESC>[ {Ps} g
+
+ If the parameter is missing or 0, this will clear the tab stop at the
+ cursor's position. If it is 3, this will clear all of the tab stops.
+ Any other parameter is ignored. Format Effector.
+
+
+
+ ___
+ ( /_)_---_-------------------------------------------------
+(_/ ( ! / ) Petri Virekoski ------ [email protected] ------
+-------!/---------------------------------------------------
+
+ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+Article 4247 of comp.terminals:
+Path: cs.utk.edu!willis.cis.uab.edu!news.ecn.bgu.edu!vixen.cso.uiuc.edu!howland.reston.ans.net!news.sprintlink.net!uunet!news.aurora.net!netnews
+From: [email protected] (Michael Simms)
+Newsgroups: comp.terminals
+Subject: Re: VT420 control sequence question
+Date: 15 Jun 1995 01:23:10 GMT
+Organization: Attachmate Canada
+Lines: 39
+Distribution: world
+Message-ID: <[email protected]>
+References: <[email protected]>
+NNTP-Posting-Host: 204.174.235.139
+X-Newsreader: WinVN 0.92.5
+
+In article <[email protected]>, [email protected] (Igor Lyubashevskiy) says:
+>
+>Hi, while reading through DEC's VT420 manuals, I enountered a control sequence
+>that I don't understand. That is "Change attributes in rectangular area"
+>(DECCARA).
+>
+>The manual says that this sequence's "syntax" is
+> CSI Pt;Pl;Pb;Pr;Ps1..Psn $ r
+>Where Psn = visual character attributes.
+>
+>Does anyone know what Psn really is (what those visual character attributes
+>are)? And how many of those Psn can be there?
+>If you can help, please reply either by email or by a followup to this group.
+>
+>Thank you for your time,
+>
+>Igor
+>
+
+The Ps1..Psn are the standard character attributes such as used with
+CSIm (SGR). The values they can hold are:
+
+0 - reset all attributes (white on black)
+1 - bold
+4 - underline
+5 - blink
+7 - inverse
+21 - bold off
+24 - underline off
+25 - blink off
+27 - inverse off
+
+For example to turn all the characters in the top left quadrant of the
+screen bold and inverse with no blinking (as I hate blinking) use:
+ CSI 1;1;40;12;1;7;25$r
+
+As to the number of parameters, I don't know.
+
+Michael Simms.
+
+
+ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
diff --git a/konsole/doc/More/vt100_colorized_termcap.txt b/konsole/doc/More/vt100_colorized_termcap.txt
new file mode 100644
index 000000000..0a5470b45
--- /dev/null
+++ b/konsole/doc/More/vt100_colorized_termcap.txt
@@ -0,0 +1,438 @@
+Article 3992 of comp.terminals:
+Path: cs.utk.edu!gatech!howland.reston.ans.net!vixen.cso.uiuc.edu!uwm.edu!msunews!harbinger.cc.monash.edu.au!bunyip.cc.uq.oz.au!newshost.gu.edu.au!news
+From: Tony Nugent <[email protected]>
+Newsgroups: comp.terminals
+Subject: (howto) Set up a custom (colour) vt term
+Date: 30 Apr 1995 06:35:49 GMT
+Organization: Griffith University Brisbane Queensland Australia
+Lines: 371
+Message-ID: <[email protected]>
+NNTP-Posting-Host: kraken.itc.gu.edu.au
+Summary: How to set up a customised term entry
+Keywords: vt100 vt102 vt220 ansi colour terminfo termcap term
+
+G'day all!
+
+Here is something that I wrote a little while ago (with some more
+recent changes) for someone who asked me how to set up a
+customised TERMINFO and TERMCAP entry.
+
+I've never seen this in any FAQ, and I thought that others might
+be interested in this too, so I've posted it. It took me *ages*
+and lots of trial and error to figure out how to do this
+properly, but the process is actually quite simple once you have
+the man pages figured out :)
+
+I would appreciate any comments, corrections or suggestions to
+this... I'm posting it here into comp.terminals as a "beta"
+document as I'm sure that this could be refined some more.
+
+========8<----insert-crowbar-here------------------------------
+
+I presume that you understand the basics of ansi and vt-term
+escape sequences.
+
+I use a customised vt220 term to get colours instead of boring
+black and white text on my pc screen when I'm logged into my
+account over a modem. My comms program is emulating vt100/220
+with my screen in 50 line mode (49 lines + one for my comms
+program's status line).
+
+The system here with my account is a Sparc running Solaris 2.3,
+SunOS 5.3 - but this also works under SGI IRIX and SunOS 4.3.1
+(remote vt-term login). I use tcsh as my default login shell
+(I'll eventually try out ksh once I have some time :-)
+
+Here is my customised termcap entry, produced by the "infocmp -1"
+command...
+
+========8<-----------cut-here------------>8====================
+# Reconstructed via infocmp from file: /home/tnugent/.terminfo/v/vt220
+vt220|vt-220|dec colour vt220,
+ xon,
+ cols#80, lines#49, vt#3,
+ bel=^G, blink=\E[5m$<2>, bold=\E[1m\E[32;44m$<2>,
+ clear=\E[;H\E[2J$<50>, cnorm=\E[?7h\E[0;2;1;36m,
+ cr=\r, csr=\E[%i%p1%d;%p2%dr, cub1=\b, cud1=\n,
+ cuf1=\E[C$<2>, cup=\E[%i%p1%d;%p2%dH$<5>,
+ cuu1=\E[A$<2>, cvvis=\E[?7l, ed=\E[J$<50>,
+ el=\E[K$<3>, home=\E[H, ht=\t, ind=\n,
+ is2=\E[1;49r\E[49;1H, kbs=\b, kcub1=\EOD, kcud1=\EOB,
+ kcuf1=\EOC, kcuu1=\EOA, kf0=\E[29~, kf1=\EOP,
+ kf10=\E[29~, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\E[17~,
+ kf6=\E[18~, kf7=\E[19~, kf8=\E[20~, kf9=\E[21~,
+ rc=\E8, rev=\E[7m$<2>, ri=\EM$<5>, rmacs=\E(B$<4>,
+ rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[7m\E[0;1;36m$<2>,
+ rmul=\E[m\E[0;1;36m$<2>,
+ rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E1;36m\E[?8h, sc=\E7,
+ sgr0=\E[m\E[1;36m$<2>, smkx=\E[?1h\E=,
+ smso=\E[m\E[1;33;44m$<2>, smul=\E[4m\E[1;32m$<2>,
+========8<-----------cut-here------------>8====================
+
+For the explaination of what all this means, see "man terminfo";
+also try "man termcap", but this man page is often not there.
+
+It's set for a default of 49 lines, but if you only use 24 then
+change it in the entry, but I'll explain how to easily reset it
+manually with some aliases.
+
+Otherwise edit this however you like. You'll recognise all the
+"ansi" escape sequences up there. Customise the colour ones as
+desired, but after trial and error I've found these to be quite
+acceptable. Some of the entries might need some more refining,
+but this works. Bold, underline, reverse and norm are all in
+colour. I've thought about adding an entry for italic (sitm and
+ritm), but I haven't got around to this yet.
+
+I've called this "vt220", but it really isn't (although
+compatable). I've found it better to use a "common" name rather
+than an unusual one, or else I tend to get "unknown term type,
+using dumb terminal settings" complaints when I rlogin or telnet
+into other accounts.
+
+vt220 is defined in /etc/termcap here as:
+
+de|vt220|DEC VT220 in vt100 emulation mode:\
+ :tc=vt100:
+
+so vt220 actually uses vt100 anyway. They are similar, but vt220
+defines more of the F (function) keys. Other differences are
+trivial (and I haven't noticed many from what I've been able to
+ascertain from a scattering of "non-authoritative" sources).
+
+Create a ~/.terminfo/ directory, and save this terminfo entry in
+a file called ~/.terminfo/terminfo.src
+
+Now change to this directory and append the other terminal
+entries that you might use onto the end of this file (except for
+vt220):
+
+% echo $term
+% infocmp >> terminfo.src
+% infocmp vt100 >> terminfo.src
+% infocmp xterm >> terminfo.src
+
+etc. Check it's general format what you find in /etc/termcap to
+make sure that it's similar.
+
+Now do this (in the ~/.terminfo/ directory):
+
+% setenv TERMINFO ~/.terminfo
+% tic
+
+After running tic (it uses the terminfo.src file), you should see
+a new directory called ~/.terminfo/v/ (and perhaps others) which
+has the termcap entries compiled from the terminfo.src file.
+
+Now, do this:
+
+% set term=vt220
+
+You *should* immediately see a change in colour of normally white
+(or grey) text to a light bright blue (see "norm=" above). If
+you have tcsh as your shell, then try the prompts below to see
+some nice bold and reverse colour. Man pages should now also
+demostrate this too (especially if you have setenv PAGER "less -s
+-I"). Nice change, eh? :-)
+
+Ok, now to make this change permanent...
+
+Cut this shell script out, save it in ~/.terminfo/maketc and
+"chmod +x maketc" to make it executable:
+
+========8<-----------cut-here------------>8====================
+#!/bin/sh
+#
+# Make a TERMCAP entry
+#
+# Use:
+# maketc [termtype]
+#
+# setenv TERMCAP `maketc [termtype]`
+#
+# There's probably a better way to do this
+#
+infocmp -C $1 | \
+ sed -e '/^#/d' -e '3,$s/[ ]//g' -e 's/:\\$//' | \
+ awk '{printf("%s",$0)}'
+echo ""
+# NB: that's a Tab and a space in between the []'s!
+# Is there a way to get sed to strip out newlines?
+========8<-----------cut-here------------>8====================
+
+Now try this (using this new term setting):
+
+% maketc
+
+Ugly, yes? :)
+
+Create a ~/.terminfo/TERMCAP.vt220 file by redirecting this output:
+
+% maketc vt220 > TERMCAP.vt220
+
+(alternatively, use " setenv TERMCAP `cat ~/.terminfo/maketc` "
+below instead).
+
+Put the following lines in your ~/.login file, or into another
+file (say, ~/.termrc) and source it from ~/.login...
+
+========8<-----------cut-here------------>8====================
+# Please customise this!
+#
+if ( ! $?term ) then
+ set term=vt102
+ setenv TERM vt102
+endif
+#
+switch($term)
+#
+ case 'vt220':
+ case 'vt102':
+ stty rows 49
+ stty columns 80
+ setenv LINES 49
+ setenv COLUMNS 80
+ echo Assuming \($term with $LINES rows\)
+ breaksw
+ case 'vt100':
+ stty rows 24
+ stty columns 80
+ setenv LINES 24
+ setenv COLUMNS 80
+ breaksw
+ case 'xterm':
+ eval `/usr/openwin/bin/resize`
+ stty rows $LINES
+ stty cols $COLUMNS
+ default:
+ breaksw
+endsw
+#
+# Set colour if on a vt100, vt102 or vt220
+#
+if ( $TERM == vt102 || $TERM == vt100 || $TERM == vt220 ) then
+ setenv TERMINFO ~/.terminfo
+ set term=vt220
+ setenv TERM vt220
+ setenv TERMCAP `cat ${TERMINFO}/TERMCAP.vt220`
+ # setenv TERMCAP `~/.terminfo/maketc`
+endif
+#
+# Set variables: NORM BOLD OFFBOLD ULINE OFFULINE REV
+#
+setenv NORM `tput cnorm`
+setenv REV `tput rev`
+setenv BOLD `tput smso`
+setenv OFFBOLD `tput smso`
+setenv ULINE `tput smul`
+setenv OFFUL `tput rmul`
+#
+echo ""
+echo "${BOLD}TERMINFO is now: $NORM$TERMINFO"
+echo "${BOLD}TERMCAP is now: $NORM"
+echo "$TERMCAP"
+echo ""
+#
+echo -n "${ULINE}"\$TERM"$NORM is $BOLD $TERM $NORM and "
+echo "${ULINE}"\$term"$NORM is $BOLD $term ${NORM}"
+echo -n "$BOLD $LINES $NORM ${ULINE}rows${NORM} "
+echo "$BOLD $COLUMNS $NORM ${ULINE}columns${NORM}"
+echo ""
+#
+echo -n "${REV}reverse${NORM} "
+echo -n "${BOLD}bold${NORM} "
+echo -n "${ULINE}underline${OFFUL} "
+echo "$NORM"
+echo -n "${REV}${BOLD} reverse-bold ${NORM} "
+echo -n "${REV}${ULINE} reverse-underline ${NORM} "
+echo -n "${BOLD}${ULINE} bold-underline ${NORM} "
+echo -n "${REV}${BOLD}${ULINE} reverse-bold-underline ${NORM} "
+echo ""
+#
+echo -n tset:
+/usr/ucb/tset -I -Q -
+#
+========8<-----------cut-here------------>8====================
+
+It's a bit overdone, but it will show you what's going on.
+Warnings.... on some unix'es, stty does not have "rows" or
+"columns" options. And if you ever use those global variables
+for anything, enclose the variables in quotes like I have above.
+
+Next time you log in (with csh or tcsh), ~/.login is sourced
+(after ~/.cshrc) and you will automatically have this customised
+colour terminal enabled.
+
+To make switching term very easy, I use a few aliases. I have
+the following in a ~/.alias file that I source from ~/.cshrc...
+
+========8<-----------cut-here------------>8====================
+# ~/.alias
+# sourced from ~/.cshrc
+#...
+#...
+#
+#-------- Terminal setup ------------
+#
+a cls 'clear'
+a seterm 'setenv TERM \!:1 ; set term=\!:1'
+a vt102 'unsetenv TERMINFO ; unsetenv TERMCAP ; seterm vt102'
+a vt220 'colour'
+a colour 'setenv TERMINFO ~/.terminfo ; \
+ setenv TERMCAP `cat ${TERMINFO}/TERMCAP` ; seterm vt220'
+a rows 'stty rows \!:1 ; setenv LINES \!:1 ; cols 80'
+a cols 'stty columns \!:1 ; setenv COLUMNS \!:1 '
+a setsize 'rows \!:1 ; echo $LINES line mode'
+a 49 'setsize 49'
+a 50 '49'
+a 24 'setsize 24'
+a 25 '24'
+#
+a vtn 'echo -n "^[[m^[(B^[)0^O^[[?5l^[7^[[r^[8"'
+# ^^ ^^ ^^ ^^^^ ^^ ^^ ^^
+# Esc Esc Esc Ctrl-O EscEsc Esc
+# If the vtn alias doesn't work correctly, then try this:
+# a vtn 'echo "X[mX(BX)0OX[?5lX7X[rX8" | tr '\''XO'\'' '\''\033\017'\'''
+#
+#
+#... other aliases ...
+========8<-----------cut-here------------>8====================
+
+The vtn alias has been piped through cat -v to make the control
+codes look like their two-character representation. Edit the
+echo'ed string so that the ^[ characters are real escape
+characters and ^O is a control-O. Or comment out that line and
+use the one below it that uses the tr command. This alias is
+very, VERY handy for resetting a vt100 style screen if it gets
+screwed up with an accidental character set sequence (see any
+vt100 term escape code reference).
+
+If you want to see some interesting colourful prompts and you use
+tcsh, then try sourcing this:
+
+========8<-----------cut-here------------>8====================
+# Primary tcsh command prompt
+#
+# simple looking one
+# set prompt='$S%?%s %B%/-%b%U%h%u-%U%#%u%L'
+#
+# set prompt='%S%l%s|%U%?%u[%B%t%b]%S%~%s-%B%h%b-%U%#%u%L'
+# set prompt='%u%s%b[%U%m%u|%U%~%u][%S%t%s][%B%h%b][%S%?%s]%U-%#%u%L'
+# set prompt='%B%b[%S%?%s][%S%t%s][%B%h%b][%U%m%u|%U%~%u]%U-%#%u%L'
+ set prompt='%B%b[%S%?%s][%U%t%u][%S%m%s|%S%~%s][%B%h%b]%U-%#%u%L'
+#
+# prompt2
+# Used wherever normal csh prompts with a question mark.
+#
+# set prompt2='%B%R?>%b '
+ set prompt2='%B%R%b%S?%s%L'
+#
+# prompt3
+# Used when displaying the corrected command line when automatic
+# spelling correction is in effect.
+#
+# set prompt3='CORRECT>%R (y|n|e)?'
+# set prompt3='%BCORRECT%b%S>%s%R (%By%b|%Bn%b|%Be%b)%S?%s%L'
+ set prompt3='%{%}CORRECT%S>%s%R (%By%b|%Bn%b|%Be%b)%S?%s%L'
+========8<-----------cut-here------------>8====================
+
+Note how the red colour is manually put into prompt3. It's
+possible to put colour sequences into the prompts of all the
+common shells (check its man page).
+
+For more info check out:
+
+1. The man pages for:
+ terminfo, (termcap), stty, tput, infocmp, captoinfo, tic
+ (and the man pages in the "see also" sections).
+
+2. The file /etc/termcap
+
+3. The comp.terminals ftp archive site:
+ cs.utk.edu :: /pub/shuford/terminal/
+ You should be able to find at least one file there that
+ explains all the vt100 control sequences.
+
+4. I've got a file with the vt102 and ansi escape sequences in it.
+ If you want a copy, just let me know.
+
+5. I've never seen it, but for a color xterm check this out:
+ X11R5 and X11R6 versions:
+ ftp.x.org /R5contrib/color_xterm.tar.Z
+ ftp.x.org /contrib/utilities/color-xterm-R6-patch.README
+ ftp.x.org /contrib/utilities/color-xterm-R6pl5-patch.gz
+ ftp.x.org /contrib/utilities/colour_xterm.tar.gz
+
+Enjoy!
+
+Tony
+04/23/95
+========8<----insert-crowbar-here------------------------------
+
+All comments very much appreciated.
+
+Cheers
+Tony
+ MMM \|/ www __^__
+ (o o) @ @ (o o) /(o o)\
+ -.ooO-(_)-Ooo.-+-.oOO-(_)-OOo.-+-.oOO--(_)--OOo.-+-.oOO==(_)==OOo.-----+
+ | Tony Nugent |-| Griffith University [email protected] |--.
+ | __'!`__ | | Brisbane, Queensland [email protected] | |
+ | (o o) | | Australia | |
+ `-ooO---(=)---Ooo-' `--------------------------------------------------' |
+ `------------------' `--------------------------------------------------'
+
+
+Article 3993 of comp.terminals:
+Path: cs.utk.edu!gatech!swrinde!hookup!news.moneng.mei.com!uwm.edu!msunews!harbinger.cc.monash.edu.au!bunyip.cc.uq.oz.au!newshost.gu.edu.au!news
+From: Tony Nugent <[email protected]>
+Newsgroups: comp.terminals
+Subject: Re: (howto) Set up a custom (colour) vt term
+Date: 30 Apr 1995 07:17:03 GMT
+Organization: Griffith University Brisbane Queensland Australia
+Lines: 35
+Message-ID: <[email protected]>
+References: <[email protected]>
+NNTP-Posting-Host: kraken.itc.gu.edu.au
+Keywords: vt100 vt102 vt220 ansi colour terminfo termcap term
+
+Tony Nugent <[email protected]> writes:
+
+Sorry about this:
+
+[munch]
+
+>To make switching term very easy, I use a few aliases. I have
+>the following in a ~/.alias file that I source from ~/.cshrc...
+
+>========8<-----------cut-here------------>8====================
+># ~/.alias
+># sourced from ~/.cshrc
+>#...
+
+alias a 'alias'
+
+>#...
+>#
+>#-------- Terminal setup ------------
+>#
+>a cls 'clear'
+>a seterm 'setenv TERM \!:1 ; set term=\!:1'
+
+[munch]
+
+I forgot to mention that I have the alias command aliased to "a".
+
+Cheers
+Tony
+ /~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/~\
+ | Tony Nugent Griffith University, Brisbane, Queensland, Australia| _ |
+ \__________________________________________________________________\_/|
+ / Pull here for the full .sig or use finger on the second address /
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+
diff --git a/konsole/doc/More/vt100_numeric_keypad.txt b/konsole/doc/More/vt100_numeric_keypad.txt
new file mode 100644
index 000000000..fbd953d45
--- /dev/null
+++ b/konsole/doc/More/vt100_numeric_keypad.txt
@@ -0,0 +1,202 @@
+Subject: Re: ENTER keys
+
+>
+> We're using MicroSoft's telnet software to connect to Stratus (VOS).
+> Using a VT100 emulator (yes, on both ends - I'm not THAT novice) we
+> find that the ENTER key (the key marked "Enter" on the PC's keypad)
+> does the same thing as the RETURN key (the key marked "Enter" on the
+> main part of the PC's keyboard) when it comes to working with CRT
+> forms.
+> ...
+> (A) why do the RETURN and ENTER keys behave the same?
+> (B) how does one submit a completed CRT form with ONE keystroke?
+
+To which <[email protected]> replied in message
+|
+| You don't say which ttp you are using on VOS, but I will assume
+| it is the vt100.ttp file.
+|
+| The "keyboard" section of the vt100.ttp file defines the names
+| and key sequences used by the VT100 keys. In it we find:
+|
+| enter-key Enter esc O M
+
+
+I have not used the Microsoft "telnet" application, but one standard
+setup option in a DEC VT100 (or VT220, VT340, VT420, VT510, etc.) is
+the "keypad mode"--what the behavior of the numeric keypad should be.
+
+The two modes are "application" and "numeric".
+
+In numeric mode, the various keypad keys send either the ASCII code
+for decimal digits, or the ASCII code for the comma, period, or
+hyphen, or (in the case of the keypad "Enter" key") the ASCII carriage
+return control character (or CR/LF if so configured).
+
+The "Enter" key behavior you describe is characteristic of numeric-
+keypad mode.
+
+The application mode is used by programs that don't need decimal
+digits so much but need lots of user-activated software functions.
+The DEC text-editing programs (EDT, EVE, etc.) are a classic example.
+In application mode, the keypad keys send special Escape sequences
+that chiefly begin with the so-called SS3 (single-shift G3) prefix,
+which in 7-bit ASCII representation is the "Esc O". (In 8-bit, SS3
+is the single code hexadecimal 8F.)
+
+The following chart summarizes the possible codes (7-bit) generated by
+the DEC terminals' keypad:
+
+ Keypad Key Numeric Mode Application Mode
+ ---------- ------------ ----------------
+ 0 0 Esc O p
+ 1 1 Esc O q
+ 2 2 Esc O r
+ 3 3 Esc O s
+ 4 4 Esc O t
+ 5 5 Esc O u
+ 6 6 Esc O v
+ 7 7 Esc O w
+ 8 8 Esc O x
+ 9 9 Esc O y
+ - - Esc O m
+ , , Esc O l
+ . . Esc O n
+ Enter carriage return Esc O M
+ PF1 Esc O P Esc O P
+ PF2 Esc O Q Esc O Q
+ PF3 Esc O R Esc O R
+ PF4 Esc O S Esc O S
+
+
+ was intended for use by programs that
+
+
+
+
+This is a matter that my site has encountered in a slightly different form.
+
+Article 2620 of comp.protocols.kermit.misc:
+Path: cs.utk.edu!cssun.mathcs.emory.edu!hobbes.cc.uga.edu!news-feed-1.peachnet.edu!gatech!swrinde!cs.utexas.edu!news.cs.utah.edu!cc.usu.edu!jrd
+From: [email protected] (Joe Doupnik)
+Newsgroups: comp.protocols.kermit.misc
+Subject: Re: Defining functional keys
+Message-ID: <[email protected]>
+Date: 22 Apr 95 12:22:57 MDT
+References: <[email protected]>
+Organization: Utah State University
+Lines: 109
+
+In article <[email protected]>, [email protected] (Uuno Vallner) writes:
+> We try to use KERMIT DOS as terminal. We have Novel and Unix
+> mixed network. We try access to OSF/1 via IPX using Softnet in OSF/1.
+>
+> We defined Kermit port bios3. It works perfectly. We need to use estonian
+> characters. We are resolved this problem too. But ...
+>
+> We use application in OSF/1 (text retrieval system trip), which needs
+> for operating Application keypad (7,8. 9 ..1,0 ...)and some functional keys.
+> But Kermit are using 7 as "home"
+>
+> Kermit interpreted non correct functional keys. After pressing f1, system
+> sends only ESC , after next f1 follows code and new ESC. Same effect is with
+> array keys.
+--------------
+
+ I think there is some confusion about DEC versus IBM PC keys.
+The relationship is detailed in distribution file MSVIBM.VT and also
+in the user's manual book "Using MS-DOS Kermit." The IBM PC numeric
+keypad keys are not necessarily related to the DEC KeyPad keys. Here
+is a cutout from my copy of msvibm.vt:
+
+
+1. VT320/VT102/VT52/Heath-19 EMULATOR IN MS-DOS KERMIT IBM-PC, CODE SUMMARY
+
+ VT320/VT102 keypads Heath-19 and VT52 Keypads
+ IBM keys IBM Keys
+ +------+------+------+------+ +------+------+-------+----------+
+ | PF1 | PF2 | PF3 | PF4 | | Blue | Red | Grey | up arrow | - Vendor
+ | F1 | F2 | F3 | F4 | | F1 | F2 | F3 | up arrow | - Kermit
+ +------+------+------+------+ +------+------+-------+----------+
+ | 7 | 8 | 9 | - | | 7 | 8 | 9 |down arrow|
+ | F5 | F6 | F7 | F8 | | F5 | F6 | F7 |down arrow|
+ +------+------+------+------+ +------+------+-------+----------+
+ | 4 | 5 | 6 | , | | 4 | 5 | 6 | rgt arrow|
+ | F9 | F10 | SF1 | SF2 | | F9 | F10 | SF1 | rgt arrow|
+ +------+------+------+------+ +------+------+-------+----------+
+ | 1 | 2 | 3 | E | | 1 | 2 | 3 |left arrow|
+ | SF3 | SF4 | SF5 | n S| | SF3 | SF4 | SF5 |left arrow|
+ +------+------+------+ t F| +------+------+-------+----------+
+ | 0------0 | . | e 6| | 0------0 | . | Enter |
+ | SF7 | SF8 | r | | SF7 | SF8 | SF6 |
+ +-------------+------+------+ +-------------+-------+----------+
+
+SF1 means push Shift and F1 keys simultaneously
+---------------------------------------------------------------------------
+Below, the acronyms CSI and SS3 stand for 8-bit control codes in an 8-bit
+environment or for their 7-bit equivalents "ESC [" and "ESC O", respectively.
+Command SET TERMINAL CONTROL {8-BIT | 7-BIT}, and an equivalent command from
+the host, determines the usage for output text; use of parity forces 7-bit
+mode. CSI is decimal 155, SS3 is decimal 143. Similarly, DCS is decimal 144
+or ESC P and ST is decimal 156 or ESC \. APC is decimal 159 or ESC _.
+---------------------------------------------------------------------------
+Codes sent by DEC and Heath arrow keys
+Key Verb IBM VT320/VT102 mode VT52/H19 mode
+ key Cursor Application Cursor or Application
+
+up uparr up CSI A SS3 A ESC A
+down dnarr down CSI B SS3 B ESC B
+right rtarr right CSI C SS3 C ESC C
+left lfarr left CSI D SS3 D ESC D
+
+Codes sent by DEC editing keys, not preassigned to keys.
+Key Verb VT320 mode VT102/VT52/H19 mode
+
+Find decFind CSI 1 ~ these keys
+Insert Here decInsert CSI 2 ~ send nothing
+Remove decRemove CSI 3 ~
+Select decSelect CSI 4 ~
+Prev Screen decPrev CSI 5 ~
+Next Screen decNext CSI 6 ~ ~ is ASCII chart 7/14
+
+Codes sent by DEC Numeric Keypad
+Key Verb IBM ANSI VT320/VT102 mode VT52/H19 mode
+ key Numeric Application Numeric Application
+
+PF1/HF7/Blue Gold,pf1 F1 SS3 P SS3 P ESC P ESC P
+PF2/HF8/Red pf2 F2 SS3 Q SS3 Q ESC Q ESC Q
+PF3/HF9/Grey pf3 F3 SS3 R SS3 R ESC R ESC R
+PF4/HF1 pf4 F4 SS3 S SS3 S ESC S ESC S
+0 kp0 SF7 0 SS3 p 0 ESC ? p
+1 kp1 SF3 1 SS3 q 1 ESC ? q
+2 kp2 SF4 2 SS3 r 2 ESC ? r
+3 kp3 SF5 3 SS3 s 3 ESC ? s
+4 kp4 F9 4 SS3 t 4 ESC ? t
+5 kp5 F10 5 SS3 u 5 ESC ? u
+6 kp6 SF1 6 SS3 v 6 ESC ? v
+7 kp7 F5 7 SS3 w 7 ESC ? w
+8 kp8 F6 8 SS3 x 8 ESC ? x
+9 kp9 F7 9 SS3 y 9 ESC ? y
+comma (,) kpcoma SF2 , SS3 l , ESC ? l
+minus (-) kpminus F8 - SS3 m - ESC ? m
+period (.) kpdot SF8 . SS3 n . ESC ? n
+Enter kpenter SF6 CR or SS3 M CR or ESC ? M
+ CR LF (newline on) CR LF
+ (SFn means hold down Shift key while pressing Function key n.)
+---------------
+
+ Please note that \Kkp0...\Kkp0 are placed on IBM PC function
+keys by default. You can redefine such things using Kermit command
+SET KEY, as discussed in depth in "Using MS-DOS Kermit."
+ I don't quite understand why you are using SET PORT BIOS3. Do
+you have some Int 14h interceptor present to route traffic to the net?
+For real serial ports BIOS3 is terrible. If you are using Novell's ODI
+material then Kermit can operate as a native ODI client (using it's
+internal TCP/IP stack). This is discussed in the release notes.
+ Joe D.
+
+
+
+
diff --git a/konsole/doc/More/vt100_reference_card.txt b/konsole/doc/More/vt100_reference_card.txt
new file mode 100644
index 000000000..e80ea1325
--- /dev/null
+++ b/konsole/doc/More/vt100_reference_card.txt
@@ -0,0 +1,215 @@
+Article 248 of comp.terminals:
+Newsgroups: comp.terminals
+Path: cs.utk.edu!gatech!udel!bogus.sura.net!opusc!usceast!chan
+From: [email protected] (Simon Chan)
+Subject: VT100 Reference Card !! ( if you are looking for....)
+Message-ID: <chan.728236678@hertz>
+Keywords: vt100 terminal escape codes
+Sender: [email protected] (USENET News System)
+Organization: USC Department of Computer Science
+Date: 28 Jan 93 15:57:58 GMT
+Lines: 162
+
+
+
+Taken from VT100 Programming Reference Card (DIGITAL)
+
+ANSI Compatible Mode
+
+ Cursor Movement Commands
+ Cursor up ESC [ Pn A
+ Cursor down ESC [ Pn B
+ Cursor forward (right) ESC [ Pn C
+ Cursor backward (left) ESC [ Pn D
+ Direct cursor addressing ESC [ Pl; Pc H or
+ ESC [ Pl; Pc f
+ Index ESC D
+ Next Line ESC E
+ Reverse index ESC M
+ Save cursor and attributes ESC 7
+ Restore cursor and attributes ESC 8
+ * Pn = decimal parameter in string of ASCII digits.(default 1)
+ * Pl = line number (default 0); Pc = column number (default 0)
+
+ Line Size (Double-Height and Double-Width) Commands
+ Change this line to double-height top half ESC # 3
+ Change this line to double-height bottom half ESC # 4
+ Change this line to single-width single-height ESC # 5
+ Change this line to double-width single-height ESC # 6
+
+ Character Attributes
+ ESC [ Ps;Ps;Ps;...,Ps m
+ Ps = 0 or None All Attributes Off
+ 1 Bold on
+ 4 Underscore on
+ 5 Blink on
+ 7 Reverse video on
+ Any other parameter values are ignored.
+
+ Erasing
+ From cursor to end of line ESC [ K or ESC [ 0 K
+ From beginning of line to cursor ESC [ 1 K
+ Entire line containing cursor ESC [ 2 K
+ From cursor to end of screen ESC [ J or ESC [ 0 J
+ From beginning of screen to cursor ESC [ 1 J
+ Entire screen ESC [ 2 J
+
+ Programmable LEDs
+ ESC [ Ps;Ps;...Ps q
+ Ps = 0 or None All LEDs Off
+ 1 L1 on
+ 2 L2 on
+ 3 L3 on
+ 4 L4 on
+ Any other parameter values are ignored.
+
+ Character Set (G0 and G1 Designators)
+ Charactor Set G0 Designator G1 Designator
+ United Kingdom (UK) ESC ( A ESC ) A
+ United States (USASCII) ESC ( B ESC ) B
+ Special graphics characters ESC ( 0 ESC ) 0
+ and line drawing set
+ Alternate character ROM ESC ( 1 ESC ) 1
+ Alternate character ROM ESC ( 2 ESC ) 2
+ special graphics characters
+
+ Scrolling Region
+ ESC [ Pt ; Pb r
+ Pt is the number of the top line of the scrolling region;
+ Pb is the number of the bottom line of the scrolling region
+ and must be greater than Pt.
+ (The default for Pt is line 1, the default for Pb is the end
+ of the screen)
+
+ TAB stops
+ Set tab at current column ESC H
+ Clear tab at curent column ESC [ g or ESC [ 0 g
+ Clear all tabs ESC [ 3 g
+
+ Modes
+ To Set To Reset
+ Mode Name Mode Sequence Mode Sequence
+ Line feed/new line New line ESC [20h Line feed ESC [20l
+ Cursor key mode Application ESC [?1h Cursor ESC [?l
+ ANSI/VT52 mode ANSI N/A VT52 ESC [?2l
+ Column mode 132 Col ESC [?3h 80 Col ESC [?3l
+ Scrolling mode Smooth ESC [?4h Jump ESC [?4l
+ Screen mode Reverse ESC [?5h Normal ESC [?5l
+ Origin mode Relative ESC [?6h Absolute ESC [?6l
+ Wraparound On ESC [?7h Off ESC [?7l
+ Auto repeat On ESC [?8h Off ESC [?8l
+ Interlace On ESC [?9h Off ESC [?9l
+ Graphic proc. option On ESC 1 Off ESC 2
+ Keypad mode Application ESC = Numeric ESC >
+
+ Reports
+ Cursor Position Report
+ Invoked by ESC [ 6 n
+ Response is ESC [ Pl; Pc R
+ * Pl = line number; Pc = column number
+
+ Status Report
+ Invoked by ESC [ 5 n
+ Response is ESC [ 0 n (terminal ok)
+ ESC [ 3 n (terminal not ok)
+
+ What Are You
+ Invoked by ESC [ c or ESC [ O c
+ Response is ESC [ ?1 ; Ps C
+ Ps = 0 Base VT100, no options
+ 1 Processor option (STP)
+ 2 Advanced Video option (AVO)
+ 3 AVO and STP
+ 4 Graphocs processor option (GO)
+ 5 GO and STP
+ 6 GO and AVO
+ 7 GO, STP, and AVO
+ Alternately invoked by ESC Z (not recommended.) Response is the same.
+
+ Reset
+ ESC c
+
+ Confidence Tests
+ Fill Screen with "Es" ESC # 8
+ Invoke Test(s) ESC [ 2 ; Ps y
+ Ps = 1 Power-up self test
+ (ROM checksum, RAM, NVR,
+ keyboard and AVO if installed)
+ 2(loop back connector required) Data Loop Back
+ 4(loop back connector required) ETA Modern Control Test
+ 8 Repeat selected test(s)
+ indefinitely
+ (until failure or power off)
+
+VT52 Compatible Mode
+ Cursor Up ESC A
+ Cursor Down ESC B
+ Cursor Right ESC C
+ Cursor Left ESC D
+ Select Special Graphics character set ESC F
+ Select ASCII character set ESC G
+ Cursor to home ESC H
+ Reverse line feed ESC I
+ Erase to end of screen ESC J
+ Erase to end of line ESC K
+ Direct cursor address ESC Ylc (see note 1)
+ Identify ESC Z (see note 2)
+ Enter alternate keypad mode ESC =
+ Exit alternate keypad mode ESC >
+ Enter ANSI mode ESC <
+
+ NOTE 1: Line and column numbers for direct cursor address are single
+ character codes whose values are the desired number plus
+ 37 (in Octal). Line and column numbers start at 1.
+ NOTE 2: Response to ESC Z is ESC / Z.
+
+
+
+-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+Simon Chan [email protected]
+Department of Electrical & Computer Engineering
+Swearingen Engineering Centre
+University of South Carolina
+Coulmbia, South Carolina 29208
+-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+
+
+Article 269 of comp.terminals:
+Path: cs.utk.edu!gatech!news.ans.net!cmcl2!adm!smoke!gwyn
+From: [email protected] (Doug Gwyn)
+Newsgroups: comp.terminals
+Subject: Re: VT100 Reference Card !!
+Keywords: vt100 terminal escape codes
+Message-ID: <[email protected]>
+Date: 1 Feb 93 15:01:49 GMT
+References: <chan.728236678@hertz>
+Organization: U.S. Army Ballistic Research Lab, APG MD.
+Lines: 25
+
+In article <chan.728236678@hertz> [email protected] (Simon Chan) writes:
+>Taken from VT100 Programming Reference Card (DIGITAL)
+
+Note that EK-VT100-RC-001 contains several errors and omissions.
+The errors appear to all be fixed in the posted version.
+Here are some additions:
+
+ Parameters to Direct cursor addressing can be omitted if 1.
+ "Index" is broken if NEWLINE is enabled (set-up).
+ "Reverse index" scrolls up retaining the same column.
+
+ CHARACTER SET DESIGNATORS: G0 = Shift-In, G1 = Shift-Out
+
+> ANSI/VT52 mode ANSI N/A VT52 ESC [?2l
+ ANSI/VT52 mode ANSI ESC < VT52 ESC [?2l
+ Modes can be combined using ";", for example "ESC [ ? 3 ; 4 ; 7 h"
+
+ CONFIDENCE TESTS: Parameter bits are summed into one parameter.
+
+ Hardcopy ESC # 7
+ Graphic processor ON ESC 1
+ Graphic processor OFF ESC 2
+
+The reference card showed incorrect graphics for octal code 140; its
+correct graphic is ` (accent grave).
+
+
diff --git a/konsole/doc/More/vt100_scroll_region.txt b/konsole/doc/More/vt100_scroll_region.txt
new file mode 100644
index 000000000..4297aaba3
--- /dev/null
+++ b/konsole/doc/More/vt100_scroll_region.txt
@@ -0,0 +1,124 @@
+Newsgroups: comp.terminals,comp.protocols.misc
+Subject: ANSI X3.64 sequences (was Re: VT100 scrolling region)
+Summary: Escape code effects
+Expires: Sun, 31 Jan 1993 22:23:24 GMT
+Followup-To: comp.terminals
+Distribution: world
+Organization: University of Tennessee, Knoxville--Dept. of Computer Science
+Keywords: VT100, scroll, control code, Escape, ANSI X3.64, terminal
+
+In article <[email protected]> [email protected] (Peter D. Smith) writes:
+> In article <[email protected]>, [email protected] (Frank I. Reiter)
+> writes:
+> > Part of an application I am working on includes a VT100 emulator.
+> > 1) Does ESC [;22r mean "scroll lines 0 through 22" or does it mean "Set
+> > the bottom scrolling line to 22, leave the top line as it is set already"?
+>
+> It should mean 'scroll lines 1 to 22'.
+
+The control sequences recognized by the Digital Equipment Corporation
+VT100, VT200, VT300, and VT400-family character-cell video terminals
+are an extended variant of the control sequences specified by an ANSI
+standard, ANSI X3.64. (ISO DP6429 is the international version.)
+
+The generic sequence introducer is a thing called CSI (Control
+Sequence Introducer). If you are using 8-bit communication, you
+can use the hexadecimal value 9B to represent this (but be sure you
+understand the side effects thereof). Otherwise, use the 7-bit
+equivalent: the Escape character (1Bh) followed by [ (the left
+bracket character).
+
+The canonical form of the given scroll-region command would be
+
+ CSI xx ; yy r
+
+or in 7-bit style
+
+ Esc [ xx ; yy r
+
+(where xx and yy are decimal digits expressed in ASCII/IA5; you do not
+actually use a space between sequence elements, this is for clarity.
+Be careful with the notation here--sometimes a space character _is_
+a sequence element, as in the SR Scroll Right editing function.)
+
+In an X3.64 control sequence, the numeric arguments may default to an
+arbitrary value specific to the device function being controlled. Do
+not assume that the default always will be 0 or 1. (Or there may be
+no default allowed.) For example, the numeric arguments in the GSM
+(Graphic Size Modify) sequence have the default values 100, 100.
+
+As a private extension to X3.64, DEC defines the DECSTBM (Set Top and
+Bottom Margins) command as follows:
+
+ CSI Pt ; Pb r
+
+ Selects top and bottom margins defining the scrolling region.
+ Pt is the line number of the first line in the scrolling region.
+ Pb is the line number of the bottom line.
+ If you do not select either Pt or Pb, they default to the top
+ and bottom respectively. Lines are counted from 1.
+
+(See \VT220 Programmer Pocket Guide/, part EK-VT220-HR-002, page 37.)
+
+> Remember that these sequences
+> could be implemented in TTL without a microprocessor of any
+> kind & therefore use the simplest possible implementation.
+
+Peter must be thinking of the much simpler DEC VT52 sequences. As far
+as I know, terminals implementing X3.64 have ALWAYS used a built-in
+microprocessor. The VT100 was built around an 8-bit-bus Intel 8085.
+
+In fact, when the X3.64 document was published (circa 1978), some
+vendors, insisting on using discrete logic designs, objected that the
+standard was so complex it could not be implemented. Most of these
+vendors are now floating belly-up on the tide of technology. Some
+credit is due to The Heath Company for a pioneering microprocessor-
+based video terminal that implemented many of the X3.64 functions.
+
+> > 2) Should a clear screen code clear the scrolling region only, or the
+> > entire screen? How about a clear to end of screen?
+>
+> I think this is the whole screen regardless of the scrolling region.
+> Don't bet your company on it, though.
+
+Screen clearing should not depend on scrolling.
+
+Erasing parts of the display (EL and ED) in the VT100 is performed thus:
+
+ Erase from cursor to end of line Esc [ 0 K or Esc [ K
+ Erase from beginning of line to cursor Esc [ 1 K
+ Erase line containing cursor Esc [ 2 K
+ Erase from cursor to end of screen Esc [ 0 J or Esc [ J
+ Erase from beginning of screen to cursor Esc [ 1 J
+ Erase entire screen Esc [ 2 J
+
+Some brain-damaged terminal/emulators respond to Esc [ J as if it were
+Esc [ 2 J (here the default is 0), and _some_ versions of Microsoft's
+MS-DOS ANSI.SYS contain a bug requiring software to send Esc [ k
+(instead of the uppercase). Of course, you would never make this mistake.
+
+The VT200 and later terminals have the ECH control sequence:
+
+ Esc yy X
+
+(where yy is a numeric parameter)
+
+This erases the cursor position and the next (yy-1) positions, but this
+is not part of the least common denominator VT100.
+
+ - - - - - -
+
+There is still various video-terminal information available for
+anonymous FTP in "pub/shuford" from
+
+ CS.UTK.EDU [128.169.94.1]
+
+ - - - - - -
+
+VT, Flip Chip, DIBOL, and Rainbow are trademarks of Digital Equipment
+Corporation.
+
+ = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
+
diff --git a/konsole/doc/More/vt100_setup.txt b/konsole/doc/More/vt100_setup.txt
new file mode 100644
index 000000000..1bdf44cdd
--- /dev/null
+++ b/konsole/doc/More/vt100_setup.txt
@@ -0,0 +1,170 @@
+From: [email protected] (Jim Sherwin)
+Newsgroups: comp.terminals
+Subject: Re: VT100 (DEC) Setup Problem (online/offline)
+Message-ID: <[email protected]>
+Date: 25 Oct 91 02:02:07 GMT
+Organization: DEC -- Video, Image and Printer Systems Group
+Lines: 63
+
+
+ Striking the SET-UP key places you into SET-UP A mode. SET-UP A is
+ basically your tab stops. Use the space bar to move along the ruler
+ and strike the T key at the desired tab stop location.
+
+ SET-UP B may only be entered from SET-UP A and is done be striking
+ the 5 on the main keyboard (i.e. top-row).
+
+ To exit SET-UP B strike the SET-UP key.
+
+ The SET-UP parameters are as follows:
+
+
+ Bank Position Parameters
+
+ 1 1 Scroll; 0=jump; 1=smooth
+ 1 2 Autorepeat; 0=off; 1=on
+ 1 3 Screen; 0=dark; 1=light
+ 1 4 Cursor; 0=underline; 1=block
+
+ 2 1 Margin Bell; 0=off; 1=on
+ 2 2 Keyclick; 0=off; 1=on
+ 2 3 ANSI/VT52; 0=VT52; 1=ANSI
+ 2 4 Auto XON/XOFF; 0=off; 1=on
+
+ 3 1 Pound Sign; 0=octothorpe; 1=British Pound
+ 3 2 Wrap Around; 0=off; 1=on
+ 3 3 New Line; 0=off; 1=on
+ 3 4 Interlace; 0=off; 1=on
+
+ 4 1 Parity Sense; 0=odd; 1=even
+ 4 2 Parity; 0=off; 1=on
+ 4 3 Bits per Char; 0=7 bits; 1=8 bits
+ 4 4 Power; 0=60 Hz; 1=50 Hz
+
+ While in SET-UP B mode, these features are set by positioning the
+ cursor above the feature switch, using the spacebar, and striking
+ the 6 key on the main keyboard.
+
+ To set the ANSWERBACK MESSAGE, enter SET-UP B and strike the SHIFT
+ and A keys simultaneously. The terminal will respond with A = on
+ the screen. Type a message delimiter character which may be any
+ chaacter not used in the actual message. Type the ANSWERBACK
+ MESSAGE, up to 20 characters. Type the message delimiter
+ character. The message will disappear from the screen. You may
+ not edit an ANSWERBACK MESSAGE. You may only supercede it with a
+ new ANSWERBACK MESSAGE.
+
+ To save the SET-UP, strike the SHIFT and S keys simultaneously,
+ while in SET-UP mode.
+
+ I hope this helps.
+
+ Jim
+
+
+ <>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>
+ <> "When things are going well, \ Jim Sherwin a.k.a. <>
+ <> someone will inevitably \ [email protected] <>
+ <> experiment detrimentally." \ !decwrl!royalt.enet.dec.com!sherwin <>
+ <> Boyle's Second Law \ sherwin%[email protected] <>
+ <>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>
+
+
+Article 20936 of comp.dcom.modems:
+Path: utkcs2!darwin.sura.net!jvnc.net!yale.edu!think.com!news.bbn.com!news.bbn.com!news
+From: Paul Placeway <[email protected]>
+Newsgroups: comp.dcom.modems,alt.bbs
+Subject: Re: Detecting ANSI on a remote system
+Date: 11 Jul 1992 00:04:09 GMT
+Lines: 82
+Message-ID: <[email protected]>
+NNTP-Posting-Host: bbn.com
+Xref: utkcs2 comp.dcom.modems:20936 alt.bbs:11447
+
[email protected] (Nils Hammar) writes:
+
+< [email protected] (David Emami) writes:
+
+
+< >I am currently writing a communications app using TurboVision; I've got a
+< >view that can display ANSI, but how do I let the system that I hook up with
+< >that I can use ANSI codes. Most BBS's that I've tried respond with "ANSI
+< >detected" or "ANSI not detected" when I login using a commercial term
+< >program, based on the emulation I'm using. I presume that the BBS sends a
+< >string which I need to respond to in a certain way; what should my program
+< >be looking for, and how should it answer? Any help would be appreciated.
+
+< What I have been using is the function that reports the cursor position.
+< If you get an answer on that request that is correct, it's ANSI, or a VT100
+< compatible terminal. To determine if it's a VT100 or similar, you will have
+< to send a second request that's only recognized by the VT100 or
+< similar terminals. That request will result in an answer that tells you
+< almost everything that you need to know about the terminal.
+< If this secondary request doesn't give you any response, then it's only
+< ANSI. This is a really nice way to find out if you can send high resolution
+< graphics to the caller too. What a surprise to get a hig resolution
+< picture on the screen when you are calling an ordinary BBS!
+
+The ANSI Device Status Report (DSR) is
+
+ ESC [ <n> n
+
+where <n> is 5 for a status report (OK reply is "ESC [ 0 n"), and 6
+for report cursor position (reply is "ESC [ <row> ; <col> R").
+
+ANSI (and DEC) Send Device Attributes is
+
+ ESC [ <n> c
+
+where <n> is a number, in ASCII 0-9, and usually is 0 for the request.
+
+Here are a (small) selection of replies:
+
+ what reply comments
+ ---- ----- -----------
+ xterm ESC[?1;2c VT100 w/AVO
+ MacKermit ESC[?1;2c
+ VT102 ESC[?6c
+ VT320 ESC[63;1;2;8;9c
+
+(These are from vttest, by Per Lindberg)
+
+ vanilla VT100 ESC[?1;0c no options
+ VT100 with STP ESC[?1;1c
+ VT100 with AVO ESC[?1;2c could be a VT102
+ VT100 with STP and AVO ESC[?1;3c
+ VT100 with GPO ESC[?1;4c
+ VT100 with STP and GPO ESC[?1;5c
+ VT100 with AVO and GPO ESC[?1;6c
+ VT100 with STP, AVO and GPO ESC[?1;7c
+ VT100 with PP and AVO ESC[?1;11c
+ VT100 with PP, GPO and AVO ESC[?1;15c
+ VT132 with AVO ESC[?4;2c
+ VT132 with AVO and STP ESC[?4;3c
+ VT132 with GPO and AVO ESC[?4;6c
+ VT132 with GPO, AVO, and STP ESC[?4;7c
+ VT132 with PP and AVO ESC[?4;11c
+ VT132 with PP, GPO and AVO ESC[?4;15c
+ VT131 ESC[?7c
+ VT125 ESC[?12;5c VT125 also has ROM version
+ VT125 with AVO ESC[?12;7c number, so this won't work
+ VK100 (GIGI) ESC[?5;0c
+ VK100 (GIGI) ESC[?5c
+
+ DXterm (DEC's version of xterm) ESC[?63;1;3;4;6;8;9;15;16;29c
+
+< For this reason, I once wrote a program that convert PCX pictures
+< to DEC Sixel Graphics. It was interesting to view those pictures
+< on the screen with MS-KERMIT (which supports Sixel Graphics in colour.)
+< The only disadvantage was that Sixel graphics is bitmapped and slow.
+
+This is cute, but one needs to be careful about assuming what a
+terminal emulator will do based on what it claims to be. There are a
+lot of mediocre "emulations" out there. This is partially because the
+ANSI spec allows the terminal to do a lot of weird and unexpected
+things, like embedding simple control characters in the middle of an
+escape sequence. ("foo ^H^[^H[^H4^HCbar" should render as "foo bar".
+Yuck.)
+
+ -- Paul Placeway <[email protected]>
diff --git a/konsole/doc/More/vttest.html b/konsole/doc/More/vttest.html
new file mode 100644
index 000000000..1474d7601
--- /dev/null
+++ b/konsole/doc/More/vttest.html
@@ -0,0 +1,205 @@
+<html><head>
+<title>The VTTEST VT100/102 Terminal Emulation Test</title>
+</head><body>
+<h3>The VTTEST VT100/102 Terminal Emulation Test</h3>
+
+The VTTEST program was written in 1983-85 by Per Lindberg of Stockholm
+University in Sweden to exercise and test all the features of a Digital
+Equipment Corporation (DEC) VT100 or VT102 terminal or software that emulates
+one of these terminals. Incidentally, the primary additional feature of the
+VT102 terminal over the VT100 is character insertion and deletion, important in
+text-editing applications (like vi or EMACS), especially on slow connections.
+<p>
+You may obtain the C-language source code for the VTTEST program by ftp,
+compile it on your UNIX system (or adapt it to others), and run the tests
+yourself:
+<p>
+<a href="ftp://kermit.columbia.edu/kermit/vttest/">
+ftp://kermit.columbia.edu/kermit/vttest/</a>
+<p>
+The VTTEST program does not test any features of the VT220 or above,
+nor of esoteric VT models like VT125, VT131, etc. A VT220/320 test suite
+similar to VTTEST would be most welcome, but none seems to exist.
+<p>
+The following sheet may be used to administer the test. There are 100
+points, plus 10 possible extra-credit points, so the highest possible
+score would be 110. To minimize confusion and promote fairness, begin with
+your emulator set to:
+<ul>
+<li>VT102 (or, if no VT102, then VT100) emulation;
+<li>24 rows by 80 columns;
+<li>Light foreground on dark background;
+<li>Answerback enabled.
+</ul>
+<pre>
+<hr>
+VTTEST VT100/VT102 Compatibility Test Score Sheet
+
+Program and version: konsole______________________________ Date: _________
+
+Score: ____________ + Extra credit: ___________ = Final score: ___________
+
+Check box if test passed. Score 1 point per check mark.
+Perfect score = 100 points. Extra credit at end.
+
+1. Test of cursor movements
+
+[1] 1. Text inside frame of E's inside frame of *'s and +'s, 80 columns
+[1] 2. Text inside frame of E's inside frame of *'s and +'s, 132 columns
+[1] 3. Cursor-control chars inside ESC sequences
+[1] 4. Leading 0's in ESC sequences
+
+2. Test of screen features
+
+[1] 5. Three identical lines of *'s (test of wrap mode)
+[1] 6. Test of tab setting/resetting
+[1] 7. 132-column mode, light background
+[1] 8. 80-column mode, light background
+[1] 9. 132-column mode, dark background
+[1] 10. 80-column mode, dark background
+[1] 11. Soft scroll down
+[1] 12. Soft scroll up / down
+[1] 13. Jump scroll down
+[1] 14. Jump scroll up / down
+[1] 15. Origin mode test (2 parts)
+
+ Graphic Rendition test pattern, dark background
+
+[1] 16. Normal ("vanilla")
+[1] 17. Normal underlined distinct from normal
+[1] 18. Normal blink distinct from all above
+[1] 19. Normal underline blink distinct from all above
+[1] 20. Normal reverse ("negative") distinct from all above
+[1] 21. Normal underline reverse distinct from all above
+[1] 22. Normal blink reverse distinct from all above
+[1] 23. Normal underline blink reverse distinct from all above
+[1] 24. Bold distinct from all above
+[1] 25. Bold underlined distinct from all above
+[1] 26. Bold blink distinct from all above
+[1] 27. Bold underline blink distinct from all above
+[1] 28. Bold reverse ("negative") distinct from all above
+[1] 29. Bold underline reverse distinct from all above
+[1] 30. Bold blink reverse distinct from all above
+[1] 31. Bold underline blink reverse distinct from all above
+
+ Graphic Rendition test pattern, light background
+
+[1] 32. Normal ("vanilla")
+[1] 33. Normal underlined distinct from normal
+[1] 34. Normal blink distinct from all above
+[1] 35. Normal underline blink distinct from all above
+[1] 36. Normal reverse ("negative") distinct from all above
+[1] 37. Normal underline reverse distinct from all above
+[1] 38. Normal blink reverse distinct from all above
+[1] 39. Normal underline blink reverse distinct from all above
+[1] 40. Bold distinct from all above
+[1] 41. Bold underlined distinct from all above
+[1] 42. Bold blink distinct from all above
+[1] 43. Bold underline blink distinct from all above
+[1] 44. Bold reverse ("negative") distinct from all above
+[1] 45. Bold underline reverse distinct from all above
+[1] 46. Bold blink reverse distinct from all above
+[1] 47. Bold underline blink reverse distinct from all above
+
+ Save/Restore Cursor
+
+[1] 48. AAAA's correctly placed
+[1] 49. Lines correctly rendered (middle of character cell)
+[1] 50. Diamonds correctly rendered
+
+3. Test of character sets
+
+[1] 51. UK/National shows Pound Sterling sign in 3rd position
+[1] 52. US ASCII shows number sign in 3rd position
+[1] 53. SO/SI works (right columns identical with left columns)
+[1] 54. True special graphics & line drawing chars, not simulated by ASCII
+
+4. Test of double-sized chars
+
+ Test 1 in 80-column mode:
+
+[0] 55. Left margin correct
+[0] 56. Width correct
+
+ Test 2 in 80-column mode:
+
+[0] 57. Left margin correct
+[0] 58. Width correct
+
+ Test 1 in 132-column mode:
+
+[0] 59. Left margin correct
+[0] 60. Width correct
+
+ Test 2 in 132-column mode:
+
+[0] 61. Left margin correct
+[0] 62. Width correct
+
+[0] 63. "The man programmer strikes again" test pattern
+[0] 64. "Exactly half the box should remain"
+
+5. Test of keyboard
+
+[?] 65. LEDs.
+[?] 66. Autorepeat
+[1] 67. "Press each key" (ability to send each ASCII graphic char)
+[1] 68. Arrow keys (ANSI/Cursor key mode reset)
+[1] 69. Arrow keys (ANSI/Cursor key mode set)
+[?] 70. Arrow keys VT52 mode
+[?] 71. PF keys numeric mode
+[?] 72. PF keys application mode
+[?] 73. PF keys VT52 numeric mode
+[?] 74. PF keys VT52 application mode
+[1] 75. Send answerback message from keyboard
+[?] 76. Ability to send every control character
+
+6. Test of Terminal Reports
+
+[1] 77. Respond to ENQ with answerback
+[1] 78. Newline mode set
+[1] 79. Newline mode reset
+[1] 80. Device status report 5
+[1] 81. Device status report 6
+[1] 82. Device attributes report
+[1] 83. Request terminal parameters 0
+[1] 84. Request terminal parameters 1
+
+7. Test of VT52 submode
+
+[1] 85. Centered rectangle
+[1] 86. Normal character set
+[1] 87. Graphics character set
+[1] 88. Identify query
+
+8. VT102 Features
+
+[1] 89. Insert/delete line, 80 columns
+[1] 90. Insert (character) mode, 80 columns
+[1] 91. Delete character, 80 columns
+[1] 92. Right column staggered by 1 (normal chars), 80 columns
+[1] 93. Right column staggered by 1 (double-wide chars), 80 columns
+[1] 94. ANSI insert character, 80 columns
+[1] 95. Insert/delete line, 132 columns
+[1] 96. Insert (character) mode, 132 columns
+[1] 97. Delete character, 132 columns
+[1] 98. Right column staggered by 1 (normal chars), 132 columns
+[1] 99. Right column staggered by 1 (double-wide chars), 132 columns
+[1] 100. ANSI insert character, 132 columns
+
+9. Extra credit
+
+[0] 101. True soft (smooth) scroll
+[1] 102. True underline
+[1] 103. True blink
+[0] 104. True double-high/wide lines, not simulated
+[1] 105. Reset terminal (*)
+[0] 106. Interpret controls (debug mode) (*)
+[0] 107. Send BREAK (250 msec) (*)
+[0] 108. Send Long BREAK (1.5 sec) (*)
+[0] 109. Host-controlled transparent / controller print (*)
+[0] 110. Host-controlled autoprint (*)
+
+(*) Features of VT100 not tested by vttest.
+</body>
+</html>
diff --git a/konsole/doc/More/xterm.codes b/konsole/doc/More/xterm.codes
new file mode 100644
index 000000000..b14ead600
--- /dev/null
+++ b/konsole/doc/More/xterm.codes
@@ -0,0 +1,206 @@
+
+ Basic forms
+
+ : Char (ordinary character) - evtChar(char chr)
+ : Cntl (control character) - evtCtrl(char control)
+ : ESC <Mono> - evtMono(char mono)
+ : ESC [ <Ps> <Char> - evtParm(char pc, int n, char* Ps[])
+ : ESC <Duo> <Char> - evtPrmc(char duo, char arg)
+
+ : Special forms for Xterm extentions
+
+
+ DEC private mode.
+
+ - Although <Ps> can be any character in range of 0x30-0x3f, that
+ means any of "0123456789:;<=>?", a scan through different sources
+ shows that DEC private mode is indicated only with the *first*
+ parameter. That means that the '?' is attached only to the first
+ parameter in a sequence and all following are implicitely ment, too.
+ Thus DES private mode and ordinary modes cannot be mixed within
+ one sequence.
+
+------------------------
+
+ The following is a list of control sequences recognized by screen. "(V)"
+ and "(A)" indicate VT100-specific and ANSI- or ISO-specific functions,
+ respectively.
+
+ 'x' in beginning means 'XTerm'. (ftp://ftp.x.org/...?)
+
+x BEL Bell (Ctrl-G)
+x BS Backspace (Ctrl-H)
+x TAB Horizontal Tab (HT) (Ctrl-I)
+x LF Linefeed or New Line (NL) (Ctrl-J)
+x VT Vertical Tab (Ctrl-K) same as LF
+x FF Form Feed or New Page (NP) (Ctrl-L) same as LF
+x CR Carriage Return (Ctrl-M)
+x SO (A) Lock Shift G1 (Ctrl-N)
+x SI (A) Lock Shift G0 (Ctrl-N)
+
+x ESC # 8 (V) Fill Screen with E's (for adjustment)
+
+x ESC ( Pcs (A) Designate character set as G0
+x ESC ) Pcs (A) Designate character set as G1
+x ESC * Pcs (A) Designate character set as G2
+x ESC + Pcs (A) Designate character set as G3
+x Pcs = 0 : Graphics
+x A : UK
+x B : US
+
+x ESC 7 (V) Save Cursor and Attributes
+x ESC 8 (V) Restore Cursor and Attributes
+
+x ESC = (V) Application Keypad Mode
+x ESC > (V) Numeric Keypad Mode
+
+x ESC D Index
+x ESC E Next Line
+x ESC F Cursor to left lower corner
+x ESC H Horizontal Tab Set
+x ESC M Reverse Index
+x ESC N (A) Single Shift G2
+x ESC O (A) Single Shift G3
+x ESC Z Send VT100 Identification String
+
+x ESC [ Pn @ (dft:1) (A) Insert Blank Characters
+x ESC [ Pn A (dft:1) Cursor Up
+x ESC [ Pn B (dft:1) Cursor Down
+x ESC [ Pn C (dft:1) Cursor Right
+x ESC [ Pn D (dft:1) Cursor Left
+
+x ESC [ Pn ; Pn H (dft:1;1) Direct Cursor Addressing
+ ESC [ Pn J (dft:1) Erase in Display
+x Pn = 0 (dft) From Cursor to End of Screen
+x 1 From Beginning of Screen to Cursor
+x 2 Clear whole screen
+ ESC [ Pn K Erase in Line
+x Pn = 0 (dft) From Cursor to End of Line
+x 1 From Beginning of Line to Cursor
+x 2 Clear whole Line
+x ESC [ Pn L (dft: 1) (A) Insert Line
+x ESC [ Pn M (dft: 1) (A) Delete Line
+x ESC [ Pn P (dft: 1) (A) Delete Character
+
+x ESC [ Ps c Send Device Attribute
+x Ps = 0 (dft) Send VT100 Identification String
+x > Send VT220 Secondary Device Attributes String
+
+x ESC [ Pn ; Pn f (dft:1;1) Direct Cursor Addressing (see ESC[H)
+x ESC [ Ps g Clear Tabs
+x Ps = 0 (dft) Clear current
+x 3 Clear all
+
+ ESC [ Ps ;...; Ps h Set Mode
+ ESC [ Ps ;...; Ps l Reset Mode (indicated in parenthesis)
+x Ps = 4 (A) Insert (Replace) Mode
+x 20 (A) Automatic (Normal) Linefeed Mode
+- 34 Normal Cursor Visibility
+
+x ESC [ Ps ;...; Ps m Select Graphic Rendition
+x Ps = 0 (dft) Default Rendition
+x 1 Bold
+- 2 (A) Faint
+- 3 (A) Standout Mode (ANSI: Italicized)
+x 4 Underlined
+x 5 Blinking
+x 7 Negative Image
+
+ 22 (A) Normal Intensity
+ 23 (A) Standout Mode off (ANSI: Italicized off)
+ 24 (A) Not Underlined
+ 25 (A) Not Blinking
+ 27 (A) Positive Image
+
+x 3x (A) Foreground Color x
+x 4x (A) Background Color x
+x x = 0 (A) Black
+x 1 (A) Red
+x 2 (A) Green
+x 3 (A) Yellow
+x 4 (A) Blue
+x 5 (A) Magenta
+x 6 (A) Cyan
+x 7 (A) White
+x 9 (A) Default
+
+x ESC [ 6 n Send Device Report
+x Ps = 5 Send Status report (ESC [ 0 n)
+x 6 Send Cursor Position Report (ESC [ Row ; Col R)
+
+x ESC [ Pn ; Pn r (dft:all) Set Scrolling region
+
+x ESC [ ? Ps ; ... Ps h Set DEC private mode
+x ESC [ ? Ps ; ... Ps l Reset DEC private mode
+x ESC [ ? Ps ; ... Ps s Save DEC private mode
+x ESC [ ? Ps ; ... Ps r Restore DEC private mode
+x Ps = 1 (V) Application (Normal) Cursor Keys
+x 2 // xterm: US -> G0..G3 // vt100: --> ansi/vt52
+x 3 (V) 132 (80) columns mode
+x 4 Smooth (Fast) Scroll
+x 5 (V) Reverse (Normal) Video
+x 6 (V) Origin (Normal) Cursor Mode
+x 7 (V) Wraparound (Normal) Cursor Mode
+x 8 (No) Autorepeat Keys
+x 9 (Don't) Send Mouse XY on button press
+x 40 (Dis-) Allow 80<->132
+x 44 turn on (off) margin bell
+x 45 (no) reverse wrap around mode
+x 47 use (normal) alternate screen
+x 1000 (don't) send mouse XY on button press and release
+
+ i won't care for that
+x-- 38 Enter Textronix Mode
+x?? 41 (No) 'more(1)' fix
+x- 46 start (stop) logging
+x 1001 (don't) use hilite mouse tracking
+
+----------------------------------------------
+
+following some Xterm specific commands
+
+x ESC ] Ps ; Pt BEL (A) Operating System Command (xterm title hack)
+x Ps = 0
+x 1
+x 2
+x 46
+x 50
+
+x ESC ^ Pt ESC \ (A) Privacy Message String (Message Line)
+x- ESC _ Pt ESC \ (A) Application Program Command
+x- ESC P Ps ESC \ (A) Device Control String. Outputs a string
+ directly to the host terminal without
+ interpretation.
+
+----------------------------------------------
+
+x ESC c Full Reset
+
+x ESC n (A) Lock Shift G2
+x ESC o (A) Lock Shift G3
+
+------------ more...
+
+ ESC [ s (A) Save Cursor and Attributes
+
+ ESC [ 8 ; Ph ; Pw t Resize the window to `Ph' lines and `Pw' columns
+ (SunView special)
+
+ ESC \ (A) String Terminator
+ ESC ! Global Message String (Message Line)
+ ESC k A.k.a. Definition String
+
+- ESC [ Pn i (A) Relay to printer (ANSI Media Copy)
+- Pn = 4 (A) Stop relay to printer (ANSI Media Copy)
+- 5 (A) Start relay to printer (ANSI Media Copy)
+
+x- ESC l Memory Lock (HP) (FIXME: what that?)
+x- ESC m Memory Unlock (HP) (FIXME: what that?)
+
+x- ESC |
+x- ESC }
+x- ESC ~
+
+//FIXME: ESC[...T is hilite mouse tracking in xterm.
+- ESC [ Pn S Scroll Scrolling Region Up
+- ESC [ Pn T Scroll Scrolling Region Down
diff --git a/konsole/doc/README.first b/konsole/doc/README.first
new file mode 100644
index 000000000..59471ac04
--- /dev/null
+++ b/konsole/doc/README.first
@@ -0,0 +1,4 @@
+The material contained in here is a unsorted collection, or, if you prefer to
+say so, a mess. Expect a proper documentation to follow later.
+
+May 1998, Lars.
diff --git a/konsole/doc/VT100/Makefile.am b/konsole/doc/VT100/Makefile.am
new file mode 100644
index 000000000..04367ed5e
--- /dev/null
+++ b/konsole/doc/VT100/Makefile.am
@@ -0,0 +1,3 @@
+EXTRA_DIST = Table.Codes Table.Graphic Table.VT52 \
+ awk.table.graphic db.trans db2.pl genTC.pl t.pl \
+ vt100.gif konsole1.gif konsole2.gif techref.html
diff --git a/konsole/doc/VT100/MoreText b/konsole/doc/VT100/MoreText
new file mode 100644
index 000000000..e8804236f
--- /dev/null
+++ b/konsole/doc/VT100/MoreText
@@ -0,0 +1,98 @@
+The refinement discussed here so far, is implemented in the
+overall structure of the program:
+
+
+ Operations -------------X
+ Screen(s)
+ Protocol / |
+ Shell X------------X Emulation |
+ \ V
+ Widget
+ Events X------------------
+
+
+Part Application Protocol Data model Visualization
+ User Events
+
+Files TEShell.C TEmulation.C Screen.C TEWidget.C
+ TEVt102.C
+
+Types TEShell Emulation TEScreen TEWidget
+
+
+
+The abstract data type, in which the text is represented and
+manipulated by a set of operations is
+
+
+------------------------------------------------------------------
+
+On the first glance, the terminal consists of the following
+parts:
+
+- A screen to display characters to the user on a rectangular area.
+- A keyboard to accept the user keypresses.
+- A bidirectional serial connection, on which the application
+ sends the text to be displayed to the terminal and on which
+ the user's key pressed are forwarded to the application.
+- The application that actually run on the terminal.
+
+More formally our terminal model consists of
+- a character screen : a matrix [Lines,Columns] -> Character
+- a current visual pointer position (cursor).
+- a set of operations by which the screen can be manipulated
+- a set of events (mainly keystrokes)
+- two streams on which bytes are exchanged between the
+ application and the terminal which are used to communicate
+ the operations and events between the two end points.
+- an initial state.
+
+ 0 (columns) V--- Columns-1
+ +-----------------------+
+ | | 0
+ | text on |
+ | the screen |
+ | | (lines)
+ | |
+ | |
+ | | Lines-1
+ +-----------------------+
+
+
+For adressing purpose, we call the (columnNo,lineNo) pair a "position"
+
+- protocol == collection of operations and their encoding.
+
+Beschreibung
+
+- Strom von Kommandos und Anfragen
+- Strom von Ereignissen und Antworten
+
+- HostToTerminalStream
+ : Sequence(Command U Request)
+
+- Type Command-Tokens
+ : Prn(Char) - literal(Character) - 1 char subset
+ : Ctl(Char) - 0-parm command
+ : Esc(Char) - 0-parm command
+ : Csi(Char,Args) - fix & flex num parm command
+ - some are sub-commands
+ : Pri(Char,Args) <: Csi("?",Char,Args) - fix & flex num parm command
+ - some are sub-commands
+ : Hsh(Char) - 0-parm command
+ : Scs(A,B) - 2-parm num command
+ : Vt5(A,B) - 2-parm num command
+
+- command definition
+
+ : name(parm:Type<:Integer)
+
+ : setFgColor(color)
+ : setBgColor(color)
+ : setReverse(bool)
+ : setBold(bool)
+ : setBlink(bool)
+
+------------------------------------------------------------------
+
+
diff --git a/konsole/doc/VT100/Table.Codes b/konsole/doc/VT100/Table.Codes
new file mode 100644
index 000000000..6ece0f4bf
--- /dev/null
+++ b/konsole/doc/VT100/Table.Codes
@@ -0,0 +1,1879 @@
+##############################################################################
+# #
+# [Table.Codes] Concept Data Base #
+# #
+# Copyright (c) 1998 by Lars Doelle <[email protected]> #
+# This file is part of Konsole #
+##############################################################################
+
+# This is work in progress. The overall goal is to link the documentation of
+# konsole closely to it's source. Further, the source could be organize such
+# that the emulation dependent parts are separated from everything else.
+# If this goal is matched, the emulation independent parts have to undergo
+# documentation, also.
+#
+# Refere to [db.trans] for not-yet-integrated stuff.
+#
+# What has to be done in any case is to merge db.trans into this file and to
+# make a script that extracts it again. From db.trans, we then generate parts
+# of the decoder (the semantic assignment).
+#
+# db2.pl contains as script able to slit TEScreen.C into the emulation
+# (in)dependent parts due to [db.trans].
+#
+# A like thing has to be done for TEmuVt102.C/h and for TEScreen.h.
+#
+# The missing link in the moment is a proper handling of all the Ps arguments
+# that refere to different routines (subfunction of an esc code).
+
+## Section Text ##############
+
+Introduction.html
+ <h2>Introduction</h2>
+ <p>
+ In a traditional UNIX installation a single machine (host) served
+ several users by means of terminals attached to this host by a serial
+ cable. These terminals (end points) where specialized devices, either
+ regular ttys (printer with keyboard) or later more sophisticated
+ things with cathode ray tubes.
+ <p>
+ <center><img src="konsole2.gif"></center>
+ <p>
+ Today, hardware has become so cheap, that each single user could
+ be provided with a complete host/display combination for the former
+ price of a terminal.
+ <p>
+ Additional, and here we come to the X in the emulation, display
+ devices have become graphical while the original terminal where
+ only able to show characters but not graphics.
+ <p>
+ To allow programs designed for the original configuration to be
+ used in the contemporary setup, "terminal emulations" where invented.
+ In these emulations, the whole original setup is simulated.
+ <p>
+ The serial cable is folded into the operating system as a sort of
+ loop back device, and a program, the terminal emulation, uses modern
+ means of graphical user interfaces to behave like an earlier terminal.
+ To complete the picture, the host in the diagram is replaced by the
+ application that runs in the emulation (typically a shell or an old
+ editor). So, terminal emulations are in fact interfaces to character
+ oriented applications.
+ <p>
+ This document describes the implementations of a program named
+ "konsole", which is such an X terminal emulation. Since konsole
+ is distributed under the GPL, meaning that it's source code is
+ available to whoever likes to hack on it, the program would be
+ incomplete without a proper introduction into the code and it's
+ concepts. Thus, this text is to complement the program and the
+ source with the remaining informations to make a complete product.
+ <p>
+ <h2>A first refinement</h2>
+ <p>
+ Before we can come to the actual implementation, quite some
+ notions have to be introduced. We have to get us an idea what
+ a terminal emulation does in more detail.
+ <p>
+ To this end, a simple model of the terminal and it's operation
+ is given, which is later extended and refined as we come deeper
+ into matter and implementation.
+ <p>
+ At some level conception, a terminal can be described as a
+ (abstract) data model. This means it has some type of state
+ together with operations on that data type. These operations
+ are somehow encoded to be passed over the serial line.
+ <p>
+ The concrete model is often loosely named the "emulation",
+ the specific encoding chosen, the "protocol".
+ <p>
+ There are two principle models in use. The first, stream like
+ one, which is related to a tty, consideres the terminal as an
+ indefinit long and wide sheet of paper on which a printer head
+ types the characters that come in over the line. Typical examples
+ are shell scripts, make and other programs producing sequential
+ protocols of their activity. Their basic data type is a list of
+ list of characters.
+ <p>
+ The second principle model is used by applications written
+ especially for crt devices, so called full screen applications.
+ These treat the terminal as a matrix of characters where each
+ position can be individually addressed and written to. Typical
+ representatives are full screen editors like vi and emacs,
+ file managers like mc and mail readers like mutt.
+ <p>
+ Though the second model is newer, it's age does not imply a
+ preference. To the contrary, both models have a right for their
+ own and are both to be supported. The first model is fully
+ expressed within konsole in form of it's ref:history buffer.
+ <p>
+ Note, that although the second model definitely build on the
+ first one in almost any respect, it cannot fully express it,
+ since it introduces a finite line length, while the first
+ model works with indefinite lines.
+ <p>
+ Since application with both view of things are typically run
+ within the same session, some effort has been made within
+ konsole to maintain both ideas simultaniously, but only with
+ limited success so far.
+ <p>
+ In both models, the notion of a current position (historically
+ a printer's head, nowadays visualized by a cursor) is present.
+ "Printing" a character at the current position and advancing
+ the head together with the starting a new line are the most
+ fundamental operations of the emulation.
+ <p>
+ The full screen model basically adds the possibility to position
+ the cursor and to overwrite and clear the screen.
+ <p>
+ A plethora of additional (more or less useful) commands are
+ then added on this by every specific emulation, see below for
+ the awful details.
+ <p>
+ <!-- BEGIN: new section about the codes -->
+ <h2>Parts of the model</h2>
+ <p>
+ <it>All the following in this section is an outline</it>.
+ <p>
+ Parts of the terminal description
+ <ul>
+ <li>State
+ <br>This is mainly the screen, the cursor (including it's graphical state)
+ and some hidden mode variables. Note that the state cannot be investigated
+ by the attached host.
+ <li>Interface
+ <br>That's what goes over the wire. Beside being related to objects, this
+ appears so closely related to contemporal process communication, that
+ it might be discussed in likely terms.
+ <br>We have information flowing in both directions. On could destinguist
+ between:
+ <li>Commands
+ <br>These are "calls" of the terminals interface by the host which cause
+ some change of the terminals state, but do not end in a response.
+ <li>Requests
+ <br>These are "calls" of the terminals interface by the host which do not cause
+ any change of the terminals state, but end in a response of the terminal.
+ Clearly, requests are somehow used to investigate the state of the terminal.
+ <li>Events
+ <br>These are signals from the terminal caused by the user affecting the
+ mouse or keyboard to the host.
+ <li>Replys
+ <br>These are send by the terminal as a result of a Request from the hosts.
+ <li>Encoding/Decoding
+ </ul>
+
+Sequences.html
+ Conceptually, the commands to the terminal emulation are encoded if form
+ of byte sequences to meet the restrictions of the transport media. These
+ sequences have pretty different originations and therefore the format of
+ the sequences are inhomogenous.
+ <p>
+ Refering both to their origin and form, one can group the overall encoding
+ schemes as follows:
+ <p>
+ <table>
+ <tr><td width=20% bgcolor=#d0d0d0>Name</td><td width=20% bgcolor=#d0d0d0>Pattern</td><td bgcolor=#d0d0d0>Scope</td><td bgcolor=#d0d0d0>Comment</td></tr>
+ <tr><td>Printable Ascii Characters</td><td>32..126</td><td>ASCII ECMA</td>
+ <td>This is the most original pattern of all. The characters to be
+ displayed are passed over the chanel and are interpreted by the
+ terminal (emulation) as instructions to display the corresponding
+ glyph of the ascii character set. Contempory emulations include the
+ upper half (128..255) of the extentions to the national ascii character
+ sets, also.</td></tr>
+ <tr><td>Ascii Control Characters</td><td>0..26,28..31,127</td><td>ASCII ECMA</td>
+ <td>Ascii defines some non-printable, but format effecting characters, too.
+ Depending on the emulation, at least some of them are given a meaning.
+ The typically implemented ones are those that are handled by a teletype
+ like device.</td></tr>
+ <tr><td>Simple Escape Sequence</td><td><b>ESC</b> <i>C</i></td><td>ECMA</td>
+ <td>These sequences are made up from an <b>ESC</b> character followed by
+ exactly one other character in the range ???..???.</td></tr>
+ <tr><td>CSI Sequence</td>
+ <td><b>ESC</b> <b>[</b> <i>Parameters</i> {<i>I</i>} <i>C</i></td>
+ <td>ECMA</td>
+ <td></td></tr>
+ <tr><td colspan=4>
+ <p>
+ The remaining codes are nonstandard but traditionalized hacks.
+ <p>
+ </td></tr>
+ <tr><td>DEC hacks</td>
+ <td><b>ESC</b> <i>C</i> <i>D</i></td>
+ <td>VT100</td>
+ <td></td></tr>
+ <tr><td>XTERM hacks</td>
+ <td><b>ESC ]</b> <i>Pn</i> <b>;</b> <i>text</i> <b>BEL</b></td>
+ <td>XTERM</td>
+ <td></td>
+ <tr><td colspan=4>
+ <p>
+ VT52 uses a different (incompatible) set of escape codes. VT100 includes
+ the VT52 emulation as a mode.
+ <p>
+ </td></tr>
+ </tr>
+ <tr><td>Simple Escape Sequence</td><td><b>ESC</b> <i>C</i></td><td>VT52</td>
+ <td></td></tr>
+ <tr><td>Complex Escape Sequence</td><td><b>ESC</b> <b>Y</b> <i>X</i> <i>Y</i></td><td>VT52</td>
+ <td></td></tr>
+ .
+ </table>
+ .
+ <h3>More on Control Sequences</h3>
+ .
+ <h4>Control Characters</h4>
+ .
+ Control characters (codes 0x00 - 0x1f inclusive) are specifically excluded
+ from the control sequence syntax, but may be embedded within a control
+ sequence. Embedded control characters are executed as soon as they are
+ encountered by a VT100. The processing of the control sequence then
+ continues with the next character received. The exceptions are:
+ if the <a href=#ESC>ESC</a> character occurs, the current control sequence
+ is aborted, and a new one commences beginning with the <a href=#ESC>ESC</a>
+ just received. If the character <a href=#CAN>CAN</a> (0x0c) or the
+ character <a href=#SUB>SUB</a> (0x0e) occurs,
+ the current control sequence is aborted. The ability to embed control
+ characters allows the synchronization characters XON and XOFF to be
+ interpreted properly without affecting the control sequence.
+ <p>
+ .
+ <h4>CSI Sequences</h4>
+ .
+ <dl>
+ <dt>Control Sequence Introducer (CSI):
+ <dd>An escape sequence that provides
+ supplementary controls and is itself a prefix affecting the
+ interpretation of a limited number of contiguous characters.
+ In the VT100, the CSI is: &lt;ESC&gt;[
+ .
+ <dt>Parameter:
+ <dd>1. A string of zero or more decimal characters which
+ represent a single value. Leading zeros are ignored. The
+ decimal characters have a range of 0 (060) to 9 (071).
+ <br>2. The value so represented.
+ .
+ <dt>Numeric Parameter:
+ <dd>A parameter that represents a number, designated by Pn.
+ .
+ <dt>Selective Parameter:
+ <dd>A parameter that selects a subfunction from a
+ specified set of subfunctions, designated by Ps. In general, a
+ control sequence with more than one selective parameter causes
+ the same effect as several control sequences, each with one
+ selective parameter, e.g., CSI Psa; Psb; Psc F is identical to
+ CSI Psa F CSI Psb F CSI Psc F.
+ .
+ <dt>Parameter String:
+ <dd>A string of parameters separated by a semicolon.
+ .
+ <dt>Default:
+ <dd> A function-dependent value that is assumed when no explicit
+ value, or a value of 0, is specified.
+ .
+ <dt>Final character:
+ <dd>A character whose bit combination terminates an escape or control sequence.
+ </dl>
+ .
+ <em>EXAMPLE</em>: Control sequence to turn off all character attributes, then
+ turn on underscore and blink attributes (<a href=#SGR>SGR</a>).
+ .
+ <center><img src="konsole1.gif"></center>
+ <p>
+ The octal representation of this string is:
+ <pre>
+ 033 0133 060 073 064 073 065 0155
+ &lt;ESC&gt; [ 0 ; 4 ; 5 m
+ </pre>
+ .
+ Alternate sequences which will accomplish the same thing:
+ .
+ <ul>
+ <li><code>&lt;ESC&gt;[;4;m </code>
+ <li><code>&lt;ESC&gt;[m </code>
+ <br><code>&lt;ESC&gt;[4m </code>
+ <br><code>&lt;ESC&gt;[5m </code>
+ <li><code>&lt;ESC&gt;[0;04;005m</code>
+ </ul>
+ .
+ <h4>DEC hacks</h4>
+ .
+ These form two groups of commands.
+ <p>
+ In one first the first character is a hash (<em>#</em>) and the following a digit.
+ This command group is used to denote VT100 specific instructions and can
+ safely be sonsidered to be obsolete. See
+ <a href=#DECALN>DECALN</a>,
+ <a href=#DECDHLB>DECDHLB</a>,
+ <a href=#DECDHLT>DECDHLT</a>,
+ <a href=#DECDWL>DECDWL</a> and
+ <a href=#DECSWL>DECSWL</a>.
+ <p>
+ The second one is used to specify character set mappings (see <a
+ href=#SCS>SCS</a>). A CSI instruction to do this is specified in ECMA,
+ and this should be used as a replacement.
+ .
+ <h4>XTERM hacks</h4>
+
+ConceptDB.html
+ <i>The following text is a collection of several sorts of definitions and
+ explainations. It is incomplete in many respects and a working draft.
+ </i>
+ .
+ <p>
+ All of the following control sequences are transmitted from the Host to
+ VT100 unless otherwise noted. All of the control sequences are a subset of
+ those defined in ANSI X 3.64 1977 and ANSI X 3.41 1974.
+ <p>
+ The following text conforms to these formatting conventions:
+ <ul>
+ <li>Individual character literals are set in bold face. Ascii representation
+ is used throughout, so <b>ESC</b> means the binary value of 27 and
+ <b>[</b> a value of 91.
+ .
+ <li>Parameters are indicated by italic type faces.
+ <li>Parameter types usually are indicated as one of:
+ <table>
+ <tr><td><i>Pn </i></td><td>A string of digits representing a numerical value.</td></tr>
+ <tr><td><i>Ps </i></td><td>A character that selects an item from a list.</td></tr>
+ <tr><td><i>a-z</i></td><td>Any lowercase sequence of one or more
+ characters represent a value to be
+ entered (as in <i>Pn</i>), and the name in the
+ will be referred to in explanatory text.</td></tr>
+ </table>
+ .
+ <li>Spaces are used only to improve readability, they do not occure in the
+ control sequences unless otherwise indicated.
+ .
+ </ul>
+ .
+ <p>
+ The following attributes below have the following meaning:
+ <ul>
+ <li>VT100 - This code is known to VT100.
+ <li>ANSI - This code is defined by ANSI.
+ <li>DEC - This code is DEC private.
+ <li>Command - Sent from host to the terminal. <b>FIXME:</b>add Inquiery.
+ <li>Reply - Sent from terminal to the host (as response to an Inquiery).
+ <li>Event - Sent from terminal to the host (caused by a user activity).
+ <li>Mode - The entry is a mode.
+ </ul>
+
+Operations.html
+ <p>
+ <ul>
+ <li>Host to Terminal (Commands,Requests)
+ <ul>
+ <li>Commands
+ <ul>
+ <li>Character Display Operation
+ <li>Rendition related status
+ <li>Cursor
+ <li>Cursor related status
+ <li>Edit
+ <li>Miscellaneous
+ <li>General mode setting
+ <li>Miscellaneous status
+ <li>VT52
+ <li>Not implemented
+ <li>Ignored
+ </ul>
+ <li>Requests
+ </ul>
+ <li>Terminal to Host (Replies, Events)
+ <ul>
+ <li>Replies
+ <li>Events
+ </ul>
+ <li>Modes
+ <ul>
+ <li>Modes
+ </ul>
+ </ul>
+
+## Keyboard #################################################################
+
+KEYBOARD.head Keyboard Events
+KEYBOARD.emus KONSOLE
+KEYBOARD.sect Event
+KEYBOARD.text
+ FIXME. explain
+KEYBOARD.table.Codes
+ Key|Code:4
+ AltButton|"\033"
+ Return|MODE_NewLine ? "\r\n" : "\r"
+ Backspace|MODE_BsHack ? "\x7f" : "\x08"
+ Delete|MODE_BsHack ? "\033[3~" : "\x7f"
+ Up|!MODE_Ansi ?"\033A" : MODE_AppCuKeys ?"\033OA" : "\033[A"
+ Down|!MODE_Ansi ?"\033B" : MODE_AppCuKeys ?"\033OB" : "\033[B"
+ Right|!MODE_Ansi ?"\033C" : MODE_AppCuKeys ?"\033OC" : "\033[C"
+ Left|!MODE_Ansi ?"\033D" : MODE_AppCuKeys ?"\033OD" : "\033[D"
+ F1|Xterm? "\033[11~": "\033[[A"
+ F2|Xterm? "\033[12~": "\033[[B"
+ F3|Xterm? "\033[13~": "\033[[C"
+ F4|Xterm? "\033[14~": "\033[[D"
+ F5|Xterm? "\033[15~": "\033[[E"
+ F6|"\033[17~"
+ F7|"\033[18~"
+ F8|"\033[19~"
+ F9|"\033[20~"
+ F10|"\033[21~"
+ F11|"\033[23~"
+ F12|"\033[24~"
+ Home|"\033[7~"
+ End|"\033[8~"
+ Prior|"\033[5~"
+ Next|"\033[6~"
+ Insert|"\033[2~"
+ Control_Space|"\x00"
+ Control_Print|reportAnswerBack()
+ Ascii|Character
+
+MOUSE.head Mouse Events
+MOUSE.emus KONSOLE
+MOUSE.sect Event
+MOUSE.text
+ FIXME. explain
+
+CHA.head Cursor Horizontal Absolute
+CHA.emus ECMA KONSOLE
+CHA.sect Command.Cursor
+CHA.code CSI|G|{Pn}
+CHA.text
+ FIXME. explain
+CHA.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|xterm|scr|setCursorX|p|see above
+
+DCH.head Delete Character
+DCH.emus ECMA KONSOLE
+DCH.sect Command.Delete
+DCH.code CSI|P|{Pn}
+DCH.text
+ FIXME. explain
+DCH.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|xterm|scr|deleteChars|p|see above
+
+DECRST.head DEC Private Reset Mode
+DECRST.emus VT100 KONSOLE
+DECRST.sect Command.SetMode
+DECRST.code PRI|l|{Ps;...}
+DECRST.text
+ FIXME. explain
+DECRST.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 1|VT100|emu|resetMode|MODE_AppCuKeys|Meaning
+ 2|VT100|emu|resetMode|MODE_Ansi|Meaning
+ 3|VT100|emu|setColumns|80|Meaning
+ 4|VT100|emu|Ignored||Meaning
+ 5|VT100|scr|resetMode|MODE_Screen|Meaning
+ 6|VT100|scr|resetMode|MODE_Origin|Meaning
+ 7|VT100|scr|resetMode|MODE_Wrap|Meaning
+ 8|VT100|emu|Ignored||Meaning
+ 9|VT100|emu|Ignored||Meaning
+ 25|VT100|emu|resetMode|MODE_Cursor|Meaning
+ 47|xterm|emu|resetMode|MODE_AppScreen|Meaning
+ 1000|xterm|emu|resetMode|MODE_Mouse1000|Meaning
+ 1001|xterm|emu|Ignored||Meaning
+ 1047|xterm|emu|resetMode|MODE_AppScreen|Meaning
+ 1048|xterm|scr|restoreCursor||Meaning
+
+DECSET.head DEC Private Set Mode
+DECSET.emus VT100 KONSOLE
+DECSET.sect Command.SetMode
+DECSET.code PRI|h|{Ps;...}
+DECSET.text
+ FIXME. explain
+DECSET.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 1|VT100|emu|setMode|MODE_AppCuKeys|Meaning
+ 3|VT100|emu|setColumns|132|Meaning
+ 4|VT100|emu|Ignored||Meaning
+ 5|VT100|scr|setMode|MODE_Screen|Meaning
+ 6|VT100|scr|setMode|MODE_Origin|Meaning
+ 7|VT100|scr|setMode|MODE_Wrap|Meaning
+ 8|VT100|emu|Ignored||Meaning
+ 9|VT100|emu|Ignored||Meaning
+ 25|VT100|emu|setMode|MODE_Cursor|Meaning
+ 47|xterm|emu|setMode|MODE_AppScreen|Meaning
+ 1000|xterm|emu|setMode|MODE_Mouse1000|Meaning
+ 1001|xterm|emu|Ignored||Meaning
+ 1047|xterm|emu|setMode|MODE_AppScreen|Meaning
+ 1048|xterm|scr|saveCursor||Meaning
+
+DL.head Delete Line
+DL.emus ECMA KONSOLE
+DL.sect Command.Delete
+DL.code CSI|M|{Pn}
+DL.text
+ FIXME. explain
+DL.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|konsole|scr|deleteLines|p|see above
+
+ECH.head Erase Character
+ECH.emus ECMA KONSOLE
+ECH.sect Command.Erase
+ECH.code CSI|X|{Pn}
+ECH.text
+ FIXME. explain
+ECH.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|konsole|scr|eraseChars|p|see above
+
+ICH.head Insert Character
+ICH.emus ECMA KONSOLE
+ICH.sect Command.Insert
+ICH.code CSI|@|{Pn}
+ICH.text
+ FIXME. explain
+ICH.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|konsole|scr|insertChars|p|see above
+
+IL.head Insert Line
+IL.emus KONSOLE
+IL.sect Command.Insert
+IL.code CSI|L|{Pn}
+IL.text
+ FIXME. explain
+IL.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|xterm|scr|insertLines|p|see above
+
+LS2.head Lock Shift Two
+LS2.emus KONSOLE
+LS2.sect Command.RenderMode
+LS2.code ESC|n|
+LS2.text
+ FIXME. explain
+LS2.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|xterm|scr|useCharset|2|see above
+
+LS3.head Lock Shift Three
+LS3.emus KONSOLE
+LS3.sect Command.RenderMode
+LS3.code ESC|o|
+LS3.text
+ FIXME. explain
+LS3.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|xterm|scr|useCharset|3|see above
+
+MC.head Media Copy
+MC.emus ECMA VT100
+MC.sect Command.NoImp
+MC.code CSI|i|{Pn}
+MC.text
+ FIXME. explain
+MC.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 0|VT100|emu|Ignored||Meaning
+
+VPA.head Vertical Position Absolute
+VPA.emus ECMA KONSOLE
+VPA.sect Command.Cursor
+VPA.code CSI|d|{Pn}
+VPA.text
+ FIXME. explain
+VPA.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|xterm|scr|setCursorY|p|see above
+
+XTERESTORE.head XTerm Private Restore Mode
+XTERESTORE.emus XTERM KONSOLE
+XTERESTORE.sect Command.SetMode
+XTERESTORE.code PRI|r|{Ps;...}
+XTERESTORE.text
+ FIXME. explain
+XTERESTORE.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 1|xterm|emu|restoreMode|MODE_AppCuKeys|Meaning
+ 6|xterm|scr|restoreMode|MODE_Origin|Meaning
+ 7|xterm|scr|restoreMode|MODE_Wrap|Meaning
+ 1000|xterm|emu|restoreMode|MODE_Mouse1000|Meaning
+ 1001|xterm|emu|Ignored||Meaning
+
+XTESAVE.head XTerm Private Save Mode
+XTESAVE.emus XTERM KONSOLE
+XTESAVE.sect Command.SetMode
+XTESAVE.code PRI|s|{Ps;...}
+XTESAVE.text
+ FIXME. explain
+XTESAVE.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 1|xterm|emu|saveMode|MODE_AppCuKeys|Meaning
+ 6|xterm|scr|saveMode|MODE_Origin|Meaning
+ 7|xterm|scr|saveMode|MODE_Wrap|Meaning
+ 1000|xterm|emu|saveMode|MODE_Mouse1000|Meaning
+ 1001|xterm|emu|Ignored||Meaning
+
+NUL.head Null
+NUL.emus VT100 XTERM Linux KONSOLE
+NUL.sect Command.Ignored
+NUL.code CTL|0x00|
+NUL.text
+ NUL is used as media- or time-fill. It is ignored by Konsole, but may
+ be sensible for devices which requiere a recognizable amount of time
+ to complete some commands (e.g. form feed on a non-buffering printing
+ device).
+NUL.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+SOH.head Start Of Heading
+SOH.emus VT100 XTERM Linux KONSOLE
+SOH.sect Command.Ignored
+SOH.code CTL|0x01|
+SOH.text
+ Ignored
+SOH.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+STX.head Start Of Text
+STX.emus VT100 XTERM Linux KONSOLE
+STX.sect Command.Ignored
+STX.code CTL|0x02|
+STX.text
+ Ignored
+STX.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+ETX.head End Of Text
+ETX.emus VT100 XTERM Linux KONSOLE
+ETX.sect Command.Ignored
+ETX.code CTL|0x03|
+ETX.text
+ Ignored
+ETX.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+EOT.head End Of Transmission
+EOT.emus VT100 XTERM Linux KONSOLE
+EOT.sect Command.Ignored
+EOT.code CTL|0x04|
+EOT.text
+ Ignored
+EOT.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+ENQ.head Enquiry
+ENQ.emus VT100
+ENQ.sect Command.Request
+ENQ.code CTL|0x05|
+ENQ.text
+ Transmit the ANSWERBACK message. The answerback message can be loaded
+ in SET-UP B (i.e. is a configurable string).
+ENQ.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|reportAnswerBack||see above
+
+ACK.head Acknowledge
+ACK.emus VT100 XTERM Linux KONSOLE
+ACK.sect Command.Ignored
+ACK.code CTL|0x06|
+ACK.text
+ Ignored
+ACK.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+BEL.head Bell
+BEL.emus VT100
+BEL.sect Command
+BEL.code CTL|0x07|
+BEL.text
+ Sound bell
+BEL.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|gui|Bell||see above
+
+BS.head Back Space
+BS.emus VT100
+BS.sect Command.Cursor
+BS.code CTL|0x08|
+BS.text
+ Move cursor to the left one position, unless it is at the left
+ margin, in which case no action is taken.
+BS.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|BackSpace||see above
+
+HT.head Horizontal Tabulation
+HT.emus VT100
+HT.sect Command.Cursor
+HT.code CTL|0x09|
+HT.text
+ Move cursor to the next tab stop, or to the right margin
+ if no further tabs are set.
+HT.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|Tabulate||see above
+
+LF.head Line Feed
+LF.emus VT100
+LF.sect Command.Cursor
+LF.code CTL|0x0a|
+LF.text
+ Causes either a line feed or new line operation (See \ref:LNM.)
+LF.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|NewLine||see above
+
+VT.head Vertical Tabulation
+VT.emus VT100
+VT.sect Command.Cursor
+VT.code CTL|0x0b|
+VT.text
+ Same as \ref:LF.
+VT.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|NewLine||see above
+
+FF.head Form Feed
+FF.emus VT100
+FF.sect Command.Cursor
+FF.code CTL|0x0c|
+FF.text
+ Same as \ref:LF.
+FF.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|NewLine||see above
+
+CR.head Carriage Return
+CR.emus VT100
+CR.sect Command.Cursor
+CR.code CTL|0x0d|
+CR.text
+ Move the cursor to the left margin of the current line.
+CR.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|Return||see above
+
+LS0.head Lock Shift Zero (Shift Out - SO)
+LS0.emus VT100
+LS0.sect Command.RenderMode
+LS0.code CTL|0x0e|
+LS0.text
+ Invoke the G1 character set, as designated by the \ref:SCS control sequence.
+LS0.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|useCharset|1|see above
+
+LS1.head Lock Shift One (Shift In - SI)
+LS1.emus VT100
+LS1.sect Command.RenderMode
+LS1.code CTL|0x0f|
+LS1.text
+ Invoke the G0 character set, as selected by the <ESC>( sequence.
+LS1.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|useCharset|0|see above
+
+DLE.head Data Link Escape
+DLE.emus VT100 XTERM Linux KONSOLE
+DLE.sect Command.Ignored
+DLE.code CTL|0x10|
+DLE.text
+ Ignored
+DLE.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+DC1.head Device Control One
+DC1.emus VT100
+DC1.sect Ignored
+DC1.code CTL|0x11|
+DC1.text
+ Causes terminal to resume transmission (XON).
+DC1.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+DC2.head Device Control Two
+DC2.emus VT100 XTERM Linux KONSOLE
+DC2.sect Command.Ignored
+DC2.code CTL|0x12|
+DC2.text
+ Ignored
+DC2.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+DC3.head Device Control Three
+DC3.emus VT100 XTERM Linux KONSOLE
+DC3.sect Command.Ignored
+DC3.code CTL|0x13|
+DC3.text
+ Causes terminal to stop transmitting all codes except XOFF and XON (XOFF).
+DC3.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+DC4.head Device Control Four
+DC4.emus VT100 XTERM Linux KONSOLE
+DC4.sect Command.Ignored
+DC4.code CTL|0x14|
+DC4.text
+ Ignored
+DC4.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+NAK.head Negative Acknowledge
+NAK.emus VT100 XTERM Linux KONSOLE
+NAK.sect Command.Ignored
+NAK.code CTL|0x15|
+NAK.text
+ Ignored
+NAK.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+SYN.head Synchronous Idle
+SYN.emus VT100 XTERM Linux KONSOLE
+SYN.sect Command.Ignored
+SYN.code CTL|0x16|
+SYN.text
+ Ignored
+SYN.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+ETB.head End Of Transmission Block
+ETB.emus VT100 XTERM Linux KONSOLE
+ETB.sect Command.Ignored
+ETB.code CTL|0x17|
+ETB.text
+ Ignored
+ETB.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+CAN.head Cancel
+CAN.emus VT100
+CAN.sect Command
+CAN.code CTL|0x18|
+CAN.text
+ If sent during a control sequence, the sequence id immediately
+ terminated and not executed. It also causes the error character
+ (checkerboard) to be displayed.
+CAN.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|ShowCharacter|2|see above
+
+EM.head End Of Medium
+EM.emus VT100 XTERM Linux KONSOLE
+EM.sect Command.Ignored
+EM.code CTL|0x19|
+EM.text
+ Ignored
+EM.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+SUB.head Substitute
+SUB.emus VT100
+SUB.sect Command
+SUB.code CTL|0x1a|
+SUB.text
+ Same as \ref:CAN.
+SUB.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|ShowCharacter|2|see above
+
+ESC.head Escape
+ESC.emus ECMA VT100
+ESC.sect Ignored
+ESC.code CTL|0x1b|
+ESC.text
+ Introduces a control sequence.
+ESC.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+FS.head File Separator (IS4 - Information Separator Four)
+FS.emus VT100 XTERM Linux KONSOLE
+FS.sect Command.Ignored
+FS.code CTL|0x1c|
+FS.text
+ Ignored
+FS.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+GS.head Group Separator (IS3 - Information Separator Three)
+GS.emus VT100 XTERM Linux KONSOLE
+GS.sect Command.Ignored
+GS.code CTL|0x1d|
+GS.text
+ Ignored
+GS.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+RS.head Record Separator (IS2 - Information Separator Two)
+RS.emus VT100 XTERM Linux KONSOLE
+RS.sect Command.Ignored
+RS.code CTL|0x1e|
+RS.text
+ Ignored
+RS.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+US.head Unit Separator (IS1 - Information Separator One)
+US.emus VT100 XTERM Linux KONSOLE
+US.sect Command.Ignored
+US.code CTL|0x1f|
+US.text
+ Ignored
+US.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+DEL.head Delete Character
+DEL.emus VT100
+DEL.sect Command.Ignored
+DEL.code DEL||
+DEL.text
+ Ignored
+
+CPR.head Cursor Position Report
+CPR.emus ECMA VT100
+CPR.sect Reply
+CPR.code CSI|R|{Pn;Pn}
+CPR.dflt 1 1
+CPR.text
+ The CPR sequence reports the active position by means of the
+ parameters. This sequence has two parameter values, the first
+ specifying the line and the second specifying the column. The default
+ condition with no parameters present, or parameters of 0, is equivalent
+ to a cursor at home position.
+ .
+ The numbering of the lines depends upon the state of the Origin Mode
+ (\ref:DECOM).
+ .
+ This control sequence is sent in reply to a device status report
+ (\ref:DSRREQ) command sent from the host.
+
+CUB.head Cursor Backward
+CUB.emus ECMA VT100
+CUB.sect Command.Cursor Event
+CUB.code CSI|D|{Pn}
+CUB.dflt 1
+CUB.text
+ Moves the cursor to the left. The distance moved is
+ determined by the parameter. If the parameter missing, zero, or one,
+ the cursor is moved one position. The cursor cannot be moved past the
+ left margin.
+CUB.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|cursorLeft|p|see above
+
+CUD.head Cursor Down
+CUD.emus ECMA VT100
+CUD.sect Command.Cursor Event
+CUD.code CSI|B|{Pn}
+CUD.dflt 1
+CUD.text
+ Moves the cursor down a number of lines as specified in the parameter
+ without changing columns. The cursor cannot be moved past the bottom
+ margin.
+CUD.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|cursorDown|p|see above
+
+CUF.head Cursor Foreward
+CUF.emus ECMA VT100
+CUF.sect Command.Cursor Event
+CUF.code CSI|C|{Pn}
+CUF.dflt 1
+CUF.text
+ Moves the cursor to the right a number of positions
+ specified in the parameter. The cursor cannot be moved past the right
+ margin.
+CUF.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|cursorRight|p|see above
+
+CUP.head Cursor Position
+CUP.emus ECMA VT100
+CUP.sect Command.Cursor
+CUP.code CSI|H|{Pn;Pn}
+CUP.dflt 1 1
+CUP.text
+ Moves the curor to the position specified by the
+ parameters. The first parameter specifies the line, and the second
+ specifies the column. A value of zero for either line or column moves
+ the cursor to the first line or column in the display. The default
+ string (<ESC>H) homes the cursor. In the VT100, this command behaves
+ identically to it's format effector counterpart, \ref:HVP.
+ .
+ The numbering of the lines depends upon the state of the Origin Mode
+ (\ref:DECOM).
+CUP.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|setCursorYX|p,q|see above
+
+CUU.head Cursor Up
+CUU.emus ECMA VT100
+CUU.sect Command.Cursor Event
+CUU.code CSI|A|{Pn}
+CUU.dflt 1
+CUU.text
+ Moves the cursor up without changing columns. The cursor is moved up a
+ number of lines as indicated by the parameter. The cursor cannot be
+ moved beyond the top margin.
+CUU.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|cursorUp|p|see above
+
+DA.head Device Attributes Request
+DA.emus ECMA VT100
+DA.sect Command.Request
+DA.code CSI|c|{Pn}
+DA.dflt 0
+DA.text
+ The host requests the VT100 to send a DA sequence to indentify
+ itself. This is done by sending the DA sequence with no parameters,
+ or with a parameter of zero.
+ The device replies by (\ref:DECDA).
+DA.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|reportTerminalType||see above
+
+DECDA.head Device Attributes Reply
+DECDA.emus VT100
+DECDA.sect Reply
+DECDA.code PRI|c|{1;Pn}
+DECDA.text
+ Response to the \ref:DA request (VT100 to host) is generated
+ by the VT100 as a DECDA control sequence with the numeric parameters as
+ follows:
+DECDA.table.Pn
+ Pn|Meaning:4
+ 0|No options
+ 1|Processor Option (STP)
+ 2|Advanced Video Option (AVO)
+ 3|AVO and STP
+ 4|Graphics Option (GPO)
+ 5|GPO and STP
+ 6|GPO and AVO
+
+DECALN.head Screen Alignment Display
+DECALN.emus VT100
+DECALN.sect Command
+DECALN.code HSH|8|
+DECALN.text
+ Causes the VT100 to fill it's screen with
+ uppercase Es for screen focus and alignment.
+DECALN.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|helpAlign||see above
+
+DECANM.head ANSI/VT52 Mode
+DECANM.emus VT100
+DECANM.sect Mode
+DECANM.text
+ This is a private parameter to the \ref:SM and \ref:RM
+ control sequences. The
+ reset state causes only VT52 compatible escape sequences to be
+ recognized. The set state causes only ANSI compatible escape sequences
+ to be recognized. See the entries for \ref:MODES, \ref:SM, \ref:RM
+ and \ref:VT52ANSI.
+
+DECARM.head Auto Repeat Mode
+DECARM.emus VT100
+DECARM.sect Mode
+DECARM.text
+ This is a private parameter to the \ref:SM and \ref:RM
+ control sequences. The
+ reset state causes no keyboard keys to auto-repeat, the set state
+ causes most of them to. See \ref:MODES, \ref:SM and \ref:RM.
+
+DECAWM.head Autowrap Mode
+DECAWM.emus VT100
+DECAWM.sect Mode
+DECAWM.text
+ This is a private parameter to the \ref:SM and \ref:RM
+ control sequences. The
+ reset state prevents the cursor from moving when characters are
+ received while at the right margin. The set state causes these
+ characters to advance to the next line, causing a scroll up if required
+ and permitted. See \ref:MODES, \ref:SM, and
+ \ref:RM.
+
+DECCKM.head Cursor Keys Mode
+DECCKM.emus VT100
+DECCKM.sect Mode
+DECCKM.text
+ This is a private parameter to the \ref:SM and \ref:RM
+ control requences. This
+ mode is only effective when the terminal is in keypad application mode
+ (\ref:DECKPAM) and the ANSI/VT52 mode (\ref:DECANM)
+ is set. Under these
+ conditions, if this mode is reset, the cursor keys will send ANSI
+ cursor control commands. If setm the cursor keys will send application
+ function commands. See \ref:MODES, \ref:RM, and
+ \ref:SM.
+
+DECCOLM.head Column Mode
+DECCOLM.emus VT100
+DECCOLM.sect Mode
+DECCOLM.text
+ This is a private parameter to the \ref:SM and \ref:RM
+ control sequences. The
+ reset state causes an 80 column screen to be used. The set state
+ causes a 132 column screen to be used. See \ref:MODES,
+ \ref:RM, and \ref:SM.
+
+DECDHLT.head Double Height Line (Top)
+DECDHLT.emus VT100
+DECDHLT.sect Command.NoImp
+DECDHLT.code HSH|3|
+DECDHLT.text
+ Cause the line containing the cursor to become the top half of a
+ double-height, double width line.
+ If the line was single width single height, all
+ characters to the right of the center of the screen will be lost. The
+ cursor remains over the same character position, unless it would be to
+ the right of the right margin, in which case it is moved to the right
+ margin.
+ .
+ \ref:DECDHLB and \ref:DECDHLT
+ should be used in pairs on adjacent lines with each line containing the
+ same character string.
+DECDHLT.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+DECDHLB.head Double Height Line (Bottom)
+DECDHLB.emus VT100
+DECDHLB.sect Command.NoImp
+DECDHLB.code HSH|4|
+DECDHLB.text
+ This sequence cause the line containing the cursor to become the
+ bottom half of a double-height, double width line.
+ If the line was single width single height, all
+ characters to the right of the center of the screen will be lost. The
+ cursor remains over the same character position, unless it would be to
+ the right of the right margin, in which case it is moved to the right
+ margin.
+ .
+ \ref:DECDHLB and \ref:DECDHLT
+ should be used in pairs on adjacent lines with each line containing the
+ same character string.
+DECDHLB.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+DECDWL.head Double Width Line
+DECDWL.emus VT100
+DECDWL.sect Command.NoImp
+DECDWL.code HSH|6|
+DECDWL.text
+ This causes the line that contains the cursor to become double-width
+ single height. If the line was single width, all characters ro the
+ right of the center of the screen will be lost. The cursor remains
+ over the same character position, unless it would be to the right of
+ the right margin, in which case it is moved to the right margin.
+DECDWL.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+DECID.head Identify Terminal
+DECID.emus VT100
+DECID.sect Command.Request
+DECID.code ESC|Z|
+DECID.text
+ This sequence causes the same response as the \ref:DA sequence. This
+ sequence will not be supported in future models.
+DECID.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|reportTerminalType||see above
+
+DECINLM.head Interlace Mode
+DECINLM.emus VT100
+DECINLM.sect Mode
+DECINLM.text
+ This is a private parameter to the \ref:RM and \ref:SM
+ control sequences. The
+ reset state (non-interlace) causes the video processor to display 240
+ scan lines per frame. The set state causes the video processor to
+ display 480 scan lines per screen. See \ref:MODES,
+ \ref:RM, and \ref:SM.
+
+DECKPAM.head Keypad Application Mode
+DECKPAM.emus VT100
+DECKPAM.sect Command.Mode Mode
+DECKPAM.code ESC|=|
+DECKPAM.text
+ The auxiliary keypad keys will transmit control sequences.
+DECKPAM.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|setMode|MODE_AppKeyPad|see above
+
+DECKPNM.head Keypad Numeric Mode
+DECKPNM.emus VT100
+DECKPNM.sect Mode Command.Mode
+DECKPNM.code ESC|>|
+DECKPNM.text
+ The auxiliary keypad keys will send ASCII codes corresponding to the
+ characters engraved on their keys.
+DECKPNM.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|resetMode|MODE_AppKeyPad|see above
+
+DECLL.head Load LEDs
+DECLL.emus VT100
+DECLL.sect Command.NoImp
+DECLL.code CSI|q|{Ps;...}
+DECLL.dflt 0
+DECLL.text
+ Load the four programmable LEDs on the keyboard according to the parameter(s).
+DECLL.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 0|VT100|emu|Ignore||Clear all LEDs
+ 1|VT100|emu|Ignore||Light LED 1
+ 2|VT100|emu|Ignore||Light LED 2
+ 3|VT100|emu|Ignore||Light LED 3
+ 4|VT100|emu|Ignore||Light LED 4
+
+DECOM.head Origin Mode
+DECOM.emus VT100
+DECOM.sect Mode
+DECOM.text
+ This is a private parameter to \ref:SM and \ref:RM
+ control sequences. The reset
+ state causes the origin (or home position) to be the upper left
+ character position of the screen. Line and column numbers are,
+ therefore, independent of current margin settings. The cursor may be
+ positioned outside the margins with a cursor position (\ref:CUP) or
+ horizontal and vertical position (\ref:HVP) control.
+ .
+ The set state causes the origin to be at the upper left character
+ position within the current margins. Line and column numbers are,
+ therefore, relative to the current margin settings. The cursor cannot
+ be positioned outside of the margins.
+ .
+ The cursor is moved to the new home position when this mode is set or
+ reset. Lines and columns are numbered consecutively, with the origin
+ being line 1, column 1.
+
+DECRC.head Restore Cursor
+DECRC.emus VT100
+DECRC.sect Command.CursMode
+DECRC.code ESC|8|
+DECRC.text
+ This sequence causes the previously saved cursor position, graphic
+ rendition, and character set to be restored.
+DECRC.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|restoreCursor||see above
+
+DECREPTPARM.head Report Terminal Parameters
+DECREPTPARM.emus ECMA VT100
+DECREPTPARM.sect Reply
+DECREPTPARM.code CSI|x|{sol;par;nbits;xspd;rspd;cmul;flags}
+DECREPTPARM.text
+ This sequence is generated by the VT100 to notify the host of the
+ status of selected terminal parameters. The status sequence may be
+ sent when requested by the host (via \ref:DECREQTPARM)
+ or at the terminal's
+ discretion. On power up or reset, the VT100 is inhibited from sending
+ unsolicited reports.
+ .
+ The meanings of the sequence parameters are:
+DECREPTPARM.table.sol
+ sol|Meaning:4
+ 1|This message is a report.
+ 2|This message is a report, and the terminal is only reporting on request.
+DECREPTPARM.table.par
+ par|Meaning:4
+ 1|No parity set
+ 4|Parity set and odd
+ 5|Parity set and even
+DECREPTPARM.table.nbits
+ nbits|Meaning:4
+ 1|8 bits per character
+ 2|7 bits per character
+DECREPTPARM.table.speed(xspd,rspd)
+ speed|Meaning (xspd,rspd):4
+ 0|Speed set to 50 bps
+ 8|Speed set to 75 bps
+ 16|Speed set to 110 bps
+ 24|Speed set to 134.5 bps
+ 32|Speed set to 150 bps
+ 40|Speed set to 200 bps
+ 48|Speed set to 300 bps
+ 56|Speed set to 600 bps
+ 64|Speed set to 1200 bps
+ 72|Speed set to 1800 bps
+ 80|Speed set to 2000 bps
+ 88|Speed set to 2400 bps
+ 96|Speed set to 3600 bps
+ 104|Speed set to 4800 bps
+ 112|Speed set to 9600 bps
+ 120|Speed set tp 19200 bps
+DECREPTPARM.table.cmul
+ cmul|Meaning:4
+ 1|The bit rate multiplier is 16
+DECREPTPARM.table.flags
+ flags|Meaning:4
+ 0-15|This value communicates the four switch values in block 5 of SET-UP B, which are only visible to the user when an STP option is installed.
+
+DECREQTPARM.head Request Terminal Parameters
+DECREQTPARM.emus ECMA VT100
+DECREQTPARM.sect Command.Request
+DECREQTPARM.code CSI|x|{Ps}
+DECREQTPARM.text
+ The host sends this sequence to request the VT100 to send a
+ \ref:DECREPTPARM
+ sequence back. {Ps} can be either 0 or 1. If 0, the terminal will be
+ allowed to send unsolicited \ref:DECREPTPARMs.
+ These reports will be generated each time the terminal exits the SET-UP mode.
+ If {Ps} is 1, then the terminal will only generate
+ \ref:DECREPTPARMs in response to a request.
+DECREQTPARM.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 0|VT100|emu|reportTerminalParms|2|Meaning
+ 1|VT100|emu|reportTerminalParms|3|Meaning
+
+DECSC.head Save Cursor
+DECSC.emus VT100
+DECSC.sect Command.CursMode
+DECSC.code ESC|7|
+DECSC.text
+ Causes the cursor position, graphic rendition, and character set to be
+ saved. (See \ref:DECRC)
+DECSC.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|saveCursor||see above
+
+DECSCLM.head Scrolling Mode
+DECSCLM.emus VT100
+DECSCLM.sect Mode
+DECSCLM.text
+ This is a private parameter to \ref:RM and \ref:SM
+ control sequences. The reset
+ state causes scrolls to "jump" instantaneuously one line at a time.
+ The set state causes the scrolls to be "smooth", and scrolls at a
+ maximum rate of siz lines/sec. See \ref:MODES,
+ \ref:RM, and \ref:SM.
+
+DECSCNM.head Screen Mode
+DECSCNM.emus VT100
+DECSCNM.sect Mode
+DECSCNM.text
+ This is a private parameter to \ref:RM and \ref:SM
+ control sequences. The reset
+ state causes the screen to be black with white characters; the set
+ state causes the screen to be white with black characters.
+ See \ref:MODES, \ref:RM, and \ref:SM.
+
+DECSTBM.head Set Top and Bottom Margins
+DECSTBM.emus VT100
+DECSTBM.sect Command.CursMode
+DECSTBM.code CSI|r|{Pn;Pn}
+DECSTBM.dflt 1 ScreenLines
+DECSTBM.text
+ This sequence sets the top and bottom margins to define the scrolling
+ region. The first parameter is the line number of the first line in
+ the scrolling region; the second parameter is the line number of the
+ bottom line of the scrolling region.
+ .
+ Default is the entire screen (no margins).
+ The minimum region allowed is two lines, i.e., the top line
+ must be less than the bottom. The cursor is placed in the home
+ position (See \ref:DECOM).
+DECSTBM.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|setMargins|p,q|see above
+
+DECSWL.head Single-width Line
+DECSWL.emus VT100
+DECSWL.sect Command.NoImp
+DECSWL.code HSH|5|
+DECSWL.text
+ This causes the line which contains the cursor to become single-width,
+ single-height. The cursor remains on the same character position.
+ This is the default condition for all new lines on the screen.
+DECSWL.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+DECTST.head Invoke Confidence Test
+DECTST.emus ECMA VT100
+DECTST.sect Command
+DECTST.code CSI|y|{2;Ps}
+DECTST.text
+ Ps is the parameter indicating the test to be done. It is computed by
+ taking the weight indicated for each desired test and adding them
+ together. If Ps is 0, no test is performed but the VT100 is reset.
+DECTST.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+DECTST.table.Weight
+ Weight|Meaning:4
+ 1|POST (ROM checksum, RAM NVR, keyboardm and AVO)
+ 2|Data Loop Back (Loopback connector required)
+ 3|EIA Modem Control Test (Loopback connector req.)
+ 4|Repeat Testing until failure
+
+DSRREQ.head Device Status Report
+DSRREQ.emus ECMA VT100
+DSRREQ.sect Command.Request
+DSRREQ.code CSI|n|{Ps}
+DSRREQ.text
+ Requests status of the VT100 according to the following parameters.
+DSRREQ.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 5|VT100|emu|reportStatus||Report Status (using a \ref:DSRREP control sequence)
+ 6|VT100|emu|reportCursorPosition||Report Active Position (using a \ref:CPR sequence)
+
+DSRREP.head Device Status Report Reply
+DSRREP.emus ECMA VT100
+DSRREP.sect Reply
+DSRREP.code CSI|n|{Status}
+DSRREP.text
+ Reports the general status of the VT100 according to the
+ following parameters.
+ .
+ DSRREP with a parameter of 0 or 3 is always sent as a response to a
+ requesting \ref:DSRREQ with a parameter of 5.
+DSRREP.table.Status
+ Status|Meaning:3
+ 0|Ready, no faults detected
+ 3|Malfunction detected
+
+ED.head Erase in Display
+ED.emus ECMA VT100
+ED.sect Command.Erase
+ED.code CSI|J|{Ps}
+ED.dflt 0
+ED.text
+ This sequence erases some or all of the characters in the display
+ according to the parameter. Any complete line erased by this sequence
+ will return that line to single width mode.
+ED.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 0|VT100|scr|clearToEndOfScreen||Erase from the cursor to the end of the screen.
+ 1|VT100|scr|clearToBeginOfScreen||Erase from the start of the screen to the cursor.
+ 2|VT100|scr|clearEntireScreen||Erase the entire screen.
+
+EL.head Erase in Line
+EL.emus ECMA VT100
+EL.sect Command.Erase
+EL.code CSI|K|{Ps}
+EL.dflt 0
+EL.text
+ Erases some or all characters in the active line, according to the
+ parameter.
+EL.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 0|VT100|scr|clearToEndOfLine||Erase from cursor to the end of the line.
+ 1|VT100|scr|clearToBeginOfLine||Erase from the start of the line to the cursor.
+ 2|VT100|scr|clearEntireLine||Erase the entire line.
+
+HTS.head Horizontal Tab Set
+HTS.emus ECMA VT100
+HTS.sect Command.CursMode
+HTS.code ESC|H|
+HTS.text
+ Set a tab stop at the current cursor position.
+HTS.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|changeTabStop|TRUE|see above
+
+HVP.head Horizontal and Vertical Position
+HVP.emus ECMA VT100
+HVP.sect Command.Cursor
+HVP.code CSI|f|{Pn;Pn}
+HVP.dflt 1 1
+HVP.text
+ Moves the cursor to the position specified by the parameters. The
+ first parameter specifies the line, and the second specifies the
+ column. A parameter of 0 or 1 causes the active position to move to
+ the first line or column in the display. In the VT100, this control
+ behaves identically with it's editor counterpart, \ref:CUP.
+ The numbering of hte lines depends upon the state of the Origin Mode
+ (\ref:DECOM).
+HVP.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|setCursorYX|p,q|see above
+
+IND.head Index
+IND.emus ECMA VT100
+IND.sect Command.Cursor
+IND.code ESC|D|
+IND.text
+ This sequence causes the cursor to move downward one line without
+ changing the column. If the cursor is at the bottom margin, a scroll
+ up is performed.
+IND.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|index||see above
+
+LNM.head Line Feed/New Line Mode
+LNM.emus ECMA VT100
+LNM.sect Mode
+LNM.text
+ This is a parameter to \ref:SM and \ref:RM control sequences.
+ The reset state
+ causes the interpretation of the \ref:LF character to imply only vertical
+ movement of the cursor and causes the RETURN key to send the single
+ code \ref:CR.
+ .
+ The set state causes the \ref:LF character to imply movement
+ to the first position of the following line, and causes the RETURN key
+ to send the code pair \ref:CR \ref:LF. This is the New Line option.
+ .
+ This mode does not affect the Index (\ref:IND) or the next line
+ (\ref:NEL) format effectors.
+
+NEL.head Next Line
+NEL.emus ECMA VT100
+NEL.sect Command.Cursor
+NEL.code ESC|E|
+NEL.text
+ This causes the cursor to move to the first position of the next line
+ down. If the cursor is on the bottom line, a scroll is performed.
+NEL.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|NextLine||see above
+
+PRINT.head Printable Characters
+PRINT.emus ECMA VT100
+PRINT.sect Command.Display
+PRINT.code PRN||{0x20..0x7e,0xa0..0xff}
+PRINT.text
+ Printable characters are basically displayed. They my cause a line
+ wrap when the cursor is already located at the end of the line.
+ .
+ The VT100 has a unique way to do this by producing a line wrap before
+ the character would be displayed on the next line. This feature allows
+ to print at the rightmost column without producing an implicit line feed.
+PRINT.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|ShowCharacter|p|see above
+
+RI.head Reverse Index
+RI.emus ECMA VT100
+RI.sect Command.Cursor
+RI.code ESC|M|
+RI.text
+ Move the cursor up one line without changing columns. If the cursor is
+ on the top line, a scroll down is performed.
+RI.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|reverseIndex||see above
+
+RIS.head Reset to Initial State
+RIS.emus ECMA VT100
+RIS.sect Command.Mode
+RIS.code ESC|c|
+RIS.text
+ Resets the VT100 to the state is has upon power up. This also causes
+ the execution of the POST and signal INT H to be asserted briefly.
+RIS.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|resetTerminal||see above
+
+RM.head Reset Mode
+RM.emus ECMA VT100
+RM.sect Command.SetMode
+RM.code CSI|l|{Ps;...}
+RM.text
+ Resets one or more VT100 modes as specified by each selective parameter
+ in the parameter string. Each mode to be reset is specified by a
+ separate parameter. See \ref:MODES and \ref:SM.
+RM.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 4|xterm|scr|resetMode|MODE_Insert|Meaning
+ 20|VT100|emu|resetMode|MODE_NewLine|\ref:LNM
+
+SCS.head Select Character Set
+SCS.emus ECMA VT100
+SCS.sect Command.RenderMode
+SCS.code SCS||{Pc;Cs}
+SCS.text
+ The appropriate D0 and G1 character sets are designated from one of the
+ five possible sets. The G0 and G1 sets are invoked by the characters
+ \ref:LS1 and \ref:LS0, respectively.
+ .
+ The United Kingdom and ASCII sets conform to the "ISO international
+ register of character sets to be used with escape sequences". The
+ other sets are private character sets. Special graphics means that the
+ graphic characters fpr the codes 0137 to 0176 are replaced with other
+ characters. The specified character set will be used until another SCS
+ is received.
+SCS.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|setCharset|p-'(',q|see above
+SCS.table.Pc
+ Pc|Character Selection:4
+ (|Select G0 Set
+ )|Select G1 Set
+SCS.table.Cs
+ Cs|Character Set:4
+ A|United Kingdom Set
+ B|ASCII Set
+ 0|Special Graphics
+ 1|Alternate Character ROM (Standard Character Set)
+ 2|Alternate Character ROM (Special Graphics)
+
+SGR.head Select Graphic Rendition
+SGR.emus ECMA VT100
+SGR.sect Command.RenderMode
+SGR.code CSI|m|{Ps;...}
+SGR.text
+ Invoke the graphic rendition specified by the parameter(s). All
+ following characters transmitted to the VT100 are rendered according
+ to the parameter(s) until the next occurrence of an SGR.
+ .
+ All other parameter values are ignored.
+ .
+ Without the Advanced Video Option, only one type of character attribute
+ is possible, as determined by the cursor selection; in that case
+ specifying either underscore or reverse will activate the currently
+ selected attribute.
+SGR.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 0|VT100|scr|setDefaultRendition||Attributes Off
+ 1|VT100|scr|setRendition|RE_BOLD|Bold or increased intensity
+ 4|VT100|scr|setRendition|RE_UNDERLINE|Underscore
+ 5|VT100|scr|setRendition|RE_BLINK|Blink
+ 7|VT100|scr|setRendition|RE_REVERSE|Negative (reverse) image
+ 10|konsole|emu|Ignored||Meaning
+ 11|konsole|emu|Ignored||Meaning
+ 12|konsole|emu|Ignored||Meaning
+ 22|VT100|scr|resetRendition|RE_BOLD|Meaning
+ 24|VT100|scr|resetRendition|RE_UNDERLINE|Meaning
+ 25|VT100|scr|resetRendition|RE_BLINK|Meaning
+ 27|VT100|scr|resetRendition|RE_REVERSE|Meaning
+ 30|xterm|scr|setForeColor|0|Meaning
+ 31|xterm|scr|setForeColor|1|Meaning
+ 32|xterm|scr|setForeColor|2|Meaning
+ 33|xterm|scr|setForeColor|3|Meaning
+ 34|xterm|scr|setForeColor|4|Meaning
+ 35|xterm|scr|setForeColor|5|Meaning
+ 36|xterm|scr|setForeColor|6|Meaning
+ 37|xterm|scr|setForeColor|7|Meaning
+ 39|xterm|scr|setForeColorToDefault||Meaning
+ 40|xterm|scr|setBackColor|0|Meaning
+ 41|xterm|scr|setBackColor|1|Meaning
+ 42|xterm|scr|setBackColor|2|Meaning
+ 43|xterm|scr|setBackColor|3|Meaning
+ 44|xterm|scr|setBackColor|4|Meaning
+ 45|xterm|scr|setBackColor|5|Meaning
+ 46|xterm|scr|setBackColor|6|Meaning
+ 47|xterm|scr|setBackColor|7|Meaning
+ 49|xterm|scr|setBackColorToDefault||Meaning
+ 90|xterm|scr|setForeColor|8|Meaning
+ 91|xterm|scr|setForeColor|9|Meaning
+ 92|xterm|scr|setForeColor|10|Meaning
+ 93|xterm|scr|setForeColor|11|Meaning
+ 94|xterm|scr|setForeColor|12|Meaning
+ 95|xterm|scr|setForeColor|13|Meaning
+ 96|xterm|scr|setForeColor|14|Meaning
+ 97|xterm|scr|setForeColor|15|Meaning
+ 100|xterm|scr|setBackColor|8|Meaning
+ 101|xterm|scr|setBackColor|9|Meaning
+ 102|xterm|scr|setBackColor|10|Meaning
+ 103|xterm|scr|setBackColor|11|Meaning
+ 104|xterm|scr|setBackColor|12|Meaning
+ 105|xterm|scr|setBackColor|13|Meaning
+ 106|xterm|scr|setBackColor|14|Meaning
+ 107|xterm|scr|setBackColor|15|Meaning
+
+SM.head Set Mode
+SM.emus ECMA VT100
+SM.sect Command.SetMode
+SM.code CSI|h|{Ps;...}
+SM.text
+ Causes one or more modes to be set within the VT100 as specified by
+ each selective parameter string. Each mode to be set is specified by a
+ seperate parameter. A mode is considered set until it is reset by a
+ Reset Mode (\ref:RM) control sequence.
+ See \ref:RM and \ref:MODES.
+SM.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 4|VT100|scr|setMode|MODE_Insert|Meaning
+ 20|VT100|emu|setMode|MODE_NewLine|\ref:LNM
+
+TBC.head Tabulation Clear
+TBC.emus ECMA VT100
+TBC.sect Command.CursMode
+TBC.code CSI|g|{Ps}
+TBC.text
+ If the parameter is missing or 0, this will clear the tab stop at the
+ cursor's position. If it is 3, this will clear all of the tab stops.
+ Any other parameter is ignored.
+TBC.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 0|VT100|scr|changeTabStop|FALSE|Meaning
+ 3|VT100|scr|clearTabStops||Meaning
+
+##############################################################################
+# #
+# VT52 #
+# #
+##############################################################################
+
+VT52ANSI.head VT52 ANSI Ansi Mode
+VT52ANSI.emus VT100 XTERM VT52 KONSOLE
+VT52ANSI.sect Command.Mode
+VT52ANSI.code ESC|<|
+VT52ANSI.text
+ This is an extension to the VT52 commands to embed the emulation into VT100.
+ It allows to return back to VT100 emulation (ANSI mode).
+ See also \ref:DECANM and \ref:SM.
+VT52ANSI.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|emu|setMode|MODE_Ansi|see above
+
+VT52CUB.head VT52 Cursor Back
+VT52CUB.emus KONSOLE
+VT52CUB.sect Command.VT52
+VT52CUB.code ESC|D|
+VT52CUB.text
+ See \ref:CUB.
+VT52CUB.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|scr|cursorLeft|1|see above
+
+VT52CUD.head VT52 Cursor Down
+VT52CUD.emus KONSOLE
+VT52CUD.sect Command.VT52
+VT52CUD.code ESC|B|
+VT52CUD.text
+ See \ref:CUD.
+VT52CUD.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|scr|cursorDown|1|see above
+
+VT52CUF.head VT52 Cursor Forward
+VT52CUF.emus KONSOLE
+VT52CUF.sect Command.VT52
+VT52CUF.code ESC|C|
+VT52CUF.text
+ See \ref:CUF.
+VT52CUF.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|scr|cursorRight|1|see above
+
+VT52CUP.head VT52 Cursor Position
+VT52CUP.emus KONSOLE
+VT52CUP.sect Command.VT52
+VT52CUP.code VT5||{X;Y}
+VT52CUP.text
+ Line and column numbers for direct cursor address are single
+ character codes whose values are the desired number plus
+ 37 (in Octal). Line and column numbers start at 1.
+VT52CUP.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|scr|setCursorYX|p-31,q-31|see above
+
+VT52CUU.head VT52 Cursor Up
+VT52CUU.emus KONSOLE
+VT52CUU.sect Command.VT52
+VT52CUU.code ESC|A|
+VT52CUU.text
+ See \ref:CUU.
+VT52CUU.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|scr|cursorUp|1|see above
+
+VT52EDL.head VT52 Clear To End Of Line
+VT52EDL.emus KONSOLE
+VT52EDL.sect Command.VT52
+VT52EDL.code ESC|K|
+VT52EDL.text
+ FIXME. explain
+VT52EDL.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|scr|clearToEndOfLine||see above
+
+VT52EDS.head VT52 Clear To End Of Screen
+VT52EDS.emus KONSOLE
+VT52EDS.sect Command.VT52
+VT52EDS.code ESC|J|
+VT52EDS.text
+ FIXME. explain
+VT52EDS.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|scr|clearToEndOfScreen||see above
+
+VT52CUH.head VT52 Cursor Home
+VT52CUH.emus KONSOLE
+VT52CUH.sect Command.VT52
+VT52CUH.code ESC|H|
+VT52CUH.text
+ FIXME. explain
+VT52CUH.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|scr|setCursorYX|1,1|see above
+
+VT52KPAM.head VT52 Enter alternate keypad mode
+VT52KPAM.emus KONSOLE
+VT52KPAM.sect Command.VT52
+VT52KPAM.code ESC|=|
+VT2KPAM.text
+ FIXME. explain
+VT52KPAM.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|emu|setMode|MODE_AppKeyPad|see above
+
+VT52KPNM.head VT52 Exit alternate keypad mode
+VT52KPNM.emus KONSOLE
+VT52KPNM.sect Command.VT52
+VT52KPNM.code ESC|>|
+VT52KPNM.text
+ FIXME. explain
+VT52KPNM.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|emu|resetMode|MODE_AppKeyPad|see above
+
+VT52REP.head VT52 Report Terminal Type
+VT52REP.emus KONSOLE
+VT52REP.sect Command.VT52
+VT52REP.code ESC|Z|
+VT52REP.text
+ Response to ESC Z is ESC / Z.
+VT52REP.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|emu|reportTerminalType||see above
+
+VT52RI.head VT52 Reverse Index
+VT52RI.emus KONSOLE
+VT52RI.sect Command.VT52
+VT52RI.code ESC|I|
+VT52RI.text
+ FIXME. explain
+VT52RI.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|scr|reverseIndex||see above
+
+VT52SCSF.head VT52 Select special graphics character set
+VT52SCSF.emus KONSOLE
+VT52SCSF.sect Command.VT52
+VT52SCSF.code ESC|F|
+VT52SCSF.text
+ FIXME. explain
+VT52SCSF.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|scr|setAndUseCharset|0,'0'|see above
+
+VT52SCSG.head VT52 Select ASCII character set
+VT52SCSG.emus KONSOLE
+VT52SCSG.sect Command.VT52
+VT52SCSG.code ESC|G|
+VT52SCSG.text
+ FIXME. explain
+VT52SCSG.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|scr|setAndUseCharset|0,'B'|see above
diff --git a/konsole/doc/VT100/Table.Graphic b/konsole/doc/VT100/Table.Graphic
new file mode 100644
index 000000000..afc159564
--- /dev/null
+++ b/konsole/doc/VT100/Table.Graphic
@@ -0,0 +1,32 @@
+Blank
+Diamond
+Checkerboard
+Digraph: (HT)
+Digraph: (FF)
+Digraph: (CR)
+Digraph: (LF)
+Degree Symbol: &deg;
++/- Symbol: &plusmn;
+Digraph: (NL)
+Digraph: (VT)
+Lower-right corner
+Upper-right corner
+Upper-left corner
+Lower-left corner
+Crossing lines (+)
+Horiz Line - scan 1
+Horiz Line - scan 3
+Horiz Line - scan 5
+Horiz Line - scan 7
+Horiz Line - scan 9
+Left "T" (|-)
+Right "T" (-|)
+Bottom "T" (|_)
+Top "T" (T)
+Vertical Bar (|)
+Less/Equal: &le;
+Graeter/Egual: &ge;
+Pi symbol: &pi;
+Not equal: &ne;
+UK pound symbol: &pound;
+Centered dot: &middot;
diff --git a/konsole/doc/VT100/Table.VT52 b/konsole/doc/VT100/Table.VT52
new file mode 100644
index 000000000..d6faca3d2
--- /dev/null
+++ b/konsole/doc/VT100/Table.VT52
@@ -0,0 +1,40 @@
+VT52 Compatible Mode
+
+: VT52A Cursor Up
+c ESC A
+: VT52b Cursor Down
+c ESC B
+: VT52C Cursor Right
+c ESC C
+: VT52D Cursor Left
+c ESC D
+: VT52F Select Special Graphics character set
+c ESC F
+: VT52G Select ASCII character set
+c ESC G
+: VT52H Cursor to home
+c ESC H
+: VT52I Reverse line feed
+c ESC I
+: VT52J Erase to end of screen
+c ESC J
+: VT52K Erase to end of line
+c ESC K
+: VT52Y Direct cursor address
+c ESC Y {l} {c}
+h
+ Line and column numbers for direct cursor address are single
+ character codes whose values are the desired number plus
+ 37 (in Octal). Line and column numbers start at 1.
+e
+: VT52Z Identify
+c ESC Z
+h
+ Response to ESC Z is ESC / Z.
+e
+: VT52KBAM Enter alternate keypad mode
+c ESC =
+: VT52KEAM Exit alternate keypad mode
+c ESC >
+: VT52AM Enter ANSI mode
+c ESC <
diff --git a/konsole/doc/VT100/awk.table.graphic b/konsole/doc/VT100/awk.table.graphic
new file mode 100644
index 000000000..f27aae29e
--- /dev/null
+++ b/konsole/doc/VT100/awk.table.graphic
@@ -0,0 +1,30 @@
+function header()
+{
+ printf("<tr><td>Octal<br>Code </td>\n");
+ printf(" <td>ASCII<br>Graphic</td>\n");
+ printf(" <td>Special Graphic </td></tr>\n");
+ printf("<tr><td><hr></td>\n");
+ printf(" <td><hr></td>\n");
+ printf(" <td><hr></td></tr>\n");
+}
+
+BEGIN {
+ color = "" # " bgcolor=lightblue"
+ printf("<center>\n");
+ printf("<table cellspacing=30>\n");
+ printf("<tr><td><table>");
+ header();
+}
+ {
+
+# printf("%04o %s %c %s %s\n",NR-1+95,$1,NR-1+95,$2,$3);
+ if (NR > 1 && NR % 16 == 1) { printf("</td></table></td><td><table>"); header(); }
+ printf("<tr><td%s>%04o</td>\n",color,NR-1+95);
+ printf(" <td%s align=center>%c</td>\n",color,NR-1+95);
+ printf(" <td%s>%s</td></tr>\n",color,$0);
+}
+END {
+ printf("</td></tr></table>\n");
+ printf("</table>\n");
+ printf("</center>\n");
+}
diff --git a/konsole/doc/VT100/cmds.pro b/konsole/doc/VT100/cmds.pro
new file mode 100644
index 000000000..35fec3ab2
--- /dev/null
+++ b/konsole/doc/VT100/cmds.pro
@@ -0,0 +1,61 @@
+?- consult('dicts.pro').
+
+test :- dict(X,_), check(X), fail; true.
+test1 :- findall(A,head(A,_),R), sort(R,Res), print(Res), nl, fail.
+
+check([_,head]) :- !. /* TITLE */
+check([_,emus]) :- !. /* List Word */
+check([_,dflt]) :- !. /* List NumberOrWord */
+check([_,sect]) :- !. /* List Word // Dotted Name */
+check([_,code]) :- !. /* [ TYP, ("Char"/none/Numb), [arg, ...] ] */
+check([_,text]) :- !. /* [ String/nl/ref(Sym) ... ] */
+
+check([_,table,'XPS']) :- !. /* interpretation */
+
+/*Other (type) tables */
+/*check([_,table,_]) :- !, print(X), nl.*/
+
+check(X) :- !, print(X), nl.
+
+/* ----------- */
+/* State: We're closer to make up a proper data model.
+ Todo:
+ - put the type/value definitions listed in 'test'
+ to a more appropriate place.
+ - clearify section material.
+ - make a model and a consistency checker.
+ - make a report generator.
+ - integrate 'TEScreen.C' functions
+*/
+
+
+head(Name,Title) :- dict([Name,head],Title).
+emus(Name,Emus) :- dict([Name,emus],Emus).
+dflt(Name,Defaults) :- dict([Name,dflt],Defaults).
+sect(Name,DottedSect) :- dict([Name,sect],DottedSect).
+code(Name,Code) :- dict([Name,code],Desc), tcode(Desc,Code).
+text(Name,Text) :- dict([Name,text],Text).
+
+tcode(['PRN',none,[]],prn) :- !.
+tcode(['DEL',none,[]],ctl(127)) :- !.
+tcode(['CTL',Num,[]],ctl(Num)) :- !.
+tcode(['ESC',Chr,[]],esc(Chr)) :- !.
+tcode(['HSH',Chr,[]],esc(Chr)) :- !.
+tcode(['CSI',Chr,[P,'...']],csi(Chr,list(P))) :- !.
+tcode(['CSI',Chr,Parm],csi(Chr,Parm)) :- !.
+tcode(['PRI',Chr,[P,'...']],pri(Chr,list(P))) :- !.
+tcode(['PRI',Chr,Parm],pri(Chr,Parm)) :- !.
+tcode(['SCS',none,[A,B]],scs([A,B])) :- !.
+tcode(['VT5',none,[X,Y]],vt5([X,Y])) :- !.
+tcode(P,P) :- writef("\n - fail\n %t \n\n",[P]).
+
+pheads :-
+ head(N,T),
+ writef("%w - %s\n",[N,T]),
+ fail; true.
+
+pcodes :-
+ code(N,P),
+ writef("%w - %t\n",[N,P]),
+ fail; true.
+
diff --git a/konsole/doc/VT100/db.trans b/konsole/doc/VT100/db.trans
new file mode 100644
index 000000000..7fe21ef27
--- /dev/null
+++ b/konsole/doc/VT100/db.trans
@@ -0,0 +1,190 @@
+TY_CHR___|PRINT|||scr|ShowCharacter|p
+TY_CTL___|NUL|'@'||||
+TY_CTL___|SOH|'A'||||
+TY_CTL___|STX|'B'||||
+TY_CTL___|ETX|'C'||||
+TY_CTL___|EOT|'D'||||
+TY_CTL___|ENQ|'E'||emu|reportAnswerBack|
+TY_CTL___|ACK|'F'||||
+TY_CTL___|BEL|'G'||gui|Bell|
+TY_CTL___|BS|'H'||scr|BackSpace|
+TY_CTL___|HT|'I'||scr|Tabulate|
+TY_CTL___|LF|'J'||emu|NewLine|
+TY_CTL___|VT|'K'||emu|NewLine|
+TY_CTL___|FF|'L'||emu|NewLine|
+TY_CTL___|CR|'M'||scr|Return|
+TY_CTL___|LS0|'N'||scr|useCharset|1
+TY_CTL___|LS1|'O'||scr|useCharset|0
+TY_CTL___|DLE|'P'||||
+TY_CTL___|DC1|'Q'||||
+TY_CTL___|DC2|'R'||||
+TY_CTL___|DC3|'S'||||
+TY_CTL___|DC4|'T'||||
+TY_CTL___|NAK|'U'||||
+TY_CTL___|SYN|'V'||||
+TY_CTL___|ETB|'W'||||
+TY_CTL___|CAN|'X'||scr|ShowCharacter|2
+TY_CTL___|EM|'Y'||||
+TY_CTL___|SUB|'Z'||scr|ShowCharacter|2
+TY_CTL___|ESC|'['||||
+TY_CTL___|FS|'\\'||||
+TY_CTL___|GS|']'||||
+TY_CTL___|RS|'^'||||
+TY_CTL___|US|'_'||||
+TY_ESC___|IND|'D'||scr|index|
+TY_ESC___|NEL|'E'||scr|NextLine|
+TY_ESC___|HTS|'H'||scr|changeTabStop|TRUE
+TY_ESC___|RI|'M'||scr|reverseIndex|
+TY_ESC___|DECID|'Z'||emu|reportTerminalType|
+TY_ESC___|RIS|'c'||emu|resetTerminal|
+TY_ESC___|LS2|'n'||scr|useCharset|2
+TY_ESC___|LS3|'o'||scr|useCharset|3
+TY_ESC___|DECSC|'7'||scr|saveCursor|
+TY_ESC___|DECRC|'8'||scr|restoreCursor|
+TY_ESC___|DECKPAM|'='||emu|setMode|MODE_AppKeyPad
+TY_ESC___|DECKPNM|'>'||emu|resetMode|MODE_AppKeyPad
+TY_ESC___|DECANSI|'<'||emu|setMode|MODE_Ansi
+TY_ESC_CS|SCS|||emu|setCharset|p-'(',q
+TY_ESC_DE|DECDHLT|'3'||||
+TY_ESC_DE|DECDHLB|'4'||||
+TY_ESC_DE|DECSWL|'5'||||
+TY_ESC_DE|DECDWL|'6'||||
+TY_ESC_DE|DECALN|'8'||scr|helpAlign|
+TY_CSI_PS|EL|'K'|0|scr|clearToEndOfLine|
+TY_CSI_PS|EL|'K'|1|scr|clearToBeginOfLine|
+TY_CSI_PS|EL|'K'|2|scr|clearEntireLine|
+TY_CSI_PS|ED|'J'|0|scr|clearToEndOfScreen|
+TY_CSI_PS|ED|'J'|1|scr|clearToBeginOfScreen|
+TY_CSI_PS|ED|'J'|2|scr|clearEntireScreen|
+TY_CSI_PS|TBC|'g'|0|scr|changeTabStop|FALSE
+TY_CSI_PS|TBC|'g'|3|scr|clearTabStops|
+TY_CSI_PS|SM|'h'|4|scr|setMode|MODE_Insert
+TY_CSI_PS|SM|'h'|20|emu|setMode|MODE_NewLine
+TY_CSI_PS|MC|'i'|0|||
+TY_CSI_PS|RM|'l'|4|scr|resetMode|MODE_Insert
+TY_CSI_PS|RM|'l'|20|emu|resetMode|MODE_NewLine
+TY_CSI_PS|SGR|'m'|0|scr|setDefaultRendition|
+TY_CSI_PS|SGR|'m'|1|scr|setRendition|RE_BOLD
+TY_CSI_PS|SGR|'m'|4|scr|setRendition|RE_UNDERLINE
+TY_CSI_PS|SGR|'m'|5|scr|setRendition|RE_BLINK
+TY_CSI_PS|SGR|'m'|7|scr|setRendition|RE_REVERSE
+TY_CSI_PS|SGR|'m'|10|||
+TY_CSI_PS|SGR|'m'|11|||
+TY_CSI_PS|SGR|'m'|12|||
+TY_CSI_PS|SGR|'m'|22|scr|resetRendition|RE_BOLD
+TY_CSI_PS|SGR|'m'|24|scr|resetRendition|RE_UNDERLINE
+TY_CSI_PS|SGR|'m'|25|scr|resetRendition|RE_BLINK
+TY_CSI_PS|SGR|'m'|27|scr|resetRendition|RE_REVERSE
+TY_CSI_PS|SGR|'m'|30|scr|setForeColor|0
+TY_CSI_PS|SGR|'m'|31|scr|setForeColor|1
+TY_CSI_PS|SGR|'m'|32|scr|setForeColor|2
+TY_CSI_PS|SGR|'m'|33|scr|setForeColor|3
+TY_CSI_PS|SGR|'m'|34|scr|setForeColor|4
+TY_CSI_PS|SGR|'m'|35|scr|setForeColor|5
+TY_CSI_PS|SGR|'m'|36|scr|setForeColor|6
+TY_CSI_PS|SGR|'m'|37|scr|setForeColor|7
+TY_CSI_PS|SGR|'m'|39|scr|setForeColorToDefault|
+TY_CSI_PS|SGR|'m'|40|scr|setBackColor|0
+TY_CSI_PS|SGR|'m'|41|scr|setBackColor|1
+TY_CSI_PS|SGR|'m'|42|scr|setBackColor|2
+TY_CSI_PS|SGR|'m'|43|scr|setBackColor|3
+TY_CSI_PS|SGR|'m'|44|scr|setBackColor|4
+TY_CSI_PS|SGR|'m'|45|scr|setBackColor|5
+TY_CSI_PS|SGR|'m'|46|scr|setBackColor|6
+TY_CSI_PS|SGR|'m'|47|scr|setBackColor|7
+TY_CSI_PS|SGR|'m'|49|scr|setBackColorToDefault|
+TY_CSI_PS|SGR|'m'|90|scr|setForeColor|8
+TY_CSI_PS|SGR|'m'|91|scr|setForeColor|9
+TY_CSI_PS|SGR|'m'|92|scr|setForeColor|10
+TY_CSI_PS|SGR|'m'|93|scr|setForeColor|11
+TY_CSI_PS|SGR|'m'|94|scr|setForeColor|12
+TY_CSI_PS|SGR|'m'|95|scr|setForeColor|13
+TY_CSI_PS|SGR|'m'|96|scr|setForeColor|14
+TY_CSI_PS|SGR|'m'|97|scr|setForeColor|15
+TY_CSI_PS|SGR|'m'|100|scr|setBackColor|8
+TY_CSI_PS|SGR|'m'|101|scr|setBackColor|9
+TY_CSI_PS|SGR|'m'|102|scr|setBackColor|10
+TY_CSI_PS|SGR|'m'|103|scr|setBackColor|11
+TY_CSI_PS|SGR|'m'|104|scr|setBackColor|12
+TY_CSI_PS|SGR|'m'|105|scr|setBackColor|13
+TY_CSI_PS|SGR|'m'|106|scr|setBackColor|14
+TY_CSI_PS|SGR|'m'|107|scr|setBackColor|15
+TY_CSI_PS|DSR|'n'|5|emu|reportStatus|
+TY_CSI_PS|DSR|'n'|6|emu|reportCursorPosition|
+TY_CSI_PS|DECLL|'q'|0|||
+TY_CSI_PS|DECLL|'q'|1|||
+TY_CSI_PS|DECLL|'q'|2|||
+TY_CSI_PS|DECLL|'q'|3|||
+TY_CSI_PS|DECLL|'q'|4|||
+TY_CSI_PS|DECREQTPARM|'x'|0|emu|reportTerminalParms|2
+TY_CSI_PS|DECREQTPARM|'x'|1|emu|reportTerminalParms|3
+TY_CSI_PN|ICH|'@'||scr|insertChars|p
+TY_CSI_PN|CUU|'A'||scr|cursorUp|p
+TY_CSI_PN|CUD|'B'||scr|cursorDown|p
+TY_CSI_PN|CUF|'C'||scr|cursorRight|p
+TY_CSI_PN|CUB|'D'||scr|cursorLeft|p
+TY_CSI_PN|CHA|'G'||scr|setCursorX|p
+TY_CSI_PN|CUP|'H'||scr|setCursorYX|p,q
+TY_CSI_PN|IL|'L'||scr|insertLines|p
+TY_CSI_PN|DL|'M'||scr|deleteLines|p
+TY_CSI_PN|DCH|'P'||scr|deleteChars|p
+TY_CSI_PN|ECH|'X'||scr|eraseChars|p
+TY_CSI_PN|DA|'c'||emu|reportTerminalType|
+TY_CSI_PN|VPA|'d'||scr|setCursorY|p
+TY_CSI_PN|HVP|'f'||scr|setCursorYX|p,q
+TY_CSI_PN|DECSTBM|'r'||scr|setMargins|p,q
+TY_CSI_PN|DECTST|'y'||||
+TY_CSI_PR|DECSET|'h'|1|emu|setMode|MODE_AppCuKeys
+TY_CSI_PR|DECSET|'h'|3|emu|setColumns|132
+TY_CSI_PR|DECSET|'h'|4|||
+TY_CSI_PR|DECSET|'h'|5|scr|setMode|MODE_Screen
+TY_CSI_PR|DECSET|'h'|6|scr|setMode|MODE_Origin
+TY_CSI_PR|DECSET|'h'|7|scr|setMode|MODE_Wrap
+TY_CSI_PR|DECSET|'h'|8|||
+TY_CSI_PR|DECSET|'h'|9|||
+TY_CSI_PR|DECSET|'h'|25|emu|setMode|MODE_Cursor
+TY_CSI_PR|DECSET|'h'|47|emu|setMode|MODE_AppScreen
+TY_CSI_PR|DECSET|'h'|1000|emu|setMode|MODE_Mouse1000
+TY_CSI_PR|DECSET|'h'|1001|||
+TY_CSI_PR|DECSET|'h'|1047|emu|setMode|MODE_AppScreen
+TY_CSI_PR|DECSET|'h'|1048|scr|saveCursor|
+TY_CSI_PR|DECRST|'l'|1|emu|resetMode|MODE_AppCuKeys
+TY_CSI_PR|DECRST|'l'|2|emu|resetMode|MODE_Ansi
+TY_CSI_PR|DECRST|'l'|3|emu|setColumns|80
+TY_CSI_PR|DECRST|'l'|4|||
+TY_CSI_PR|DECRST|'l'|5|scr|resetMode|MODE_Screen
+TY_CSI_PR|DECRST|'l'|6|scr|resetMode|MODE_Origin
+TY_CSI_PR|DECRST|'l'|7|scr|resetMode|MODE_Wrap
+TY_CSI_PR|DECRST|'l'|8|||
+TY_CSI_PR|DECRST|'l'|9|||
+TY_CSI_PR|DECRST|'l'|25|emu|resetMode|MODE_Cursor
+TY_CSI_PR|DECRST|'l'|47|emu|resetMode|MODE_AppScreen
+TY_CSI_PR|DECRST|'l'|1000|emu|resetMode|MODE_Mouse1000
+TY_CSI_PR|DECRST|'l'|1001|||
+TY_CSI_PR|DECRST|'l'|1047|emu|resetMode|MODE_AppScreen
+TY_CSI_PR|DECRST|'l'|1048|scr|restoreCursor|
+TY_CSI_PR|XTESAVE|'s'|1|emu|saveMode|MODE_AppCuKeys
+TY_CSI_PR|XTESAVE|'s'|6|scr|saveMode|MODE_Origin
+TY_CSI_PR|XTESAVE|'s'|7|scr|saveMode|MODE_Wrap
+TY_CSI_PR|XTESAVE|'s'|1000|emu|saveMode|MODE_Mouse1000
+TY_CSI_PR|XTESAVE|'s'|1001|||
+TY_CSI_PR|XTERESTORE|'r'|1|emu|restoreMode|MODE_AppCuKeys
+TY_CSI_PR|XTERESTORE|'r'|6|scr|restoreMode|MODE_Origin
+TY_CSI_PR|XTERESTORE|'r'|7|scr|restoreMode|MODE_Wrap
+TY_CSI_PR|XTERESTORE|'r'|1000|emu|restoreMode|MODE_Mouse1000
+TY_CSI_PR|XTERESTORE|'r'|1001|||
+TY_VT52__|VT52CUU|'A'||scr|cursorUp|1
+TY_VT52__|VT52CUD|'B'||scr|cursorDown|1
+TY_VT52__|VT52CUF|'C'||scr|cursorRight|1
+TY_VT52__|VT52CUB|'D'||scr|cursorLeft|1
+TY_VT52__|VT52SCSF|'F'||scr|setAndUseCharset|0,'0'
+TY_VT52__|VT52SCSG|'G'||scr|setAndUseCharset|0,'B'
+TY_VT52__|VT52CUH|'H'||scr|setCursorYX|1,1
+TY_VT52__|VT52RI|'I'||scr|reverseIndex|
+TY_VT52__|VT52EDS|'J'||scr|clearToEndOfScreen|
+TY_VT52__|VT52EDL|'K'||scr|clearToEndOfLine|
+TY_VT52__|VT52CUP|'Y'||scr|setCursorYX|p-31,q-31
+TY_VT52__|VT52REP|'Z'||emu|reportTerminalType|
+TY_VT52__|VT52ANSI|'<'||emu|setMode|MODE_Ansi
+TY_VT52__|VT52KPAM|'='||emu|setMode|MODE_AppKeyPad
+TY_VT52__|VT52KPNM|'>'||emu|resetMode|MODE_AppKeyPad
diff --git a/konsole/doc/VT100/db2.pl b/konsole/doc/VT100/db2.pl
new file mode 100755
index 000000000..f961e5d31
--- /dev/null
+++ b/konsole/doc/VT100/db2.pl
@@ -0,0 +1,49 @@
+#!/usr/bin/perl -w
+
+$ops = "db.trans";
+$src = "../../src/TEScreen.C";
+$res1 = ">TEScreen.p1";
+$res2 = ">TEScreen.p2";
+
+open(OPS, $ops) || die "cannot open file '" . $ops . "'.";
+
+my $tbl = {};
+while (<OPS>)
+{
+ chop; # strip record separator
+ my @Fld = split('\|', $_);
+ if ($Fld[2] && $Fld[2] eq 'scr')
+ {
+ $tbl->{$Fld[3]} = 1;
+ }
+}
+#foreach $p (sort keys %$tbl)
+#{
+# print $p, "\n";
+#}
+
+open(SRC, $src) || die "cannot open file '" . $src . "'.";
+open(RES1, $res1) || die "cannot open file '" . $res1 . "'.";
+open(RES2, $res2) || die "cannot open file '" . $res2 . "'.";
+my $control = 0;
+while (<SRC>)
+{
+ chop;
+ if ( /void TEScreen::(.*)\((.*)\)/ && exists $tbl->{$1} )
+ {
+ print RES1 "\n";
+ $control = 1;
+ }
+ if ($control)
+ {
+ print RES1 $_, "\n";
+ }
+ else
+ {
+ print RES2 $_, "\n";
+ }
+ if ( /^}$/ )
+ {
+ $control = 0;
+ }
+}
diff --git a/konsole/doc/VT100/genDocument b/konsole/doc/VT100/genDocument
new file mode 100755
index 000000000..4ecee0996
--- /dev/null
+++ b/konsole/doc/VT100/genDocument
@@ -0,0 +1,257 @@
+#!/bin/sh
+RES=techref.html
+
+function header
+{
+cat << etx >> $RES
+<h2>
+<table width=100%>
+<tr><td align=center bgcolor=#d0d0d0></td></tr>
+<tr><td align=center bgcolor=#d0d0d0>$1</td></tr>
+<tr><td align=center bgcolor=#d0d0d0></td></tr>
+</table>
+</h2>
+etx
+}
+
+cat > $RES /dev/null
+
+# -- HTML Header --------------------------------------------------------------------
+
+cat >> $RES << etx
+<html>
+<head>
+<title>VT100</title>
+<!-- NOTE: this page is generated using the "genDocument" script -->
+</head>
+<body bgcolor=white>
+
+<hr>
+
+etx
+
+# -- Editors Notes ------------------------------------------------------------------
+
+cat >> $RES << etx
+
+<h1><center>VT100</center></h1>
+<center><img src="vt100.gif"></center>
+
+<it>Please note that this text is under construction.</it>
+
+<h2>Preface</h2>
+
+This document accompanies the Konsole program, which is a terminal emulation
+for the X Windows System. Since material about the extend and precise semantics
+of the emulatation intended to be handled by this programs is hard to find on the
+internet today, it came out nessesary to include a more precise specification within
+their release.
+Hopefully, this helps to clearify the relation to the VT100, VT102, Linux, XTerm
+and ansi.sys (ANSI-BBS) terminals, which are the target of these programs. Further,
+it specifies which codes are interpreted by them, and what has been omitted.
+<p>
+To begin with, all of the above call themselfes "ANSI" emulations, which makes this
+notion pretty vage. "ANSI" referes here to the American National Standards
+Institute's documents X3.41-1974 and X3.64-1977. DEC partially implemented this
+standart in their VT100 terminal, with some additions. The VT102 is a later extention
+of that. Both the Linux console and the XTerm emulation implement most of VT102,
+with some additions. MS stepped in later and produced another ANSI emulation,
+<code>ansi.sys</code>, for their OS, which became of some relevance in BBS style
+telecommunication programs. One can view this as a small subset of the VT100
+emulation, with some additions, of cause.
+This situation is further confused by the fact, that often many versions of the
+above terminals and emulations are out, one able to do a little more or less then
+the other.
+<p>
+<hr>
+<p>
+I'm working towards a
+close integration of the konsole's source code with this document, but it
+is still a long way to go.
+<p>
+Currently, the body of this document is mainly a concept data base, that
+referes to the VT100 component of the emulation. Though the codes accepted by
+konsole are now clearly indicated, a comparison to the xterm and Linux console
+emulation is missing.
+<p>
+The konsole emulation sources is not linked closely with it's documentation,
+and, also accurate at the time of writing, it can still fall slightly appart,
+though the codes accepted and produced by konsole should be properly listed.
+Work is currently in progress to fix this issue.
+
+
+
+<h2>Notes &amp; todos</h2>
+<ul>
+<li>Include complete reference on keyboard material.
+<li>Check for explaination of out-of-bound values.
+<li>Include VT52, VT102, XTERM, LINUX-console codes
+<li>Make the whole document more concept oriented
+<li>See the section <em>Method of description</em>, below
+<li>Derive some summarizing lists.
+</ul>
+<hr>
+etx
+
+
+# -- Codes --------------------------------------------------------------------------
+
+./genTC.pl >> $RES
+
+
+header "On VT100"
+
+cat >> $RES << etx
+
+The VT100 is an upward and downward software-compatible terminal;
+that is, previous Digital video terminals have Digital's private standards
+for control sequences. The American National Standards Institute has since
+standardized escape and control sequences in terminals in documents X3.41-1974
+and X3.64-1977.
+<p>
+The VT100 is compatible with both the previous Digital standard and
+ANSI standards. Customers may use existing Digital software designed around
+the VT52 or new VT100 software. The VT100 has a "VT52 compatible" mode in
+which the VT100 responds to control sequences like a VT52. In this mode, most
+of the new VT100 features cannot be used.
+<p>
+Throughout this document references will be made to "VT52 mode" or
+"ANSI mode". These two terms are used to indicate the VT100's software
+compatibility.
+<p>
+<em>NOTE</em>: The ANSI standards allow the manufacturer flexibility in implementing
+each function. This document describes how the VT100 will respond to the
+implemented ANSI central function.
+<p>
+
+etx
+
+header "Modes"
+
+cat >> $RES << etx
+<a name=#MODES></a>
+
+
+The Following is a list of VT100 modes which may be changed with Set
+Mode (SM) and Reset Mode (RM) controls.
+
+<h3>ANSI Specified Modes</h3>
+
+<table border=1>
+<tr><td>Parameter</td><td>Mnemonic</td><td>Function</td></tr>
+<tr><td><hr></td><td><hr></td><td><hr></td></tr>
+<tr><td>0 </td><td> </td><td>Error (Ignored)</td></tr>
+<tr><td>20 </td><td>LNM </td><td>Line Feed/New Line Mode</td></tr>
+</table>
+
+
+<h3>DEC Private Modes</h3>
+
+If the first character in the parameter string is ? (077), the
+parameters are interpreted as DEC private parameters according to the
+following:
+
+<table border=1>
+<tr><td>Parameter</td><td>Mnemonic</td><td>Function
+<tr><td><hr></td><td><hr></td><td><hr></td></tr>
+<tr><td>0</td><td> </td><td>Error (Ignored)</td></tr>
+<tr><td>1</td><td><a href=#DECCKM >DECCKM </a></td><td>Cursor Key </td></tr>
+<tr><td>2</td><td><a href=#DECANM >DECANM </a></td><td>ANSI/VT52 </td></tr>
+<tr><td>3</td><td><a href=#DECCOLM>DECCOLM</a></td><td>Column </td></tr>
+<tr><td>4</td><td><a href=#DECSCLM>DECSCLM</a></td><td>Scrolling </td></tr>
+<tr><td>5</td><td><a href=#DECSCNM>DECSCNM</a></td><td>Screen </td></tr>
+<tr><td>6</td><td><a href=#DECOM >DECOM </a></td><td>Origin </td></tr>
+<tr><td>7</td><td><a href=#DECAWM >DECAWM </a></td><td>Auto Wrap </td></tr>
+<tr><td>8</td><td><a href=#DECARM>DECARM </a></td><td>Auto Repeat </td></tr>
+<tr><td>9</td><td><a href=#DECINLM>DECINLM</a></td><td>Interlace </td></tr>
+</table>
+
+Any other parameter values are ignored.
+
+<p>
+The following modes, which are specified in the ANSI standard, may be
+considered to be permanently set, permanently reset, or not applicable,
+as noted.
+
+<table border=1>
+<tr><td>Mnemonic</td><td>Function </td><td>State</td></tr>
+
+<tr><td>CRM </td><td>Control Representation </td><td>Reset</td></tr>
+<tr><td>EBM </td><td>Editing Boundary </td><td>Reset</td></tr>
+<tr><td>ERM </td><td>Erasure </td><td>Set </td></tr>
+<tr><td>FEAM </td><td>Format Effector Action </td><td>Reset</td></tr>
+<tr><td>FETM </td><td>Format Effector Transfer </td><td>Reset</td></tr>
+<tr><td>GATM </td><td>Guarded Area Transfer </td><td>NA </td></tr>
+<tr><td>HEM </td><td>Horizontal Editing </td><td>NA </td></tr>
+<tr><td>IRM </td><td>Insertion-replacement </td><td>Reset</td></tr>
+<tr><td>KAM </td><td>Keyboard Action </td><td>Reset</td></tr>
+<tr><td>MATM </td><td>Multiple area transfer </td><td>NA </td></tr>
+<tr><td>PUM </td><td>Positioning Unit </td><td>Reset</td></tr>
+<tr><td>SATM </td><td>Selected Area Transfer </td><td>NA </td></tr>
+<tr><td>SRTM </td><td>Status Reporting Transfer</td><td>Reset</td></tr>
+<tr><td>TSM </td><td>Tabulation Stop </td><td>Reset</td></tr>
+<tr><td>TTM </td><td>Transfer Termination </td><td>NA </td></tr>
+<tr><td>VEM </td><td>Vertical Editing </td><td>NA </td></tr>
+</table>
+etx
+
+# -- Keyboard Codes -----------------------------------------------------------------
+
+cat >> $RES << etx
+<h2>Keyboard Codes</h2>
+
+The notation &lt;ESC&gt; denotes a single ASCII Escape character, 1Bx.
+
+<table border=1>
+<tr>
+<td>Cursor Key</td>
+<td>VT52 mode</td>
+<td>ANSI mode w/cursor <br> key mode reset</td>
+<td>ANSI mode w/cursor <br> key mode set</td>
+</tr>
+<tr><td>UP </td><td>&lt;ESC&gt;A</td><td>&lt;ESC&gt;[A</td><td>&lt;ESC&gt;OA</td></tr>
+<tr><td>DOWN </td><td>&lt;ESC&gt;B</td><td>&lt;ESC&gt;[B</td><td>&lt;ESC&gt;OB</td></tr>
+<tr><td>RIGHT</td><td>&lt;ESC&gt;C</td><td>&lt;ESC&gt;[C</td><td>&lt;ESC&gt;OC</td></tr>
+<tr><td>LEFT </td><td>&lt;ESC&gt;D</td><td>&lt;ESC&gt;[D</td><td>&lt;ESC&gt;OD</td></tr>
+</table>
+etx
+
+
+# -- Graphics Characters ------------------------------------------------------------
+
+cat >> $RES << etx
+<h2>Special Graphics Characters</h2>
+
+If the Special Graphics set is selected, the graphics for ASCII codes
+0137 through 0176 will be replaced according to the following table (see the
+<a href=#SCS>SCS</a> control sequence).
+etx
+
+
+awk -f awk.table.graphic < Table.Graphic >> $RES
+
+
+cat >> $RES << etx
+<em>NOTE 1</em>: Codes 0152-0156 and 0164-0170 are used to draw rectangular grids" each
+piece of this set is contiguous with other so the lines formed will be
+unbroken.
+<p>
+<em>NOTE 2</em>: Codes 0157-0163 give better vertical resolution than dashes and
+underlines when drawing graphs; using these segments, 120 x 132 resolution may
+be obtained in 132 column mode with the Advanced Video Option installed.
+<p>
+
+<h2>References</h2>
+<p>
+<hr>
+<small>
+This text is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+<p>
+<a href="mailto:[email protected]">Lars D&ouml;lle</a>, 1998
+</small>
+
+</body>
+</html>
+etx
diff --git a/konsole/doc/VT100/genPl.pl b/konsole/doc/VT100/genPl.pl
new file mode 100755
index 000000000..0a3bb648e
--- /dev/null
+++ b/konsole/doc/VT100/genPl.pl
@@ -0,0 +1,300 @@
+#!/usr/bin/perl -w
+use strict;
+
+my $source = "Table.Codes";
+
+my $html = 1;
+my $test = 0;
+
+# Syntax -----------------------------------------------------------------------
+#
+# Dotted.Name Text
+# Dotted.Name
+# Text
+# Lines
+#
+# The dotted names have to be unique. Conceptually, they form a tree.
+#
+
+# Data Model ------------------------------------------------------------------
+
+# This is currently pretty wierd.
+#
+# Empirically, we have
+#
+# NAME.head TitleLine
+# NAME.emus { EmuName ... }
+# NAME.dflt { Number|'ScreenLines' ... }
+# NAME.sect DottedWord
+#
+# NAME.code <Typ>|<Ide>|<Parm>
+# NAME.text
+# <text with some special tricks>
+# NAME.table.TAB
+# <"|"-separated head line>
+# <"|"-separated data rows>
+#
+# TABs
+# - .XPS, used for instructions with subcodes
+# Subcode|Emulation|Scope|Operation|Parameter|Meaning
+# - .XEX, used for individual codes
+# Instruction|Scope|Operation|Parameter
+#
+# Alternative
+# - .impl Scope|Operation|Parameters
+# - .subc.SUBCODE.impl
+# - .subc.SUBCODE.attr
+# - .subc.SUBCODE.head
+
+# -----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
+# Analyze Source --------------------------------------------------------------
+# -----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
+
+my $all = {};
+
+my $state = 0;
+my $name = '';
+my $value = '';
+
+sub parse
+{
+ sub chkstate
+ { my ($expect,$lineno,$line) = @_;
+ if ($state != $expect)
+ {
+ print STDERR "$source($lineno): line unexpected in state $state. : $line\n";
+ }
+ }
+
+ sub reduce
+ {
+ $all->{$name} = $value;
+ $state = 0;
+ $value = '';
+ }
+
+ open(CODES, $source) || die "cannot open file '" . $source . "'.";
+ while (<CODES>)
+ {
+ chop; # strip record separator
+ my @Fld = split(' ', $_);
+
+ if ($#Fld == -1)
+ {
+ reduce() if $state != 0;
+ }
+ elsif (substr($_, 0, 1) eq '#')
+ {
+ ; #ignore
+ }
+ elsif (substr($_, 0, 1) eq ' ')
+ { &chkstate(1,$.,$_);
+ $value .= ($value eq "" ? "" : "\n") . $_; #FIXME: unchop
+ }
+ else
+ {
+ reduce() if $state != 0;
+ $name = $Fld[0];
+ if ($#Fld == 0)
+ {
+ $state = 1;
+ }
+ else
+ {
+ $value = join ' ', @Fld[1..$#Fld];
+ reduce();
+ }
+ }
+ }
+ reduce() if ($state == 1);
+ chkstate(0,$.,$_);
+
+ return $all;
+}
+
+# -----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
+# Analyze Source --------------------------------------------------------------
+# -----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
+
+sub clausify
+{
+ my ($t) = @_;
+ my $p;
+ my $word;
+ foreach $p (keys %$t)
+ {
+ my $flag = 0;
+ print("dict([");
+ foreach $word (split('\.', $p))
+ {
+ print(", ") if ($flag);
+ print("\'$word\'");
+ $flag = 1;
+ }
+ print("], ");
+ my @Fld = split('\.', $p);
+ #
+ # head
+ #
+ if ($#Fld == 1 && $Fld[1] eq 'head')
+ {
+ print "\"",$t->{$p},"\"";
+ }
+ #
+ # emus
+ #
+ elsif ($#Fld == 1 && $Fld[1] eq 'emus')
+ {
+ my $emu;
+ $flag = 0;
+ print("[");
+ foreach $emu (split(' ', $t->{$p}))
+ {
+ print ", " if ($flag);
+ print "\'$emu\'";
+ $flag = 1;
+ }
+ print("]");
+ }
+ #
+ # dflt
+ #
+ elsif ($#Fld == 1 && $Fld[1] eq 'dflt')
+ {
+ my $dflt;
+ $flag = 0;
+ print("[");
+ foreach $dflt (split(' ', $t->{$p}))
+ {
+ print ", " if ($flag);
+ print $dflt if (length($dflt) == 1);
+ print "\'$dflt\'" if (length($dflt) > 1);
+ $flag = 1;
+ }
+ print("]");
+ }
+ #
+ # sect
+ #
+ elsif ($#Fld == 1 && $Fld[1] eq 'sect')
+ {
+ my $sect;
+ $flag = 0;
+ print("[");
+ foreach $sect (split('\.', $t->{$p}))
+ {
+ print ", " if ($flag);
+ print "\'$sect\'";
+ $flag = 1;
+ }
+ print("]");
+ }
+ #
+ # code
+ #
+ elsif ($#Fld == 1 && $Fld[1] eq 'code')
+ {
+ my @Code = split('\|', $t->{$p});
+ print("[");
+ print("\'$Code[0]\', ");
+ if ($#Code > 0 && $Code[1] ne '')
+ {
+ print("\"$Code[1]\", ") if ($Code[0] ne 'CTL');
+ printf("%d, ",eval($Code[1])) if ($Code[0] eq 'CTL');
+ }
+ else
+ {
+ print("none, ")
+ }
+ if ($#Code == 2 && $Code[2] ne '' && $Code[0] ne 'PRN')
+ {
+ $_ = $Code[2];
+ s/{/['/;
+ s/}/']/;
+ s/;/','/g;
+ s/'([0-9]+)'/$1/g;
+ print $_;
+ }
+ else
+ {
+ print "[]";
+ }
+ print("]");
+ }
+ #
+ # text
+ #
+ elsif ($#Fld == 1 && $Fld[1] eq 'text')
+ {
+ my $text;
+ $flag = 0;
+ print("[");
+ foreach $text (split('\n', $t->{$p}))
+ {
+ print ", " if ($flag);
+ $_ = $text;
+ s/^ //;
+ s/"/\\"/g;
+ s/\\ref:([A-Z0-9]+)/", ref('$1'), "/g;
+ print "\n \"$_\"" if ($_ ne '.');
+ print "\n nl" if ($_ eq '.');
+ $flag = 1;
+ }
+ print("]");
+ }
+ #
+ # table.* - subcodes
+ #
+ #elsif ($#Fld == 2 && $Fld[1] eq 'table' && $Fld[2] eq 'XPS')
+ elsif ($#Fld >= 1 && $Fld[1] eq 'table')
+ {
+ my $text;
+ $flag = 0;
+ print("[");
+ foreach $text (split('\n', $t->{$p}))
+ {
+ print ",\n " if ($flag);
+ $_ = $text;
+ s/^ //;
+ my $flag2 = 0;
+ my $col;
+ print("[");
+ foreach $col (split('\|', $_))
+ {
+ print ", " if ($flag2);
+ $_ = $col;
+ s/'/\\'/g;
+ print "\'$_\'";
+ $flag2 = 1;
+ }
+ print("]");
+ $flag = 1;
+ }
+ print("]");
+ }
+ #
+ # other (text, tables)
+ #
+ else
+ {
+ print("other");
+ }
+ print(").\n");
+ }
+}
+
+# -----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
+# MAIN ------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
+
+my $t = parse();
+my $p;
+my $table = 0;
+
+clausify($t);
diff --git a/konsole/doc/VT100/genTC.pl b/konsole/doc/VT100/genTC.pl
new file mode 100755
index 000000000..a3a7c5669
--- /dev/null
+++ b/konsole/doc/VT100/genTC.pl
@@ -0,0 +1,434 @@
+#!/usr/bin/perl -w
+use strict;
+
+my $source = "Table.Codes";
+
+my $html = 1;
+my $test = 0;
+
+# Syntax -----------------------------------------------------------------------
+#
+# Dotted.Name Text
+# Dotted.Name
+# Text
+# Lines
+#
+# The dotted names have to be unique. Conceptually, they form a tree.
+#
+
+# Data Model ------------------------------------------------------------------
+
+# This is currently pretty wierd.
+#
+# Empirically, we have
+#
+# NAME.head <Title Line>
+# NAME.attr { lots ... }
+# NAME.dflt Value ...
+# NAME.code <Typ>|<Ide>|<Parm>
+# NAME.text
+# <text with some special tricks>
+# NAME.table.TAB
+# <"|"-separated head line>
+# <"|"-separated data rows>
+#
+# Section.html
+# <html-text>
+#
+# TABs
+# - .XPS, used for instructions with subcodes
+# Subcode|Emulation|Scope|Operation|Parameter|Meaning
+
+# -----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
+# Analyze Source --------------------------------------------------------------
+# -----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
+
+my $all = {};
+
+my $state = 0;
+my $name = '';
+my $value = '';
+
+sub parse
+{
+ sub chkstate
+ { my ($expect,$lineno,$line) = @_;
+ if ($state != $expect)
+ {
+ print STDERR "$source($lineno): line unexpected in state $state. : $line\n";
+ }
+ }
+
+ sub reduce
+ {
+ $all->{$name} = $value;
+ $state = 0;
+ $value = '';
+ }
+
+ open(CODES, $source) || die "cannot open file '" . $source . "'.";
+ while (<CODES>)
+ {
+ chop; # strip record separator
+ my @Fld = split(' ', $_);
+
+ if ($#Fld == -1)
+ {
+ reduce() if $state != 0;
+ }
+ elsif (substr($_, 0, 1) eq '#')
+ {
+ ; #ignore
+ }
+ elsif (substr($_, 0, 1) eq ' ')
+ { &chkstate(1,$.,$_);
+ $value .= ($value eq "" ? "" : "\n") . $_; #FIXME: unchop
+ }
+ else
+ {
+ reduce() if $state != 0;
+ $name = $Fld[0];
+ if ($#Fld == 0)
+ {
+ $state = 1;
+ }
+ else
+ {
+ $value = join ' ', @Fld[1..$#Fld];
+ reduce();
+ }
+ }
+ }
+ reduce() if ($state == 1);
+ chkstate(0,$.,$_);
+
+ return $all;
+}
+
+# -----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
+# Html Layout -----------------------------------------------------------------
+# -----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
+
+sub head
+{
+ if ($html)
+ {
+ print "<table>\n";
+ print "<tr><td width=10%%><td><td><td><td><td><td width=40%%>\n";
+ }
+}
+
+sub tail
+{
+ if ($html)
+ {
+ print "</table>\n";
+ }
+}
+
+my $color1 = " bgcolor=\"#D0D0D0\""; # table head // section head
+my $color2 = " bgcolor=\"#5BA5B2\""; # table body (even)
+my $color3 = " bgcolor=\"#5188B2\""; # table body (odd)
+my $color4 = ""; # code, default
+my $color5 = ""; # text
+
+sub txt2Html
+{
+ my ($Doku) = @_;
+ $_ = $Doku;
+ s/</&lt;/g;
+ s/>/&gt;/g;
+ s/\\ref:([A-Z0-9]+)/<a href=#$1>$1<\/a>/g;
+ s/\n \.\n/\n <p>\n/g;
+ return $_;
+}
+
+sub layout
+{ my ($Name, $Head, $Code, $Doku, $Dflt, $Attr) = @_;
+ if ($html)
+ {
+
+ print "<tr><td><p></td></tr>\n";
+
+ print "<tr><td $color1><a name=$Name>$Name</a>\n";
+ if ($Attr eq '')
+ {
+ print " <td $color1 colspan=6><b>$Head</b>\n";
+ }
+ else
+ {
+ print " <td colspan=5 $color1><b>$Head</b>\n";
+ print " <td $color1>$Attr\n";
+ }
+
+ if ($Code ne '')
+ {
+ my @Part = split('\|',$Code);
+ my $Type = $Part[0];
+ my $Indi = $#Part > 0 ? $Part[1] : "";
+ my $Parm = $#Part > 1 ? $Part[2] : "";
+ $Code = $Parm if $Type eq 'PRN';
+ $Code = $Indi if $Type eq 'CTL';
+ $Code = "ESC $Indi" if $Type eq 'ESC';
+ $Code = "0x7f" if $Type eq 'DEL';
+ $Code = "ESC # $Indi" if $Type eq 'HSH';
+ $Code = "ESC $Parm" if $Type eq 'SCS';
+ $Code = "ESC Y $Parm" if $Type eq 'VT5';
+ $Code = "ESC [ $Parm $Indi" if $Type eq 'CSI';
+ $Code = "ESC [ ? $Parm $Indi" if $Type eq 'PRI';
+ print "<tr><td><p></td>\n";
+ print "<tr><td>\n";
+ print " <td colspan=5 $color4>", codeToHtml($Code), "\n";
+ print " <td $color4>Default: $Dflt\n" if ($Dflt ne '');
+ }
+
+ print "<tr><td><p></td>\n";
+ print "<tr><td></td>\n";
+# $_ = $Doku;
+# s/</&lt;/g;
+# s/>/&gt;/g;
+# s/\\ref:([A-Z0-9]+)/<a href=#$1>$1<\/a>/g;
+# s/\n \.\n/\n <p>\n/g;
+ print " <td $color5 colspan=6>";
+ print txt2Html($Doku);
+ print "\n";
+ }
+ if ($test)
+ {
+ print "NAME: $Name\n";
+ print "TEXT: $Head\n";
+ print "CODE: $Code\n";
+ print "ATTR: $Attr\n";
+ print "DFLT: $Dflt\n";
+ # print "DOCU: $Doku\n";
+ }
+}
+
+sub codeToHtml
+{ my ($code) = @_;
+ my $res = '<code>';
+ foreach (split(' ', $code))
+ {
+ /^\{(.*)\}$/ && do { $res .= " <em>$1</em>"; next; };
+ /^<$/ && do { $res .= ' <b>&lt;</b>'; next; };
+ /^>$/ && do { $res .= ' <b>&gt;</b>'; next; };
+ $res .= " <b>$_</b>";
+ }
+ return $res . '</code>';
+}
+
+# -----------------------------------------------------------------------------
+
+sub secthead
+{ my ($Title) = @_;
+print "<h2>\n";
+print "<table width=100%>\n";
+print "<tr><td align=center bgcolor=#d0d0d0></td></tr>\n";
+print "<tr><td align=center bgcolor=#d0d0d0>$Title</td></tr>\n";
+print "<tr><td align=center bgcolor=#d0d0d0></td></tr>\n";
+print "</table>\n";
+print "</h2>\n";
+}
+
+sub layout2
+{ my ($Name, $Head, $Code) = @_;
+ my @Part = split('\|',$Code);
+ my $Type = $#Part > -1 ? $Part[0] : "";
+ my $Indi = $#Part > 0 ? $Part[1] : "";
+ my $Parm = $#Part > 1 ? $Part[2] : "";
+ if ($Type eq 'CTL')
+ {
+ $_ = $Indi;
+ s/0x00/@/; s/0x01/A/; s/0x02/B/; s/0x03/C/;
+ s/0x04/D/; s/0x05/E/; s/0x06/F/; s/0x07/G/;
+ s/0x08/H/; s/0x09/I/; s/0x0a/J/; s/0x0b/K/;
+ s/0x0c/L/; s/0x0d/M/; s/0x0e/N/; s/0x0f/O/;
+ s/0x10/P/; s/0x11/Q/; s/0x12/R/; s/0x13/S/;
+ s/0x14/T/; s/0x15/U/; s/0x16/V/; s/0x17/W/;
+ s/0x18/X/; s/0x19/Y/; s/0x1a/Z/; s/0x1b/[/;
+ s/0x1c/\\/; s/0x1d/]/; s/0x1e/^/; s/0x1f/_/;
+ $Indi = $_;
+ }
+ print "<tr>\n";
+ print "<td $color1><a href=#$Name>$Name</a>\n";
+ print "<td $color1>$Type\n";
+ print "<td $color1>$Indi\n";
+ print "<td $color1>$Parm\n";
+ print "<td $color1>$Head\n";
+}
+
+sub layoutTable
+{
+ my ($Head, $t, $Include) = @_;
+ my $p;
+print "<tr><td colspan=5><h3>$Head</h3>\n";
+foreach $p (sort keys %$t)
+{
+ my @Fld = split('\.', $p);
+ if ($#Fld == 1 && $Fld[1] eq 'head')
+ {
+ my $name = $Fld[0];
+ my $head = $t->{$p};
+ my $attr = exists $t->{"$name.sect"}?$t->{"$name.sect"}:"";
+ if ($attr =~ /$Include/)
+ {
+ layout2( $name, $head, exists $t->{"$name.code"}?$t->{"$name.code"}:"");
+ }
+ }
+}
+}
+
+sub sortTest
+{
+ my ($t) = @_;
+ my $p;
+ my $s = {};
+ my $n = {};
+ my $curr = "";
+ foreach $p (keys %$t)
+ {
+ my @Fld = split('\.', $p);
+ if ($#Fld == 1 && $Fld[1] eq 'head')
+ {
+ my $name = $Fld[0];
+ if (exists $t->{"$name.code"})
+ {
+ $s->{$t->{"$name.code"}} = $name;
+ }
+ }
+ }
+ print "<table>\n";
+ foreach $p (sort keys %$s)
+ {
+ my $name = $s->{$p};
+ my @Fld = split('\|', $p);
+ if ($Fld[0] ne $curr)
+ {
+ print "<tr><td colspan=5><h3>$Fld[0] codes</h3>\n";
+ }
+ $curr = $Fld[0];
+ layout2($name,$t->{"$name.head"},$p);
+ }
+ print "</table>\n";
+}
+
+sub htmlsect
+{
+ my ($h) = @_;
+ $_ = $all->{"$h.html"};
+ s/\n \.\n/\n <p>\n/g;
+ print "$_\n";
+}
+
+# -----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
+# MAIN ------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
+
+my $t = parse();
+my $p;
+my $table = 0;
+
+# -------------------------------
+htmlsect("Introduction");
+# -------------------------------
+secthead("Control Sequences");
+htmlsect("Sequences");
+# -------------------------------
+secthead("Host to Terminal (Instructions by Code)");
+sortTest($t);
+# -------------------------------
+secthead("Host to Terminal (Instructions by Group)");
+htmlsect("Operations");
+print "<table>\n";
+layoutTable("Commands (Character Display Operation)",$t,"Command\.Display");
+layoutTable("Commands (Rendition related status)",$t,"Command\.RenderMode");
+layoutTable("Commands (Cursor)",$t,"Command\.Cursor");
+layoutTable("Commands (Cursor related status)",$t,"Command\.CursMode");
+layoutTable("Commands (Edit)",$t,"Command\.Erase|Command\.Insert|Command.\Delete");
+layoutTable("Commands (Miscellaneous)",$t,"Command[^.]|Command\$");
+layoutTable("Commands (General mode setting)",$t,"Command\.SetMode");
+layoutTable("Commands (Miscellaneous status)",$t,"Command\.Mode");
+layoutTable("Commands (VT52)",$t,"Command\.VT52");
+layoutTable("Commands (Not implemented)",$t,"Command\.NoImp");
+layoutTable("Commands (Ignored)",$t,"Command\.Ignored");
+layoutTable("Commands (Requests)",$t,"Command\.Request");
+print "</table>\n";
+# -------------------------------
+secthead("Terminal to Host");
+print "<table>\n";
+layoutTable("Replies",$t,"Reply");
+layoutTable("Events",$t,"Event");
+# -------------------------------
+print "</table>\n";
+secthead("Modes");
+print "<table>\n";
+layoutTable("Modes",$t,"Mode");
+#print "<h3>Other Codes</h3>\n";
+print "</table>\n";
+# -------------------------------
+secthead("Appendix A - Notion Details");
+htmlsect("ConceptDB");
+# -------------------------------
+
+head();
+foreach $p (sort keys %$t)
+{
+ my @Fld = split('\.', $p);
+ if ($#Fld == 1 && $Fld[1] eq 'head')
+ {
+# print "</table>\n" if ($table);
+ my $name = $Fld[0];
+ my $head = $t->{$p};
+ layout( $name, $head,
+ exists $t->{"$name.code"}?$t->{"$name.code"}:"",
+ exists $t->{"$name.text"}?$t->{"$name.text"}:"",
+ exists $t->{"$name.dflt"}?$t->{"$name.dflt"}:"",
+ exists $t->{"$name.emus"}?$t->{"$name.emus"}:"" );
+ $table = 0;
+ }
+ if ($html && $#Fld == 2 && $Fld[1] eq 'table')
+ {
+ my $lines = $t->{$p};
+ my $line;
+ my $field;
+ my @fldspan = ();
+ my $ln = 0;
+ print "<tr><td><p></td></tr>\n";
+# print "<tr><td $color1>$Fld[2]</td><td $color1>Meaning</td></tr>\n";
+ foreach $line (split('\n', $lines))
+ {
+ my $fn = 0;
+ @fldspan = split('\|',$line) if ($ln == 0);
+ print "<tr>\n";
+ print "<td></td>\n";
+ foreach $field (split('\|',$line))
+ {
+ if ($ln == 0)
+ {
+ my @Parts = split(":",$field);
+ $field = $Parts[0];
+ $fldspan[$fn] = ($#Parts > 0) ? $Parts[1] : 1;
+ }
+ print "<td";
+ printf(" colspan=%s",$fldspan[$fn]);
+ print " $color1" if ($ln == 0);
+ print " $color2" if ($ln > 0 && $ln % 2 == 0);
+ print " $color3" if ($ln > 0 && $ln % 2 == 1);
+ print ">";
+ print txt2Html($field);
+ print "</td>";
+ $fn += 1;
+ }
+ print "</tr>\n";
+ $ln += 1;
+ }
+ $table = 1;
+ }
+}
+tail();
diff --git a/konsole/doc/VT100/konsole1.gif b/konsole/doc/VT100/konsole1.gif
new file mode 100644
index 000000000..832c2dc65
--- /dev/null
+++ b/konsole/doc/VT100/konsole1.gif
Binary files differ
diff --git a/konsole/doc/VT100/konsole2.gif b/konsole/doc/VT100/konsole2.gif
new file mode 100644
index 000000000..eb2cdb4d0
--- /dev/null
+++ b/konsole/doc/VT100/konsole2.gif
Binary files differ
diff --git a/konsole/doc/VT100/t.pl b/konsole/doc/VT100/t.pl
new file mode 100755
index 000000000..b0d9dc8e5
--- /dev/null
+++ b/konsole/doc/VT100/t.pl
@@ -0,0 +1,17 @@
+#!/usr/bin/perl
+
+# This script is here only as a pattern for maintainance works.
+# It has changing contents and is of no use to anyone but me.
+
+$source = "Table.Codes";
+
+open(CODES, $source) || die "cannot open file '" . $source . "'.";
+
+while (<CODES>)
+{
+ if (/^attr/)
+ {
+ s/VT100/VT100 ANSI/ if (!/DEC/);
+ }
+ print $_;
+}
diff --git a/konsole/doc/VT100/techref.html b/konsole/doc/VT100/techref.html
new file mode 100644
index 000000000..6e36f39e5
--- /dev/null
+++ b/konsole/doc/VT100/techref.html
@@ -0,0 +1,4681 @@
+<html>
+<head>
+<title>VT100</title>
+<!-- NOTE: this page is generated using the "genDocument" script -->
+</head>
+<body bgcolor=white>
+
+<hr>
+
+
+<h1><center>VT100</center></h1>
+<center><img src="vt100.gif"></center>
+
+<it>Please note that this text is under construction.</it>
+
+<h2>Preface</h2>
+
+This document accompanies the Konsole program, which is a terminal emulation
+for the X Windows System. Since material about the extend and precise semantics
+of the emulatation intended to be handled by this programs is hard to find on the
+internet today, it came out nessesary to include a more precise specification within
+their release.
+Hopefully, this helps to clearify the relation to the VT100, VT102, Linux, XTerm
+and ansi.sys (ANSI-BBS) terminals, which are the target of these programs. Further,
+it specifies which codes are interpreted by them, and what has been omitted.
+<p>
+To begin with, all of the above call themselfes "ANSI" emulations, which makes this
+notion pretty vage. "ANSI" referes here to the American National Standards
+Institute's documents X3.41-1974 and X3.64-1977. DEC partially implemented this
+standart in their VT100 terminal, with some additions. The VT102 is a later extension
+of that. Both the Linux console and the XTerm emulation implement most of VT102,
+with some additions. MS stepped in later and produced another ANSI emulation,
+<code>ansi.sys</code>, for their OS, which became of some relevance in BBS style
+telecommunication programs. One can view this as a small subset of the VT100
+emulation, with some additions, of cause.
+This situation is further confused by the fact, that often many versions of the
+above terminals and emulations are out, one able to do a little more or less then
+the other.
+<p>
+<hr>
+<p>
+I'm working towards a
+close integration of the konsole's source code with this document, but it
+is still a long way to go.
+<p>
+Currently, the body of this document is mainly a concept data base, that
+referes to the VT100 component of the emulation. Though the codes accepted by
+konsole are now clearly indicated, a comparison to the xterm and Linux console
+emulation is missing.
+<p>
+The konsole emulation sources is not linked closely with it's documentation,
+and, also accurate at the time of writing, it can still fall slightly appart,
+though the codes accepted and produced by konsole should be properly listed.
+Work is currently in progress to fix this issue.
+
+
+
+<h2>Notes &amp; todos</h2>
+<ul>
+<li>Include complete reference on keyboard material.
+<li>Check for explaination of out-of-bound values.
+<li>Include VT52, VT102, XTERM, LINUX-console codes
+<li>Make the whole document more concept oriented
+<li>See the section <em>Method of description</em>, below
+<li>Derive some summarizing lists.
+</ul>
+<hr>
+ <h2>Introduction</h2>
+ <p>
+ In a traditional UNIX installation a single machine (host) served
+ several users by means of terminals attached to this host by a serial
+ cable. These terminals (end points) where specialized devices, either
+ regular ttys (printer with keyboard) or later more sophisticated
+ things with cathode ray tubes.
+ <p>
+ <center><img src="konsole2.gif"></center>
+ <p>
+ Today, hardware has become so cheap, that each single user could
+ be provided with a complete host/display combination for the former
+ price of a terminal.
+ <p>
+ Additional, and here we come to the X in the emulation, display
+ devices have become graphical while the original terminal where
+ only able to show characters but not graphics.
+ <p>
+ To allow programs designed for the original configuration to be
+ used in the contemporary setup, "terminal emulations" where invented.
+ In these emulations, the whole original setup is simulated.
+ <p>
+ The serial cable is folded into the operating system as a sort of
+ loop back device, and a program, the terminal emulation, uses modern
+ means of graphical user interfaces to behave like an earlier terminal.
+ To complete the picture, the host in the diagram is replaced by the
+ application that runs in the emulation (typically a shell or an old
+ editor). So, terminal emulations are in fact interfaces to character
+ oriented applications.
+ <p>
+ This document describes the implementations of a program named
+ "konsole", which is such an X terminal emulation. Since konsole
+ is distributed under the GPL, meaning that it's source code is
+ available to whoever likes to hack on it, the program would be
+ incomplete without a proper introduction into the code and it's
+ concepts. Thus, this text is to complement the program and the
+ source with the remaining informations to make a complete product.
+ <p>
+ <h2>A first refinement</h2>
+ <p>
+ Before we can come to the actual implementation, quite some
+ notions have to be introduced. We have to get us an idea what
+ a terminal emulation does in more detail.
+ <p>
+ To this end, a simple model of the terminal and it's operation
+ is given, which is later extended and refined as we come deeper
+ into matter and implementation.
+ <p>
+ At some level conception, a terminal can be described as a
+ (abstract) data model. This means it has some type of state
+ together with operations on that data type. These operations
+ are somehow encoded to be passed over the serial line.
+ <p>
+ The concrete model is often loosely named the "emulation",
+ the specific encoding chosen, the "protocol".
+ <p>
+ There are two principle models in use. The first, stream like
+ one, which is related to a tty, consideres the terminal as an
+ indefinit long and wide sheet of paper on which a printer head
+ types the characters that come in over the line. Typical examples
+ are shell scripts, make and other programs producing sequential
+ protocols of their activity. Their basic data type is a list of
+ list of characters.
+ <p>
+ The second principle model is used by applications written
+ especially for crt devices, so called full screen applications.
+ These treat the terminal as a matrix of characters where each
+ position can be individually addressed and written to. Typical
+ representatives are full screen editors like vi and emacs,
+ file managers like mc and mail readers like mutt.
+ <p>
+ Though the second model is newer, it's age does not imply a
+ preference. To the contrary, both models have a right for their
+ own and are both to be supported. The first model is fully
+ expressed within konsole in form of it's ref:history buffer.
+ <p>
+ Note, that although the second model definitely build on the
+ first one in almost any respect, it cannot fully express it,
+ since it introduces a finite line length, while the first
+ model works with indefinite lines.
+ <p>
+ Since application with both view of things are typically run
+ within the same session, some effort has been made within
+ konsole to maintain both ideas simultaniously, but only with
+ limited success so far.
+ <p>
+ In both models, the notion of a current position (historically
+ a printer's head, nowadays visualized by a cursor) is present.
+ "Printing" a character at the current position and advancing
+ the head together with the starting a new line are the most
+ fundamental operations of the emulation.
+ <p>
+ The full screen model basically adds the possibility to position
+ the cursor and to overwrite and clear the screen.
+ <p>
+ A plethora of additional (more or less useful) commands are
+ then added on this by every specific emulation, see below for
+ the awful details.
+ <p>
+ <!-- BEGIN: new section about the codes -->
+ <h2>Parts of the model</h2>
+ <p>
+ <it>All the following in this section is an outline</it>.
+ <p>
+ Parts of the terminal description
+ <ul>
+ <li>State
+ <br>This is mainly the screen, the cursor (including it's graphical state)
+ and some hidden mode variables. Note that the state cannot be investigated
+ by the attached host.
+ <li>Interface
+ <br>That's what goes over the wire. Beside being related to objects, this
+ appears so closely related to contemporal process communication, that
+ it might be discussed in likely terms.
+ <br>We have information flowing in both directions. On could destinguist
+ between:
+ <li>Commands
+ <br>These are "calls" of the terminals interface by the host which cause
+ some change of the terminals state, but do not end in a response.
+ <li>Requests
+ <br>These are "calls" of the terminals interface by the host which do not cause
+ any change of the terminals state, but end in a response of the terminal.
+ Clearly, requests are somehow used to investigate the state of the terminal.
+ <li>Events
+ <br>These are signals from the terminal caused by the user affecting the
+ mouse or keyboard to the host.
+ <li>Replys
+ <br>These are send by the terminal as a result of a Request from the hosts.
+ <li>Encoding/Decoding
+ </ul>
+<h2>
+<table width=100%>
+<tr><td align=center bgcolor=#d0d0d0></td></tr>
+<tr><td align=center bgcolor=#d0d0d0>Control Sequences</td></tr>
+<tr><td align=center bgcolor=#d0d0d0></td></tr>
+</table>
+</h2>
+ Conceptually, the commands to the terminal emulation are encoded if form
+ of byte sequences to meet the restrictions of the transport media. These
+ sequences have pretty different originations and therefore the format of
+ the sequences are inhomogenous.
+ <p>
+ Refering both to their origin and form, one can group the overall encoding
+ schemes as follows:
+ <p>
+ <table>
+ <tr><td width=20% bgcolor=#d0d0d0>Name</td><td width=20% bgcolor=#d0d0d0>Pattern</td><td bgcolor=#d0d0d0>Scope</td><td bgcolor=#d0d0d0>Comment</td></tr>
+ <tr><td>Printable Ascii Characters</td><td>32..126</td><td>ASCII ECMA</td>
+ <td>This is the most original pattern of all. The characters to be
+ displayed are passed over the chanel and are interpreted by the
+ terminal (emulation) as instructions to display the corresponding
+ glyph of the ascii character set. Contempory emulations include the
+ upper half (128..255) of the extentions to the national ascii character
+ sets, also.</td></tr>
+ <tr><td>Ascii Control Characters</td><td>0..26,28..31,127</td><td>ASCII ECMA</td>
+ <td>Ascii defines some non-printable, but format effecting characters, too.
+ Depending on the emulation, at least some of them are given a meaning.
+ The typically implemented ones are those that are handled by a teletype
+ like device.</td></tr>
+ <tr><td>Simple Escape Sequence</td><td><b>ESC</b> <i>C</i></td><td>ECMA</td>
+ <td>These sequences are made up from an <b>ESC</b> character followed by
+ exactly one other character in the range ???..???.</td></tr>
+ <tr><td>CSI Sequence</td>
+ <td><b>ESC</b> <b>[</b> <i>Parameters</i> {<i>I</i>} <i>C</i></td>
+ <td>ECMA</td>
+ <td></td></tr>
+ <tr><td colspan=4>
+ <p>
+ The remaining codes are nonstandard but traditionalized hacks.
+ <p>
+ </td></tr>
+ <tr><td>DEC hacks</td>
+ <td><b>ESC</b> <i>C</i> <i>D</i></td>
+ <td>VT100</td>
+ <td></td></tr>
+ <tr><td>XTERM hacks</td>
+ <td><b>ESC ]</b> <i>Pn</i> <b>;</b> <i>text</i> <b>BEL</b></td>
+ <td>XTERM</td>
+ <td></td>
+ <tr><td colspan=4>
+ <p>
+ VT52 uses a different (incompatible) set of escape codes. VT100 includes
+ the VT52 emulation as a mode.
+ <p>
+ </td></tr>
+ </tr>
+ <tr><td>Simple Escape Sequence</td><td><b>ESC</b> <i>C</i></td><td>VT52</td>
+ <td></td></tr>
+ <tr><td>Complex Escape Sequence</td><td><b>ESC</b> <b>Y</b> <i>X</i> <i>Y</i></td><td>VT52</td>
+ <td></td></tr>
+ <p>
+ </table>
+ <p>
+ <h3>More on Control Sequences</h3>
+ <p>
+ <h4>Control Characters</h4>
+ <p>
+ Control characters (codes 0x00 - 0x1f inclusive) are specifically excluded
+ from the control sequence syntax, but may be embedded within a control
+ sequence. Embedded control characters are executed as soon as they are
+ encountered by a VT100. The processing of the control sequence then
+ continues with the next character received. The exceptions are:
+ if the <a href=#ESC>ESC</a> character occurs, the current control sequence
+ is aborted, and a new one commences beginning with the <a href=#ESC>ESC</a>
+ just received. If the character <a href=#CAN>CAN</a> (0x0c) or the
+ character <a href=#SUB>SUB</a> (0x0e) occurs,
+ the current control sequence is aborted. The ability to embed control
+ characters allows the synchronization characters XON and XOFF to be
+ interpreted properly without affecting the control sequence.
+ <p>
+ <p>
+ <h4>CSI Sequences</h4>
+ <p>
+ <dl>
+ <dt>Control Sequence Introducer (CSI):
+ <dd>An escape sequence that provides
+ supplementary controls and is itself a prefix affecting the
+ interpretation of a limited number of contiguous characters.
+ In the VT100, the CSI is: &lt;ESC&gt;[
+ <p>
+ <dt>Parameter:
+ <dd>1. A string of zero or more decimal characters which
+ represent a single value. Leading zeros are ignored. The
+ decimal characters have a range of 0 (060) to 9 (071).
+ <br>2. The value so represented.
+ <p>
+ <dt>Numeric Parameter:
+ <dd>A parameter that represents a number, designated by Pn.
+ <p>
+ <dt>Selective Parameter:
+ <dd>A parameter that selects a subfunction from a
+ specified set of subfunctions, designated by Ps. In general, a
+ control sequence with more than one selective parameter causes
+ the same effect as several control sequences, each with one
+ selective parameter, e.g., CSI Psa; Psb; Psc F is identical to
+ CSI Psa F CSI Psb F CSI Psc F.
+ <p>
+ <dt>Parameter String:
+ <dd>A string of parameters separated by a semicolon.
+ <p>
+ <dt>Default:
+ <dd> A function-dependent value that is assumed when no explicit
+ value, or a value of 0, is specified.
+ <p>
+ <dt>Final character:
+ <dd>A character whose bit combination terminates an escape or control sequence.
+ </dl>
+ <p>
+ <em>EXAMPLE</em>: Control sequence to turn off all character attributes, then
+ turn on underscore and blink attributes (<a href=#SGR>SGR</a>).
+ <p>
+ <center><img src="konsole1.gif"></center>
+ <p>
+ The octal representation of this string is:
+ <pre>
+ 033 0133 060 073 064 073 065 0155
+ &lt;ESC&gt; [ 0 ; 4 ; 5 m
+ </pre>
+ <p>
+ Alternate sequences which will accomplish the same thing:
+ <p>
+ <ul>
+ <li><code>&lt;ESC&gt;[;4;m </code>
+ <li><code>&lt;ESC&gt;[m </code>
+ <br><code>&lt;ESC&gt;[4m </code>
+ <br><code>&lt;ESC&gt;[5m </code>
+ <li><code>&lt;ESC&gt;[0;04;005m</code>
+ </ul>
+ <p>
+ <h4>DEC hacks</h4>
+ <p>
+ These form two groups of commands.
+ <p>
+ In one first the first character is a hash (<em>#</em>) and the following a digit.
+ This command group is used to denote VT100 specific instructions and can
+ safely be sonsidered to be obsolete. See
+ <a href=#DECALN>DECALN</a>,
+ <a href=#DECDHLB>DECDHLB</a>,
+ <a href=#DECDHLT>DECDHLT</a>,
+ <a href=#DECDWL>DECDWL</a> and
+ <a href=#DECSWL>DECSWL</a>.
+ <p>
+ The second one is used to specify character set mappings (see <a
+ href=#SCS>SCS</a>). A CSI instruction to do this is specified in ECMA,
+ and this should be used as a replacement.
+ <p>
+ <h4>XTERM hacks</h4>
+<h2>
+<table width=100%>
+<tr><td align=center bgcolor=#d0d0d0></td></tr>
+<tr><td align=center bgcolor=#d0d0d0>Host to Terminal (Instructions by Code)</td></tr>
+<tr><td align=center bgcolor=#d0d0d0></td></tr>
+</table>
+</h2>
+<table>
+<tr><td colspan=5><h3>CSI codes</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#ICH>ICH</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">@
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Insert Character
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CUU>CUU</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">A
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Cursor Up
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CUD>CUD</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">B
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Cursor Down
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CUF>CUF</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">C
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Cursor Foreward
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CUB>CUB</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">D
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Cursor Backward
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CHA>CHA</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">G
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Cursor Horizontal Absolute
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CUP>CUP</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">H
+<td bgcolor="#D0D0D0">{Pn;Pn}
+<td bgcolor="#D0D0D0">Cursor Position
+<tr>
+<td bgcolor="#D0D0D0"><a href=#ED>ED</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">J
+<td bgcolor="#D0D0D0">{Ps}
+<td bgcolor="#D0D0D0">Erase in Display
+<tr>
+<td bgcolor="#D0D0D0"><a href=#EL>EL</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">K
+<td bgcolor="#D0D0D0">{Ps}
+<td bgcolor="#D0D0D0">Erase in Line
+<tr>
+<td bgcolor="#D0D0D0"><a href=#IL>IL</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">L
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Insert Line
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DL>DL</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">M
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Delete Line
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DCH>DCH</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">P
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Delete Character
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CPR>CPR</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">R
+<td bgcolor="#D0D0D0">{Pn;Pn}
+<td bgcolor="#D0D0D0">Cursor Position Report
+<tr>
+<td bgcolor="#D0D0D0"><a href=#ECH>ECH</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">X
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Erase Character
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DA>DA</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">c
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Device Attributes Request
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VPA>VPA</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">d
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Vertical Position Absolute
+<tr>
+<td bgcolor="#D0D0D0"><a href=#HVP>HVP</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">f
+<td bgcolor="#D0D0D0">{Pn;Pn}
+<td bgcolor="#D0D0D0">Horizontal and Vertical Position
+<tr>
+<td bgcolor="#D0D0D0"><a href=#TBC>TBC</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">g
+<td bgcolor="#D0D0D0">{Ps}
+<td bgcolor="#D0D0D0">Tabulation Clear
+<tr>
+<td bgcolor="#D0D0D0"><a href=#SM>SM</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">h
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">Set Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#MC>MC</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">i
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Media Copy
+<tr>
+<td bgcolor="#D0D0D0"><a href=#RM>RM</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">l
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">Reset Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#SGR>SGR</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">m
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">Select Graphic Rendition
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DSRREQ>DSRREQ</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">n
+<td bgcolor="#D0D0D0">{Ps}
+<td bgcolor="#D0D0D0">Device Status Report
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DSRREP>DSRREP</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">n
+<td bgcolor="#D0D0D0">{Status}
+<td bgcolor="#D0D0D0">Device Status Report Reply
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECLL>DECLL</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">q
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">Load LEDs
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECSTBM>DECSTBM</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">r
+<td bgcolor="#D0D0D0">{Pn;Pn}
+<td bgcolor="#D0D0D0">Set Top and Bottom Margins
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECREQTPARM>DECREQTPARM</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">x
+<td bgcolor="#D0D0D0">{Ps}
+<td bgcolor="#D0D0D0">Request Terminal Parameters
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECREPTPARM>DECREPTPARM</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">x
+<td bgcolor="#D0D0D0">{sol;par;nbits;xspd;rspd;cmul;flags}
+<td bgcolor="#D0D0D0">Report Terminal Parameters
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECTST>DECTST</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">y
+<td bgcolor="#D0D0D0">{2;Ps}
+<td bgcolor="#D0D0D0">Invoke Confidence Test
+<tr><td colspan=5><h3>CTL codes</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#NUL>NUL</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">@
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Null
+<tr>
+<td bgcolor="#D0D0D0"><a href=#SOH>SOH</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">A
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Start Of Heading
+<tr>
+<td bgcolor="#D0D0D0"><a href=#STX>STX</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">B
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Start Of Text
+<tr>
+<td bgcolor="#D0D0D0"><a href=#ETX>ETX</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">C
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">End Of Text
+<tr>
+<td bgcolor="#D0D0D0"><a href=#EOT>EOT</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">D
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">End Of Transmission
+<tr>
+<td bgcolor="#D0D0D0"><a href=#ENQ>ENQ</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">E
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Enquiry
+<tr>
+<td bgcolor="#D0D0D0"><a href=#ACK>ACK</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">F
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Acknowledge
+<tr>
+<td bgcolor="#D0D0D0"><a href=#BEL>BEL</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">G
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Bell
+<tr>
+<td bgcolor="#D0D0D0"><a href=#BS>BS</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">H
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Back Space
+<tr>
+<td bgcolor="#D0D0D0"><a href=#HT>HT</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">I
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Horizontal Tabulation
+<tr>
+<td bgcolor="#D0D0D0"><a href=#LF>LF</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">J
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Line Feed
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT>VT</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">K
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Vertical Tabulation
+<tr>
+<td bgcolor="#D0D0D0"><a href=#FF>FF</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">L
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Form Feed
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CR>CR</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">M
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Carriage Return
+<tr>
+<td bgcolor="#D0D0D0"><a href=#LS0>LS0</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">N
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Lock Shift Zero (Shift Out - SO)
+<tr>
+<td bgcolor="#D0D0D0"><a href=#LS1>LS1</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">O
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Lock Shift One (Shift In - SI)
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DLE>DLE</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">P
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Data Link Escape
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DC1>DC1</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">Q
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Device Control One
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DC2>DC2</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">R
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Device Control Two
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DC3>DC3</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">S
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Device Control Three
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DC4>DC4</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">T
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Device Control Four
+<tr>
+<td bgcolor="#D0D0D0"><a href=#NAK>NAK</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">U
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Negative Acknowledge
+<tr>
+<td bgcolor="#D0D0D0"><a href=#SYN>SYN</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">V
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Synchronous Idle
+<tr>
+<td bgcolor="#D0D0D0"><a href=#ETB>ETB</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">W
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">End Of Transmission Block
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CAN>CAN</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">X
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Cancel
+<tr>
+<td bgcolor="#D0D0D0"><a href=#EM>EM</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">Y
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">End Of Medium
+<tr>
+<td bgcolor="#D0D0D0"><a href=#SUB>SUB</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">Z
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Substitute
+<tr>
+<td bgcolor="#D0D0D0"><a href=#ESC>ESC</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">[
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Escape
+<tr>
+<td bgcolor="#D0D0D0"><a href=#FS>FS</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">\
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">File Separator (IS4 - Information Separator Four)
+<tr>
+<td bgcolor="#D0D0D0"><a href=#GS>GS</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">]
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Group Separator (IS3 - Information Separator Three)
+<tr>
+<td bgcolor="#D0D0D0"><a href=#RS>RS</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">^
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Record Separator (IS2 - Information Separator Two)
+<tr>
+<td bgcolor="#D0D0D0"><a href=#US>US</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">_
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Unit Separator (IS1 - Information Separator One)
+<tr><td colspan=5><h3>DEL codes</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DEL>DEL</a>
+<td bgcolor="#D0D0D0">DEL
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Delete Character
+<tr><td colspan=5><h3>ESC codes</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECSC>DECSC</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">7
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Save Cursor
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECRC>DECRC</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">8
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Restore Cursor
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52ANSI>VT52ANSI</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0"><
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 ANSI Ansi Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52KPAM>VT52KPAM</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">=
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Enter alternate keypad mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52KPNM>VT52KPNM</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">>
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Exit alternate keypad mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52CUU>VT52CUU</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">A
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Cursor Up
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52CUD>VT52CUD</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">B
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Cursor Down
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52CUF>VT52CUF</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">C
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Cursor Forward
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52CUB>VT52CUB</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">D
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Cursor Back
+<tr>
+<td bgcolor="#D0D0D0"><a href=#NEL>NEL</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">E
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Next Line
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52SCSF>VT52SCSF</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">F
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Select special graphics character set
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52SCSG>VT52SCSG</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">G
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Select ASCII character set
+<tr>
+<td bgcolor="#D0D0D0"><a href=#HTS>HTS</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">H
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Horizontal Tab Set
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52RI>VT52RI</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">I
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Reverse Index
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52EDS>VT52EDS</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">J
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Clear To End Of Screen
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52EDL>VT52EDL</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">K
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Clear To End Of Line
+<tr>
+<td bgcolor="#D0D0D0"><a href=#RI>RI</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">M
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Reverse Index
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECID>DECID</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">Z
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Identify Terminal
+<tr>
+<td bgcolor="#D0D0D0"><a href=#RIS>RIS</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">c
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Reset to Initial State
+<tr>
+<td bgcolor="#D0D0D0"><a href=#LS2>LS2</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">n
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Lock Shift Two
+<tr>
+<td bgcolor="#D0D0D0"><a href=#LS3>LS3</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">o
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Lock Shift Three
+<tr><td colspan=5><h3>HSH codes</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECDHLT>DECDHLT</a>
+<td bgcolor="#D0D0D0">HSH
+<td bgcolor="#D0D0D0">3
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Double Height Line (Top)
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECDHLB>DECDHLB</a>
+<td bgcolor="#D0D0D0">HSH
+<td bgcolor="#D0D0D0">4
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Double Height Line (Bottom)
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECSWL>DECSWL</a>
+<td bgcolor="#D0D0D0">HSH
+<td bgcolor="#D0D0D0">5
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Single-width Line
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECDWL>DECDWL</a>
+<td bgcolor="#D0D0D0">HSH
+<td bgcolor="#D0D0D0">6
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Double Width Line
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECALN>DECALN</a>
+<td bgcolor="#D0D0D0">HSH
+<td bgcolor="#D0D0D0">8
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Screen Alignment Display
+<tr><td colspan=5><h3>PRI codes</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECDA>DECDA</a>
+<td bgcolor="#D0D0D0">PRI
+<td bgcolor="#D0D0D0">c
+<td bgcolor="#D0D0D0">{1;Pn}
+<td bgcolor="#D0D0D0">Device Attributes Reply
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECSET>DECSET</a>
+<td bgcolor="#D0D0D0">PRI
+<td bgcolor="#D0D0D0">h
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">DEC Private Set Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECRST>DECRST</a>
+<td bgcolor="#D0D0D0">PRI
+<td bgcolor="#D0D0D0">l
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">DEC Private Reset Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#XTERESTORE>XTERESTORE</a>
+<td bgcolor="#D0D0D0">PRI
+<td bgcolor="#D0D0D0">r
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">XTerm Private Restore Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#XTESAVE>XTESAVE</a>
+<td bgcolor="#D0D0D0">PRI
+<td bgcolor="#D0D0D0">s
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">XTerm Private Save Mode
+<tr><td colspan=5><h3>PRN codes</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#PRINT>PRINT</a>
+<td bgcolor="#D0D0D0">PRN
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">{0x20..0x7e,0xa0..0xff}
+<td bgcolor="#D0D0D0">Printable Characters
+<tr><td colspan=5><h3>SCS codes</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#SCS>SCS</a>
+<td bgcolor="#D0D0D0">SCS
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">{Pc;Cs}
+<td bgcolor="#D0D0D0">Select Character Set
+<tr><td colspan=5><h3>VT5 codes</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52CUP>VT52CUP</a>
+<td bgcolor="#D0D0D0">VT5
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">{X;Y}
+<td bgcolor="#D0D0D0">VT52 Cursor Position
+</table>
+<h2>
+<table width=100%>
+<tr><td align=center bgcolor=#d0d0d0></td></tr>
+<tr><td align=center bgcolor=#d0d0d0>Host to Terminal (Instructions by Group)</td></tr>
+<tr><td align=center bgcolor=#d0d0d0></td></tr>
+</table>
+</h2>
+ <p>
+ <ul>
+ <li>Host to Terminal (Commands,Requests)
+ <ul>
+ <li>Commands
+ <ul>
+ <li>Character Display Operation
+ <li>Rendition related status
+ <li>Cursor
+ <li>Cursor related status
+ <li>Edit
+ <li>Miscellaneous
+ <li>General mode setting
+ <li>Miscellaneous status
+ <li>VT52
+ <li>Not implemented
+ <li>Ignored
+ </ul>
+ <li>Requests
+ </ul>
+ <li>Terminal to Host (Replies, Events)
+ <ul>
+ <li>Replies
+ <li>Events
+ </ul>
+ <li>Modes
+ <ul>
+ <li>Modes
+ </ul>
+ </ul>
+<table>
+<tr><td colspan=5><h3>Commands (Character Display Operation)</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#PRINT>PRINT</a>
+<td bgcolor="#D0D0D0">PRN
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">{0x20..0x7e,0xa0..0xff}
+<td bgcolor="#D0D0D0">Printable Characters
+<tr><td colspan=5><h3>Commands (Rendition related status)</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#LS0>LS0</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">N
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Lock Shift Zero (Shift Out - SO)
+<tr>
+<td bgcolor="#D0D0D0"><a href=#LS1>LS1</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">O
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Lock Shift One (Shift In - SI)
+<tr>
+<td bgcolor="#D0D0D0"><a href=#LS2>LS2</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">n
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Lock Shift Two
+<tr>
+<td bgcolor="#D0D0D0"><a href=#LS3>LS3</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">o
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Lock Shift Three
+<tr>
+<td bgcolor="#D0D0D0"><a href=#SCS>SCS</a>
+<td bgcolor="#D0D0D0">SCS
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">{Pc;Cs}
+<td bgcolor="#D0D0D0">Select Character Set
+<tr>
+<td bgcolor="#D0D0D0"><a href=#SGR>SGR</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">m
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">Select Graphic Rendition
+<tr><td colspan=5><h3>Commands (Cursor)</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#BS>BS</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">H
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Back Space
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CHA>CHA</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">G
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Cursor Horizontal Absolute
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CR>CR</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">M
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Carriage Return
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CUB>CUB</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">D
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Cursor Backward
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CUD>CUD</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">B
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Cursor Down
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CUF>CUF</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">C
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Cursor Foreward
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CUP>CUP</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">H
+<td bgcolor="#D0D0D0">{Pn;Pn}
+<td bgcolor="#D0D0D0">Cursor Position
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CUU>CUU</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">A
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Cursor Up
+<tr>
+<td bgcolor="#D0D0D0"><a href=#FF>FF</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">L
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Form Feed
+<tr>
+<td bgcolor="#D0D0D0"><a href=#HT>HT</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">I
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Horizontal Tabulation
+<tr>
+<td bgcolor="#D0D0D0"><a href=#HVP>HVP</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">f
+<td bgcolor="#D0D0D0">{Pn;Pn}
+<td bgcolor="#D0D0D0">Horizontal and Vertical Position
+<tr>
+<td bgcolor="#D0D0D0"><a href=#IND>IND</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">D
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Index
+<tr>
+<td bgcolor="#D0D0D0"><a href=#LF>LF</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">J
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Line Feed
+<tr>
+<td bgcolor="#D0D0D0"><a href=#NEL>NEL</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">E
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Next Line
+<tr>
+<td bgcolor="#D0D0D0"><a href=#RI>RI</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">M
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Reverse Index
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VPA>VPA</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">d
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Vertical Position Absolute
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT>VT</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">K
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Vertical Tabulation
+<tr><td colspan=5><h3>Commands (Cursor related status)</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECRC>DECRC</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">8
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Restore Cursor
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECSC>DECSC</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">7
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Save Cursor
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECSTBM>DECSTBM</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">r
+<td bgcolor="#D0D0D0">{Pn;Pn}
+<td bgcolor="#D0D0D0">Set Top and Bottom Margins
+<tr>
+<td bgcolor="#D0D0D0"><a href=#HTS>HTS</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">H
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Horizontal Tab Set
+<tr>
+<td bgcolor="#D0D0D0"><a href=#TBC>TBC</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">g
+<td bgcolor="#D0D0D0">{Ps}
+<td bgcolor="#D0D0D0">Tabulation Clear
+<tr><td colspan=5><h3>Commands (Edit)</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DCH>DCH</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">P
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Delete Character
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DL>DL</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">M
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Delete Line
+<tr>
+<td bgcolor="#D0D0D0"><a href=#ECH>ECH</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">X
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Erase Character
+<tr>
+<td bgcolor="#D0D0D0"><a href=#ED>ED</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">J
+<td bgcolor="#D0D0D0">{Ps}
+<td bgcolor="#D0D0D0">Erase in Display
+<tr>
+<td bgcolor="#D0D0D0"><a href=#EL>EL</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">K
+<td bgcolor="#D0D0D0">{Ps}
+<td bgcolor="#D0D0D0">Erase in Line
+<tr>
+<td bgcolor="#D0D0D0"><a href=#ICH>ICH</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">@
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Insert Character
+<tr>
+<td bgcolor="#D0D0D0"><a href=#IL>IL</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">L
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Insert Line
+<tr><td colspan=5><h3>Commands (Miscellaneous)</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#BEL>BEL</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">G
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Bell
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CAN>CAN</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">X
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Cancel
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECALN>DECALN</a>
+<td bgcolor="#D0D0D0">HSH
+<td bgcolor="#D0D0D0">8
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Screen Alignment Display
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECTST>DECTST</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">y
+<td bgcolor="#D0D0D0">{2;Ps}
+<td bgcolor="#D0D0D0">Invoke Confidence Test
+<tr>
+<td bgcolor="#D0D0D0"><a href=#SUB>SUB</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">Z
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Substitute
+<tr><td colspan=5><h3>Commands (General mode setting)</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECRST>DECRST</a>
+<td bgcolor="#D0D0D0">PRI
+<td bgcolor="#D0D0D0">l
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">DEC Private Reset Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECSET>DECSET</a>
+<td bgcolor="#D0D0D0">PRI
+<td bgcolor="#D0D0D0">h
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">DEC Private Set Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#RM>RM</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">l
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">Reset Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#SM>SM</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">h
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">Set Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#XTERESTORE>XTERESTORE</a>
+<td bgcolor="#D0D0D0">PRI
+<td bgcolor="#D0D0D0">r
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">XTerm Private Restore Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#XTESAVE>XTESAVE</a>
+<td bgcolor="#D0D0D0">PRI
+<td bgcolor="#D0D0D0">s
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">XTerm Private Save Mode
+<tr><td colspan=5><h3>Commands (Miscellaneous status)</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECKPAM>DECKPAM</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">=
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Keypad Application Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECKPNM>DECKPNM</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">>
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Keypad Numeric Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#RIS>RIS</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">c
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Reset to Initial State
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52ANSI>VT52ANSI</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0"><
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 ANSI Ansi Mode
+<tr><td colspan=5><h3>Commands (VT52)</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52CUB>VT52CUB</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">D
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Cursor Back
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52CUD>VT52CUD</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">B
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Cursor Down
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52CUF>VT52CUF</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">C
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Cursor Forward
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52CUH>VT52CUH</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">H
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Cursor Home
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52CUP>VT52CUP</a>
+<td bgcolor="#D0D0D0">VT5
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">{X;Y}
+<td bgcolor="#D0D0D0">VT52 Cursor Position
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52CUU>VT52CUU</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">A
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Cursor Up
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52EDL>VT52EDL</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">K
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Clear To End Of Line
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52EDS>VT52EDS</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">J
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Clear To End Of Screen
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52KPAM>VT52KPAM</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">=
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Enter alternate keypad mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52KPNM>VT52KPNM</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">>
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Exit alternate keypad mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52REP>VT52REP</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">Z
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Report Terminal Type
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52RI>VT52RI</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">I
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Reverse Index
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52SCSF>VT52SCSF</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">F
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Select special graphics character set
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52SCSG>VT52SCSG</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">G
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Select ASCII character set
+<tr><td colspan=5><h3>Commands (Not implemented)</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECDHLB>DECDHLB</a>
+<td bgcolor="#D0D0D0">HSH
+<td bgcolor="#D0D0D0">4
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Double Height Line (Bottom)
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECDHLT>DECDHLT</a>
+<td bgcolor="#D0D0D0">HSH
+<td bgcolor="#D0D0D0">3
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Double Height Line (Top)
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECDWL>DECDWL</a>
+<td bgcolor="#D0D0D0">HSH
+<td bgcolor="#D0D0D0">6
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Double Width Line
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECLL>DECLL</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">q
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">Load LEDs
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECSWL>DECSWL</a>
+<td bgcolor="#D0D0D0">HSH
+<td bgcolor="#D0D0D0">5
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Single-width Line
+<tr>
+<td bgcolor="#D0D0D0"><a href=#MC>MC</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">i
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Media Copy
+<tr><td colspan=5><h3>Commands (Ignored)</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#ACK>ACK</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">F
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Acknowledge
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DC2>DC2</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">R
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Device Control Two
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DC3>DC3</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">S
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Device Control Three
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DC4>DC4</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">T
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Device Control Four
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DEL>DEL</a>
+<td bgcolor="#D0D0D0">DEL
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Delete Character
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DLE>DLE</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">P
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Data Link Escape
+<tr>
+<td bgcolor="#D0D0D0"><a href=#EM>EM</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">Y
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">End Of Medium
+<tr>
+<td bgcolor="#D0D0D0"><a href=#EOT>EOT</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">D
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">End Of Transmission
+<tr>
+<td bgcolor="#D0D0D0"><a href=#ETB>ETB</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">W
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">End Of Transmission Block
+<tr>
+<td bgcolor="#D0D0D0"><a href=#ETX>ETX</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">C
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">End Of Text
+<tr>
+<td bgcolor="#D0D0D0"><a href=#FS>FS</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">\
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">File Separator (IS4 - Information Separator Four)
+<tr>
+<td bgcolor="#D0D0D0"><a href=#GS>GS</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">]
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Group Separator (IS3 - Information Separator Three)
+<tr>
+<td bgcolor="#D0D0D0"><a href=#NAK>NAK</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">U
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Negative Acknowledge
+<tr>
+<td bgcolor="#D0D0D0"><a href=#NUL>NUL</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">@
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Null
+<tr>
+<td bgcolor="#D0D0D0"><a href=#RS>RS</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">^
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Record Separator (IS2 - Information Separator Two)
+<tr>
+<td bgcolor="#D0D0D0"><a href=#SOH>SOH</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">A
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Start Of Heading
+<tr>
+<td bgcolor="#D0D0D0"><a href=#STX>STX</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">B
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Start Of Text
+<tr>
+<td bgcolor="#D0D0D0"><a href=#SYN>SYN</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">V
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Synchronous Idle
+<tr>
+<td bgcolor="#D0D0D0"><a href=#US>US</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">_
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Unit Separator (IS1 - Information Separator One)
+<tr><td colspan=5><h3>Commands (Requests)</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DA>DA</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">c
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Device Attributes Request
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECID>DECID</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">Z
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Identify Terminal
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECREQTPARM>DECREQTPARM</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">x
+<td bgcolor="#D0D0D0">{Ps}
+<td bgcolor="#D0D0D0">Request Terminal Parameters
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DSRREQ>DSRREQ</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">n
+<td bgcolor="#D0D0D0">{Ps}
+<td bgcolor="#D0D0D0">Device Status Report
+<tr>
+<td bgcolor="#D0D0D0"><a href=#ENQ>ENQ</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">E
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Enquiry
+</table>
+<h2>
+<table width=100%>
+<tr><td align=center bgcolor=#d0d0d0></td></tr>
+<tr><td align=center bgcolor=#d0d0d0>Terminal to Host</td></tr>
+<tr><td align=center bgcolor=#d0d0d0></td></tr>
+</table>
+</h2>
+<table>
+<tr><td colspan=5><h3>Replies</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CPR>CPR</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">R
+<td bgcolor="#D0D0D0">{Pn;Pn}
+<td bgcolor="#D0D0D0">Cursor Position Report
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECDA>DECDA</a>
+<td bgcolor="#D0D0D0">PRI
+<td bgcolor="#D0D0D0">c
+<td bgcolor="#D0D0D0">{1;Pn}
+<td bgcolor="#D0D0D0">Device Attributes Reply
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECREPTPARM>DECREPTPARM</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">x
+<td bgcolor="#D0D0D0">{sol;par;nbits;xspd;rspd;cmul;flags}
+<td bgcolor="#D0D0D0">Report Terminal Parameters
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DSRREP>DSRREP</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">n
+<td bgcolor="#D0D0D0">{Status}
+<td bgcolor="#D0D0D0">Device Status Report Reply
+<tr><td colspan=5><h3>Events</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CUB>CUB</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">D
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Cursor Backward
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CUD>CUD</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">B
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Cursor Down
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CUF>CUF</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">C
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Cursor Foreward
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CUU>CUU</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">A
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Cursor Up
+<tr>
+<td bgcolor="#D0D0D0"><a href=#KEYBOARD>KEYBOARD</a>
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Keyboard Events
+<tr>
+<td bgcolor="#D0D0D0"><a href=#MOUSE>MOUSE</a>
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Mouse Events
+</table>
+<h2>
+<table width=100%>
+<tr><td align=center bgcolor=#d0d0d0></td></tr>
+<tr><td align=center bgcolor=#d0d0d0>Modes</td></tr>
+<tr><td align=center bgcolor=#d0d0d0></td></tr>
+</table>
+</h2>
+<table>
+<tr><td colspan=5><h3>Modes</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECANM>DECANM</a>
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">ANSI/VT52 Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECARM>DECARM</a>
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Auto Repeat Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECAWM>DECAWM</a>
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Autowrap Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECCKM>DECCKM</a>
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Cursor Keys Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECCOLM>DECCOLM</a>
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Column Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECINLM>DECINLM</a>
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Interlace Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECKPAM>DECKPAM</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">=
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Keypad Application Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECKPNM>DECKPNM</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">>
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Keypad Numeric Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECOM>DECOM</a>
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Origin Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECRC>DECRC</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">8
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Restore Cursor
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECRST>DECRST</a>
+<td bgcolor="#D0D0D0">PRI
+<td bgcolor="#D0D0D0">l
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">DEC Private Reset Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECSC>DECSC</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">7
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Save Cursor
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECSCLM>DECSCLM</a>
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Scrolling Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECSCNM>DECSCNM</a>
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Screen Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECSET>DECSET</a>
+<td bgcolor="#D0D0D0">PRI
+<td bgcolor="#D0D0D0">h
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">DEC Private Set Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECSTBM>DECSTBM</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">r
+<td bgcolor="#D0D0D0">{Pn;Pn}
+<td bgcolor="#D0D0D0">Set Top and Bottom Margins
+<tr>
+<td bgcolor="#D0D0D0"><a href=#HTS>HTS</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">H
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Horizontal Tab Set
+<tr>
+<td bgcolor="#D0D0D0"><a href=#LNM>LNM</a>
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Line Feed/New Line Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#LS0>LS0</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">N
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Lock Shift Zero (Shift Out - SO)
+<tr>
+<td bgcolor="#D0D0D0"><a href=#LS1>LS1</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">O
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Lock Shift One (Shift In - SI)
+<tr>
+<td bgcolor="#D0D0D0"><a href=#LS2>LS2</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">n
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Lock Shift Two
+<tr>
+<td bgcolor="#D0D0D0"><a href=#LS3>LS3</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">o
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Lock Shift Three
+<tr>
+<td bgcolor="#D0D0D0"><a href=#RIS>RIS</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">c
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Reset to Initial State
+<tr>
+<td bgcolor="#D0D0D0"><a href=#RM>RM</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">l
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">Reset Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#SCS>SCS</a>
+<td bgcolor="#D0D0D0">SCS
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">{Pc;Cs}
+<td bgcolor="#D0D0D0">Select Character Set
+<tr>
+<td bgcolor="#D0D0D0"><a href=#SGR>SGR</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">m
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">Select Graphic Rendition
+<tr>
+<td bgcolor="#D0D0D0"><a href=#SM>SM</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">h
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">Set Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#TBC>TBC</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">g
+<td bgcolor="#D0D0D0">{Ps}
+<td bgcolor="#D0D0D0">Tabulation Clear
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52ANSI>VT52ANSI</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0"><
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 ANSI Ansi Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#XTERESTORE>XTERESTORE</a>
+<td bgcolor="#D0D0D0">PRI
+<td bgcolor="#D0D0D0">r
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">XTerm Private Restore Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#XTESAVE>XTESAVE</a>
+<td bgcolor="#D0D0D0">PRI
+<td bgcolor="#D0D0D0">s
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">XTerm Private Save Mode
+</table>
+<h2>
+<table width=100%>
+<tr><td align=center bgcolor=#d0d0d0></td></tr>
+<tr><td align=center bgcolor=#d0d0d0>Appendix A - Notion Details</td></tr>
+<tr><td align=center bgcolor=#d0d0d0></td></tr>
+</table>
+</h2>
+ <i>The following text is a collection of several sorts of definitions and
+ explainations. It is incomplete in many respects and a working draft.
+ </i>
+ .
+ <p>
+ All of the following control sequences are transmitted from the Host to
+ VT100 unless otherwise noted. All of the control sequences are a subset of
+ those defined in ANSI X 3.64 1977 and ANSI X 3.41 1974.
+ <p>
+ The following text conforms to these formatting conventions:
+ <ul>
+ <li>Individual character literals are set in bold face. Ascii representation
+ is used throughout, so <b>ESC</b> means the binary value of 27 and
+ <b>[</b> a value of 91.
+ <p>
+ <li>Parameters are indicated by italic type faces.
+ <li>Parameter types usually are indicated as one of:
+ <table>
+ <tr><td><i>Pn </i></td><td>A string of digits representing a numerical value.</td></tr>
+ <tr><td><i>Ps </i></td><td>A character that selects an item from a list.</td></tr>
+ <tr><td><i>a-z</i></td><td>Any lowercase sequence of one or more
+ characters represent a value to be
+ entered (as in <i>Pn</i>), and the name in the
+ will be referred to in explanatory text.</td></tr>
+ </table>
+ <p>
+ <li>Spaces are used only to improve readability, they do not occure in the
+ control sequences unless otherwise indicated.
+ <p>
+ </ul>
+ <p>
+ <p>
+ The following attributes below have the following meaning:
+ <ul>
+ <li>VT100 - This code is known to VT100.
+ <li>ANSI - This code is defined by ANSI.
+ <li>DEC - This code is DEC private.
+ <li>Command - Sent from host to the terminal. <b>FIXME:</b>add Inquiery.
+ <li>Reply - Sent from terminal to the host (as response to an Inquiery).
+ <li>Event - Sent from terminal to the host (caused by a user activity).
+ <li>Mode - The entry is a mode.
+ </ul>
+<table>
+<tr><td width=10%%><td><td><td><td><td><td width=40%%>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=ACK>ACK</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Acknowledge</b>
+ <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x06</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Ignored
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=BEL>BEL</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Bell</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x07</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Sound bell
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">gui</td><td colspan=1 bgcolor="#5188B2">Bell</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=BS>BS</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Back Space</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x08</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Move cursor to the left one position, unless it is at the left
+ margin, in which case no action is taken.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">BackSpace</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=CAN>CAN</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Cancel</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x18</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> If sent during a control sequence, the sequence id immediately
+ terminated and not executed. It also causes the error character
+ (checkerboard) to be displayed.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">ShowCharacter</td><td colspan=1 bgcolor="#5188B2">2</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=CHA>CHA</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Cursor Horizontal Absolute</b>
+ <td bgcolor="#D0D0D0">ECMA KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn</em> <b>G</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setCursorX</td><td colspan=1 bgcolor="#5188B2">p</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=CPR>CPR</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Cursor Position Report</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn;Pn</em> <b>R</b></code>
+ <td >Default: 1 1
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> The CPR sequence reports the active position by means of the
+ parameters. This sequence has two parameter values, the first
+ specifying the line and the second specifying the column. The default
+ condition with no parameters present, or parameters of 0, is equivalent
+ to a cursor at home position.
+ <p>
+ The numbering of the lines depends upon the state of the Origin Mode
+ (<a href=#DECOM>DECOM</a>).
+ <p>
+ This control sequence is sent in reply to a device status report
+ (<a href=#DSRREQ>DSRREQ</a>) command sent from the host.
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=CR>CR</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Carriage Return</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x0d</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Move the cursor to the left margin of the current line.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">Return</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=CUB>CUB</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Cursor Backward</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn</em> <b>D</b></code>
+ <td >Default: 1
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Moves the cursor to the left. The distance moved is
+ determined by the parameter. If the parameter missing, zero, or one,
+ the cursor is moved one position. The cursor cannot be moved past the
+ left margin.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">cursorLeft</td><td colspan=1 bgcolor="#5188B2">p</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=CUD>CUD</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Cursor Down</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn</em> <b>B</b></code>
+ <td >Default: 1
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Moves the cursor down a number of lines as specified in the parameter
+ without changing columns. The cursor cannot be moved past the bottom
+ margin.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">cursorDown</td><td colspan=1 bgcolor="#5188B2">p</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=CUF>CUF</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Cursor Foreward</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn</em> <b>C</b></code>
+ <td >Default: 1
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Moves the cursor to the right a number of positions
+ specified in the parameter. The cursor cannot be moved past the right
+ margin.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">cursorRight</td><td colspan=1 bgcolor="#5188B2">p</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=CUP>CUP</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Cursor Position</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn;Pn</em> <b>H</b></code>
+ <td >Default: 1 1
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Moves the curor to the position specified by the
+ parameters. The first parameter specifies the line, and the second
+ specifies the column. A value of zero for either line or column moves
+ the cursor to the first line or column in the display. The default
+ string (&lt;ESC&gt;H) homes the cursor. In the VT100, this command behaves
+ identically to it's format effector counterpart, <a href=#HVP>HVP</a>.
+ <p>
+ The numbering of the lines depends upon the state of the Origin Mode
+ (<a href=#DECOM>DECOM</a>).
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setCursorYX</td><td colspan=1 bgcolor="#5188B2">p,q</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=CUU>CUU</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Cursor Up</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn</em> <b>A</b></code>
+ <td >Default: 1
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Moves the cursor up without changing columns. The cursor is moved up a
+ number of lines as indicated by the parameter. The cursor cannot be
+ moved beyond the top margin.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">cursorUp</td><td colspan=1 bgcolor="#5188B2">p</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DA>DA</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Device Attributes Request</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn</em> <b>c</b></code>
+ <td >Default: 0
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> The host requests the VT100 to send a DA sequence to indentify
+ itself. This is done by sending the DA sequence with no parameters,
+ or with a parameter of zero.
+ The device replies by (<a href=#DECDA>DECDA</a>).
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">reportTerminalType</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DC1>DC1</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Device Control One</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x11</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Causes terminal to resume transmission (XON).
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DC2>DC2</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Device Control Two</b>
+ <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x12</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Ignored
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DC3>DC3</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Device Control Three</b>
+ <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x13</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Causes terminal to stop transmitting all codes except XOFF and XON (XOFF).
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DC4>DC4</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Device Control Four</b>
+ <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x14</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Ignored
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DCH>DCH</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Delete Character</b>
+ <td bgcolor="#D0D0D0">ECMA KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn</em> <b>P</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">deleteChars</td><td colspan=1 bgcolor="#5188B2">p</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECALN>DECALN</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Screen Alignment Display</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>#</b> <b>8</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Causes the VT100 to fill it's screen with
+ uppercase Es for screen focus and alignment.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">helpAlign</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECANM>DECANM</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>ANSI/VT52 Mode</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This is a private parameter to the <a href=#SM>SM</a> and <a href=#RM>RM</a>
+ control sequences. The
+ reset state causes only VT52 compatible escape sequences to be
+ recognized. The set state causes only ANSI compatible escape sequences
+ to be recognized. See the entries for <a href=#MODES>MODES</a>, <a href=#SM>SM</a>, <a href=#RM>RM</a>
+ and <a href=#VT52ANSI>VT52ANSI</a>.
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECARM>DECARM</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Auto Repeat Mode</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This is a private parameter to the <a href=#SM>SM</a> and <a href=#RM>RM</a>
+ control sequences. The
+ reset state causes no keyboard keys to auto-repeat, the set state
+ causes most of them to. See <a href=#MODES>MODES</a>, <a href=#SM>SM</a> and <a href=#RM>RM</a>.
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECAWM>DECAWM</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Autowrap Mode</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This is a private parameter to the <a href=#SM>SM</a> and <a href=#RM>RM</a>
+ control sequences. The
+ reset state prevents the cursor from moving when characters are
+ received while at the right margin. The set state causes these
+ characters to advance to the next line, causing a scroll up if required
+ and permitted. See <a href=#MODES>MODES</a>, <a href=#SM>SM</a>, and
+ <a href=#RM>RM</a>.
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECCKM>DECCKM</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Cursor Keys Mode</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This is a private parameter to the <a href=#SM>SM</a> and <a href=#RM>RM</a>
+ control requences. This
+ mode is only effective when the terminal is in keypad application mode
+ (<a href=#DECKPAM>DECKPAM</a>) and the ANSI/VT52 mode (<a href=#DECANM>DECANM</a>)
+ is set. Under these
+ conditions, if this mode is reset, the cursor keys will send ANSI
+ cursor control commands. If setm the cursor keys will send application
+ function commands. See <a href=#MODES>MODES</a>, <a href=#RM>RM</a>, and
+ <a href=#SM>SM</a>.
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECCOLM>DECCOLM</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Column Mode</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This is a private parameter to the <a href=#SM>SM</a> and <a href=#RM>RM</a>
+ control sequences. The
+ reset state causes an 80 column screen to be used. The set state
+ causes a 132 column screen to be used. See <a href=#MODES>MODES</a>,
+ <a href=#RM>RM</a>, and <a href=#SM>SM</a>.
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECDA>DECDA</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Device Attributes Reply</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <b>?</b> <em>1;Pn</em> <b>c</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Response to the <a href=#DA>DA</a> request (VT100 to host) is generated
+ by the VT100 as a DECDA control sequence with the numeric parameters as
+ follows:
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Pn</td><td colspan=4 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 0</td><td colspan=4 bgcolor="#5188B2">No options</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 1</td><td colspan=4 bgcolor="#5BA5B2">Processor Option (STP)</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 2</td><td colspan=4 bgcolor="#5188B2">Advanced Video Option (AVO)</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 3</td><td colspan=4 bgcolor="#5BA5B2">AVO and STP</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 4</td><td colspan=4 bgcolor="#5188B2">Graphics Option (GPO)</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 5</td><td colspan=4 bgcolor="#5BA5B2">GPO and STP</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 6</td><td colspan=4 bgcolor="#5188B2">GPO and AVO</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECDHLB>DECDHLB</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Double Height Line (Bottom)</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>#</b> <b>4</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This sequence cause the line containing the cursor to become the
+ bottom half of a double-height, double width line.
+ If the line was single width single height, all
+ characters to the right of the center of the screen will be lost. The
+ cursor remains over the same character position, unless it would be to
+ the right of the right margin, in which case it is moved to the right
+ margin.
+ <p>
+ <a href=#DECDHLB>DECDHLB</a> and <a href=#DECDHLT>DECDHLT</a>
+ should be used in pairs on adjacent lines with each line containing the
+ same character string.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECDHLT>DECDHLT</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Double Height Line (Top)</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>#</b> <b>3</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Cause the line containing the cursor to become the top half of a
+ double-height, double width line.
+ If the line was single width single height, all
+ characters to the right of the center of the screen will be lost. The
+ cursor remains over the same character position, unless it would be to
+ the right of the right margin, in which case it is moved to the right
+ margin.
+ <p>
+ <a href=#DECDHLB>DECDHLB</a> and <a href=#DECDHLT>DECDHLT</a>
+ should be used in pairs on adjacent lines with each line containing the
+ same character string.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECDWL>DECDWL</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Double Width Line</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>#</b> <b>6</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This causes the line that contains the cursor to become double-width
+ single height. If the line was single width, all characters ro the
+ right of the center of the screen will be lost. The cursor remains
+ over the same character position, unless it would be to the right of
+ the right margin, in which case it is moved to the right margin.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECID>DECID</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Identify Terminal</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>Z</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This sequence causes the same response as the <a href=#DA>DA</a> sequence. This
+ sequence will not be supported in future models.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">reportTerminalType</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECINLM>DECINLM</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Interlace Mode</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This is a private parameter to the <a href=#RM>RM</a> and <a href=#SM>SM</a>
+ control sequences. The
+ reset state (non-interlace) causes the video processor to display 240
+ scan lines per frame. The set state causes the video processor to
+ display 480 scan lines per screen. See <a href=#MODES>MODES</a>,
+ <a href=#RM>RM</a>, and <a href=#SM>SM</a>.
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECKPAM>DECKPAM</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Keypad Application Mode</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>=</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> The auxiliary keypad keys will transmit control sequences.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">setMode</td><td colspan=1 bgcolor="#5188B2">MODE_AppKeyPad</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECKPNM>DECKPNM</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Keypad Numeric Mode</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>&gt;</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> The auxiliary keypad keys will send ASCII codes corresponding to the
+ characters engraved on their keys.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">resetMode</td><td colspan=1 bgcolor="#5188B2">MODE_AppKeyPad</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECLL>DECLL</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Load LEDs</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Ps;...</em> <b>q</b></code>
+ <td >Default: 0
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Load the four programmable LEDs on the keyboard according to the parameter(s).
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 0</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignore</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Clear all LEDs</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 1</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">Ignore</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Light LED 1</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 2</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignore</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Light LED 2</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 3</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">Ignore</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Light LED 3</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 4</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignore</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Light LED 4</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECOM>DECOM</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Origin Mode</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This is a private parameter to <a href=#SM>SM</a> and <a href=#RM>RM</a>
+ control sequences. The reset
+ state causes the origin (or home position) to be the upper left
+ character position of the screen. Line and column numbers are,
+ therefore, independent of current margin settings. The cursor may be
+ positioned outside the margins with a cursor position (<a href=#CUP>CUP</a>) or
+ horizontal and vertical position (<a href=#HVP>HVP</a>) control.
+ <p>
+ The set state causes the origin to be at the upper left character
+ position within the current margins. Line and column numbers are,
+ therefore, relative to the current margin settings. The cursor cannot
+ be positioned outside of the margins.
+ <p>
+ The cursor is moved to the new home position when this mode is set or
+ reset. Lines and columns are numbered consecutively, with the origin
+ being line 1, column 1.
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECRC>DECRC</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Restore Cursor</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>8</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This sequence causes the previously saved cursor position, graphic
+ rendition, and character set to be restored.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">restoreCursor</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECREPTPARM>DECREPTPARM</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Report Terminal Parameters</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>sol;par;nbits;xspd;rspd;cmul;flags</em> <b>x</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This sequence is generated by the VT100 to notify the host of the
+ status of selected terminal parameters. The status sequence may be
+ sent when requested by the host (via <a href=#DECREQTPARM>DECREQTPARM</a>)
+ or at the terminal's
+ discretion. On power up or reset, the VT100 is inhibited from sending
+ unsolicited reports.
+ <p>
+ The meanings of the sequence parameters are:
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> cmul</td><td colspan=4 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 1</td><td colspan=4 bgcolor="#5188B2">The bit rate multiplier is 16</td></tr>
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> flags</td><td colspan=4 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 0-15</td><td colspan=4 bgcolor="#5188B2">This value communicates the four switch values in block 5 of SET-UP B, which are only visible to the user when an STP option is installed.</td></tr>
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> nbits</td><td colspan=4 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 1</td><td colspan=4 bgcolor="#5188B2">8 bits per character</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 2</td><td colspan=4 bgcolor="#5BA5B2">7 bits per character</td></tr>
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> par</td><td colspan=4 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 1</td><td colspan=4 bgcolor="#5188B2">No parity set</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 4</td><td colspan=4 bgcolor="#5BA5B2">Parity set and odd</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 5</td><td colspan=4 bgcolor="#5188B2">Parity set and even</td></tr>
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> sol</td><td colspan=4 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 1</td><td colspan=4 bgcolor="#5188B2">This message is a report.</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 2</td><td colspan=4 bgcolor="#5BA5B2">This message is a report, and the terminal is only reporting on request.</td></tr>
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> speed</td><td colspan=4 bgcolor="#D0D0D0">Meaning (xspd,rspd)</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 0</td><td colspan=4 bgcolor="#5188B2">Speed set to 50 bps</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 8</td><td colspan=4 bgcolor="#5BA5B2">Speed set to 75 bps</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 16</td><td colspan=4 bgcolor="#5188B2">Speed set to 110 bps</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 24</td><td colspan=4 bgcolor="#5BA5B2">Speed set to 134.5 bps</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 32</td><td colspan=4 bgcolor="#5188B2">Speed set to 150 bps</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 40</td><td colspan=4 bgcolor="#5BA5B2">Speed set to 200 bps</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 48</td><td colspan=4 bgcolor="#5188B2">Speed set to 300 bps</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 56</td><td colspan=4 bgcolor="#5BA5B2">Speed set to 600 bps</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 64</td><td colspan=4 bgcolor="#5188B2">Speed set to 1200 bps</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 72</td><td colspan=4 bgcolor="#5BA5B2">Speed set to 1800 bps</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 80</td><td colspan=4 bgcolor="#5188B2">Speed set to 2000 bps</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 88</td><td colspan=4 bgcolor="#5BA5B2">Speed set to 2400 bps</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 96</td><td colspan=4 bgcolor="#5188B2">Speed set to 3600 bps</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 104</td><td colspan=4 bgcolor="#5BA5B2">Speed set to 4800 bps</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 112</td><td colspan=4 bgcolor="#5188B2">Speed set to 9600 bps</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 120</td><td colspan=4 bgcolor="#5BA5B2">Speed set tp 19200 bps</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECREQTPARM>DECREQTPARM</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Request Terminal Parameters</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Ps</em> <b>x</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> The host sends this sequence to request the VT100 to send a
+ <a href=#DECREPTPARM>DECREPTPARM</a>
+ sequence back. {Ps} can be either 0 or 1. If 0, the terminal will be
+ allowed to send unsolicited <a href=#DECREPTPARM>DECREPTPARM</a>s.
+ These reports will be generated each time the terminal exits the SET-UP mode.
+ If {Ps} is 1, then the terminal will only generate
+ <a href=#DECREPTPARM>DECREPTPARM</a>s in response to a request.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 0</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">reportTerminalParms</td><td colspan=1 bgcolor="#5188B2">2</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 1</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">reportTerminalParms</td><td colspan=1 bgcolor="#5BA5B2">3</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECRST>DECRST</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>DEC Private Reset Mode</b>
+ <td bgcolor="#D0D0D0">VT100 KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <b>?</b> <em>Ps;...</em> <b>l</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 1</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">resetMode</td><td colspan=1 bgcolor="#5188B2">MODE_AppCuKeys</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 2</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">resetMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_Ansi</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 3</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">setColumns</td><td colspan=1 bgcolor="#5188B2">80</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 4</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">Ignored</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 5</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">resetMode</td><td colspan=1 bgcolor="#5188B2">MODE_Screen</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 6</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">resetMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_Origin</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 7</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">resetMode</td><td colspan=1 bgcolor="#5188B2">MODE_Wrap</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 8</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">Ignored</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 9</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 25</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">resetMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_Cursor</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 47</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">resetMode</td><td colspan=1 bgcolor="#5188B2">MODE_AppScreen</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 1000</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">resetMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_Mouse1000</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 1001</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 1047</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">resetMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_AppScreen</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 1048</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">restoreCursor</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECSC>DECSC</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Save Cursor</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>7</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Causes the cursor position, graphic rendition, and character set to be
+ saved. (See <a href=#DECRC>DECRC</a>)
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">saveCursor</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECSCLM>DECSCLM</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Scrolling Mode</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This is a private parameter to <a href=#RM>RM</a> and <a href=#SM>SM</a>
+ control sequences. The reset
+ state causes scrolls to "jump" instantaneuously one line at a time.
+ The set state causes the scrolls to be "smooth", and scrolls at a
+ maximum rate of siz lines/sec. See <a href=#MODES>MODES</a>,
+ <a href=#RM>RM</a>, and <a href=#SM>SM</a>.
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECSCNM>DECSCNM</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Screen Mode</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This is a private parameter to <a href=#RM>RM</a> and <a href=#SM>SM</a>
+ control sequences. The reset
+ state causes the screen to be black with white characters; the set
+ state causes the screen to be white with black characters.
+ See <a href=#MODES>MODES</a>, <a href=#RM>RM</a>, and <a href=#SM>SM</a>.
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECSET>DECSET</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>DEC Private Set Mode</b>
+ <td bgcolor="#D0D0D0">VT100 KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <b>?</b> <em>Ps;...</em> <b>h</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 1</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">setMode</td><td colspan=1 bgcolor="#5188B2">MODE_AppCuKeys</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 3</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">setColumns</td><td colspan=1 bgcolor="#5BA5B2">132</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 4</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 5</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_Screen</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 6</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setMode</td><td colspan=1 bgcolor="#5188B2">MODE_Origin</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 7</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_Wrap</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 8</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 9</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">Ignored</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 25</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">setMode</td><td colspan=1 bgcolor="#5188B2">MODE_Cursor</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 47</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">setMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_AppScreen</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 1000</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">setMode</td><td colspan=1 bgcolor="#5188B2">MODE_Mouse1000</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 1001</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">Ignored</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 1047</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">setMode</td><td colspan=1 bgcolor="#5188B2">MODE_AppScreen</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 1048</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">saveCursor</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECSTBM>DECSTBM</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Set Top and Bottom Margins</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn;Pn</em> <b>r</b></code>
+ <td >Default: 1 ScreenLines
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This sequence sets the top and bottom margins to define the scrolling
+ region. The first parameter is the line number of the first line in
+ the scrolling region; the second parameter is the line number of the
+ bottom line of the scrolling region.
+ <p>
+ Default is the entire screen (no margins).
+ The minimum region allowed is two lines, i.e., the top line
+ must be less than the bottom. The cursor is placed in the home
+ position (See <a href=#DECOM>DECOM</a>).
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setMargins</td><td colspan=1 bgcolor="#5188B2">p,q</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECSWL>DECSWL</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Single-width Line</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>#</b> <b>5</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This causes the line which contains the cursor to become single-width,
+ single-height. The cursor remains on the same character position.
+ This is the default condition for all new lines on the screen.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECTST>DECTST</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Invoke Confidence Test</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>2;Ps</em> <b>y</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Ps is the parameter indicating the test to be done. It is computed by
+ taking the weight indicated for each desired test and adding them
+ together. If Ps is 0, no test is performed but the VT100 is reset.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Weight</td><td colspan=4 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 1</td><td colspan=4 bgcolor="#5188B2">POST (ROM checksum, RAM NVR, keyboardm and AVO)</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 2</td><td colspan=4 bgcolor="#5BA5B2">Data Loop Back (Loopback connector required)</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 3</td><td colspan=4 bgcolor="#5188B2">EIA Modem Control Test (Loopback connector req.)</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 4</td><td colspan=4 bgcolor="#5BA5B2">Repeat Testing until failure</td></tr>
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DEL>DEL</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Delete Character</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x7f</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Ignored
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DL>DL</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Delete Line</b>
+ <td bgcolor="#D0D0D0">ECMA KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn</em> <b>M</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">konsole</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">deleteLines</td><td colspan=1 bgcolor="#5188B2">p</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DLE>DLE</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Data Link Escape</b>
+ <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x10</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Ignored
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DSRREP>DSRREP</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Device Status Report Reply</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Status</em> <b>n</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Reports the general status of the VT100 according to the
+ following parameters.
+ <p>
+ DSRREP with a parameter of 0 or 3 is always sent as a response to a
+ requesting <a href=#DSRREQ>DSRREQ</a> with a parameter of 5.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Status</td><td colspan=3 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 0</td><td colspan=3 bgcolor="#5188B2">Ready, no faults detected</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 3</td><td colspan=3 bgcolor="#5BA5B2">Malfunction detected</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DSRREQ>DSRREQ</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Device Status Report</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Ps</em> <b>n</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Requests status of the VT100 according to the following parameters.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 5</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">reportStatus</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Report Status (using a <a href=#DSRREP>DSRREP</a> control sequence)</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 6</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">reportCursorPosition</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Report Active Position (using a <a href=#CPR>CPR</a> sequence)</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=ECH>ECH</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Erase Character</b>
+ <td bgcolor="#D0D0D0">ECMA KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn</em> <b>X</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">konsole</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">eraseChars</td><td colspan=1 bgcolor="#5188B2">p</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=ED>ED</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Erase in Display</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Ps</em> <b>J</b></code>
+ <td >Default: 0
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This sequence erases some or all of the characters in the display
+ according to the parameter. Any complete line erased by this sequence
+ will return that line to single width mode.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 0</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">clearToEndOfScreen</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Erase from the cursor to the end of the screen.</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 1</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">clearToBeginOfScreen</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Erase from the start of the screen to the cursor.</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 2</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">clearEntireScreen</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Erase the entire screen.</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=EL>EL</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Erase in Line</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Ps</em> <b>K</b></code>
+ <td >Default: 0
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Erases some or all characters in the active line, according to the
+ parameter.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 0</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">clearToEndOfLine</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Erase from cursor to the end of the line.</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 1</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">clearToBeginOfLine</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Erase from the start of the line to the cursor.</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 2</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">clearEntireLine</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Erase the entire line.</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=EM>EM</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>End Of Medium</b>
+ <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x19</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Ignored
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=ENQ>ENQ</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Enquiry</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x05</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Transmit the ANSWERBACK message. The answerback message can be loaded
+ in SET-UP B (i.e. is a configurable string).
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">reportAnswerBack</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=EOT>EOT</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>End Of Transmission</b>
+ <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x04</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Ignored
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=ESC>ESC</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Escape</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x1b</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Introduces a control sequence.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=ETB>ETB</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>End Of Transmission Block</b>
+ <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x17</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Ignored
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=ETX>ETX</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>End Of Text</b>
+ <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x03</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Ignored
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=FF>FF</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Form Feed</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x0c</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Same as <a href=#LF>LF</a>.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">NewLine</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=FS>FS</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>File Separator (IS4 - Information Separator Four)</b>
+ <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x1c</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Ignored
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=GS>GS</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Group Separator (IS3 - Information Separator Three)</b>
+ <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x1d</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Ignored
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=HT>HT</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Horizontal Tabulation</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x09</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Move cursor to the next tab stop, or to the right margin
+ if no further tabs are set.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">Tabulate</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=HTS>HTS</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Horizontal Tab Set</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>H</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Set a tab stop at the current cursor position.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">changeTabStop</td><td colspan=1 bgcolor="#5188B2">TRUE</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=HVP>HVP</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Horizontal and Vertical Position</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn;Pn</em> <b>f</b></code>
+ <td >Default: 1 1
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Moves the cursor to the position specified by the parameters. The
+ first parameter specifies the line, and the second specifies the
+ column. A parameter of 0 or 1 causes the active position to move to
+ the first line or column in the display. In the VT100, this control
+ behaves identically with it's editor counterpart, <a href=#CUP>CUP</a>.
+ The numbering of hte lines depends upon the state of the Origin Mode
+ (<a href=#DECOM>DECOM</a>).
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setCursorYX</td><td colspan=1 bgcolor="#5188B2">p,q</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=ICH>ICH</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Insert Character</b>
+ <td bgcolor="#D0D0D0">ECMA KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn</em> <b>@</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">konsole</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">insertChars</td><td colspan=1 bgcolor="#5188B2">p</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=IL>IL</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Insert Line</b>
+ <td bgcolor="#D0D0D0">KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn</em> <b>L</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">insertLines</td><td colspan=1 bgcolor="#5188B2">p</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=IND>IND</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Index</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>D</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This sequence causes the cursor to move downward one line without
+ changing the column. If the cursor is at the bottom margin, a scroll
+ up is performed.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">index</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=KEYBOARD>KEYBOARD</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Keyboard Events</b>
+ <td bgcolor="#D0D0D0">KONSOLE
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Key</td><td colspan=4 bgcolor="#D0D0D0">Code</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> AltButton</td><td colspan=4 bgcolor="#5188B2">"\033"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> Return</td><td colspan=4 bgcolor="#5BA5B2">MODE_NewLine ? "\r\n" : "\r"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> Backspace</td><td colspan=4 bgcolor="#5188B2">MODE_BsHack ? "\x7f" : "\x08"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> Delete</td><td colspan=4 bgcolor="#5BA5B2">MODE_BsHack ? "\033[3~" : "\x7f"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> Up</td><td colspan=4 bgcolor="#5188B2">!MODE_Ansi ?"\033A" : MODE_AppCuKeys ?"\033OA" : "\033[A"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> Down</td><td colspan=4 bgcolor="#5BA5B2">!MODE_Ansi ?"\033B" : MODE_AppCuKeys ?"\033OB" : "\033[B"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> Right</td><td colspan=4 bgcolor="#5188B2">!MODE_Ansi ?"\033C" : MODE_AppCuKeys ?"\033OC" : "\033[C"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> Left</td><td colspan=4 bgcolor="#5BA5B2">!MODE_Ansi ?"\033D" : MODE_AppCuKeys ?"\033OD" : "\033[D"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> F1</td><td colspan=4 bgcolor="#5188B2">Xterm? "\033[11~": "\033[[A"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> F2</td><td colspan=4 bgcolor="#5BA5B2">Xterm? "\033[12~": "\033[[B"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> F3</td><td colspan=4 bgcolor="#5188B2">Xterm? "\033[13~": "\033[[C"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> F4</td><td colspan=4 bgcolor="#5BA5B2">Xterm? "\033[14~": "\033[[D"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> F5</td><td colspan=4 bgcolor="#5188B2">Xterm? "\033[15~": "\033[[E"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> F6</td><td colspan=4 bgcolor="#5BA5B2">"\033[17~"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> F7</td><td colspan=4 bgcolor="#5188B2">"\033[18~"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> F8</td><td colspan=4 bgcolor="#5BA5B2">"\033[19~"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> F9</td><td colspan=4 bgcolor="#5188B2">"\033[20~"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> F10</td><td colspan=4 bgcolor="#5BA5B2">"\033[21~"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> F11</td><td colspan=4 bgcolor="#5188B2">"\033[23~"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> F12</td><td colspan=4 bgcolor="#5BA5B2">"\033[24~"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> Home</td><td colspan=4 bgcolor="#5188B2">"\033[7~"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> End</td><td colspan=4 bgcolor="#5BA5B2">"\033[8~"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> Prior</td><td colspan=4 bgcolor="#5188B2">"\033[5~"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> Next</td><td colspan=4 bgcolor="#5BA5B2">"\033[6~"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> Insert</td><td colspan=4 bgcolor="#5188B2">"\033[2~"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> Control_Space</td><td colspan=4 bgcolor="#5BA5B2">"\x00"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> Control_Print</td><td colspan=4 bgcolor="#5188B2">reportAnswerBack()</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> Ascii</td><td colspan=4 bgcolor="#5BA5B2">Character</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=LF>LF</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Line Feed</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x0a</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Causes either a line feed or new line operation (See <a href=#LNM>LNM</a>.)
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">NewLine</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=LNM>LNM</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Line Feed/New Line Mode</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This is a parameter to <a href=#SM>SM</a> and <a href=#RM>RM</a> control sequences.
+ The reset state
+ causes the interpretation of the <a href=#LF>LF</a> character to imply only vertical
+ movement of the cursor and causes the RETURN key to send the single
+ code <a href=#CR>CR</a>.
+ <p>
+ The set state causes the <a href=#LF>LF</a> character to imply movement
+ to the first position of the following line, and causes the RETURN key
+ to send the code pair <a href=#CR>CR</a> <a href=#LF>LF</a>. This is the New Line option.
+ <p>
+ This mode does not affect the Index (<a href=#IND>IND</a>) or the next line
+ (<a href=#NEL>NEL</a>) format effectors.
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=LS0>LS0</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Lock Shift Zero (Shift Out - SO)</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x0e</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Invoke the G1 character set, as designated by the <a href=#SCS>SCS</a> control sequence.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">useCharset</td><td colspan=1 bgcolor="#5188B2">1</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=LS1>LS1</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Lock Shift One (Shift In - SI)</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x0f</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Invoke the G0 character set, as selected by the &lt;ESC&gt;( sequence.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">useCharset</td><td colspan=1 bgcolor="#5188B2">0</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=LS2>LS2</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Lock Shift Two</b>
+ <td bgcolor="#D0D0D0">KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>n</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">useCharset</td><td colspan=1 bgcolor="#5188B2">2</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=LS3>LS3</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Lock Shift Three</b>
+ <td bgcolor="#D0D0D0">KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>o</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">useCharset</td><td colspan=1 bgcolor="#5188B2">3</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=MC>MC</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Media Copy</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn</em> <b>i</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 0</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=MOUSE>MOUSE</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Mouse Events</b>
+ <td bgcolor="#D0D0D0">KONSOLE
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=NAK>NAK</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Negative Acknowledge</b>
+ <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x15</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Ignored
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=NEL>NEL</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Next Line</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>E</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This causes the cursor to move to the first position of the next line
+ down. If the cursor is on the bottom line, a scroll is performed.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">NextLine</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=NUL>NUL</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Null</b>
+ <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x00</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> NUL is used as media- or time-fill. It is ignored by Konsole, but may
+ be sensible for devices which requiere a recognizable amount of time
+ to complete some commands (e.g. form feed on a non-buffering printing
+ device).
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=PRINT>PRINT</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Printable Characters</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <em>0x20..0x7e,0xa0..0xff</em></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Printable characters are basically displayed. They my cause a line
+ wrap when the cursor is already located at the end of the line.
+ <p>
+ The VT100 has a unique way to do this by producing a line wrap before
+ the character would be displayed on the next line. This feature allows
+ to print at the rightmost column without producing an implicit line feed.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">ShowCharacter</td><td colspan=1 bgcolor="#5188B2">p</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=RI>RI</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Reverse Index</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>M</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Move the cursor up one line without changing columns. If the cursor is
+ on the top line, a scroll down is performed.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">reverseIndex</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=RIS>RIS</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Reset to Initial State</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>c</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Resets the VT100 to the state is has upon power up. This also causes
+ the execution of the POST and signal INT H to be asserted briefly.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">resetTerminal</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=RM>RM</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Reset Mode</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Ps;...</em> <b>l</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Resets one or more VT100 modes as specified by each selective parameter
+ in the parameter string. Each mode to be reset is specified by a
+ separate parameter. See <a href=#MODES>MODES</a> and <a href=#SM>SM</a>.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 4</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">resetMode</td><td colspan=1 bgcolor="#5188B2">MODE_Insert</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 20</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">resetMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_NewLine</td><td colspan=1 bgcolor="#5BA5B2"><a href=#LNM>LNM</a></td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=RS>RS</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Record Separator (IS2 - Information Separator Two)</b>
+ <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x1e</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Ignored
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=SCS>SCS</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Select Character Set</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <em>Pc;Cs</em></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> The appropriate D0 and G1 character sets are designated from one of the
+ five possible sets. The G0 and G1 sets are invoked by the characters
+ <a href=#LS1>LS1</a> and <a href=#LS0>LS0</a>, respectively.
+ <p>
+ The United Kingdom and ASCII sets conform to the "ISO international
+ register of character sets to be used with escape sequences". The
+ other sets are private character sets. Special graphics means that the
+ graphic characters fpr the codes 0137 to 0176 are replaced with other
+ characters. The specified character set will be used until another SCS
+ is received.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Cs</td><td colspan=4 bgcolor="#D0D0D0">Character Set</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> A</td><td colspan=4 bgcolor="#5188B2">United Kingdom Set</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> B</td><td colspan=4 bgcolor="#5BA5B2">ASCII Set</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 0</td><td colspan=4 bgcolor="#5188B2">Special Graphics</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 1</td><td colspan=4 bgcolor="#5BA5B2">Alternate Character ROM (Standard Character Set)</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 2</td><td colspan=4 bgcolor="#5188B2">Alternate Character ROM (Special Graphics)</td></tr>
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Pc</td><td colspan=4 bgcolor="#D0D0D0">Character Selection</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> (</td><td colspan=4 bgcolor="#5188B2">Select G0 Set</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> )</td><td colspan=4 bgcolor="#5BA5B2">Select G1 Set</td></tr>
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">setCharset</td><td colspan=1 bgcolor="#5188B2">p-'(',q</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=SGR>SGR</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Select Graphic Rendition</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Ps;...</em> <b>m</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Invoke the graphic rendition specified by the parameter(s). All
+ following characters transmitted to the VT100 are rendered according
+ to the parameter(s) until the next occurrence of an SGR.
+ <p>
+ All other parameter values are ignored.
+ <p>
+ Without the Advanced Video Option, only one type of character attribute
+ is possible, as determined by the cursor selection; in that case
+ specifying either underscore or reverse will activate the currently
+ selected attribute.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 0</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setDefaultRendition</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Attributes Off</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 1</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setRendition</td><td colspan=1 bgcolor="#5BA5B2">RE_BOLD</td><td colspan=1 bgcolor="#5BA5B2">Bold or increased intensity</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 4</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setRendition</td><td colspan=1 bgcolor="#5188B2">RE_UNDERLINE</td><td colspan=1 bgcolor="#5188B2">Underscore</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 5</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setRendition</td><td colspan=1 bgcolor="#5BA5B2">RE_BLINK</td><td colspan=1 bgcolor="#5BA5B2">Blink</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 7</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setRendition</td><td colspan=1 bgcolor="#5188B2">RE_REVERSE</td><td colspan=1 bgcolor="#5188B2">Negative (reverse) image</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 10</td><td colspan=1 bgcolor="#5BA5B2">konsole</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">Ignored</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 11</td><td colspan=1 bgcolor="#5188B2">konsole</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 12</td><td colspan=1 bgcolor="#5BA5B2">konsole</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">Ignored</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 22</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">resetRendition</td><td colspan=1 bgcolor="#5188B2">RE_BOLD</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 24</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">resetRendition</td><td colspan=1 bgcolor="#5BA5B2">RE_UNDERLINE</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 25</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">resetRendition</td><td colspan=1 bgcolor="#5188B2">RE_BLINK</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 27</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">resetRendition</td><td colspan=1 bgcolor="#5BA5B2">RE_REVERSE</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 30</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setForeColor</td><td colspan=1 bgcolor="#5188B2">0</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 31</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setForeColor</td><td colspan=1 bgcolor="#5BA5B2">1</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 32</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setForeColor</td><td colspan=1 bgcolor="#5188B2">2</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 33</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setForeColor</td><td colspan=1 bgcolor="#5BA5B2">3</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 34</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setForeColor</td><td colspan=1 bgcolor="#5188B2">4</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 35</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setForeColor</td><td colspan=1 bgcolor="#5BA5B2">5</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 36</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setForeColor</td><td colspan=1 bgcolor="#5188B2">6</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 37</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setForeColor</td><td colspan=1 bgcolor="#5BA5B2">7</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 39</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setForeColorToDefault</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 40</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setBackColor</td><td colspan=1 bgcolor="#5BA5B2">0</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 41</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setBackColor</td><td colspan=1 bgcolor="#5188B2">1</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 42</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setBackColor</td><td colspan=1 bgcolor="#5BA5B2">2</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 43</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setBackColor</td><td colspan=1 bgcolor="#5188B2">3</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 44</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setBackColor</td><td colspan=1 bgcolor="#5BA5B2">4</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 45</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setBackColor</td><td colspan=1 bgcolor="#5188B2">5</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 46</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setBackColor</td><td colspan=1 bgcolor="#5BA5B2">6</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 47</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setBackColor</td><td colspan=1 bgcolor="#5188B2">7</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 49</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setBackColorToDefault</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 90</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setForeColor</td><td colspan=1 bgcolor="#5188B2">8</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 91</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setForeColor</td><td colspan=1 bgcolor="#5BA5B2">9</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 92</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setForeColor</td><td colspan=1 bgcolor="#5188B2">10</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 93</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setForeColor</td><td colspan=1 bgcolor="#5BA5B2">11</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 94</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setForeColor</td><td colspan=1 bgcolor="#5188B2">12</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 95</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setForeColor</td><td colspan=1 bgcolor="#5BA5B2">13</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 96</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setForeColor</td><td colspan=1 bgcolor="#5188B2">14</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 97</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setForeColor</td><td colspan=1 bgcolor="#5BA5B2">15</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 100</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setBackColor</td><td colspan=1 bgcolor="#5188B2">8</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 101</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setBackColor</td><td colspan=1 bgcolor="#5BA5B2">9</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 102</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setBackColor</td><td colspan=1 bgcolor="#5188B2">10</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 103</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setBackColor</td><td colspan=1 bgcolor="#5BA5B2">11</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 104</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setBackColor</td><td colspan=1 bgcolor="#5188B2">12</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 105</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setBackColor</td><td colspan=1 bgcolor="#5BA5B2">13</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 106</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setBackColor</td><td colspan=1 bgcolor="#5188B2">14</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 107</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setBackColor</td><td colspan=1 bgcolor="#5BA5B2">15</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=SM>SM</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Set Mode</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Ps;...</em> <b>h</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Causes one or more modes to be set within the VT100 as specified by
+ each selective parameter string. Each mode to be set is specified by a
+ seperate parameter. A mode is considered set until it is reset by a
+ Reset Mode (<a href=#RM>RM</a>) control sequence.
+ See <a href=#RM>RM</a> and <a href=#MODES>MODES</a>.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 4</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setMode</td><td colspan=1 bgcolor="#5188B2">MODE_Insert</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 20</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">setMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_NewLine</td><td colspan=1 bgcolor="#5BA5B2"><a href=#LNM>LNM</a></td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=SOH>SOH</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Start Of Heading</b>
+ <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x01</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Ignored
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=STX>STX</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Start Of Text</b>
+ <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x02</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Ignored
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=SUB>SUB</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Substitute</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x1a</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Same as <a href=#CAN>CAN</a>.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">ShowCharacter</td><td colspan=1 bgcolor="#5188B2">2</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=SYN>SYN</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Synchronous Idle</b>
+ <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x16</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Ignored
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=TBC>TBC</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Tabulation Clear</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Ps</em> <b>g</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> If the parameter is missing or 0, this will clear the tab stop at the
+ cursor's position. If it is 3, this will clear all of the tab stops.
+ Any other parameter is ignored.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 0</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">changeTabStop</td><td colspan=1 bgcolor="#5188B2">FALSE</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 3</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">clearTabStops</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=US>US</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Unit Separator (IS1 - Information Separator One)</b>
+ <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x1f</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Ignored
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=VPA>VPA</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Vertical Position Absolute</b>
+ <td bgcolor="#D0D0D0">ECMA KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn</em> <b>d</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setCursorY</td><td colspan=1 bgcolor="#5188B2">p</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=VT>VT</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Vertical Tabulation</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x0b</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Same as <a href=#LF>LF</a>.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">NewLine</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=VT52ANSI>VT52ANSI</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>VT52 ANSI Ansi Mode</b>
+ <td bgcolor="#D0D0D0">VT100 XTERM VT52 KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>&lt;</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This is an extension to the VT52 commands to embed the emulation into VT100.
+ It allows to return back to VT100 emulation (ANSI mode).
+ See also <a href=#DECANM>DECANM</a> and <a href=#SM>SM</a>.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">setMode</td><td colspan=1 bgcolor="#5188B2">MODE_Ansi</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=VT52CUB>VT52CUB</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Cursor Back</b>
+ <td bgcolor="#D0D0D0">KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>D</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> See <a href=#CUB>CUB</a>.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">cursorLeft</td><td colspan=1 bgcolor="#5188B2">1</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=VT52CUD>VT52CUD</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Cursor Down</b>
+ <td bgcolor="#D0D0D0">KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>B</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> See <a href=#CUD>CUD</a>.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">cursorDown</td><td colspan=1 bgcolor="#5188B2">1</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=VT52CUF>VT52CUF</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Cursor Forward</b>
+ <td bgcolor="#D0D0D0">KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>C</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> See <a href=#CUF>CUF</a>.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">cursorRight</td><td colspan=1 bgcolor="#5188B2">1</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=VT52CUH>VT52CUH</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Cursor Home</b>
+ <td bgcolor="#D0D0D0">KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>H</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setCursorYX</td><td colspan=1 bgcolor="#5188B2">1,1</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=VT52CUP>VT52CUP</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Cursor Position</b>
+ <td bgcolor="#D0D0D0">KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>Y</b> <em>X;Y</em></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Line and column numbers for direct cursor address are single
+ character codes whose values are the desired number plus
+ 37 (in Octal). Line and column numbers start at 1.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setCursorYX</td><td colspan=1 bgcolor="#5188B2">p-31,q-31</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=VT52CUU>VT52CUU</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Cursor Up</b>
+ <td bgcolor="#D0D0D0">KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>A</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> See <a href=#CUU>CUU</a>.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">cursorUp</td><td colspan=1 bgcolor="#5188B2">1</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=VT52EDL>VT52EDL</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Clear To End Of Line</b>
+ <td bgcolor="#D0D0D0">KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>K</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">clearToEndOfLine</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=VT52EDS>VT52EDS</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Clear To End Of Screen</b>
+ <td bgcolor="#D0D0D0">KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>J</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">clearToEndOfScreen</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=VT52KPAM>VT52KPAM</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Enter alternate keypad mode</b>
+ <td bgcolor="#D0D0D0">KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>=</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6>
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">setMode</td><td colspan=1 bgcolor="#5188B2">MODE_AppKeyPad</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=VT52KPNM>VT52KPNM</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Exit alternate keypad mode</b>
+ <td bgcolor="#D0D0D0">KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>&gt;</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">resetMode</td><td colspan=1 bgcolor="#5188B2">MODE_AppKeyPad</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=VT52REP>VT52REP</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Report Terminal Type</b>
+ <td bgcolor="#D0D0D0">KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>Z</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Response to ESC Z is ESC / Z.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">reportTerminalType</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=VT52RI>VT52RI</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Reverse Index</b>
+ <td bgcolor="#D0D0D0">KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>I</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">reverseIndex</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=VT52SCSF>VT52SCSF</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Select special graphics character set</b>
+ <td bgcolor="#D0D0D0">KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>F</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setAndUseCharset</td><td colspan=1 bgcolor="#5188B2">0,'0'</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=VT52SCSG>VT52SCSG</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Select ASCII character set</b>
+ <td bgcolor="#D0D0D0">KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>G</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setAndUseCharset</td><td colspan=1 bgcolor="#5188B2">0,'B'</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=XTERESTORE>XTERESTORE</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>XTerm Private Restore Mode</b>
+ <td bgcolor="#D0D0D0">XTERM KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <b>?</b> <em>Ps;...</em> <b>r</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 1</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">restoreMode</td><td colspan=1 bgcolor="#5188B2">MODE_AppCuKeys</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 6</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">restoreMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_Origin</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 7</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">restoreMode</td><td colspan=1 bgcolor="#5188B2">MODE_Wrap</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 1000</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">restoreMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_Mouse1000</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 1001</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=XTESAVE>XTESAVE</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>XTerm Private Save Mode</b>
+ <td bgcolor="#D0D0D0">XTERM KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <b>?</b> <em>Ps;...</em> <b>s</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 1</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">saveMode</td><td colspan=1 bgcolor="#5188B2">MODE_AppCuKeys</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 6</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">saveMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_Origin</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 7</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">saveMode</td><td colspan=1 bgcolor="#5188B2">MODE_Wrap</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 1000</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">saveMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_Mouse1000</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 1001</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+</table>
+<h2>
+<table width=100%>
+<tr><td align=center bgcolor=#d0d0d0></td></tr>
+<tr><td align=center bgcolor=#d0d0d0>On VT100</td></tr>
+<tr><td align=center bgcolor=#d0d0d0></td></tr>
+</table>
+</h2>
+
+The VT100 is an upward and downward software-compatible terminal;
+that is, previous Digital video terminals have Digital's private standards
+for control sequences. The American National Standards Institute has since
+standardized escape and control sequences in terminals in documents X3.41-1974
+and X3.64-1977.
+<p>
+The VT100 is compatible with both the previous Digital standard and
+ANSI standards. Customers may use existing Digital software designed around
+the VT52 or new VT100 software. The VT100 has a "VT52 compatible" mode in
+which the VT100 responds to control sequences like a VT52. In this mode, most
+of the new VT100 features cannot be used.
+<p>
+Throughout this document references will be made to "VT52 mode" or
+"ANSI mode". These two terms are used to indicate the VT100's software
+compatibility.
+<p>
+<em>NOTE</em>: The ANSI standards allow the manufacturer flexibility in implementing
+each function. This document describes how the VT100 will respond to the
+implemented ANSI central function.
+<p>
+
+<h2>
+<table width=100%>
+<tr><td align=center bgcolor=#d0d0d0></td></tr>
+<tr><td align=center bgcolor=#d0d0d0>Modes</td></tr>
+<tr><td align=center bgcolor=#d0d0d0></td></tr>
+</table>
+</h2>
+<a name=#MODES></a>
+
+
+The Following is a list of VT100 modes which may be changed with Set
+Mode (SM) and Reset Mode (RM) controls.
+
+<h3>ANSI Specified Modes</h3>
+
+<table border=1>
+<tr><td>Parameter</td><td>Mnemonic</td><td>Function</td></tr>
+<tr><td><hr></td><td><hr></td><td><hr></td></tr>
+<tr><td>0 </td><td> </td><td>Error (Ignored)</td></tr>
+<tr><td>20 </td><td>LNM </td><td>Line Feed/New Line Mode</td></tr>
+</table>
+
+
+<h3>DEC Private Modes</h3>
+
+If the first character in the parameter string is ? (077), the
+parameters are interpreted as DEC private parameters according to the
+following:
+
+<table border=1>
+<tr><td>Parameter</td><td>Mnemonic</td><td>Function
+<tr><td><hr></td><td><hr></td><td><hr></td></tr>
+<tr><td>0</td><td> </td><td>Error (Ignored)</td></tr>
+<tr><td>1</td><td><a href=#DECCKM >DECCKM </a></td><td>Cursor Key </td></tr>
+<tr><td>2</td><td><a href=#DECANM >DECANM </a></td><td>ANSI/VT52 </td></tr>
+<tr><td>3</td><td><a href=#DECCOLM>DECCOLM</a></td><td>Column </td></tr>
+<tr><td>4</td><td><a href=#DECSCLM>DECSCLM</a></td><td>Scrolling </td></tr>
+<tr><td>5</td><td><a href=#DECSCNM>DECSCNM</a></td><td>Screen </td></tr>
+<tr><td>6</td><td><a href=#DECOM >DECOM </a></td><td>Origin </td></tr>
+<tr><td>7</td><td><a href=#DECAWM >DECAWM </a></td><td>Auto Wrap </td></tr>
+<tr><td>8</td><td><a href=#DECARM>DECARM </a></td><td>Auto Repeat </td></tr>
+<tr><td>9</td><td><a href=#DECINLM>DECINLM</a></td><td>Interlace </td></tr>
+</table>
+
+Any other parameter values are ignored.
+
+<p>
+The following modes, which are specified in the ANSI standard, may be
+considered to be permanently set, permanently reset, or not applicable,
+as noted.
+
+<table border=1>
+<tr><td>Mnemonic</td><td>Function </td><td>State</td></tr>
+
+<tr><td>CRM </td><td>Control Representation </td><td>Reset</td></tr>
+<tr><td>EBM </td><td>Editing Boundary </td><td>Reset</td></tr>
+<tr><td>ERM </td><td>Erasure </td><td>Set </td></tr>
+<tr><td>FEAM </td><td>Format Effector Action </td><td>Reset</td></tr>
+<tr><td>FETM </td><td>Format Effector Transfer </td><td>Reset</td></tr>
+<tr><td>GATM </td><td>Guarded Area Transfer </td><td>NA </td></tr>
+<tr><td>HEM </td><td>Horizontal Editing </td><td>NA </td></tr>
+<tr><td>IRM </td><td>Insertion-replacement </td><td>Reset</td></tr>
+<tr><td>KAM </td><td>Keyboard Action </td><td>Reset</td></tr>
+<tr><td>MATM </td><td>Multiple area transfer </td><td>NA </td></tr>
+<tr><td>PUM </td><td>Positioning Unit </td><td>Reset</td></tr>
+<tr><td>SATM </td><td>Selected Area Transfer </td><td>NA </td></tr>
+<tr><td>SRTM </td><td>Status Reporting Transfer</td><td>Reset</td></tr>
+<tr><td>TSM </td><td>Tabulation Stop </td><td>Reset</td></tr>
+<tr><td>TTM </td><td>Transfer Termination </td><td>NA </td></tr>
+<tr><td>VEM </td><td>Vertical Editing </td><td>NA </td></tr>
+</table>
+<h2>Keyboard Codes</h2>
+
+The notation &lt;ESC&gt; denotes a single ASCII Escape character, 1Bx.
+
+<table border=1>
+<tr>
+<td>Cursor Key</td>
+<td>VT52 mode</td>
+<td>ANSI mode w/cursor <br> key mode reset</td>
+<td>ANSI mode w/cursor <br> key mode set</td>
+</tr>
+<tr><td>UP </td><td>&lt;ESC&gt;A</td><td>&lt;ESC&gt;[A</td><td>&lt;ESC&gt;OA</td></tr>
+<tr><td>DOWN </td><td>&lt;ESC&gt;B</td><td>&lt;ESC&gt;[B</td><td>&lt;ESC&gt;OB</td></tr>
+<tr><td>RIGHT</td><td>&lt;ESC&gt;C</td><td>&lt;ESC&gt;[C</td><td>&lt;ESC&gt;OC</td></tr>
+<tr><td>LEFT </td><td>&lt;ESC&gt;D</td><td>&lt;ESC&gt;[D</td><td>&lt;ESC&gt;OD</td></tr>
+</table>
+<h2>Special Graphics Characters</h2>
+
+If the Special Graphics set is selected, the graphics for ASCII codes
+0137 through 0176 will be replaced according to the following table (see the
+<a href=#SCS>SCS</a> control sequence).
+<center>
+<table cellspacing=30>
+<tr><td><table><tr><td>Octal<br>Code </td>
+ <td>ASCII<br>Graphic</td>
+ <td>Special Graphic </td></tr>
+<tr><td><hr></td>
+ <td><hr></td>
+ <td><hr></td></tr>
+<tr><td>0137</td>
+ <td align=center>_</td>
+ <td>Blank</td></tr>
+<tr><td>0140</td>
+ <td align=center>`</td>
+ <td>Diamond</td></tr>
+<tr><td>0141</td>
+ <td align=center>a</td>
+ <td>Checkerboard</td></tr>
+<tr><td>0142</td>
+ <td align=center>b</td>
+ <td>Digraph: (HT)</td></tr>
+<tr><td>0143</td>
+ <td align=center>c</td>
+ <td>Digraph: (FF)</td></tr>
+<tr><td>0144</td>
+ <td align=center>d</td>
+ <td>Digraph: (CR)</td></tr>
+<tr><td>0145</td>
+ <td align=center>e</td>
+ <td>Digraph: (LF)</td></tr>
+<tr><td>0146</td>
+ <td align=center>f</td>
+ <td>Degree Symbol: &deg;</td></tr>
+<tr><td>0147</td>
+ <td align=center>g</td>
+ <td>+/- Symbol: &plusmn;</td></tr>
+<tr><td>0150</td>
+ <td align=center>h</td>
+ <td>Digraph: (NL)</td></tr>
+<tr><td>0151</td>
+ <td align=center>i</td>
+ <td>Digraph: (VT)</td></tr>
+<tr><td>0152</td>
+ <td align=center>j</td>
+ <td>Lower-right corner</td></tr>
+<tr><td>0153</td>
+ <td align=center>k</td>
+ <td>Upper-right corner</td></tr>
+<tr><td>0154</td>
+ <td align=center>l</td>
+ <td>Upper-left corner</td></tr>
+<tr><td>0155</td>
+ <td align=center>m</td>
+ <td>Lower-left corner</td></tr>
+<tr><td>0156</td>
+ <td align=center>n</td>
+ <td>Crossing lines (+)</td></tr>
+</td></table></td><td><table><tr><td>Octal<br>Code </td>
+ <td>ASCII<br>Graphic</td>
+ <td>Special Graphic </td></tr>
+<tr><td><hr></td>
+ <td><hr></td>
+ <td><hr></td></tr>
+<tr><td>0157</td>
+ <td align=center>o</td>
+ <td>Horiz Line - scan 1</td></tr>
+<tr><td>0160</td>
+ <td align=center>p</td>
+ <td>Horiz Line - scan 3</td></tr>
+<tr><td>0161</td>
+ <td align=center>q</td>
+ <td>Horiz Line - scan 5</td></tr>
+<tr><td>0162</td>
+ <td align=center>r</td>
+ <td>Horiz Line - scan 7</td></tr>
+<tr><td>0163</td>
+ <td align=center>s</td>
+ <td>Horiz Line - scan 9</td></tr>
+<tr><td>0164</td>
+ <td align=center>t</td>
+ <td>Left "T" (|-)</td></tr>
+<tr><td>0165</td>
+ <td align=center>u</td>
+ <td>Right "T" (-|)</td></tr>
+<tr><td>0166</td>
+ <td align=center>v</td>
+ <td>Bottom "T" (|_)</td></tr>
+<tr><td>0167</td>
+ <td align=center>w</td>
+ <td>Top "T" (T)</td></tr>
+<tr><td>0170</td>
+ <td align=center>x</td>
+ <td>Vertical Bar (|)</td></tr>
+<tr><td>0171</td>
+ <td align=center>y</td>
+ <td>Less/Equal: &le;</td></tr>
+<tr><td>0172</td>
+ <td align=center>z</td>
+ <td>Graeter/Egual: &ge;</td></tr>
+<tr><td>0173</td>
+ <td align=center>{</td>
+ <td>Pi symbol: &pi;</td></tr>
+<tr><td>0174</td>
+ <td align=center>|</td>
+ <td>Not equal: &ne;</td></tr>
+<tr><td>0175</td>
+ <td align=center>}</td>
+ <td>UK pound symbol: &pound;</td></tr>
+<tr><td>0176</td>
+ <td align=center>~</td>
+ <td>Centered dot: &middot;</td></tr>
+</td></tr></table>
+</table>
+</center>
+<em>NOTE 1</em>: Codes 0152-0156 and 0164-0170 are used to draw rectangular grids" each
+piece of this set is contiguous with other so the lines formed will be
+unbroken.
+<p>
+<em>NOTE 2</em>: Codes 0157-0163 give better vertical resolution than dashes and
+underlines when drawing graphs; using these segments, 120 x 132 resolution may
+be obtained in 132 column mode with the Advanced Video Option installed.
+<p>
+
+<h2>References</h2>
+<p>
+<hr>
+<small>
+This text is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+<p>
+<a href="mailto:[email protected]">Lars D&ouml;lle</a>, 1998
+</small>
+
+</body>
+</html>
diff --git a/konsole/doc/VT100/vt100.gif b/konsole/doc/VT100/vt100.gif
new file mode 100644
index 000000000..0d3e21d49
--- /dev/null
+++ b/konsole/doc/VT100/vt100.gif
@@ -0,0 +1,401 @@
+/* XPM */
+static char*vt100[]={
+"188 161 237 2",
+".N c #5d5d5d",
+"bA c #040404",
+".f c #f4f4f4",
+".Y c #9b9b9b",
+"Qt c None",
+"#Z c #424242",
+".w c #d9d9d9",
+"#W c #808080",
+"aF c #272727",
+"bq c #bebebe",
+".M c #656565",
+"bz c #0c0c0c",
+"aI c #a3a3a3",
+"#h c #4a4a4a",
+".x c #e1e1e1",
+"a2 c #888888",
+"ao c #2f2f2f",
+"bK c #c6c6c6",
+"#. c #6d6d6d",
+"bt c #141414",
+".3 c #ababab",
+"aT c #525252",
+".Z c #e9e9e9",
+"aX c #909090",
+"#M c #373737",
+"aP c #cecece",
+"#x c #757575",
+"aK c #1c1c1c",
+"#s c #b3b3b3",
+"ag c #5a5a5a",
+"bC c #010101",
+".s c #f1f1f1",
+"ba c #989898",
+"#2 c #3f3f3f",
+"ac c #d6d6d6",
+".H c #7d7d7d",
+"av c #242424",
+"bL c #bbbbbb",
+".P c #626262",
+".F c #a0a0a0",
+"#J c #474747",
+".p c #dedede",
+"ae c #858585",
+"ar c #2c2c2c",
+"#r c #c3c3c3",
+".R c #6a6a6a",
+"bg c #111111",
+"az c #a8a8a8",
+"#e c #4f4f4f",
+".i c #e6e6e6",
+"a5 c #8d8d8d",
+"#P c #343434",
+"#q c #cbcbcb",
+"#A c #727272",
+"aW c #191919",
+"bh c #b0b0b0",
+"#D c #575757",
+".e c #eeeeee",
+"ad c #959595",
+"#k c #3c3c3c",
+".B c #d3d3d3",
+".6 c #7a7a7a",
+"aL c #212121",
+"#7 c #b8b8b8",
+"#a c #5f5f5f",
+"bF c #060606",
+".# c #f6f6f6",
+"bd c #9d9d9d",
+"#H c #444444",
+".v c #dbdbdb",
+"b# c #828282",
+"aE c #292929",
+"bp c #c0c0c0",
+".L c #676767",
+"bj c #a5a5a5",
+"#g c #4c4c4c",
+".j c #e3e3e3",
+"a1 c #8a8a8a",
+"at c #313131",
+".1 c #c8c8c8",
+".8 c #6f6f6f",
+"bl c #161616",
+"#R c #adadad",
+"#E c #545454",
+".A c #ebebeb",
+"#p c #929292",
+"#j c #393939",
+"ai c #d0d0d0",
+".I c #777777",
+"aM c #1e1e1e",
+"bx c #b5b5b5",
+".U c #5c5c5c",
+"bG c #030303",
+".g c #f3f3f3",
+".4 c #9a9a9a",
+"#3 c #414141",
+"aa c #d8d8d8",
+"af c #7f7f7f",
+"au c #262626",
+".D c #bdbdbd",
+".V c #646464",
+"be c #a2a2a2",
+"#0 c #494949",
+".k c #e0e0e0",
+"a0 c #878787",
+"aD c #2e2e2e",
+"bH c #c5c5c5",
+".K c #6c6c6c",
+"bu c #131313",
+"bs c #aaaaaa",
+"#f c #515151",
+".c c #e8e8e8",
+".G c #8f8f8f",
+"#4 c #363636",
+"aB c #cdcdcd",
+".7 c #747474",
+"aJ c #1b1b1b",
+"bO c #b2b2b2",
+"a. c #595959",
+"bB c #000000",
+".0 c #f0f0f0",
+"a9 c #979797",
+"#I c #3e3e3e",
+"ah c #d5d5d5",
+"a4 c #7c7c7c",
+"aR c #232323",
+"bI c #bababa",
+".T c #616161",
+"bD c #080808",
+"bi c #9f9f9f",
+"#1 c #464646",
+".r c #dddddd",
+"aY c #848484",
+"aC c #2b2b2b",
+"ax c #c2c2c2",
+"## c #696969",
+"aH c #a7a7a7",
+"#F c #4e4e4e",
+".n c #e5e5e5",
+"a6 c #8c8c8c",
+"#N c #333333",
+".C c #cacaca",
+".9 c #717171",
+".E c #afafaf",
+"#d c #565656",
+".h c #ededed",
+"#u c #949494",
+"#L c #3b3b3b",
+"#5 c #d2d2d2",
+"#y c #797979",
+"aO c #202020",
+"#T c #b7b7b7",
+"#b c #5e5e5e",
+"bE c #050505",
+".a c #f5f5f5",
+"bc c #9c9c9c",
+"#n c #434343",
+".y c #dadada",
+"#9 c #818181",
+"as c #282828",
+"bN c #bfbfbf",
+".W c #666666",
+"bw c #0d0d0d",
+"#t c #a4a4a4",
+"#Y c #4b4b4b",
+".m c #e2e2e2",
+".5 c #898989",
+"aw c #303030",
+"#S c #c7c7c7",
+"#C c #6e6e6e",
+"#8 c #acacac",
+"ak c #535353",
+".d c #eaeaea",
+"aS c #919191",
+"#Q c #383838",
+"ap c #cfcfcf",
+"#w c #767676",
+"aQ c #1d1d1d",
+"bP c #b4b4b4",
+"bJ c #5b5b5b",
+"by c #020202",
+".z c #f2f2f2",
+"bb c #999999",
+"#i c #404040",
+"ab c #d7d7d7",
+"#v c #7e7e7e",
+".2 c #bcbcbc",
+".O c #636363",
+"bv c #0a0a0a",
+"bf c #a1a1a1",
+"#G c #484848",
+".l c #dfdfdf",
+"aZ c #868686",
+"al c #2d2d2d",
+"bM c #c4c4c4",
+"#B c #6b6b6b",
+"bn c #a9a9a9",
+"an c #505050",
+".u c #e7e7e7",
+"a7 c #8e8e8e",
+"#m c #353535",
+"br c #cccccc",
+"#z c #737373",
+"bo c #1a1a1a",
+"aG c #b1b1b1",
+"#c c #585858",
+".b c #efefef",
+"#V c #969696",
+"#K c #3d3d3d",
+"aq c #d4d4d4",
+".X c #7b7b7b",
+"am c #b9b9b9",
+".S c #606060",
+"aj c #9e9e9e",
+"#o c #454545",
+".q c #dcdcdc",
+"a3 c #838383",
+"aA c #2a2a2a",
+"bm c #c1c1c1",
+".Q c #686868",
+"bk c #0f0f0f",
+"#U c #a6a6a6",
+"#X c #4d4d4d",
+".o c #e4e4e4",
+"b. c #8b8b8b",
+"#O c #323232",
+"#6 c #c9c9c9",
+".J c #707070",
+"aN c #171717",
+"bQ c #aeaeae",
+"aU c #555555",
+".t c #ececec",
+"a8 c #939393",
+"#l c #3a3a3a",
+"ay c #d1d1d1",
+"aV c #787878",
+"a# c #b6b6b6",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.a.b.b.c.d.b.e.bQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.f.#.f.f.f.g.e.h.c.i.j.k.l.m.k.l.l.m.l.k.m.n.m.m.m.o.o.m.m.k.o.m.m.k.l.l.k.k.k.m.k.k.p.k.q.k.k.m.l.m.j.o.o.m.m.r.jQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.a.f.f.f.f.f.a.#.f.f.#.f.s.s.b.t.u.o.l.v.w.v.r.l.l.m.m.m.j.x.x.m.m.m.o.o.o.o.o.i.i.c.i.u.i.n.n.i.o.o.o.j.o.j.o.j.m.m.x.m.x.m.k.x.x.m.m.k.k.m.m.o.o.o.o.o.m.m.x.yQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.f.g.g.g.s.z.g.s.h.A.h.u.u.o.o.k.j.o.m.j.x.q.B.C.D.E.F.G.H.I.J.K.L.M.N.O.P.M.O.Q.R.L.M.R.O.S.T.U.V.V.M.W.J.X.Y.y.Z.u.i.n.u.i.i.u.u.u.u.i.u.n.o.m.m.m.r.k.k.x.m.x.x.m.m.m.m.x.x.r.q.wQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.f.g.a.g.s.0.h.h.A.i.o.o.m.m.m.o.o.o.m.v.B.1.2.3.4.5.6.7.8.9#.#..K#..K.K#.##.R#.#..W.L.V####.P.O#a.N#a#b#c#d#e#f#g#h#i#j#k#l#j#m#n#o#o#h#p.b.Z.i.i.u.i.i.n.i.i.o.o.j.n.j.o.j.o.j.o.j.o.m.l.m.k.l.q.q.r.r.r.w.lQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.#.#.f.a.a.a.z.g.h.h.A.u.o.o.u.j.o.n.j.j.o.r.y#q#r#s#t#u#v.6#w#x#v#y#x#x#w.7#x#z.K#A#.#B.Q#..Q#.#C.K#C.K.V.V#D#E#F#g#G#G#h#o#H#I#J#n#n#o#G#n#K#L#i#M#N#O#M#P#O#L#Q#L#k#i#H#R.A.u.u.n.i.o.i.o.o.n.o.m.m.m.l.k.m.x.x.m.k.m.m.x.l.k.p.q.q.r.v.w.yQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.a.#.g.f.z.f.b.h.A.A.d.i.i.i.i.i.i.u.n.o.v.B#S#T#U#V#W#y#z.7#A.7.K#A#x#x.9#x.9.J#C.9.9#x.9#.#z#C.8#B.R.Q.N#c#d#D#D#F#f#F#X#Y#n#i#Z#0#1#I#i#i#K#2#I#Q#3#3#o#k#1#i#H#I#i#Q#L#Q#M#4#j#Q#4#L#M#i#K#2#I#J#5.i.o.m.o.m.k.l.l.r.r.q.r.l.p.k.q.q.r.r.r.l.v.r.q.v.y.y.v.q.y.v.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQt.s.0.h.h.t.A.t.t.Z.Z.d.c.c.u.i.w#5#6#7#8#V#9#x.8.R.V.R#..8#.#A.9#.#..K#C#.#C.K.J.K.J#B.8#A.9.M.Q.T.M.V.V.O#da.#c#F#F#0#g#H#n#I#k#i#k#i#i#o#Z#Z#i#i#n#j#L#M#k#Q#Q#M#l#Q#k#n#i#2#Z#H#i#1#2#K#k#k#L#k#i#L#j#o#2#k#2#K#L#Ha#.o.o.m.k.l.q.r.v.q.v.w.q.v.y.y.w.w.y.waa.w.w.y.w.wab.wac.w.w.y.y.xQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQt.g.b.h.e.b.e.h.A.h.A.t.t.d.Z.m#sadaeaf.7.6#A#B.V.W.Uag.P#b.V.R#..J#z#x.8##.L.R.V.Q#..R.L.S.O.Q##.U.U#c#F#h#f#f#e#0#Y#n#0#X#X#0#Y#3#i#3#l#2#l#I#4#L#I#Z#K#3#i#K#Z#i#n#n#2#l#Q#4#N#I#K#M#i#k#L#M#I#i#m#L#i#i#i#m#N#4#l#M#i#K#J#p.r.k.p.q.r.q.r.q.q.q.r.r.yaaab.y.v.w.wab.w.waaaaaaabababaaabahab.lQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQt.b.b.0.s.0.0.0.0.0.0.b.b.t.A.c.mai#Taj#v.S.S.R.L.T.V.T.V.S.M.Q.O#.#..L#..R.V#..T#a.Oakak#f#e#Y#n#X#0#F#H#h#Y#Z#h#h#X#1#g#K#n#n#n#Q#3#n#2#l#Q#K#k#I#i#i#Q#m#K#2#n#H#L#n#Z#l#L#Z#2#n#k#l#I#l#Mal#m#n#4#j#i#i#K#3#k#I#M#M#L#4#Q.O.y.x.r.q.q.y.w.w.y.w.y.w.w.w.w.w.w.q.w.w.waaacabahahahacab.w.w.w.rQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQt.b.e.e.e.h.e.b.h.b.e.h.h.h.h.h.b.h.h.b.h.h.h.t.d.u.qam#2#Y#G#Y#Gan#g#X#1#h#han#h#Y#h#H#1#n#3#i#2#i#n#o#J#i#Yan#2#Z#K#K#2#2#n#2#2#K#l#L#M#i#K#n#K#j#kao#j#K#2#k#l#4#m#Z#i#l#Q#N#O#n#J#Z#n#l#3#k#i#j#k#i#L#j#I#2#i#2#M#M#M#i#i#l#nap.r.v.y.yaaabab.w.wababaaaqabacabacahababab.Baq.Babababac.yab.y.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQt.b.A.t.t.A.A.t.A.A.d.A.h.A.h.A.A.A.h.h.t.e.h.b.s.h.d.Z.n.5ar#m#P#M#L#m#L#i#3#Z#i#o#Z#3#2#i#4#M#l#I#L#K#i#H#i#3#n#2#i#n#n#i#n#H#k#H#3#o#l#L#i#l#3#n#M#N#Q#P#Q#k#K#L#M#k#K#n#k#i#m#i#m#P#M#j#i#2#Z#P#n#n#3#n#L#2#I#i#l#jas#Parat#l#S.yaaababahacacaqahahacahab.Bababacabahah.B.Baqaq.Bahahahabab.waaQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.f.b.h.A.A.t.h.t.A.h.h.t.t.h.h.d.A.d.A.A.A.A.h.A.z.b.d.Z.Z.r#vauavaw#K#L#Z#i#J#3#l#i#n#o#2#N#l#L#K#L#M#i#Q#3#j#M#k#i#m#L#I#j#4#j#Q#Qao#N#4#m#2at#m#m#Q#i#I#l#K#M#L#N#K#P#N#4#O#m#M#i#3#2#j#M#4#2#i#K#i#i#k#k#N#2#i#K#I#Pasatal#4#Oaxaaac.Baq.B.Bay#5#5ai#5ah#5ahahabaq.BahahaqabahahahaaababacacahaaQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.#.h.d.A.A.h.t.h.h.h.h.h.t.t.t.t.A.A.A.A.A.h.h.h.b.0.Z.u.i.lazaA#4#K#1#L#K#i#L#I#L#k#j#H#K#i#Z#2#2#L#2#2#G#L#4#Nal#4#P#Q#2#l#P#l#l#H#I#3#l#P#O#Pao#j#4#Q#j#I#j#K#j#4at#K#Oaoaw#M#Oalao#m#M#K#m#1#L#j#k#2#Q#Q#L#P#4#j#l#L#l#M#m#O#l.Dacaqaqahahah.B#5.Baiapaiap#5.B.Bahahahacah.BacacahaqaqahahacahacQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.#.h.A.Z.h.A.A.h.h.h.h.h.h.t.t.t.t.A.A.h.A.t.A.A.h.0.d.i.n.oaBaraC#L#3#P#Z#J#m#L#K#3#n#L#K#2#j#L#m#m#M#P#M#P#P#2#k#L#L#i#l#M#I#k#2#j#i#K#i#L#lat#Q#m#PaD#kaE#P#2#N#P#O#m#P#Mar#m#mao#N#P#i#l#j#Q#l#L#K#l#K#K#3#i#4#k#L#Nar#4#mat#M.2ahahah.B.B.B#5.B.Baiay.B#5ah.B.Bahah.Bah.B.Baqabahaaabac.wahaqabQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.#.h.t.A.h.A.d.h.A.h.t.t.Z.A.A.A.A.A.A.Z.d.A.A.h.t.0.A.n.o.o.v#fao#M#k#M#2#lat#4#m#n#Q#Oar#Oaw#k#4#4#P#2#i#j#I#i#j#1#k#Z#M#l#L#I#K#3#i#M#i#k#i#l#mawao#4#i#P#M#n#l#k#Mao#4#l#M#O#l#K#O#M#P#M#O#l#2#P#M#MaCaDataoawaDaAaF#m#j#M#MaCaGabaqah.B#5#5.B.B#5ah#5.B#5.B#5.Bayaiayaqah.Bacahabaaababahahahah.sQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.#.e.d.d.d.d.Z.Z.d.d.t.t.A.d.A.A.Z.t.t.t.A.i.t.h.h.b.t.x.j.jabaH#4#jat#P#i#k#N#L#M#2#2#Q#M#L#2#3#j#Z#I#k#K#i#i#K#i#k#2#K#N#N#Q#k#K#I#L#L#H#j#3#l#l#4#L#2#j#K#l#jaw#l#I#P#M#m#jatawaC#OalaCaEaFaCaoasauararaoaFaAavaralawaA#L#Q#4alaIah.B.Bayai#5#5.B#5ai.Bayaiaiai#5.B#5aqahahahacabahaaac.Bacahaqac.AQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.#.t.d.Z.d.d.A.Z.Z.t.h.A.t.t.t.d.A.t.A.A.t.t.h.h.h.h.A.j.m.mac.B#Q#K#g#J#h#h#1#P#4#j#l#L#i#Q#m#M#m#P#j#L#4#4#n#k#M#4#j#m#j#2#i#Q#j#i#L#P#P#N#i#i#L#4#K#Q#maDaoaDaDaCasasaAaJaKavaLaJaMaKaAaJaNasaEaoaAaAaKavauaNaOaJasasauaA#Oas#k.4.B.B#5aiai.Bai#5#5#5#5apaPapapapai#5#5ah.B.B.Baqahabacaqah.Baqah.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.#.A.Z.t.d.c.Z.Z.Z.Z.A.t.A.h.h.e.h.h.h.t.h.h.t.t.A.t.Z.m.x.jab.w#k#1#n#o#Z#i#iat#Q#Q#I#m#K#O#Nalat#P#P#P#L#j#l#L#L#i#k#i#2#kaw#MaD#lat#j#j#M#P#N#P#PataDatavauaCauaEaFaQaRaOatalal#NaraDararaD#PaDar#O#2#L#L#NaMararaQ#maCaCaDaDaEaS.Baiaiapapaiaiai.Baiapaiaiaiai.B#5aiaqah.B.B.Baqayahabahahahac.w.oQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.#.h.Z.Z.Z.Z.Z.Z.d.d.d.A.A.h.h.h.A.A.t.A.A.A.h.h.h.h.A.o.m.maa.r#l#N#O#P#L#K#2#Q#Q#O#L#K#N#l#I#L#Z#i#i#o#k#L#L#M#4#4al#3#m#PaoaAalatar#jao#OaraCalao#OawawaDaEataAaD#OaCaw#M#l#k#L#n#g#h#YaT#X#X#XanaUag#DaU#JaMar#MaD#m#P#Q#4aoawae#5.B#5aiaiaiapaBaiaiaiapaiaiaiaiaiay.B.B.B.Bah.B.Bahabahaqaq.Bab.mQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.a.A.A.A.A.A.Z.Z.A.t.t.t.d.h.t.t.h.A.A.t.t.t.t.t.h.h.c.m.x.m.w.r#OaA#maA#M#2#H#3#k#M#3#4#O#M#2#I#2#M#m#O#j#N#MaFaOaOalavavaFawavalaLalatasaw#M#4#3#nanaU.P.O.W#..7.9.I#A#z#x#x#x#z#w.6.XaV#w#A#A.8#.aV#A.I.7.8aW#N#j#k#O#k#K#PaoaE#x#5.Baqaiahai#5apap#5apaPaiaPapaiaiai#5.B#5#5ay#5.Baiay.BahacahacaaQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.#.Z.Z.Z.Z.Z.d.t.A.A.A.h.t.h.t.t.A.h.h.t.h.h.h.h.h.h.Z.x.k.l.q.x#iar#Q#QaX#J#1awat#malatas#4awaEalaEaraEaLaEatawataC#jaw#I#o#X#e.U.O#..8.7#v.X#9#9aYaZafa0.5aea1aea2aYaea2aZaYa3afaY#Waea3#v#va4#v#va2afafaV.6aDau#O#Mat#M#4#m#PaC.Lap.B.B#5#5aiaiapaPaBaBaPapapaiai#5.Baq#5.B.Bai.Bay.B.B.B#5ahababaaQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.#.A.Z.t.A.t.A.A.A.A.A.A.A.t.A.A.A.A.A.t.t.t.h.h.A.h.o.p.l.l.r.r#bataEa5#GaCaJaJaWaRaEaLaCatataw#l#P#l#Y#Gak#b#B#A#wafaeaea1a6a7a6.G.Gad#ua7#paSa7#p#pa8a9aSa7a6a5a5a5.5a0.5.5a2b..5a0aYa2a0aZaZa3aYa0a0a0b#b##XaL#KaDaoaO#MaCau#P#d#q#5.B.Bayaiapayaiap#5aiapai#5aiayayayai#5#5ai.Bai.Baiah.B#5ahab.wQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.a.d.d.d.A.A.d.A.t.A.A.t.h.A.A.A.A.A.h.A.d.h.h.h.h.h.i.k.q.r.q.y#vao#N#W#Iasaoaw#l#i#i#Eag.V#..I.X#9a3a6.Ga7a5#pa7adadad.4#V#Vbabbbaad.4bb#Va9#uad#uba#Vad#V#Vadbaa9a9ad#p#Vada5#Va5a5a5a6a2a2a6a6a0aXa0aZa3a3.VaJaDat#4aAaAaFaKaO#L.Cah#5ai#5aiaiaPapapapapai#5#5ay.B#5#5#5aq.Bai#5ai#5ay.BayahahacabQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.g.Z.d.A.A.A.d.A.t.A.d.Z.d.Z.A.d.A.d.Z.Z.A.A.t.h.A.t.u.l.q.q.r.w#uaEaw#kar#O#Kag.Ha0a7#p.G#ua9bbbbbc.4bbbc.4bd.4ajbd.4bd.FajbdbebdbdaIbfaIaj.4.Y.4.4.Ybc.4.4bbad#V#uad#uaXaS#p#uaS#paSa5a7a5b.a5.5.5a0.5aeaf#W#xbg#NasaDaw#NaraCaF#N#Saq#5ay#5aiaiaiaiapapapapai.B#qaiaiaiap.B#5ai#5ay.B#5.Baq#5.BaqabQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.g.c.Z.A.A.t.A.A.d.Z.Z.d.c.c.Z.d.Z.d.A.Z.d.A.A.A.A.d.u.l.r.q.q#5bharal#J#l#l.Ra6.4bibi.Ybd.4bcbd.YbdbcajajbdaIaIbf.F#taI#U.F#UaIaI#t#tbjajajbiajbdbdbdbbbdbb.4bb#V.4a9.4bbad#V#u#ua7#pa5a6a1a6a5a6a2a6.5a3#va4.7bkauasataDalalaEaO#P#r#5aiaiai#5aBapapapayai#5aiai#5.B.Bah.Baiaiapaiai.Bap.Baqah.B#5#5.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.f.A.A.A.d.A.A.d.d.h.A.A.d.d.c.Z.Z.Z.A.A.Z.A.A.Z.d.Z.n.q.q.q.qaB#raE#P#G#m#F#vadbcbjbjbj.F#tbfbebj#UbjaIaIbj#U#t.FbebjbjbebjaI#t#t#tbj#U#tbeaI.Fbeaj.Y.4ba#V#Vbaba#ua8ba#Vadada8#u#p#paSa6a6b.a1a2.5a0a1aeaYb##yaFaLavaEauavaoblaMaFbmaqayaiaiaiapapapapaiaiaiap#5ap#5#5.B.Baiaiai#5apay#5.Babah.Bahaq.rQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.f.Z.Z.Z.d.Z.d.d.A.A.A.A.A.A.Z.c.A.Z.c.c.Z.Z.d.d.Z.A.i.r.q.q.w#q#6#PataT#Q#daf#u#taHaH#Ubjbe#Ubj#tbj#U#t#U#U#Uaz#t#U#tbnazaHbn#t#U#Uaz#tbe#tbiaj.F.4.Y.4a9bbbbba#Va9adbb#ua8a8#uaX.GaSaSa7b.b..5aeaZ.5a2aZ#W#v.6aAbobgaQaOaAasblau#Pbp.BayaiaP#5.B#5aiaiaiaiaPapaiapai#5#5ai#5.Baiaiaiaq.Baiaqahay.B.B.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.s.Z.A.A.d.Z.Z.Z.Z.d.c.Z.Z.Z.Z.A.d.A.Z.Z.Z.A.c.d.d.c.i.q.v.q.q.CaBavaoan#Q#faZba#UbnaH#UaH#Ubjbn#U#t#t#U#Uaz#t#Ubj#t#t#U#U#tbj#U#U#UaIbe#UaIbibdbd.4aj.4bb.4bbbbbababa#V#V#uba#V#pa7#pa5aX.G.G.5.5a0aZaeaY#Wa3.X#ZauaOaKblaQasblbkaEbq#5aiapaiaiaiapapapaiapai#5#5.B.B#5#5.B.B.B.Baiai#5#5.B#5.B.B.B#5.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.s.Z.Z.d.A.A.c.d.Z.A.A.Z.d.Z.Z.Z.c.c.u.u.u.c.u.u.c.c.o.q.y.q.ybracal#maU#I#fb#bibjazbs#UaH#Ubsbnbn#Ubnbnbn#UbnbnbnbjaH#t#tbe#taIaIbe#taIbfaI.Ybe.4aj.4.4a9bbbb#ubbad#ua9a9ad#u#u#u#paXa7aS.GaSa5b.aZa0aYaYafa4.IanbkaKaFaObtaKblaMaLbqayaiapaPapaBapaPapaiaiaiai.B.B.B.B#5#5#5#5ai#5#5#5ah.B#5ahahaqahaaQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.0.Z.Z.A.A.Z.d.c.c.d.Z.A.Z.Z.Z.Z.Z.d.c.c.i.u.u.u.c.u.o.q.y.y.w#q.waraD#h#l#f#9aj#Ubn#Ubjbn#UaHaHbjbj#Ubnazbnbn#U#Ubn#U#t#Ubj#Ubn#U#Ubj#t#Ubfaj.4.4bbaj.Ybb.4ad.4bb#Vbabba9ad#paSa7a7a7b.a5a6.5b..5a2a0a3#W#W#v.X#dboaJaQaLavaRboaJbo.2aibraBaBaBaPapapaiapaiayaiai.Baq.B#5.B#5.B#5aq#5.Bahah.B.BahabaqabQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.s.Z.d.Z.d.Z.u.Z.u.c.u.A.Z.d.Z.Z.u.c.u.u.i.u.i.u.u.u.o.y.w.v.v#5.waDao#K#m#ia4baazaH#UbjbjaI#Ubjbj#U#U#U#U#U#UbjaH#U#UaIbe#tbjbjaIbebfajbcbdbibd.Ybi.4.4bbbba8bbadad#V#u#u#p#pa7#pa5a6a7a1a6a6a6aeaYa3aYaf.XaV#w#cbkbtaKbkblaQbtbubv#Tapbr#q.CaPaPaPai#5aqahah.B.B.B.Bay.B.B.B.Bah.B.Bahaqahababah.B#5aqQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.e.d.d.Z.Z.c.u.u.u.c.Z.Z.Z.c.u.Z.u.c.i.u.i.i.i.i.i.u.o.w.wacabaiabaDas#4al#1afbcbjbn#Ubjaz#taI#Ubj#UaI#U#U#t#UbjbjaH#Ubj#taIaIbebfbfbibdaIbdbd.4a9a9.4.4ba#V#ubb.4ada8#pa7aSa5.5a7a6a5a6a6a7b.a0aYaZaYaZafaf#y#v.PbuaNaFauaMbobwaNbtbx#5aPaBapapapapapai.B.B.Bah.Bah.B.Baqaqaqay.B#5aq#5ay.Baq.BahahahabQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.h.c.Z.Z.Z.u.i.u.u.Z.c.Z.Z.Z.Z.u.c.u.u.o.i.u.u.i.n.u.o.yababah.Bac#Nalawaw#Ja4bb#Ubnbn#U#U#Ubebjbn#tbjbjazbjbj#U#Uazbj#tbj#t#UaIbiajbfbdaIbdbb.4bb.4#Vadad#V#V#Vadadad#u#p.GaXa5.5b.a0a2a0aZa3aYaeaZaYa3a3af.6.6.VbvaKaWblaJaMblbubo.EaB.C#qaBaPayaiaiahaq#5aqaq#5.B.B.B.B.B.Baq.B#5.B.Bah.B.B.B.Bah.Baq.bQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.b.u.Z.i.u.Z.c.u.u.u.u.Z.u.Z.Z.u.i.i.i.u.u.c.c.c.Z.i.jababah.B#5aq#lal#Oat#i#x#ubeaIbeaIbebj#tbjaHaH#U#U#U#t#t#Ubfbf#t#taIajbiajaj.4bi.Y.4.4.4.4ba#Vada9.4ad#ua8#u#uaSaSa7#pa5b.a5a6aYaZa0a2b.a0afaYb##9b#.X.I#A#BaMbyaWbgbzbgbvblbk.4aPaPaBai.Baq#5.Bahahay#5#5aq#5#5ai#5#5.B.B#5.B#5#5.Bah.Baqai#5#5aq.dQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.0.u.u.c.i.i.i.u.i.u.i.u.i.i.i.i.i.Z.Z.c.Z.i.j.o.o.o.jabaqaq.B.B.B#aaQaEaWal.QaSajaj.Fbe.F#taIaIbfaI.F#UaIbjbebebfaIaIbeajbf.4ajajbc.4bbbb#V#Vbaad#uaS#paXa8#pa6aX#paS.Ga5a6a1a6a2a2aea2a0aY#Wa3b#b#b##v#W.6#xaV#AbobAbtbzbwbobgbwaJa6#qapaBaPayaiaiayai#5ap#5ayay.B.B.Baiaq#5#5ayai#5#5.Baiaiaiai#5#5.B.nQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.A.i.u.u.u.n.i.i.Z.u.i.u.i.i.o.n.o.n.j.o.o.n.n.o.j.o.jacahah#5.Bap.XaMaOaQar#Db.#Vajbcbibd.F.4.F.Fbibebj#UbebebiaIbe.Fajbdaj.Y.Y.Ybd.4.4bb#V.4#V#p#u#uaSaS#pa7a8aSaXa5a6b.b.a1.5aeaYaZaYa0aZ#9#W#W#W.H.X.H#w.9.9.LaJbBbybCbzbwbvbybD#w#qapaiayaiapaiaiapapapaiap#5ai#5ayaiaiaiapayapap#5apayapapaiayay#5.lQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.A.u.u.i.i.n.i.u.i.n.o.u.n.i.o.o.o.o.o.u.o.o.j.o.j.m.kabahah#5.Baia2aJaMboaRag.5.4.4ajbibdbibfbebfajaj.FaIbe.F.4.Fbibiajbc.4.4.4ada9#Vadada9ad#p#p#p#u#p#uaS#p#u#uaSa5a7a6b.a1.5a0a2.5a0a1aZb##W#va4#v.6.Xa4.I#A.RaAbCbDbEbvbFbwbwbF#a.CaPapapapaBbrbraB#5apaiayay#5#5ap#5apaiaiaBapaBaPai#5ai#5ay.B.B.B.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.A.i.Z.u.u.i.o.i.i.i.i.n.n.o.o.o.j.o.j.o.o.j.o.o.o.o.mac.B.Bai.B#q#paKaNaMaR#c.5bb.4aj.4bebfbebdajbeaj.F.F.Fajbd.Y.4bbbc.4bc.4.4.4ba#Vadad#u#uaS.Ga8a1a7aX#pa7aS#ua7aXaSa6a5a5b..5aZa2aY.5a0aeaY#vaf.6aV#y.6#A.8.RawbFbybvbGbFbgbvaO#e.CaiaiaBap#qap#q#q#q#qaPapaPaBaiaiaiaiaiay#5aiapapaiapaiapaiaiap.BahQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.e.u.u.u.u.u.u.u.o.o.o.o.o.o.o.o.o.m.j.j.x.j.o.j.m.x.paqayapap#5bHazaJaWaLaRan#Wadbb.Ybibd.4.4bd.4ajbiaIaj.Ybd.F.4biajbd.4ajbb#Vadadad#V#V#u#uaXa7#p#paXa8#uaS.G.Ga7a7a6a2a5a0aYa3a3aZa3aYaYa2a3#W.6a4#y.6aV.7.8#b#mbBbCbvbCbybDbFbt#Q.C.B.Bay#5apaiaB#q#q#q#qaBaB#qaiaBaP#qapaiaiaPaiaPapapapaiai#5ai#5.BQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.c.i.i.o.o.m.m.m.j.o.o.i.o.n.o.j.m.j.j.m.m.j.o.m.m.m.xah#5#5apapax#Tbzbvavbt#3#vaS#ubabbbi.Y.4.4a9.4.4ba.4ba.4bd.4.4.4aj.4bb#V#V#uadaSaXadaSaXa6a5a7aSa8a7a5a7aSa7a7a1a2b..5a2.5.5a0a0aeaZaZaYaY#v#v.6.X.X#x.9#.#C#GbybDbybGbAbFbybwaFbHayaiayayaB#qaBaP#q#qaB#qbraBaiapaiayapaiayapapaiaPaBapaPaiai.B#5aqQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.o.o.o.n.m.o.m.o.o.o.n.j.o.o.m.m.x.k.x.m.m.m.x.m.l.k.r.B.B#5apapbpbHbFaWawbo#l#yaXa8#u#Vbaba#Vbb.Y.4bdbdaj.4bbbbbbbbbc.4bb#uad#uaS#pa8aSaSa2aXa7a6a6a7aSa5a6a1.5a0a0aZa2a2a2a2aZaZaZa0.5a2aea3a3#v.Ha4#W.X.I.7.K#.anbEbvbwbFblaJbkaKaCbp#5ayaiayaP#qapaB#q.C#q.1brbraP#qbr#qapaiaPaiaPapaiapapapaiaiapaiaqQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.Z.o.o.i.i.i.o.o.o.x.o.j.m.m.m.x.m.m.x.m.m.m.m.k.k.x.lahayapapaiax#qaKaNaLaQ#j.8.5aSa8ba#V#V#Vbbad#Vbbbba9#V.4a9#Vbaa9a9bb#u#u#paS#p#paX.GaS#pa7a5a5a5.G.5.5a6a1a1.5.5a1a0.5a2.5a0a2aYaY#9b#afaf.6a4#v.6#y#A#x.K.MaTbgaWbgaJblbgbgbtawbpaq#5apapaBapapbr#q#q#q#qaPaBapaPaBaBaP#qaPaPapaPaiaiaiaiai#5ai#5.B.eQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.o.o.o.j.o.o.n.m.j.j.o.o.o.o.m.m.o.m.j.m.j.m.m.m.l.k.lah#5aiaPai#raBaNaKaAaL#m#.a0aX#pba#Vbbba.4.4.4bb.Y.4#Vbba9.4#Vadad#V#p#paSaXaSa8.Ga7a5aS.Ga5a6a7b.a2.5a2a0a0aZa0a0aZ.5a2aeb#aY#9aY#W#W#W#W.H#v#v.H.I.X.I#A#.#EbwbwaNaJaLaJbgaNavbIai#5aPapaBbr#q#qaBaB.C.C#q#q#q#qapaPaBaB#qbrbraBbraB#5aiaiay#5.B#5.AQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.m.j.j.j.m.o.o.o.j.x.m.m.m.x.j.m.x.l.m.k.j.m.j.m.k.x.lab#5#5apap#6aBbFbFaObu#P.WaeaS#pbababaad.4bbadbba9#u#uadaS#uadad#V#ua8#V#uaS#p#paS#paXb.a7aXb.a5a1.5a1a6.5a0a6aYa0aZaea3aea0aZaYa3.6af.HaV.H.X.6.X.6#A#x#A.8#DaJbgavaJavaQaRaKaCbq.B#5ap#5aPbrbrbraPaBaPaPbr#qaPaB#q.C#q#q#q.CaB#qbraP#qaiaiayayaiai.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.n.o.j.o.o.j.j.o.j.o.o.j.m.m.m.j.m.x.k.m.k.x.x.m.r.m.raqaiayaBaPbrapbkbDbtbwaA.NaYa5.G#uad#V#ua9ad.4#Vba#V#u#u#u#p#pa8a8a8#paSaXa7a7aSaXa7a5aSa5a7a7a1.5a6a5b.a2a0a2aYaeaZa2a3aeaYaYaYafb#a4#Waf.6a4.6.X.6#A#x.8.8#FaJboaJaNaEaJboaNaubqay#5apapaPaP#qaB#q#q#q#qbrbraP.CaB.C#q#qaPaBapaBbrapapai#5apaiai.B.lQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.o.j.o.o.o.j.m.j.o.o.j.j.o.o.j.j.m.x.k.m.k.k.k.k.x.l.pahaiai.CaB.CaBblbwbwbkaJaU#9a6aS#uad#u#u#Va8#u#p#ua8aX#pa7#pa8aS#p#p#u#p#paSaXa7#p.5a7a5a1a5a7b..5a1a0aeaYb#aYa3aea3a0aZ#W#Wa3#9a3#9#W#9#v.H.6.X.I.6.7#z#A#.#ebuaKaQboaOaMaMaJaAax.BaiaPap#qaBaPaB.Cbr#q.C#q.Cbr.1#q#6#qbraBaBaPaPaPaBapaBapayapapay.wQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.n.o.i.o.n.o.o.n.o.o.o.o.j.m.m.m.l.m.m.m.x.m.m.k.k.k.lahaiaPbraBbraPbzbkbubkaC#d#9a6a7aS#paX.G#u.4ad#uad#pa7#uaS.GaSad#p#pad#V#u.G#paXa7a7a1a5a5.Ga1.5.5a0a2a3#vaYa3aYaeaea0a0aea2a3#9#vafafaf#v#v.X.X#x.7#z#x.9#CagbDbzbuaNaKaNaMaLaubmay#5apaPaBaPaBaBbr.CaB#qaB.C#q.C.C#q.C.C.C#q#qaBaBaBaPaBaPapapaiayabQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.r.m.o.m.m.o.o.j.o.o.o.o.o.o.o.o.o.j.j.m.x.k.k.l.l.r.qahapayaiaiapai#jbFbobBaM#Xa4b.a0a5aXa5#paSa8#p#uad#paSaS.Ga7aXa5a1a7b.a5a7.5b.a5a2a5a0.Gb.b..5a2a0a2.5a2.5.5a0a3a3aYaYb#a3aYa3#v.X#va4.H.6#W.XaV.I#A#w#A.8#.#DblblaMaNbwbgaNbwavbxaiapbraBaB#qaP#q#q.C#q#q#q#q.C.C.C.C.C.C.C#q.C#6#q#qaPaPaiapayapai#5QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.m.j.o.o.o.j.o.o.o.o.o.n.o.o.j.j.m.x.m.m.m.m.x.x.k.l.lahaiai#qapap#q#gbGbAblaN#H#xa0a7aXa6aSaX#pada8#p#u#u#paS.GaS#pa7aSaSa6a5a5a1.Ga5a5a5a6a0a1a1a2a3.5b##Wb#b#aYafaea3b#a3aYafaY#vaY#Waf#9af#vaV.X.X#x.6#w#A.K#.agbubFaKaJaWblaKaRaA#s#5aiapapbr.C#6.C.C.1.C#6#6.C.C#6.C#q#q.C#q#q#q.CaB.CbraBaPapaB#qaBaiQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.l.x.j.j.o.o.m.o.m.m.n.o.o.j.m.m.m.x.m.m.k.m.m.m.k.r.raqaiayapaiaibHaVbybEbwaN#3#xaea2a2a6a5a7a7a7a5a7a7a7a7aS#pa5a8aXb.a5a5b.a1a0a2a2a6.5a0.5a1.5a0.5aYa6a6a0.5a0aYaeaeaYaYb#aYa3#vaf.Xa4#y.H.H#v#y.6#x#z.6.9.9#C#fbzaNboblaJboaOaOaA.4aBaiaBaPaPaP#q.Cbr#q.C.C#q#q#q#q#q#6#q#q#q#q.CaBbr#q.CaBaPaBapaBaBapQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.l.j.m.m.m.o.m.m.i.o.j.j.o.x.m.m.m.l.k.m.m.m.x.m.l.l.rah#5aiaBaBaP#ra3bEbzblaK#j#wa0.5.5aSa6a7a6aSa5a5a7a5a1a6a7#pa7a7a6a6a1a1a2b.a2a1.5aZaY.5.5a0.5a1aZa0.5a0a2a0aYaYa3aeaYa0b#a3#W#W#9af.X.6.XaV.6#y#x#x#A.9.J.K#DbwbwaNaJbtaRaOasboa9apapaBaBbr#q.Cbr.C#q.C.CaB.C#qaBaPbr.C.C#q.C#6#qaP.C#q#qaP#qaPaiaP#5QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.m.j.m.m.x.m.m.o.o.o.m.n.m.j.l.j.m.m.m.x.m.k.m.l.r.l.rab.B#5aiai#5bpb.bBbvbwbu#L#xa0b.a7aXa7aS#uadaXaSa7a5.Ga6a7aXaSa7aSa1.5a6a2a0.5.5b.a0a2.5aea2a5a1a2aZ#Wa3#9aY#9a3a3b#b#aYa3a3afa3#v#v#v#v.X.6.X#xaV#y#y.7#A.RanbzbDaJbtaNbDboboaMa5.CaiaPaBaPaB.C#q.CaPaB.C#q.C#q.C#q.1.Cbr.C#q#q#q#q.C#q#q#qbr#q#qaPaiQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.l.k.m.x.o.j.j.j.j.o.o.o.o.o.m.j.x.x.k.l.k.l.x.x.k.k.kabay.Bapaiaybpbebgbobobtal.9#vaYa0a5a7a7aSaS.G.Ga1a7a2#paSa7a6a5a7a5a7a0a5a6a5a5.5.5a6.5a2.5ae.5aea2aYaYaY#Wa3aYa3#Wb#a3#Wafaf.6.X.X#w#y.6#x#w.7#y#x.8#x.9.T#JbkblboblbwaRaMblaR#y#SapaiaBapaBaB#qaB.C.1.C.C.C.C.C#S#6#q#6#6#6.Cbr#qaB.CapaPaBaBaPaB#q.ZQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.x.j.m.o.m.j.m.k.m.j.j.m.x.m.k.m.x.k.x.k.m.m.m.p.x.k.labaiayapai#5bq#sbEbgaKaKaw.Qb#aea0a6.Ga6aSaSa7a1a5a2b.a7.5a1a7b.aXa6a5.5.5a2a1a2a1.5a1.5a0aYaYaZaY#9a3aZb#aY#v#vaZ#WaY#vafaf.H#v#W.H#v.H.H.6#w.7.7#x.9#..K.L#kbvbuaWbobtaKaNaQaRak#rapaPaBapaB#q#6.C#6.C#6.C.C#6.1.C.C.C.CaB#q#q.C.C.C.C.C#qapaBapaBai.xQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.k.m.j.m.m.j.x.m.j.o.j.o.x.m.k.x.m.r.l.q.x.l.l.p.m.x.paaaPayaiapaibq.DblboauaWal.M.Hb#aY.5a1.5a1a1a2a1a5b.a6a7a6a6a6a5a7.5a2a1a0a0aea6a2a0aZa0a0a0aYaZaZ#Waea3af#v#Wafafaf#Wa3.Xaf.6.H.H.H.6a4af.X#w#x#y.8#z.R#..S#nbkbgbuaKaNaRaNaRbo#4bpapaPaP#qaB.CaB.Cbr#q#6.C#S.C#q#6aB.1#6#S.2bsaS#.#Y#n#X.CapaBapbrap.rQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.m.o.o.m.x.m.x.m.j.k.m.m.m.m.k.k.l.k.m.x.k.x.k.l.k.p.labaiaiapaPapbpbpbzbyaCaOao.M#vaYaYa0.5a2a2a2a2aYa0b.a2a2aZa0.5.5a0b..5a6.5.5ae.5.5aZa2.5.5a0a0a0aZa3aY#W#W#W#9#va4aYaYafaY.HaV#v.6.H#w#w#y.7.6.7#y#C#A.K##.M#nbEblbubtblaJblaWaJ#Mbqai#q.C#q.Cbr#q#q.C#q#qbr.C.C.1#Sbm.Ea5#.#Z#G#g#F#F#f.P#SaiapaibraPahQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.x.x.o.m.o.m.m.j.j.j.k.m.x.m.k.k.l.r.p.l.l.x.k.l.x.m.laaaiayaiapaPax#SblboaCbvaKbJa4#9aZa2.5a2b.b.a0.5a1a2a2a0a2a2aZa0aYa2a1.5a2a1a0aZaYa3ae.5aZa2aeaYa0aZa3b#afaeb#aV.X#9#Waf#v#v.Xa4.XaV.6#y.I.6#x.7#A#C#..L#a#d#NbFaJboboboaNbgaLblaD.DapapaP#q#q.C#q.C.1bK#S#S.Dbna7#A#K#i#2#d#faU#d#d#D.Oag.DaiaPaPaPap#5QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.m.k.k.j.j.m.l.m.k.k.m.k.m.x.r.l.p.l.l.l.l.x.k.k.r.m.labaiaPapaiaB#S#qbkaWaFaLaAa..XaYaeaYaeaY.5.5a2.5a6.5aeaZb..5.5a2a2b.a2a0.5.5a0a0a3a3aeaYaea3aYa3a0a3aYb##Waf#v.Ha4#v#W#v#v#w.X#va4#y#Waf.6aV#xaVaV#B#.#.#B#basbwbyblblaNaOaNaQaQaRa#aB#qaB#q.C.1.C#q#LauaEakb#a5be.B#5.2#sam#FbJ.S#D#dagakbnaiaPapaP#qaPQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.m.o.m.o.m.x.m.m.k.x.l.j.m.m.x.m.m.m.k.x.x.j.x.k.k.l.labaiaiapapaP#qapaWaWaObuaA#daV#va3a3#WaYaeaf#9aYaYaY#9a3a0a2aZa0.5.5.5a1a1a1a2a0a2aYa2a0a3a0aea0a3aeb#b##9#9afaf.H#Wafaf.H.6aV.6.H#ya4.XaV#w#x#x.K#B#B.P.TaUaKbobvaJbwblblaLaWaQaObLaPaBaPaB#q.C.C.1aLaE#nbIbmbsbe#8bsbja5#Uan.Ua.#c#d#D#daXaiapaPaPapaiQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.m.x.m.m.x.o.k.x.m.m.j.j.o.m.m.k.r.k.k.m.x.j.o.x.k.k.r.wapaiapapaiaBaPbubuaMaQau#F#y#W#W#W#9#9a3aY#Wa3a0aea3a0a2a0a2a3a0aYa2aeaeaf#9aY#9#vafaYa3#9aea0a3a3aYa3aZ#W#9a4#vaf#Waf.6.X#y.6a4.6.X.IaVaV.I.I#A#x.9#A#B.TbwbGbzbtbwbobubzaNbgbobLaB#q.C.C#6.1#6.CaNal#jbd#SaH.G.CbM.Gad#x#G#F#1#H#a#Waj.DaB#q.C#q.CaBQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.x.m.x.x.m.o.j.j.m.o.j.o.x.x.j.m.x.k.m.m.x.j.m.m.m.x.m.y#5aiapayaiaPapaNbtaWbgaW#i.9.6.X#W#W#Wa3a3a3#9b##9#Wa3b#a3#9aYaYaZa0a2a0a0.5a0a2a0aeaYa0aYa0a3b##WaY#W#9af#W#x.XaVa4af.X#v.X.H.X.6#x#z.7#z#..R#..W.ObJ.M.ObzaAblaWaJaNaKbwboboaM.DaB.C.C#q#S#6bH#SaOaMawb##H#i#2#3#X.Xbb.3bpaxbMbMbHbH#S.1#q.C#q#q#qaPQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.k.x.x.m.m.j.k.m.o.j.m.j.j.o.x.o.m.m.j.o.x.m.m.m.l.m.l.w.B.Baiaiaiai#qaMbtbtbwaQ#K#.#w#y.X#v#vaf#vafb#b#a3.H#va3a3a3aYa3a0afaYa3aZaeaY#9a3a3a3a0#9aZa2a3aZaY#W#Waf#Wa3#W.H#9.H.H#v.X.IaV.7#A#A#..K.R.L.Sagag#c#e#obl#N#P#mboaJbkaNbvaKaN#rap#q#q#q#6.1.C#q.7#B.5azbIax#rbKbH#SbKbM#SbK.1#S#S#S.C.1#q#qbr#q#q#q.AQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.j.l.m.k.k.m.m.j.m.m.m.j.j.o.j.m.m.j.m.m.o.m.x.j.k.m.x.yai#5#5aiaPapbMaEbububvbt#4###A.6aVa4#vaf#v#Wb#aYa3#W#9aYb##W#9b#a0b#aZa3a2aYa2a2a0a0a3a3#9aeaYa3#9aYaf#Wafaf#v#W.6#v#W.6.6aV#x.8#C.K.L.L#a#b#D#E#D#X#1albtblauaLaM#OawaAaKaKaLaK.2ap#q#q.C#6#6.1.CbHbH#r#SbH#S#SbK#S#S#S.1#6#S.1#r.1bK#S.1#6br#q#q#qaB.oQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtab.x.j.m.m.m.l.m.m.o.o.o.i.o.o.o.o.o.j.j.k.m.m.k.l.m.k.waiap#5ayapaPbN#3bybGbDbuao#D.J#w.6.6.6.H.X.H.X#9af#vb##W#9aYa3#W#W#v#vaV#Waf#9aYaYaZaea3a3aea3aYa3aY#9ae#WaY.H.X.X#x#w.I#x#A#B.L.O.N#daU#n#laDaMaLboavbtbtbkbEbuaWbuboaR#KaKbgaNbp#q.C.C.C.1#6.1#6#q#S#S#S.1.C#S#6#S#S#6#6.1.1.1#q#q.C#q#6.C#q.C#q.C#q.yQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtah.r.m.m.j.j.x.j.o.m.x.o.m.m.o.j.k.k.x.k.l.l.m.x.m.m.l.r#5aiaiaBaBaB.2#dbCbgbzbgaWaU.K#ya4.6.X.X#v#W#9#W#W#v.Xaf#9#9b#afafa3#9afae#9b#ae#Wafb#a3#WaZ#W#vaea3#vaf#vafa4.XaV#y#A.7.J.K.W.O#d#f#n#OboaKaJaKblbububwbgbwbvbzbzaWaKaQ#maMblaO#r#q#q#q.C.1#S#S#6#S.CbMbHbH#S#S.1.C.C.1#S#S#S#q.1bK#S.1.1#q#6#q#q.Cap.wQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtabab.o.o.o.o.o.m.o.j.m.m.m.o.m.m.m.m.j.m.x.m.x.k.l.l.r.yapaiaPap.CaB#7.KbAbgbvbgar#c.K.I#y.Xa4#v.H#vaf#vafb##W#Wb#a3#9#W#va3af#9a3a3a0b##WaYb##Wa3aYaf.X.X#v.6.X.X.6#y#x#A#C#C#B.M.TbJ#GaFbwaOaKbgaMaRaMauaJaWaWaJbtbubkbvblbvbkaQbkaW#4#r#q.CbH.1#S#S#S#6#S#S#S.1bKbKbH.1#S#S.1.C#6#6.C#6.1.C#6.1#6.C.1#6.C.C.BQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.B.w.q.o.o.o.j.j.x.o.k.j.o.j.j.o.m.o.o.o.k.k.l.x.k.j.x.yapaPbrbr#q#q#T#9bCbGbubgaJ#h#B#A.7aV.I.Ha4.6.H#v#v#Wa4#vaf#W#Wa4af#va3a3a3b#af.Ha4.H#vaf#W#v.X.6#v#vaVaVaV#x.J#BaU#KauaJaKboblblaWaNaWaMbwboaMaLaKaWaNaLaJaNbtbzbDbtaWaNbtblaKbNaB.C#q.C#6.1#6.C.C.C.C#S#SbK#6#6#S.1#6#6#S#q.C#q.C.C#qaP.C#q#q#q.C#6#qapQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtabab.w.r.n.o.o.j.o.m.x.j.m.o.o.o.k.m.k.l.l.x.x.m.m.x.r.wapapaBaBbr#qam#pbBbBbFbtaQ#0#.#x.X.X#W#v#9.Ha4af.H#v.6.H#vaVa4.H#Waf.6.XaV#y#y.H.X#w#y.6.X.6#A#..M#X#NaFaOaMavasblaQaLavaJaNbtbgblblaQaWaWaLbgbvbwbgbvbuaNaWbEbobgbFbEblaWaL.3.C.C.1#S.1bK#6#6.1#6#S#SbK#S#r#rbM#SbH#S#q.C.C#6#S.1#S#S#6.1.C.C.C.1.1.1#qQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtac.v.w.r.r.k.m.o.o.j.o.o.o.o.m.j.x.o.x.l.k.x.m.x.l.l.p.vapaBapaBaPaBbL#UbubAbgbybk#F.8.9#A#AaV#y.6.X#x#y#w.6.H.6.X.6#w#y#y.7aV.I#x.X#x#C#a#F#NaraEaCavaCauasaEaQarauavaDaKaNauavblaQbwbzbDbwbDblbtaNbtboaWaLbwaJbubtbtbkaQaMaJaO#3bM#S.1#q#S#S#S#6.C.C.1#S#SbKbK#S.CbKbM.1#SbK.C#S.C.C#q.CaB.C.C#6#6.C#6.C#qaBaPQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtac.v.y.q.p.r.m.j.m.j.m.m.m.j.j.m.m.o.m.m.j.x.j.x.m.l.r.vapaBaBaB#qaB.2bnbBbBbkbwaJ#g#..J.9#x#y#y#x#w#A#x#A.J#.#w#A.7#z#y.7.8.L#c#h#kaAasaLaJaRavaMavaMaMaAaOaCasaKaFaObtaOaNbtbtbDbzbobDbCbEbvaOaNbgbvaWblaOaNaQaObgbvaKaJaRaD.J.D#r.C#q#S#S#S#S#S#S#SbHbMbKbMbM.1#S#6bK#S#S.C.C.1br.C.1#S#S.1.C.C.C.C#q#qaB#qaPQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.qabab.w.q.r.o.o.o.o.m.m.m.o.j.o.x.m.k.x.l.k.k.l.r.l.r.yaiaiaBaBaPaBbpbObBbEbubAaW#J#a#B.8#x#A#z.I#w#x#A#x#z.J#z#..LaT#iaoaOaOaOauarauaEaA#NalawaOaFaOaMblaWaLaKaLaLaWaObtbgaNaNbtbwaQbDbwbgaWaQbtaWauaLaQaFaWbobzbtaOana3a9aGaxbp.1bK.C.1#6#S#S.1.1.CbM#SbHbm#SbHbMbKbKbK#6#S.C.C#q.C.C.C#6#S#SbK#6#6.C#q.C.CaBQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.kab.v.w.w.q.q.x.o.o.o.o.o.o.o.o.o.m.j.k.l.m.x.r.p.r.p.qai#qbr#q.C.C#S.2bBbBbgbAbFaR#GaU#f#i#LaraRaWaKaOavaQblbgaQaOaMaMaEaMavaLaJavaEaAav#P#NaFaWaKaNaKaQbgbuaWblaMaQaQaNbubvbEaKbvbkbgbDbuaKaLaJaD#Q#bafbi#s#TbLbqbpbmbMaxaxbM#rbK#rbMbHbMbHbK#S.1#6#6#SbKbKbM.1#S#r#r.1bK#S.1.C.1#6.C.1.1.1.C#S#S#S.1.C.C.C#qQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.oab.r.q.r.q.y.q.x.o.o.o.j.m.j.m.o.m.k.k.l.l.l.l.p.r.r.yaiapapaB.C#q.1#rbCbCbFbCbwbzaWaWaOaMaOaLaOaQaOaMaMaQaWaMaKbobobuaQasasaLaMaOaKaQaLaLbtbuaWbgaWbtaWboaWaFaRaKavasaFaMaMbubkbkaR#G.I.4.Ea##T.2bqbm#r#r#rbM#r#rbH#rbM#rbHbK#rbMbKbK#S.1bKbH#S#S.1.C#6.1#SbHbH#S.1#S#S.CbK#q#q.1#S.C.1#6#S#S#S.1#6#q.C.C#qbmQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.Aaa.q.q.y.y.q.v.p.k.o.o.o.j.o.m.k.k.l.k.x.k.k.k.l.k.r.vapbr#qaB.C#q.C#rbBbBbDbvbwaWboaNaNbuavaNaJaOaQauaAaWaJbFbybFbvbkbgbAaObvbkblboaQaNaWaKaQaRaKblaNaubgaWaMaLaLaE#X.XadbnbPbIbL.Dbpbmbmbmbpbm#rbMbMbHbM#SbH#SbK#SbH.1#S#S#SbM#SbMbM#r#rbH#S#S.1.1#S.C#S#rbKbK#6#SbH#S.C.1.CbHbHbHbK#S#SbKbqbO.E#8bO.2bL.2axQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.hac.w.q.q.y.y.q.r.l.o.n.o.o.o.j.x.m.m.m.k.k.x.p.l.r.r.waP#q#q#q.C#q#q#SbBbBbBbBbyboaNblaQblboaMaWaWbubzbFbGbybubCbFbkbgbuaJaLaWbwaLboaKboblaFaEauaFaOaLaRaMat#o#wadaH#s#T.2bpaxbpbmbmaxbm#rbpax#r#rbp#rbpbMax#rbM#rbHbMbM#SbH#S#SbMbHbK#6#S#SbK#SbH.1#SbK.C#S.C.1#6#6.C.C#S#6bK.1#r#rbL#saG.E#sam#7bL.2bpbN.2bNQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtab.y.q.q.q.q.q.l.q.l.l.n.n.j.m.x.m.x.x.l.p.k.l.r.r.q.q#5aP#qbr#q#q#q#rbybBbzbvbBbzaJboblbwblaObtbgbDbtbzbCbybybybDbwbgbkbgaNboaWaWaQaKaJaOaLaQaMaCat#e.H#V#UbPa#bLbL.2#rax#rbpbmax#rbm#r#r#rbMax#r#rbmbmax#r#raxbm#raxbmbMbMbM#r#rbK#SbM#6bH#S#SbH#S#S.C#6#SbKbM.1#6#6.C#S#S.D#T#s#R#s#T#T#T.2.2ambIam.2bI#T.2QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQt.B.v.q.v.v.v.q.r.r.q.l.o.o.m.m.x.x.l.x.l.p.l.r.r.r.p.qaibr#q.C#6#q.Cax.4bBbybCbtbybGbDbybEbybCbFbybzbGbDaNbtblbubvbkaOaOaJaJaRaQaQ#4.Na2.4#Ra#.2.2bpbM#S#rbHbMax#r#r#r#rbm#r#rbpbmbM#rbmaxaxbM#r#r#r#r#r#SbH#rbMbHbHbK#r#rbmbK#r#rbpbmbp#rbKbH#S#SbK.1#S#rax.2#sbO.EbP#TamambIbL#T#TbP#Ta#bP#sbObQbnaHazaj.4.4QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtai.w.r.q.q.r.q.q.r.q.q.k.o.n.j.x.m.k.k.l.r.q.l.r.r.q.vaiaPaiaB.C#q.C.CbMagbBbBbCbGbCbvbybFbzbwblbzbububtbgbkaNblaO#Q#Ca1#U#s#T.2bN#r#SbH#S.1#S#S#6.C#SbHbKbK#r#rbMbM#r#r#raxaxbpbpaxaxax#rax#r#r#rbH#r#rbK#SbMbK#raxax#r#rbHbMbK#SbKbH#S#SbH.2a##R#8bQa#bPbP#Tam.2#7am#Tama##7#s#Rbs#UaIbcba#pa2a3af#A.S#E#VQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQt#qah.q.q.w.q.q.y.q.y.q.l.r.o.o.k.k.k.x.p.r.k.l.r.q.r.qay#q.CaP#q#q.C#qbr#S#vbEbBbGbFbvbGbAbtaWblaDaTa3.4bQ#7.2.D#r#rbK.C.C#q.C#6#6#SbH#SbK#S#6bKbH#rbMbHbMbM#rax#r#r#r#rbMbH#rbMbM#rbM#r#r#rbmaxbMbK.1bH#S#S#r#6#SbMbKbMbM#rbL#s#8bj.EaGbxbP#Tbx#7#T#s#s#s#s#saG.Ebn#U#tbdbaaSa2b##v.8.Oak#F#M#QQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQt.Baa.w.q.r.l.q.y.w.v.q.r.r.q.k.p.l.l.m.l.p.l.r.q.l.r.vapaB#q#q#q#q#q.C#6#6#S.Da5a.#aaYbe#sbI.DbpaxbM#S.1.C.1bK.1#S#6.1.1.C#q#6#S#S#S#6.1.1#6.1#SbK#rbMbm#rbpaxbm#r#r#rbpaxbpax#r#raxbpaxaxax#r#r#rbMbM#S#SbHbIaG.E#RaG#s#saGa#bx#Tam#TbP#T#s#RaG.3#8#tbebb#ub.a0b##y#A.T#f#X#F#2atavaMaAaraRaO#mbpQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtayaqaa.v.v.y.v.yab.w.y.v.r.v.r.r.k.x.l.l.k.l.p.r.q.q.qap#q#6brbraP#q.C.C.C#q.C#rbp#r#S#SbK#rbMbKbK.C.1bK#SbK#S#S.1#6#S#S#S#S#6#S.1bKbKbH#S.1#S#SbK#r#raxaxaxbmaxaxbMbH#rbM#rbH#S#rbHaxbm#rbN#TbO#s#samam#T#TbxbPa##T#TbObO.E.Ebsbnbjajbdadada6a2#9aV#A.Ka.#h#n#maraFbwbgaWboavas#O#k#h.T.RaV#9a5blbgaC.7QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQt.yac.w.q.r.q.q.q.y.v.v.v.q.vab.w.w.w.l.p.r.l.q.v.r.v.vai#q.Cbr#qaBbr#q.C.C#6.1bHbMbHbHbKbM#S#S#S#S#S#S#S#q#6#S#6#6#SbK#6bK#6#S#S#6#S#S#S#S#6#S#rbMbMbHbpbmbmbqbmbm#rbMaxbm#r#TbOaGbOam#T#7bxam#TbLbI#TbPbP#sbObQbQ#Ubjbebb#u.Ga2a2a4#A.V#D#Han#i#maFbkbzauaMaQaKauaF#k#Z#d#..6b#b.aSa9.4ajajaIaIbvbwbzaWaQaC#LQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQt.oac.w.q.v.v.r.r.qab.w.w.y.w.q.waa.v.q.l.l.x.p.r.r.q.qap#q#qaBaBaB#qaybr.C.1#6.1#6#S#S.1bKbH#SbM#r#SbK#SbKbHbK.1.1bK.1.1bKbMbK#S.1bK#6.1#S#6#SbK#Sax#raxbpbm#7bOaGbPbI.2bIbIa#am#Tam#T#s.E.E#Rbn#U#UaIajbb#p.Ga2a3#v#z.Ran#X#o#2#jaQbobwbkaNbFbtaraFat#lak.P#xafaZ.5a8#u.4.4.Ybibe#t#U#UbnbnbsbfbFbkbwblavaWbkaNaKa1QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQt.Aab.q.q.q.y.y.q.qaa.v.q.v.qaaaa.w.y.r.r.l.l.r.p.q.r.rayaB#q#qaPaBap#q#q#6.1#q.1.1#6#6.1.C.C.1#S.1.1bK#rbKbHbK#S#6#6#6#S#S#S#rbK#S#SbM#SbM#SbHbKbMbpambObQaGbPbIbIbxbP#T#T#Ta##TambP.E#8#8bnaI.4.4#uaSa6a3#v.J.W#E#n#i#NaCblbobobubobtaWasaKaE#Q#g#f#.aVa4b.#p#Vba.4ajbi#taIbjbj#t#U#UazbsbnbhbcbkbkaOaLaWbzaRbzbvaOaR.DQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQt.c.w.y.r.q.q.l.q.q.q.q.y.w.w.y.wabaa.w.q.l.r.q.q.r.y.vapaB#qaB#qaBbr#q#q.C.1.C.C#SbH.1bMbK#SbK#S#S#S.1#6.C.1#6#6bK#S#S.1#r#r#S#6bKbKbHbKbMbK.DbO#R.E#TbI#Ta#bx#Tbx#TbP#sbObhaG.E#RbnbjaI.4#u#ua5a3.H#x#.aU#J#Z#QasaFbvbDbkboaKaWaFauaC#i#n#d.W#A#vaZa7a5#pbbbbbibf#t#taIbj#t#U#U#U#UbnbnbQ#8bh#ublblaQaNbzbzbgau#laLaC#m#8QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQt.hac.w.q.y.q.q.r.q.y.v.w.y.q.w.q.w.w.w.w.q.l.l.q.v.y.vap.Cap.1#q#q#6#6.C.1.C.C.C#S#SbHbH#SbK#rbK#S#S#S#SbHbHbHbKbKbKbH#SbM#rbqbxbP#sa#.2.2ambIamama#ambx#s.EbQbh#Rbn#UbfajbbadaSa2aY.X#z.N#E#n#kawaFbtbzbgbzbuboboaJas#P#H#D.N.9afa3a5.5ad#ua9.4aj#t#t#U.Fbebjbjbnbnbsbh#R#8bn#8bn#8#8#8bQbhbPQtQtQtbcbybybAblaMaQavaQaLasaFaoQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQt.0ap.w.v.q.v.r.r.p.y.y.v.qababab.w.waaabab.v.q.q.q.q.vap#q.C.C.CaB#q.C.C.C.C#S#6#S#S#S.C.1#6#6.1.C#S#S#q#S#SbHbI#8#8.EbPa##T#TbI.2amam#T#TbP#s#s.E#8#Ubjbe.4#ua5a2b##y.7.QaU#1#1#latalaJbzbFaNbFaJboaQaC#M#1#d##.I#Wae.5a5#ubb.4bdaj.F#t#U#U#UbnbnaHbjaHbn#UbnbnbnazbsbQ.EbQaG#8bh.Ebh#sbQbh#sQtQtQtQtQtQtQtavaJaKaNaRaOaL#JaraOawa9QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQt.zbIaaab.v.w.q.r.l.v.y.w.y.y.vab.w.w.w.y.w.w.qab.p.q.rai.C#6.C.1#6.C.CaB.C.C.C.C#6#6.C#6.C#S#S.2bObQbh.EbxbxbP#T#7.2ambIa##T#T#TbxbO#R#8#UbfbibbaSa2a3.6#.aT#J#3#jaDaAavaKaNbuaNaKaKaMaFao#Z#a#b#B#x#vaYa1a7a8a8ba.4.FajaI#t.FbjbnbsbsaHbn#8bn#R#R#8bn#8bQ#8.3#R#R.E#saGbhbhbQ.Ebh#8.3bObObxbOQtQtQtQtQtQtQtQtQtQta0aJboaWaQaQaraO#G#4.WQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQt.z#Sab.v.q.r.v.w.q.w.q.y.waaacabababaaaaaaabab.w.r.r.qaiaB#q#6.C.C.C.Cbr.C#q#q#6.C#6.1axa#bQ.3aGbPbxbPa#bI.2ambIam#Ta#bPaGbQ.Ebnaz#UbiadaXa1a3a4#A#b#f#H#i#JaDaRbtbzaNbubDaWbtaCar#IaU.N#.#x.Xa3a2a1aSaXadba#Vba.Ya9bc#tbebe#t#Ubsbnbn#8bn.3#8.3bs#8bh.EbQ#8#8.E#8.EaGbObPbx#sbO.Ebs#R.3.E#R.EQtQtQtQt.D#TbLbqQtQtQt#faWaMaMaRaE#PbJaw#4#.QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQt.macab.w.r.v.v.v.q.q.q.q.waaaaab.w.wah.waaaq.Bab.r.qapaP#6#6.C.C#q#qaB#q.C#6bM#TbQ#R.E#TbIa#bLbN.D.2bL#Ta#bxbx#s#sbhbs#Ubeajbb#ua1a0#v#x#B.N#c#f#Z#MasbvasbgbkbobgaNaK#P#M#h#c#BaVafa2a0a5a5#pada9a9#u.4.Fbdbibibfbebebj#taI#tazbn#8#8bsbs#R#8#8bQ#8.E.E#R#8#8bQaGbhbObhbQ.E.E#Rbn#Rbsbnbs#Rax.2.2bpbpbpbmaxaxQtQtQt#gavavaFaDaAaD#L#Z#LQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQt.g.iaqab.v.q.v.v.r.q.q.r.y.y.wacabahababaaacacabaa.vap.C.C#q#SbLaG#8bnbOa#.Dbqbpbpbp.D.2.2bIama##sbQ.Ebs#Ubn.4baada6ae.X.9#D#c#F#J#LaraRaKboaNbobuaQaQaE#j#nan.V.7#yb#b.a6.G#ubb#V.4bc.4bibd.4.4bibcbdaj.FaI#tbn#UbnbnaHbnbnazbQ.E#R.E.E#s.E#8bsbnbQbhaG.EbhbQaGbh.E.3#8bQbO#s#7.2bpbM#r#rbHbM#r#TaIaY#c#Jaf.D#rQtQtQtQtQtavaQasaCaCaD#Nar#nQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQt.z.uaqab.p.v.v.q.v.q.q.q.y.w.w.y.waaabab.wacahaa.q.2a#bLbqbpaxbH#r#rbp.2bpbLbIa##Ta#bh.3bs#tbf#V.Gae#v#x.Q#d#Y#o#KaFaNaWbgbtaNaLaEasat#k#n#f.P#A#x#Wa0a6.G#uadbbbcbibcaj.F.FajajaI#U#Ubjbj#Ubnbnbjbj#tbn#UbnaH#Ubn.3#U.3#8#8#RbO.Ebhbh#sbQbQbQbh.E.E.EbO#T.2bN#rbmbM#r#r#r#r.2bh.4.X#e#NaCawarar#mataCaD#Oarbn.CQtQtQtQtQtQt#kaKavaFavauas#PQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQt.0.m.B.w.y.v.v.w.l.q.q.v.w.w.y.v.waaaa.wabababab#rbMbKbMbHbm.DbLa##sbQbQbnbs#t.YaXaea4.J##bJan#1aDaMbgbtbubtaNaRalaw#2#3#d.L#Ca4a3b.a7a1a7adad#Vbabibdajbibi#tbfbj#t#UaIaI#Ubj#Ubnbn#Uazbsbsazazbnbs.3bnbs#R#RbQ.E.E.EbsaGaGbsbsbs#RbxambNbpbM#rbH.1bKbmbpbh.Yaf#E#l#OaDasaRaEauav#M#M#i#Oaw#maA#m#Oawaraw#QbqbrQtQtQtQtQtQtQtaFaraMavavala.QtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQt.0ah.y.q.r.w.v.q.q.v.yaa.v.yaa.w.y.v.w.waaaaab#rbmax#rbN.2ambxaGbsbnbea9a6a0.H.8.V.U#F#j#4aLaMblaWbFaOaQar#m#nakag#.#wa3a2a7#p#u.4.4.4bcbdaIajbdbfbi#taIbf#tbnbnaH#tbj#taH.3bnbnbnbn.3bsbnbn#Uazbs#R#R#R#8bs#R.3#UbnaH#RbObI.2bmbpaxbK#SbMbHax.D#Ua5.J#n#Pawaoasasat#O#OalaDaEaD#Q#Q#Qaw#m#jalaDalaDaw#N#4.RaBQtQtQtQtQtQtQtbsaEaFaKaMau#1QtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQt.naqab.v.y.q.p.r.q.v.w.y.w.waa.waaaaabab.wab.1bMbmbpam#TbP.E#Ubd#u.5.H#A.T#d#oataAaKaubuaOaOasalaw#2#g.U.L#z.HaY.5aSadbabb.4bd.FaIbiaI#taHaI.FaI#UaI#UaIaH#U#U#Ubj#Ubj#Ubnbn#8bsbn.3#8#8#R.3bnaH.3.3aH#UaIbjbn#R#sambIbpbqaxbMbm#rbNbO.4afag#l#Par#NaraD#NaEalawarao#NawaAaCaoatatao#Q#O#Q#4atawaw#K#i#n#j#qaPQtQtQtQtQtQtQt#FaMaMauaR#j#tQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQt.x.B.w.w.k.q.v.y.q.y.w.w.wabab.waaa#bQ.wahbq#sbnaIada5aYaV.8#F#H#jaw#Masat#L#I#2#Fag.M#B.X.Haeb..Gba.Yaj.F.Fbj#UbnazaHaHbn#UbjaHbjaH#U#UbjaI#tbjaIbj.3bsbs.3#8bnbs#Rbsbs#R.E#8bn#Rbs#Ubnbn.Ea#ambLbpbqbp#r#r#rbp#sbcaeagataDaDaEaF#QauaAat#OatasalaDataE#OalasaCaAaual#Oataw#Nao#k#K#N#2#d.6a4#m#G.8.P#J#n.CaBQtQtQtQtQtQtQt#favaLaFas#IQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQt.kaa.y.q.p.r.r.r.y.w.yab.w.waaabbx.4a3.4a1#x#b#f#J#g#1#J#o#Y#ha.#D.Q#z.X.5.5.G.4.Ybiajbi#t#U#Ubs#Ubnazbn#tazbs#U#UaHbnbsbnbs#8#8#8#R#8#8#8bs#8#8#R#R#RbQ#8#R#UaIaIbj.3bQa##7.2bqbNbqbqbNbNbLbQbcafanavbuaWaJaFboaEasaOaAaAaAasaCawavaoaCauas#Nataoataw#4aoaAat#N#j#H#.#Las#3.X#y#Aatal#n#I#kaD#m.6#Q#M#m#G#qapQtQtQtQtQtQtQtavaJasao#4QtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.oabaa.w.q.q.vacab.wab.w.waaaabp#sbha9.9#DbJ.O.O.7a4#vb.ad#Vbi#tbnbs.3.3#8bQ#8.3bs.3#8bn#8#U.3#Rbs#8#R#R.3#R.3aHaHbs.3#RbQ#8#R#8.3#8bs#Ubj#t#tbn.EaGbx#TbqbpbmbM#r#rbp.Dbhbc#9#davbublbtaJboaKbgaRbkaWbtaLaLaRauaRaAaEalaAavasat#N#K#javasaCar#PawalaFaEaD#Pal#2#2#I#QaR#O.H#K#kawar#v#kat#naD.T#o#k#h#X.O.CbrQtQtQtQtQtQtavaMaEaR#MQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.r.w.w.r.r.v.w.w.wabac.wacabbHbpbq#TbsbibeaIbjaHbj#tbnbnbnbQbObQbQ#RaG.Ebh#R#R#8#8bhbhbQ#8#R#R#8#RbQbhbO.EbhbQ.E#RbQ#8aHaH#UbQbPbL.2.2.DbpaxbpbpbpbLbPaIa7#.#QaKaJaWbubzbkaJaJaKaJbtbkbubzbvblbtbyboblaLal#LataC#m#Gbc.Jatas#N.Naf#naOaDaRaraE#4awaAaravaKaR#Nag#N#Pawar.L#Han#W#i#H#h#ibb#k#O#4#f#i#o#kae.C#qQtQtQtQtasaFaMaL#3#MQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.qaa.v.w.r.wabaaabaaababab.CbH#rbp.2bPbPbObPaGaGbhbO#sbPa##s#sbObO#s#s#s#s#sbO#sbhbhbQaGaGbh#R#8#8bn.3bnbQ#s#7.2bpbmaxbp#r#rbmbp#7#Ua1###QaRaNaOaOaKaQblauavaNaJaFaJaWauaObtaNbgbwaKbtblaMaR.6aWaNaRat#n#rawaraF#1#g#n#jbkav#9aDauawataA#P#Q#l#malaAaCbkaLaAao#i.K.4#Yar#I#G.6#F#l#PbJ#m#O#Nav#9#l#M#laA.F#qa9boaKaKaKaOaOaD#K#4QtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.s.rac.w.wabacabaa.wah.waa.C#6#rbpbLambI#7bxbxbP#sbxa##s#7#T#sbObxbx#s#sa##s#saG#8#8#RbQa#.2bNbpbNax#rbH#SbHbHbp.Ea9aV#iboboaJbgbzaMaWaNaKaJbgaQaFaNbtaNaWaKaOaMaKaOaQaOaNbtaNbgbobFbwaWaWavalboaJaKau#v#N#QavboakatawalaKaQ#i#j#j#n#jaD#L.Xb#ad#PavaDaDboaE#j#3.V#3#iaEaoaV#M#PataO#W#Nas#Qas#D#K#I#n#Zat.E.CaZaJaJasavavaoaAQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.0abah.wab.waa.w.y.w.w.waP#q#Sbq.2bpbLbLbI#T#7a##T#TbI.2#Ta##T#TbL.Dbp#r#rbK.1.C#6.1#6.C.1#r#sbia3#XavaMasas#NaLasaMauaQaQaQbwbkauaJaMaNaQaFaMaOaJaLaQaMbgboaKaWboaLboauaMaKbkbwbkbvbtaQaTaFaKaMbkaQ#Dauat#mbgag#P#P#yalalaQ#o.4bibbal#O#D#0#iaoaFawararasaD#Pa2#i#N#Nav#B#k#i#J#n#K#f#Iaj#E#Pak#g#n#L#natbq.C#vaK#nboaA#Fa7QtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.Z#5.w.wab.waaab.waaabap#6#rbpbmax.2bLbq.2am#TbNbm#S#qapapai.Baqaq.Bah.B.BaiapaBbM#s.4#y#naubtbgaNbgaNaNaRaRaObtaMaEavaMaQaWaKbwbuaWbwboboblaNaQboaWaQauauaQaLaLaFbublaNbtbDbtbuaNaNaK#waJaLaNaWbu#m#Q#3#b#i#L#k#G#X#1#oav#PaV.V#naLaR.Nav#mat#4#PawatblaE#k.R#4#Q#F#K#i#d#objaU#L#f#o#v#.#K#2#D#M#M#O#O#xbraxaQ#KaDas#OQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtahabababaa.w.waa.w.waP#SbMbHbmbqbNbp#r#qayab.y.q.l.q.q.v.y.q.yaaaaabaibKbQ#p#B#maraFbtboaQboaMaLavaraRaraAaRaLaNaWaNaLaRaQbkaWaKaJaWaFaQbtaWaNblbtaNaQbuaJaLaEaLasbkaQaWbzbGbBbDbvbv.Uao#4#l#iaNaC#X.V.W#naraD#G#G.Q#gboata3#KasataM.6aDao#OaR#mal#4aDao#l#4#h#Fazag#i.O#H#9.X#J#lbJ#nat#maC#f#Nalaras#P#S#q#daRaoaoaXQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.wababab.wab.w.w.v.w.y.y.q.r.q.r.r.r.r.x.r.r.r.r.w.C#Tbb.I#d#3#j#k#K#mawalaDaRawaDaoaAaualauaLaEawaOavaLaFaRaQavaLauaEaQbgaFaEboaNaNbtaWavaWaJaNblbvaWbwbkbtbE#P#n#i#nbDbE#P#c#N#laOaw#4#G#J#IaL#N.N.N#kaFbo#i#QasaoblaL#y#Q#Nao#MaU#F#iar#OawaEaraEaOar#N#G.J#dan#2#j.Q#i#P#Par#Aar#Nawaw#Jar#P#L#i#O#laBaB#SQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtahah.w.wab.r.n.m.l.p.r.r.qaaaqbm.E#u#z#E#0#i#n#f#n#n#L#i#Z#i#l#K#M#o#k#n#L#k#KaD#maE#P#4#karararauaAaEaAauaJaRaRaOavaRaLaLaFbkaMbububybgbGbDbAbgaJ#Pa8#JaJaM#X#2ajaTaE#Q#G#K.X#QaRaE#CalaDaAbkaCa3#4alavaK#G#k#NaAao#o#i#0#N#3a0aXa1.K#QalaCarataw#MaO#j#1ae#l#j#laA.9aA#iana.#G#o#f.MaI#0#l#f#Za2an#i#Fap.CQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtahacaaabaa.o.j.m.la2#X#e#f#f#I#J#1#h#G#3#i#H#1#i#i#n#K#n#I#j#L#Latawat#K#marar#j#N#j#l#l#M#l#m#N#N#LaDaDaoaFaRauaOaObEbE#YaT#Aakbwbu#G#s.T#FbyaT#1a6aS#gaE#3.5awauaWbDal#daWaQbtbz#9al#Oat#j#i.L#Haw#oak.Waf#EaD#k#0#faT#gav#MaYaCaw#O#Pat#NaC#4arawaA#k#F#G#1#x#YaU.S#Cag.6#h#k#X.Vaoalao#4.U#Ya7#D#Y.VaBaBQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.oacacahab.m.o.p#S#h#X#0#JaT#n#Z#F#0an#1#g#1#n#o#3#n#2#i#MaD#M#m#j#m#l#Q#O#m#maw#Lawaw#Q#k#PaCaraRauasaQaNbl#ka4#V#fbkav.V#E.3agbl#I#ZaVajagbz#f.7.Lbb#LbF#I#vaCaFavbuaEalauauauaJ#E#L#Oao#D#fa3#H#i#3#D.Wbc.O#N#k#i.OaU#gaC#kagaraA#OaE#P#O#M#K#NaoaFaC#P#0#D#n#2#M#I#f#3aCalav#n#eaFaC#2ao#D#a#X#.#X#G.CaB#SQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.y.Bah.w.r.n.xbx#1#F#H#F#F#0#G#3#o#1#i#H#n#o#i#3#H#3#1#Q#j#2#2#I#P#K#m#Oaw#kaD#Q#O#O#O#OalavbuaJ#Q.9#hbtbv.LaYbL.OaL#1#zanbp#A#lan.W#hbh#eaF#l.V#PaDaLbDal#naMawasbtaQ#NaEaA#h#0bda4#ZaA#FaUa0#F#J#O#n#b#j#Nal#L#J#dakaT#Earalao#3#F#1aFar#N#P#P#Z#kalat#G#d#iataDas#n#QawaFalasaw#i#Q#3#oaU#x#A#X#0#G.Hap.CQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtacabaaaa.i.m.r#n#h#o#1#o#l#Z#3#K#n#i#Z#k#Han#d.P.O.V#y#z#K#Oao#Nal#PalasaLaublbubkau#M#LbubFafaU#U.SaU#I.R.Pa8#.#j#G.Nb#araDasbG#o#mauaJaLbo#.aDasaE#O#M#F#YaE#O#o.3aY#0ar#o.S#z#c#0aw#i#9aw#NalaF#n#P#4#o#F#ha.#b#A.6.Tan#Lan#fa4.VaUaA#M#l#l#4#jaAal#IagaD#m#L#P#2#0an#Y#Fa.#Kag#c#0#1#I#1.5#j#M#m#Qa9aB#qQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtaaabab.x.o.kb.#3#g#H#n#Y#h#G#f#faU#G#G#D#xa0bnaea4#A#.#P#NbzblbwbA.RaUaa.W#gbF#z#FbL#a#b#L.K.Hak#IaC#P#Xa9#NaDaobv#2#maCavaCbtaF#maL#P#D#daU.6#gaE.P#Zbn#d#Y#1#d#A#kaFaRbo.MataCataAaK.NaoaA#H.Ma.anal#f.O.S#A.LbJ#f#Z#Pbo#M.XawaoaCaE#4#M#4#O#Q#kal#ia.#D#F#D#a.M.H#.#K#Q#QaD#2#W#Oat#laE#1#M#OaE#Pat.3apbKQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.xac.yab.o.k.w#k#H#0#k#n#i#n#I#G#e#gaQ.J#W#D#Z#2#2aw#K.Va.#t.M#oaJ#c.R.7a8#fbAbJaV.8ae#2al#e#Wal#NaoaNaO#KaC#Pau#I#Gak#FaQ#Y#J.4#z#daQak#Ab#.6#gaw#J.5alaOaLbu#Y#OaAasaAaO#D#4#QbJ.V#u.LaU.S.V#E#uak#2#i.O#4at#Pawavaoaraobu#1#oak#FaCar#2#l#Z#k#k#LaQ#Z.U.U#KaAaCao#jaCaCaAaCbt#EaDas#4aD#l#m#PaoaAaFaobOaP.CQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.xab.waa.i.k.l#2#O#j#L#j#0ak#g#j#o#ibvak.I#F#f.U.PaD#4aV#b#W#..VaFa.#W#i#NaOaQ#n.GaraFavbk#M#JaCas#OaMbl#2#law#lanaj.5.Sbo#bbJ.K#zagaM#n.6aD#OasaW#La4araCaFboaoaRaL#F#Y#J#f#h#h.O.S.I.O#g#FbJ#z#OasataM#BaAasaOavawaw#M#MaF.T.5bQ#v#jaEao#j#I#Z#3#k#MaD#gagatawararalaRarasaFav#MarawaoaAalaFaFaFavaraw.TaibrQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.kab.wab.j.m.p#zaw#M#L#L#I#n#G#1#J#0#N#0.9.7.7#p#V#Har.Mag.SaV.R#lbJbbawaoasbtaJa0aFaKaMbgaL#maRaRar#f.5#v#aaC#c.T.P#t.PaCag.9#Y#maEbg#N.HaoaAaFaRbo#4#m#P#K#e.W#E#P#D#aa7#w.M#XanaYatav#OaF#c#F#lat#PaR#xar#j#j#3#gawaD#I#M#A#v#b#iaoaCaFaw#M#2#2#k#m#m#1.U#NataDavaKaraD#4awalaDaRaRaLaA#O#PalaDal#Q#j#ibp#qaBQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.rahabac.v.n.lai#Q#P#k#4#Z#1#n#J#e#F#oaF.Oaf#.##.K#FaL#Ea7#i#NarboasaTaEaOaEaRbw#i#ZboaKa.bjaH#BaraU.LaV#w.P#M#n.U#naRaJbobw#.alauavaDav.Rar#3#2#faf.L#P#c.Lae.IbJaF#da2#4aEaAavatagar#K#P#m#H#f#0#j#N#O#Y#A.7#d#2awal#o#Yan#b#x#Laoal#N#i#l#Q#M#4#i#K#M#k#galasasaCaDauaQaLaral#P#Oawar#Patataoaw#NaC#O#N#K#6aBaiQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtaaacabab.v.u.m.k#nawal#m#I#I#k#o#o#X#3#P#0a4.GataFavbDbg.RaCaEal#G.U.X.Mavau.V#8am.8#i#Y#b.9.8#faC#Oa.#kaAaOaRbkag#P#O#k#G#0.Mav#h.OaGbs#.#2#e#D.P#A#iao#Q#.#NaFaDaCbg#E#P#OaE#n#D#u#D#J#K#A.X#E#Mas#D.L.6.Q#zaoalataAaR#J.S#e#M#NawataDaEalaw#L#2#i#Q#M#P#n#MatatawawaD#Oasao#N#k#4#j#j#m#PaoaCaraD#m#Oat#L#AapaPapQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.wahabab.w.l.o.l#raD#M#2#i#M#l#l#J#G#0#Z#O.H#i#i#n#dagagbJ.PaK#h.QbjaI.Waw#I.P.R#e#2auaW.N#LaAaOaDbt#haoaw#1#0#C.R#I#Z.O.T#Ua2aT#G.S#XaEalaAboakaFasav#MaJ#Y#K#Z#Oag#b#U#x#JaQ.M.8#PatataD#D#AaualaCavaT##.RaDaraDaw#P#4#Q#LaQ#m#M#QawaDaFasaE#m#P#n#4#j#k#Ialar#Pao#4aA#P#4#Q#L#Mat#N#2#Q#M#M#l#j#i#Z.Pa1bs.CaB.C.C#5QtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.yahahahab.w.i.l.q#Kalal#4#j#i#k#H#I#M#kaFa.#n.Vag.Q#W.X.K#B#j#n.W#XauaEaFaW###mawavalat#D#N#M##a2.4#w.L#HbJ#..H#f#M#L#c#vaDavaEbk#JaFas#Q#P#k#a#yaUaE#D.8adb##Haw#c.KalaCavaR#i.KauaAaCaFas#YaoaCauaFaQaCaDauataD#4#m#NaDawasaRas#malaD#L#Q#n#L#j#m#j#P#l#L#l#K#malat#j#j#4#M#i#i#i#n#F.6bd#T#r.C.C.C#6.C.C.C.C.C#S.1QtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.qahahac.wah.l.l.rbjaraw#m#G#n#4#i#I#k#4#MaKag#z#ialavataEasaRbB#faLaMaC#2#f#baE#O#A.8#U#u#A#h.T.6#NaDaCau#D.PalarauaWawawao#N#M#Fa2bf#D#k#D.J.J#Z#Oau#c.N#Mararawav#DasaRaQar#3#D#i#G#i#i#n#K#laCaraQboaLaMaOaOasaEaDal#Naw#m#P#Q#m#m#3#i#1#i#Z#l#j#i#l#2#L#j#M#Z#i#K#2#D#vajbL#q#q.C.C.C.C#6#S#S#S#S#S#S#S#S#S#S#SbK#rQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.x.Bahaqabab.y.n.l.qal#4#P#i#I#Q#Q#l#j#L#3aW#3#aauaNaRasaAasasaL#NaL#j.Oa.bba2.L#Ha.a3aCaEauaQ#h#LaJaLaQasao#0#1aC#M#fa5bh#0ar#f#d.6asaRbuaCa.aDaOaMaAaR#Xal#K#n#n#F#e#2#n#law#mararasaDauaRaMaQawaoaLaCalasal#l#i#l#K#2#3#I#i#i#3#Z#i#o#H#n#n#i#1#3#J#1#F.Ma5bs#rbraB#q.C.C#q.C.C.C.1.1#S#SbHbK#r#rax#r#r#rbMaxaxbpbpbpQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.y.qah.wababaa.o.m.raZao#matatawaraoat#K#f.Na..9auaJ#o.Ma5.QaWaOaubk#g#e.MaLaMaCbu#HaoaFar#O#l.L#9aU#4#i#A#Waf#3aD#eag#laAaFaOaF#YalaRaKasaC#3#M#P#3#l#g#I#i#4#NaoauaRbkauauaLaQboboaQaNaLaKaJaOasaW#Q#4#j#m#N#i#H#o#3#3#Z#Z#i#i#1#n#XanaU.U#vajam#qapapaiapaPaBap.C.C.C#S#6#6.C.1#SbMbMbMbH#rbmbp#rbNbqbpbNbpbqbqbqbpbpaqQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtai.racabacaaab.m.m.xbpalaw#Nao#i#MaD#m#d#z#9bs.4aw#FaUbbbi#9aMaC#gaE#IaU#4ataravasal#J#iaC#Nagb.#R#f#j.U.T#x#OauaKatbJalaraMaoaW#jawaE#O#M#o#0#F#3#Z#O#4ataFawavaRaRaraFavaQaLaOavaKbubublbobtblaKaRaE#4#Z#2#M#k#j#O#L#i#J#X#g#X#E#DaVbcam#q.Bay#5aiaiaiapap#qaBaP#q.C.C.1bHbH#6bHbHbH#rbmaxaxbpbNbN.2.2bqbq.2.DbNbq.2bN.BQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtah.rah.Bahahab.w.o.xabaraw#M#l#P#4aw#P#.#W#waY.8aD#g#Bae#A#Xbw#D.J#b#O#FaraCaC#N#cad#8.LaraU#B.L#Zaoav#H#b#kasaEasaN#FataLaF#O#I#0#Z#J#J#3#I#M#NaoavaraKauauaFaAaJaQaLblaJaKaKbubgaEaRaMaKaLaOauaQavar#j#2#i#0#n#n#X#g#f#f#f.6.4bx#qaqaq.Bay#5.BaiapapaiapapaB#q#q.C.1#SbKbH#r#SbH#r#r#rbpbpbpbpbp.2.Dbqbqbq.D.2.2bIbL#TQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.r.B.yabababacah.o.m.k.Vavar#OaCaE#PbB#b#.avaLaraAby#xaFawaE#Qa.#A#xb#.WbkaJaW.N.J#e#MaAaJ#f.OawataEaAaQ#G#N#Q#Q#l#H#X#H#3#2#jalaFaQbtblauaQalauaRaOaraMaAasaRaKaLavaRaOaOaNaKaKaFauasavaKaQaLaWaQaE#l#N#G#f.LaS#s.1ahacab.waaabaq.Bah.B#5.BaiaBaPaP#q#q#q.C#6#6#6bMbMbH#r#SaxbMax#rbpbpbN.2.2.2.D.DbL.2a#bhbQbhbx#Tbx#RaBQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.uaiahababaaaa.w.x.j.kapaEaDalau#malar#1#haC#O#E#.#OaraCaE#D#B.J#Y#3ataC#N.Q#F#fbJ#laoaCaraO#h#4#M#1#n#F#g#1#i#Z#PauaraFaFaKaMaMaRbtaQaQavaWaKaMboauaMaQavaRaLaCasaAauaWaCaJavaLaAaFawasat#k#G#WaHbmah.w.y.v.yaa.yahababaaacabah.BaiayapapaBaB#q#q.C.C.C#6#6bKbH#SbHbMaxbpbNbp#rbpbpbNbpbIa#aG.E#sa#a#bxbO#sbObh#8#8#8bsQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.bai.B.kaaabahab.y.o.m.qaDaD#OataA#Q#Pboal#.baag.L#Qbu#d#.aYakaEaCauasaLaL#Q.Mal#Kaoat#E#Z#J#n#1#Q#MataEaFaKasaOaOaJblbtbtaKboaWaNavaQaKaKaKaLboasaQaFaQaEaMaOasaRaEarawaw#K#Eafbe.D#5.w.q.qab.r.w.w.w.wababaaaaahacaq#5aq.B#5ayaPapap#q#6.C.1.C#q#6bK.1bKbHbMbH#rbpbpbNbN.D#T#sbO#sam#T#7bxbx#sbO.Ebh#8bnbjbfaj#VaS.5#UQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v#5.w.q.waa.q.v.Z.m.kaZaAao#P#I#4#Lbtal.8aYaCaFaQbw.S.Ka2bJawaLaLaMaLarao#jbvaoaE#P#j#Pao#laRaDauaLaWaMaKaCaRaNaWaOaOasaQauaFaCauaQboaWaOaWaOaJaQaQaRaFaDaC#M#k#I#F.6#Ubpaq.y.q.q.v.q.q.r.wacabab.v.yababacah.B.B#5aiaiaiaPaPaBaBaPapaP.C#6.1#S#S#SbK#SbHbMbH#raxbIbx.E#s#TbLam#TbPbP#s#s.EbQ.3bjbebiajbb#pa5b#.5#UQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.o.Baq.r.yabaa.y.i.m.kbpar#N#N#PaE#LaQ#m#xanaoaWboaM#i.LaV#nblaLaAauaMavaraEav#NaD#k#mauauaJaNaRaKbuaQaJaKaRaQauaNasaRaRaLaNaKboaOaJauaFaRasavavavaFaE#L#2#Xaf#Ubpaq.q.v.q.qab.r.q.v.q.y.w.y.waaacahabahacahaqaqai.Bai#5apapapaibr#qaBaP.C#q.C#6#6.1.1#S#S#r#7#7bxambIbI#7#Tbxbx#s#R#8bsbn#taj.Ybaa7.5a3a0.Ya#QtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtacab.m.l.r.p.r.o.d.i.jaCaraoaC#l#P#Nar#zataOaRasarbFaDaCaRaFauaOaFarasaOaRaF#l#Naw#NauaRaJauavauauaAaJawaMaMaRaWaKaKaJaRaFaLaRaraC#N#K#3#f.Ibi.Dah.r.m.x.k.r.p.q.r.l.r.q.waa.y.w.y.w.wabahabah.B.B.B.B.B.Baiay#5#5apapaPaBaBaB#q#S.1.1#S#S#r.DamambNbNbq.DbIbLa#bxaGbhbnaz#Uaj.4#Va7aY#WaebjbNaiQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.bab.w.m.q.l.l.r.h.u.i#U#4ar#I#I#m#PboanaJaFaMaJaNbFaKaKavauaraAalaAaA#P#Q#2#4#IaW#NaQboaQaKaJaKaOaOaRauasaLauaAatal#Nal#n.SaS#sap.l.k.m.k.x.k.l.l.x.l.k.p.r.q.q.w.wacababacacacab.B.B.B#5#5aiaiap#5#5apapaPaPaB#qaB#q#q.C#6ax.2am.2#rbpbp.DbqbqbIama##sbQbnbnbeaja9a1aY.6afbf.DahQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.oab.w.l.k.l.m.d.A.c.jasaCaw#m#maD#I#javaFaCaKaFawaA#P#Q#i#M#O#4#K#i#n#M#l#2#LalaFaMavauaJaQaJavaFao#P#k#X.X#UbH.r.m.x.x.x.k.l.q.r.r.q.r.v.y.l.v.q.q.w.waaababah.Bai.B#5ay#5ayapaiaiaiaiapapap#qaBbr#q.1.C#r.DbIbIbpbpbpbpbp.2bL.2ama##saG#R#8bjajbb#pb.#W#W.Fbq.BQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtacab.m.x.l.x.u.A.c.i#maAawao#Nal#M#m#mat#OaA#M#I#N#Z#l#L#P#L#M#l#P#Q#l#N#Q#k#ialaEar#NaDaual#O#Ga4bfbpac.k.k.k.p.l.p.r.q.q.r.v.q.q.y.vaa.vaaabab.B.Baq.Baq#5.BayaiaiaiapaBaBaPbrap#qbraB#q#q#q#q.1bNbI#T.2bpbp.DbI.2amam#T#7a#bPbhbnazbebia8a5#W.6a8.E.CQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtahaq.k.l.q.q.p.d.u.o.XaO#L#m#i#j#4#L#M#Q#N#P#k#i#4#I#L#N#Pat#N#l#n#I#i#3#i#I#Z#I#k#I#L#n#A.4.2#5.w.p.k.r.k.r.r.r.v.q.v.vababababababacacah.B#5aqaqaiaiaiaBapaPaPaP#qbrapapaBaB#qaBbr#6#qbK.2#TbI.2#r#rbpbpbpbq.2bL#TbxbObQbnbn#Ubeada5a0#v.XbebNahQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.Z#5.B.r.p.q.q.c.o.naaaAat#L#l#2#M#Q#P#j#M#2#L#K#n#i#I#2#H#k#j#j#L#2#M#0.J.4#TaP.q.r.p.r.r.r.r.q.q.v.q.v.y.waaaaaa.wahah.Bah.Bah.Bay.B.B.Bayaiaq#5aPaPapapapapaB.C#qbr#q.C#r.DamambpbM#r#rbmbmbqbp.2#TbP#s.Ebnbjbi.4a8a6a3#v.HbbamaqQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtaq#5.v.p.q.r.j.c.o.o#X#O#j#j#I#L#P#N#j#N#K#N#P#k#3#i#YbJa1bQ#S.w.r.k.k.x.k.l.l.r.y.v.y.vababahacaaahahabaaababahah.Bai.B#5aiaiaiaPaPaPaB#qbraBaB#q#6.C#6bHbLbxa#.2bmaxbmbmbNbq.D.2#7#TbObhbh#8bnbfbaa5a0a4#z.I.4bp.qQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.s#5aq.m.p.q.w.Z.i.oaPaD#k#Q#4#1#h#i#naTa0bQ#6.q.l.m.k.r.r.v.w.w.v.w.y.wabab.wababahacacah.Bah.B.B.Baq.Bayayai#5apaiapaBaB#qaB#qaBaB#q#q.CbNambI.2bMbH#SaxbpbpbqbLam#Tbx#sbQbQbsbj.4#pa6aY.X.7af.3aPQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.mayah.r.yaa.n.i.o.o.kbHbOaxaa.m.j.m.l.k.x.r.p.r.r.q.q.y.yabacabacacacaqaqah.B#5#5ai#5apapapapapaPapaiaB#qbraBaB#q.C#q.C#S.2bI#TbLax#r#rbpbN.2bN.2#T#Tbx.E#Rbs#Uajba#pa2b##x#.a6bx#5QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtaiah.m.q.y.v.h.o.j.o.j.o.x.l.l.q.p.l.q.q.y.v.v.wab.w.Bahahaq.Baq.B#5aiaiaiaiayapapaPaiaBbrbr#q#q#q#q#6#S.2bObh#7bpax#raxaxaxbmam.2am#TbP#sbQbs#U.F.4#pa6af#A#w.4bq.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.h#5ah.m.raa.Z.j.k.k.r.r.v.l.v.w.w.w.wabaa.wabacacah#5ai.B#5.Bai#5#5#5apaB#q#6.C#6#6.1.1#rbI#Tbx#TbqbmbqbL.2.2.2.DbIambPbh#8bs#Ubi.4a8.5#v.6.JaYbn#q.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.qaq.y.p.w.o.x.q.y.v.wab.wabahababacahahab.BaqaiaiapaiapaPai#qaP.C#q.1#S.2#T#sbxbqbpbp.2.Dbm.2.2bLbx#sbO.3aH#Ubi.Y.4aSa0af#z#A#u.2.qQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.Aai.B.x.y.k.m.v.qabababahacahahab.B#5#5aq#5ayaiapapaB.C.C.C.1#Sax#TbO.E#sax#r.D.2bp.D.2a#bxbhbQ.Ebsbn#UbdadaXaY.H.I#Aa6aG#5.ZQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtaBai.mab.q.mab.wabacababah.Baq.Bahah#5#5#5aP#q#q#q.C.C#SbqbxbPambmbpbpbNbq.2am#Ta#a#bO#8bsaIbi.4adaSa1b#.6.J.X#U#6.oQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.iaBai.qab.kac.Baq.B.B.B#5apaB#5aP#q.C.1bma##sbx.2bpaxbNaxbq.2bLbI#Tbx#saG#8#Ubfajada6a2.H.7.J#p#TaqQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#5ap.rababaiapapapaiaB.1bpbI#Tbmbmbm.2.DbLbp.2am#Ta##sbO.3bs#Ubi#V#pa5a3aV.R.Ibf#r.pQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.eaPai.obM.D#T.D#r#SbM#rbm#rbp.2bLama##s#saGbnbjbd#ua6b#.X#x.RaYbh#5QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.l#5aqah#SbK#SbMaxbmbNbLa#bQ.3#Ubi#VaXa0.X.7#Abbbq.r.tQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtaiaibNbq#TbPbhazbjbdada6a3#y.5bQbr.uQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#rbjada6a2aebfbp.yQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.tQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt"};
diff --git a/konsole/doc/color-schema b/konsole/doc/color-schema
new file mode 100644
index 000000000..37f754a17
--- /dev/null
+++ b/konsole/doc/color-schema
@@ -0,0 +1,114 @@
+[README.color.schema]
+
+Having made parts of the rendition process configurable, some explanation
+seem to be required, to. Since I'm writing a color schema configuration
+program in the moment, these notes are also some of the preparations for it.
+
+
+First of all, the redition process deals with a lot of parameters, making
+a useful configuration program for it quite complicated.
+
+Looking at TECommon.h, the current implementation of a character cell allows
+not less then 256 different foreground and background colors, together with
+256 rendition values, with, forming a bit vector can be treated as 8 different
+rendition attributes (like blink, bold, underlined, etc.)
+
+[From the later, one already sees one misconception within the current
+ implentation. Attributes like bold, underlined, etc. belong to font.
+ Now because we do not have a proper terminal font family, this goes
+ into the rendition attributes instead. Sooner or later, no way will
+ lead around getting a proper family of scalable fonts for konsole.]
+
+
+Upon further investigation one has carefully to distinguish between
+the ability of the protocol to express rendition and the abilities of
+the terminal widget to do them.
+
+The protocol is able to express 18 different colors, this is 8 colors
+taken from an RBG cube and an additional default color (which is intentionally
+one of the 8 but it needn't be) both for fore- and background.
+
+For simplicity, we interpret the fore- and background colors of the RGB cube
+to be identical, thus ending up with 10 different colors (8 RBG + 2 default).
+Note that this is not necessary, but just konsole's interpretation, it may
+well make quite a lot of sense to have different sets of (real) colors for fore-
+and background.
+
+Now the xterm protocol can further express the following attributes:
+
+- bold
+- underlined
+- blink
+- reverse
+
+The Linux console protocol knows also the attribute
+
+- half-bright
+
+Now, when it comes to interpretation, things become pretty messed up.
+
+Xterm interprets "bold" as "font bold" + "foreground intensive"
+Linux interprets "bold" as "foreground intensive"
+
+Xterm interprets "blink" as nothing
+Linux interprets "blink" as "background intensive"
+
+Xterm interprets "underlined" as "font underlined"
+Linux interprets "underlines" as "foreground intensive"
+
+Xterm interprets "half-bright" as nothing
+Linux interprets "half-bright" as "foreground dim"
+ANSI interprets "half-bright" as "font italic"
+
+all interprets "reverse" as "exchange fore- and background color"
+
+
+A flexible interpretation engine is needed to cope with all this.
+A proper configuration should also take care of it.
+
+Since intensive and faint colors can also be expressed by the protocols,
+the number of colors double or tripple (we do not have implemented
+half-bright, yet, since we've just started to do the Linux console emulation.)
+
+Note that the protocol is not able to express "intense", which causes part
+of the confusion listed above. Xterms interpretation of bold as intensive+bold
+is most probably caused by the fact, that in a black on white color display
+(which is their default), "black" cannot be intensified, thus the attribute
+would get lost. Linux gets around this problem by having the regular black as
+dark gray, and only intensive black as black.
+
+As a matter of personal taste, the author strongly dislikes the apparence of
+the this combination when it comes to colorful applications. Thus the default
+schema of konsole is configured to render only the default foreground color
+as bold, while the others are rendered intensive. By this, the interpretation
+device (and it's configuration) is even more complex as it appears above.
+
+
+Konsole's rendition engine is currently not able to cope with font attributes
+by changing the font. Instead, it does some (costly) operations with the
+character images themselves to produce:
+
+- bold
+- underlined
+
+It cannot render italic and is (by a parameter) limited to 20 different
+colors. That fore- and background colors are interpreted identically, is
+also build-in to the engine (and interpretation). These aren't severe
+limitations, it can be changed easily.
+
+Other then the emulations mentioned above, konsole can interpret "blink"
+as blink. Just to have a little more fun, konsole can display background
+images, meaning that some background colors have to be interpreted as
+"transparent" when a background image exists. Practically, this can only
+be the default background color, so a least this one could be hard-wired.
+
+To set up a proper configuration, I do not want the users to cope with
+all this unnecessary complications. Instead, a approach has to be found,
+that allows to configure the already existing interpretations and other,
+that do make sense. As stated above, it does not make sense individual
+colors beside the default background colors to become transparent. Nor
+does it make sense, to set all the 52 possible colors individually, since
+an RGB color cube is intented with some intensity attributes. Some
+experimentation is certainly necessary to get things right. E.g. VGA and
+X11 colors are different for one of the yellow sorts, beside just being
+gamma corrected.
diff --git a/konsole/doc/framework b/konsole/doc/framework
new file mode 100644
index 000000000..b07f8e6d5
--- /dev/null
+++ b/konsole/doc/framework
@@ -0,0 +1,33 @@
+/*! \page framework
+ The terminal emulation framework
+
+The structure of the framework is as follows:
+
+<pre>
+ - - - - - - > - - - - - ->
+ TEWidget VT102Emulation Shell
+ <------------ < - - - - -
+ |
+ |
+ V
+ TEScreen
+</pre>
+
+Within the drawing, a solid line (A --> B) mean A calls B while the dashed
+lines means connected by signal.
+
+Thus the AnsiEmulation knows about TEWidget and TEScreen, but not the other
+way round. `main.C' connects the whole framework.
+
+The state of the emulation is somewhat like `version 0.8'. It knows most
+xterm/vt100 escape codes and does well with bash, vi and mc right now.
+
+'man' shows a little different output since underlines are missing.
+
+The `Shell' material is a dump but of no real importance.
+
+The current implementation does not longer fit to 'kom' since we
+are using block operations with the modem. May be we can implement
+this within the main program to indicate the end of bulk there.
+
+*/
diff --git a/konsole/doc/histBuffer b/konsole/doc/histBuffer
new file mode 100644
index 000000000..4eb419f6b
--- /dev/null
+++ b/konsole/doc/histBuffer
@@ -0,0 +1,24 @@
+[histBuffer]
+
+|Documentation|----------------------------------------------------------------
+
+The `history' is a facility, that allows to get access to lines
+scrolled out from the visible part of the display. It is mainly used
+to present the complete result of an operation that produces much
+output, such as compilation runs.
+
+This facility is offered by virtually any terminal around on Linux.
+
+There are basically two means to control the visible section of the
+history. One can both use the keyboard, by pressing Shift-PageUp and
+Shift-PageDown, and, if the scrollbar is visible, one can use it to
+page through the history also.
+
+Once parts of the history become visible, konsole maintains this
+position, even if new text is added to the history meanwhile. Thus, it
+is in history display mode. One can revert to normal operation most
+quickly by typing any character (which is then not passed to the
+application) or scroll down to the end.
+
+|Implementation|--------------------------------------------------------------
+
diff --git a/konsole/doc/konsole.Doxyfile b/konsole/doc/konsole.Doxyfile
new file mode 100644
index 000000000..02a5e0175
--- /dev/null
+++ b/konsole/doc/konsole.Doxyfile
@@ -0,0 +1,10 @@
+PROJECT_NAME = "Konsole"
+OUTPUT_DIRECTORY = konsole
+GENERATE_LATEX = NO
+INPUT = ../src ../include framework
+FILE_PATTERNS = *.C *.h
+PERL_PATH = /usr/bin/perl
+TAGFILES = qt.tag
+QUIET = NO
+EXTRACT_PRIVATE = YES
+#EXTRACT_ALL = YES
diff --git a/konsole/doc/missing.codes b/konsole/doc/missing.codes
new file mode 100644
index 000000000..9320a2902
--- /dev/null
+++ b/konsole/doc/missing.codes
@@ -0,0 +1,89 @@
+Contained in here is a list of VT100 facilities (and extension based on it),
+that have very low priority or are not likely to be ever implemented by me.
+The order is more or less by priority, so you'll find the most interesting
+stuff in the beginning. All this is mainly included so that you can see, what
+you miss.
+
+- some modes -----------------------------------------------------------------
+
+ The next two modes are difficult to implement (for me).
+ May be i do them, may be not. Think, smooth scroll would be kool.
+
+ '?4'= Jump scroll (set); Smooth scroll (reset)
+ '?8'= Auto repeat on (set); Auto repeat off (reset)
+
+ following are not in VT100, nor in xterm, check Linux console
+
+ '2'= Lock keyboard (set); Unlock keyboard (reset)
+ '12'= Echo on (set); Echo off (reset)
+
+Hmm, one can easily dig out more other which may originate from different
+VT100/VT102 variants. We'll keep things simple, but have to check trough xterm
+and Linux console to be sure.
+
+- rendition material ----------------------------------------------------------
+
+This is mainly not implemented because the fonts are too weak.
+Eventually, i can do better if i dig a little...
+
+Set graphic rendition
+ Where <n> is
+ 2 = Half // Not in vt100, ansi italic
+ 21 = Normal intensity (this might well be a spelling mistake i.e. == 22)
+ Check linux console for some sco-ish stuff.
+
+Line attributes
+ Double-height Top half Esc # 3
+ Bottom half Esc # 4
+ Single-width, single-height Esc # 5
+ Double-width Esc # 6
+
+- printing related stuff, will not be implemented ----------------------------
+
+Don't think this is of any use today.
+These codes seem not to appear in VT100 only, may be it was an option.
+Implement a log instead?
+Implement "save screen and buffer"?
+
+Modes // not in VT100
+ '?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)
+
+Printing
+ Esc [ <c> i
+ 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)
+
+VT52 sequences
+ Auto print on Esc ^
+ Auto print off Esc -
+ Printer controller on Esc W
+ Printer controller off Esc X
+ Print cursor line Esc V
+ Print screen Esc ]
+
+- huh, that could be fun! ----------------------------------------------------
+
+Programmable LEDs Esc [ Ps q
+ 0 - All LEDs off
+ (1 - 4) - Turn respective LED on
+
+- does not produce a reply, anyway -------------------------------------------
+
+Invoke confidence test
+ Esc [ 2 ; <n> y
+ 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)
diff --git a/konsole/doc/missing.keys b/konsole/doc/missing.keys
new file mode 100644
index 000000000..8d0688842
--- /dev/null
+++ b/konsole/doc/missing.keys
@@ -0,0 +1,124 @@
+KEYPAD AND FUNCTION KEY SUMMARY:
+-------------------------------
+
+ CURSOR CONTROL KEYS:
+ -------------------
+ Vt52 ANSI and Cursor Key modes
+ Arrow Key Mode Reset Set
+ ---------------------------------------------------
+ Up Esc A Esc [ A Esc O A
+DONE Down Esc B Esc [ B Esc O B
+ Right Esc C Esc [ C Esc O C
+ Left Esc D Esc [ D Esc O D
+
+Comes out to be more complicated than it first appeared...
+Troll did something to the key pad. Evtl. i must get raw X11 key events.
+The mapping below is quite useless anyway, since it referes to the VT100
+keypad (see doc/More/vt100-numeric-keypad.txt for more). A proper Linux
+implementations should send the codes written on the keys of the keypad.
+
+ AUXILLIARY KEYPAD:
+ -----------------
+
+ VT52 Mode ANSI Mode
+ Key Numeric Application Numeric Application
+ ----------------------------------------------------------------------
+ 0 0 Esc ? p 0 Esc O p
+ 1 1 Esc ? q 1 Esc O q
+ 2 2 Esc ? r 2 Esc O r
+ 3 3 Esc ? s 3 Esc O s
+ 4 4 Esc ? t 4 Esc O t
+ 5 5 Esc ? u 5 Esc O u
+ 6 6 Esc ? v 6 Esc O v
+ 7 7 Esc ? w 7 Esc O w
+ 8 8 Esc ? x 8 Esc O x
+ 9 9 Esc ? y 9 Esc O y
+ - - Esc ? m - Esc O m
+ , , Esc ? l , Esc O l
+ . . Esc ? n . Esc O n
+ ENTER ^M Esc ? M ^M Esc O M
+
+ PF1 Esc P Esc P Esc O P Esc O P
+ PF2 Esc Q Esc Q Esc O Q Esc O Q
+ PF3 Esc R Esc R Esc O R Esc O R
+ PF4 Esc S Esc S Esc O S Esc O S
+
+--------------------------------------------------------------------------
+(due to Eterm) Key Codes
+--------------------------------------------------------------------------
+ Normal Shift Control Application
+Up ESC [ A ESC [ a ESC O a ESC O A
+Down ESC [ B ESC [ b ESC O b ESC O B
+Right ESC [ C ESC [ c ESC O c ESC O C
+Left ESC [ D ESC [ d ESC O d ESC O D
+
+ Normal Shift Control
+Tab ^I ESC [ Z ^I
+BackSpace ^H ^? ^?
+
+ Normal Shift Control Ctrl+Shift
+Home == Find ESC [ 1 ~ ESC [ 1 $ ESC [ 1 ^ ESC [ 1 @
+Insert ESC [ 2 ~ paste-mouse ESC [ 2 ^ ESC [ 2 @
+Execute ESC [ 3 ~ ESC [ 3 $ ESC [ 3 ^ ESC [ 3 @
+End == Select ESC [ 4 ~ ESC [ 4 $ ESC [ 4 ^ ESC [ 4 @
+Prior ESC [ 5 ~ scroll-up ESC [ 5 ^ ESC [ 5 @
+Next ESC [ 6 ~ scroll-down ESC [ 6 ^ ESC [ 6 @
+
+Delete ESC [ 3 ~ ESC [ 3 $ ESC [ 3 ^ ESC [ 3 @
+
+Function Keys:
+(Note: Shift + F1-10 generates F11-20)
+ Norm Shift Control Ctrl+Shift
+F1 ESC [ 11 ~ ESC [ 23 ~ ESC [ 11 ^ ESC [ 23 ^
+F2 ESC [ 12 ~ ESC [ 24 ~ ESC [ 12 ^ ESC [ 24 ^
+F3 ESC [ 13 ~ ESC [ 25 ~ ESC [ 13 ^ ESC [ 25 ^
+F4 ESC [ 14 ~ ESC [ 26 ~ ESC [ 14 ^ ESC [ 26 ^
+F5 ESC [ 15 ~ ESC [ 28 ~ ESC [ 15 ^ ESC [ 28 ^
+
+F6 ESC [ 17 ~ ESC [ 29 ~ ESC [ 17 ^ ESC [ 29 ^
+F7 ESC [ 18 ~ ESC [ 31 ~ ESC [ 18 ^ ESC [ 31 ^
+F8 ESC [ 19 ~ ESC [ 32 ~ ESC [ 19 ^ ESC [ 32 ^
+F9 ESC [ 20 ~ ESC [ 33 ~ ESC [ 20 ^ ESC [ 33 ^
+F10 ESC [ 21 ~ ESC [ 34 ~ ESC [ 21 ^ ESC [ 34 ^
+
+F11 ESC [ 23 ~ ESC [ 23 $ ESC [ 23 ^ ESC [ 23 @
+F12 ESC [ 24 ~ ESC [ 24 $ ESC [ 24 ^ ESC [ 24 @
+F13 ESC [ 25 ~ ESC [ 25 $ ESC [ 25 ^ ESC [ 25 @
+F14 ESC [ 26 ~ ESC [ 26 $ ESC [ 26 ^ ESC [ 26 @
+
+F15 (Help) ESC [ 28 ~ ESC [ 28 $ ESC [ 28 ^ ESC [ 28 @
+F16 (Menu) ESC [ 29 ~ ESC [ 29 $ ESC [ 29 ^ ESC [ 29 @
+
+F17 ESC [ 31 ~ ESC [ 31 $ ESC [ 31 ^ ESC [ 31 @
+F18 ESC [ 32 ~ ESC [ 32 $ ESC [ 32 ^ ESC [ 32 @
+F19 ESC [ 33 ~ ESC [ 33 $ ESC [ 33 ^ ESC [ 33 @
+F20 ESC [ 34 ~ ESC [ 34 $ ESC [ 34 ^ ESC [ 34 @
+
+Keypad:
+ use Shift to temporarily override Appl-Keypad setting
+ use Num_Lock to toggle Appl-Keypad setting
+ if Num_Lock is off, escape sequences toggle Appl-Keypad setting
+------
+ Normal Application
+KP_Enter ^M ESC O M
+KP_F1 ESC O P ESC O P
+KP_F2 ESC O Q ESC O Q
+KP_F3 ESC O R ESC O R
+KP_F4 ESC O S ESC O S
+XK_KP_Multiply * ESC O j
+XK_KP_Add + ESC O k
+XK_KP_Separator , ESC O l
+XK_KP_Subtract - ESC O m
+XK_KP_Decimal . ESC O n
+XK_KP_Divide / ESC O o
+XK_KP_0 0 ESC O p
+XK_KP_1 1 ESC O q
+XK_KP_2 2 ESC O r
+XK_KP_3 3 ESC O s
+XK_KP_4 4 ESC O t
+XK_KP_5 5 ESC O u
+XK_KP_6 6 ESC O v
+XK_KP_7 7 ESC O w
+XK_KP_8 8 ESC O x
+XK_KP_9 9 ESC O y
+--------------------------------------------------------------------------
diff --git a/konsole/doc/mkDocs b/konsole/doc/mkDocs
new file mode 100755
index 000000000..dd22eabfc
--- /dev/null
+++ b/konsole/doc/mkDocs
@@ -0,0 +1,6 @@
+#!/bin/sh
+PATH=$PATH:/opt/doxygen-0.4/bin
+export PATH
+# doxytag -t qt.tag $QTDIR/html
+doxygen konsole.Doxyfile
+./konsole/html/installdox -l qt.tag@$QTDIR/html ./konsole/html/*.html