This patch series implements support for multitouch input devices in libvirt, addressing the multitouch feature request in [1].
Currently, libvirt supports various input devices including mouse, tablet, and keyboard, but lacks support for multitouch devices. This limitation prevents users from configuring VMs with proper multitouch capabilities, which is increasingly important for modern applications and touch-enabled displays. This series adds comprehensive multitouch support by: 1. Introducing the necessary data structures and enumerations to represent multitouch devices in the domain configuration 2. Extending the domain XML schema to allow users to specify multitouch input devices in their VM definitions 3. Implementing QEMU driver support to properly map multitouch devices to the virtio-input-host-multitouch QEMU device 4. Adding capability detection to identify when QEMU supports multitouch devices 5. Updating all relevant enumerations and mappings throughout the codebase to handle the new device type 6. Including test coverage to validate the XML parsing and QEMU command line generation After this series, users will be able to configure multitouch input devices in their domain XML like: <input type='multitouch' bus='virtio'/>. [1] https://gitlab.com/libvirt/libvirt/-/issues/808 Julio Faracco (8): conf: Add multitouch input type enum conf: Update the type name mapping in the VIR_ENUM_IMPL macro schemas: Update domain schema to support multitouch qemu: Add the multitouch case to map to the QEMU virtio device qemu: Add device properties for multitouch input qemu: Add the multitouch device capability Complete remaining enums with multitouch input type tests: Add multitouch support to virtio-input tests src/conf/domain_audit.c | 1 + src/conf/domain_conf.c | 2 ++ src/conf/domain_conf.h | 1 + src/conf/domain_validate.c | 1 + src/conf/schemas/domaincommon.rng | 1 + src/qemu/qemu_capabilities.c | 3 +++ src/qemu/qemu_capabilities.h | 1 + src/qemu/qemu_command.c | 8 ++++++++ src/qemu/qemu_validate.c | 5 +++++ src/security/security_dac.c | 2 ++ src/security/security_selinux.c | 2 ++ tests/qemucapabilitiesdata/caps_10.2.0_x86_64.xml | 1 + tests/qemuxmlconfdata/virtio-input.x86_64-latest.args | 1 + tests/qemuxmlconfdata/virtio-input.x86_64-latest.xml | 3 +++ tests/qemuxmlconfdata/virtio-input.xml | 1 + 15 files changed, 33 insertions(+) -- 2.52.0
