On Sat, Jul 17, 2010 at 09:31:06PM -0700, Ping Cheng wrote:
> So they can share the sixth valuator.
> 
> Signed-off-by: Ping Cheng <[email protected]>
> ---
>  src/wcmUSB.c        |    7 +++++--
>  src/xf86Wacom.c     |   22 ++++++++--------------
>  src/xf86WacomDefs.h |    3 +++
>  3 files changed, 16 insertions(+), 16 deletions(-)
> 
> diff --git a/src/wcmUSB.c b/src/wcmUSB.c
> index 1f4bc6e..169ad26 100644
> --- a/src/wcmUSB.c
> +++ b/src/wcmUSB.c
> @@ -975,8 +975,11 @@ static void usbParseChannel(LocalDevicePtr local, int 
> channel)
>                                       ds->pressure = event->value;
>                       } else if (event->code == ABS_DISTANCE)
>                               ds->distance = event->value;
> -                     else if (event->code == ABS_WHEEL || 
> -                                 event->code == ABS_Z)
> +                     else if (event->code == ABS_WHEEL) {
> +                             double norm = event->value * MAX_ROTATION_RANGE 
> /
> +                                     (double)MAX_ABS_WHEEL;
> +                             ds->abswheel = (int)norm + MIN_ROTATION;
> +                     } else if (event->code == ABS_Z)
>                               ds->abswheel = event->value;
>                       else if (event->code == ABS_THROTTLE)
>                               ds->throttle = event->value;
> diff --git a/src/xf86Wacom.c b/src/xf86Wacom.c
> index 28042ed..0b872da 100644
> --- a/src/xf86Wacom.c
> +++ b/src/xf86Wacom.c
> @@ -720,29 +720,23 @@ static int wcmRegisterX11Devices (LocalDevicePtr local)
>                               -64, 63, 1, 1, 1);
>       }
>  
> -     if ((TabletHasFeature(common, WCM_ROTATION)) && IsStylus(priv))
> -             /* Art Marker Pen rotation */
> +     if (IsStylus(priv))
> +     {
> +             int maxRotation = MAX_ROTATION_RANGE + MIN_ROTATION - 1;
> +             /* Art Marker Pen rotation or Airbrush absolute Wheel */
>               InitValuatorAxisStruct(local->dev, 5,
>  #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
> -                             0, /* XXX what is this axis?*/
> +                             XIGetKnownProperty(AXIS_LABEL_PROP_ABS_WHEEL),
>  #endif
> -                             -900, 899, 1, 1, 1);
> +                             MIN_ROTATION, maxRotation, 1, 1, 1);
> +     }
>       else if ((TabletHasFeature(common, WCM_RING)) && IsPad(priv))
>               /* Touch ring */
>               InitValuatorAxisStruct(local->dev, 5,
>  #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
> -                             0, /* XXX what is this axis?*/
> -#endif
> -                             0, 71, 1, 1, 1);
> -     else
> -     {
> -             /* absolute wheel */
> -             InitValuatorAxisStruct(local->dev, 5,
> -#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
>                               XIGetKnownProperty(AXIS_LABEL_PROP_ABS_WHEEL),
>  #endif
> -                             0, 1023, 1, 1, 1);
> -     }
> +                             0, 71, 1, 1, 1);
>  
>       if (IsTouch(priv))
>       {
> diff --git a/src/xf86WacomDefs.h b/src/xf86WacomDefs.h
> index b700431..44538ac 100644
> --- a/src/xf86WacomDefs.h
> +++ b/src/xf86WacomDefs.h
> @@ -35,6 +35,9 @@
>  #define MAX_SUPPRESS 100        /* max value of suppress */
>  #define BUFFER_SIZE 256         /* size of reception buffer */
>  #define MAXTRY 3                /* max number of try to receive magic number 
> */
> +#define MIN_ROTATION  -900      /* the minimum value of the marker pen 
> rotation */
> +#define MAX_ROTATION_RANGE 1800 /* the maximum range of the marker pen 
> rotation */
> +#define MAX_ABS_WHEEL 1023      /* the maximum value of absolute wheel */
>  
>  /* Default max distance to the tablet at which a proximity-out event is 
> generated for
>   * cursor device (e.g. mouse). 
> -- 
> 1.7.1.1

merged, thanks.

Cheers,
  Peter

------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
Linuxwacom-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel

Reply via email to