Communicating in code; the Serial Code Keyboard helps the severely handicapped communicate. Wolfger Schneider.
Data and command entry to computers via a typical keyboard is a relatively easy task for those of us who have no physical handicaps. But consider the plight of the upper limb amputee trying to type shift or control keys using the traditional mouthstick. Or how about a quadriplegic just rying to move any key with remnant head motion or vestigial finger or toe motion. Many of these individuals are currently denied access to computers because of the lack of a suitable data entry technique.
The Serial Code Keyboard under development at the Applied Physics Laboratory of the Johns Hopkins University for the Veterans Administration is a low-cost, reliable, and relatively easy method of data entry. It requires only the capability to move a spring-centered three-position switch to either extreme position.
These two extreme positions are sensed as simple switch closures and stimulate the generation of two easily distinguishable tone sequences. Modulation of these tone sequences by appropriate movement of the switch can be used to generate an easily learne d pseudo Morse Code. These serial tone encoded seqeuences can then be translated to corresponding ASCII codes to duplicate the function of the standard keyboard.
Assuming the avilability of an appropriate three-position switch, the Serial Code Keyboard functions can be implemented in either a separate firmware module (Figure 1) that logically ORs the standard keyboard produced ASCII with the Serial Code Keyboard produced ASCII or they could be implemented in appropriately linked software executing on a personal computer.
The firmware approach is advantageous for proprietary software packages that allow no linking with other software. The software approach for the Apple Computer described in this article provides a good familiarization with the Serial Code Keyboard approach to data entry and can be successfully used with most Applesoft programs. The Electro-Mechanical Interface
To exercise the Serial Code Keyboard software, a three-position switch arrangement suitable to the individual handicap must be constructed. It is important to arrive at a switch-lever arrangement that takes into account the handicapped user's stroke length, stroke trajectory, stroke force levels, and stroke positioning accuracy capabilities. In some situations, a standard Morse keyer suitably mounted, may serve as an appropriate three-position switch (Figure 1).
Electrically, the two switch contacts are interfaced to the Apple computer via the game port as shown in Figure 2 using the same bit inputs used by the game paddle pushbuttons. This electrical connection is of opposite polarity to that used by the purshbuttons on the game paddles. The switch connected to PBO will produce a sequence of high frequency "dits" for as long as the switch is closed. Similarly, PB1 will produce a sequence of low frequency "dahs". Operation Of The Serial Code Keyboard
To type a character with the Serial Code Keyboard, the user must move the switch so as to generate the tone sequence corresponding to the desired character. For example, sup.**.-- will generate the letter Z, when sup.* is used to represent the higher tone (dit) and - to represent the lower tone (dah). A key position-tone correspondence time diagram is shown in Figure 3.
It should be noted that dit and dah sounds are of equal duration and that the sound-on time equals the sound-off time. This departs from the traditional Morse Code which does not frequency encode dits and dahs and requres dahs to last three times as long as dits. Since we are not using time duration modulation, it is more efficient to make dits and dahs of equal duration. The end of character is recognized by no transmission for a time equal to more than two dah durations.
The serial code correspondence with printable, nonprintable, and mode keys are shown in Table 1. For historic reasons and for code efficiency reasons, the International Morse Code definitions for alphabetic, numeric, and punctuation keys were retained. New definitions had to be made for the space, backspace, linefeed, escape, and enter keys.
In addition to the standard keyboard mode, four keyboard modes are defined by first generating the serial code for the desired mode followed by the alphabetic or numeric modifier.
The shift mode allows the shift codes to be generated and the control mode allows the control codes to be generated.
The repeat mode repeatedly generates at a reasonable rate the code for the selected character until either switch is momentarily closed. A short high frequency tone indicates termination of the repeat mode.
The sequence mode allows predefined ASCII code sequences to be called up. For example, sequence-C generates code for CATALOG-(RETURN) to list the catalog of disk files.
Serial codes not defined in any of the keyboard modes are identified by a short high frequency tone being issued and no code being generated.
Continuous backspacing occurs when generating more than seven dahs, after which every new dah results in a backspace. Similarly, continuous "retype" occurs when mor then seven dits are generated. Cursor movement can be done by using escape I, J, K, or M just as with the regular keyboard but is better defined as a repeating sequence. Software
The software provided in this article to present the Serial Code Keyboard concept, consists of three files.
The Hello file loads and links the binary machine code file which implements the Serial Code Keyboard functions. It also modifies the machine code to allow operation with the pushbuttons on the game paddles (line 200) for immediate trial use. The option of Morse Code tutorial is also provided.
The tutorial file is an Applesoft program which briefly explains how to drive the Serial Code Keyboard software. It also offers speed selection for code practice and provides a split screen for practicing the code. The upper part of the screen displays lowercase and mode code correspondences. The lower part of the screen is a scrolling screen which shows the characters being generated. An exit from the tutorial to the interpreter is provided so that some of the prdefined sequences can be executed.
The binary machine code file assumes a 48K Apple and is loaded below the DOS starting at location $9200. The code is linked with DOS and becomes the input device until disconnected, by a reset for example. HIMEM has been reset to protect the machine code during Applesoft program generation.
A few predefined sequences exist to help the user and to illustrate the sequence mode:
G to greet your guests
H to run the Hello file
M to exit to the monitor
C to present the files in the catalog
S to clear the whole screen
B to sound the alarm
U to move the cursor up repeatedly
D to move the cursor down repeatedly
L to move the cursor left repeatedly
R to move the cursor right repeatedly Summary
The Serial Code Keyboard is presented here to provide potential users with the opportunity of trying it out to see if it provides a reasonable approach of data and command entry. Firmware implementations of the Serial Code Keyboard have been developed for the Apple computer and for "dumb" RS-232-type terminals by the Applied Physics Laboratory of the Johns Hopkins University. These units are currently being evaluated in several rehabilitation centers throughout the United States and Canada. If these evaluations are positive, the units may soon be in commercial production.