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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).