Dnia 2012-02-25, sob o godzinie 10:10 +0000, Przemo Firszt pisze:
> Dnia 2012-02-24, pią o godzinie 15:59 +0000, Przemo Firszt pisze:
> > Dnia 2012-02-24, pią o godzinie 09:55 -0600, Chris Bagwell pisze:
> [..]
> > > Sorry.  No ideas except:  Is this new behavior since changing to
> > > Procotol 5 (adding ABS_MISC)?
> > 
> > I'd rather link it with the moment when I realised that my tablet is
> > handled by wvdev instead of wacom driver. Fixing the name and switching
> > to wacom broke rocker buttons. I'll confirm that.
> 
> OK, lads, I narrowed down the problem (ssh & gdb are really good tools):
> 
> wcmSendButtons (in wcmCommon.c) contains this:
> 
> > /* Tablet PC buttons only apply to penabled devices */
> >         if (common->wcmTPCButton && IsStylus(priv))
> >         {
> >                 first_button = (buttons <= 1) ? 0 : 1;
> > 
> >                 /* tip released? release all buttons */
> >                 if ((buttons & 1) == 0)
> >                         buttons = 0;
> >                 /* tip pressed? send all other button presses */
> >                 else if ((buttons & 1) != (priv->oldButtons & 1))
> >                         priv->oldButtons = 0;
> >                 /* other button changed while tip is still down? release 
> > tip */
> >                 else if ((buttons & 1) && (buttons != priv->oldButtons))
> >                 {
> >                         buttons &= ~1;
> >                         first_button = 0;
> >                 }
> >         }
> 
> If I hover the stylus and press rocker button the condition
> (common->wcmTPCButton && IsStylus(priv)) is true. "buttons" equals 2 or
> 4 (right or middle button), but tip is not touching the surface, so this
> is also true: ((buttons & 1) == 0) and it means that buttons gets
> resetted to 0! That doesn't happen for eraser because IsStylus(priv) is
> false.
> 
> When the tip is on the surface, buttons works as expected.
> 
> Setting TabletPCButton to off fixes the problem:
> 
> xsetwacom --set "Wacom Intuos4 WL stylus" "TabletPCButton" "off"
> 
> but I belive that TabletPCButton should be "off" by default for Intuos4 WL.
> 
> I'm tracking down why it's ON by defauls (if you know why, let me know!)
> 

Next step: in wcmXCommand.c function wcmSetProperty(DeviceIntPtr dev,
Atom property, XIPropertyValuePtr prop, BOOL checkonly) is called by
xorg(?>>) with "property = prop_hover" and "checkonly = 0", so it is
flipping TabletPCButton to "on"

The question why remains :-)
-- 
Przemo


------------------------------------------------------------------------------
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