#202 Bamboo Pen&Touch not treated as normal pointer device

closed-out-of-date
nobody
USB Tablet (38)
2015-12-04
2011-09-22
No

Hi,

A while ago I had some discussion in the mailing list with you about the Bamboo Pen&Touch (CTH-460). At that time you were implementing the drivers for the fresh and new device, which didn't work at all.

Now the Bamboo Pen&Touch works, but not quite right. It doesn't behave like a real pointer device when it comes to interaction with the graphical user interface. Just drawing in graphics programs works just fine, but it is not possible to properly operate normal GTK or Qt applications with pen or finger.

Taps with my finger aren't recognized at all, taps with the pen behave very different depending on the application. Sometimes, they are ignored, sometimes they work half, i.e. a button goes into pressed state, but doesn't execute any action as if it would hold down the mouse without releasing it. The last issue often results in unwanted dragging of things like text or buttons.
Interaction with KDE's plasma interface is even more horrible. E.g. it is impossible to use the desktop grid properly. Trying to do so breaks many things.
It is possible to drag Kwin windows around, but that's basically it.
However, if I use the button on the tablet for clicking, the behavior is as expected that of a normal mouse click. So only tapping gestures with pen or finger are misbehaving.

Another issue is that the touch functionality doesn't work well. As I stated above, taps are completely ignored, but that is not the only problem. Also the movement is quite inaccurate, especially when it comes to small moves. Then the cursor jumps in fixed steps, instead of moving smoothly pixel by pixel. Therefore it is very hard to hit small UI elements such as small buttons or links (which can't be clicked anyway without using the normal mouse, the button on the tablet or at least the pen).

As you might have suspected, I'm using KDE (version 4.7.1). My distribution is Gentoo Linux with 2.6.39 kernel. Xorg server is 1.10.4.
I've tried the native wacom kernel module (which didn't work at all) and the version from Portage (linuxwacom-module-0.8.8_p10).
On the X side I've tried the one from Portage (xf86-input-wacom-0.11.1) as well as the latest Git. All have the above problems.

Would be nice to see this fixed. It is really annoying and makes the tablet nearly unusable.

Cheers
Janek

