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
Sorry, I confused OBSERVERD and EXPECTED result here. Should be swapped.
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.