Bug 477752 - Allow assigning shortcuts to tablets' touch rings
Summary: Allow assigning shortcuts to tablets' touch rings
Status: RESOLVED FIXED
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_tablet (other bugs)
Version First Reported In: unspecified
Platform: Other Linux
: NOR wishlist
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-11-30 06:06 UTC by Raghavendra kamath
Modified: 2025-11-06 11:02 UTC (History)
10 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments
screenshot showing the touch ring configuration under x11 (82.55 KB, image/png)
2023-11-30 06:08 UTC, Raghavendra kamath
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Raghavendra kamath 2023-11-30 06:06:49 UTC
SUMMARY
Various graphic tablets have a touch ring on one side along with the buttons. Artists use this ring to assign keys to this ring's touch rotation, for example a key is assigned to clockwise and another for counter clockwise touch rotation. This helps is getting more natural actions in dedicated application like brush reszies in krita, zoom in zoom out in image viewer or just scrolling on firefox.

Current kcm doesn't even list these rings and there is no way to assign shortcut for these.

STEPS TO REPRODUCE
1. Connect a tablet which has a touch ring in it
2. Go to tablet kcm under wayland and try to assign or change the shortcut for this.


I am also attaching a screenshot of earlier tablet kcm where this ring is shown and there are entries to change shortcut for this.
Comment 1 Raghavendra kamath 2023-11-30 06:08:59 UTC
Created attachment 163637 [details]
screenshot showing the touch ring configuration under x11
Comment 2 Nicolas Fella 2025-04-01 13:21:39 UTC
See my comment in https://bugs.kde.org/show_bug.cgi?id=477787#c4

Replicating what we have on X11 would be possible, but apps directly supporting touch rings would improve the UX around it
Comment 3 Bug Janitor Service 2025-07-06 23:09:03 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/3098
Comment 4 Bug Janitor Service 2025-07-06 23:09:54 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/7879
Comment 5 Joshua Goins 2025-08-28 13:45:31 UTC
Git commit 33ef5e79b8be6a26efc9a1f891d2c1b97e6a860d by Joshua Goins.
Committed on 28/08/2025 at 13:14.
Pushed by redstrate into branch 'master'.

ButtonsRebindsFilter: Add support for rebinding to tablet touch rings

This is specifically for the touch rings seen on Wacom tablets. How they
work is that can they switch "modes" (which is already handled) and each
mode can have it's own rebind. This is only for rings and eventually
strips, so fortunately we do not have to retroactively add mode support
for our bindings.

Libinput only gives us ring positions in degrees, and leaves the
interpretation up to us. I have to add some extra state to
ButtonRebindsFilter to keep track of the initial ring position, but I
think it works well enough for now.

To add to the complexity a bit, I added a way to configure the
"sensitivity" or "speed" of axis keybinds which is really only useful
for rings. This does break existing axis keybinds for dials, but no one
but developers (like me) would have set any at this point.

M  +45   -1    autotests/integration/buttonrebind_test.cpp
M  +1    -0    autotests/integration/kwin_wayland_test.h
M  +6    -0    autotests/integration/test_helpers.cpp
M  +67   -12   src/plugins/buttonrebinds/buttonrebindsfilter.cpp
M  +7    -5    src/plugins/buttonrebinds/buttonrebindsfilter.h

https://invent.kde.org/plasma/kwin/-/commit/33ef5e79b8be6a26efc9a1f891d2c1b97e6a860d
Comment 6 Joshua Goins 2025-08-30 18:59:50 UTC
Git commit 33813235747e3b601f3643e25a22d85fa50c7b00 by Joshua Goins.
Committed on 30/08/2025 at 17:12.
Pushed by redstrate into branch 'master'.

kcms/tablet: Allow assigning shortcuts to tablet touch rings

This exposes UI to rebind touch rings, like those seen on Wacom tablets.
They are most similar to dials, where you can: disable them, use as a
scroll wheel or bind to two arbitrary keybinds.
VERSION-FIXED-IN: 6.5.0

M  +1    -0    kcms/libkwindevices/inputdevice.cpp
M  +22   -0    kcms/libkwindevices/inputdevice.h
M  +14   -4    kcms/tablet/inputsequence.cpp
M  +11   -0    kcms/tablet/inputsequence.h
M  +55   -25   kcms/tablet/kcmtablet.cpp
M  +3    -1    kcms/tablet/kcmtablet.h
M  +18   -3    kcms/tablet/ui/ActionDialog.qml
M  +67   -0    kcms/tablet/ui/PadTab.qml

https://invent.kde.org/plasma/plasma-desktop/-/commit/33813235747e3b601f3643e25a22d85fa50c7b00
Comment 7 Melvin Vermeeren 2025-11-06 11:02:47 UTC
Hi all,

I recently got the update for Plasma 6.5.1 on my distribution and had been looking forward to testing touch ring mouse scrolling again with a Wacom Intuos Pro L PTH-860. I observe the following.

1. Touch direction for scrolling is inverted compared to the X11 implementation I used for many years. X11 has clockwise=down, counterclockwise=up. This seems not configurable currently.

2. More importantly: Scrolling is hyper sensitive. The smallest detectable input on the touch ring turns into the equivalent of at least 5 mouse scrolls with a regular mouse with default settings. Scrolling through a quarter of the touch ring (so a quarter-circle motion) is equivalent to about 7 page up/down keypresses. Unlike the keyboard keys option there seems to be no option to configure the scrolling speed and the default being so sensitive makes is realistically unusable and incredibly jerky.

Could someone else also share their experience? Perhaps it is specific to my tablet or config somehow?

Thanks!