Hi Antoine, Ping, All, I'm cc'ing the linux-wacom list for attention and comment: Is this already fixed in the 0.7.5-2 release, or is it news?
best, Ron On Sun, Sep 10, 2006 at 03:37:07PM -0700, Antoine Labour wrote: > It looks like currently, (as of version 0.7.4.1-4), the > filtering/suppress code in wacom-tools (in particular the xorg input > driver) doesn't work at all (for various reasons). Please find in > attachment a patch that fixes at least some of the problems. > > Thanks, > Antoine > diff -ur wacom-tools-0.7.4.1/linuxwacom/src/wcmCommon.c > wacom-tools-0.7.4.1-new/linuxwacom/src/wcmCommon.c > --- wacom-tools-0.7.4.1/linuxwacom/src/wcmCommon.c 2006-03-13 > 17:17:41.000000000 -0800 > +++ wacom-tools-0.7.4.1-new/linuxwacom/src/wcmCommon.c 2006-09-10 > 14:59:56.000000000 -0700 > @@ -667,7 +667,7 @@ > if (ABS(dsOrig->pressure - dsNew->pressure) > suppress) return 0; > if (ABS(dsOrig->throttle - dsNew->throttle) > suppress) return 0; > > - if (ABS(dsOrig->rotation - dsNew->rotation) > suppress || > + if (ABS(dsOrig->rotation - dsNew->rotation) > suppress && > (1800 - ABS(dsNew->rotation - dsOrig->rotation)) > suppress) > return 0; > > @@ -738,7 +738,7 @@ > WacomDeviceState* pLast; > WacomDeviceState ds; > WacomChannelPtr pChannel; > - WacomFilterState fs; > + WacomFilterState *fs; > int i; > > /* tool on the tablet when driver starts */ > @@ -783,35 +783,35 @@ > return; /* discard */ > } > #endif > - fs = pChannel->rawFilter; > - if (!fs.npoints && ds.proximity) > + fs = &pChannel->rawFilter; > + if (!fs->npoints && ds.proximity) > { > DBG(11, ErrorF("initialize Channel data.\n")); > /* store channel device state for later use */ > for (i=MAX_SAMPLES - 1; i>=0; i--) > { > - fs.x[i]= ds.x; > - fs.y[i]= ds.y; > + fs->x[i]= ds.x; > + fs->y[i]= ds.y; > } > - ++fs.npoints; > + ++fs->npoints; > } else { > /* Filter raw data, fix hardware defects, perform error > correction */ > for (i=MAX_SAMPLES - 1; i>0; i--) > { > - fs.x[i]= fs.x[i-1]; > - fs.y[i]= fs.y[i-1]; > + fs->x[i]= fs->x[i-1]; > + fs->y[i]= fs->y[i-1]; > } > - fs.x[0] = ds.x; > - fs.y[0] = ds.y; > + fs->x[0] = ds.x; > + fs->y[0] = ds.y; > if (HANDLE_TILT(common) && (ds.device_type == STYLUS_ID || > ds.device_type == ERASER_ID)) > { > for (i=MAX_SAMPLES - 1; i>0; i--) > { > - fs.tiltx[i]= fs.tiltx[i-1]; > - fs.tilty[i]= fs.tilty[i-1]; > + fs->tiltx[i]= fs->tiltx[i-1]; > + fs->tilty[i]= fs->tilty[i-1]; > } > - fs.tiltx[0] = ds.tiltx; > - fs.tilty[0] = ds.tilty; > + fs->tiltx[0] = ds.tiltx; > + fs->tilty[0] = ds.tilty; > } > if (RAW_FILTERING(common) && common->wcmModel->FilterRaw) > { > diff -ur wacom-tools-0.7.4.1/linuxwacom/src/xf86Wacom.h > wacom-tools-0.7.4.1-new/linuxwacom/src/xf86Wacom.h > --- wacom-tools-0.7.4.1/linuxwacom/src/xf86Wacom.h 2006-05-05 > 10:25:01.000000000 -0700 > +++ wacom-tools-0.7.4.1-new/linuxwacom/src/xf86Wacom.h 2006-09-10 > 15:03:42.000000000 -0700 > @@ -115,7 +115,7 @@ > #define DEFAULT_SPEED 1.0 /* default relative cursor speed */ > #define MAX_ACCEL 7 /* number of acceleration levels */ > #define DEFAULT_SUPPRESS 2 /* default suppress */ > -#define MAX_SUPPRESS 6 /* max value of suppress */ > +#define MAX_SUPPRESS 20 /* max value of suppress */ > #define BUFFER_SIZE 256 /* size of reception buffer */ > #define XI_STYLUS "STYLUS" /* X device name for the stylus */ > #define XI_CURSOR "CURSOR" /* X device name for the cursor */ > @@ -341,10 +341,10 @@ > struct _WacomFilterState > { > int npoints; > - int x[3]; > - int y[3]; > - int tiltx[3]; > - int tilty[3]; > + int x[MAX_SAMPLES]; > + int y[MAX_SAMPLES]; > + int tiltx[MAX_SAMPLES]; > + int tilty[MAX_SAMPLES]; > int statex; > int statey; > }; ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Linuxwacom-discuss mailing list Linuxwacom-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxwacom-discuss