diff options
author | Peter Osterlund <petero2@telia.com> | 2004-07-31 15:59:28 +0200 |
---|---|---|
committer | Peter Osterlund <petero2@telia.com> | 2006-04-09 04:02:47 +0200 |
commit | 832dc0c0c0621c905e3780cca85597b1c556221b (patch) | |
tree | cee6a7db0b2d2e7ca6ce12b5b6cf0d5081e106ee | |
parent | afe209ef8ffc4d26b72ba3077d65bcb5db8d4ce3 (diff) |
Fixed problem with ALPS dualpoint stick packets. packet[2]
does not contain button information.
-rw-r--r-- | alps.patch | 28 | ||||
-rw-r--r-- | alpscomm.c | 6 |
2 files changed, 15 insertions, 19 deletions
@@ -17,15 +17,15 @@ features: --- linux-petero/drivers/input/mouse/Makefile | 2 - linux-petero/drivers/input/mouse/alps.c | 424 ++++++++++++++++++++++++ + linux-petero/drivers/input/mouse/alps.c | 422 ++++++++++++++++++++++++ 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, 469 insertions(+), 2 deletions(-) + 5 files changed, 467 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.000000000 +0200 -+++ linux-petero/drivers/input/mouse/Makefile 2004-07-30 23:12:35.000000000 +0200 +--- linux/drivers/input/mouse/Makefile~alps 2004-07-31 11:24:04.000000000 +0200 ++++ linux-petero/drivers/input/mouse/Makefile 2004-07-31 11:24:04.000000000 +0200 @@ -14,4 +14,4 @@ obj-$(CONFIG_MOUSE_PS2) += psmouse.o obj-$(CONFIG_MOUSE_SERIAL) += sermouse.o obj-$(CONFIG_MOUSE_VSXXXAA) += vsxxxaa.o @@ -34,8 +34,8 @@ diff -puN drivers/input/mouse/Makefile~alps drivers/input/mouse/Makefile +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 @@ ++++ linux-petero/drivers/input/mouse/alps.c 2004-07-31 15:55:30.082455504 +0200 +@@ -0,0 +1,422 @@ +/* + * ALPS touchpad PS/2 mouse driver + * @@ -148,10 +148,8 @@ diff -puN /dev/null drivers/input/mouse/alps.c + 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; ++ left = packet[3] & 1; ++ right = (packet[3] >> 1) & 1; + + input_report_rel(dev, REL_X, x); + input_report_rel(dev, REL_Y, -y); @@ -462,7 +460,7 @@ diff -puN /dev/null drivers/input/mouse/alps.c + 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.000000000 +0200 ++++ linux-petero/drivers/input/mouse/alps.h 2004-07-31 11:24:04.000000000 +0200 @@ -0,0 +1,17 @@ +/* + * ALPS touchpad PS/2 mouse driver @@ -482,8 +480,8 @@ diff -puN /dev/null drivers/input/mouse/alps.h + +#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.000000000 +0200 -+++ linux-petero/drivers/input/mouse/psmouse-base.c 2004-07-30 23:12:35.000000000 +0200 +--- linux/drivers/input/mouse/psmouse-base.c~alps 2004-07-31 11:24:04.000000000 +0200 ++++ linux-petero/drivers/input/mouse/psmouse-base.c 2004-07-31 11:24:04.000000000 +0200 @@ -2,6 +2,7 @@ * PS/2 mouse driver * @@ -537,8 +535,8 @@ diff -puN drivers/input/mouse/psmouse-base.c~alps drivers/input/mouse/psmouse-ba 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.000000000 +0200 -+++ linux-petero/drivers/input/mouse/psmouse.h 2004-07-30 23:12:35.000000000 +0200 +--- linux/drivers/input/mouse/psmouse.h~alps 2004-07-31 11:24:04.000000000 +0200 ++++ linux-petero/drivers/input/mouse/psmouse.h 2004-07-31 11:24:04.000000000 +0200 @@ -2,13 +2,16 @@ #define _PSMOUSE_H @@ -176,10 +176,8 @@ ALPS_process_packet(unsigned char *packet, struct SynapticsHwState *hw) y = y - 512; hw->guest_dx = x; hw->guest_dy = -y; - hw->left = packet[2] & 1; - hw->left |= packet[3] & 1; - hw->right = (packet[2] >> 1) & 1; - hw->right |= (packet[3] >> 1) & 1; + hw->left = packet[3] & 1; + hw->right = (packet[3] >> 1) & 1; return; } |