----- Original Message ----- > On Thu, 5 Jul 2012 20:48:44 +0800 > Amos Kong <ak...@redhat.com> wrote: > > > Convert 'sendkey' to use QAPI. do_sendkey() depends on some > > variables/functions in monitor.c, so reserve qmp_sendkey() > > to monitor.c > > > > key_defs[] in console.h is the mapping of key name to keycode, > > Keys' index in the enmu and key_defs[] is same. > > > > 'send-key' of QMP doesn't support key in hexadecimal format. > > > > Signed-off-by: Amos Kong <ak...@redhat.com> > > --- > > console.h | 152 ++++++++++++++++++++++++++++++++++ > > hmp-commands.hx | 2 +- > > hmp.c | 64 +++++++++++++++ > > hmp.h | 1 + > > monitor.c | 239 > > ++++++------------------------------------------------ > > qapi-schema.json | 46 +++++++++++ > > qmp-commands.hx | 28 +++++++ > > 7 files changed, 317 insertions(+), 215 deletions(-)
... > > diff --git a/qapi-schema.json b/qapi-schema.json > > index 3b6e346..08e51c6 100644 > > --- a/qapi-schema.json > > +++ b/qapi-schema.json > > @@ -1862,3 +1862,49 @@ > > # Since: 0.14.0 > > ## > > { 'command': 'netdev_del', 'data': {'id': 'str'} } > > + > > +## > > +# @KeyCodes: > > s/KeyCodes/KeyCode 'KeyCode' is not an available variable name. | ./qapi-types.h:471: error: conflicting types for ‘KeyCode’ | /usr/include/X11/X.h:108: note: previous declaration of ‘KeyCode’ was here How about 'CodeOfKey'? > > +# > > +# An enumeration of key name. > > +# > > +# This is used by the send-key command. > > +# > > +# Since: 1.2 > > +## > > +{ 'enum': 'KeyCodes', > > + 'data': [ 'shift', 'shift_r', 'alt', 'alt_r', 'altgr', > > 'altgr_r', 'ctrl', > > + 'ctrl_r', 'menu', 'esc', '1', '2', '3', '4', '5', '6', > > '7', '8', > > + '9', '0', 'minus', 'equal', 'backspace', 'tab', 'q', > > 'w', 'e', > > + 'r', 't', 'y', 'u', 'i', 'o', 'p', 'bracket_left', > > 'bracket_right', > > + 'ret', 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', > > 'semicolon', > > + 'apostrophe', 'grave_accent', 'backslash', 'z', 'x', > > 'c', 'v', 'b', > > + 'n', 'm', 'comma', 'dot', 'slash', 'asterisk', 'spc', > > 'caps_lock', > > + 'f1', 'f2', 'f3', 'f4', 'f5', 'f6', 'f7', 'f8', 'f9', > > 'f10', > > + 'num_lock', 'scroll_lock', 'kp_divide', 'kp_multiply', > > + 'kp_subtract', 'kp_add', 'kp_enter', 'kp_decimal', > > 'sysrq', 'kp_0', > > + 'kp_1', 'kp_2', 'kp_3', 'kp_4', 'kp_5', 'kp_6', > > 'kp_7', 'kp_8', > > + 'kp_9', 'less', 'f11', 'f12', 'print', 'home', 'pgup', > > 'pgdn', 'end', > > + 'left', 'up', 'down', 'right', 'insert', 'delete', > > 'stop', 'again', > > + 'props', 'undo', 'front', 'copy', 'open', 'paste', > > 'find', 'cut', > > + 'lf', 'help', 'meta_l', 'meta_r', 'compose' ] }