Bug 494996 - Requesting NO Touch Capability captures touch events
Summary: Requesting NO Touch Capability captures touch events
Status: REPORTED
Alias: None
Product: xdg-desktop-portal-kde
Classification: Plasma
Component: general (show other bugs)
Version: 6.2.1
Platform: Fedora RPMs Linux
: NOR normal
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-10-18 14:36 UTC by ferdinandschober20@gmail.com
Modified: 2024-12-16 14:16 UTC (History)
3 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description ferdinandschober20@gmail.com 2024-10-18 14:36:56 UTC
SUMMARY

Using org.freedesktop.portal.InputCapture.CreateSession to create an input capture session without Touch capabilities still results in touch input being captured.

More details over at https://github.com/feschber/lan-mouse/issues/216.

STEPS TO REPRODUCE
1. Clone https://github.com/feschber/lan-mouse
2. Apply this (https://github.com/feschber/lan-mouse/issues/216#issuecomment-2412095179) patch to disable touch input capabilities.
3. Start an input-capture debug session using
```sh
cargo run -- --test-capture --capture-backend input-capture-portal
```
4. Move the cursor into any display edge.

OBSERVED RESULT

Touch input should be available to the host system.

EXPECTED RESULT

Touch input is captured (i.e. touch inputs are ignored)

SOFTWARE/OS VERSIONS
See https://github.com/feschber/lan-mouse/issues/216

ADDITIONAL INFORMATION
Comment 1 ferdinandschober20@gmail.com 2024-10-18 14:39:03 UTC
Sorry, I confused OBSERVERD and EXPECTED result here. Should be swapped.
Comment 2 David Redondo 2024-12-16 14:16:45 UTC
I am not sure this is how it is supposed to work. I think the capabilities is about what the impl can provide to you and what you can consume and then expect. 

I think it also results in a better UX. What happens if you capture Pointer but not keyboard? I can still use it on the main PC but not move the focus anywhere with the mouse because it is captured. How would a capture look like that does the reverse, capture keyboard when the pointer crosses the barrier but not the pointer. I think you can get into situations that are confusing to the user very quick.
So I think blocking everything on the host when a capture starts makes sense.