On Wed, 25 Jul 2012 01:55:14 -0400 (EDT) Amos Kong <ak...@redhat.com> wrote:
> > > ----- 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'? QKeyCode, maybe? Can you please paste the full error message? > > > > +# > > > +# 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' ] } >