Hi!
Based on the experience with Genius Genitizer digitizer I thought the Y
axis code should be 0 on the top. The HID spec says otherwise and the
Wacom PenPartner does as HID spec says. So this patch fixes it to the
spec, and a patch for the Genitizer to work its quirk around will follow
shortly.
--
Vojtech Pavlik
SuSE Labs
diff -urN linux-2.4.0-2-old/drivers/usb/mousedev.c linux/drivers/usb/mousedev.c
--- linux-2.4.0-2-old/drivers/usb/mousedev.c Fri Mar 10 22:18:42 2000
+++ linux/drivers/usb/mousedev.c Sun Mar 19 16:46:48 2000
@@ -95,8 +95,8 @@
break;
case ABS_Y:
size = handle->dev->absmax[ABS_Y] -
handle->dev->absmin[ABS_Y];
- list->dy += (value *
CONFIG_MOUSEDEV_SCREEN_Y - list->oldy) / size;
- list->oldy += list->dy * size;
+ list->dy -= (value *
+CONFIG_MOUSEDEV_SCREEN_Y - list->oldy) / size;
+ list->oldy -= list->dy * size;
break;
}
break;
diff -urN linux-2.4.0-2-old/drivers/usb/wacom.c linux/drivers/usb/wacom.c
--- linux-2.4.0-2-old/drivers/usb/wacom.c Sun Mar 19 12:10:49 2000
+++ linux/drivers/usb/wacom.c Sun Mar 19 18:13:46 2000
@@ -131,7 +131,7 @@
if ( data[1] & 0x80 ) {
input_report_abs(dev, ABS_X, data[2] | ((__u32)data[3] << 8));
- input_report_abs(dev, ABS_Y, wacom->features->y_max - (data[4] |
((__u32)data[5] << 8)));
+ input_report_abs(dev, ABS_Y, data[4] | ((__u32)data[5] << 8));
}
switch ((data[1] >> 5) & 3) {
@@ -196,7 +196,7 @@
}
input_report_abs(dev, ABS_X, ((__u32)data[2] << 8) | data[3]);
- input_report_abs(dev, ABS_Y, wacom->features->y_max - (((__u32)data[4] << 8) |
data[5]));
+ input_report_abs(dev, ABS_Y, ((__u32)data[4] << 8) | data[5]);
input_report_abs(dev, ABS_PRESSURE, t = ((__u32)data[6] << 2) | ((data[7] >>
6) & 3));
input_report_abs(dev, ABS_DISTANCE, data[9] >> 4);
input_report_abs(dev, ABS_TILT_X, ((data[7] << 1) & 0x7e) | (data[8] >> 7));
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]