Xpra-org / xpra

Persistent remote applications for X11; screen sharing for X11, MacOS and MSWindows.
https://xpra.org/
GNU General Public License v2.0
1.91k stars 164 forks source link

touch device support #1615

Open totaam opened 7 years ago

totaam commented 7 years ago

Follow up from #1611, see also #173.

Most useful for the HTML5 client (support for precise wheel events added in #1797), which can listen for touch events, suppress the regular clicks and use the new API instead. We'll probably need to create a uinput touch device, udev rules, etc..

Platform support is going to be "interesting": Understanding touch events as every browser does something slightly different..

totaam commented 6 years ago

Lots of support code and fixes (may backport some) in r18916, see commit message for details.

TODO:

As for browser support, here are some tests: Touch/pointer tests and demos but my tablet isn't seen as a touch device by chrome..

totaam commented 6 years ago

The "Xpra Virtual Touchpad" device is working and enabled as of r18918 (just needed to figure out the magic incantation for uinput) r18928 allows us to disable the "touchpad" and "pointer" virtual device initialization individually. We normalize the coordinates using the virtual screen size, maybe this should be using the client's screen size instead? Or some other reliable unit?

New TODO:

totaam commented 6 years ago

This needs more work, so r19051 disables the touchpad emulation by default, for now.

totaam commented 6 years ago

See also Input Device Capabilities: This causes problems for developers when supporting both mouse and touch input. It's difficult to know if a mousedown event actually represents new input from a mouse, or is just a compatibility event for a previously-processed touchstart event. - probably doesn't apply to us since we preventDefault().

totaam commented 5 years ago

See also #2073

totaam commented 8 months ago

For shadow sessions, see #3831