Hi, I have been reading about the Intellimouse protocol and the usage of the 4th byte in the standard packet. Some documentation claims that the low order nibble is used as magnitude and the high order nibble as sign (F for negative, 0 for positive), encoded in 2's complement; This would indicate that the valid range for this input is 15 to -15. Some documents claim that the full range of 127 to -127 is valid. However, dz @ xc/programs/Xserver/hw/xfree86/input/mouse/mouse.c:1414 is limited to 6> && >-6 and this certainly seems incorrect. The case in point is an AMI 150T Optical WebScroll mouse, which reports vertical scroll as 1 and -1 (FF) and horizontal scroll as 7 and -7 (F9). I have a patch to remove the checks on the limits that works for me:
--- xc/programs/Xserver/hw/xfree86/input/mouse/mouse.c.orig 2001-12-19 16:05:22.000000000 +0000 +++ xc/programs/Xserver/hw/xfree86/input/mouse/mouse.c 2003-08-31 23:55:04.000000000 +0100 @@ -1411,7 +1411,5 @@ dx = (pBuf[0] & 0x10) ? pBuf[1]-256 : pBuf[1]; dy = (pBuf[0] & 0x20) ? -(pBuf[2]-256) : -pBuf[2]; dz = (char)pBuf[3]; - if ((dz >= 7) || (dz <= -7)) - dz = 0; break; I also tested it with > 15 && < -15 which worked as well. I do not know the correct solution. Hoping to be helpful Matthew Bell _______________________________________________ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel