summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpingc <pingc>2007-06-05 17:05:34 +0000
committerpingc <pingc>2007-06-05 17:05:34 +0000
commit4b18ba7eb74cc3aaee92105408a86be029cc492a (patch)
tree062f407b655103549dfd530b0b820faa68d7ebfd
parentf191942ed3b74e5c8525a3e449396044de4a8f0a (diff)
downloadxf86-input-wacom-4b18ba7eb74cc3aaee92105408a86be029cc492a.tar.gz
Updated xsetwacom suppress option and merged Ron's building patchesrelease-0_7_7-11release-0.7.7-11
-rw-r--r--ChangeLog13
-rw-r--r--acinclude.m413
-rw-r--r--configure.in6
-rw-r--r--src/2.6.16/wacom_wac.c2
-rw-r--r--src/Makefile.am2
-rwxr-xr-xsrc/util/xsetwacom.c7
-rw-r--r--src/wacom.4x2
-rwxr-xr-xsrc/xdrv/wcmCommon.c13
-rwxr-xr-xsrc/xdrv/wcmConfig.c23
-rwxr-xr-xsrc/xdrv/wcmFilter.c76
-rwxr-xr-xsrc/xdrv/wcmFilter.h2
-rwxr-xr-xsrc/xdrv/wcmISDV4.c5
-rwxr-xr-xsrc/xdrv/wcmSerial.c16
-rwxr-xr-xsrc/xdrv/wcmUSB.c6
-rw-r--r--src/xdrv/wcmXCommand.c10
-rwxr-xr-xsrc/xdrv/xf86Wacom.c3
-rwxr-xr-xsrc/xdrv/xf86Wacom.h4
17 files changed, 82 insertions, 121 deletions
diff --git a/ChangeLog b/ChangeLog
index 0550855..4d713fa 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,11 +1,20 @@
+2007-06-05 Ping Cheng <pingc@wacom.com>
+ * Updated xsetwacom suppress option
+ * Merged Ron's building and configuration patches
+ * Label 0.7.7-11
+
+2007-05-29 Ping Cheng <pingc@wacom.com>
+ * Fixed a typo in 2.6.16/wacom_wac.c
+ * Label 0.7.7-10
+
2007-05-25 Ping Cheng <pingc@wacom.com>
- * Added 2 new xsetwacom potions
+ * Added 2 new xsetwacom options
(TVResolution0/1 and Screen_No)
* Added support for Bamboo
* Split wcmXCommand.c from xf86Wacom.c
2007-05-18 Ping Cheng <pingc@wacom.com>
- * Added 2 new xsetwacom potions
+ * Added 2 new xsetwacom options
(Common DebugLevel and TwinView)
* Increased MAX_SUPPRESS from 20 to 100
* Added new xsetwacom option to change suppress
diff --git a/acinclude.m4 b/acinclude.m4
index 7113bbd..6a82706 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -49,13 +49,8 @@ AC_HELP_STRING([--enable-xserver64], [Use specified X server bit [[default=usual
[ WCM_OPTION_XSERVER64=$enableval
],
[
- if test "$WCM_OPTION_XSERVER64" = ""; then
- if test `uname -m | grep -c "64"` = 0; then
- WCM_OPTION_XSERVER64=no
- else
- WCM_OPTION_XSERVER64=yes
- fi
- fi
+ WCM_OPTION_XSERVER64=no
+ test `echo $WCM_ARCH | grep -c "64"` == 0 || WCM_OPTION_XSERVER64=yes
])
WCM_XLIBDIR_DEFAULT=/usr/X11R6/lib
@@ -63,9 +58,7 @@ WCM_XLIBDIR_DEFAULT2=/usr/lib
if test "$WCM_OPTION_XSERVER64" = "yes"; then
CFLAGS="$CFLAGS -D__amd64__"
WCM_XSERVER64="-D_XSERVER64"
- if test `uname -m | grep -c "x86_64"` != 0; then
- WCM_KSTACK="-mpreferred-stack-boundary=4 -mcmodel=kernel"
- fi
+ test `$WCM_ARCH | grep -c "x86_64"` == 0 || WCM_KSTACK="-mpreferred-stack-boundary=4 -mcmodel=kernel"
WCM_XLIBDIR_DEFAULT=/usr/X11R6/lib64
if test -d /usr/lib64; then
WCM_XLIBDIR_DEFAULT2=/usr/lib64
diff --git a/configure.in b/configure.in
index 3258bd5..d01a2e1 100644
--- a/configure.in
+++ b/configure.in
@@ -336,14 +336,14 @@ AC_HELP_STRING([--with-xmoduledir], [Specify wacom_drv path explicitly. Implies
[
WCM_MODDIR="$withval"
])
-if test -d $WCM_MODDIR; then
+if test -n $WCM_MODDIR; then
+ WCM_OPTION_DLLOADER=yes
+else
if test -d $WCM_XLIBDIR/xorg/modules/input; then
WCM_MODDIR=$WCM_XLIBDIR/xorg/modules/input
elif test -d $WCM_XLIBDIR/modules/input; then
WCM_MODDIR=$WCM_XLIBDIR/modules/input
fi
-else
- WCM_OPTION_DLLOADER=yes
fi
dnl Check for dlloader
diff --git a/src/2.6.16/wacom_wac.c b/src/2.6.16/wacom_wac.c
index 1dd4608..77c50f9 100644
--- a/src/2.6.16/wacom_wac.c
+++ b/src/2.6.16/wacom_wac.c
@@ -198,7 +198,7 @@ static int wacom_graphire_irq(struct wacom_wac *wacom, void *wcombo)
id = CURSOR_DEVICE_ID;
wacom_report_key(wcombo, BTN_LEFT, data[1] & 0x01);
wacom_report_key(wcombo, BTN_RIGHT, data[1] & 0x02);
- if (wacom->features->type == WACOM_G44 ||
+ if (wacom->features->type == WACOM_G4 ||
wacom->features->type == WACOM_MO)
wacom_report_abs(wcombo, ABS_DISTANCE, data[6] & 0x3f);
else
diff --git a/src/Makefile.am b/src/Makefile.am
index 9771b82..c9b700d 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -7,4 +7,4 @@ EXTRA_DIST = wacom.4x
$(wmanpage_HEADERS): $(EXTRA_DIST)
rm -f $(wmanpage_HEADERS)
- gzip -c < $(EXTRA_DIST) > $(wmanpage_HEADERS)
+ gzip -9c < $(srcdir)/$(EXTRA_DIST) > $(wmanpage_HEADERS)
diff --git a/src/util/xsetwacom.c b/src/util/xsetwacom.c
index 7cf0a7c..7d2e908 100755
--- a/src/util/xsetwacom.c
+++ b/src/util/xsetwacom.c
@@ -29,10 +29,11 @@
** 2007-02-22 0.1.0 - PC - support wheels and strips
** 2007-04-12 0.1.1 - PC - Support CoreEvent on/off (need more work)
** 2007-05-18 0.1.2 - PC - Support DebugLevel options
+** 2007-06-05 0.1.3 - PC - Support Suppress and TwinView options
**
****************************************************************************/
-#define XSETWACOM_VERSION "0.1.2"
+#define XSETWACOM_VERSION "0.1.3"
#include "wacomcfg.h"
#include "../include/Xwacom.h" /* give us raw access to parameter values */
@@ -305,8 +306,8 @@ static PARAMINFO gParamInfo[] =
{ "Suppress",
"Number of points trimmed, default is 2. ",
- XWACOM_PARAM_DEBUGLEVEL, VALUE_OPTIONAL, RANGE,
- 0, 80, SINGLE_VALUE, 2 },
+ XWACOM_PARAM_SUPPRESS, VALUE_OPTIONAL, RANGE,
+ 0, 100, SINGLE_VALUE, 2 },
{ "Screen_No",
"Sets/gets screen number the tablet is mapped to, "
diff --git a/src/wacom.4x b/src/wacom.4x
index 2af9c9c..496ebe2 100644
--- a/src/wacom.4x
+++ b/src/wacom.4x
@@ -1,7 +1,7 @@
.\" $XFree86: xc/programs/Xserver/hw/xfree86/input/wacom/wacom.man,v 1.1 2001/01/24 00:06:39 dawes Exp $
.\" shorthand for double quote that works everywhere.
.ds q \N'34'
-.TH WACOM 4 "linuxwacom 0.7.8" "X Version 11"
+.TH WACOM 4x "linuxwacom 0.7.8" "X Version 11"
.SH NAME
wacom \- Wacom input driver
.SH SYNOPSIS
diff --git a/src/xdrv/wcmCommon.c b/src/xdrv/wcmCommon.c
index 6727f50..445b0cd 100755
--- a/src/xdrv/wcmCommon.c
+++ b/src/xdrv/wcmCommon.c
@@ -958,9 +958,10 @@ void xf86WcmSendEvents(LocalDevicePtr local, const WacomDeviceState* ds)
* if not.
****************************************************************************/
-static int xf86WcmSuppress(int suppress, const WacomDeviceState* dsOrig,
+static int xf86WcmSuppress(WacomCommonPtr common, const WacomDeviceState* dsOrig,
WacomDeviceState* dsNew)
{
+ int suppress = common->wcmSuppress;
/* NOTE: Suppression value of zero disables suppression. */
int returnV = 0;
@@ -990,6 +991,8 @@ static int xf86WcmSuppress(int suppress, const WacomDeviceState* dsOrig,
dsNew->y = dsOrig->y;
}
+ DBG(10, common->debugLevel, ErrorF("xf86WcmSuppress at level = %d"
+ " return value = %d\n", suppress, returnV));
return returnV;
}
@@ -1045,11 +1048,9 @@ static void resetSampleCounter(const WacomChannelPtr pChannel)
* Handles suppression, transformation, filtering, and event dispatch.
****************************************************************************/
-void xf86WcmEvent(LocalDevicePtr local, unsigned int channel,
+void xf86WcmEvent(WacomCommonPtr common, unsigned int channel,
const WacomDeviceState* pState)
{
- WacomDevicePtr priv = (WacomDevicePtr)local->private;
- WacomCommonPtr common = priv->common;
WacomDeviceState* pLast;
WacomDeviceState ds;
WacomChannelPtr pChannel;
@@ -1059,7 +1060,7 @@ void xf86WcmEvent(LocalDevicePtr local, unsigned int channel,
pChannel = common->wcmChannel + channel;
pLast = &pChannel->valid.state;
- DBG(10, common->debugLevel, ErrorF("xf86WcmEvent channel = %d\n", channel));
+ DBG(10, common->debugLevel, ErrorF("xf86WcmEvent at channel = %d\n", channel));
/* tool on the tablet when driver starts */
if (!miPointerCurrentScreen())
@@ -1149,7 +1150,7 @@ void xf86WcmEvent(LocalDevicePtr local, unsigned int channel,
}
/* Discard unwanted data */
- suppress = xf86WcmSuppress(priv->wcmSuppress, pLast, &ds);
+ suppress = xf86WcmSuppress(common, pLast, &ds);
if (!suppress)
{
resetSampleCounter(pChannel);
diff --git a/src/xdrv/wcmConfig.c b/src/xdrv/wcmConfig.c
index 9184b20..5bd6ef9 100755
--- a/src/xdrv/wcmConfig.c
+++ b/src/xdrv/wcmConfig.c
@@ -159,7 +159,6 @@ LocalDevicePtr xf86WcmAllocate(char* name, int flag)
priv->striprdn = 0; /* Default right strip down event. Let user app take care of */
priv->naxes = 6; /* Default number of axes */
priv->debugLevel = 0; /* debug level */
- priv->wcmSuppress = DEFAULT_SUPPRESS; /* transmit position if increment is superior */
priv->numScreen = screenInfo.numScreens; /* configured screens count */
priv->currentScreen = 0; /* current screen in display */
@@ -204,9 +203,11 @@ LocalDevicePtr xf86WcmAllocate(char* name, int flag)
common->wcmRotate = ROTATE_NONE; /* default tablet rotation to off */
common->wcmMaxCursorDist = 0; /* Max distance received so far */
common->wcmCursorProxoutDist = 0;
- /* Max mouse distance for proxy-out max/256 units */
+ /* Max mouse distance for proxy-out max/256 units */
common->wcmCursorProxoutDistDefault = PROXOUT_GRAPHIRE_DISTANCE;
- /* default to Graphire */
+ /* default to Graphire */
+ common->wcmSuppress = DEFAULT_SUPPRESS;
+ /* transmit position if increment is superior */
/* tool */
priv->tool = tool;
@@ -548,16 +549,16 @@ static LocalDevicePtr xf86WcmInit(InputDriverPtr drv, IDevPtr dev, int flags)
xf86Msg(X_CONFIG, "WACOM: Rotation is set to %s\n", s);
}
- priv->wcmSuppress = xf86SetIntOption(local->options, "Suppress",
- priv->wcmSuppress);
- if (priv->wcmSuppress != 0) /* 0 disables suppression */
+ common->wcmSuppress = xf86SetIntOption(local->options, "Suppress",
+ common->wcmSuppress);
+ if (common->wcmSuppress != 0) /* 0 disables suppression */
{
- if (priv->wcmSuppress > MAX_SUPPRESS)
- priv->wcmSuppress = MAX_SUPPRESS;
- if (priv->wcmSuppress < DEFAULT_SUPPRESS)
- priv->wcmSuppress = DEFAULT_SUPPRESS;
+ if (common->wcmSuppress > MAX_SUPPRESS)
+ common->wcmSuppress = MAX_SUPPRESS;
+ if (common->wcmSuppress < DEFAULT_SUPPRESS)
+ common->wcmSuppress = DEFAULT_SUPPRESS;
}
- xf86Msg(X_CONFIG, "WACOM: suppress value is %d\n", priv->wcmSuppress);
+ xf86Msg(X_CONFIG, "WACOM: suppress value is %d\n", common->wcmSuppress);
if (xf86SetBoolOption(local->options, "Tilt",
(common->wcmFlags & TILT_REQUEST_FLAG)))
diff --git a/src/xdrv/wcmFilter.c b/src/xdrv/wcmFilter.c
index b7205c6..0a05d6d 100755
--- a/src/xdrv/wcmFilter.c
+++ b/src/xdrv/wcmFilter.c
@@ -1,25 +1,15 @@
/*
* Copyright 1995-2002 by Frederic Lepied, France. <Lepied@XFree86.org>
- * Copyright 2002-2007 by Ping Cheng, Wacom. <pingc@wacom.com>
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the name of Frederic Lepied not be used in
- * advertising or publicity pertaining to distribution of the software without
- * specific, written prior permission. Frederic Lepied makes no
- * representations about the suitability of this software for any purpose. It
- * is provided "as is" without express or implied warranty.
- *
- * FREDERIC LEPIED DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
- * EVENT SHALL FREDERIC LEPIED BE LIABLE FOR ANY SPECIAL, INDIRECT OR
- * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
- * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
- * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- * PERFORMANCE OF THIS SOFTWARE.
+ * Copyright 2002-2007 by Ping Cheng, Wacom. <pingc@wacom.com>
*
+ * Permission to use, copy, modify, distribute, and sell this software and
+ * its documentation for any purpose is hereby granted without fee,
+ * provided that the above copyright notice appear in all copies and that
+ * both that copyright notice and this permission notice appear in
+ * supporting documentation, and that the name of Frederic Lepied not be
+ * used in advertising or publicity pertaining to distribution of the
+ * software without specific, written prior permission. It is provided
+ * "as is" without express or implied warranty.
*/
#include "wcmFilter.h"
@@ -266,59 +256,29 @@ int xf86WcmFilterCoord(WacomCommonPtr common, WacomChannelPtr pChannel,
/* Only noise correction should happen here. If there's a problem that
* cannot be fixed, return 1 such that the data is discarded. */
- WacomDeviceState* pLast;
- int *x, *y;
- int filter_x, filter_y, i;
+ WacomDeviceState *pLast;
+ int *x, *y, i;
DBG(10, common->debugLevel, ErrorF("xf86WcmFilterCoord with " "MAX_SAMPLES = %d \n", MAX_SAMPLES));
x = pChannel->rawFilter.x;
y = pChannel->rawFilter.y;
pLast = &pChannel->valid.state;
- filter_x = 0;
- filter_y = 0;
+ ds->x = 0;
+ ds->y = 0;
for ( i=0; i<MAX_SAMPLES; i++ )
{
- filter_x += x[i];
- filter_y += y[i];
+ ds->x += x[i];
+ ds->y += y[i];
}
- filter_x /= MAX_SAMPLES;
- filter_y /= MAX_SAMPLES;
-
- if (abs(filter_x - pLast->x) > 4)
- ds->x = filter_x;
- else
- ds->x = pLast->x;
-
- if (abs(filter_y - pLast->y) > 4)
- ds->y = filter_y;
- else
- ds->y = pLast->y;
+ ds->x /= MAX_SAMPLES;
+ ds->y /= MAX_SAMPLES;
return 0; /* lookin' good */
}
/*****************************************************************************
- * xf86WcmHysteresisFilter -- provide noise correction to protocol IV transducers
- ****************************************************************************/
-
-int xf86WcmHysteresisFilter(WacomCommonPtr common, WacomChannelPtr pChannel,
- WacomDeviceStatePtr ds)
-{
- WacomDeviceState* pLast;
- pLast = &pChannel->valid.state;
-
- if (abs(ds->x - pLast->x) < 4)
- ds->x = pLast->x;
-
- if (abs(ds->y - pLast->y) < 4)
- ds->y = pLast->y;
-
- return 0;
-}
-
-/*****************************************************************************
* xf86WcmFilterIntuos -- provide error correction to Intuos and Intuos2
****************************************************************************/
@@ -335,5 +295,3 @@ int xf86WcmFilterIntuos(WacomCommonPtr common, WacomChannelPtr pChannel,
return 0; /* lookin' good */
}
-
-
diff --git a/src/xdrv/wcmFilter.h b/src/xdrv/wcmFilter.h
index 9f2c22b..301bff9 100755
--- a/src/xdrv/wcmFilter.h
+++ b/src/xdrv/wcmFilter.h
@@ -34,8 +34,6 @@ int xf86WcmFilterIntuos(WacomCommonPtr common, WacomChannelPtr pChannel,
WacomDeviceStatePtr ds);
int xf86WcmFilterCoord(WacomCommonPtr common, WacomChannelPtr pChannel,
WacomDeviceStatePtr ds);
-int xf86WcmHysteresisFilter(WacomCommonPtr common, WacomChannelPtr pChannel,
- WacomDeviceStatePtr ds);
/****************************************************************************/
#endif /* __XF86_WCMFILTER_H */
diff --git a/src/xdrv/wcmISDV4.c b/src/xdrv/wcmISDV4.c
index c58b17c..56340b5 100755
--- a/src/xdrv/wcmISDV4.c
+++ b/src/xdrv/wcmISDV4.c
@@ -52,7 +52,6 @@ static int isdv4Parse(LocalDevicePtr, const unsigned char* data);
NULL, /* link speed unsupported */
isdv4StartTablet, /* start tablet */
isdv4Parse,
- xf86WcmHysteresisFilter, /* input filtering */
};
/*****************************************************************************
@@ -257,7 +256,7 @@ static int isdv4Parse(LocalDevicePtr local, const unsigned char* data)
{
/* send a prox-out for old device */
WacomDeviceState out = { 0 };
- xf86WcmEvent(local, 0, &out);
+ xf86WcmEvent(common, 0, &out);
ds->device_type = cur_type;
}
}
@@ -277,7 +276,7 @@ static int isdv4Parse(LocalDevicePtr local, const unsigned char* data)
ds->device_type == ERASER_ID ? "ERASER " :
ds->device_type == STYLUS_ID ? "STYLUS" : "NONE"));
- xf86WcmEvent(local,0,ds);
+ xf86WcmEvent(common,0,ds);
return common->wcmPktLength;
}
diff --git a/src/xdrv/wcmSerial.c b/src/xdrv/wcmSerial.c
index 2585d8e..042c255 100755
--- a/src/xdrv/wcmSerial.c
+++ b/src/xdrv/wcmSerial.c
@@ -112,7 +112,6 @@ static void serialParseP4Common(LocalDevicePtr local, const unsigned char* data,
NULL, /* link speed cannot be changed */
serialStartTablet,
serialParseCintiq,
- xf86WcmHysteresisFilter,
};
static WacomModel serialPenPartner =
@@ -157,7 +156,6 @@ static void serialParseP4Common(LocalDevicePtr local, const unsigned char* data,
NULL, /* link speed cannot be changed */
serialStartTablet,
serialParseProtocol4,
- xf86WcmHysteresisFilter,
};
/*****************************************************************************
@@ -623,7 +621,7 @@ static int serialParseGraphire(LocalDevicePtr local, const unsigned char* data)
ds->relwheel = -ds->relwheel;
}
- xf86WcmEvent(local,0,ds);
+ xf86WcmEvent(common,0,ds);
return common->wcmPktLength;
}
@@ -665,7 +663,7 @@ static int serialParseCintiq(LocalDevicePtr local, const unsigned char* data)
/* requires button info, so it goes down here. */
serialParseP4Common(local, data, last, ds);
- xf86WcmEvent(local,0,ds);
+ xf86WcmEvent(common,0,ds);
return common->wcmPktLength;
}
@@ -701,7 +699,7 @@ static int serialParseProtocol4(LocalDevicePtr local, const unsigned char* data)
/* requires button info, so it goes down here. */
serialParseP4Common(local, data, last, ds);
- xf86WcmEvent(local,0,ds);
+ xf86WcmEvent(common,0,ds);
return common->wcmPktLength;
}
@@ -869,7 +867,7 @@ static int serialParseProtocol5(LocalDevicePtr local, const unsigned char* data)
/* if new data is available, send it */
if (have_data)
{
- xf86WcmEvent(local,channel,ds);
+ xf86WcmEvent(common,channel,ds);
}
return common->wcmPktLength;
}
@@ -1154,9 +1152,9 @@ static int serialEnableSuppressProtocol4(LocalDevicePtr local)
{
char buf[20];
int err;
- WacomDevicePtr priv = (WacomDevicePtr)local->private;
+ WacomCommonPtr common = ((WacomDevicePtr)(local->private))->common;
- sprintf(buf, "%s%d\r", WC_SUPPRESS, priv->wcmSuppress);
+ sprintf(buf, "%s%d\r", WC_SUPPRESS, common->wcmSuppress);
err = xf86WcmWrite(local->fd, buf, strlen(buf));
if (err == -1)
@@ -1279,7 +1277,7 @@ static void serialParseP4Common(LocalDevicePtr local,
{
/* send a prox-out for old device */
WacomDeviceState out = { 0 };
- xf86WcmEvent(local, 0, &out);
+ xf86WcmEvent(common, 0, &out);
ds->device_type = cur_type;
}
}
diff --git a/src/xdrv/wcmUSB.c b/src/xdrv/wcmUSB.c
index fb4a061..668bdae 100755
--- a/src/xdrv/wcmUSB.c
+++ b/src/xdrv/wcmUSB.c
@@ -195,7 +195,7 @@ static void usbParseChannel(LocalDevicePtr local, int channel, int serial);
NULL, /* link speed unsupported */
NULL, /* start not supported */
usbParse,
- xf86WcmHysteresisFilter, /* input filtering */
+ NULL, /* input filtering */
usbDetectConfig, /* detect hardware buttons etc */
};
@@ -211,7 +211,7 @@ static void usbParseChannel(LocalDevicePtr local, int channel, int serial);
NULL, /* link speed unsupported */
NULL, /* start not supported */
usbParse,
- xf86WcmHysteresisFilter, /* input filtering */
+ NULL, /* input filtering */
usbDetectConfig, /* detect hardware buttons etc */
};
@@ -918,7 +918,7 @@ static void usbParseChannel(LocalDevicePtr local, int channel, int serial)
}
/* dispatch event */
- xf86WcmEvent(local, channel, ds);
+ xf86WcmEvent(common, channel, ds);
}
#endif /* LINUX_INPUT */
diff --git a/src/xdrv/wcmXCommand.c b/src/xdrv/wcmXCommand.c
index cf14796..67c9241 100644
--- a/src/xdrv/wcmXCommand.c
+++ b/src/xdrv/wcmXCommand.c
@@ -169,10 +169,10 @@ static int xf86WcmSetParam(LocalDevicePtr local, int param, int value)
break;
case XWACOM_PARAM_SUPPRESS:
if ((value < 0) || (value > 100)) return BadValue;
- if (priv->wcmSuppress != value)
+ if (common->wcmSuppress != value)
{
xf86ReplaceIntOption(local->options, "Suppress", value);
- priv->wcmSuppress = value;
+ common->wcmSuppress = value;
}
break;
case XWACOM_PARAM_RAWFILTER:
@@ -665,7 +665,7 @@ static int xf86WcmGetParam(LocalDevicePtr local, int param)
{
WacomDevicePtr priv = (WacomDevicePtr)local->private;
WacomCommonPtr common = priv->common;
- DBG(10, common->debugLevel, ErrorF("xf86WcmGetParam param = %d\n",param));
+ DBG(10, common->debugLevel, ErrorF("xf86WcmGetParam param = %d\n", param));
switch (param)
{
@@ -737,6 +737,8 @@ static int xf86WcmGetParam(LocalDevicePtr local, int param)
return common->debugLevel;
case XWACOM_PARAM_ROTATE:
return common->wcmRotate;
+ case XWACOM_PARAM_SUPPRESS:
+ return common->wcmSuppress;
case XWACOM_PARAM_RAWFILTER:
return (common->wcmFlags & RAW_FILTERING_FLAG) ? 1 : 0;
case XWACOM_PARAM_PRESSCURVE:
@@ -796,7 +798,7 @@ static int xf86WcmGetParam(LocalDevicePtr local, int param)
else
return 2;
}
- DBG(10, priv->debugLevel, ErrorF("xf86WcmGetParam invalid param %d\n",param));
+ DBG(10, priv->debugLevel, ErrorF("xf86WcmGetParam invalid param %d\n", param));
return -1;
}
diff --git a/src/xdrv/xf86Wacom.c b/src/xdrv/xf86Wacom.c
index ab01fc7..c35d303 100755
--- a/src/xdrv/xf86Wacom.c
+++ b/src/xdrv/xf86Wacom.c
@@ -61,9 +61,10 @@
* 2007-03-29 47-pc0.7.7-8 - clean up code
* 2007-05-01 47-pc0.7.7-9 - fixed 2 bugs
* 2007-05-18 47-pc0.7.7-10 - support new xsetwacom commands
+ * 2007-06-05 47-pc0.7.7-11 - Test Ron's patches
*/
-static const char identification[] = "$Identification: 47-0.7.7-10 $";
+static const char identification[] = "$Identification: 47-0.7.7-11 $";
/****************************************************************************/
diff --git a/src/xdrv/xf86Wacom.h b/src/xdrv/xf86Wacom.h
index 7ef6830..dbbc584 100755
--- a/src/xdrv/xf86Wacom.h
+++ b/src/xdrv/xf86Wacom.h
@@ -327,7 +327,6 @@ struct _WacomDeviceRec
int tvoffsetY; /* Y edge offset for TwinView setup */
int tvResolution[4]; /* twinview screens' resultion */
int wcmDevOpenCount; /* Device open count */
- int wcmSuppress; /* transmit position on delta > supress */
/* JEJ - throttle */
int throttleStart; /* time in ticks for last wheel movement */
@@ -518,6 +517,7 @@ struct _WacomCommonRec
int wcmMaxCursorDist; /* Max mouse distance reported so far */
int wcmCursorProxoutDist; /* Max mouse distance for proxy-out max/256 units */
int wcmCursorProxoutDistDefault; /* Default max mouse distance for proxy-out */
+ int wcmSuppress; /* transmit position on delta > supress */
int bufpos; /* position with buffer */
unsigned char buffer[BUFFER_SIZE]; /* data read from device */
@@ -619,7 +619,7 @@ int xf86WcmInitTablet(LocalDevicePtr local, WacomModelPtr model, const char* id,
void xf86WcmReadPacket(LocalDevicePtr local);
/* handles suppression, filtering, and dispatch. */
-void xf86WcmEvent(LocalDevicePtr local, unsigned int channel, const WacomDeviceState* ds);
+void xf86WcmEvent(WacomCommonPtr common, unsigned int channel, const WacomDeviceState* ds);
/* dispatches data to XInput event system */
void xf86WcmSendEvents(LocalDevicePtr local, const WacomDeviceState* ds);