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