Response to NWG/RFC 110
Revised keying conventions so an IBM 2741 terminal can reach network hosts without the keys it lacks.
Hathaway, W., "Response to NWG/RFC 110", RFC 135, DOI 10.17487/RFC0135, April 1971, <https://www.rfc-editor.org/info/rfc135>.
@misc{rfc135,
series = {Request for Comments},
number = 135,
howpublished = {RFC 135},
publisher = {RFC Editor},
doi = {10.17487/RFC0135},
url = {https://www.rfc-editor.org/info/rfc135},
author = {W. Hathaway},
title = {{Response to NWG/RFC 110}},
pagetotal = 3,
year = 1971,
month = apr,
} RFC text
Network Working Group W. Hathaway
Request for Comments: 135 AMES
NIC: 6712 29 April 1971
Updates: 110
Response to NWG/RFC #110
(Conventions for Using an IBM 2741 Terminal as a User Console for
Access to Network Server Hosts)
I would like to propose the following conventions to replace the ones
proposed in RFC #110. The original conventions suffer from lack of
consideration of the correspondence 2741 and what I feel are
inconsistencies and considerable difficulty of use. (The 2741
terminal with correspondence keyboard does not have all of the
standard characters, notably:
less than <
greater than >
logical not [1]
vertical bar |
Thus we must not use any of these characters in our conventions if we
wish to support the correspondence 2741.)
The dedication of certain characters to special functions involves a
trade-off: the convenience of having the function as a single key
versus the inconvenience of having to use two keys to enter the
character as data. I believe that only two of the special functions
listed in RFC #110 justify the dedication of a key: the "character
escape" function and the "character delete" function. For the
"character escape" function I recommend the cent sign [2], as this
character is on both the regular and correspondence 2741 terminals
and is not in the ASCII character set. For the "character delete"
function I recommend the backspace key for obvious reasons. While
there is some need to be able to enter the character "backspace" (as
for underscoring output etc.,) I feel that the trade-off mentioned
above clearly indicates a single key "character delete" would be much
more valuable than a single key "backspace" and a two key "character
delete."
For the other special functions I recommend two key combinations,
consisting of "character escape" [2] and a key to define the
function. These are summarized below:
character escape [2]
character delete backspace
system delete [2]$
line delete [2]# or [2]#NL
logical line end [2];
line continuation [2]NL
ASCII control [2]@
The option in "line delete" is to allow the user to enter a new line
(NL) immediately after the "line delete" to line up margins without
entering a null line; to enter a null line after a "line delete"
would require two NL characters.
The two new functions defined above, "line continuation" and "ASCII
control," are used as follows. The "line continuation" is used to
enter a line which is longer than the 2741 carriage (or the margin
placement) will permit. It can be looked on as the complement of the
"logical line end" in that is allows you to enter one logical line on
several physical lines.
The use of the "ASCII control" function requires some background.
There are of course many characters in ASCII which are keyed as
combinations of "control" and another key. The "character escape"
function may be used to handle these control characters as follows: a
"character escape" followed by a letter will be the equivalent of the
ASCII "control" "letter", written as Xc (where X is the letter).
This will greatly simplify the conventions for users, as they will
simply key "[2]A" where they are used to using Ac and so forth. For
completeness, however, there needs to be a way to key the additional
control characters which require both "control" and "shift" in
addition to a letter (such as ESC, which is SHIFT Mc). Further it is
desirable that a more mnemonic system be provided for the non-
Teletype user, who knows he wants a LF but does not know that it is a
Jc. To satisfy both of these needs I recommend the "ASCII control"
special function, which is used to enter any of the ASCII control
character as "[2]@" followed by the standard two or three character
abbreviation. Thus "escape" would be [2]@ESC, "line feed" would be
[2]@LF, and so forth. The use of the variable length abbreviation
does not introduce any ambiguity, although from an implementation
standpoint it may be advantageous to use the two character
abbreviation proposed in RFC #110.
Finally we must be able to enter the eight ASCII graphics which do
not appear on either 2741 terminal, as well as the "cent sign" and
"backspace" themselves (without their special functions). For these
I recommend the following:
[2]( for [
[2]) for ]
[2]6 for {
[2]9 for }
[2]/ for \
[2]' for '
[2]" for ^
[2]- for ~
[2][2] for [2]
[2]backspace for backspace
Note that the characters "<" and ">" do not appear on the
correspondence 2741 and hence should not be used.
Endnotes
[1] logical not
[2] cent sign
[This RFC was put into machine readable form for entry]
[into the online RFC archives by Lorrie Shiota, 10/02]
AI ELI5
On this page
§1Why Replace RFC 110
The author proposes conventions to replace those of RFC 110, which he finds inconsistent and difficult to use. The 2741 terminal with a correspondence keyboard lacks several standard characters: less than, greater than, logical not and vertical bar. No convention that wants to support it can use them.
Dedicating a key to a special function is a trade-off. It is convenient as a single key, but entering that character as data then takes two keys. The author concludes that only two functions deserve a dedicated key.
If a keyboard has no star key, a game that needs the star key cannot be played on it. So the rules should only use keys everyone has.
§2The Special Functions
The character escape is the cent sign, which is on both the regular and correspondence 2741 and is not in the ASCII character set. The character delete is the backspace key. Every other function is the escape followed by a defining key.
Two functions are new. Line continuation lets one logical line be entered on several physical lines when it is longer than the carriage or margin allows. ASCII control is the escape followed by @ and then a standard two or three character abbreviation, which enters any ASCII control character, such as ESC or LF. The escape followed by a plain letter already acts like holding control and that letter.
One special key says the next key means something special. Every shortcut is that key plus one more.
- CENTCharacter escape — Starts every two-key function.
- BackspaceCharacter delete — Single-key delete.
- CENT $System delete — Escape then dollar sign.
- CENT #Line delete — Optionally followed by NL, to line up margins without a null line.
- CENT ;Logical line end — Ends a logical line.
- CENT NLLine continuation — Enter one logical line on several physical lines.
- CENT @ASCII control — Followed by an abbreviation such as ESC or LF.
§3Entering Missing Characters
Eight ASCII graphics appear on neither 2741 keyboard, and the cent sign and backspace must also be enterable as plain data. The proposal gives each a two-key form that begins with the escape. For example, the escape followed by ( stands for [, followed by ) stands for ], followed by 6 stands for { and followed by 9 stands for }.
Escape followed by escape gives the cent sign itself, and escape followed by backspace gives a real backspace. The RFC repeats that < and > are not on the correspondence 2741 and should not be used.
If a letter is missing from your keyboard, you press the special key and then a stand-in key, like writing a secret code for the missing letter.