Hi there,

I implemented passing touch events from dom0 to guest vms. This code allowed me to scroll pages with my finger in Chromium with no additional configuration, 'xinput text-xi2' reports touch events in vms. The implementation is split across 3 repos:

https://github.com/a-barinov/qubes-gui-common.git
- Adds touch evens support to the qubes gui protocol
- Bumps protocol version to 1.4

https://github.com/a-barinov/qubes-gui-daemon.git
- Adds touch events processing to qubes-guid
- Does not (yet) support passing touch pressure or touchscreen buttons (e.g. stylus with buttons) to vms, this shall be relatively easy to add though.
- introduces new dependency to xinput. I hacked this into Makefile (-lXi), not sure if 'pkg-config --libs Xi' is needed instead. I have no idea how to add this dependency to build-depends for deb or rpm so I just installed xinput-dev to the build environment.

https://github.com/a-barinov/qubes-gui-agent-linux.git
- Adds touch event processing on vm side
- Does not yet support multitouch, touch pressure or touch buttons
- Initial goal was to add touchscreen emulation to xf86-input-mfndev. This turned out to bee pretty difficult (almost no into on how to write a new touchscreen x11 driver) so I opted to just focus the recipient window through the driver and create an evdev touchscreen device instead.
- Touchscreen device uses the same resolution as X server on vm startup; no dynamic reconfiguration is supported
-
introduces new dependencies to libevdev and libevemu. I hacked this into Makefile, not sure if pkg-config is needed instead.
- This implementation requires xserver-xorg-input-libinput (debian package name) to be installed in vms for X server to see the touchscreen. I have not added this as recommended or required package dependency.

Notes for all repos:
- All the changes are ifdef'ed with '#ifdef XI2'. Removing '#define XI2' will fall back to the original code
- My touchscreen device (GPD Win2) died at the end of this development. Touch pressure and stylus buttons support will be added after I get a new laptop.

Happy to receive any feedback as I'm keen to see guest touchscreen support mainlined into qubes.

--
Kind regards,
Alex

--
You received this message because you are subscribed to the Google Groups "qubes-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email to qubes-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/qubes-devel/1a1d93f7-0df3-4f83-27b8-9a7ea4769fe6%40gmail.com.

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

Reply via email to