Re: [PATCH] input : wacom - report resolution for ABS_MT events

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux