From: Henrik Rydberg <rydberg@euromail.se>
To: Rafi Rubin <rafi@seas.upenn.edu>
Cc: "Dmitry Torokhov" <dmitry.torokhov@gmail.com>,
linux-input@vger.kernel.org, linux-kernel@vger.kernel.org,
"Chris Bagwell" <chris@cnpbagwell.com>,
"Chase Douglas" <chasedouglas@gmail.com>,
"Takashi Iwai" <tiwai@suse.de>,
"Stéphane Chatty" <chatty@enac.fr>
Subject: Re: [PATCH] input: Introduce light-weight contact tracking
Date: Thu, 11 Nov 2010 11:53:02 +0100 [thread overview]
Message-ID: <4CDBCB0E.2020005@euromail.se> (raw)
In-Reply-To: <4CDB7C05.1090306@seas.upenn.edu>
On 11/11/2010 06:15 AM, Rafi Rubin wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
>> For every (number of used slots, number of current contacts) pair, two
>> consecutive arrays of values are generated. The first contains the matrix
>> indices corresponding to a certain mapping from contacts to slots. The second
>> contains the actual slot assignment.
>>
>> To find the optimal matching, one simply scans through the appropriate index
>> array, extracting the slot assignment corresponding to the minimum sum of matrix
>> elements. This process is combinatorial and in general scales much worse than
>> for instance the hungarian algorithm, but for small numbers, it can be
>> implemented with very good speed.
>
> It occurs to me that it might be a good idea to restate our goals and assumptions.
The main goal of my patch is to device a simple, stable, parameter-free matching
function that can be used in interrupt context. If you have such a function,
about a hundred lines of code, completes in a couple of hundred cycles, tested
and benchmarked in the mtdev framework, and which can do six fingers, I would be
happy to use that instead. Otherwise, I suggest we focus on this patch.
> So that's why I selected the approach and data structures I used. Now if you
> can tell me the studio 17 is going to be the only device that will ever run
> these routines that has more than 4 contacts and is not tracked, then sure,
> screw it. I have no reason to believe that is a good assumption.
The N-trig device is the only device in the kernel that requires special ghost
filtering. All other devices send reliable data, and either have fewer contacts,
handle their own tracking, or send all data to userspace. Future devices will
most likely have tracking capabilities, and even if they do not, protocol A and
mtdev handles that case. Thus, the question is really whether a new device would
produce unreliable contact data. I find that unlikely.
> Even if we do want to limit the code to 4 contacts, we still need some motion
> estimation, particularly for the lower frame rate devices.
Second-order methods for a device that does not even produce zeroth-order
contact data? As far as I know, the first-order tracking in mtdev has not
disappointed anyone yet, so your statement seems to need elaboration.
Henrik
next prev parent reply other threads:[~2010-11-11 10:53 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-07 20:18 [PATCH] input: Introduce light-weight contact tracking Henrik Rydberg
2010-11-07 20:44 ` Rafi Rubin
2010-11-07 20:50 ` Henrik Rydberg
2010-11-07 22:14 ` Rafi Rubin
2010-11-08 14:57 ` Henrik Rydberg
2010-11-08 16:54 ` Rafi Rubin
2010-11-08 19:07 ` Henrik Rydberg
2010-11-11 5:15 ` Rafi Rubin
2010-11-11 10:53 ` Henrik Rydberg [this message]
2010-11-11 20:00 ` Dmitry Torokhov
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=4CDBCB0E.2020005@euromail.se \
--to=rydberg@euromail.se \
--cc=chasedouglas@gmail.com \
--cc=chatty@enac.fr \
--cc=chris@cnpbagwell.com \
--cc=dmitry.torokhov@gmail.com \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rafi@seas.upenn.edu \
--cc=tiwai@suse.de \
/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).