From: Peter Osterlund <petero2@telia.com>
To: Vojtech Pavlik <vojtech@suse.cz>
Cc: Kernel Mailing List <linux-kernel@vger.kernel.org>,
Joseph Fannin <jhf@rivenstone.net>,
Jens Taprogge <jens.taprogge@rwth-aachen.de>
Subject: Re: [PATCH] Synaptics TouchPad driver for 2.5.70
Date: 15 Jun 2003 14:18:57 +0200 [thread overview]
Message-ID: <m2he6rv8i6.fsf@telia.com> (raw)
In-Reply-To: <20030615001905.A27084@ucw.cz>
Vojtech Pavlik <vojtech@suse.cz> writes:
> On Wed, Jun 11, 2003 at 07:05:31AM +0200, Peter Osterlund wrote:
>
> > [ I'm resending this because the previous message never showed up on
> > the list. Maybe it was too big. ]
> >
> > Hi!
> >
> > Here is a driver for the Synaptics TouchPad for 2.5.70. It is largely
> > based on the XFree86 driver. This driver operates the touchpad in
> > absolute mode and emulates a three button mouse with two scroll
> > wheels. Features include:
> >
> > * Multi finger tapping.
> > * Vertical and horizontal scrolling.
> > * Edge scrolling during drag operations.
> > * Palm detection.
> > * Corner tapping.
>
> ... you may want to put these nice features into the mousedev.c driver
> for now, so that the touchpad works with standard XFree without the
> event based driver.
No need. There is now a working XFree86 driver here:
http://w1.894.telia.com/~u89404340/touchpad/index.html
It needs the following incremental kernel patch though.
diff -u -r -N --exclude='.*' --exclude='*.o' --exclude='*.ko' --exclude='*~' ../../linus/main/linux/drivers/input/mouse/Kconfig linux/drivers/input/mouse/Kconfig
--- ../../linus/main/linux/drivers/input/mouse/Kconfig Sun Jun 15 14:10:15 2003
+++ linux/drivers/input/mouse/Kconfig Sun Jun 15 13:53:38 2003
@@ -37,7 +37,7 @@
This touchpad is found on many modern laptop computers.
Note that you also need a user space driver to interpret the data
generated by the kernel. A compatible driver for XFree86 is available
- from http://...
+ from http://w1.894.telia.com/~u89404340/touchpad/index.html
If unsure, say Y.
diff -u -r -N --exclude='.*' --exclude='*.o' --exclude='*.ko' --exclude='*~' ../../linus/main/linux/drivers/input/mouse/synaptics.c linux/drivers/input/mouse/synaptics.c
--- ../../linus/main/linux/drivers/input/mouse/synaptics.c Sun Jun 15 14:10:15 2003
+++ linux/drivers/input/mouse/synaptics.c Sun Jun 15 11:39:46 2003
@@ -179,9 +179,9 @@
static int query_hardware(struct psmouse *psmouse)
{
struct synaptics_data *priv = psmouse->private;
- int retries = 3;
+ int retries = 0;
- while ((retries++ <= 3) && synaptics_reset(psmouse))
+ while ((retries++ < 3) && synaptics_reset(psmouse))
printk(KERN_ERR "synaptics reset failed\n");
if (synaptics_identify(psmouse, &priv->identity))
@@ -274,8 +274,7 @@
* Functions to interpret the absolute mode packets
****************************************************************************/
-static void synaptics_parse_hw_state(struct synaptics_data *priv,
- struct synaptics_hw_state *hw)
+static void synaptics_parse_hw_state(struct synaptics_data *priv, struct synaptics_hw_state *hw)
{
unsigned char *buf = priv->proto_buf;
@@ -347,10 +346,12 @@
input_report_abs(dev, ABS_Y, hw.y);
input_report_abs(dev, ABS_PRESSURE, hw.z);
- if (hw.w != priv->old_w) {
- input_event(dev, EV_MSC, MSC_GESTURE, hw.w);
- priv->old_w = hw.w;
- }
+ /*
+ * This will generate an event even if w is unchanged, but that is
+ * exactly what we want, because user space drivers may depend on
+ * this for gesture decoding.
+ */
+ input_event(dev, EV_MSC, MSC_GESTURE, hw.w);
input_report_key(dev, BTN_LEFT, hw.left);
input_report_key(dev, BTN_RIGHT, hw.right);
diff -u -r -N --exclude='.*' --exclude='*.o' --exclude='*.ko' --exclude='*~' ../../linus/main/linux/drivers/input/mouse/synaptics.h linux/drivers/input/mouse/synaptics.h
--- ../../linus/main/linux/drivers/input/mouse/synaptics.h Sun Jun 15 14:10:15 2003
+++ linux/drivers/input/mouse/synaptics.h Sun Jun 15 11:40:14 2003
@@ -83,8 +83,6 @@
unsigned char last_byte; /* last received byte */
int inSync; /* Packets in sync */
int proto_buf_tail;
-
- int old_w; /* Previous w value */
};
#endif /* _SYNAPTICS_H */
--
Peter Osterlund - petero2@telia.com
http://w1.894.telia.com/~u89404340
next prev parent reply other threads:[~2003-06-15 12:05 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <m2smqhqk4k.fsf@p4.localdomain>
2003-06-11 15:02 ` [PATCH] Synaptics TouchPad driver for 2.5.70 Vojtech Pavlik
2003-06-11 18:16 ` Peter Osterlund
2003-06-11 18:26 ` Vojtech Pavlik
2003-06-11 18:29 ` AlberT
2003-06-11 18:34 ` Vojtech Pavlik
2003-06-11 21:23 ` Peter Osterlund
2003-06-12 2:48 ` Joseph Fannin
2003-06-12 2:54 ` CaT
2003-06-12 18:58 ` Peter Osterlund
2003-06-12 22:01 ` Peter Berg Larsen
2003-06-12 22:57 ` Vojtech Pavlik
2003-06-12 23:17 ` Peter Berg Larsen
2003-06-12 23:27 ` Vojtech Pavlik
2003-06-12 23:42 ` Peter Berg Larsen
2003-06-13 7:44 ` Vojtech Pavlik
2003-06-13 8:58 ` Peter Berg Larsen
2003-06-13 20:25 ` James Simmons
2003-06-13 20:38 ` Vojtech Pavlik
2003-06-13 20:51 ` James Simmons
2003-06-13 22:08 ` Vojtech Pavlik
2003-06-13 23:57 ` James Simmons
2003-06-14 8:55 ` Vojtech Pavlik
2003-06-16 21:28 ` James Simmons
2003-06-12 19:11 ` Peter Osterlund
2003-06-12 6:31 ` Vojtech Pavlik
2003-06-12 8:36 ` James H. Cloos Jr.
2003-06-15 21:42 ` [PATCH] Synaptics Client/Passthrough (for Inspiron...) Arne Koewing
2003-06-13 21:15 ` [PATCH] Synaptics TouchPad driver for 2.5.70 Peter Osterlund
2003-06-13 21:49 ` James Simmons
2003-06-13 22:08 ` Vojtech Pavlik
2003-06-13 22:55 ` Peter Berg Larsen
2003-06-14 8:42 ` Vojtech Pavlik
2003-06-14 22:19 ` Vojtech Pavlik
2003-06-15 12:18 ` Peter Osterlund [this message]
2003-06-15 12:28 ` Vojtech Pavlik
2003-06-15 15:47 ` Peter Osterlund
2003-06-15 17:27 ` Vojtech Pavlik
2003-06-18 23:41 ` Peter Osterlund
2003-06-19 6:03 ` Vojtech Pavlik
2003-06-23 16:30 ` Andreas Jellinghaus
2003-06-23 19:04 ` Peter Osterlund
2003-06-26 20:01 ` Vojtech Pavlik
2003-07-07 23:06 ` Peter Osterlund
2003-07-12 10:51 ` Andreas Jellinghaus
2003-06-10 22:52 Joseph Fannin
2003-06-11 15:30 ` Joseph Fannin
2003-06-11 20:17 ` Andrew Morton
2003-06-11 20:29 ` Vojtech Pavlik
2003-06-11 22:12 ` Peter Osterlund
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m2he6rv8i6.fsf@telia.com \
--to=petero2@telia.com \
--cc=jens.taprogge@rwth-aachen.de \
--cc=jhf@rivenstone.net \
--cc=linux-kernel@vger.kernel.org \
--cc=vojtech@suse.cz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.