On Thu, Dec 02, 2010 at 10:30:56AM -0500, Chase Douglas wrote: > On 12/01/2010 04:27 PM, Daniel Stone wrote: > > On Fri, Nov 19, 2010 at 01:52:39PM -0500, Chase Douglas wrote: > >> A touch event is not delivered according to the device hierarchy. All > >> touch > >> -events are sent only through their originating slave devices. > >> +events are sent only through their originating slave devices. However, > >> +dependent touch devices will only emit touch events if they are attached > >> to a > >> +master device. This is due to the touch delivery being dependent on the > >> +location of a cursor. > > > > I find this fairly worrying. The main reason not to send touch events > > through MDs is that it would necessarily cause a storm of > > DeviceChangedEvents.
DCE's are only created when you switch between the devices. So unless you use your mouse _and_ your touchscreen(s) at the same time, no DCEs will be generated. Even if you use mouse and touchscreen in a serial manner, you'll only get one DCE whenever you switch between the two. > > However, we can handwave this away in the spec by > > avoiding listing touch classes on MDs, and stating (as my original > > revision did) that touch capabilities must be taken from the SD, as > > given in sourceid of the event. > > > > The reason this concerns me is that it creates (even more) divergent > > event delivery paths for touch events vs. normal events. This is a pain > > in and of itself when trying to understand event flow, which can be > > difficult at the best of times, but especially if we're going to be > > generating synthesised pointer events from touch events. This would > > mean that the same touch would be generating two events which go down > > completely separate delivery paths. The worst case here is that one > > touch causes two clients to react and do two different things: this > > would be bad bad bad bad bad. > > > > So I'd be much happier if touch events were also delivered through the > > MDs as well. > > I am ok with sending events through the MD if the DCEs are not generated > for touch events and MDs do not copy touch axes. I think that alleviates > the potential performance impact. what performance impact? I don't think the DCE's are the performance impact we have to worry about. if we're sending a DCE every few seconds but multiple touch events as second, our optimization paths are somewhere else. Cheers, Peter _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
