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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user