Communications Protocols from J.E. Davis posted by Peter Tiang

  1. PC Mouse Systems
    Serial UART: 1200 baud, data=8,start=1,parity=none
    Mouse Protocol of Transmission
            bit:    7  6  5  4  3  2  1  0
    byte 1  (sync)  1  0  0  0  0  L  M  R      (0=depressed button)
    byte 2  (dX)    x7 x6 x5 x4 x3 x2 x1 x0     (bit 7 -> 0=pos,1=neg)
    byte 3  (dY)    y7 y6 y5 y4 y3 y2 y1 y0
    byte 4  (dX')   x7 x6 x5 x4 x3 x2 x1 x0
    byte 5  (dY')   y7 y6 y5 y4 y3 y2 y1 y0
    Notes:  - all bytes are two's complement binary
            - dX, dY  = relative moves after last transmission
            - dX',dY' = relative moves since dX, dY were transmitted
    
    
  2. Microsoft Mouse
    Serial UART: 1200 baud, data=7,stop=1,parity=none
    Mouse Protocol of Transmission (normal mode)
            bit:    7  6  5  4  3  2  1  0
    byte 1  (sync)  0  1  L  R  y7 y6 x7 x6    (1=depressed button)
    byte 2  (dX)    0  0 x5 x4 x3 x2 x1 x0     (MSB-> 0=pos,1=neg)
    byte 3  (dY)    0  0 y5 y4 y3 y2 y1 y0
    Notes:  - all moves bytes are two's complement binary
              (you must collect all bits together)
    

See also:

1