It certainly doesn't hurt :) I think my biggest problem is that I never
really understood exactly when this code was required. It makes sense that
only MT using *TAP events would need it (or dual-track, but that's protocol
5), so I don't really see any problem given the testing you've done.
Jason
---
When you're rife with devastation / There's a simple explanation:
You're a toymaker's creation / Trapped inside a crystal ball.
And whichever way he tilts it / Know that we must be resilient
We won't let them break our spirits / As we sing our silly song.
On Wed, Dec 12, 2012 at 10:39 AM, Ping Cheng <pingli...@gmail.com> wrote:
> On Wed, Dec 12, 2012 at 9:45 AM, Jason Gerecke <killert...@gmail.com>wrote:
>
>> Though I can't quite convince myself that this is safe, I don't see any
>> problems with it.
>>
>> Acked-By: Jason Gerecke <killert...@gmail.com>
>>
>
> Will I say it is tested on older and new systems make it easier to
> convince you?
>
> Ping
>
>
>> Jason
>>
>> ---
>> When you're rife with devastation / There's a simple explanation:
>> You're a toymaker's creation / Trapped inside a crystal ball.
>> And whichever way he tilts it / Know that we must be resilient
>> We won't let them break our spirits / As we sing our silly song.
>>
>>
>>
>> On Thu, Dec 6, 2012 at 4:20 PM, Ping Cheng <pingli...@gmail.com> wrote:
>>
>>> 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
>>>
>>
>>
>
------------------------------------------------------------------------------
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