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