AT Keyboard/Mouse protocol
From HwB
Protocol used for:
Details:
- Protocol is bi-directional
- Clock frequency is 10-16.7 kHz
| Bit | Description | Comment |
|---|---|---|
| 1 | Start bit | Always 0 |
| 2-9 | 8 Data bits | LSB first |
| 10 | Parity bit | Odd parity |
| 11 | Stopp bit | Always 1 |
Contents |
Device to host
Host to device
Voltage levels
| Min | Max | |
|---|---|---|
| Low (0) | 0.0 V | 0.7 V |
| High (1) | 2.4 V | 5.25 V |
Host to Keyboard commands
| Byte | Command | Additional Data |
|---|---|---|
| 0xED | Set Status Indicators | LED bitmask |
| 0xEE | Echo | |
| 0xEF | Invalid Command | |
| 0xF0 | Select Alternate Scan Codes | Scan code set |
| 0xF1 | Invalid Command | |
| 0xF2 | Read ID | |
| 0xF3 | Set Typematic Rate/Delay | Encoded rate/delay |
| 0xF4 | Enable | |
| 0xF5 | Default Disable | |
| 0xF6 | Set Default | |
| 0xF7 | Set All Keys - Typematic | |
| 0xF8 | Set All Keys - Make/Break | |
| 0xF8 | Set All Keys - Make | |
| 0xFA | Set All Keys - Typematic/Make/Break | |
| 0xFB | Set All Key Type - Typematic | Scan code |
| 0xFC | Set All Key Type - Make/Break | Scan code |
| 0xFD | Set All Key Type - Make | Scan code |
| 0xFE | Resend | |
| 0xFF | Reset |
| Bit | Typematic (Characters per second, ±20%) |
|---|---|
| 00000 | 30.0 |
| 00001 | 26.7 |
| 00010 | 24.0 |
| 00011 | 21.8 |
| 00100 | 20.0 |
| 00101 | 18.5 |
| 00110 | 17.1 |
| 00111 | 16.0 |
| 01000 | 15.0 |
| 01001 | 13.3 |
| 01010 | 12.0 |
| 01011 | 10.9 |
| 01100 | 10.0 |
| 01101 | 9.2 |
| 01110 | 8.0 |
| 01111 | 8.0 |
| 10000 | 7.5 |
| 10001 | 6.7 |
| 10010 | 6.0 |
| 10011 | 5.5 |
| 10100 | 5.0 |
| 10101 | 4.6 |
| 10110 | 4.3 |
| 10111 | 4.0 |
| 11000 | 3.7 |
| 11001 | 3.3 |
| 11010 | 3.0 |
| 11011 | 2.7 |
| 11100 | 2.5 |
| 11101 | 2.3 |
| 11110 | 2.1 |
| 11111 | 2.0 |
- Typematic rate: 10.9 characters per second (±20%)
- Delay: 500 milliseconds (±20%)
Keyboard to Host commands
| Byte | Command |
|---|---|
| 0x00 | Key Detection Error/Overrun (Code Sets 2 and 3) |
| 0x83 0xAB | Keyboard ID |
| 0xAA | BAT Completion Code |
| 0xFC | BAT Failure Code |
| 0xEE | Echo |
| 0xF0 | Break (key-up) |
| 0xFA | Acknowledge (ACK) |
| 0xFE | Resend |
| 0xFF | Key Detection Error/Overrun (Code Set 1) |