 +int ALPS_process_byte(struct psmouse *psmouse, struct pt_regs *regs);
 +#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-02-22 08:29:18.000000000 +0100
-+++ linux-petero/drivers/input/mouse/psmouse-base.c	2004-02-22 08:29:18.000000000 +0100
+--- linux/drivers/input/mouse/psmouse-base.c~alps	2004-04-22 23:33:12.000000000 +0200
++++ linux-petero/drivers/input/mouse/psmouse-base.c	2004-04-22 23:33:12.000000000 +0200
 @@ -21,6 +21,7 @@
  #include "psmouse.h"
  #include "synaptics.h"

+ *
+ * On a dualpoint, {mid,rig,lef}0 are the stick, 1 are the pad.
+ * We just 'or' them together for now.
+ *
+ * We used to send 'ges'tures as BTN_TOUCH but this made it impossible
+ * to disable tap events in the synaptics driver since the driver
+ * was unable to distinguish a gesture tap from an actual button click.
+ * A tap gesture now creates an emulated touch that the synaptics
+ * driver can interpret as a tap event, if MaxTapTime=0 and
+ * MaxTapMove=0 then the driver will ignore taps.
+ *
+ * The touchpad on an 'Acer Aspire' has 4 buttons:
+ *   left,right,up,down.

 	if (psmouse->pktcnt == 3 + (psmouse->type >= PSMOUSE_GENPS)) {
 		psmouse_process_packet(psmouse, regs);
 		psmouse->pktcnt = 0;
@@ -542,6 +547,9 @@ static void psmouse_initialize(struct ps
  */
 
 	psmouse_command(psmouse, param, PSMOUSE_CMD_SETSTREAM);
