When the PS2 mouse sends it's information it must send 3 consecutive data packets in a row. Each packet sent has different information for button pressed, movement and direction of movement. The table below shows what information is sent in each packet. Please remember that this information is of general nature and can change from one manufacturer to another. This is for a 2 button mouse, I have no idea what bit is used for other types of mouses like 3 buttons and others that have special functions like an up-down wheel for scrolling within windows.
L Left Button State (1 = pressed down)
R Right Button State (1 = pressed down)
X0-X7 Movement in the X direction
Y0-Y7 Movement in the Y direction
XS Direction of the movement in the X axis (1 = UP)
YS Direction of the movement in the Y axis (1 = LEFT)
XV,YV Overflow of the movement data bits (1 = overflow has occured)
The X and Y direction bits send the number of bits you moved since the last time this information was sent, the actual direction of the movement is sent in the XS and XY bits. If the movement of the mouse was higher than 255 data displacements since the information was last sent the overflow bit will go to one and will reset back to 0 as soon as the current data is sent. The way the driver handles overflow can change from one mouse driver to another, some may move the pointer 256 data bits and some may even decide to leave the pointer where it is! Some of you might wonder what exactly are the data bits sent for the movement bits, you will be able to shortly find this out in the i/o devices section on mouses which will be online shortly!