From: Chris Bagwell <[email protected]>

The feature never fully worked and bits have slowing been removed.
Remove remaining in one swoop.

As apart of removing logic, now store ABS_PRESSURE values in the more
appropriate "pressure" location so that it can eventually be exposed in
the Pressure axis that touch devices create but do not currently send.

Additional changes beyond this patch are required to get Pressure Axis
working on touch devices.

Signed-off-by: Chris Bagwell <[email protected]>
---
 man/wacom.man           |    5 -----
 src/wcmCommon.c         |   10 ++--------
 src/wcmISDV4.c          |    1 -
 src/wcmUSB.c            |   20 ++++----------------
 src/wcmValidateDevice.c |   11 +----------
 src/wcmXCommand.c       |   19 -------------------
 src/xf86WacomDefs.h     |    6 ------
 7 files changed, 7 insertions(+), 65 deletions(-)

diff --git a/man/wacom.man b/man/wacom.man
index 7d1de36..2388e15 100644
--- a/man/wacom.man
+++ b/man/wacom.man
@@ -162,11 +162,6 @@ enables the touch event for Tablet PC that supports touch 
feature,  i.e.,
 system cursor moves when user touches the tablet.  Default to "on" for 
 Tablet PCs with touch feature; "off" for all other models.
 .TP 4
-.B Option \fI"Capacity"\fP \fI"number"\fP
-sets touch sensitivity level for capacitive touch device, where number 
-can be an integer from -1 to 5.  Default is 3 for capacitive tools and 
--1 for non-capacitive tools.
-.TP 4
 .B Option \fI"Rotate"\fP \fI"CW"|"CCW"|"HALF"|"NONE"\fP
 rotates the tablet orientation counterclockwise (CCW) or clockwise (CW) or 180 
degrees (HALF). 
 If you have specific tablet mappings, i.e. TopX/Y or BottomX/Y were set, the 
