I found two typoes in the commit comment. I'll update them if changes are
needed in the code. Otherwise, please amend them before merging.

Thanks,

Ping

On Fri, Mar 25, 2011 at 6:35 AM, Ping Cheng <pingli...@gmail.com> wrote:

> Change oldHwProx to oldCursorHwProx to better refect its use.
>

reflect


> Protocol 5 distance starts from the MaxCursorDist (256) when
> getting in the prox while protocol 4 distance is 0 when
> getting in the prox.
>
> oldCursorHwProx keeps the hardware in/out prox state so we can
> we set the MaxCursorDist for the next round of relative cursor
>

 extra we.


> movement when tool first comes in prox.
>
> Signed-off-by: Ping Cheng <pingli...@gmail.com>
> ---
>  src/wcmCommon.c     |   24 ++++++++++--------------
>  src/wcmConfig.c     |    2 +-
>  src/wcmUSB.c        |    4 ----
>  src/xf86Wacom.c     |    6 ------
>  src/xf86WacomDefs.h |    2 +-
>  5 files changed, 12 insertions(+), 26 deletions(-)
>
> diff --git a/src/wcmCommon.c b/src/wcmCommon.c
> index 0f858eb..845cf6e 100644
> --- a/src/wcmCommon.c
> +++ b/src/wcmCommon.c
> @@ -31,6 +31,8 @@
>  #define THRESHOLD_TOLERANCE (FILTER_PRESSURE_RES / 125)
>  #define DEFAULT_THRESHOLD (FILTER_PRESSURE_RES / 75)
>
> +#define MAX_CURSOR_DISTANCE 256
> +
>  /* X servers pre 1.9 didn't copy data passed into xf86Post*Event.
>  * Data passed in would be modified, requiring the driver to copy the
>  * data beforehand.
> @@ -1138,14 +1140,6 @@ static void commonDispatchDevice(WacomCommonPtr
> common, unsigned int channel,
>        /* Device transformations come first */
>        priv = pInfo->private;
>
> -       if (IsUSBDevice(common))
> -       {
> -               if (IsTouch(priv) && !ds->proximity)
> -                       priv->oldHwProx = 0;
> -               else if (IsStylus(priv) || IsEraser(priv))
> -                       priv->oldHwProx = 1;
> -       }
> -
>        /* send a touch out for USB Tablet PCs */
>        if (IsUSBDevice(common) && !IsTouch(priv)
>                        && common->wcmTouchDefault && !priv->oldProximity)
> @@ -1180,19 +1174,18 @@ static void commonDispatchDevice(WacomCommonPtr
> common, unsigned int channel,
>                filtered.pressure = applyPressureCurve(priv,&filtered);
>        }
>
> -       else if (IsCursor(priv) && !priv->oldHwProx)
> +       else if (IsCursor(priv) && !priv->oldCursorHwProx)
>        {
>                /* initial current max distance for Intuos series */
>                if ((TabletHasFeature(common, WCM_ROTATION)) ||
>                                (TabletHasFeature(common, WCM_DUALINPUT)))
> -                       common->wcmMaxCursorDist = 256;
> +                       common->wcmMaxCursorDist = MAX_CURSOR_DISTANCE;
>                else
>                        common->wcmMaxCursorDist = 0;
>        }
>
> -       /* Store current hard prox for next use */
> -       if (!IsTouch(priv))
> -               priv->oldHwProx = ds->proximity;
> +       /* Store cursor hardware prox for next use */
> +       priv->oldCursorHwProx = ds->proximity;
>
>        /* User-requested filtering comes next */
>
> @@ -1227,14 +1220,17 @@ static void commonDispatchDevice(WacomCommonPtr
> common, unsigned int channel,
>        /* force out-prox when distance is outside wcmCursorProxoutDist for
> pucks */
>        if (IsCursor(priv))
>        {
> -               /* force out-prox when distance is outside
> wcmCursorProxoutDist. */
>                if (common->wcmProtocolLevel == WCM_PROTOCOL_5)
>                {
> +                       /* protocol 5 distance starts from the
> MaxCursorDist
> +                        * when getting in the prox.
> +                        */
>                        if (common->wcmMaxCursorDist > filtered.distance)
>                                common->wcmMaxCursorDist =
> filtered.distance;
>                }
>                else
>                {
> +                       /* protocol 4 distance is 0 when getting in the
> prox */
>                        if (common->wcmMaxCursorDist < filtered.distance)
>                                common->wcmMaxCursorDist =
> filtered.distance;
>                }
> diff --git a/src/wcmConfig.c b/src/wcmConfig.c
> index 2bf0ed3..6235d3c 100644
> --- a/src/wcmConfig.c
> +++ b/src/wcmConfig.c
> @@ -62,7 +62,7 @@ static int wcmAllocate(InputInfoPtr pInfo)
>        priv->next = NULL;
>        priv->pInfo = pInfo;
>        priv->common = common;       /* common info pointer */
> -       priv->oldHwProx = 1;         /* previous hardware proximity */
> +       priv->oldCursorHwProx = 0;   /* previous cursor hardware proximity
> */
>        priv->nPressCtrl [0] = 0;    /* pressure curve x0 */
>        priv->nPressCtrl [1] = 0;    /* pressure curve y0 */
>        priv->nPressCtrl [2] = 100;  /* pressure curve x1 */
> diff --git a/src/wcmUSB.c b/src/wcmUSB.c
> index 5f0dbe2..e65f24f 100644
> --- a/src/wcmUSB.c
> +++ b/src/wcmUSB.c
> @@ -394,10 +394,6 @@ static void usbInitProtocol5(WacomCommonPtr common,
> const char* id,
>
>        /* tilt enabled */
>        common->wcmFlags |= TILT_ENABLED_FLAG;
> -
> -       /* reinitialize max here since 0 is for Graphire series */
> -       common->wcmMaxCursorDist = 256;
> -
>  }
>
>  static void usbInitProtocol4(WacomCommonPtr common, const char* id,
> diff --git a/src/xf86Wacom.c b/src/xf86Wacom.c
> index 6762a3d..a124ed3 100644
> --- a/src/xf86Wacom.c
> +++ b/src/xf86Wacom.c
> @@ -442,12 +442,6 @@ static int wcmDevInit(DeviceIntPtr pWcm)
>
>        wcmRotateTablet(pInfo, common->wcmRotate);
>
> -       if (IsTouch(priv))
> -       {
> -               /* hard prox out */
> -               priv->oldHwProx = 0;
> -       }
> -
>        InitWcmDeviceProperties(pInfo);
>        XIRegisterPropertyHandler(pInfo->dev, wcmSetProperty, NULL,
> wcmDeleteProperty);
>
> diff --git a/src/xf86WacomDefs.h b/src/xf86WacomDefs.h
> index 5f5d969..0e57087 100644
> --- a/src/xf86WacomDefs.h
> +++ b/src/xf86WacomDefs.h
> @@ -276,7 +276,7 @@ struct _WacomDeviceRec
>        int oldThrottle;        /* previous throttle value */
>        int oldButtons;         /* previous buttons state */
>        int oldProximity;       /* previous proximity */
> -       int oldHwProx;          /* previous hardware proximity */
> +       int oldCursorHwProx;    /* previous cursor hardware proximity */
>        int old_device_id;      /* last in prox device id */
>        int old_serial;         /* last in prox tool serial number */
>        int devReverseCount;    /* Relative ReverseConvert called twice each
> movement*/
> --
> 1.7.4
>
>
------------------------------------------------------------------------------
Enable your software for Intel(R) Active Management Technology to meet the
growing manageability and security demands of your customers. Businesses
are taking advantage of Intel(R) vPro (TM) technology - will your software 
be a part of the solution? Download the Intel(R) Manageability Checker 
today! http://p.sf.net/sfu/intel-dev2devmar
_______________________________________________
Linuxwacom-devel mailing list
Linuxwacom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel

Reply via email to