Technical Reference Guide
Compaq Personal Computers
Change –- April 1998
C-9
C.2.4 KEYBOARD COMMANDS
Table C-1 lists the commands that the keyboard can send to the system (specifically, to the 8042-
type logic).
Table C–1.
Keyboard-to-System Commands
Table C-1.
Keyboard-to-System Commands
Command Value Description
Key Detection Error/Over/run 00h [1]
FFh [2]
Indicates to the system that a switch closure couldn’t be
identified.
BAT Completion AAh Indicates to the system that the BAT has been successful.
BAT Failure FCh Indicates failure of the BAT by the keyboard.
Echo EEh Indicates that the Echo command was received by the
keyboard.
Acknowledge (ACK) FAh Issued by the keyboard as a response to valid system
inputs (except the Echo and Resend commands).
Resend FEh Issued by the keyboard following an invalid input.
Keyboard ID 83ABh Upon receipt of the Read ID command from the system, the
keyboard issues the ACK command followed by the two IDS
bytes.
Note:
[1] Modes 2 and 3.
[2] Mode 1 only.
C.2.5 SCAN CODES
The scan codes generated by the keyboard processor are determined by the mode the keyboard is
operating in.
♦
Mode 1: In Mode 1 operation, the keyboard generates scan codes compatible with 8088-
/8086-based systems. To enter Mode 1, the scan code translation function of the keyboard
controller must be disabled. Since translation is not performed, the scan codes generated in
Mode 1 are identical to the codes required by BIOS. Mode 1 is initiated by sending command
F0h with the 01h option byte. Applications can obtain system codes and status information
by using BIOS function INT 16h with AH=00h, 01h, and 02h.
♦
Mode 2: Mode 2 is the default mode for keyboard operation. In this mode, the 8042 logic
translates the make codes from the keyboard processor into the codes required by the BIOS.
This mode was made necessary with the development of the Enhanced III keyboard, which
includes additional functions over earlier standard keyboards. Applications should use BIOS
function INT 16h, with AH=10h, 11h, and 12h for obtaining codes and status data. In Mode
2, the keyboard generates the Break code, a two-byte sequence that consists of a Make code
immediately preceded by F0h (i.e., Break code for 0Eh is “F0h 0Eh”).
♦
Mode 3: Mode 3 generates a different scan code set from Modes 1 and 2. Code
translation must be disabled since translation for this mode cannot be done.