summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Osterlund <petero2@telia.com>2004-07-31 15:59:28 +0200
committerPeter Osterlund <petero2@telia.com>2006-04-09 04:02:47 +0200
commit832dc0c0c0621c905e3780cca85597b1c556221b (patch)
treecee6a7db0b2d2e7ca6ce12b5b6cf0d5081e106ee
parentafe209ef8ffc4d26b72ba3077d65bcb5db8d4ce3 (diff)
Fixed problem with ALPS dualpoint stick packets. packet[2]
does not contain button information.
-rw-r--r--alps.patch28
-rw-r--r--alpscomm.c6
2 files changed, 15 insertions, 19 deletions
diff --git a/alps.patch b/alps.patch
index 43e7a46..5b0679f 100644
--- a/alps.patch
+++ b/alps.patch
@@ -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
diff --git a/alpscomm.c b/alpscomm.c
index 064f406..b04b45b 100644
--- a/alpscomm.c
+++ b/alpscomm.c
@@ -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;
}