Re: [RFC] HID and multitouch

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

>> - furthermore, some fingers have to be discarded because they are 
>> placeholders with no valid data, and we know if to dump them only when 
>> they have been fully parsed. Therefore, we need a mechanism to cache 
>> finger data until the decision is made. Currently, the caching mechanism 
>> has to be device-dependent because the fields are not exactly the same 
>> and they come in a device-dependent order.
> 
> What kind of caching is required here? Is there any upper bound 
> approximation on the amount of data that need to be cached?
> 
> Would simple infrastructure, introducing linked list of [usage, value] 
> tuples, together with "flush()" method, that will again only call 
> hidinput_hid_event multiple times, be enough to be common for all drivers 
> needing this?

I can only answer for the ntrig.  To get a correct output of active fingers, we'd have to cache a total of twice the maximum number
of fingers.  The first copy is for the previous state and the second is for the current to check if id's have shifted.

On the upshot, all fingers seem to be transmitted on every input event.  So we don't have to stall input events for longer than the
io and processing time to perform such a correction.


My impression is that most or all of the other devices perform finger tracking in which case they need to buffer at most just the
maximum number of fingers, though if using dynamic structures, might be able to shrink that to the current max contact id (max id of
active inputs).  It sounds like the devices are sending full data, when they just want to transmit a sparse array.


I'm not sure there's a significant benefit to a dynamic data structure for holding the incoming points.  I don't think any of these
devices are capable of reporting more than 5 or 10 points.  With the current firmware, the ntrig only reports 4+pen, though it
reports them as 6 points (id 4 is always transmitted and always 0, and 5 is the pen).  Anyway, we're talking small arrays with just
a little state in each cell.

Rafi
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAksnqDkACgkQwuRiAT9o60/zCwCfY/eoK2Ys7tBFDg0ITUuJ12WS
iE8AoNhBd+7jeXDK5ViKasbL9icdMcTh
=1Tdr
-----END PGP SIGNATURE-----
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux