Graphical input is concerned about communicating with the computer in a visual language.

In the 1960s, Gabriel Groner wrote a program which recognized handprinted letters, numbers, punctuation marks, and geometric figures. A user communicates with the computer via writing on a tablet with a pen, pressing it against the writing surface.

The decoding scheme smoothes the stroke by averaging a newly arrived point with the previously smoothed point. Next, thinning removes some of the points from the pen stroke by comparing the latest position with the position of the previous point in the thinned track. By detecting changes in the direction of the points in the path we have sufficient description for recognition.

Palm Graffiti

Graffiti is a single-stroke shorthand handwriting recognition system used in PDAs based on the Palm OS in which the user cannot see their stroke. The software is based primarily on a neography of upper-case characters that can be drawn blindly with a stylus on a touch-sensitive panel.

Grail is a graphical input language.

Characters are traced on a drawing surface and reduced to a sequence of direction changes in the path that makes up a letter or number. Alternatively, a d-pad may also be used to input the characters by directly pressing the arrows for the direction changes. This graphical input system supports the basic ASCII numbers, letters and symbols. This hand-writing recognition program was directly inspired by the program from RAND by the same name.


The drawing surface is split into three regions, the upper one capitalizes the letters, the middle one is lowercase letters and the bottom one is punctuation. See the full collection of supported glyphs.


Grail includes arrow controls, sent as bytes. To use this mode, you need a pen with buttons for right-click. This scheme is supported in Left.

Special Operations
0x06begin selection
0x16end selection


uxnasm grail.tal grail.rom

incoming grail