diff --git a/qapi-schema.json b/qapi-schema.json index d0926d95f65a..9ffdcf8e85f3 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 8812401b679d..718dd92f6a27 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 37ff46fc5557..7ba99e56b1c0 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;