On Mon, Oct 07, 2013 at 11:57:16AM -0700, Ping Cheng wrote:
> On Sunday, October 6, 2013, Peter Hutterer wrote:
> 
> > On Thu, Oct 03, 2013 at 05:18:26PM -0700, Ping Cheng wrote:
> > > Some devices send expresskeys on its own interface, that is, there
> > > is no motion/pointer events associated with the pad interface.
> > >
> > > This patch handles above case.
> > >
> > > Signed-off-by: Ping Cheng <pi...@wacom.com <javascript:;>>
> > > ---
> > >  src/wcmUSB.c | 3 ++-
> > >  1 file changed, 2 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/src/wcmUSB.c b/src/wcmUSB.c
> > > index 634eb1c..4a49c4a 100644
> > > --- a/src/wcmUSB.c
> > > +++ b/src/wcmUSB.c
> > > @@ -1756,7 +1756,8 @@ static void usbGenericTouchscreenQuirks(unsigned
> > long *keys,
> > >        */
> > >       if (ISBITSET(keys, BTN_TOUCH) &&
> > >                       !ISBITSET(keys, BTN_TOOL_FINGER) &&
> > > -                     !ISBITSET(keys, BTN_TOOL_PEN))
> > > +                     !ISBITSET(keys, BTN_TOOL_PEN) &&
> > > +                     ISBITSET(abs, ABS_X))
> > >       {
> > >               SETBIT(keys, BTN_TOOL_FINGER); /* 1FGT */
> > >               TabletSetFeature(common, WCM_TPC);
> > > --
> > > 1.8.1.2
> >
> > so you're saying that we get a device that has BTN_TOUCH but no BTN_TOOL_*
> > set?
> 
> 
> No, not exactly.
> 
> When BTN_TOUCH is set without BTN_TOOL_*, it means a single finger
> touchscreen. That definition has been discussed many time at LKML and all
> parties agreed. That's why we had the existing if statement, which can not
> be changed in the kernel.
> 
> The change above means, if a tool falls into the case, ABS_X has to be set
> too. That is, the tool has to report motion events.
> 
> We need to explicitly set ABS_X for single finger touchscreen since we now
> have a tool (for new Intuos) that only sends button events on its
> interface. ABS_X can not be set for this tool/pad since there is no motion
> events associated with this tool. If we do not check ABS_X, the pad
> would fall into single finger touchscreen case.
> 
> 
> >  if so, can we fix this in the kernel driver please?
> >
> 
> Are you still following me :-)? We can not fix it in the kernel although I
> wish we could too.

fair enough. next question though: what _does_ the new Intuos pad device
actually provide? if it's not providing pointer coordinates, why does it do
BTN_TOUCH?

Cheers,
   Peter

------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk
_______________________________________________
Linuxwacom-devel mailing list
Linuxwacom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel

Reply via email to