The PS/2 portion of the firmware handles the following requests and commands listed in the table below.Hex Code0xFF0xFE0xF60xF50xF40xF30xF20xF00xEE0xEC0xEB0xEA0xE90xE80xE70xE60xAA0xFA
CommandResetResendSet DefaultDisableEnable
Set Sampling RateRead Device TypeSet Remote ModeSet Wrap ModeReset Wrap ModeRead DataSet Stream ModeStatus RequestSet ResolutionSet Scaling 2:1Reset ScalingCompletion CodePeripheral ACK
Action
Resets mouse to default statesResends last data to host
Sets mouse to use default parametersDisables the mouseEnables the mouse
Set sampling rate to 10,20,40,60,80,100,200/secondReturns 0x00 to host, indicating the device is a mouse
Sets remote mode so data values are only reported after a readdata command
Set wrap mode until 0xFF or 0xEC is receivedReset to previous mode of operation.
Responds by sending a mouse report packet to hostSets stream mode
Returns current mode, en/disabled, scaling, button, resolution, andsampling rate information to the host.Sets resolution to 1,2,4,8 counts/mmSets scaling to 2:1Resets scaling to 1:1Command completion codeSent to acknowledge host requests
The PS/2 specification calls out the following default mouse report format. Byte 0 is the button data
(1=pressed, 0=released), X and Y optics sign bits, and X and Y overflow bits. Byte 1 is the X optics data in2’s complement format. Byte 2 has the Y optics data in 2’s complement format. At reset or power-on thestandard PS/2 reporting format is enabled.
Bit 7
Byte 0Byte1Byte2
Yoverflow
XY
Xoverflow
XY
Y signXY
X signXY
Reserved
XY
Reserved
XY
RightbuttonXY
Bit 0LeftbuttonXY