From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
To: "Stéphane Chatty" <chatty@enac.fr>
Cc: linux-input@vger.kernel.org, Rafi Rubin <rafi@seas.upenn.edu>,
Benjamin Tissoires <tissoire@cena.fr>,
Peter Hutterer <peter.hutterer@who-t.net>
Subject: Re: [PATCH 2/2] Support for Stantum multitouch panel
Date: Thu, 10 Dec 2009 10:28:44 -0800 [thread overview]
Message-ID: <20091210182844.GC23717@core.coreip.homeip.net> (raw)
In-Reply-To: <25E41E82-8D85-43DB-A47C-4F7FBDA0293F@enac.fr>
On Thu, Dec 10, 2009 at 08:37:39AM +0100, Stéphane Chatty wrote:
>
> Le 10 déc. 09 à 00:15, Dmitry Torokhov a écrit :
>
>> Hi Stephane,
>>
>> On Wed, Dec 09, 2009 at 10:49:28PM +0100, Stephane Chatty wrote:
>>> +
>>> + if (emulate_touchscreen) {
>>> + if (sd->first) {
>>> + if (!sd->activity) {
>>> + input_event(input, EV_KEY, BTN_TOUCH, 1);
>>> + sd->activity = 1;
>>> + }
>>> + input_event(input, EV_ABS, ABS_X, sd->x);
>>> + input_event(input, EV_ABS, ABS_Y, sd->y);
>>> + }
>>> + }
>>
>> Why are you doing the above conditionally? Just report it always -
>> less
>> setup required for the user.
>
> As regards setup, the emulate_touchscreen parameter is 1 by default so
> that users don't have to care about it. But I felt compelled to have this
> parameter because the ongoing work on X.org suggests that there might be
> a problem in upper layers with having duplicate information flows. For
> instant, if we associate a slave pointer (MPX terminology) to every
> ABS_MT_X/ABS_MT_Y flow, the ABS_X/ABS_Y will come as an additional flow
> and we'll need to do something to ignore it. Benjamin, Peter, what do you
> think?
I thought Henrik's idea was that driver should use either classic or
multitouch events from the data stream but not both. This way users
could either use old, non-multitouch-aware drivers or newer ones without
issues.
>
> Also, some devices (especially the N-Trig) do not make it possible to
> implement a single touch emulation because they have no finger tracking
> (IDs change over time, you never know which finger to use and the cursor
> would jump from one to the other randomly). Therefore, I did not feel
> like creating a new "standard" behaviour that will be broken by such
> devices.
If driver can't support something then it smply won't provide such
events at all and users that require certain capability will simply
ignore devices that don't provide it.
>
> Actually, Rafi Rubin and I have started to discuss the idea of splitting
> this into two input nodes: a pure multitouch device and a pure single
> touch emulation. I'd like to have feedback on this idea too, even if I
> have no time to work on it yet.
If you create 2 devices basically supplying the same data then it will
be harder for consumers to select between them and drivers. I.e. if
single device transmits entire state then it is easy to write hotplug
policy for say X server (using udev/hal) such as:
- this box always uses evdev for everything, or
- devices with nultitouch capabilities use new multitouch
X driver, the rest use evdev.
This will be harder if there were 2 "copies" of multitouch devices
because we'd have to be able to recognize "siblings" and ignore one or
the other.
Does this make sense?
If there is a concern about too many unused events reaching userspace -
then we need to implement subscription model in evdev where consumer can
specify list of events it is interested in and have input core deliver
only those. I'll take patches ;)
--
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2009-12-10 18:28 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-09 21:49 [PATCH 2/2] Support for Stantum multitouch panel Stephane Chatty
2009-12-09 23:15 ` Dmitry Torokhov
2009-12-10 7:37 ` Stéphane Chatty
2009-12-10 18:28 ` Dmitry Torokhov [this message]
2009-12-10 19:28 ` Rafi Rubin
2009-12-10 23:21 ` Peter Hutterer
2009-12-11 0:15 ` Dmitry Torokhov
2009-12-11 0:03 ` Peter Hutterer
2009-12-11 0:19 ` Dmitry Torokhov
2009-12-11 0:35 ` Peter Hutterer
2009-12-11 0:47 ` Dmitry Torokhov
2009-12-11 0:58 ` Peter Hutterer
2009-12-11 7:52 ` Dmitry Torokhov
2009-12-23 10:56 ` Stephane Chatty
2010-01-04 11:03 ` Jiri Kosina
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=20091210182844.GC23717@core.coreip.homeip.net \
--to=dmitry.torokhov@gmail.com \
--cc=chatty@enac.fr \
--cc=linux-input@vger.kernel.org \
--cc=peter.hutterer@who-t.net \
--cc=rafi@seas.upenn.edu \
--cc=tissoire@cena.fr \
/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).