Bug 342055 - Wacom tablet (CTH-460) with xsetwacom set to relative (or anything non-default) causes the stylus to quit working within the canvas area in Krita.
Summary: Wacom tablet (CTH-460) with xsetwacom set to relative (or anything non-defaul...
Status: RESOLVED LATER
Alias: None
Product: krita
Classification: Applications
Component: Tablets (tablet issues are only very rarely bugs in Krita!) (show other bugs)
Version: 2.8.1
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords: usability
: 341396 (view as bug list)
Depends on:
Blocks:
 
Reported: 2014-12-20 18:17 UTC by databin
Modified: 2015-01-12 15:20 UTC (History)
14 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description databin 2014-12-20 18:17:14 UTC
Description of problem:
If "xsetwacom" is used to change anything from the default settings (as they were set during a fresh installation of the OS) the cursor for the stylus on screen will disappear from view on first use on Krita's canvas and from that point on the cursor for the stylus will not be visible within the canvas. More importantly nothing can be painted or selected on the canvas using any of Krita's tools with the stylus at any point from start to finish of any Krita session.

Exceptions to the above:
The stylus will work if the default settings are used for the wacom tablet. The mouse will always work, and the stylus always works within the menu and tool systems outside of Krita's canvas. A reboot of the system to reset the xsetwacom settings back to default will allow the stylus to work. However the default setting for the tablet is "absolute" and its pressure curve is set to linear all of which makes this tablet very frustrating and almost impossible to be productive while working in Krita.

Specs:
Kernel: 3.13.0-43-generic
OS: Xubuntu 14.04
Desktop: XFCE 4.10
App: Krita 2.8.1
Wacom Tablet: Bamboo Pen & Touch, model #: CTH-460
Wacom API: xsetwacom 0.23.0
Wacom driver: uknown (please let me know how to retrieve this information)

If there is any other information I can provide please let me know how I can find that information first. Thanks.

Reproducible: Always

Steps to Reproduce:
1. Fresh installation of Xubuntu
2. Fresh installation of Krita
3. Change any of the settings for the tablet using the "xsetwacom" interface from a terminal. In my tests I changed the "tracking?" from "absolute" to "relative".
4. Start up Krita and try to paint a stroke using any tool within Krita using the tablet's stylus.

Actual Results:  
The cursor on the canvas disappears (will not reappear) and nothing can be painted using the stylus. The mouse will still work to paint a stroke on the canvas at this point, but the stylus will not. 

Expected Results:  
The cursor would be the correct size to represent the paint stroke, this cursor would be visible, and a stroke would have been painted using the stylus.

Command:
lsmod |grep wacom
Command Output:
wacom                  62856  0

Command:
sudo cat /proc/bus/input/devices | grep Wacom
Command Output:
N: Name="Wacom BambooPT 2FG 4x5 Pen"
N: Name="Wacom BambooPT 2FG 4x5 Finger"

Command:
sudo lsusb |grep Wacom
Command Output:
Bus 005 Device 002: ID 056a:00d6 Wacom Co., Ltd Bamboo Pen & Touch (CTH-460)

Command:
sudo lsusb -v -s 005:002
Command Output:
Bus 005 Device 002: ID 056a:00d6 Wacom Co., Ltd Bamboo Pen & Touch (CTH-460)
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x056a Wacom Co., Ltd
  idProduct          0x00d6 Bamboo Pen & Touch (CTH-460)
  bcdDevice            1.11
  iManufacturer           1 Wacom Co.,Ltd.
  iProduct                2 CTH-460
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           59
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower               98mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      2 Mouse
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.00
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength     176
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0009  1x 9 bytes
        bInterval               4
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.00
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      75
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               4
Device Status:     0x0000
  (Bus Powered)

Command:
xinput --list
Command Output:
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ Wacom BambooPT 2FG 4x5 Pen stylus       	id=8	[slave  pointer  (2)]
⎜   ↳ Wacom BambooPT 2FG 4x5 Finger touch     	id=9	[slave  pointer  (2)]
⎜   ↳ USB OPTICAL MOUSE                       	id=10	[slave  pointer  (2)]
⎜   ↳ Microsoft Natural® Ergonomic Keyboard 4000	id=12	[slave  pointer  (2)]
⎜   ↳ Wacom BambooPT 2FG 4x5 Pen eraser       	id=13	[slave  pointer  (2)]
⎜   ↳ Wacom BambooPT 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)]
    ↳ Microsoft Natural® Ergonomic Keyboard 4000	id=11	[slave  keyboard (3)]

1.) Please request any extra information by at least letting me know how to retrieve the information being requested. 
2.) If this bug report needs to be filed under something other then "tablet support" such as possibly "Brush engine", or maybe "general" can an administrator of this bug reporting system please make sure that happens if it is something that needs to happen?
Thanks.
Comment 1 databin 2014-12-20 18:28:59 UTC
In case it is useful for others trying to reproduce this bug, the way I set my tablet to relative is by the following command in a terminal:
xsetwacom --set "Wacom BambooPT 2FG 4x5 Pen stylus" mode Relative

See Original Post for hardware information about my tablet.
Comment 2 Halla Rempt 2014-12-20 19:38:09 UTC
Yes, we don't support relative mode for tablets at the moment. I don't think we've currently any plans to actually go and implement that support either, I'm afraid. Changing the pressure curve without changing the settings from absolute to relative should be fine, though.
Comment 3 databin 2014-12-21 18:51:00 UTC
Thank you for the response. I have just double checked and it does appear that pressure settings using xsetwacom does allow Krita to function as it should as long as the mode is set to absolute for the tablet.

About marking this thread:
Your response suggests that this should be marked as something like "confirmed but not a bug" or something that conveys this. Should this be marked as "resolved" instead?

Questions:
Is there a way to at least get Krita to detect if relative mode is set on a device and let the user know that such a feature is not implemented? Possibly also suggesting they set the tablet to absolute mode?

Constructive Comment:
I can understand the decision to not implement the relative mode as that mode isn't very useful on touchscreen displays such as the Cintiq line from Wacom, and most professional users will have some form of a touchscreen display. However, it may be the case that this decision might at the very least make it a bit more difficult for budding artists such as children and other societal groups who can't afford such devices to reach their professional aspirations.

Krita is becoming an amazing open source project that really looks good and this will draw a lot of attention to it in the coming years. I am hopeful that such attention will draw more support and allow for features that make it more accessible to those who are just starting out.
Comment 4 Halla Rempt 2014-12-21 19:10:13 UTC
Well... I don't want to close the bug because, one day, we will have to implement support for relative mode. _If_ Qt5's tablet support is up to scratch, that could be pretty simple. Otherwise it might be really hard :-(. I like the idea of giving users a warning, but I'm not sure how to do that right now -- I have to admit, my mind currently is full with thinking of ways of making saving custom keyboard shortcuts work...
Comment 5 Halla Rempt 2014-12-23 09:24:26 UTC
*** Bug 341396 has been marked as a duplicate of this bug. ***
Comment 6 Halla Rempt 2015-01-12 15:20:14 UTC
We probably can check for this again once we've ported to Qt5.