On Fri, Aug 19, 2011 at 02:41:01PM +0200, Éric Piel wrote: > Op 19-08-11 14:13, Seth Forshee schreef: > >On Fri, Aug 19, 2011 at 04:29:57PM +0800, JJ Ding wrote: > >>>You should only report the ABS_[XY] coordinates when fingers != 0. The > >>>xorg synaptics module sees the values reported in that case as > >>>legitimate. This is causing me to see strange behaviors when scrolling > >>>with two-finger drags. > >>AFAIK, though v2 and v3 differ in packet format, they really report the > >>same data to the userspace. In this version of v3 support, I even try to > >>make v2 and v3 report all the data in the same sequnce. If you're seeing > >>this issue, maybe we should do the same with v2? > > > >Actually neither v1 nor v2 reports ABS_[XY] unless fingers != 0. In v2 > >the reporting is in a switch statement on the number of fingers, and 0 > >is unhandled. > > Yes, in other words, in the case of v1 or v2, the switch(fingers) > does nothing if fingers == 0. > > Maybe you could do put these 3 lines inside a "if (fingers != 0)": > + input_report_abs(dev, ABS_X, x1); > + input_report_abs(dev, ABS_Y, y1); > + elantech_report_semi_mt_data(dev, fingers, x1, y1, x2, y2); I don't think elantech_report_semi_mt_data() should be moved inside the condition. It's doing the right thing when fingers is 0. -- 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