On Sat, Feb 25, 2012 at 12:19:21PM +0000, Przemo Firszt wrote:
> 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 :-)
GNOME? Check what your gsettings configuration is
gsettings get org.gnome.settings-daemon.peripherals.wacom tablet-pc-button
Cheers,
Peter
------------------------------------------------------------------------------
Try before you buy = See our experts in action!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-dev2
_______________________________________________
Linuxwacom-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel