Hi, This patch series adds virtio input devices. It's basically sending linux evdev events over virtio. There is support for emulated hid devices (i.e. send usual input to virtio device instead of usb or ps2 device) and for evdev device pass-through.
This depends on mst's virtio-1.0 patches. Guest driver: https://www.kraxel.org/cgit/linux/log/?h=virtio-input Specification: https://www.kraxel.org/cgit/virtio-spec/log/?h=virtio-input https://www.kraxel.org/virtio/virtio-v1.0-csprd03-virtio-input.html#x1-2640007 Gerd Hoffmann (4): pci: add PCI_CLASS_INPUT_* virtio-input: core code & base class virtio-input: emulated devices virtio-input: evdev passthrough hw/input/Makefile.objs | 6 + hw/input/virtio-input-hid.c | 482 +++++++++++++++++++++++++++++++++++++++ hw/input/virtio-input-host.c | 172 ++++++++++++++ hw/input/virtio-input.c | 284 +++++++++++++++++++++++ hw/virtio/virtio-pci.c | 150 ++++++++++++ hw/virtio/virtio-pci.h | 37 +++ include/hw/pci/pci_ids.h | 7 + include/hw/virtio/virtio-input.h | 140 ++++++++++++ include/hw/virtio/virtio.h | 1 + 9 files changed, 1279 insertions(+) create mode 100644 hw/input/virtio-input-hid.c create mode 100644 hw/input/virtio-input-host.c create mode 100644 hw/input/virtio-input.c create mode 100644 include/hw/virtio/virtio-input.h -- 1.8.3.1