input: move qmp_query_mice to new core
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
a8dfb1c34f
commit
e842c68d44
@ -483,29 +483,6 @@ void kbd_put_ledstate(int ledstate)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MouseInfoList *qmp_query_mice(Error **errp)
|
|
||||||
{
|
|
||||||
MouseInfoList *mice_list = NULL;
|
|
||||||
QEMUPutMouseEntry *cursor;
|
|
||||||
bool current = true;
|
|
||||||
|
|
||||||
QTAILQ_FOREACH(cursor, &mouse_handlers, node) {
|
|
||||||
MouseInfoList *info = g_malloc0(sizeof(*info));
|
|
||||||
info->value = g_malloc0(sizeof(*info->value));
|
|
||||||
info->value->name = g_strdup(cursor->qemu_put_mouse_event_name);
|
|
||||||
info->value->index = cursor->index;
|
|
||||||
info->value->absolute = !!cursor->qemu_put_mouse_event_absolute;
|
|
||||||
info->value->current = current;
|
|
||||||
|
|
||||||
current = false;
|
|
||||||
|
|
||||||
info->next = mice_list;
|
|
||||||
mice_list = info;
|
|
||||||
}
|
|
||||||
|
|
||||||
return mice_list;
|
|
||||||
}
|
|
||||||
|
|
||||||
void do_mouse_set(Monitor *mon, const QDict *qdict)
|
void do_mouse_set(Monitor *mon, const QDict *qdict)
|
||||||
{
|
{
|
||||||
QEMUPutMouseEntry *cursor;
|
QEMUPutMouseEntry *cursor;
|
||||||
|
29
ui/input.c
29
ui/input.c
@ -1,5 +1,6 @@
|
|||||||
#include "sysemu/sysemu.h"
|
#include "sysemu/sysemu.h"
|
||||||
#include "qapi-types.h"
|
#include "qapi-types.h"
|
||||||
|
#include "qmp-commands.h"
|
||||||
#include "trace.h"
|
#include "trace.h"
|
||||||
#include "ui/input.h"
|
#include "ui/input.h"
|
||||||
#include "ui/console.h"
|
#include "ui/console.h"
|
||||||
@ -305,3 +306,31 @@ void qemu_remove_mouse_mode_change_notifier(Notifier *notify)
|
|||||||
{
|
{
|
||||||
notifier_remove(notify);
|
notifier_remove(notify);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MouseInfoList *qmp_query_mice(Error **errp)
|
||||||
|
{
|
||||||
|
MouseInfoList *mice_list = NULL;
|
||||||
|
MouseInfoList *info;
|
||||||
|
QemuInputHandlerState *s;
|
||||||
|
bool current = true;
|
||||||
|
|
||||||
|
QTAILQ_FOREACH(s, &handlers, node) {
|
||||||
|
if (!(s->handler->mask &
|
||||||
|
(INPUT_EVENT_MASK_REL | INPUT_EVENT_MASK_ABS))) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
info = g_new0(MouseInfoList, 1);
|
||||||
|
info->value = g_new0(MouseInfo, 1);
|
||||||
|
info->value->index = s->id;
|
||||||
|
info->value->name = g_strdup(s->handler->name);
|
||||||
|
info->value->absolute = s->handler->mask & INPUT_EVENT_MASK_ABS;
|
||||||
|
info->value->current = current;
|
||||||
|
|
||||||
|
current = false;
|
||||||
|
info->next = mice_list;
|
||||||
|
mice_list = info;
|
||||||
|
}
|
||||||
|
|
||||||
|
return mice_list;
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user