 ---
 
  linux-petero/drivers/input/mouse/Makefile       |    2 
- linux-petero/drivers/input/mouse/alps.c         |  417 ++++++++++++++++++++++++
+ linux-petero/drivers/input/mouse/alps.c         |  424 ++++++++++++++++++++++++
  linux-petero/drivers/input/mouse/alps.h         |   17 
  linux-petero/drivers/input/mouse/psmouse-base.c |   24 +
  linux-petero/drivers/input/mouse/psmouse.h      |    4 
- 5 files changed, 462 insertions(+), 2 deletions(-)
+ 5 files changed, 469 insertions(+), 2 deletions(-)
 
 diff -puN drivers/input/mouse/Makefile~alps drivers/input/mouse/Makefile
---- linux/drivers/input/mouse/Makefile~alps	2004-07-30 23:12:35.759062064 +0200
-+++ linux-petero/drivers/input/mouse/Makefile	2004-07-30 23:12:35.765061152 +0200
+--- linux/drivers/input/mouse/Makefile~alps	2004-07-30 23:12:35.000000000 +0200
++++ linux-petero/drivers/input/mouse/Makefile	2004-07-30 23:12:35.000000000 +0200
 @@ -14,4 +14,4 @@ obj-$(CONFIG_MOUSE_PS2)		+= psmouse.o
  obj-$(CONFIG_MOUSE_SERIAL)	+= sermouse.o
  obj-$(CONFIG_MOUSE_VSXXXAA)	+= vsxxxaa.o

+
+#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
@@ -2,6 +2,7 @@
  * PS/2 mouse driver
  *

+			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;
+	}
