This patch fixes the usb mouse wheel of usb devices.
[ Previously, tablets would fail to subtract dz from e->dz thus
producing an infinite stream of reports; also the wheel direction
inversions had been multipled by merge damage resulting in the wrong
number of inversions for mice. -iwj ]
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
dz = int_clamp(e->dz, -128, 127);
+ e->dz -= dz;
if (s->xyrel) {
dx = int_clamp(e->xdx, -128, 127);
dy = int_clamp(e->ydy, -128, 127);
QUEUE_INCR(s->head);
}
- /* Appears we have to invert the wheel direction */
- dz = 0 - dz;
-
b = 0;
if (e->buttons_state & MOUSE_EVENT_LBUTTON)
b |= 0x01;
break;
case USB_TABLET:
- /* Appears we have to invert the wheel direction */
- dz = 0 - dz;
-
buf[0] = b;
buf[1] = dx & 0xff;
buf[2] = dx >> 8;