Bug 473126 - Clicking on the Drawing Tablet KCM with a stylus makes System Settings unresponsive to other stylus clicks
Summary: Clicking on the Drawing Tablet KCM with a stylus makes System Settings unresp...
Status: RESOLVED FIXED
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_tablet (show other bugs)
Version: 5.27.8
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords: wayland
Depends on:
Blocks:
 
Reported: 2023-08-08 00:14 UTC by guimarcalsilva
Modified: 2023-10-25 22:30 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In: 6.0
Sentry Crash Report:


Attachments
Syse unresponsive to Stylus clicks (3.49 MB, video/mp4)
2023-08-08 00:18 UTC, guimarcalsilva
Details

Note You need to log in before you can comment on or make changes to this bug.
Description guimarcalsilva 2023-08-08 00:14:45 UTC
SUMMARY
Clicking on certain things with a stylus makes System Settings unresponsive to other stylus clicks. I can always reproduce it by clicking on anything from the Drawing Tablet page, after that, System Settings stops responding to any other clicks made with a stylus, and can only be interacted with with a mouse. Note that this is not the same as BUG 473125 which affects exclusively Plasma 6.

Check the attached video.

STEPS TO REPRODUCE
1. Go to the Drawing Tablets KCM
2. With a stylus (use a stylus with a drawing tablet, not a finger), click on anything on that page

OBSERVED RESULT
System Settings stops responding to stylus clicks completely. The window can only be interacted with again with a mouse.

EXPECTED RESULT
Stylus clicks should work

SOFTWARE/OS VERSIONS
Operating System: KDE neon 5.27
KDE Plasma Version: 5.27.7
KDE Frameworks Version: 5.108.0
Qt Version: 5.15.10
Kernel Version: 6.2.0-26-generic (64-bit)
Graphics Platform: Wayland
Processors: 6 × Intel® Core™ i5-9400F CPU @ 2.90GHz
Memory: 15,5 GiB of RAM
Graphics Processor: AMD Radeon RX 570 Series
Comment 1 guimarcalsilva 2023-08-08 00:18:03 UTC
Created attachment 160819 [details]
Syse unresponsive to Stylus clicks

Syse unresponsive to Stylus clicks when interacting with Drawing Tablet KCM
Comment 2 unblended_icing552 2023-09-20 14:13:52 UTC
Was about to report this exact issue. Copy-pasting because I'm lazy.

SUMMARY
System Settings doesn't respond to stylus input when Drawing Tablet page is opened. When switched to another page, System Settings responds to stylus input again. Only stylus input is affected, touch/mouse/keyboard aren't.


STEPS TO REPRODUCE
1. Use a device with IPTS Stylus (Microsoft Surface)
2. Go to System Settings -> Input Devices -> Drawing Tablet
3. Try to interact with System Settings using the stylus
4. Switch to another page (like "Keyboard")
5. Try to interact using stylus again

OBSERVED RESULT
System Settings doesn't respond to the stylus input when Drawing Tablet page is open.

EXPECTED RESULT
System Settings should respond to the stylus input regardless of which page it's currently open.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 5.27.8
KDE Frameworks Version: 5.110.0
Qt Version: 5.15.10
Kernel version: 6.5.3-1

ADDITIONAL INFORMATION
My device uses https://github.com/linux-surface/iptsd and https://github.com/linux-surface/intel-precise-touch for touch input.
Stylus is detected as "IPTS Stylus" within Drawing Tablet page.
It's Wayland session.
Comment 3 Vlad Zahorodnii 2023-10-24 11:35:16 UTC
Git commit 115ea7454b16c229bec4936b2aa30a02b113bca0 by Vlad Zahorodnii, on behalf of Aki Sakurai.
Committed on 24/10/2023 at 13:22.
Pushed by vladz into branch 'master'.

Send tablet events to every bound wl_resource

Some apps, notably Tablet KCM, will rebind the tablet interface and consume all events that should be sent to the GUI toolkit.
This commit sends events to every consumer and also stores the latest cursor indexed by wl_client instead of wl_resource.

M  +31   -5    autotests/wayland/server/test_tablet_interface.cpp
M  +117  -53   src/wayland/tablet_v2.cpp

https://invent.kde.org/plasma/kwin/-/commit/115ea7454b16c229bec4936b2aa30a02b113bca0