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?
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.
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.
St.
--
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