Mode two is an extended 84 key code set where the keys common to the 84 and 101 key keyboards use the same Press and Release codes. The "new keys" on the cursor pad are sent with an E0 prefix. (The codes for each function represented by the keys on the keypad are the same as produced by those same keys on the 84 key keyboard but are prefixed with the code E0.) The UP ARROW key on the 84 key keyboard has a Press code of 75 hex and on the 101 key keyboard the Press code consists of the bytes E0 and 75 hex.
The Release code for these extended characters is usually a two byte sequence consisting of the hex number F0 followed by the Keypress code for that keystroke. The Release code for the UP ARROW example above would be E0 F0 75 hex. If the Numlock key is down then the Press code will be E0 12 E0 75 hex. The E0 12 hex sequence provides the "shift state" - this is the same as Shift Up Arrow on an 84 key keyboard. The Release code for this sequence will be E0 F0 75 E0 F0 12 hex.
In this mode the data is sent from the keyboard to the keyboard interface circuit in the same way as in Mode one and at the end of transmission the keyboard interface circuit disables the interface until the system accepts the data sent. If the data received has a parity error the keyboard interface circuit will send a Reset command to the keyboard.
Mode three eliminates all the confusions of Mode two by assigning each key a unique Press code but many keyboards do not support this Mode and many don't support the "change Mode" (F0) command.
00 The 16 key buffer overflowed AA Self-test passed EE Sent in response to EE form the computer F0 Break code prefix FA Acknowledge receipt of command without error FE Resend last command FD Self-test failed (84 key keyboard) FC Self-test failed (101 key keyboard)
ED Set or reset the status LED's according to the next byte Bit 0 Scroll lock Bit 1 Num lock Bit 2 Caps lock (zero = off, one = on) Bit 3-7 must be zero EE Used as a diagnostic aid - the keyboard does not respond with FA F3 Sets the key repeat and delay timing according to the next byte. Bit 7 = 0 Delay = (Binary value of bits 5 and 6) + 1 * 256 ms Repeat rate A = Binary value of bits 0 to 2 B = Binary value of bits 3 and 4 Rate = (8+A) * 2^B * 4.17 ms F4 Clears the key buffer and starts scanning the keys F5 Restores default settings and wait for an enable command F6 Restore default settings FE Retransmit the last character sent FF Reset the keyboardAdditional commands for the 101 key keyboard
F0 Followed by another byte to select the mode of operation (not available with all keyboards) F2 Sends two ID bytes after FA acknowledge
Back to the keyboard chapter | Back to the opening index | Book three index |