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) | ||||
| { | ||||
|     QEMUPutMouseEntry *cursor; | ||||
|  | ||||
							
								
								
									
										29
									
								
								ui/input.c
									
									
									
									
									
								
							
							
						
						
									
										29
									
								
								ui/input.c
									
									
									
									
									
								
							| @ -1,5 +1,6 @@ | ||||
| #include "sysemu/sysemu.h" | ||||
| #include "qapi-types.h" | ||||
| #include "qmp-commands.h" | ||||
| #include "trace.h" | ||||
| #include "ui/input.h" | ||||
| #include "ui/console.h" | ||||
| @ -305,3 +306,31 @@ void qemu_remove_mouse_mode_change_notifier(Notifier *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
	 Gerd Hoffmann
						Gerd Hoffmann