StuBS
|
Decoder for mouse codes received from the PS2Controller. More...
#include <machine/mousedecoder.h>
Classes | |
union | MousePacket |
Structure of first packet. More... | |
struct | MousePacket.__unnamed66__ |
Public Member Functions | |
bool | decode (unsigned char code) |
Decode the mouse packets. | |
Public Attributes | |
Pointer | state |
Current position and state of the mouse. | |
Private Attributes | |
unsigned | cycle = 0 |
Next packet in cycle. | |
MousePacket | status |
Content of last received status packet. | |
Decoder for mouse codes received from the PS2Controller.
Extracts the mouse movements and button events.
Movements are reported with at least a 3-byte packet, depending on the extension (scroll wheel etc) sometimes more (but not handled here).
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
Byte 1 | Y ovf | X ovf | Y sgn | X sgn | 1 | M btn | R btn | L btn |
Byte 2 | X Movement | |||||||
Byte 3 | Y Movement | |||||||
Byte 4 | (ignored if present) |
Decode the mouse packets.
code | Byte from Keyboard to decode |
true
if a 3-byte-packet was successfully decoded.
|
private |
Next packet in cycle.
|
private |
Content of last received status packet.
Pointer MouseDecoder::state |
Current position and state of the mouse.