#include "qemu-char.h"
#include "qdict.h"
+#include "notify.h"
/* keyboard/mouse support */
int qemu_put_mouse_event_absolute;
char *qemu_put_mouse_event_name;
+ int index;
+
/* used internally by qemu for handling mice */
- struct QEMUPutMouseEntry *next;
+ QTAILQ_ENTRY(QEMUPutMouseEntry) node;
} QEMUPutMouseEntry;
typedef struct QEMUPutLEDEntry {
void *opaque, int absolute,
const char *name);
void qemu_remove_mouse_event_handler(QEMUPutMouseEntry *entry);
+void qemu_activate_mouse_event_handler(QEMUPutMouseEntry *entry);
+
QEMUPutLEDEntry *qemu_add_led_event_handler(QEMUPutLEDEvent *func, void *opaque);
void qemu_remove_led_event_handler(QEMUPutLEDEntry *entry);
void kbd_put_keycode(int keycode);
void kbd_put_ledstate(int ledstate);
void kbd_mouse_event(int dx, int dy, int dz, int buttons_state);
+
+/* Does the current mouse generate absolute events */
int kbd_mouse_is_absolute(void);
+void qemu_add_mouse_mode_change_notifier(Notifier *notify);
+void qemu_remove_mouse_mode_change_notifier(Notifier *notify);
+
+/* Of all the mice, is there one that generates absolute events */
+int kbd_mouse_has_absolute(void);
struct MouseTransformInfo {
/* Touchscreen resolution */