On Fri, Dec 11, 2009 at 10:03:18AM +1000, Peter Hutterer wrote: > On Thu, Dec 10, 2009 at 10:28:44AM -0800, Dmitry Torokhov wrote: > > 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. > > are we talking about kernel drivers or userspace drivers here? > > not handling ABS_MT_X, ABS_MT_Y properly in evdev is a bug (well, > not-yet-implemented feature) but if the kernel hands out both ABS_X and > ABS_MT_X that makes it difficult to determine which event is a valid one and > which one can be ignored. > No, it is pretty simple - all events are valid, otherwise it is kernel driver bug. Now, as userspace consumer, if you know how to handle multitouch protocol then use it, ignore ABS_X/ABS_Y. Otherwise you'd be dropping ABS_MT_* events and naturally handling ABS_X/ABS_Y. -- Dmitry -- 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