EQMP
{
- .name = "input-send-event",
- .args_type = "console:i,events:q",
- .mhandler.cmd_new = qmp_marshal_input_input_send_event,
+ .name = "x-input-send-event",
+ .args_type = "console:i?,events:q",
+ .mhandler.cmd_new = qmp_marshal_input_x_input_send_event,
},
SQMP
-@input-send-event
+@x-input-send-event
-----------------
Send input event to guest.
Arguments:
-- "console": console index.
+- "console": console index. (json-int, optional)
- "events": list of input events.
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" } } } }
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" } } },
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 } } ] } }