On 11/07/2014 05:41 AM, Amos Kong wrote: > The 'QemuConsole' is the input source for handler, we share some > input handlers to process the input events from different QemuConsole. > > Normally we only have one set of keyboard, mouse, usbtablet, etc. > The devices have different mask, it's fine to just checking mask to > insure that the handler has the ability to process the event. > > I saw we try to bind console to handler in usb/dev-hid.c, but display > always isn't available at that time. > > If we have multiseat setup (as Gerd said), we only have 'problem' in > this case. Actually event from different devices have the same effect > for system, it's fine to always use the first available handler > without caring about the console. > > For send-key command, we just pass a NULL for console parameter in > calling qemu_input_event_send_key(NULL, ..), but 'input-send-event' > needs to care more devices. > > Conclusion: > Generally assigning the special console is meanless, and we can't s/meanless/meaningless/ > directly remove the QMP parameter for compatibility. > > So we can make the parameter optional. The parameter might be useful > for some special condition: we have multiple devices without binding > console and they all have the ability(mask) to process events, and > we don't want to use the first one. > > Cc: Gerd Hoffmann > Cc: Markus Armbruster > Cc: Marcelo Tosatti > Signed-off-by: Amos Kong > --- > qapi-schema.json | 4 ++-- > qmp-commands.hx | 4 ++-- > ui/input.c | 15 +++++++++------ > 3 files changed, 13 insertions(+), 10 deletions(-) > > diff --git a/qapi-schema.json b/qapi-schema.json > index a1573d8..367fb8e 100644 > --- a/qapi-schema.json > +++ b/qapi-schema.json > @@ -3249,7 +3249,7 @@ > # > # Send input event(s) to guest. > # > -# @console: Which console to send event(s) to. > +# @console: #optional console to send event(s) to. Might be worth mentioning that the default is the first available console. The change is safe from back-compat perspective. Reviewed-by: Eric Blake -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org