On Fri, Jan 28, 2011 at 11:01:39AM -0800, Ping Cheng wrote: > On Fri, Jan 28, 2011 at 10:46 AM, Dmitry Torokhov > <dmitry.torokhov@xxxxxxxxx> wrote: > > On Fri, Jan 28, 2011 at 10:23:59AM -0800, Ping Cheng wrote: > >> On Fri, Jan 28, 2011 at 9:30 AM, Henrik Rydberg <rydberg@xxxxxxxxxxx> wrote: > >> > Hi Ping, > >> > > >> >> This is mainly required by the serial pen and touch devices since > >> >> both pen and touch are on the same port. Updated the USB ones to > >> >> keep MT event definition consistent among serial and USB devices. > >> > > >> > Why is this change performed? What does the patch do? Please elaborate > >> > a little bit. > >> > >> Let's see if I can explain it clearer or not. > >> > >> We need to report resolution to userland for wacom_w8001.c. Since pen > >> and touch data are reported through the same logical port for serial > >> devices, using input_abs_set_res for ABS_X/Y, we can only pass the > >> resolution for pen or touch. So, I let ABS_X/Y report pen resolution > >> since most legacy ST clients process pen data over touch. However, for > >> multi-touch clients, especially for those that support gestures, touch > >> resolution is needed to calculate the physical distance between two > >> touch points. Using ABS_MT_POSITION_X/Y does not cause confusion and > >> it is quite intuitive. > > > > We just went through the round of why we should scale events from > > different tools when they use the same event devices and I do not see > > why MT data is any different. > > At the time when we worked on that, we did not consider resolution. We > only scaled the logical values. > > > Devices have only one set of physical axes (MT or not) > > You are right if the device only supports one type of tools. Yes, ST > or pen can go with ABS_X/Y. MT goes with MT. However, we are dealing > with a dual tool case: pen and touch on the same port. Using only one > set of axes would not be able to cover both tool events and pass the > resolution to the userland. > > > so I believe > > min, max and resultion should be reported on ABS_X, Y, X, etc, or, if > > you want to have this data in ABS_MT_POSITION, it should be trhe same. > > max/min is different from resolution. We can scale max/min since they > are logical data. But we can not change the device's physical size. > That's the root cause of the "stubborn" nature of resolution. This is the same device so it should have the same physical dimensions, right? -- 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