On Wed, 10 Mar 2010 10:51:07 -0600 Anthony Liguori <aligu...@us.ibm.com> wrote:
> For QMP, we just add an attribute which is backwards compatible. For the > human > monitor, we add (absolute) to the end of the line. > > Signed-off-by: Anthony Liguori <aligu...@us.ibm.com> Looks good to me. > --- > input.c | 18 ++++++++++++------ > 1 files changed, 12 insertions(+), 6 deletions(-) > > diff --git a/input.c b/input.c > index cbf55b7..d2a6f26 100644 > --- a/input.c > +++ b/input.c > @@ -195,9 +195,10 @@ static void info_mice_iter(QObject *data, void *opaque) > Monitor *mon = opaque; > > mouse = qobject_to_qdict(data); > - monitor_printf(mon, "%c Mouse #%" PRId64 ": %s\n", > + monitor_printf(mon, "%c Mouse #%" PRId64 ": %s%s\n", > (qdict_get_bool(mouse, "current") ? '*' : ' '), > - qdict_get_int(mouse, "index"), qdict_get_str(mouse, > "name")); > + qdict_get_int(mouse, "index"), qdict_get_str(mouse, > "name"), > + qdict_get_bool(mouse, "absolute") ? " (absolute)" : ""); > } > > void do_info_mice_print(Monitor *mon, const QObject *data) > @@ -224,11 +225,12 @@ void do_info_mice_print(Monitor *mon, const QObject > *data) > * - "name": mouse's name > * - "index": mouse's index > * - "current": true if this mouse is receiving events, false otherwise > + * - "absolute": true if the mouse generates absolute input events > * > * Example: > * > - * [ { "name": "QEMU Microsoft Mouse", "index": 0, "current": false }, > - * { "name": "QEMU PS/2 Mouse", "index": 1, "current": true } ] > + * [ { "name": "QEMU Microsoft Mouse", "index": 0, "current": false, > "absolute": false }, > + * { "name": "QEMU PS/2 Mouse", "index": 1, "current": true, "absolute": > true } ] > */ > void do_info_mice(Monitor *mon, QObject **ret_data) > { > @@ -246,10 +248,14 @@ void do_info_mice(Monitor *mon, QObject **ret_data) > > QTAILQ_FOREACH(cursor, &mouse_handlers, node) { > QObject *obj; > - obj = qobject_from_jsonf("{ 'name': %s, 'index': %d, 'current': %i > }", > + obj = qobject_from_jsonf("{ 'name': %s," > + " 'index': %d," > + " 'current': %i," > + " 'absolute': %i }", > cursor->qemu_put_mouse_event_name, > cursor->index, > - cursor->index == current); > + cursor->index == current, > + !!cursor->qemu_put_mouse_event_absolute); > qlist_append_obj(mice_list, obj); > } >