On Tue, Nov 25, 2014 at 02:54:17PM +0100, Markus Armbruster wrote: > From: Gerd Hoffmann <kra...@redhat.com> > > Ongoing discussions on how we are going to specify the console, > so tag the command as experiental so we can refine things in > the 2.3 development cycle. > > Signed-off-by: Gerd Hoffmann <kra...@redhat.com> > [Spell out "not a stable API", and x- the QAPI schema, too] > Signed-off-by: Markus Armbruster <arm...@redhat.com> > > Signed-off-by: Markus Armbruster <arm...@redhat.com> > --- > I would've ripped out the command entirely, but Gerd's approach works > for me, too. Since time for -rc3 is running out, I'm respinning his > patch with my and Amos's review comments worked in. Hope that's okay. > > We should also pick Amos's "[PATCH] qmp: fix typo in input-send-event > examples".
Reviewed-by: Amos Kong <ak...@redhat.com> > qapi-schema.json | 6 ++++-- > qmp-commands.hx | 16 +++++++++------- > ui/input.c | 4 ++-- > 3 files changed, 15 insertions(+), 11 deletions(-) > > diff --git a/qapi-schema.json b/qapi-schema.json > index d0926d9..9ffdcf8 100644 > --- a/qapi-schema.json > +++ b/qapi-schema.json > @@ -3245,7 +3245,7 @@ > 'abs' : 'InputMoveEvent' } } > > ## > -# @input-send-event > +# @x-input-send-event > # > # Send input event(s) to guest. > # > @@ -3257,8 +3257,10 @@ > # > # Since: 2.2 > # > +# Note: this command is experimental, and not a stable API. > +# > ## > -{ 'command': 'input-send-event', > +{ 'command': 'x-input-send-event', > 'data': { '*console':'int', 'events': [ 'InputEvent' ] } } > > ## > diff --git a/qmp-commands.hx b/qmp-commands.hx > index 8812401..718dd92 100644 > --- a/qmp-commands.hx > +++ b/qmp-commands.hx > @@ -3791,13 +3791,13 @@ Example: > EQMP > > { > - .name = "input-send-event", > + .name = "x-input-send-event", > .args_type = "console:i?,events:q", > - .mhandler.cmd_new = qmp_marshal_input_input_send_event, > + .mhandler.cmd_new = qmp_marshal_input_x_input_send_event, > }, > > SQMP > -@input-send-event > +@x-input-send-event > ----------------- > > Send input event to guest. > @@ -3811,17 +3811,19 @@ The consoles are visible in the qom tree, under > /backend/console[$index]. They have a device link and head property, so > it is possible to map which console belongs to which device and display. > > +Note: this command is experimental, and not a stable API. > + > Example (1): > > Press left mouse button. > > --> { "execute": "input-send-event", > +-> { "execute": "x-input-send-event", > "arguments": { "console": 0, > "events": [ { "type": "btn", > "data" : { "down": true, "button": "Left" } } } } > <- { "return": {} } > > --> { "execute": "input-send-event", > +-> { "execute": "x-input-send-event", > "arguments": { "console": 0, > "events": [ { "type": "btn", > "data" : { "down": false, "button": "Left" } } } } > @@ -3831,7 +3833,7 @@ Example (2): > > Press ctrl-alt-del. > > --> { "execute": "input-send-event", > +-> { "execute": "x-input-send-event", > "arguments": { "console": 0, "events": [ > { "type": "key", "data" : { "down": true, > "key": {"type": "qcode", "data": "ctrl" } } }, > @@ -3845,7 +3847,7 @@ Example (3): > > Move mouse pointer to absolute coordinates (20000, 400). > > --> { "execute": "input-send-event" , > +-> { "execute": "x-input-send-event" , > "arguments": { "console": 0, "events": [ > { "type": "abs", "data" : { "axis": "X", "value" : 20000 } }, > { "type": "abs", "data" : { "axis": "Y", "value" : 400 } } ] > } } > diff --git a/ui/input.c b/ui/input.c > index 37ff46f..7ba99e5 100644 > --- a/ui/input.c > +++ b/ui/input.c > @@ -122,8 +122,8 @@ qemu_input_find_handler(uint32_t mask, QemuConsole *con) > return NULL; > } > > -void qmp_input_send_event(bool has_console, int64_t console, > - InputEventList *events, Error **errp) > +void qmp_x_input_send_event(bool has_console, int64_t console, > + InputEventList *events, Error **errp) > { > InputEventList *e; > QemuConsole *con; > -- > 1.9.3 -- Amos.
signature.asc
Description: Digital signature