On Tue, Feb 22, 2011 at 05:23:42PM -0800, Ping Cheng wrote:
> We get absinfo.maximum = 0 when the ABS_ is not set in the
> kernel, which is invalid.
>
> This issue was found when I work on the resolution. It applies to
> other ABS_* as well.
>
> Signed-off-by: Ping Cheng <[email protected]>
merged, thanks.
Cheers,
Peter
> ---
> src/wcmUSB.c | 12 ++++++++----
> 1 files changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/src/wcmUSB.c b/src/wcmUSB.c
> index 4aae452..9eea020 100644
> --- a/src/wcmUSB.c
> +++ b/src/wcmUSB.c
> @@ -497,7 +497,8 @@ int usbWcmGetRanges(InputInfoPtr pInfo)
>
> /* max finger strip X for tablets with Expresskeys
> * or physical X for touch devices in hundredths of a mm */
> - if (ioctl(pInfo->fd, EVIOCGABS(ABS_RX), &absinfo) == 0)
> + if (ISBITSET(abs, ABS_RX) &&
> + !ioctl(pInfo->fd, EVIOCGABS(ABS_RX), &absinfo))
> {
> if (is_touch)
> common->wcmTouchResolX =
> @@ -509,7 +510,8 @@ int usbWcmGetRanges(InputInfoPtr pInfo)
>
> /* max finger strip Y for tablets with Expresskeys
> * or physical Y for touch devices in hundredths of a mm */
> - if (ioctl(pInfo->fd, EVIOCGABS(ABS_RY), &absinfo) == 0)
> + if (ISBITSET(abs, ABS_RY) &&
> + !ioctl(pInfo->fd, EVIOCGABS(ABS_RY), &absinfo))
> {
> if (is_touch)
> common->wcmTouchResolY =
> @@ -520,11 +522,13 @@ int usbWcmGetRanges(InputInfoPtr pInfo)
> }
>
> /* max z cannot be configured */
> - if (ioctl(pInfo->fd, EVIOCGABS(ABS_PRESSURE), &absinfo) == 0)
> + if (ISBITSET(abs, ABS_PRESSURE) &&
> + !ioctl(pInfo->fd, EVIOCGABS(ABS_PRESSURE), &absinfo))
> common->wcmMaxZ = absinfo.maximum;
>
> /* max distance */
> - if (ioctl(pInfo->fd, EVIOCGABS(ABS_DISTANCE), &absinfo) == 0)
> + if (ISBITSET(abs, ABS_DISTANCE) &&
> + !ioctl(pInfo->fd, EVIOCGABS(ABS_DISTANCE), &absinfo))
> common->wcmMaxDist = absinfo.maximum;
>
> if (ISBITSET(abs, ABS_MT_SLOT))
> --
> 1.7.4
>
>
> ------------------------------------------------------------------------------
> Free Software Download: Index, Search & Analyze Logs and other IT data in
> Real-Time with Splunk. Collect, index and harness all the fast moving IT data
> generated by your applications, servers and devices whether physical, virtual
> or in the cloud. Deliver compliance at lower cost and gain new business
> insights. http://p.sf.net/sfu/splunk-dev2dev
> _______________________________________________
> Linuxwacom-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel
>
------------------------------------------------------------------------------
Free Software Download: Index, Search & Analyze Logs and other IT data in
Real-Time with Splunk. Collect, index and harness all the fast moving IT data
generated by your applications, servers and devices whether physical, virtual
or in the cloud. Deliver compliance at lower cost and gain new business
insights. http://p.sf.net/sfu/splunk-dev2dev
_______________________________________________
Linuxwacom-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel