Re: [PATCH] Input: elantech - correct x, y value range for v2 hardware

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

 



On Wed, Aug 17, 2011 at 11:53:55AM +0200, Éric Piel wrote:
> Op 17-08-11 08:43, Dmitry Torokhov schreef:
> >Hi JJ,
> >
> >>As far as I know, this doesn't fix a bug. I just want to make sure the
> >>driver and what the firmware sends are consistent.
> >
> >As Éric mentioned, simply extending range to 12 bits is dangerous
> >because we might cause overflows. Blindly increasing ETP_YMAX_V2 is not
> >a good idea either as userspace would expect much larger device and
> >reports would only cover fraction of its surface. We need to separate
> >ETP_YMAX_V2 as absolute maximum from reported coordinates range, like it
> >is done in synaptics driver.
> Hi Dmitry,
> Concerning this point, I was wondering if it'd be ok to only send
> negative values? Such as min/max are between -768 and 0. So that, if
> the hardware actually has a bigger resolution, it can go down to
> -4095 without any overflow?

Theoretically it should be possible, at least nothing in evdev protocol
says that absolute coordinates shoudl be positive. It is certainly not
true for joystick-like devvices. But I am concerned about users (as
in applications/drivers) getting negative coordinates for
touchpad/touchscreen like devices. I believe first reaction is to expect
non-negative values.

> It sounds the simplest way to report the
> coordinate for a device which has an opposite axis. Or is it safer
> to stay in the positive numbers, with min/max between 3328 and 4095,
> and in case of bigger resolution the values go down to 0?

I think this is the best way. EVIOCGABS gives the "window" into the
expected range of coordinates emitted by the device, so as long as we
keep the scale (i.e. not reporting min/max as 0-4096 while actual
coordinates go only 0-768) it should work fine.

-- 
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