This series adds a virtio-multitouch device to the family of devices emulated
by virtio-input implementing the Multi-touch protocol as descripted here:
https://www.kernel.org/doc/html/latest/input/multi-touch-protocol.html?highlight=multi+touch
It also extends the GTK UI backend to be able to receive multi-touch events
and transpose them to a guest, so the latter can recognize them as gestures
when appropriate.
An example of this in action can be seen here:
https://fosstodon.org/@slp/109545849296546767
Since v4:
- Minor improvements to the documentation in qapi/ui.json (Markus).
- Rebase and collect R-b.
Since v3:
- Use MultiTouch instead of Multitouch and multi-touch instead of multitouch in
qapi/ui.json (Markus).
- Adopt documentation suggestions by Markus to qapi/ui.json.
- Adapt the references to automatically generated structs after the spelling
change.
Since v2:
- Fix InputMultitouchEvent doc in qapi/ui.json (Marc-André).
- Use warn_report() instead of fprintf() in gtk.c (Marc-André).
- Rebase and collect R-b.
Since v1:
- Split 0002 patch to implement ui, virtio-input-hid and virtio-input-pci
changes in different patches (Marc-André).
- Fix versioning in qapi/ui.json (Marc-André).
- Print a warning if touch->sequence >= INPUT_EVENT_SLOTS_MAX (Marc-André).
- Only send SYN_REPORT once, if needed (Marc-André).
- Rebase and collect R-b.
Sergio Lopez (6):
virtio-input: generalize virtio_input_key_config()
ui: add the infrastructure to support MT events
virtio-input: add a virtio-mulitouch device
virtio-input-pci: add virtio-multitouch-pci
ui: add helpers for virtio-multitouch events
ui/gtk: enable backend to send multi-touch events
hw/input/virtio-input-hid.c | 156 +++++++++++++++++++++++++++----
hw/virtio/virtio-input-pci.c | 25 ++++-
include/hw/virtio/virtio-input.h | 9 +-
include/ui/input.h | 8 ++
qapi/ui.json | 68 ++++++++++++--
replay/replay-input.c | 18 ++++
ui/gtk.c | 92 ++++++++++++++++++
ui/input.c | 42 +++++++++
ui/trace-events | 1 +
9 files changed, 382 insertions(+), 37 deletions(-)
--
2.38.1