RFC 336

Level 0 Graphic Input Protocol

๐Ÿ“… published May 1972, from ietf

Level 0 Graphic Input Protocol ๐ŸŽ€

okay bestie, this is the RFC that sets up the most basic level of graphic input ๐Ÿ’– It's from 5 May 1972 and it was written by Ira Cotton at Mitre โœจ It's filed as NIC 9929 and NWG/RFC #336. The document doesn't say what category or status it has, and it doesn't say whether it obsoletes or updates anything ๐Ÿ™ˆ


okay so the network Graphics working group met on April 16-18 and started thinking about defining levels of protocol for graphic Input Protocol ๐Ÿงš this doc is about Level 0 ๐ŸŒธ

the vibe is the same as in RFC #178, "Network Graphic Attention Handling." ๐Ÿ’œ the basic idea is that all input gets described by its type, its origin, and its length, and then the actual data comes after that ๐Ÿซถ

at Level 0 there are only two types of input: text and simple position ๐Ÿฆ‹

Text Input

text input gets sent in this format:

TEXTIN : DEVICE : COUNT: Text String
  • TEXTIN is the protocol code that tells you this string is input. For now, this code is 1 ๐Ÿ’…
  • DEVICE is a code for the device the input came from. These are the codes right now:
0 - unspecified device
1 - primary keyboard
2 - tablet
3 - mouse
4 - joystick
5 - lightpen
6 - cursor
7 - keyset
8 - mouse & keyset
  • COUNT is an integer that tells you how many characters (bytes) come after it ๐Ÿ“
  • Text String is a string of "Count" bytes of characters in network ASCII โœจ

Position Input

simple position data gets sent in this format:

POSIT : DEVICE : COUNT : x : y
  • POSIT is the protocol code that says this string has position data. For now, this code is 2 ๐ŸŒˆ
  • DEVICE is the input device that made this data. The codes are the same as the ones above ๐Ÿ’–
  • COUNT is an integer for how many bytes of data come after it. That includes both the x and y coordinates, so the number of bytes for x is COUNT divided by 2 ๐Ÿงฎ at level 0, COUNT should always be 4, since every coordinate is 2 bytes at this level ๐Ÿ‘‘
  • x and y coordinate data are written as signed fractions, the same way position data is written in the Level 0 graphic output protocol ๐Ÿ”ฅ
it's really important that input data from a level 0 graphics user that doesn't match one of the formats above should be sent on a different link than the graphics input link โš ๏ธ apps might want to do this to skip the overhead of the protocol, which is honestly iconic ๐Ÿ’…

[ 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   ]
๐Ÿ“ฆ where this page comes from