On Sat, May 28, 2011 at 3:54 PM, Jason Gerecke <
killertofu@...> wrote:
> On Fri, May 27, 2011 at 9:11 PM, Chris Bagwell <
chris@...> wrote:
>> Hi Favux,
>>
>> For first bug report, it does sound same issue as I looked into a
>> while back. The kernel driver is mistakenly telling userland that the
>> PAD device has gone out of proximity when you use pen. From that
>> point, buttons don't work.
>>
>> Something has changed in xf86-input-wacom that we must l trust kernel
>> information more then we used to. My personal preference is to fix
>> the kernel to give us good info instead of reverting back to old
>> xf86-input-wacom behavior.
>>
>> Maybe when Ping gets back next month we can have some progress. Or
>> hopefully we can find a user that doesn't mind hacking kernel drivers.
>> I can give tons of guidance on patch to implement (its like 3 lines
>> for simple solution) but ultimately I can't push forward much more
>> since I don't have the device.
>>
>> For second bug report (X server crash), I've no idea. It sounds like
>> its own issue.
>>
>> Chris
>>
>
> Chris, I just happen to have a Graphire4 at home. If you have an idea
> of where the bug may lie, I'd be happy to try patching up the kernel
> code :)
>
> Jason
>
Cool. I've attached the patch I think that is needed. This is
against Linus' git that was rebased at some random time in last month
or two.
Originally, I was going to give you a patch against input-wacom but it
looks like that is different compared to upstream for graphire.
Specifically, it is correctly setting MSC_SERIAL when switching over
to pen.
That means input-wacom may be working with graphire4. input-wacom is
not ever sending BTN_TOOL_FINGER for some reason so if its not working
then thats probably only change needed (add it back in to match
kernel).
Chris
[graphire.diff]
diff --git a/drivers/input/tablet/wacom_wac.c b/drivers/input/tablet/wacom_wac.c
index 08ba5ad..27bbfc0 100644
--- a/drivers/input/tablet/wacom_wac.c
+++ b/drivers/input/tablet/wacom_wac.c
@@ -263,6 +263,8 @@ static int wacom_graphire_irq(struct wacom_wac *wacom)
if (!prox)
wacom->id[0] = 0;
input_report_abs(input, ABS_MISC, wacom->id[0]); /* report tool id */
+ input_event(input, EV_MSC, MSC_SERIAL, 1);
+
input_report_key(input, wacom->tool[0], prox);
input_sync(input); /* sync last event */
}
@@ -295,7 +297,7 @@ static int wacom_graphire_irq(struct wacom_wac *wacom)
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);
+ input_report_key(input, BTN_TOOL_FINGER, prox);
if (!prox)
wacom->id[1] = 0;
input_report_abs(input, ABS_MISC, wacom->id[1]);
------------------------------------------------------------------------------
vRanger cuts backup time in half-while increasing security.
With the market-leading solution for virtual backup and recovery,
you get blazing-fast, flexible, and affordable data protection.
Download your free trial now.
http://p.sf.net/sfu/quest-d2dcopy1_______________________________________________
Linuxwacom-discuss mailing list
Linuxwacom-discuss@...
https://lists.sourceforge.net/lists/listinfo/linuxwacom-discuss