
+ QEMU_CAPS_DEVICE_USB_KBD = 160, /*-device usb-kbd*/ +
Why this extra newline?
QEMU_CAPS_LAST, /* this must always be the last item */ }; diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 763417f..318f7a1 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -5280,9 +5280,15 @@ qemuBuildUSBInputDevStr(virDomainDefPtr def, { virBuffer buf = VIR_BUFFER_INITIALIZER;
- virBufferAsprintf(&buf, "%s,id=%s", - dev->type == VIR_DOMAIN_INPUT_TYPE_MOUSE ? - "usb-mouse" : "usb-tablet", dev->info.alias); + if (dev->type == VIR_DOMAIN_INPUT_TYPE_MOUSE) { + virBufferAsprintf(&buf, "usb-mouse,id=%s", dev->info.alias); + } else if (dev->type == VIR_DOMAIN_INPUT_TYPE_TABLET) { + virBufferAsprintf(&buf, "usb-tablet,id=%s", dev->info.alias); + } else if (dev->type == VIR_DOMAIN_INPUT_TYPE_KBD) { + if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_USB_KBD)) + goto error; + virBufferAsprintf(&buf, "usb-kbd,id=%s", dev->info.alias); + }
I would've used switch(dev->type) instead of 'if else', to make it look simple. -- Nehal J Wani