On Fri, Jan 28, 2011 at 12:08:18PM -0800, Ping Cheng wrote: > On Fri, Jan 28, 2011 at 11:37 AM, Dmitry Torokhov > <dmitry.torokhov@xxxxxxxxx> wrote: > > 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? > > No, pen and touch use different chips. They can have different sizes. It does not matter how many chips you have inside. What matters whether they share a working surface or not. If working surface is the same (and consequentially you have single input_dev structure) then dimensions are the same. -- 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