Specifications

N-Key Rollover
In the case where multiple keys are pressed and held down, only the last key pressed should be repeated. To accomplish
this, the last key press is stored in the LastTx buffer and is sent again in a separate report to the host whenever a multiple
key report is sent. Once the same key is released, a report notifying it of the release is sent to the host (all 6 key array
positions are filled with 0s).
Endpoint 2
The usb reference firmware supports the implementation of the power, sleep, and wake keys, as defined in the USB HID
specification and in Microsofts PC98 Keyboard Specification. These keys are reported to the host via an entirely separate
descriptor structure reserved for power management events. In addition, the reference firmware includes optional support for
a slave ps2 mouse, using another unique descriptor structure for mouse packets. Endpoint 2 is pressed into service to
report both power management events and mouse data packets. These packets are distinguished by a unique report ID
embedded in the packet itself, which identifies the content of the packet currently being transmitted. The structure of the
data inside the packet, and the value of the report ID for each type of transmission, is entirely defined by the report
descriptor for endpoint 2: