📄 rfc178.txt
字号:
Since keyboards permit the entry of arbitrary codes, particular
sequences of codes may easily be defined to simulate other devices.
If local logic permits, codes may be accumulated until a complete
sequence is entered and then be reformatted to exactly the same
format as the device being simulated would have produced.
Pointing devices such as light pens and tablets may be simulated by
associating particular keys with screen directions (up, down, right,
left) and using them to position a pointer on the screen face. This
facilitated on terminals with a hardware connection between keys and
cursor symbol.
4.2 ANALOG DEVICES
The next most basic class of input devices are those which consist of
analog to digital converters. These include simple shaft encoders,
mouse and trackball. These devices all produce a digital output
proportional to an analog input, in this case, the rotation of a
shaft. Several of these inputs may be presented together, as in the
case of the mouse and trackball.
Cotton [Page 6]
RFC 178 NETWORK GRAPHIC ATTENTION HANDLING June 1971
These devices all present as input a device identification (which may
be implicit depending on the hardware method of input) together with
a number of digital codes from the same number of analog devices.
The length of the code is arbitrary and may or may not relate to such
measures as the maximum raster count of the display screen.
Analog devices are often used as pointing devices by using the input
to control the movement of a cursor on the screen face. This method
is superior to the use of a keyboard, since very smooth and rapid
movement may be obtained.
4.3 TABLETS
A tablet consists of a flat surface on which (X,Y) position may be
indicated with a stylus. If position changes can be registered
rapidly enough, arbitrary curves may be digitized by tracing them.
There are a variety of devices utilizing a variety of techniques
comprising this class. Included are such diverse techniques as
variable resistance, variable capacitance, and ultrasonics, to
mention a few of the devices on the market. The surface may be
horizontal or vertical and may even be superimposed on the screen
itself. A variety of styli have been used, including the operator's
finger. A device (the Lincoln Wand) has also been demonstrated which
may be manipulated in space to yield a position in three dimensions
(X,Y,Z).
These devices all present a device identification (which may be
implicit), and a position value, which is most often a coordinate
pair, but which may be a triple.
4.4 LIGHT PEN
Light pens are devices which relate the occurrence of an attention to
the time in the refresh cycle when a particular point is illuminated
on the screen. The display generators are generally stopped when the
attention occurs, to permit either the display list "P" register or
the (X,Y) beam position registers, or both to be presented as
attention data. Often times this is not enough, as what is desired
is some value which serves to identify the image which the pen
detected. In such cases local hardware and/or software is utilized
to obtain this information, which may be as simple as a single
identification code or as elaborate as a genealogical push down list.
Cotton [Page 7]
RFC 178 NETWORK GRAPHIC ATTENTION HANDLING June 1971
Light pens present as input a device identification (which may be
implicit) and at least one of the following: memory address, (X,Y)
position, item identification.
Light pens may be used to simulate keyboards by displaying "light
buttons" on the screen associated with particular physical buttons.
Detecting on a light button is logically equivalent to pushing the
related key.
4.5 INTERNAL ATTENTIONS
Internal attentions are stimuli arising not from operator action, but
from various sources within the terminal such as a screen edge
violation (overflow) or a programmed trap. Such attentions present
information in much the same way as the operator input devices
already discussed. This information consists of an attention source
identification (equivalent to device identification, and which may
again, be implicit) and appropriate data, which, for the two examples
given, will generally be a memory address.
Programmed traps are often used to permit mode changes (e.g., enable
or disable light pen operation) during the execution of the display
list. Edge violation might occur when an image is being relocated in
response to operator input. We must provide for describing such
attentions, since then cannot always be handled locally in the
terminal.
4.6 LOGICAL ATTENTIONS
We may generalize the concept of an attention from a stimulus from a
physical source to a logically generated stimulus resulting from some
program condition which may or may not cause an interrupt.
(Programmed traps were classified as internal attentions because, by
definition, they cause an interrupt or set a hardware flag). Logical
attentions are generally "input" by setting a software flag which
some control program can periodically inspect. For example, logical
attentions may be designed to detect when a software-defined edge
violation occurs (of a region less than full screen) or when a light
button is picked. There is no general form for the information
generated by logical attentions, since they are programmable, rather
than hardware-bound. The best we can do is to say they consist of an
identification and appropriate data. Actually, logical attentions
most often simulate physical attentions, and so each may be placed in
one of the classes already described.
Cotton [Page 8]
RFC 178 NETWORK GRAPHIC ATTENTION HANDLING June 1971
TABLE I
INPUT DEVICE SUMMARY
DEVICE CLASS DEVICE EXAMPLES TYPICAL OUTPUT
Button Teletype 1 Character
Function Key with Overlay 1 Character and
overlay code
Buffered Keyboard n Characters
A/D Converter Shaft Encoder delta a
Mouse (delta a, delta b)
Tablet Rand Tables and (X,Y)
Lincoln Word (X,Y,Z)
Light Pen Light Pen P (memory address)
Light Pen (X,Y)
Light Pen and Local Software Item Name
Light Pen and Local Software Item name stack
Internal Program Trap P (memory address)
Screen Overflow P (memory address)
Logical Attention Any of the above Any of the above
5.0 INTELLIGENT TERMINALS
As has been indicated, the question of what data results from which
inputs is complicated when "intelligent terminals" are considered.
An intelligent terminal has the ability to modify the data presented
by the input device hardware. In a sense then, all of the outputs of
an intelligent terminal may be considered as logical attentions. The
logical complexity of such attentions may be very great indeed. For
example, such a terminal might be programmed to perform sketching
functions, so that the net effect of a keystroke and a light pen hit
might be the deletion of a portion of the picture together with some
coded message to the effect. A technique has even been developed
which permits the light pen operator to simulate the use of a shaft
encoder by twisting his wrist which holding the pen over a tracking
symbol (7).
Some intelligent terminal systems have been developed which permit
the terminal operator to modify the picture and the local data
structure independently.(2) Thus, the need for a very expressive
protocol from terminal to central computer becomes apparent, so that
notice of such local processing may be communicated to the central
Cotton [Page 9]
RFC 178 NETWORK GRAPHIC ATTENTION HANDLING June 1971
program.
6.0 NETWORK PROTOCOL GUIDELINES
We now suggest a format for a (third level) network protocol from
terminal to serving host which is sufficiently open-ended to permit
any type of attention to be communicated. It is not the intent here
to formally propose such a protocol down to the level of "this bit
means that." When such details are decided, a Network Standard
Attention will have been defined.
The attention protocol has three basic elements: device
identification, data identification, and data.
6.1 DEVICE IDENTIFICATION
The device identification field must be sufficiently large to permit
the unique identification of any TYPE OF DEVICE in the network. If
two or more identical input devices exist at different nodes in the
network, it is not necessary to distinguish among them in this field.
However, if a keyboard, for example, has keys which are logically
different, such as typewriter keys and function keys, the distinction
should be made in the identification field, rather than requiring an
analysis of the data. Further, if two different devices are
logically equivalent, as a physical keyboard and light buttons, they
may be so treated by NOT having identification codes different from
each other.
Somewhere in the network (and possibly at each host supporting a
graphic application) a table should be kept of the input device types
and their characteristics. It may be convenient to organize the
device identification field so that a subfield identifies the device
CLASS, as discussed previously
6.2 DATA IDENTIFICATION
The device identification field is intended to contain a description
of the data field which follows. Information which might be provided
here includes number of units (bits, words, bytes) of data which
follow, qualitative description of the data (character code, memory
address, cartesian coordinates, item name, etc.), and data format
information. It may be desirable, for the sake of uniformity, to
include this information even when it is somewhat redundant.
Cotton [Page 10]
RFC 178 NETWORK GRAPHIC ATTENTION HANDLING June 1971
6.3 DATA
Lastly comes the data itself (perhaps an anticlimax at this point!)
which, as should be clear by now, may be of arbitrary length and
organization.
BIBLIOGRAPHY
1. Cotton, I. "Languages for Graphic Attention-Handling." Proc.
Computer Graphics 70 Symposium, Brunel University, 197.
2. Cotton, I. and F. Greatorex "Data Structures and Techniques for
Remote Computer Graphics," Proc. FJCC, 1968, pp. 533-544.
3. Crocker, S. "Proposal for a Network Standard Format for a Data
Stream to Control Graphics Display." ARPA Network Working Group,
RFC # 86, 1971.
4. Harslem, E. and J. Heafner "Some Thoughts on Network Graphics,"
ARPA Network Working Group, RFC # 94, 1971.
5. Keast, D. "Survey of Graphic Input Devices," MACHINE DESIGN.
August 3, 1967, pp. 114-120.
6. McConnell, J. "Response to RFC #86," ARPA Network Working
Group, RFC #125, 1971.
7. Newman, W. "A Graphical Technique for Numerical Input,"
COMPUTER J., May 1968, pp. 63-64.
8. Vezza, A. "Topic for Discussion at the Next Network Working
Group Meeting." ARPA Network Working Group, RFC #87, 1971.
[This RFC was put into machine readable form for entry]
[into the online RFC archives by Kelly Tardif,Viag閚ie 11/99]
Cotton [Page 11]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -