Git Product home page Git Product logo

Comments (16)

jigpu avatar jigpu commented on August 16, 2024 1

Confirmed on a fresh Ubuntu 18.04 installation. The device works fine on my workstation though, so there's definitely something odd going on. The data stream from the kernel device seems to continue when the pen goes down, but I see it stop when monitoring for X11 events. I still get "RawMotion" events over XI2, but not regular Motion events, so I suspect that something is going wrong in the X driver. I'll need to dig around some more...

from input-wacom.

jigpu avatar jigpu commented on August 16, 2024 1

After quite a bit of digging, I've discovered that simply changing the device name from "Wacom USB Bamboo PAD Pen" to "Wacom USB Bamboo PA Pen" is enough to get the device to start working. I now suspect that the root cause is a desktop component that has some kludgy name-based device type detection. It's probably trying to prevent pointer jumps from occurring when a "pad" sub-device is used, but rather than querying the X server for the actual device type, it assumes the name is a good enough indicator.

Still a little more digging left...

from input-wacom.

MaanasArora avatar MaanasArora commented on August 16, 2024

Thank you! Any luck till now?

from input-wacom.

jigpu avatar jigpu commented on August 16, 2024

I've done a little more testing and am still finding really weird results. When I turn on the X driver logging to see what's going on, it appears that the events are still being processed as expected even when the pen tip is down. This means that it's not a bug with something like the palm rejection code that would be disabling the stream.

I'll have to add additional logging right at the point we send out events to the X server to make sure that they aren't being derailed at the last second. If they are, it shouldn't take too long to figure out the cause. If the events are making it all the way to our call to the X server though, it'll be a bit more complicated to debug since that means the server itself is eating our events for some reason.

from input-wacom.

MaanasArora avatar MaanasArora commented on August 16, 2024

Did you make it work? If not, any way I can for now?

from input-wacom.

jigpu avatar jigpu commented on August 16, 2024

I don't have a real fix, but I've attached a workaround that should get the pen working for the moment. If you cloned the input-wacom driver from git, you can run git am 0001-HACK-Rename-Bamboo-PAD-for-Ubuntu-18.04-compatibilit.patch.txt to apply the fix; otherwise you'll need to run patch -p1 < 0001-HACK-Rename-Bamboo-PAD-for-Ubuntu-18.04-compatibilit.patch.txt from inside the "input-wacom" source directory. Afterwards, recompile/reinstall/reboot.

0001-HACK-Rename-Bamboo-PAD-for-Ubuntu-18.04-compatibilit.patch.txt

from input-wacom.

whot avatar whot commented on August 16, 2024

mutter's repo has clutter/clutter/x11/clutter-device-manager-xi2.c:create_device() with this bit:

      gchar *name;

      name = g_ascii_strdown (info->name, -1);

      if (strstr (name, "eraser") != NULL)
        source = CLUTTER_ERASER_DEVICE;
      else if (strstr (name, "cursor") != NULL)
        source = CLUTTER_CURSOR_DEVICE;
      else if (strstr (name, " pad") != NULL)
        source = CLUTTER_PAD_DEVICE;

And yeah, re-using "PAD" in the name of the device is probably going to cause issues with the libwacom udev rules too, isn't it?

from input-wacom.

whot avatar whot commented on August 16, 2024

re-using "PAD" in the name of the device is probably going to cause issues with the libwacom udev rules too, isn't it?

good news here, it won't because we match on "Pad" and udev rule matching is case-sensitive. So libwacom's side is sorted in that regard afaict.

from input-wacom.

whot avatar whot commented on August 16, 2024

https://gitlab.gnome.org/GNOME/mutter/merge_requests/250 is the mutter fix, I hope.

from input-wacom.

whot avatar whot commented on August 16, 2024

Closing, the fix for mutter above assigns the right device type now, so this isn't something we need to track in libwacom.

from input-wacom.

boxbotteries avatar boxbotteries commented on August 16, 2024

This may need to be reopened, with the latest update my Bamboo pad stylus is no longer clicking or moving on press.

from input-wacom.

MaanasArora avatar MaanasArora commented on August 16, 2024

As @boxbotteries said, my Bamboo pad stylus has stopped clicking and moving on press as well.

from input-wacom.

jigpu avatar jigpu commented on August 16, 2024

The fix hasn't yet been integrated into the GNOME codebase. Until it is, you will need to re-compile and install the input-wacom driver with the above "HACK" patch whenever your system installs a kernel update.

from input-wacom.

boxbotteries avatar boxbotteries commented on August 16, 2024

Did exactly that and lost all response to my tablet; it won't even acknowledge the stylus' movement now. Got a new system update just now so will give it another try.

from input-wacom.

boxbotteries avatar boxbotteries commented on August 16, 2024

Found out I was recompiling an older version of the input-wacom driver. Recompiled the latest version with the hack patch and everything is back to normal! Thanks @jigpu .

from input-wacom.

MaanasArora avatar MaanasArora commented on August 16, 2024

Oh, me too @boxbotteries. Thanks!

from input-wacom.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.