[PATCH v5 0/6] Implement virtio-multitouch and enable GTK3 to use it

Sergio Lopez posted 6 patches 10 months, 1 week ago
Failed in applying to current master (apply log)
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(-)
[PATCH v5 0/6] Implement virtio-multitouch and enable GTK3 to use it
Posted by Sergio Lopez 10 months, 1 week ago
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