Copyright (c) 1994 Trace R&D Center
University of Wisconsin
1500 Highland Ave.
Madison, WI 53705
Reproduction With Permission Only
Please send any comments regarding this proposal to:
Standards Project Manager
Trace Research and Development Center, University of Wisconsin
1500 Highland Ave., Madison, WI 53705
There are a number alternate input or AAC devices capable of emulating the standard computer input devices. However, computers as they are currently designed cannot understand the output from an AAC device without some kind of communication translation taking place. This communication translation is usually accomplished by the emulating interface. The emulating interface can be a hardware device (e.g., Trace Transparent Access Module) or special software running on a computer (e.g., "SerialKeys" feature of AccessDOS) that converts the characters and commands transmitted over the serial cable from the alternate input device into keystroke and mouse actions understood by the receiving computer. In either case, a hardware interface (e.g. a serial port) is necessary to supply or support the connection from the alternate input device to the emulating interface. The hardware interface (e.g., a serial port) can be physically located on an external hardware device attached to the computer or be part of the computer itself.
As you read or refer to this GIDEI Proposal, you will need to distinguish between what the GIDEI Proposal is defining (e.g., the connection and data communication protocol) and what other pieces are necessary to allow alternative input or AAC devices to function as computer input devices (e.g., keyboards, mice, etc.).
For a quick reference, several of the GIDEI commands which comprise the "data communication protocol" are listed in the section titled "GIDEI Commands At A Glance." Information concerning the GIDEI "connection protocol" requirements are covered later in this document in the section titled "Hardware Connection."
In addition, Appendix A has added information on an industry wide effort that promises to make PC installation and use easier for all computer users. Collectively known as the External COM device "Plug- and-Play" draft specification, it is an attempt to simplify the installation, device identification, and initial communication for devices attaching on the "serial" port, which may have a far reaching effort towards "ease-of-use" for AAC devices accessing a computer via GIDEI.
Keep in mind that the General Input Device Emulating Interface (GIDEI) Proposal defines a connection and data communication protocol only, between the alternate input devices and other emulating interfaces which emulate standard computer input devices, not to any software or hardware designed to do translation.
Many people need access to two or more different types of computers. If the only way they can obtain that access is through a GIDEI connection, it would be beneficial to the user if the GIDEI worked the same (at the user level) for all computers, keyboards and pointing devices. There is little enthusiasm on the part of users, clinicians and developers to have to deal with multiple GIDEI formats and protocols.
For schools and clinics it is important that a emulating interface on a computer be compatible with a variety of alternate input devices so that different people can access or share the computer. For public computer systems, such as computer based card catalogues in public libraries, it is important that the computer be accessible to everyone. Having a single GIDEI connection and data communication protocol that all alternate input devices can implement will provide that access in the most advantageous solution.
Typing Specific Keys: each key is designated by a name. To type the key, use the Key Name in an escape sequence. An escape sequence is simply the ESCAPE character (ASCII 27, represented as "<esc>" below), followed by a sequence of other ASCII characters, and ending with the PERIOD character (ASCII 46,"."). (Note: Some Many AAC devices can generate an ESCAPE character using a combination of the control key plus a left bracket (e.g., control+[), which may appear on the AAC device display as "^[" or as a blank character. Others have the ESCAPE character programmed on a keyboard layout page.)
Other Key Actions: to perform other actions, use escape sequences of the general form:
Valid keyboard commands are:
<esc> , combine , ctrl , alt , del .
<esc> , hold , shift .
<esc> , lock , ctrl .
<esc> , rel .
Button identifier now refers to a mouse button action, such as pressing mouse button #1, rather than a location, such as pressing the "left" mouse button. This distinction is being made because many operating systems now allow the user to reprogram the buttons on the mouse to perform any desired action. Therefore, users are encouraged to follow the new button identifiers, rather than previous GIDEI conventions which defined a "left" or "right" mouse button. If the button identifier is not included, typically the "default" button is activated with the mouse command.
Valid mouse commands are:
<esc> , click .
- or -
<esc> , click , but1 .
<esc> , dblclick .
<esc> , moulock , but1 .
<esc> , mourel .
<esc> , anchor .
(The next single lowercase letter "a" through "z" following an "anchor" command becomes the "name" of the current mouse cursor screen position, thus allowing 26 separate mouse cursor locations to be "anchored" or saved.)
<esc> , move , 1 X direction , 1 Y direction .
<esc> , mougo , downleft , 5 .
A) It moves the mouse cursor to a specified absolute screen location when both an X and Y position is indicated.
<esc> , goto , X position , Y position .
B) It moves the mouse cursor to a specified screen location, based upon that location having been preassigned using the "anchor" command (see above).
<esc> , goto .
(The next single lowercase letter "a" through "z" following this "goto" command is the "name" of the mouse cursor screen position "anchor" the user wishes to return to.)
<esc> , moustop .
<esc> , moureset .
<esc> , baudrate , XXXXX .
When the AAC user is communicating with the emulating interface at a known rate, the baudrate command can be used to change to another rate, should the user wish to do so.
ASCII: ASCII is an acronym which stands for the American Standard Code for Information Interchange. What this means to the computer user is that usually numeric values represent characters inside the computer. For example, the ASCII code for the uppercase "A" is "65." Table 1 provides a listing of ASCII characters and their corresponding numeric or decimal code.
Emulating Interface: A "system" that accepts information from an alternate input device and transforms it into keystrokes or other input information in the computer.
Escape Character: The single character used to indicate the beginning of a GIDEI Escape Sequence. It is ASCII 27. In this document the escape character is designated by "<esc>."
Escape Sequence: A character string that starts with an escape character (ASCII 27) and ends with a period character (ASCII 46). Escape Sequences are used to send special commands and keystrokes.
Hardware emulating interface: Usually an "external" device that attaches to the computer and provides connection "ports" for AAC devices while simultaneously interacting with the computer in such a way that the computer is unaware that any external device is attached.
Key Name: The ASCII string of characters assigned by the GIDEI Proposal to designate each key on the normal keyboard.
Neutral Keyboard: The state of the keyboard when all "toggling" keys are in their "untoggled" position.
Secondary Key Function: One or more actions produced by a key when it is typed in combination with other keys. Secondary Key Functions are normally activated by holding down, for example, a [Shift] key, an [Alt] key, an [Option] key, a [Ctrl] key, etc., along with the key.
Software emulating interface: Software which is implemented as a co-process within the target computer. Typically, it is a program resident in the computer which uses the computer's serial port to communicate with the alternate input device. It is activated when the serial port receives characters. Once activated, it interprets the keystroke and mouse information and makes these keystrokes available to the operating system in that computer.
Special Keys: Keys that do not produce ASCII characters. An example is the "right arrow" key.
Transparent Interface: An interface that is invisible to or undetectable by the computer system and the software running on it. A emulating interface whose implementation is not distinguishable from the way the normal keyboard works. In other words, it is a interface that operates with a computer and the software running on it exactly the same way as the normal keyboard would operate. Ideally, all interfaces should be transparent to insure access to the same programs that can be operated from the normal keyboard or mouse.
XOFF Character: The character sent by the GIDEI to the alternate input device to tell it to stop transmission. The XOFF character is ASCII 19 (control-S).
XON Character: The character sent by the GIDEI to the alternate input device to tell it to resume transmission. The XON character is a ASCII 17 (control-Q).
The hardware interface is the component of the system which the user's AAC device "directly connects to." It handles the physical connection, signal interfacing, communications protocol and data buffering.
The GIDEI Proposal data connection protocol uses the RS-232C communication link for transferring information from an external AAC device to the hardware interface. The hardware interface itself might be under the control of emulating interface "software" running on a computer or a separate external "black box" connected to the computer.
See also Appendix A, regarding "Plug-and-Play."
Of the 25 lines defined, four are used for the GIDEI Proposal.
The hardware interface plays the role of the DCE (data communication equipment). The alternate input device or "external device" would connect to the hardware interface with a serial cable or wireless serial link, as discussed earlier in Figures 1 and 2. The hardware interface is usually the computer running emulating interface software or a black box connected to the computer.
Pin Assignments (for the AAC, or DTE, device)
(assuming the AAC device has a 25 pin D connector)
The user may change the baud rate via an escape sequence command sent to the hardware interface. Valid baud rates are 300, 1200, 2400, 4800, 9600, and 19200.
The descriptions below pertain to both devices during normal operation after transmission has been establish. There are some changes that must be noted when the devices are initially connected, or when a baud rate change takes place. These two cases are explained in separate sections later in this document.
With hardware handshaking, the hardware interface controls the signal on the Clear To Send line. It asserts this line when it can receive data and lowers it when it is not ready to receive more data.
The external AAC device, if using this handshaking method, must check the status of this line before each character is transmitted. It may only send data if the line is asserted.
Software handshaking is a system where the hardware interface, using ASCII characters, transmits its status information to the external AAC device on the Received Data line. The hardware interface sends an XON character (ASCII 17) to signal that it is ready to receive data and sends an XOFF character (ASCII 19) to signal that it is not ready.
The external AAC device, if using this handshaking method, must check its receive buffer before each transmission to determine if an XOFF has been sent. If so, it must wait until an XON is sent before sending any more data.
Hardware Interface Handshaking
To suspend the transmission of characters by the external device, the hardware interface puts the CTS line into the OFF state (logic 1, -3 to -15 volts) and sends one (1) XOFF character at the current baud rate to the external device over the Received Data line.
If the hardware interface lowers the CTS line and sends an XOFF while a character is being transmitted by the external device, transmission will continue until the current character has finished being transmitted.
It may turn out that the external AAC device, due to the buffering capabilities of its serial hardware, may not be able to stop the transmission of characters immediately. In this case, one or more characters might still be sent after the hardware interface has signaled it to stop. To accommodate this, the hardware interface will be required to be able to receive four (4) more characters after the initial XOFF has been sent to the external device. In addition, after each of these "extra" characters is received, the hardware interface will send another XOFF back to the external device.
Once the external device has received the XOFF character or has detected the lowering of the CTS line, it must wait for an XON or an asserted CTS before any additional data is sent to the hardware interface.
There are a few exceptions to this requirement. See later.
If the external device is using the XON/XOFF handshaking method, it is recommended that the external device periodically interrogate the status of the hardware interface while it is waiting for an XON. (See next section)
There is no timing specification given to define what "periodically" means. The intention is that the external device checks at reasonable intervals. Not so often that the hardware interface spends all its time handling the serial transmission and therefore can't get anything else accomplished, but often enough to avoid an unreasonable delay for the user.
To do this, the external device is allowed to send a NULL character (ASCII 0) at the current baud rate to the hardware interface. If the hardware interface is ready to receive keystroke data it will receive this character and then send an XON back to the external device. While the hardware interface must monitor the character data for this character, it is still passed on to its input buffer just like any other character.
If the hardware interface is not ready to receive keystroke data, it will send nothing back.
No character is sent back in this case (instead of sending an XOFF) to guard against potential problems. First, if the external device missed the original XON (which is why it is interrogating), chances are that it could miss an XOFF when the hardware interface is interrogated. In that case the external device is hung up waiting for the XOFF response. Secondly, the hardware interface may have sent the original XOFF because it was too busy to handle any more serial data for a while. If this is the case, the NULL character would not be received or interpreted by the hardware interface so it couldn't possibly send the additional XOFF.
So no matter what the reason is that the hardware interface is busy, the end result, as seen by the external device, is that the hardware interface did not send back an XON. The external device should try again later.
This interrogation method is useful (and recommended) for external devices using the software handshaking system to insure that transmission does not hang up because an XON character was missed.
If the hardware interface receives three (3) consecutive characters with a framing error, it will:
2. Change to 300 baud (if not at this rate already)
3. Raise the CTS line and send out an XON at 300 baud after the above steps are completed in order.
Besides the benefit of setting the hardware interface to a known state, this requirement will also help to insure the quality of the transmission by not allowing baud rates which produce repeated erroneous characters.
Two methods are suggested:
Handshaking After Changing Baud Rate By Command
The hardware interface will then perform its baud change to the specified baud rate. After changing the baud rate, it will clear out any characters it may have received since the baud rate change began. When completed, it will signal the external device that it is ready by raising the CTS line and sending an XON character at the new baud rate.
Since the external device might not change baud rate as fast as the hardware interface, it might not properly receive the XON character. Because of this, it should employ the Status Inquiry method, if it is using XON/XOFF handshaking.
Table 1 shows all the ASCII characters from 0 through 127. Characters which exist above 127 (e.g., ASCII 128 through ASCII 255), sometimes referred to as "Extended ASCII," may differ due to the computer or receiving device's operating system.
If your alternate input device is capable of sending the ASCII value for the character you need, most hardware interfaces will understand how to generate the character or key for your request. If some of the keys on a particular keyboard have single character labels which are ASCII characters in the Extended ASCII 128 to ASCII 255 range, GIDEI2 supports transmission of these characters and hopefully the hardware interface will understand how to "create" the character or keyboard "keys" via emulation on the receiving computer. For example, if you require an "e" with a circumflex accent "^" on a computer in the United States, GIDEI2 supports transmission of the Extended ASCII character "234"(ISO 8859-1 Standard) direct from the alternate input device to the hardware interface. (Note: remember the hardware interface may be either an external "black box" device connected to the receiving computer or emulation interface software running directly on the receiving computer.)
Two ASCII characters are reserved by the GIDEI for special use. They are the NULL character (ASCII 0), and the ESCAPE character (ASCII 27). See the Escape Sequence Mode section to find how to type these characters.
Based on the GIDEI Proposal, an emulating interface will leave Character Mode and enter Escape Sequence Mode upon receiving an Escape character. (see the next section for information on Escape Sequence Mode) Based on the GIDEI Proposal, after start up, after an escape sequence, and after an error in an escape sequence, the emulating interface will return to Character mode.
Example: if an ASCII d is sent, the interface will type a d on the computer. If an ASCII G is sent, the interface will type a shift key and a g to produce a capital G on the computer.
The actual keystrokes that the interface will type to get the character is dependent on the keyboard that the interface is emulating. The intention of the GIDEI is to allow the external AAC device to send characters that the hardware interface then translates into the appropriate key presses or mouse actions.
Table 1: ASCII Characters With Their Corresponding Decimal Code
Character | Code | Character | Code | Character | Code |
NULL | 0 | + | 43 | W | 87 |
SOH (ctrl-A) | 1 | , | 44 | X | 88 |
STX (ctrl-B) | 2 | - | 45 | Y | 89 |
ETX (ctrl-C) | 3 | . | 46 | Z | 90 |
EOT (ctrl-D) | 4 | / | 47 | [ | 91 |
ENQ (ctrl-E) | 5 | 0 | 48 | \ | 92 |
ACK (ctrl-F) | 6 | 1 | 49 | ] | 93 |
BEL (ctrl-G) | 7 | 2 | 50 | ^ | 94 |
BS (ctrl-H) | 8 | 3 | 51 | _ | 95 |
HT (ctrl-I) | 9 | 4 | 52 | ` | 96 |
LF (ctrl-J) | 10 | 5 | 53 | a | 97 |
VT (ctrl-K) | 11 | 6 | 54 | b | 98 |
FF (ctrl-L) | 12 | 7 | 55 | c | 99 |
CR (ctrl-M) | 13 | 8 | 56 | d | 100 |
SO (ctrl-N) | 14 | 9 | 57 | e | 101 |
SI (ctrl-O) | 15 | : | 58 | f | 102 |
DLE (ctrl-P) | 16 | ; | 59 | g | 103 |
DC1 (ctrl-Q) | 17 | < | 60 | h | 104 |
DC2 (ctrl-R) | 18 | = | 61 | i | 105 |
DC3 (ctrl-S) | 19 | > | 62 | j | 106 |
DC4 (ctrl-T) | 20 | ? | 63 | k | 107 |
NAK (ctrl-U) | 21 | @ | 64 | l | 108 |
SYN (ctrl-V) | 22 | A | 65 | m | 109 |
ETB (ctrl-W) | 23 | B | 66 | n | 110 |
CAN (ctrl-X) | 24 | C | 67 | o | 111 |
EM (ctrl-Y) | 25 | D | 68 | p | 112 |
SUB (ctrl-Z) | 26 | E | 69 | q | 113 |
ESC | 27 | F | 70 | r | 114 |
FS (ctrl-\) | 28 | G | 71 | s | 115 |
GS (ctrl-]) | 29 | H | 72 | t | 116 |
RS (ctrl-^) | 30 | I | 73 | u | 117 |
US (ctrl-_) | 31 | J | 74 | v | 118 |
SPACE | 32 | K | 75 | w | 119 |
! | 33 | L | 76 | x | 120 |
" | 34 | M | 77 | y | 121 |
# | 35 | N | 78 | z | 122 |
$ | 36 | O | 79 | { | 123 |
% | 37 | P | 80 | | | 124 |
& | 38 | Q | 81 | } | 125 |
' | 39 | R | 82 | ~ | 126 |
( | 40 | S | 83 | DEL | 127 |
) | 41 | T | 84 | ||
* | 42 | U | 85 | ||
V | 86 |
For purposes of this document, an "escape" character (ASCII or decimal 27) will be represented by "<esc>." Therefore an escape sequence would look like:
To make Key Names easier to remember, many Key Names consist of the same characters as the label used for that key on the keyboard. For example, the Key Name for the "backspace" key is either "backspace" or "bspace." The shorter Key Name allows the user to conserve memory when programming that key selection on their alternate input devices, especially if they have a device with several possible selections. Many of the longer Key Names also have shorter equivalents for this purpose. However, longer Key Names are usually available for users who find it easier to learn and remember Key Names in this fashion.
The Escape Sequence Mode has several purposes besides just sending Key Names. Listed below are brief descriptions and examples of Escape Sequence Mode uses. For more explanation on Escape Sequence Mode commands, refer to the next sections.
Keys such as the [Right Arrow] key that have no corresponding ASCII character equivalent are typed using the Escape Sequence Mode. To send the Right Arrow key using Escape Sequence Mode, you must first determine (e.g., look in the Key Names Aliases section) that the Key Name for the Right Arrow key is simply "right." Then you would construct the following Escape Sequence to emulate a press and release of the Right Arrow key.
To Type Key Combinations
A key combination is where two or more keys are pressed down together (e.g all the keys are pressed before any of the keys are released). The Escape Sequence Mode is used to allow an alternate input device to type key combinations of from two to five keys. For example, suppose you run a program that requires you to press the shift, control, and F1 keys to perform a particular operation quite frequently. One option might be to use the Escape Sequence Mode "combine" command to perform this multiple key operation. The "combine" command instructs the emulating interface to press the keys in the order in which they are received, and then release them in reverse order. Therefore, the following example instructs the emulating interface to press the shift, control, and F1 keys, and then to release the F1, control, and shift keys. Note, whenever a GIDEI command is used (e.g., "combine" in this example), the comma "," character must be used immediately after the "escape" character and again immediately after the GIDEI command. Refer to the sections later in this document on keyboard escape sequences. mouse escape sequences, and miscellaneous escape sequences for more examples of GIDEI commands used in an escape sequence.
To Type Any ASCII Character
Another purpose of the Escape Sequence Mode is to allow alternate input devices that are unable to produce some ASCII characters, another method to type those that can be generated on the Normal Keyboard of the connected computer system. For example, some "lower-end" or inexpensive alternate input devices may have the ability to transmit characters only, not numbers. Using Escape Sequence Mode, a user with this device could type the number "9" using the following escape sequence.
To Operate the Mouse
Besides the keyboard uses described above, the Escape Sequence Mode allows complete control of standard mouse activity, such as moving relative and absolute distances, clicking and double clicking, activating mouse buttons, and dragging. For example, to move the mouse cursor to the right and down on some computer systems, you might create the following escape sequence.
To Change the Baud Rate
Using the Escape Sequence Mode the user can change the baud rate from the default value of 300 baud. This is an example of one of the miscellaneous GIDEI commands that are available. The baud or "baudrate" has to do with how fast information is communicated across the serial link. The higher the "baudrate," typically the faster the response.
Clearing Syntax Errors
The Escape Sequence Mode is used to clear errors resulting from improper use of syntax.
Characters Allowed in GIDEI Escape Sequences
For example, if the user wished to get the "A with circumflex" or "1" character, which is ASCII character 177 on some DOS systems, their alternate input device must be capable of transmitting Extended ASCII or decimal "177." If their device is unable to generate ASCII characters above 127, they must then use an escape sequence after determining the proper Key Name for the "A with circumflex" character in the Key Name Aliases table (see GIDEI Key Name Aliases at the end of this document). Note the following examples.
[one-half symbol]
--or--
The following is an example of a character NOT allowed in GIDEI Escape Sequence Mode:
<esc> ce'nt .
Please note that while the GIDEI2 Proposal supports transmission of the Extended ASCII characters between ASCII 128 through ASCII 255 in Character Mode, it is still up to the hardware interface (either the "black box" connected to the computer or the emulation interface software) to create the proper character or keystroke at the receiving computer.
Only one GIDEI Command Name can be included in an escape sequence to distinguish what action the hardware interface is to perform. Parameters are also included where appropriate and are separated with a comma character (ASCII or decimal "44").
Note the hold GIDEI command name, preceded by a comma.
Also note that two keys are "typed," the "shift" key and the "a" key.
Without a GIDEI Command Name, or the "implied" method
The Implied method is typically used to type single keys. The command name is NOT specified in the escape sequence (e.g., it is implied).
Note you DO NOT need the GIDEI "hold" command or comma "," separator (ASCII or decimal "44") to press a single key (e.g., Key Name).
The hardware interface tests each field in a GIDEI Escape Sequence to determine if it has invalid character strings.
A field consists of the characters in an escape sequence between the delimiting characters escape, comma, and period.
Invalid Fields
Invalid fields are fields with characters that do not conform to any of the formats (e.g., GIDEI command names or Key Name aliases) defined for escape sequences. Please review the previous section titled "Characters Allowed in GIDEI Escape Sequences." When the emulating interface determines that a field contains an unrecognized character string, it may provide some form of user feedback (e.g., audible sound) and it then switches to Character Mode and types the remaining characters in the invalid field followed by any other characters received.
Invalid Commands or Unsupported Features
Invalid commands or parts of commands which are unsupported via GIDEI should provide the user with some form of feedback (e.g. audible and visual, if possible), and then the emulating interface should switch to Character Mode and type the remaining characters in the invalid field followed by any other characters received if possible. It is possible that some kind of reset may also be necessary, such as an escape sequence reset as described in the next section, or possibly needing to re-establish serial communications (e.g. see prior section on Hardware Connection).
Resetting the Escape Sequence Mode
Command and Parameter Designations
Each GIDEI command, Key Name, or mouse action is assigned a character or string of characters which specify it. This basically gives each GIDEI command, Key Name, or mouse action a "name" used to refer or identify it. Sometimes this is also called an "alias," since many of the keys on the keyboard have more than one "name." For example, the "return" key is also called the "enter" key on some keyboards. In the list of GIDEI Key Name Aliases at the end of this document, the "return" Key Name also has the names or "aliases" of "ret" and "enter."
Delimiting Characters within Escape Sequences
The Escape Key
The [Esc] key on the computer system must be designated by the characters of the Key Name, esc or escape.
The Period Key
The [.] key on the computer system must be designated by the Key Name, period.
The Space Key
The [space] key on the computer is designated by the Key Name, space.
The Comma Key
The [comma] key on the computer is designated by the Key Name, comma.
Format
Additional Information
Format
Example
Additional Information
While this command is supposed to be used for a minimum of two keys, it is not an error if only one Key Name is presented in the escape sequence.
Some key combinations may be impossible to type simultaneously due to the nature of a given keyboard or computer. The hardware interface will only be required to simulate keystrokes that are possible on the normal keyboard.
The function of this command differs from the combine command in that it allows the user to program generic hold keys on the alternate input device rather than programming all the possible combinations with the combine command. Once the generic key is programmed, it would only take two selections to type any two key control or shift combination.
Format
Examples
<esc> , hold , control .
<esc> , hold , control . c
Additional Information
Only Key Names are allowed after the hold command in this escape sequence. Please see the section on Key Name Aliases for a list of the valid key names for a given keyboard and computer.
Some key combinations may be impossible to type simultaneously due to the nature of a given keyboard or computer. The hardware interface will only be required to simulate keystrokes that are possible on the normal keyboard.
If the Hold sequence is sent by mistake, you may clear it with the rel command. (See rel later in this section.)
Example:
If I wanted to type a capital g key I could send or program into one selection:
<esc> , hold , shift. g
--or--
The <esc> , hold , shift. sequence would be programmed into one selection on the alternate input device so it would only take one selection for the shift and a second for the g, or any other letter you wished to "capitalize."
If I wanted to type a control c , I could send or program into one selection:
<esc> , hold , ctrl. c
--or--
Again, once the control escape sequence is programmed into one selection, any other control key combination would take only two selections on the AAC device.
Format
Example
<esc> , lock , kp8 .
Additional Information
If the lock sequence is sent by mistake, you may clear it with the rel command. (See rel command)
Only Key Names are allowed in this escape sequence. Please see the section on Key Name Aliases for a list of the valid Key Names for a given keyboard and computer.
Some key combinations may be impossible to type simultaneously due to the nature of a given keyboard or computer. The hardware interface will only be required to simulate keystrokes that are possible on the normal keyboard.
Format
<esc> , rel , Key Name 1, Key Name 2, Key Name 3, Key Name 4, Key Name 5.
Additional Information
Format
Example
The implied press used to type the "escape" key is shown.
<esc> pageup .
The implied press is used to type the "page up" key is shown.
Additional Information
Formats
Examples
<esc> , goto . h
Additional Information
Format
Allowable mouse cursor directions "up", "down", "left", and "right" which define the horizontal and vertical directions, while "upleft", "upright", "downleft", and "downright" would define the four diagonal directions.
Allowable speeds are a given with a number from 1 through 10, with faster mouse cursor speeds being associated with larger numbers (e.g., 1 is the slowest speed, and 10 would be the fastest speed).
Example
Additional Information
Format
Additional Information
Many operating systems define the left-most mouse button as mouse button identifier #1, and the remaining mouse buttons are identified from left-to-right in ascending order as the default. However, these same operating systems also allow the user to reassign mouse button actions, such that the "left" or mouse identifier #1 may not physically be located on the left-most side of the mouse puck or track ball. Therefore, mouse button identifier now refers to a mouse button action, such as pressing mouse button #1, rather than a location, such as pressing the "left" mouse button.
Therefore, users are encouraged to follow the new button identifiers, rather than previous GIDEI conventions which defined a "left" or "right" mouse button.
Format
<esc> , moulock , ???? .
<esc> , moulock , X .
<esc> , moulock , X , X , X , X , X .
where X is:
Additional Information
Format
<esc> , mourel , ???? .
<esc> , mourel , X .
<esc> , mourel , X , X , X , X , X .
where X is ;
Additional Information
Format
<esc> , click , ???? .
<esc> , click , X .
where X is ;
Additional Information
Format
<esc> , dblclick , ???? .
<esc> , dblclick , X .
where X is:
Additional Information
The X and Y values given with the mouse goto command may also be written with a "+" sign as part of the number.
Format
Example
--or--
<esc> , goto , +25 , +25 .
B. The mouse goto command will also cause the mouse cursor to move to the specified anchor location when the location coordinate is specified as the next "single" lowercase letter "a" through "z."
Format
Example
Additional Information
Format
Example
Additional Information
A
aacute
acircumflex
acute
adieresis
ae
again
agrave
alphanumeric
alt
altgr
amp
ampersand
aogonek
apostrophe
apple
aring
ast
asterisk
at
B
backslash
backspace
bbar
break
bslash
bspace
C
cacute
cancel
capslk
capslock
ccaron
ccedilla
cedilla
circumflex
clear
cmd
colon
comma
command
compose
control
conversion
copy
ctrl
cut
D
dblquote
del
delete
dieresis
divide
dn
dollar
down
E
eacute
ecaron
ecircumflex
edieresis
egrave
eight
end
enter
equal
esc
escape
eth
exclaim
exclaimdown
execute
F
f1
f10
f11
f12
f13
f14
f15
f16
f17
f18
f19
f2
f20
f21
f22
f23
f24
f3
f4
f5
f6
f7
f8
f9
find
five
four
front
fullsize
G
graphical
grave
H
help
hiragana
home
hyphen
I
iacute
icaron
icircumflex
idieresis
igrave
ins
insert
K
kana
kanji
kanjidict
kp*
kp+
kp-
kp/
kp0
kp1
kp2
kp3
kp4
kp5
kp6
kp7
kp8
kp9
kp=
kpcomma
kpdel
kpdivide
kpdn
kpdown
kpdp
kpend
kpenter
kpequal
kphome
kphyphen
kpins
kpinsert
kpleft
kpmidl
kpminus
kpperiod
kppgdn
kppgup
kpplus
kpright
kpslash
kpstar
kptimes
kpup
L
lalt
lbrace
lbracket
lcmd
lcommand
lcompose
lcontrol
lctrl
left
linefeed
llthan
lock
lopenapple
loption
lparen
lquote
lshift
lthan
lwithslash
M
menu
meta
micro
minus
mordinal
multiply
N
ncaron
next
nine
noconversion
ntilde
number
numlk
numlock
O
oacute
ocircumflex
odieresis
oe
ogonek
ograve
ohungarumlaut
one
onehalf
onequarter
ooblique
open
openapple
option
otilde
P
pagedown
pageup
paste
pause
period
pf1
pf2
pf3
pf4
pgdn
pgup
plus
pound
prev
print
printscreen
props
prtscr
Q
question
questiondown
R
ralt
rbrace
rbracket
rcaron
rcmd
rcommand
rcompose
rcontrol
rctrl
remove
reset
ret
return
right
ring
rolldown
rollup
romanize
ropenapple
roption
rparen
rshift
S
sacute
scaron
scroll
scrolllock
section
select
semicolon
seven
sharps
shift
shiftleft
shiftright
six
slash
small
space
stop
superone
superthree
supertwo
sysreq
T
tab
tcaron
three
tilde
triangle
two
U
uacute
ucircumflex
udieresis
ugrave
uhungarumlaut
underscore
undo
up
uring
V
vbar
W
wordreg
wordrem
Y
yacute
ydieresis
yen
Z
zcaron
zdotaccent
zero
Plug and Play is both a design philosophy and a set of PC architecture specifications. The ultimate goal of Plug and Play is to design intelligence into the PC itself, to handle installation and configuration tasks without user intervention. A Plug and Play system has a number of characteristics. First, any installation is a simple, fail-safe operation. For devices the installation is automatic: plug the device in, turn on the system, and it works. With a Plug and Play system, the user can insert and remove devices, or connect-to or disconnect-from a docking station or network, without restarting the system or fiddling with configuration parameters. The system determines the optimal configuration, and applications automatically adjust to take full advantage of the new configuration. Users do not need to modify expansion card jumper settings, or even modify operating system configuration files. The benefits to both users and computer industry members will be substantial, as PC ease-of-use will be enhanced while support costs will be substantially lowered.
The essential elements of Plug and Play COM are:
Identify the device
Locate a driver for the device
Detect detachment of serial devices
Full compatibility between existing COM hardware and software and the new hardware and software which support Plug and Play
Plug and Play ISA Specification, Microsoft 1993
Plug and Play BIOS Specification, Microsoft 1993
Plug and Play PCMCIA Specification, Microsoft 1993
CCITT V.24, List of definitions for interchange circuits between data terminal equipment and data circuit terminating equipment.
EIA/TIA-232-E Interface between data terminal equipment and data communication equipment employing serial binary data interchange on unbalanced circuits.
EIA/TIA-574 9-position Non-synchronous Interface Between Data Terminal Equipment and Data Circuit- terminating Equipment Employing Serial Binary Data Interchange
EIA/TIA-578 Asynchronous Facsimile DCE Control Standard-Service Class 1
TIA/EIA-592 Asynchronous Facsimile DCE Control Standard-Service Class 2
TIA/EIA-602 Serial Asynchronous Automatic Dialing and Control
PCCA XSTD-101 Data Transmission Systems and Equipment- Network Independent Dialing, Control and Data Transfer for Asynchronous DCE
BACK to COMPUTER ACCESS PROGRAM: GIDEI