Testing and tablet ring/strips on 6.4.90 (6.5)

Not sure where the right place to discuss this is. Also not sure if this is a KDE issue or a libwacom issue. It’s documentation isn’t very comprehensive.

So I’m currently testing 2 tablets on the 6.5 beta release (6.4.90), a Wacom Intuos Pro M and a Huion Kamvas Pro 13.

The Wacom shows up with the rings when I go to the Pad tab in tablet settings, but no matter what I set them to they aren’t recognized. (I did set all of them to scroll wheel just to see if I could get that to work outside of Krita. Also tried assigning various keys also with no luck.) When I go to Test to see if anything registers, everything about the tablet works and shows output with the exception of the touch ring.

libwacom-list-local-devices shows all the features properly, and evtest shows output from the device:

[higgins@gildas ~]$ sudo evtest /dev/input/event8
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x56a product 0x357 version 0x110
Input device name: "Wacom Intuos Pro M Pad"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 256 (BTN_0)
    Event code 257 (BTN_1)
    Event code 258 (BTN_2)
    Event code 259 (BTN_3)
    Event code 260 (BTN_4)
    Event code 261 (BTN_5)
    Event code 262 (BTN_6)
    Event code 263 (BTN_7)
    Event code 264 (BTN_8)
    Event code 331 (BTN_STYLUS)
  Event type 3 (EV_ABS)
    Event code 0 (ABS_X)
      Value      0
      Min        0
      Max        1
    Event code 1 (ABS_Y)
      Value      0
      Min        0
      Max        1
    Event code 8 (ABS_WHEEL)
      Value      0
      Min        0
      Max       71
      Resolution      11
    Event code 40 (ABS_MISC)
      Value      0
      Min        0
      Max        0
Properties:
Testing ... (interrupt to exit)
Event: time 1758380503.650775, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 66
Event: time 1758380503.650775, type 3 (EV_ABS), code 40 (ABS_MISC), value 15
Event: time 1758380503.650775, -------------- SYN_REPORT ------------
Event: time 1758380503.730804, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 65
Event: time 1758380503.730804, -------------- SYN_REPORT ------------
Event: time 1758380503.770712, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 66
Event: time 1758380503.770712, -------------- SYN_REPORT ------------
Event: time 1758380503.810843, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 68
Event: time 1758380503.810843, -------------- SYN_REPORT ------------
Event: time 1758380503.850645, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 70
Event: time 1758380503.850645, -------------- SYN_REPORT ------------
Event: time 1758380503.890737, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 1
Event: time 1758380503.890737, -------------- SYN_REPORT ------------
Event: time 1758380503.930669, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 4
Event: time 1758380503.930669, -------------- SYN_REPORT ------------
Event: time 1758380503.970752, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 6
Event: time 1758380503.970752, -------------- SYN_REPORT ------------
Event: time 1758380504.010817, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 8
Event: time 1758380504.010817, -------------- SYN_REPORT ------------
Event: time 1758380504.050881, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 10
Event: time 1758380504.050881, -------------- SYN_REPORT ------------
Event: time 1758380504.090778, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 14
Event: time 1758380504.090778, -------------- SYN_REPORT ------------
Event: time 1758380504.130877, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 16
Event: time 1758380504.130877, -------------- SYN_REPORT ------------
Event: time 1758380504.410860, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 17
Event: time 1758380504.410860, -------------- SYN_REPORT ------------
Event: time 1758380504.530978, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 23
Event: time 1758380504.530978, -------------- SYN_REPORT ------------
Event: time 1758380504.570983, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 29
Event: time 1758380504.570983, -------------- SYN_REPORT ------------
Event: time 1758380504.610986, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 33
Event: time 1758380504.610986, -------------- SYN_REPORT ------------
Event: time 1758380504.650999, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 38
Event: time 1758380504.650999, -------------- SYN_REPORT ------------
Event: time 1758380504.690994, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 45
Event: time 1758380504.690994, -------------- SYN_REPORT ------------
Event: time 1758380504.730913, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 48
Event: time 1758380504.730913, -------------- SYN_REPORT ------------
...
Event: time 1758380505.971279, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 0
Event: time 1758380505.971279, type 3 (EV_ABS), code 40 (ABS_MISC), value 0
Event: time 1758380505.971279, -------------- SYN_REPORT ------------

