• Amos Kong's avatar
    QMP/input-send-event: make console parameter optional · 51fc4476
    Amos Kong authored
    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
    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 <kraxel@redhat.com>
    Cc: Markus Armbruster <armbru@redhat.com>
    Cc: Marcelo Tosatti <mtosatti@redhat.com>
    Signed-off-by: default avatarAmos Kong <akong@redhat.com>
    Reviewed-by: default avatarEric Blake <eblake@redhat.com>
    Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
    51fc4476
qapi-schema.json 87 KB