RFC 336 UNKNOWN GRAPHICS · INPUT · PROTOCOL

Level 0 Graphic Input Protocol

A simple message format for graphics input

On rfc-editor.org ↗
PUBLISHED
May 1972
AUTHORS
I.W. Cotton
STREAM
Legacy
DOI
10.17487/RFC0336

RFC text

Original text · RFC Editor View on rfc-editor.org ↗
NIC 9929                                                Ira Cotton
NWG/RFC #336                                            Mitre
Level 0 Graphic Input Protocol                          5 May 1972

        Level 0 Graphic Input Protocol

           At its meeting on April 16-18 the network Graphics working
           group began to consider the definition of levels of protocol
           for graphic Input Protocol.  The following describes the
           Level 0 graphics input protocol.

           The philosophy guiding the establishment of this protocol is
           the same as suggested in RFC #178, "Network Graphic Attention
           Handling." Briefly, all input will be described by type,
           origin, and length, followed by the actual data.

           Only two types of input are defined at Level 0: text and
           simple position.

              Text Input

                  Text input will be conveyed in the following format:

                   TEXTIN : DEVICE : COUNT: Text String



                 TEXTIN is a protocol code indicating the nature of this
                 input string.  For the present this code is defined to
                 be 1.

                 DEVICE is a code indicating the device from which the
                 input originated.  The following codes are presently
                 defined:

                      0 - unspecified device
                      1 - primary keyboard
                      2 - tablet
                      3 - mouse
                      4 - joystick
                      5 - lightpen
                      6 - cursor
                      7 - keyset
                      8 - mouse & keyset

NIC 9929
NWG/RFC# 336
Level 0 Graphic Input Protocol

                 Count is an integer number indicating the number of
                 characters (bytes) which follow.

                 Text String is a string of "Count" bytes of characters
                 in network ASCII.

              Position Input

                   Simple position data will be conveyed in the
              following format:

                   POSIT : DEVICE : COUNT : x : y

                 POSIT is a protocol code indicating that this string
                 contains position data.  For the present this code is
                 defined to be 2.

                 DEVICE is a code indicating the input device on which
                 this data was generated.  The codes are as defined
                 above.

                 COUNT is an integer number indicating the number of
                 bytes of data which follow.  This includes data for
                 both x and y coordinates.  Thus, the number of bytes of
                 x coordinate data is COUNT divided by 2.  At level 0,
                 COUNT should always be 4, since at this level all
                 coordinates are expressed in 2 bytes of data.

                 x and y coordinate data are represented as signed
                 fractions in the same fashion that position data is
                 represented in the Level 0 graphic output protocol.

           It should be emphasized that input data from a level 0
           graphics user which is not in a format described above should
           be sent on a different link than the graphics input link.
           This may be desirable for certain applications to avoid the
           overhead of the protocol.

       [ This RFC was put into machine readable form for entry ]
       [ into the online RFC archives by BBN Corp. under the   ]
       [ direction of Alex McKenzie.                   12/96   ]

ISO Plain Language

On this page
PROBLEMGraphics systems need a consistent way to describe input from devices such as keyboards and pointing devices.
MECHANISMLevel 0 messages identify the input type, the originating device and the amount of following data before carrying the data.
SCOPE OF LEVEL 0The document defines formats for text and simple position input and directs other input to a different link.

§1A Common Structure for Input

The Level 0 Graphic Input Protocol describes each input by its type, its origin and its length, followed by the data itself. It defines only two kinds of input: text and simple position information.

Device codes identify sources such as a primary keyboard, tablet, mouse, joystick, lightpen, cursor or keyset. Code 0 means that the device is unspecified.

Every input message identifies what it contains, which device sent it and how much data follows. Level 0 covers text and position information.

§2Text and Position Messages

A text message uses the TEXTIN code, a device code, a character count and then a string of network ASCII characters. A position message uses POSIT, a device code, a byte count and then x and y coordinates.

At Level 0, the position count is always four bytes: two bytes for each coordinate. The coordinates are signed fractions, following the representation used by the Level 0 graphic output protocol.

A text message gives the length of its text. A position message gives the size of its two coordinates, with two bytes for each coordinate.

§3Input Outside the Level 0 Format

The protocol covers only the two defined Level 0 formats. The RFC says input that does not fit these formats should travel on a different link from the graphics input link. It notes that this separation may be useful when the extra protocol overhead is not wanted.

If an input does not match the text or position format, send it on another link. This avoids using the Level 0 format for data it does not describe.