1 01/11/82  Modes Operation
  2 
  3 The following list of modes are recognized by the tty_ I/O module,
  4 set_tty command and the modes preaccess request.  The modes operation
  5 to tty_ is supported when the I/O switch is open.
  6 
  7 Some modes have a complement indicated by the circumflex character
  8 (^) that turns the mode off (e.g., ^erkl).  For these modes the
  9 complement is displayed with the mode.  Normal defaults are indicated
 10 for those modes that are generally independent of terminal type.  The
 11 modes string is processed from left to right.  Thus, if two or more
 12 contradictory modes appear within the same modes string, the rightmost
 13 mode prevails.
 14 
 15 
 16 List of modes:
 17 8bit, ^8bit
 18    causes input characters to be received without removing the 8th
 19    (high-order) bit, which is normally interpreted as a parity bit.
 20    This mode is valid for HSLA channels only.  (Default is off.)
 21 blk_xfer, ^blk_xfer
 22    specifies that the user's terminal is capable of transmitting a
 23    block or "frame" of input all at once in response to a single
 24    keystroke.  The system may not handle such input correctly unless
 25    blk_xfer mode is on and the set_framing_chars order has seen issued.
 26    (Default is off.)
 27 breakall, ^breakall
 28    enables a mode in which all characters are assumed to be break
 29    characters, making each character available to the user process as
 30    soon as it is typed.  This mode only affects get_chars operations.
 31    (Default is off.)
 32 
 33 
 34 can, ^can
 35    performs standard canonicalization on input.  (Default is on.)
 36 can_type=overstrike, can_type=replace
 37    specifies the method to be used to convert an input string to
 38    canonical form.  Canonicalization is only performed when the I/O
 39    switch is in "can" mode.  (Default is can_type=overstrike.)
 40 capo, ^capo
 41    outputs all lowercase letters in uppercase.  If edited mode is on,
 42    uppercase letters are printed normally; if edited mode is off and
 43    capo mode is on, uppercase letters are preceded by an escape (\)
 44    character.  (Default is off.)
 45 crecho, ^crecho
 46    echoes a carriage return when a line feed is typed.  This mode can
 47    only be used with terminals and line types capable of receiving and
 48    transmitting simultaneously.
 49 
 50 
 51 ctl_char, ^ctl_char
 52    specifies that ASCII control characters that do not cause carriage
 53    or paper motion are to be accepted as input, except for the NUL
 54    character.  If the mode is off, all such characters are discarded.
 55    (Default is off.)
 56 default
 57    is a shorthand way of specifying erkl, can, ^rawi, ^rawo, ^wake_tbl,
 58    and esc.  The settings for other modes are not affected.
 59 echoplex, ^echoplex
 60    echoes all characters typed on the terminal.  The same restriction
 61    applies as for crecho; it must also be possible to disable the
 62    terminal's local copy function.
 63 
 64 
 65 edited, ^edited
 66    suppresses printing of characters for which there is no defined
 67    Multics equivalent on the device referenced.  If edited mode is off,
 68    the 9-bit octal representation of the character is printed.
 69    (Default is off.)
 70 erkl, ^erkl
 71    performs "erase" and "kill" processing on input.  (Default is on.)
 72 esc, ^esc
 73    enables escape processing on all input read from the device.
 74    (Default is on.)
 75 force
 76    specifies that if the modes string contains unrecognized or invalid
 77    modes, they are to be ignored and any valid modes are to be set.  If
 78    force is not specified, invalid modes cause an error code to be
 79    returned, and no modes are set.
 80 
 81 
 82 fulldpx, ^fulldpx
 83    allows the terminal to receive and transmit simultaneously.  This
 84    mode should be explicitly enabled before enabling echoplex mode.
 85 hndlquit, ^hndlquit
 86    echoes a newline character and performs a resetread of the
 87    associated stream when a quit signal is detected.  (Default is on.)
 88 iflow, ^iflow
 89    specifies that input flow control characters are to be recognized
 90    and/or sent to the terminal.  The characters must be set before
 91    iflow mode can be turned on.
 92 init
 93    sets all switch type modes off, sets line length to 50, and sets
 94    page length to zero.
 95 
 96 
 97 lfecho, ^lfecho
 98    echoes and inserts a line feed in the user's input stream when a
 99    carriage return is typed.  The same restriction applies as for
100    crecho.
101 llN, ^ll
102    specifies the length in character positions of a terminal line.  If
103    an attempt is made to output a line longer than this length, the
104    excess characters are placed on the next line.  If ^ll is specified,
105    line length checking is disabled.  In this case, if a line of more
106    than 255 column positions is output by a single call to
107    iox_$put_chars, some extra white space may appear on the terminal.
108 
109 
110 no_outp, ^no_outp
111    causes output characters to be sent to the terminal without the
112    addition of parity bits.  If this mode and rawo mode are on, any
113    8-bit pattern can be sent to the terminal.  This mode is valid for
114    HSLA channels only.  (Default is off.)
115 oddp, ^oddp
116    causes any parity generation that is done to the channel to assume
117    odd parity.  Otherwise, even parity is assumed for line types other
118    than 2741 and 1050.  This mode is valid for HSLA channels only.
119    (Default is off.)
120 oflow, ^oflow
121    specifies that output flow control characters are to be recognized
122    when sent by the terminal.  The characters and the protocol to be
123    used must be set before oflow mode can be turned on.
124 
125 
126 plN, ^pl
127    specifies the length in lines of a page.  When an attempt is made
128    to exceed this length, a warning message is printed.  When the
129    user types a formfeed or newline character (any break character),
130    the output continues with the next page.  the warning message is
131    normally the string "EOP", but can be changed by means of the
132    set_special control order.  The string is displayed on a new line
133    after N consecutive output lines are sent to the screen (including
134    long lines which are folded as more than one output line).  To have
135    the end-of-page string displayed on the screen without scrolling
136    lines off the top, N should be set to one less than the page length
137    capability of the screen, unless the end-of-page string is a null
138    string.  In this case, output stops at the end of the last line of
139    the page or screen.  If ^pl is specified, end-of-page checking is
140    disabled.  (See description of scroll mode below.)
141 polite, ^polite
142    does not print output sent to the terminal while the user is typing
143    input until the carriage is at the left margin, unless the user
144    allows 30 seconds to pass without typing a newline.  (Default is
145    off.)
146 
147 
148 prefixnl, ^prefixnl
149    controls what happens when terminal output interrupts a partially
150    complete input line.  In prefixnl mode, a newline character is
151    inserted in order to start the output at the left margin; in
152    ^prefixnl mode, the output starts in the current column position.
153    (Default is on.)  Polite mode controls when input may be interrupted
154    by output; prefixnl controls what happens when such an interruption
155    occurs.
156 rawi, ^rawi
157    reads the data specified from the device directly without any
158    conversion or processing.  (Default is off.)
159 rawo, ^rawo
160    writes data to the device directly without any conversion or
161    processing.  (Default is off.)
162 
163 
164 red, ^red
165    sends red and black shifts to the terminal.
166 replay, ^replay
167    prints any partial input line that is interrupted by output at the
168    conclusion of the output, and leaves the carriage in the same
169    position as when the interruption occurred.  (Default is off.)
170 scroll, ^scroll
171    specifies that end-of-page checking is performed in a manner suited
172    to scrolling video terminals.  If the mode is on, the end-of-page
173    condition occurs only when a full page of output is displayed
174    without intervening input lines.  The mode is ignored whenever
175    end-of-page checking is disabled.  (Default is off.)
176 tabecho, ^tabecho
177    echoes the appropriate number of spaces when a horizontal tab is
178    typed.  The same restriction applies as for crecho.
179 
180 
181 tabs, ^tabs
182    inserts tabs in output in place of spaces when appropriate.  If tabs
183    mode is off, all tab characters are mapped into the appropriate
184    number of spaces.
185 vertsp, ^vertsp
186    performs the vertical tab and formfeed functions, and sends
187    appropriate characters to the device.  Otherwise, such characters
188    are escaped.  (Default is off.)
189 wake_tbl, ^wake_tbl
190    causes input wakeups to occur only when specified wakeup characters
191    are received.  Wakeup characters are defined by the set_wakeup_table
192    order.  This mode is ineffective unless breakall mode is also on.
193    This mode cannot be set unless a wakeup table has been previously
194    defined.