We use true MT protocol for MT devices in kernel now. This code
was introduced to deal with ABS_TOOL_*TAP events loss issue. It
is uncessary any more. And its existence makes it hard to support
generic PAD cleanly.

Signed-off-by: Ping Cheng <pi...@wacom.com>
---
 src/wcmUSB.c |   34 ++--------------------------------
 1 file changed, 2 insertions(+), 32 deletions(-)

diff --git a/src/wcmUSB.c b/src/wcmUSB.c
index e192489..4b5f53b 100644
--- a/src/wcmUSB.c
+++ b/src/wcmUSB.c
@@ -37,7 +37,6 @@ typedef struct {
        Bool wcmPenTouch;
        Bool wcmUseMT;
        int wcmMTChannel;
-       int wcmPrevChannel;
        int wcmEventCnt;
        struct input_event wcmEvents[MAX_USB_EVENTS];
        int nbuttons;                /* total number of buttons */
@@ -1601,11 +1600,8 @@ static void usbDispatchEvents(InputInfoPtr pInfo)
                return;
        }
 
-       /* Protocol 5 devices have some complications related to DUALINPUT
-        * support and can not use below logic to recover from input
-        * event filtering.  Instead, just live with occasional dropped
-        * event.  Since tools are dynamically assigned a channel #, the
-        * structure must be initialized to known starting values
+       /* Protocol 5 tools are dynamically assigned with channel numbers.
+        * The structure must be initialized to known starting values
         * when first entering proximity to discard invalid data.
         */
        if (common->wcmProtocolLevel == WCM_PROTOCOL_5)
@@ -1614,32 +1610,6 @@ static void usbDispatchEvents(InputInfoPtr pInfo)
                        memset(&common->wcmChannel[channel],0,
                               sizeof(WacomChannel));
        }
-       else
-       {
-               /* Because of linux input filtering, each switch to a new
-                * tool is required to have its initial values match values
-                * of previous tool.
-                *
-                * For normal case, all tools are in channel 0 and so
-                * no issue.  Protocol 4 2FGT devices split between
-                * two channels though and so need to copy data between
-                * channels to prevent loss of events; which could
-                * lead to cursor jumps.
-                *
-                * PAD device is special.  It shares no events
-                * with other channels and is always in proximity.
-                * So it requires no copying of data from other
-                * channels.
-                */
-               if (private->wcmPrevChannel != channel &&
-                   channel != PAD_CHANNEL &&
-                   private->wcmPrevChannel != PAD_CHANNEL)
-               {
-                       common->wcmChannel[channel].work =
-                               
common->wcmChannel[private->wcmPrevChannel].work;
-                       private->wcmPrevChannel = channel;
-               }
-       }
 
        ds = &common->wcmChannel[channel].work;
        dslast = common->wcmChannel[channel].valid.state;
-- 
1.7.10.4


------------------------------------------------------------------------------
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
_______________________________________________
Linuxwacom-devel mailing list
Linuxwacom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel

Reply via email to