On Fri, Feb 24, 2012 at 7:32 AM, Przemo Firszt <prz...@firszt.eu> wrote:
> Dnia 2012-02-23, czw o godzinie 21:19 -0600, Chris Bagwell pisze:
>> On Wed, Feb 22, 2012 at 3:21 PM, Przemo Firszt <prz...@firszt.eu> wrote:
>> [..]
>
>>            __set_bit(ABS_MISC, input->absbit);
>>
>> So in your copy, it is already setting MSC_SERIAL bit, you've added
>> code to send it, and xf86-input-wacom is still forcing it to a value
>> of 1?
>
> Yes, that what was happening. See this (wcmUSB.c):
>        if (common->wcmProtocolLevel == WCM_PROTOCOL_GENERIC)
>        {
>                /* Generic Protocol devices do not use any form of
>                 * serial #'s to multiplex events over a single input
>                 * and so can always map to channel 0.  This means
>                 * only 1 tool can ever been in proximity at one time
>                 * (MT events are special case handled elsewhere).
>                 * It also means all buttons must be associated with
>                 * a single tool and can not send tablet buttons
>                 * as part of a pad tool.
>                 */
>                channel = 0;
>                serial = 1;
>
>                /* Generic devices need to map stylus buttons to
> "channel"
>                 * and all other button presses to PAD.  Hardcode PAD
>                 * channel here.
>                 */
>                private->wcmBTNChannel = PAD_CHANNEL;
>        }
>

Thanks.  I should probably delete the serial = 1 part at some point.
The important part in that line is channel = 0.

At some point, I'd like to unify this function that computes channel #
for protocol 4, protocol 5, and generic devices.  Protocol 5 does a
lookup into an array of size 3 to find channel with matching serial #
or empty channel.  For protocol 4, kernel driver hard codes to serial
= 1 or 0xff and driver converts to channel 0 or 1.  For generic,
kernel driver either never sends/declares a serial # (so same as
sending zero to xf86-input-wacom) or behaves like protocol 5 but we
hard always code to channel 0.

In all cases, we can use lookup table approach with serial # as key.

Chris

------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
Linuxwacom-devel mailing list
Linuxwacom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel

Reply via email to