mapping will be 
diff --git a/src/wcmCommon.c b/src/wcmCommon.c
index bd47c51..b974071 100644
--- a/src/wcmCommon.c
+++ b/src/wcmCommon.c
@@ -515,7 +515,6 @@ static void wcmUpdateOldState(const InputInfoPtr pInfo,
        priv->oldX = priv->currentX;
        priv->oldY = priv->currentY;
        priv->oldZ = ds->pressure;
-       priv->oldCapacity = ds->capacity;
        priv->oldTiltX = tx;
        priv->oldTiltY = ty;
        priv->oldStripX = ds->stripx;
@@ -759,7 +758,6 @@ void wcmSendEvents(InputInfoPtr pInfo, const 
WacomDeviceState* ds)
                priv->oldX = 0;
                priv->oldY = 0;
                priv->oldZ = 0;
-               priv->oldCapacity = ds->capacity;
                priv->oldTiltX = 0;
                priv->oldTiltY = 0;
                priv->oldStripX = 0;
@@ -807,12 +805,11 @@ wcmCheckSuppress(WacomCommonPtr common,
        if (dsOrig->stripy != dsNew->stripy) goto out;
 
        /* FIXME: we should have different suppress values for different
-        * axes. The resolution for x/y is vastly higher than for capacity
-        * for example. */
+        * axes with vastly different ranges.
+        */
        if (abs(dsOrig->tiltx - dsNew->tiltx) > suppress) goto out;
        if (abs(dsOrig->tilty - dsNew->tilty) > suppress) goto out;
        if (abs(dsOrig->pressure - dsNew->pressure) > suppress) goto out;
-       if (abs(dsOrig->capacity - dsNew->capacity) > suppress) goto out;
        if (abs(dsOrig->throttle - dsNew->throttle) > suppress) goto out;
        if (abs(dsOrig->rotation - dsNew->rotation) > suppress &&
            (1800 - abs(dsOrig->rotation - dsNew->rotation)) >  suppress) goto 
out;
@@ -1393,9 +1390,6 @@ WacomCommonPtr wcmNewCommon(void)
        common->wcmFlags = 0;               /* various flags */
        common->wcmProtocolLevel = WCM_PROTOCOL_4; /* protocol level */
        common->wcmTPCButton = 0;          /* set Tablet PC button on/off */
-       common->wcmCapacity = -1;          /* Capacity is disabled */
-       common->wcmCapacityDefault = -1;    /* default to -1 when capacity 
isn't supported */
-                                          /* 3 when capacity is supported */
        common->wcmGestureParameters.wcmZoomDistance = 50;
        common->wcmGestureParameters.wcmZoomDistanceDefault = 50;
        common->wcmGestureParameters.wcmScrollDirection = 0;
diff --git a/src/wcmISDV4.c b/src/wcmISDV4.c
index e199521..82c709d 100644
--- a/src/wcmISDV4.c
+++ b/src/wcmISDV4.c
@@ -660,7 +660,6 @@ static int isdv4Parse(InputInfoPtr pInfo, const unsigned 
char* data, int len)
 
                ds->x = touchdata.x;
                ds->y = touchdata.y;
-               ds->capacity = touchdata.capacity;
                ds->buttons = ds->proximity = touchdata.status;
                ds->device_type = TOUCH_ID;
                ds->device_id = TOUCH_DEVICE_ID;
diff --git a/src/wcmUSB.c b/src/wcmUSB.c
index 0ea7737..04bd897 100644
--- a/src/wcmUSB.c
+++ b/src/wcmUSB.c
@@ -1028,10 +1028,7 @@ static int usbParseAbsEvent(WacomCommonPtr common,
                        ds->tilty = event->value - common->wcmMaxtiltY/2;
                        break;
                case ABS_PRESSURE:
-                       if (ds->device_type == TOUCH_ID)
-                               ds->capacity = event->value;
-                       else
-                               ds->pressure = event->value;
+                       ds->pressure = event->value;
                        break;
                case ABS_DISTANCE:
                        ds->distance = event->value;
@@ -1129,7 +1126,7 @@ static int usbParseAbsMTEvent(WacomCommonPtr common, 
struct input_event *event)
                        break;
 
                case ABS_MT_PRESSURE:
-                       ds->capacity = event->value;
+                       ds->pressure = event->value;
                        break;
 
                default:
@@ -1253,17 +1250,8 @@ static int usbParseKeyEvent(WacomCommonPtr common,
                        if ((ds->proximity && !dslast->proximity) ||
                            (!ds->proximity && dslast->proximity))
                                ds->sample = (int)GetTimeInMillis();
-                       /* left button is always pressed for
-                        * touchscreen without capacity
-                        * when the first finger touch event received.
-                        * For touchscreen with capacity, left button
-                        * event will be decided
-                        * in wcmCommon.c by capacity threshold.
-                        * Touchpads should not have button
-                        * press.
-                        */
-                       if (common->wcmCapacityDefault < 0 &&
-                           (TabletHasFeature(common, WCM_LCD)))
+                       /* left button is always pressed for touchscreen */
+                       if (TabletHasFeature(common, WCM_LCD))
                                ds->buttons = mod_buttons(ds->buttons, 0, 
event->value);
                        break;
 
diff --git a/src/wcmValidateDevice.c b/src/wcmValidateDevice.c
index 409a42f..12a0c2e 100644
--- a/src/wcmValidateDevice.c
+++ b/src/wcmValidateDevice.c
@@ -851,7 +851,7 @@ Bool wcmParseOptions(InputInfoPtr pInfo, Bool is_primary, 
Bool is_dependent)
        if (TabletHasFeature(common, WCM_1FGT) ||
            TabletHasFeature(common, WCM_2FGT))
        {
-               int touch_is_on, capacity_is_on;
+               int touch_is_on;
 
                /* TouchDefault was off for all devices
                 * except when touch is supported */
@@ -865,15 +865,6 @@ Bool wcmParseOptions(InputInfoPtr pInfo, Bool is_primary, 
Bool is_dependent)
                else if (touch_is_on != common->wcmTouch)
                        xf86Msg(X_WARNING, "%s: Touch option can only be set "
                                "by a touch tool.\n", pInfo->name);
-
-               capacity_is_on = xf86SetBoolOption(pInfo->options, "Capacity",
-                                                  common->wcmCapacityDefault);
-
-               if (is_primary || IsTouch(priv))
-                       common->wcmCapacity = capacity_is_on;
-               else if (capacity_is_on != common->wcmCapacity)
-                       xf86Msg(X_WARNING, "%s: Touch Capacity option can only 
be"
-                               "set by a touch tool.\n", pInfo->name);
        }
 
        /* 2FG touch device */
diff --git a/src/wcmXCommand.c b/src/wcmXCommand.c
index 98de29b..18e5b61 100644
--- a/src/wcmXCommand.c
+++ b/src/wcmXCommand.c
@@ -89,7 +89,6 @@ Atom prop_strip_buttons;
 Atom prop_wheel_buttons;
 Atom prop_tv_resolutions;
 Atom prop_cursorprox;
-Atom prop_capacity;
 Atom prop_threshold;
 Atom prop_suppress;
 Atom prop_touch;
@@ -192,9 +191,6 @@ void InitWcmDeviceProperties(InputInfoPtr pInfo)
                prop_cursorprox = InitWcmAtom(pInfo->dev, 
WACOM_PROP_PROXIMITY_THRESHOLD, 32, 1, values);
        }
 
-       values[0] = common->wcmCapacity;
-       prop_capacity = InitWcmAtom(pInfo->dev, WACOM_PROP_CAPACITY, 32, 1, 
values);
-
        values[0] = (!common->wcmMaxZ) ? 0 : common->wcmThreshold;
        prop_threshold = InitWcmAtom(pInfo->dev, WACOM_PROP_PRESSURE_THRESHOLD, 
32, 1, values);
 
@@ -738,21 +734,6 @@ int wcmSetProperty(DeviceIntPtr dev, Atom property, 
XIPropertyValuePtr prop,
 
                if (!checkonly)
                        common->wcmCursorProxoutDist = value;
-       } else if (property == prop_capacity)
-       {
-               INT32 value;
-
-               if (prop->size != 1 || prop->format != 32)
-                       return BadValue;
-
-               value = *(INT32*)prop->data;
-
-               if ((value < -1) || (value > 5))
-                       return BadValue;
-
-               if (!checkonly)
-                       common->wcmCapacity = value;
-
        } else if (property == prop_threshold)
        {
                CARD32 value;
diff --git a/src/xf86WacomDefs.h b/src/xf86WacomDefs.h
index f054d2c..0d7381a 100644
--- a/src/xf86WacomDefs.h
+++ b/src/xf86WacomDefs.h
@@ -285,7 +285,6 @@ struct _WacomDeviceRec
        int oldX;               /* previous X position */
        int oldY;               /* previous Y position */
        int oldZ;               /* previous pressure */
-       int oldCapacity;        /* previous capacity */
        int oldTiltX;           /* previous tilt in x direction */
        int oldTiltY;           /* previous tilt in y direction */    
        int oldWheel;           /* previous wheel value */    
@@ -339,7 +338,6 @@ struct _WacomDeviceState
        int y;
        int buttons;
        int pressure;
-       int capacity;
        int tiltx;
        int tilty;
        int stripx;
@@ -456,7 +454,6 @@ struct _WacomCommonRec
        int wcmTouchResolY;          /* touch Y resolution in points/m */
                                     /* tablet Z resolution is equivalent
                                      * to wcmMaxZ which is equal to 100% 
pressure */
-       int wcmMaxCapacity;          /* max capacity value */
        int wcmMaxDist;              /* tablet max distance value */
        int wcmMaxtiltX;             /* styli max tilt in X directory */ 
        int wcmMaxtiltY;             /* styli max tilt in Y directory */ 
@@ -485,9 +482,6 @@ struct _WacomCommonRec
        int wcmGestureDefault;       /* default touch gesture to disable when 
not supported */
        int wcmGestureMode;            /* data is in Gesture Mode? */
        WacomDeviceState wcmGestureState[MAX_FINGERS]; /* inital state when in 
gesture mode */
-       int wcmCapacity;             /* disable/enable capacity */
-       int wcmCapacityDefault;      /* default to -1 when capacity isn't 
supported/disabled */
-                                    /* 3 when capacity is supported */
        WacomGesturesParameters wcmGestureParameters;
        int wcmMaxCursorDist;        /* Max mouse distance reported so far */
        int wcmCursorProxoutDist;    /* Max mouse distance for proxy-out 
max/256 units */
-- 
1.7.5.2


------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a 
definitive record of customers, application performance, security 
threats, fraudulent activity and more. Splunk takes this data and makes 
sense of it. Business sense. IT sense. Common sense.. 
http://p.sf.net/sfu/splunk-d2d-c1
_______________________________________________
Linuxwacom-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel

Reply via email to