From: Peter Osterlund <petero2@telia.com>
To: Stelian Pop <stelian@popies.net>
Cc: Andrew Morton <akpm@osdl.org>, Vojtech Pavlik <vojtech@suse.cz>,
Johannes Berg <johannes@sipsolutions.net>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Frank Arnold <frank@scirocco-5v-turbo.de>
Subject: Re: [PATCH] Apple USB Touchpad driver (new)
Date: 11 Jul 2005 15:48:57 +0200 [thread overview]
Message-ID: <m3eka5h2ra.fsf@telia.com> (raw)
In-Reply-To: <1121078371.12621.36.camel@localhost.localdomain>
Stelian Pop <stelian@popies.net> writes:
> Le lundi 11 juillet 2005 à 02:15 +0200, Peter Osterlund a écrit :
> > Vojtech Pavlik <vojtech@suse.cz> writes:
> >
> > > Using a function like
> > >
> > > return (x_old * 3 + x) / 4;
> > >
> > > eliminates the need for a FIFO, and has similar (if not better)
> > > properties to floating average, because its coefficients are
> > > [ .25 .18 .14 .10 ... ].
> >
> > Agreed.
>
> Except that this does not work well enough.
>
> There are two problems I encountered in this driver:
> * fuzz problems (keeping the finger at the same place makes the pointer
> dance around its position). This is solved by the input core's fuzz
> treatment, as I already set the fuzz to 16 in the code.
>
> * hickup problems (moving the finger generates non linear points,
> something like 1 1 1 3 3 3 4 4 4 instead of 1 1 1 2 2 3 3 4 4). And here
> the floating average approach works better than the input core's method.
> (this could probably be solved also by changing the way the absolute
> coordinate is calculated from the sensor array in atp_calculate_abs, but
> I haven't been able to find a better linear function).
It would be interesting if you could generate some debug dumps using
the "sample" line:
+ dbg_dump("sample", xy_cur);
The "accumulator" dumps are not needed, the raw data should be
enough. Including timing information would be helpful though, like
this:
--- a/drivers/usb/input/appletouch.c
+++ b/drivers/usb/input/appletouch.c
@@ -121,7 +121,7 @@ struct atp {
#define dbg_dump(msg, tab) \
if (debug > 1) { \
int i; \
- printk("appletouch: %s ", msg); \
+ printk("appletouch: %s %lld ", msg, (long long)jiffies);\
for (i = 0; i < ATP_XSENSORS + ATP_YSENSORS; i++) \
printk("%02x ", tab[i]); \
printk("\n"); \
Debug dumps for the following actions would be interesting.
1. When not touching the touchpad.
2. When trying to hold a finger on the touchpad without moving it.
3. A single finger movement. (Touch, move finger, release.)
4. A single finger touch. First a light touch, then pressing harder
and harder, to see if a reliable pressure value can be computed
from the data.
5. A two-finger touch.
> I would prefer to submit the patch myself, because as you say you cannot
> test the code and those changes are rather sensitive.
No problem, I just needed a patch when I was playing around with StGIT
and thought I might as well use a real patch.
--
Peter Osterlund - petero2@telia.com
http://web.telia.com/~u89404340
next prev parent reply other threads:[~2005-07-11 13:51 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-07-08 10:17 [PATCH] Apple USB Touchpad driver (new) Stelian Pop
2005-07-08 11:18 ` Johannes Berg
2005-07-08 12:10 ` Stelian Pop
2005-07-09 19:13 ` Vojtech Pavlik
2005-07-09 22:48 ` Peter Osterlund
2005-07-10 12:04 ` Vojtech Pavlik
2005-07-11 0:15 ` Peter Osterlund
2005-07-11 10:39 ` Stelian Pop
2005-07-11 11:00 ` Vojtech Pavlik
2005-07-11 11:08 ` Stelian Pop
2005-07-11 11:21 ` Vojtech Pavlik
2005-07-11 12:47 ` Stelian Pop
2005-07-11 13:35 ` Stelian Pop
2005-07-12 9:05 ` Stelian Pop
2005-07-12 14:13 ` Dmitry Torokhov
2005-07-12 14:33 ` Stelian Pop
2005-07-12 14:47 ` Dmitry Torokhov
2005-07-12 18:13 ` Vojtech Pavlik
2005-07-12 19:21 ` Stelian Pop
[not found] ` <20050711035244.115067ac.akpm@osdl.org>
2005-07-11 11:04 ` Stelian Pop
2005-07-11 13:25 ` Peter Osterlund
2005-07-11 20:44 ` Lee Revell
2005-07-11 20:54 ` Stelian Pop
2005-07-11 13:48 ` Peter Osterlund [this message]
2005-07-11 10:47 ` Vojtech Pavlik
2005-07-09 22:32 ` Peter Osterlund
2005-07-10 11:58 ` Vojtech Pavlik
2005-07-11 10:06 ` Stelian Pop
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=m3eka5h2ra.fsf@telia.com \
--to=petero2@telia.com \
--cc=akpm@osdl.org \
--cc=frank@scirocco-5v-turbo.de \
--cc=johannes@sipsolutions.net \
--cc=linux-kernel@vger.kernel.org \
--cc=stelian@popies.net \
--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.