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

+
diff -puN /dev/null drivers/input/mouse/alps.h
--- /dev/null	2004-02-23 22:02:56.000000000 +0100
+++ linux-petero/drivers/input/mouse/alps.h	2004-07-30 23:12:35.766061000 +0200
@@ -0,0 +1,17 @@
+/*
+ * ALPS touchpad PS/2 mouse driver

+psmouse-objs  := psmouse-base.o alps.o logips2pp.o synaptics.o
diff -puN /dev/null drivers/input/mouse/alps.c
--- /dev/null	2004-02-23 22:02:56.000000000 +0100
+++ linux-petero/drivers/input/mouse/alps.c	2004-07-31 10:52:56.515538984 +0200
@@ -0,0 +1,424 @@
+/*
+ * ALPS touchpad PS/2 mouse driver
+ *