The Huion is a similar story, I tried setting up the strip and it didn’t error out, but it doesn’t even show up in the Pad settings despite several different attempts at configuring the .tablet file. Although the KDE 6.5 highlighted features only mentions dials and rings, so not sure if touch strips were included in that or if those will be a separate thing.

I’m mostly focusing on trying to get the Wacom working first, as the touch ring is at least recognized, even if not showing input.

If any more info is needed I’d be happy to provide it. As I said above, this may very well be a libwacom issue, although the Intuos Pro M was the same model in the feature blog post.

If this is a valid issue and not me just missing something, I’ll go ahead and file a new issue on the bugs site. I couldn’t find anything related to this.

1 Like

Strips are not supported yet, they will be passed to applications but there’s no way to configure them. (I haven’t even started work on that yet.) Also, libwacom does not make the tablet magically work unfortunately. If libinput list-devices doesn’t show any detectable pad buttons, strips, rings etc that’s a driver issue.

Just to double and triple check, you are testing on the Wayland session yes? If so, the next best place to check this would be the KWin debug console. It is going to be spammy but it will help you see what is going on. Open KRunner and type in “KWin debug” and then open the “Input Events” tab. In it you’ll see the actual ring events (hopefully) but also the synthesized scroll events. (But probably not since Krita doesn’t see them.)

Strips are not supported yet, they will be passed to applications but there’s no way to configure them. (I haven’t even started work on that yet.) Also, libwacom does not make the tablet magically work unfortunately. If libinput list-devices doesn’t show any detectable pad buttons, strips, rings etc that’s a driver issue.

Okay, that makes sense. I was able to get the strip to show up in libwacom-list-local-devices but it just seems to be doing it’s best to interpret the .tablet file. It’s probably not accurate.

I did check libinput list-devices and it does not seem to recognize the ring as something it can read, even if it shows up through evtest. I am more familiar with lower level USB programming (currently working on adapting colorimeter drivers) rather than kwin so I’ll see if I can get familiar with and help add to libinput and libwacom in the meantime.

Just to double and triple check, you are testing on the Wayland session yes? If so, the next best place to check this would be the KWin debug console. It is going to be spammy but it will help you see what is going on. Open KRunner and type in “KWin debug” and then open the “Input Events” tab. In it you’ll see the actual ring events (hopefully) but also the synthesized scroll events. (But probably not since Krita doesn’t see them.)

Yes, using Wayland. The KWin debug console does show the Tablet Pad Ring with correct feedback, but there are no pseudo events regarding the mouse scroll wheel. I also tried adding keystrokes to all the ring’s functions and also there were no added events, just the Tablet Pad Ring events.

If there’s a way for me to get specific build info you need let me know. I’m currently using the kde-unstable packages on Arch, which presumably are up-to-date, but not sure if they’re actually nightlys.

1 Like

OK this is a somewhat of a dumb solution, but have you tried logging out and logging back in again? I just re-remembered there’s a bug where KWin doesn’t pick up on new bindings, so for example:

  • I set my tablet ring (whatever mode) to A, B
  • Nothing happens
  • Log out, log back in
  • Binding finally takes effect

Yup! That did the job! :slight_smile:

Now the ring works as expected. Thanks!

As an aside, I also found some relevant code in libinput regarding strips (the Huion uses ABS_RX which is currently unhandled) so I’ll poke at it and see if I can get it to be recognized on my system. At the very least I’ll get familiarized with libinput if nothing else.

1 Like