« Return to Thread: Graphire4 Pad Button freeze with 0.10.11.

Re: Graphire4 Pad Button freeze with 0.10.11.

by Chris Bagwell :: Rate this Message:

| View in Thread

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

 « Return to Thread: Graphire4 Pad Button freeze with 0.10.11.