Trace R&D Center
2107 Engineering Centers Bldg.
1550 Engineering Dr.
Madison, WI 53706
(608) 262-6966
email: info@trace.wisc.edu
In the past few years, there have been many improvements in the area of "built-in" or "out-of-the-box" computer access features for individuals with physical impairments. One example is Apple's Easy Access. Easy Access includes features such as StickyKeys, which allows the single-finger typist to perform multiple simultaneous keystrokes (e.g., "command-q", in sequence); SlowKeys, which allows a user to adjust the sensitivity of the keyboard to lessen the chance of pressing the wrong key; and MouseKeys, which allows a user to perform all the actions of the pointing device (e.g., mouse) using the numeric keypad keys.
Despite these enhancements, some people still cannot use the standard keyboard and mouse because of physical disabilities but could use their AAC system to access a computer. Many AAC systems are equipped with external connector(s) or serial ports, allowing for a connection to a computer's serial port. The typical computer, however, is designed to receive input from the user via the keyboard and mouse, not through the serial port. Therefore, simply connecting an AAC system to the computer's serial port will not allow the user to access or operate the computer.
In an effort to solve this problem, the keyboard emulating interface (KEI) concept was proposed2. Essentially, the KEI concept was the first attempt to split this computer access problem into two manageable parts: a) the external connection and communication protocol, which was non-computer specific; and b) the injection of information into the operating system to emulate keyboard events, which was computer specific. By separating the connection and communication protocol from the computer hardware and operating system, AAC users could utilize their systems to access different computers. In other words, the same protocol or "language" preprogrammed on their AAC systems could be used to access different computers, thus eliminating the need for constant AAC system reprogramming.
The introduction of the Apple Macintosh and IBM PS/2TM computers included non keyboard input capability in the form of a pointing device, commonly called a mouse. Therefore, shortly after the introduction of the Macintosh and PS/2 computers, the "K"EI concept was replaced by the "GID"EI ("keyboard" versus "general input device" emulating interface). The GIDEI provided communication protocol that allowed for more generalized input devices, especially pointing devices such as the mouse.
However, the problem of creating computer hardware or operating system specific software to handle the AAC system-to-computer information arriving at the serial port was still largely unsolved and/or left up to the AAC system manufacturer. One of the first products to address this issue across multiple platforms was the Trace Transparent Access Module (T-TAM). T-TAM provided the necessary AAC system-to-computer translation or decoding of information for both the PC and Macintosh platforms. Since this AAC system-to-computer translation of information occurred via a serial port, the feature became known as "SerialKeys". SerialKeys provides the interface that emulates the standard computer input devices by translating the AAC system-to-computer messages which follow the GIDEI protocol into the appropriate keyboard and mouse events on the computer.
When Apple originally developed Easy Access, SerialKeys was not included. Over the past 5 years, several software or combination hardware/software devices which support SerialKeys have appeared on the market. Although each is capable of interfacing to the Macintosh (e.g., a Macintosh equipped with the Apple Desktop Bus), the least expensive is the T-TAM which is available for about $500. During the same time, however, both IBM and Microsoft have introduced "free" software solutions which include SerialKeys: AccessDOS and Access Pack for DOS and Windows respectively. AAC system users were therefore requesting a similar solution be provided for the Macintosh.
The Macintosh version of SerialKeys is designed to provide the same functionality as its DOS and Windows predecessors. The AAC system, using the GIDEI protocol, transmits information to the Macintosh computer. SerialKeys then processes that information to determine which keystrokes to type or what mouse actions to perform on the Macintosh computer.
The GIDEI protocol has two modes of operation for sending keystroke and mouse information: Character Mode and Escape Sequence Mode. Character Mode is used for typing characters (e.g., to type a character means to emulate the press and release of a key as if the user had actually "typed" on the keyboard). Escape Sequence Mode is used for typing specific keys or those keys which do not have an ASCII character name (e.g., page up, home, etc.) for keyboard commands, mouse activity, and other miscellaneous GIDEI commands. Escape sequences are also used to send mouse commands from the AAC system to SerialKeys. This includes all mouse actions such as button clicks, click and drag, mouse cursor movement, etc. New mouse commands, which allow for saving the mouse cursor position to facilitate faster navigation in the Macintosh graphic user interface, have also been added to the protocol with the first full implementation in SerialKeys for the Macintosh.
Other keyboard actions may involve the typing of multiple keys simultaneously, or typing keys which are used to "modify" other keys when used together, such as the "shift" key. To perform these types of keyboard actions within escape sequences requires the use of a keyboard command. Escape sequences for keyboard commands would use the general form: "<esc> , command name, key name.". Please refer to the GIDEI2 proposal for a more complete description of the various GIDEI commands and their usage.
SerialKeys for the Macintosh is currently undergoing final beta testing at several sites around the country. The author would like to thank Apple Computer and the National Institute on Disability and Rehabilitation Research (grant number H133E30012) for providing funds for this project.
2 Vanderheiden, G. (1980) "Practical Applications of Microcomputers to Aid the Handicapped," in Computer IEEE Computer Society, January. (Invited)
* For an index of Trace Center information on SerialKeys go to Information on Macintosh SerialKeys.
![]()
This document is hosted on the Trace R&D Center Web site. Please visit our home page for the latest information about Designing a More Usable World - for All.