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.
OpenPGP_signature
Description: OpenPGP digital signature