diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | 4aed2c8219774f5d797760606b8489a92ddc5163 (patch) | |
tree | 3f8c130f7d269626bf6a9447407ef6c35954426a /konsole/doc | |
download | tdebase-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')
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: chan@charlie.ece.scarolina.edu (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: emann@iastate.edu (The Emann) +Subject: A vt100 ctrl seq list +Message-ID: <1992Mar13.072004.12444@news.iastate.edu> +Date: 13 Mar 92 07:20:04 GMT +Sender: news@news.iastate.edu (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: <295@blars.UUCP> +From: blarson@blars.UUCP +Date: 13 Mar 92 10:13:23 GMT +Reply-To: blarson@usc.edu +References: <1992Mar13.072004.12444@news.iastate.edu> +Lines: 20 + +In article <1992Mar13.072004.12444@news.iastate.edu>, + emann@iastate.edu (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. + +-- +blarson@usc.edu 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 / kermit@columbia.edu / 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 <olesen@me.queensu.ca>"> + <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 > +</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 = <</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 & 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 ></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 & 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 ".menu" 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} ^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} Open-File-Action</B></DD> +<DT>or hiding it</DT> +<DD><B>/File/{.anylabel}{Open} 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> +<r><EM>Right</EM><BR> +<l><EM>Left</EM><BR> +<u><EM>Up</EM><BR> +<d><EM>Down</EM> +</B></DT> +<DD>Define actions for the respective arrow buttons</DD> +<DT><B> +<b><EM>Begin</EM><BR> +<e><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><r> <l> <u> <d></B> +constructs +</DD> +</DL> + +<DL> +<DT>For example, define arrows individually,</DT> +<DD><B> +<u>\E[A<BR> +<d>\E[B<BR> +<r>\E[C<BR> +<l>\E[D +</B></DD> +<DT>or all at once</DT> +<DD><B><u>\E[A<d>\E[B<r>\E[C<l>\E[D</B></DD> +<DT>or more compactly (factoring out common parts)</DD> +<DD><B><b>\E[<u>A<d>B<r>C<l>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} 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><b>Begin<r>Right<l>Left<u>Up<d>Down<e>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> -> <B>W *= (W/100)</B><BR> +<B>0xH</B> -> <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 <b> <x> <y></TT></B></DT> +<DD>report mouse position</DD> +</DL> +<P> + <P> +The lower 2 bits of <B><TT><b></TT></B> indicate the button: +<DL> +<DT>Button = <B><TT><b> & 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><b></TT></B> indicate the modifiers when +the button was pressed and are added together (X11 mouse report only): +<DL> +<DT>State = <B><TT><b> & 28 - SPACE</TT></B></DT> +<DD> +4 = Shift<BR> +8 = Meta<BR> +16 = Control<BR> +Col = <B><TT><x> - SPACE</TT></B><BR> +Row = <B><TT><y> - 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 <x>;<y>;<w>;<h>:</TT></B></DT> +<DD>create window</DD> +</DL> +<P> + +<DL> +<DT><B><TT>ESC G C <id></TT></B></DT> +<DD>clear window</DD> +</DL> +<P> + +<DL> +<DT><B><TT>ESC G G <id>:</TT></B></DT> +<DD>query window<BR> +returns: <B><TT>ESC G <id> <x> <y> <w> <h> <fw> <fh> <nw> <nh></TT></B> +</DD> +</DL> +<P> + +<DL> +<DT><B><TT> +ESC G L <id><BR> +ESC G P <id><BR> +ESC G F <id> +</TT></B></DT> +<DD> +start point<BR> +start line<BR> +start fill +</DD> +</DL> +<P> + +<DL> +<DT><B><TT>;<x>;<y></TT></B></DT> +<DD>extend point/line/fill</DD> +</DL> + +<P> +<DL> +<DT><B><TT>ESC G T <id>;<x>;<y>;<mode>;<len>:<text></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: lars@mi.uib.no (Lars Johanson) +Newsgroups: comp.terminals +Subject: vt102 escape codes +Date: 24 Oct 1994 16:29:21 GMT +Organization: Haukeland Sykehus +Lines: 399 +Message-ID: <38gnd1$cio@due.uninett.no> +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: tihor@acf4.NYU.EDU (Stephen Tihor) +Message-Id: <9010271959.AA10105@acf4.NYU.EDU> +To: tihor@acf4.NYU.EDU +Subject: Re: VT100/52/ANSI et.al. Escape codes +Newsgroups: comp.os.vms +In-Reply-To: <9010240014.AA10730@ucbvax.Berkeley.EDU> 23 Oct 90 16:00 EDT + +/* acf4:comp.os.vms */ +/* 20950709@VUVAXCOM.BITNET (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 (209507097@VUVAXCOM.BITNET) + +(* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *) + + 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: pev@lk-hp-14.hut.fi (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: <26sh5a$oct@nntp.hut.fi> +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 ------ pev@vipu.hut.fi ------ +-------!/--------------------------------------------------- + + =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= + +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: msimms@kea.bc.ca (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: <3ro21u$559@angate.disc-net.com> +References: <3rnlcd$pg8@senator-bedfellow.MIT.EDU> +NNTP-Posting-Host: 204.174.235.139 +X-Newsreader: WinVN 0.92.5 + +In article <3rnlcd$pg8@senator-bedfellow.MIT.EDU>, igorlord@mit.edu (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 <T.Nugent@sct.gu.edu.au> +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: <3nvb45$2kl@griffin.itc.gu.edu.au> +Reply-To: T.Nugent@sct.gu.edu.au +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='%{[41;33;5m%}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 +T.Nugent@sct.gu.edu.au +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 T.Nugent@sct.gu.edu.au |--. + | __'!`__ | | Brisbane, Queensland tnugent@gucis.cit.gu.edu.au | | + | (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 <T.Nugent@sct.gu.edu.au> +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: <3nvdhf$36j@griffin.itc.gu.edu.au> +References: <3nvb45$2kl@griffin.itc.gu.edu.au> +Reply-To: T.Nugent@sct.gu.edu.au +NNTP-Posting-Host: kraken.itc.gu.edu.au +Keywords: vt100 vt102 vt220 ansi colour terminfo termcap term + +Tony Nugent <T.Nugent@sct.gu.edu.au> 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| _ | + | Email: T.Nugent@sct.gu.edu.au tnugent@gucis.cit.gu.edu.au | @|| + \__________________________________________________________________\_/| + / 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 + +In message <538902171@KSINET.COM>, John.ksi@KSINET.COM says: +> +> 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 <Paul_Green@vos.stratus.com> replied in message +<199502171715.MAA11104@transfer.stratus.com>: +| +| 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: jrd@cc.usu.edu (Joe Doupnik) +Newsgroups: comp.protocols.kermit.misc +Subject: Re: Defining functional keys +Message-ID: <1995Apr22.122257.48276@cc.usu.edu> +Date: 22 Apr 95 12:22:57 MDT +References: <3n5307$jdd@kaie.va.ttu.ee> +Organization: Utah State University +Lines: 109 + +In article <3n5307$jdd@kaie.va.ttu.ee>, uuno@sofia.va.ttu.ee (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: chan@ece.scarolina.edu (Simon Chan) +Subject: VT100 Reference Card !! ( if you are looking for....) +Message-ID: <chan.728236678@hertz> +Keywords: vt100 terminal escape codes +Sender: usenet@usceast.cs.scarolina.edu (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 chan@ece.scarolina.edu +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: gwyn@smoke.brl.mil (Doug Gwyn) +Newsgroups: comp.terminals +Subject: Re: VT100 Reference Card !! +Keywords: vt100 terminal escape codes +Message-ID: <19629@smoke.brl.mil> +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> chan@ece.scarolina.edu (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 +References: <18623@mindlink.bc.ca> <lj3vgrINNieu@news.bbn.com> +Sender: shuford@cs.utk.edu +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 <lj3vgrINNieu@news.bbn.com> pdsmith@bbn.com (Peter D. Smith) writes: +> In article <18623@mindlink.bc.ca>, Frank@mindlink.bc.ca (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: sherwin@royalt.enet.dec.com (Jim Sherwin) +Newsgroups: comp.terminals +Subject: Re: VT100 (DEC) Setup Problem (online/offline) +Message-ID: <29245@nntpd.lkg.dec.com> +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 \ sherwin@royalt.enet.dec.com <> + <> experiment detrimentally." \ !decwrl!royalt.enet.dec.com!sherwin <> + <> Boyle's Second Law \ sherwin%royalt.enet@decwrl.dec.com <> + <>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<> + + +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 <pplacewa@bbn.com> +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: <l5s9bpINNqdt@news.bbn.com> +References: <1992Jul8.204233.13120@csusac.csus.edu> <1992Jul9.053233.11670@f109f.mil.se> +NNTP-Posting-Host: bbn.com +Xref: utkcs2 comp.dcom.modems:20936 alt.bbs:11447 + +nils@f109f.mil.se (Nils Hammar) writes: + +< emamid@athena.ecs.csus.edu (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 <pplacewa@bbn.com> 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 <lars.doelle@on-line.de> # +# 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: <ESC>[ + . + <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 + <ESC> [ 0 ; 4 ; 5 m + </pre> + . + Alternate sequences which will accomplish the same thing: + . + <ul> + <li><code><ESC>[;4;m </code> + <li><code><ESC>[m </code> + <br><code><ESC>[4m </code> + <br><code><ESC>[5m </code> + <li><code><ESC>[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: ° ++/- Symbol: ± +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: ≤ +Graeter/Egual: ≥ +Pi symbol: π +Not equal: ≠ +UK pound symbol: £ +Centered dot: · 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 & 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 <ESC> 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><ESC>A</td><td><ESC>[A</td><td><ESC>OA</td></tr> +<tr><td>DOWN </td><td><ESC>B</td><td><ESC>[B</td><td><ESC>OB</td></tr> +<tr><td>RIGHT</td><td><ESC>C</td><td><ESC>[C</td><td><ESC>OC</td></tr> +<tr><td>LEFT </td><td><ESC>D</td><td><ESC>[D</td><td><ESC>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:lars.doelle@on-line.de">Lars Dö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/</</g; + s/>/>/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/</</g; +# s/>/>/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><</b>'; next; }; + /^>$/ && do { $res .= ' <b>></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 Binary files differnew file mode 100644 index 000000000..832c2dc65 --- /dev/null +++ b/konsole/doc/VT100/konsole1.gif diff --git a/konsole/doc/VT100/konsole2.gif b/konsole/doc/VT100/konsole2.gif Binary files differnew file mode 100644 index 000000000..eb2cdb4d0 --- /dev/null +++ b/konsole/doc/VT100/konsole2.gif 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 & 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: <ESC>[ + <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 + <ESC> [ 0 ; 4 ; 5 m + </pre> + <p> + Alternate sequences which will accomplish the same thing: + <p> + <ul> + <li><code><ESC>[;4;m </code> + <li><code><ESC>[m </code> + <br><code><ESC>[4m </code> + <br><code><ESC>[5m </code> + <li><code><ESC>[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 (<ESC>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>></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 <ESC>( 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><</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>></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 <ESC> 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><ESC>A</td><td><ESC>[A</td><td><ESC>OA</td></tr> +<tr><td>DOWN </td><td><ESC>B</td><td><ESC>[B</td><td><ESC>OB</td></tr> +<tr><td>RIGHT</td><td><ESC>C</td><td><ESC>[C</td><td><ESC>OC</td></tr> +<tr><td>LEFT </td><td><ESC>D</td><td><ESC>[D</td><td><ESC>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: °</td></tr> +<tr><td>0147</td> + <td align=center>g</td> + <td>+/- Symbol: ±</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: ≤</td></tr> +<tr><td>0172</td> + <td align=center>z</td> + <td>Graeter/Egual: ≥</td></tr> +<tr><td>0173</td> + <td align=center>{</td> + <td>Pi symbol: π</td></tr> +<tr><td>0174</td> + <td align=center>|</td> + <td>Not equal: ≠</td></tr> +<tr><td>0175</td> + <td align=center>}</td> + <td>UK pound symbol: £</td></tr> +<tr><td>0176</td> + <td align=center>~</td> + <td>Centered dot: ·</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:lars.doelle@on-line.de">Lars Dö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 |