old-www/HOWTO/Text-Terminal-HOWTO-22.html

146 lines
6.7 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.21">
<TITLE> Text-Terminal-HOWTO: Appendix B: Escape Sequence Commands Terminology </TITLE>
<LINK HREF="Text-Terminal-HOWTO-23.html" REL=next>
<LINK HREF="Text-Terminal-HOWTO-21.html" REL=previous>
<LINK HREF="Text-Terminal-HOWTO.html#toc22" REL=contents>
</HEAD>
<BODY>
<A HREF="Text-Terminal-HOWTO-23.html">Next</A>
<A HREF="Text-Terminal-HOWTO-21.html">Previous</A>
<A HREF="Text-Terminal-HOWTO.html#toc22">Contents</A>
<HR>
<H2><A NAME="esc"></A> <A NAME="s22">22.</A> <A HREF="Text-Terminal-HOWTO.html#toc22">Appendix B: Escape Sequence Commands Terminology </A></H2>
<P> These are sometimes called "control sequences". This section of
Text-Terminal-HOWTO is incomplete (and may never be complete as there
are such a huge number of control sequences). This section is for
reference and perhaps really belongs in something that would be called
"Text-Terminal-Programming-HOWTO".</P>
<P>An example of an ANSI standard escape sequence is ESC[5B which moves
the cursor down 5 lines. ESC is the Escape character. The parameter
5 is included in the sequence. If it were 7 the cursor would move
down 7 lines, etc. A listing for this sequence as "move cursor down x
lines: ESC[xB" is easy to to understand. But command jargon such as:
"tertiary device attribute request" is less comprehensible. This
section will try to explain some of the more arcane jargon used for
escape sequence commands. A full listing (including the escape
sequence codes for the ANSI standard) is a "wish list" project. Since
many escape sequences do the same thing as is done when setting up the
terminal with
<A HREF="Text-Terminal-HOWTO-14.html#set_up_pars">Set-Up Options</A>, such
escape sequences options will not be repeated here.</P>
<H2><A NAME="esc_seq_lists"></A> <A NAME="ss22.1">22.1</A> <A HREF="Text-Terminal-HOWTO.html#toc22.1">Esc Sequence Lists </A>
</H2>
<P>See url url= "http://www.neoware.com/docs/teemtalk/t2k17pro.pdf"
name="TeemTalk.2000 Programmer's Guide v 1.7"> in pdf format. But
there are some sites that have info for certain terminals. For VT
terminals see
<A HREF="http://www.vt100.net/">VT Manuals</A>.
Other lists have disappeared from the internet. </P>
<H2><A NAME="ss22.2">22.2</A> <A HREF="Text-Terminal-HOWTO.html#toc22.2">8-bit Control Codes</A>
</H2>
<P> Table of 8-bit DEC control codes (in hexadecimal). Work on VT2xx or
later. CSI is the most common.
<BLOCKQUOTE><CODE>
<PRE>
ACRONYM FULL_NAME HEX REPLACES
IND Index (down one line) 84 ESC D
NEL Next Line 85 ESC E
RI Reverse Index (one line up) 8D ESC M
SS2 Single Shift 2 8E ESC N
SS3 Single Shift 3 8F ESC O
DCS Device Control String 90 ESC P
CSI Control Sequence Introducer) 9B ESC [
ST String Terminator 9C ESC \
</PRE>
</CODE></BLOCKQUOTE>
</P>
<H2><A NAME="printer_esc"></A> <A NAME="ss22.3">22.3</A> <A HREF="Text-Terminal-HOWTO.html#toc22.3">Printer Esc </A>
</H2>
<P>
<UL>
<LI> Auto Print on/off: When on, data from the host is also teed
(sent) to the printer port of the terminal (and also shows on the
terminal screen).</LI>
<LI> Print Controller on/off: When on, data from the host is sent
only to the printer (nothing shows on the terminal screen).</LI>
</UL>
</P>
<H2><A NAME="ss22.4">22.4</A> <A HREF="Text-Terminal-HOWTO.html#toc22.4">Reports</A>
</H2>
<P> These sequences are usually a request sent from the host to
request a report from the terminal. The terminal responds by sending
a report (actually another escape sequence) to the host which has
embedded in it certain values telling the host about the current state
of the terminal. In some cases a report may be sent to the host even
if it wasn't asked for. This sometimes happens when set-up is exited.
By default no unsolicited reports should be sent.</P>
<P>
<UL>
<LI> Request for Status (Report Operating Status): Meaning of
replies for VT100 is either "I'm OK" or "I'm not OK"</LI>
<LI> Request for Device Attributes: The "device" is usually the
printer. Is there a printer? Is it ready?</LI>
<LI> Reqest for Tertiary Device Attributes (VT): Reply is report that
was entered during set-up. The tertiary device is the 3rd device
(the printer or auxiliary port device ??). The 1st device may
be the host computer and the 2nd device the terminal.</LI>
<LI> Request for Terminal Parameters: What is the parity, baud
rate, byte width, etc. This request doesn't seem to make much sense,
since if the host didn't already know this it couldn't communicate
with the terminal or send a reply.</LI>
</UL>
</P>
<H2><A NAME="ss22.5">22.5</A> <A HREF="Text-Terminal-HOWTO.html#toc22.5">Cursor Movements</A>
</H2>
<P> The cursor is where the next character received from the host will
be displayed. Most of the cursor movements are self-explanatory.
"index cursor" means to move the cursor down one line. Cursor
movements may be relative to the current position such as "move 4
spaces left" or absolute such as "move to row 3, column 39". Absolute
is called "Direct Cursor Positioning" or "Direct Cursor Addressing".</P>
<P>The home position is row 1 col. 1 (index origin is 1). But where this
home position is on the physical screen is not completely clear. If
"Cursor Origin Mode" = "Relative Origin Mode" is set, then home is at
the top of the scrolling region (not necessarily the top of the
screen) at the left edge of the screen. If "Absolute Origin Mode" is
set (the same as unsetting any of the two modes in the previous
sentence) then home is at the upper left corner of the screen. On
some old terminals if "Cursor Origin Mode" is set it means that it's
relative.</P>
<H2><A NAME="pages_def"></A> <A NAME="ss22.6">22.6</A> <A HREF="Text-Terminal-HOWTO.html#toc22.6">Pages (definition) </A>
</H2>
<P> See
<A HREF="Text-Terminal-HOWTO-9.html#pages_">Pages</A> for an explanation of pages.
There are a number of escape sequences to deal with pages. Text may
be copied from one page to another and one may move the cursor from
page to page. Switching pages may or may not be automatic: when the
screen becomes full (page 1) then more data from the host goes to page
2. The cursor may only be on one page at a time and characters which
are sent to the terminal go there. If that page is not being
displayed, new text will be received by the terminal and go into
display memory, but you will not see it (until the terminal is
switched to that page).</P>
<HR>
<A HREF="Text-Terminal-HOWTO-23.html">Next</A>
<A HREF="Text-Terminal-HOWTO-21.html">Previous</A>
<A HREF="Text-Terminal-HOWTO.html#toc22">Contents</A>
</BODY>
</HTML>