Technical Reference Guide
Compaq Personal Computers
Changed –- July 2000
C-11
C.2.5 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.6 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.