On Tue, Jan 11, 2011 at 08:07:31PM -0800, Ping Cheng wrote:
> On Tue, Jan 11, 2011 at 5:52 PM, Chris Bagwell <ch...@cnpbagwell.com> wrote:
> > On Tue, Jan 11, 2011 at 7:34 PM,  <ch...@cnpbagwell.com> wrote:
> >> From: Chris Bagwell <ch...@cnpbagwell.com>
> >>
> >> wcmRotateAndScaleCoordinates() uses these values to scale
> >> values based on initialized.  The change to use -1..-1
> >> caused it to scale to 0 value always and make cursor not
> >> move.
> >
> > Opps, I wrote wrong symptom.  The cursor is over accelerated without
> > this fix... but the cursor can move.  The cursor not moving still
> > requires a patch.
> 
> The original change was made by Peter. I'd like to know if he feels
> this is the proper way to go.

it's close to being the the right fix, I can see where the current code is
broken. this is all based on the misunderstanding of relative _behavior_ and
relative _device_. the touch device is an absolute device with a relative
behaviour (like touchpads are as well).

is_absolute() will tell us only about the behaviour, but not about the 
device. afaict we don't have any truly relative devices though, even the
puck tool will use the min/max axis range when in relative mode. Is this
correct?

if so, the is_absolute() condition can just go away.

Cheers,
  Peter
> 
> >> This is probably a revert more then bug fix because it seems
> >> standard behavior to init relative to -1..-1 based on my
> >> xinput output.  But it needs to be reverted until something
> >> is done to wcmRotateAndScaleCoordinates().
> >>
> >> Signed-off-by: Chris Bagwell <ch...@cnpbagwell.com>
> >> ---
> >>  src/xf86Wacom.c |   12 ++++++++++--
> >>  1 files changed, 10 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/src/xf86Wacom.c b/src/xf86Wacom.c
> >> index 4a07191..5be8409 100644
> >> --- a/src/xf86Wacom.c
> >> +++ b/src/xf86Wacom.c
> >> @@ -280,12 +280,16 @@ wcmInitAxes(DeviceIntPtr pWcm)
> >>
> >>        /* first valuator: x */
> >>        label = XIGetKnownProperty(AXIS_LABEL_PROP_ABS_X);
> >> -       min = max = -1;
> >>        if (is_absolute(pInfo))
> >>        {
> >>                min = priv->topX;
> >>                max = priv->sizeX + priv->topX;
> >>        }
> >> +       else
> >> +       {
> >> +               min = 0;
> >> +               max = priv->maxX;
> >> +       }
> >>        min_res = 0;
> >>        max_res = priv->resolX;
> >>        res = priv->resolX;
> >> @@ -303,12 +307,16 @@ wcmInitAxes(DeviceIntPtr pWcm)
> >>
> >>        /* second valuator: y */
> >>        label = XIGetKnownProperty(AXIS_LABEL_PROP_ABS_Y);
> >> -       min = max = -1;
> >>        if (is_absolute(pInfo))
> >>        {
> >>                min = priv->topY;
> >>                max = priv->sizeY + priv->topY;
> >>        }
> >> +       else
> >> +       {
> >> +               min = 0;
> >> +               max = priv->maxY;
> >> +       }
> >>        min_res = 0;
> >>        max_res = priv->resolY;
> >>        res = priv->resolY;
> >> --
> >> 1.7.3.4

------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand 
malware threats, the impact they can have on your business, and how you 
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
Linuxwacom-devel mailing list
Linuxwacom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel

Reply via email to