Bug 510513

Summary: applications cannot receive more than simultaneous touch events
Product: [Plasma] kwin Reporter: aeva <aeva.ntsc>
Component: GesturesAssignee: KWin default assignee <kwin-bugs-null>
Status: REPORTED ---    
Severity: normal CC: kdedev
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: screenshot of virtual midi controller application

Description aeva 2025-10-11 23:14:45 UTC
Created attachment 185707 [details]
screenshot of virtual midi controller application

I created a virtual midi controller that is designed to take full advantage of 10-point multitouch touch screens, such that the operator may play chords with up to ten fingers using a standard pair of human hands.

However, when KDE receives more than two touch events in a short interval, KDE sends two touch events, and what I assume are two touch cancel events (SDL2 does not have touch cancel events, so it gets unknown events, but they have the same event number as SDL3's touch cancel events).  This effectively renders it impossible to play more than two notes in a single chord, but also it means the two notes that did play get stuck because I haven't figured out how to handle the cancel events yet.

I am told that this is a hardcoded behavior in KWIN, and there is no way to disable this behavior.  Disabling the effects of this behavior (having only one virtual desktop, and disabling that one desktop effect) does not help the situation: the additional touch events are always withheld from the application.


STEPS TO REPRODUCE
1. simultaneously press three to ten fingers onto a multitouch touchscreen


OBSERVED RESULT

observe that KDE never propagates them to an application under any circumstances


EXPECTED RESULT IN A PERFECT WORLD

Application developer would be able to communicate to KWIN by some means that their program should receive all touch events when it has input focus.


EXPECTED RESULTS IN A FLAWED WORLD

Operator would be able to disable KWIN gestures in such a way that applications always receive all touch events instead of them being retroactively cancelled to two.


SOFTWARE/OS VERSIONS

Operating System: Fedora Linux 42
KDE Plasma Version: 6.4.5
KDE Frameworks Version: 6.18.0
Qt Version: 6.9.2
Kernel Version: 6.16.9-200.fc42.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 20 × 13th Gen Intel® Core™ i7-1370P
Memory: 64 GiB of RAM (60.5 GiB usable)
Graphics Processor: Intel® Iris® Xe Graphics
Manufacturer: Framework
Product Name: Laptop (13th Gen Intel Core)
System Version: A7


ADDITIONAL INFORMATION

My application can be found here: https://github.com/Aeva/mollytime/tree/excelsior/false_start (run pads.py after installing pygame and alsa-midi into a python virtualenv via pip.

Alternatively, https://code.benco.io/touchmidi/layouts/generic-keys.html is a similar multitouch instrument written by someone else.  It requires a web browser that supports web-midi, such as chromium.