summary refs log tree commit diff stats
path: root/qmp-commands.hx
diff options
context:
space:
mode:
authorAmos Kong <akong@redhat.com>2012-08-31 10:56:26 +0800
committerLuiz Capitulino <lcapitulino@redhat.com>2012-09-05 15:48:57 -0300
commite4c8f004c55d9da3eae3e14df740238bf805b5d6 (patch)
tree15dfdb6d109c4d093fa08e4f7fa79bfbaf29c6b1 /qmp-commands.hx
parent1048c88f03545fa42bdebb077871a743a614d2ab (diff)
downloadfocaccia-qemu-e4c8f004c55d9da3eae3e14df740238bf805b5d6.tar.gz
focaccia-qemu-e4c8f004c55d9da3eae3e14df740238bf805b5d6.zip
qapi: convert sendkey
Convert 'sendkey' to use QAPI.

QAPI passes key's index of mapping table to qmp_send_key(),
not keycode. So we use help functions to convert key/code to
index of key_defs, and 'index' will be converted to 'keycode'
inside qmp_send_key().

For qmp, QAPI would check invalid key and raise error.
For hmp, invalid key is checked in hmp_send_key().

'send-key' of QMP doesn't support key in hexadecimal format.

Signed-off-by: Amos Kong <akong@redhat.com>
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Diffstat (limited to 'qmp-commands.hx')
-rw-r--r--qmp-commands.hx28
1 files changed, 28 insertions, 0 deletions
diff --git a/qmp-commands.hx b/qmp-commands.hx
index 3745a21199..470f08ed99 100644
--- a/qmp-commands.hx
+++ b/qmp-commands.hx
@@ -335,6 +335,34 @@ Example:
 EQMP
 
     {
+        .name       = "send-key",
+        .args_type  = "keys:O,hold-time:i?",
+        .mhandler.cmd_new = qmp_marshal_input_send_key,
+    },
+
+SQMP
+send-key
+----------
+
+Send keys to VM.
+
+Arguments:
+
+keys array:
+    - "key": key sequence (a json-array of key enum values)
+
+- hold-time: time to delay key up events, milliseconds. Defaults to 100
+             (json-int, optional)
+
+Example:
+
+-> { "execute": "send-key",
+     "arguments": { 'keys': [ 'ctrl', 'alt', 'delete' ] } }
+<- { "return": {} }
+
+EQMP
+
+    {
         .name       = "cpu",
         .args_type  = "index:i",
         .mhandler.cmd_new = qmp_marshal_input_cpu,