 +
 +#endif
 diff -puN drivers/input/mouse/psmouse-base.c~alps drivers/input/mouse/psmouse-base.c
---- linux/drivers/input/mouse/psmouse-base.c~alps	2004-07-30 23:12:35.761061760 +0200
-+++ linux-petero/drivers/input/mouse/psmouse-base.c	2004-07-30 23:12:35.766061000 +0200
+--- linux/drivers/input/mouse/psmouse-base.c~alps	2004-07-30 23:12:35.000000000 +0200
++++ linux-petero/drivers/input/mouse/psmouse-base.c	2004-07-30 23:12:35.000000000 +0200
 @@ -2,6 +2,7 @@
   * PS/2 mouse driver
   *

 
 		if (set_properties) {
diff -puN drivers/input/mouse/psmouse.h~alps drivers/input/mouse/psmouse.h
--- linux/drivers/input/mouse/psmouse.h~alps	2004-07-30 23:12:35.762061608 +0200
+++ linux-petero/drivers/input/mouse/psmouse.h	2004-07-30 23:12:35.767060848 +0200
@@ -2,13 +2,16 @@
 #define _PSMOUSE_H
 

+			x = x - 768;
+		if (y > 255)
+			y = y - 512;
+		left   = packet[2] & 1;
+		left  |= packet[3] & 1;
+		right  = (packet[2] >> 1) & 1;
+		right |= (packet[3] >> 1) & 1;
+
+		input_report_rel(dev, REL_X, x);
+		input_report_rel(dev, REL_Y, -y);
+		input_report_key(dev, BTN_LEFT, left);
+		input_report_key(dev, BTN_RIGHT, right);
+		input_sync(dev);
+		return;
+	}
