On Mon, Mar 14, 2011 at 4:54 PM, Ping Cheng <pingli...@gmail.com> wrote:
> On Mon, Mar 14, 2011 at 2:08 PM, Chris Bagwell <ch...@cnpbagwell.com> wrote:
>>
>> Hi all,
>>
>> This is related to thread on linuxwacom-discuss about older Bamboo's
>> PAD not working right with recent xf86-input-wacom's.  This device is
>> handled by Graphire driver in kernel.
>>
>> The reason is related to interaction of multiple recent code
>> submissions.  But the root issue to me is a kernel side issue that
>> xf86-input-wacom was trying to hopelessly work around.
>
> The major difference, and root cuase, lies in the ABS_MISC bit. We used to
> reply on ABS_MISC for tool type and in/out prox events. We can not do that
> any more unless we leave protocol 4 devices in the old path.
>
>>
>> Take a look at this kernel code that is executed when either a) a PAD
>> device needs to send a button press or wheel movement or b) one last
>> time when buttons/wheel are released.
>>
>>                if (prox || wacom->id[1]) {
>>                        wacom->id[1] = PAD_DEVICE_ID;
>>                        input_report_key(input, BTN_0, (data[7] & 0x08));
>>                        input_report_key(input, BTN_1, (data[7] & 0x20));
>>                        input_report_key(input, BTN_4, (data[7] & 0x10));
>>                        input_report_key(input, BTN_5, (data[7] & 0x40));
>>                        input_report_abs(input, ABS_WHEEL, (data[8] &
>> 0x7f));
>>                        input_report_key(input, BTN_TOOL_FINGER, 0xf0);
>>                        if (!prox)
>>                                wacom->id[1] = 0;
>>                        input_report_abs(input, ABS_MISC, wacom->id[1]);
>>                        input_event(input, EV_MSC, MSC_SERIAL, 0xf0);
>>                }
>
> If we make a kernel patch, we need to remove both BTN_TOOL_FINGER and
> ABS_MISC. MSC_SERIAL will be  removed for Graphire too.
>
> Once we touch BTN_TOOL_FINGER, I'd like to remove  BTN_TOOL_FINGER for
> Intuos/Citniq series as well. That's why I didn't start working on it yet. I
> still have issue with serial ISDV4 kernel driver working with the current
> xf86-input-wacom at this moment. I have a few patches to submit. But I need
> to test the patches on different systems (w/o touch, ST, MT) first.
>
> So, I'd prefer we leave Graphire and non-touch Bamboo's at protocol 4
> path in xf86-input-wacom. Cleaning up everything for Generic protocol in its
> own path without affecting P4 offers me sometime to catch up. I can only
> work on one set of devices at a time ;).
>
>
>>
>> I obviously need some help here since I'm flying blind without the
>> problem device.  I can make a kernel patch but can't test it.
>>
>> Part of this email is also to make sure no one thinks we should try to
>> solve this purely on userland side.
>
>
> If you feel the urge to update the kernel driver, you can defintely do so
> for Graphire. There is one minor detail you might need to pay a bit extra
> attention in xf86-input-wacom and/or the kernel driver: Graphire 4 has a
> relative wheel on the tablet. That is, for Graphire 4, the PAD and the Wacom
> mouse both have relative wheels. You'll need to fingure out a way to report
> them differently to support the case when the mouse is placed on the tablet
> while users uses the PAD.
>

I'll propose on this list a simple patch to kernel that keeps it
Protocol 4 but also doesn't confuse xf86-input-wacom.  Hopefully I
find a tester here.  I don't think I'd find one on linux-input.  This
change should not change behaviour of existing relative wheels.

Chris

------------------------------------------------------------------------------
Colocation vs. Managed Hosting
A question and answer guide to determining the best fit
for your organization - today and in the future.
http://p.sf.net/sfu/internap-sfd2d
_______________________________________________
Linuxwacom-devel mailing list
Linuxwacom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel

Reply via email to