Discussion

  • Janek Bevendorff

    Addition: the tablet also behaves very weird when using in Blender 3D. I've set the lower button of the pen to emulate a middle mouse button click so I can rotate and pan the viewport with it. This basically works, but it happens very often, that the objects scroll and move uncontrollable out of the screen. Working with it is a pain since your working area always scrolls out of sight.

    Tapping is not working as usual. Tapping with the finger let's jump the cursor a huge bit (very, very inaccurate) but has no effect on the UI. Tapping with the pen works in some areas. So e.g. I can check checkboxes and change the values of number fields, but I can't click buttons or dropdown menus. Also the movement of the pen is sometimes a bit inaccurate so that I easily mess up the UI by accidentally dragging panels arround or collapsing them.

    Also the Grease Pencil does not work. Hit N to bring up the properties panel. Under "Grease pencil" click "New", then hold down the D key and draw a line in the viewport. As long as you keep D pressed, all seems to work fine, but as soon as you release the key, a long straight line is added to the stroke you just drew.

    Another issue I experienced is double tapping the pen. When I double tap the pen anywhere on the screen, KDE shows all open windows next to each other (so that I can click one to switch to that window). this is a nice feature of KDE and I have configured this window view to be activated as soon as I move the mouse into a corner of my screen, but it is definitely not intended to be activated on double tap.

    This all makes the tablet completely unusable. On Windows everything works fine (very accurate mouse move for finger and pen, taps are correctly interpreted as mouse clicks, no issues with accidental drag&drop operations or text selections) but on Linux it's a pain in the ass.

     
  • Janek Bevendorff

    Addition No. 2: "Double tap" does not always mean "Double tap". The driver also interprets tiniest pen jumps due to some dust on the surface of the tablet as double tap when drawing with very little pressure. That means, the mentioned window view pops up all the time.

     
  • Favux

    Favux - 2011-09-23

    Gentoo Linux with 2.6.39 kernel and Xorg server is 1.10.4. Latest xf86-input-wacom from git.

    My concern is that you say "I've tried the native wacom kernel module (which didn't work at all) and the version from Portage (linuxwacom-module-0.8.8_p10). The BambooPT should have worked out of the box with with the 2.6.39 wacom.ko. If you have installed and are using the linuxwacom-0.8.8-10 wacom.ko that is a serious regression compared to the one in the 2.6.39 kernel. Support for your BambooPT had just been introduced to the 0.8.8-10 wacom.ko. Frankly I don't know how well it works with a recent cloned xf86-input-wacom.

    So the first thing is to update your wacom.ko to a more recent one. Can you go back to the default wacom.ko in 2.6.39 through your Gentoo package installer? If it still doesn't work lets figure out why that is happening and fix it. Then see if any of the issues you describe remain.

     
  • Janek Bevendorff

    Uninstalled the module from Portage, now I'm using the version shipped with the kernel.
    I got it to work, but it has all the problems mentioned before. Especially the unintended drag operations are annoying. I just had to kill Chromium because I tried to drag a tab with the pen which somehow had the result that the tab was sticking to my cursor preventing all mouse clicks and I couldn't get rid of it.

    With the new kernel module, the touch input seems to be even worse. Now the cursor does not just move in fixed steps as before, tapping a specific target is absolutely impossible. Once I release the finger and perform a tap, the cursor jumps around (besides the fact that a finger tap still doesn't invoke any action).

     
  • Favux

    Favux - 2011-09-23

    Alright now let's verify that the new wacom.ko is auto-loading. It appears to be. What is the output in a terminal of this command?:
    lsmod | grep wacom

    I have Kubuntu so I do have a KDE implementation to compare. While the experience is not as good as in Gnome it may be partly because I have not tried to fine tune it much. I don't really see your issues. I'm able to use single finger double taps fine and the tracking is smooth. Two finger double tap brings up the right click menu as expected. However scroll causes a cross over to zoom. That bug was fixed semi-recently so I need to figure out why that is happening. The stylus is fine other than the issue mentioned below

    I'm wondering if your BambooPT is actually on the Wacom X driver. Maybe it is on evdev? What is the output in a terminal of the command:
    xinput list

    Part of the reason I haven't spent much time with BambooPT in KDE is there are known issues with Qt in Ubuntu's implementation of it. The main ones are pressure problems in Krita etc. or the flip side of the same issue is spurious lines being made to the left upper corner from the line you are drawing. They've been working on it for a few months and just found a fix yesterday. Apparently Qt is incorrectly using the received events because not all axis are sent. Which I guess is related to the masked valuators introduced in Xserver 1.10. The patch looks at if the index of the axis is inside the range, if it is it then uses the value, otherwise the last received value. The patch has been accepted and is allegedly coming coming through in a Ubuntu update Monday. If this affects Qt generally I'm sure Ubuntu will be pushing the patch upstream, so the fix if needed, may shortly be available to Gentoo.

     
  • Janek Bevendorff

    Yes, the module is loaded as soon as Udev recognizes the tablet being plugged in. That is alright and shouldn't be the problem.

    However, evdev might actually interfere with the wacom X driver. The output of xinput list is:

    ⎡ Virtual core pointer id=2 [master pointer (3)]
    ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
    ⎜ ↳ Wacom BambooFun 2FG 4x5 Pen stylus id=10 [slave pointer (2)]
    ⎜ ↳ Wacom BambooFun 2FG 4x5 Finger touch id=11 [slave pointer (2)]
    ⎜ ↳ Logitech USB Laser Mouse id=12 [slave pointer (2)]
    ⎜ ↳ Wacom BambooFun 2FG 4x5 Pen eraser id=13 [slave pointer (2)]
    ⎜ ↳ Wacom BambooFun 2FG 4x5 Finger pad id=14 [slave pointer (2)]
    ⎣ Virtual core keyboard id=3 [master keyboard (2)]
    ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
    ↳ Power Button id=6 [slave keyboard (3)]
    ↳ Power Button id=7 [slave keyboard (3)]
    ↳ Cherry GmbH wired keyboard id=8 [slave keyboard (3)]
    ↳ Cherry GmbH wired keyboard id=9 [slave keyboard (3)]

    Two finger tapping as you described, doesn't work at all, nor does two finger scrolling. Seems as if there is no multi touch support at all.

     
  • Janek Bevendorff

    Argh, this stupid bug tracker has messed up the whole xinput output, but I guess you can ready it anyway.

     
  • Favux

    Favux - 2011-09-23

    The xinput list output looks correct. Because you see stylus and eraser being appended to the parent device Pen and pad and touch to the parent device Finger. You can confirm that if you see the same Wacom input tool output with:
    xsetwacom list

    So it appears your 50-wacom.conf in xorg.conf.d is correctly matching the tablet to xf86-input-wacom. Given that the evdev driver shouldn't cause a problem.

    Let's check what version of xf86-input-wacom you have installed with:
    xsetwacom -V

    You can also see what your stylus etc. settings are by using:
    xsetwacom get 10 all

    Changing the ID # for each tool or using the "device name" with quotes.

     
  • Janek Bevendorff

    Yes, xsetwacom list, also shows all four devices:

    Wacom BambooFun 2FG 4x5 Pen stylus id: 10 type: STYLUS
    Wacom BambooFun 2FG 4x5 Finger touch id: 11 type: TOUCH
    Wacom BambooFun 2FG 4x5 Pen eraser id: 13 type: ERASER
    Wacom BambooFun 2FG 4x5 Finger pad id: 14 type: PAD

    My xf86-input-wacom is 0.11.99 which is the latest Git. But also version 0.11.1, which is the latest version in Portage, does have the problems.

    xsetwacom get 10 all outputs:

    Option "Area" "0 404 14720 8280"
    'Button' requires exactly 1 value(s).
    Option "ToolDebugLevel" "0"
    Option "TabletDebugLevel" "0"
    Option "Suppress" "2"
    Option "RawSample" "4"
    Option "PressureCurve" "0 0 100 100"
    Option "Mode" "Absolute"
    Option "TabletPCButton" "off"
    Option "Touch" "off"
    Option "Gesture" "off"
    Option "ZoomDistance" "50"
    Option "ScrollDistance" "20"
    Option "TapTime" "250"
    Property 'Wacom Proximity Threshold' does not exist on device.
    Option "Rotate" "none"
    Property 'Wacom Wheel Buttons' does not exist on device.
    Property 'Wacom Wheel Buttons' does not exist on device.
    Property 'Wacom Wheel Buttons' does not exist on device.
    Property 'Wacom Wheel Buttons' does not exist on device.
    Property 'Wacom Strip Buttons' does not exist on device.
    Property 'Wacom Strip Buttons' does not exist on device.
    Property 'Wacom Strip Buttons' does not exist on device.
    Property 'Wacom Strip Buttons' does not exist on device.
    Option "Threshold" "27"
    Option "ToolID" "239"
    Option "ToolSerial" "0"
    Option "ToolSerialPrevious" "0"
    Option "BindToSerial" "0"
    Option "TabletID" "209"

     
  • Janek Bevendorff

    And here for the other three (sorry, forgot them):

    $ xsetwacom get 11 all
    Option "Area" "0 0 480 319"
    'Button' requires exactly 1 value(s).
    Option "ToolDebugLevel" "0"
    Option "TabletDebugLevel" "0"
    Option "Suppress" "2"
    Option "RawSample" "4"
    Option "PressureCurve" "0 0 100 100"
    Option "Mode" "Absolute"
    Property 'Wacom Hover Click' does not exist on device.
    Option "Touch" "on"
    Option "Gesture" "on"
    Option "ZoomDistance" "50"
    Option "ScrollDistance" "20"
    Option "TapTime" "20"
    Property 'Wacom Proximity Threshold' does not exist on device.
    Option "Rotate" "none"
    Property 'Wacom Wheel Buttons' does not exist on device.
    Property 'Wacom Wheel Buttons' does not exist on device.
    Property 'Wacom Wheel Buttons' does not exist on device.
    Property 'Wacom Wheel Buttons' does not exist on device.
    Property 'Wacom Strip Buttons' does not exist on device.
    Property 'Wacom Strip Buttons' does not exist on device.
    Property 'Wacom Strip Buttons' does not exist on device.
    Property 'Wacom Strip Buttons' does not exist on device.
    Option "Threshold" "27"
    Option "ToolID" "266"
    Option "ToolSerial" "0"
    Option "ToolSerialPrevious" "1"
    Option "BindToSerial" "0"
    Option "TabletID" "209"

    $ xsetwacom get 13 all
    Option "Area" "0 404 14720 8280"
    'Button' requires exactly 1 value(s).
    Option "ToolDebugLevel" "0"
    Option "TabletDebugLevel" "0"
    Option "Suppress" "2"
    Option "RawSample" "4"
    Option "PressureCurve" "0 0 100 100"
    Option "Mode" "Absolute"
    Property 'Wacom Hover Click' does not exist on device.
    Option "Touch" "off"
    Option "Gesture" "off"
    Option "ZoomDistance" "50"
    Option "ScrollDistance" "20"
    Option "TapTime" "250"
    Property 'Wacom Proximity Threshold' does not exist on device.
    Option "Rotate" "none"
    Property 'Wacom Wheel Buttons' does not exist on device.
    Property 'Wacom Wheel Buttons' does not exist on device.
    Property 'Wacom Wheel Buttons' does not exist on device.
    Property 'Wacom Wheel Buttons' does not exist on device.
    Property 'Wacom Strip Buttons' does not exist on device.
    Property 'Wacom Strip Buttons' does not exist on device.
    Property 'Wacom Strip Buttons' does not exist on device.
    Property 'Wacom Strip Buttons' does not exist on device.
    Option "Threshold" "54"
    Option "ToolID" "287"
    Option "ToolSerial" "0"
    Option "ToolSerialPrevious" "0"
    Option "BindToSerial" "0"
    Option "TabletID" "209"

    $ xsetwacom get 14 all
    Property 'Wacom Tablet Area' does not exist on device.
    'Button' requires exactly 1 value(s).
    Option "ToolDebugLevel" "0"
    Option "TabletDebugLevel" "0"
    Option "Suppress" "2"
    Option "RawSample" "4"
    Property 'Wacom Pressurecurve' does not exist on device.
    Option "Mode" "Absolute"
    Property 'Wacom Hover Click' does not exist on device.
    Option "Touch" "on"
    Option "Gesture" "on"
    Option "ZoomDistance" "50"
    Option "ScrollDistance" "20"
    Option "TapTime" "250"
    Property 'Wacom Proximity Threshold' does not exist on device.
    Option "Rotate" "none"
    Option "RelWheelUp" "button +15 "
    Option "RelWheelDown" "+16 "
    Option "AbsWheelUp" "+3 "
    Option "AbsWheelDown" "+4 "
    Option "StripLeftUp" "1"
    Option "StripLeftDown" "2"
    Option "StripRightUp" "3"
    Option "StripRightDown" "4"
    Option "Threshold" "27"
    Option "ToolID" "288"
    Option "ToolSerial" "0"
    Option "ToolSerialPrevious" "0"
    Option "BindToSerial" "0"
    Option "TabletID" "209"

     
  • Janek Bevendorff

    Oh, just noticed that Touch is set to absolute since I've updated to latest Git X driver.
    When I set it to relative, the cursor doesn't jump anymore, but I still can't click anything.

    Two finger scrolling works now with relative coordinates for touch, but in the wrong direction. When I move the fingers up, the viewport scrolls down and vice versa. Very unintuitive. Another issue with two finger scrolling is that soon as the two fingers touch the surface, the cursor jumps away (and then stays at the new position). That also happens for two finger tap for bringing up the context menu. (which of course doesn't appear since tapping with the finger still doesn't have any effect).

     
  • Favux

    Favux - 2011-09-23

    Good catch on the Mode. The driver should be setting Touch to Relative by default. The scroll is normal for Wacom. Picture it as grabbing the page with two fingers and sliding it up or down.

    So we have to figure out why a single finger double tap is not giving you a left mouse click. By the way a two finger click is one finger down and then bring the second finger down. The cursor jump has been fixed in Chris' latest round of gesture patches I think. I believe that has been committed to the Repository.

    Let's rule out that you haven't installed two xsetwacom binaries during your compiling/cloning. The xsetwacom executable should be in /usr/bin. See if there is another one in in /usr/local/bin. If there is that is probably the executable from your git cloning and is the one you want. Copy that over the one in /usr/bin. What it means is you forgot the -prefix=/usr when you ran: ./autogen.sh --prefix=/usr

    Another thing to try is in addition to:
    xsetwacom set "Wacom BambooFun 2FG 4x5 Finger touch" Mode Relative
    try adding:
    xsetwacom set "Wacom BambooFun 2FG 4x5 Finger touch" Touch on
    and maybe:
    xsetwacom set "Wacom BambooFun 2FG 4x5 Finger touch" Gesture on

     
  • Janek Bevendorff

    No redundant executables. Just one in /usr/bin. But that leas me to another idea: kde-misc/wacomtablet. That is the Kcontrol module for handling Wacom tablets. I uninstalled it and removed ~/.kde4/share/config/kcminputrc and now it works. But as soon as I reinstall it, all the problems come back. But without the module I have no unwanted drag operations anymore, taping with finger now invokes a click event. That#s a pity, because this module is very convenient, but it seems to break everything.

    But...
    when using the finger mouse movement is still very jaggy. The cursor still doesn't move smoothly but in fixed steps, which makes it nearly impossible to hit any button on my big screen.

    Two finger tap for context menu only works when I first tap with one finger and then with the second one. Tapping with both at the same time isn't possible. So generally two finger tap works, but it is not very comfortable. And though the biggest issues are solved, the cursor is still a bit jumpy, especially when it comes to two finger gestures. Using multi touch functionality is always a bit tricky and not as convenient as on Windows. Unwanted clicks, selections or drag operations are still very likely.

    And I also find the scrolling behavior not very intuitive. On Windows it is definitely the other way round: when I drag the fingers down, the page scrolls down, when I drag the finger upwards, the page scrolls up. I have never seen this weird scrolling behavior before.

     
  • Favux

    Favux - 2011-09-23

    That's unfortunate because the Wacom Tablet KCModule is much more capable than the new Wacom Tablet cpanel applet that just arrived in GNOME 3.2. When it works. File a bug report on it. I know the developer is active because we talked about trying to update its button implementation for the Pad a couple of months ago.

    I have no objection to reversing the scroll. File a Feature Requests on the Tracker and/or post on linuxwacom-discuss. At least one more important gesture patch by Chris is pending. That one greatly improves scrolling and zoom with my testing of the first version. Peter and Chris decided Chris needed to rework some of the driver's code flow and that's the hang up. But it should be in the repository shortly.

    I thought the cursor jump had been addressed or at least reduced in one of the patches. Maybe in the merge of Chris' gesture branch? But I haven't checked. I don't know what's going on with the jaggy cursor. Have you tried adjusting the RawSample parameter (man xsetwacom)?

     
  • Janek Bevendorff

    Okay, detected another issue now concerning text selection. Double tap and drag with the finger to select text doesn't work.
    Tap and drag with the pen to select text does work, but in Chromium it produces ugly boxy gray artifacts, the screen flickers and after a while X becomes completely unresponsive or kills the X sessions. I couldn't reproduce it on all websites, but e.g. on this: http://gtk-apps.org/content/show.php/Wacom+Control+Panel?content=104309
    Chromium version is 14.0.835.163.

    Another issue with selection or drag&drop is that it is hard to cancel the action. I often have to tap twice to get rid of the selection or abort drag&drop.

    For the jaggy cursor I have set RawSample to any value between 1 and 20, but that has no effect. The jagginess isn't noticeable when moving fast, but when you try to move the mouse slowly to precisely position the cursor, you should notice that it only moves in fixed steps as if it were bound to a grid or so. If you can't reproduce it, maybe it has to do with my TwinView multi monitor setup (one WXGA screen and one WQHD screen).

     
  • Janek Bevendorff

    Sorry, too fast. The X freeze issue on the web page is not a xf86-input-wacom specific issue but seems to be a general bug in Chromium or X or whatever.

    And the WXGA screen is actually an SXGA screen, but that shouldn't be important. :-)

     
  • Favux

    Favux - 2011-09-23

    TwinView setup? That's likely an important tidbit. Given your grid like description of the touch cursor behavior that sounds like a limit of the hardware. If you investigate in Xorg.0.log in /var/log the touch resolution is far less than the digitizer's resolution. Have you tried using MapToOutput to place it on one Montior? Oh never mind, you'd need a CTM if you are using Nvidia. Peter's patches for that are still in progress. See "Dual and Multi-Monitor Set Up" in the mediawiki's HOW TO page.

    As for the rest you have rapidly escalated from basic issues to fine tuning. Some are likely to be due to the Wacom drivers but others could be browser or Qt issues, etc. So try to delineate them and if so moved file as separate bug reports and/or post on linuxwacom-discuss.

     
  • Janek Bevendorff

    Set MapToOutput for the finger input has no effect. It has only an effect for the pen. But I don't need it for the pen since its movement is nice and smooth.
    I tried disabling the second monitor, but with the finger the cursor is still jaggy.

     
  • Favux

    Favux - 2011-09-24

    You should be able to apply MapToOutput to touch also since it is also on the Wacom driver.

    I'm in Kubuntu 11.04 right now and have no problem with the cursor tracking. I can place it wherever I want and single finger double click in place to open or close what I want even on this non-touch optimized interface. Of course I'm dealing with a 1920x1080 monitor.

    I'm trying to think what else the problem could be. Does sound like it could be a filter problem. A source of electromagnetic interference would affect the stylus too so I think that's ruled out. Did you say if touch worked OK in Windows?

    I just noticed I had old xinput Device Accel settings in my xsetwacom start up script. But if anything that should make touch worse I would think. And my Kubuntu install is 32-bit.

     
  • Janek Bevendorff

    I've now set MapToOutput to HEAD-1 (which is the small monitor) for all four input methods, but the setting only has an effect for the pen and eraser but is ignored for touch and pad.
    I'm also not able to change the mode anymore. I tried setting the mode for touch to absolute to check whether that could be the reason, but also that has no effect. The last time I set it with the KCModule, and that worked (although it broke all the other stuff) but now with xsetwacom I'm not able to change these settings. They are set, but have no effect.

    And yes, touch worked fine in Windows. I also had a VM setup where I had a Windows guest in which the driver was installed (no driver on the host) so that the VM had to pass through the raw USB data stream and even that worked.

     
  • Janek Bevendorff

    The KCModule bug could be solved. See here: https://bugs.kde.org/show_bug.cgi?id=282676

    That means the only problems left are the inaccurate and jaggy cursor movement and some cursor jumpiness for touch input as well as that I can't double tap and hold with the finger to perform a text selection or drag&drop operation.

     
  • Favux

    Favux - 2011-09-24

    Your likely correct and that with something set to Relative Mode you can't use MapToOutput. I didn't think that through. Not sure why you can't change touch back to Absolute though. Is your Gentoo release on Gnome3?

    Great, thanks for that KCModule bug report. And lo and behold it's because he fixed a xsetwacom button command. :)

    Sorry about being dense. Now I get it, you are asking about Copy & Paste function for touch. Well if I recall correctly that took iOS and Android quite a while to implement. So that is not a trivial thing to code and is not currently supported. That's a Features request for sure. I don't even know if Synaptic or maybe evdev is thinking about implementing Copy & Paste upstream. If they are you could then try setting touch up on those drivers.

    So we're down to the jaggy cursor and you have my guess on that. And the cursor jumpiness is being addressed as I mentioned. I'm also wondering if you're looking at some distro i.e. Gentoo specific problem for both of those.

     
  • Janek Bevendorff

    Not copy&paste but drag&drop. I.e. selecting text or dragging objects around. That is possible with each normal notebook touch pad and of course also with the Windows driver, but I'm not able to do so with the Linux driver. The gesture would be double tap, then hold and drag. But currently selecting text or dragging objects is only possible with the pen.

    And no, Gentoo isn't on Gnome3. A plain Gentoo installation has no desktop environment at all. That means the KDE I have is more or less a plain KDE.

    Anything I can do about the cursor movement? I mean, touch is not so important, but that doesn't mean I don't bother about it.

     
  • Ping Cheng

    Ping Cheng - 2015-11-24
    • status: open --> closed-out-of-date
    • Group: --> Production
     

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks