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> --- 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); } -- 1.6.5.2