![](http://datasheet.mmic.net.cn/330000/INTEL82801_datasheet_16416407/INTEL82801_146.png)
Functional Description
5-96
82801AA and 82801AB Datasheet
Table 5-73. USB Legacy Keyboard State Transitions
Current State
Action
Data Value
Next State
Comment
IDLE
64h / Write
D1h
GateState1
Standard D1 command. Cycle passed through to
8042. SMI# does not go active. PSTATE goes to 1.
IDLE
64h / Write
Not D1h
IDLE
USB_LEGKEY[bit 3] determines if cycle passed
through to 8042 and if SMI# is generated.
IDLE
64h / Read
N/A
IDLE
USB_LEGKEY[bit 2] determines if cycle passed
through to 8042 and if SMI# is generated.
IDLE
60h / Write
Don't Care
IDLE
USB_LEGKEY[bit 1] determines if cycle passed
through to 8042 and if SMI# is generated.
IDLE
60h / Read
N/A
IDLE
USB_LEGKEY[bit 0] determines if cycle passed
through to 8042 and if SMI# is generated.
GateState1
60h / Write
XXh
GateState2
Cycle passed through to 8042, even if trap enabled
in USB_LEGKEY[bit 1]. No SMI# is generated.
PSTATE remains 1. If data value is not DFh or
DDh, the 8042 may chose to ignore it.
GateState1
64h / Write
D1h
GateState1
Cycle passed through to 8042, even if trap enabled
via USB_LEGKEY[bit 3]. No SMI# generated.
PSTATE remains 1. Stay in GateState1 because
this is part of the double-trigger sequence.
GateState1
64h / Write
Not D1h
ILDE
USB_LEGKEY[bit 3] determines if cycle passed
through to 8042 and if SMI# generated. PSTATE
goes to 0. If USB_LEGKEY[bit 7] is set, then SMI#
should be generated.
GateState1
60h / Read
N/A
IDLE
This is an invalid sequence. USB_LEGKEY[bit 0]
determines if cycle passed through to 8042 and if
SMI# generated. PSTATE goes to 0. If
USB_LEGKEY[bit 7] is set, then SMI# should be
generated.
GateState1
64h / Read
N/A
GateState1
Just stay in same state. Generate an SMI# if
enabled in USB_LEGKEY[bit 2]. PSTATE remains
1.
GateState2
64 / Write
FFh
IDLE
Standard end of sequence. Cycle passed through
to 8042. PSTATE goes to 0. USB_LEGKEY[bit 7]
determines if SMI# should be generated.
GateState2
64h / Write
Not FFh
IDLE
Improper end of sequence. USB_LEGKEY[bit 3]
determines if cycle passed through to 8042 and if
SMI# generated. PSTATE goes to 0. If
USB_LEGKEY[bit 7] is set, then SMI# should be
generated.
GateState2
64h / Read
N/A
GateState2
Just stay in same state. Generate an SMI# if
enabled in USB_LEGKEY[bit 2]. PSTATE remains
1.
GateState2
60h / Write
XXh
IDLE
Improper end of sequence. USB_LEGKEY[bit 1]
determines if cycle passed through to 8042 and if
SMI# generated. PSTATE goes to 0. If
USB_LEGKEY[bit 7] is set, then SMI# should be
generated.
GateState2
60h / Read
N/A
IDLE
Improper end of sequence. USB_LEGKEY[bit 0]
determines if cycle passed through to 8042 and if
SMI# generated. PSTATE goes to 0. If
USB_LEGKEY[bit 7] is set, then SMI# should be
generated.