Revision 46aaebff

b/console.h
42 42
} QEMUPutLEDEntry;
43 43

  
44 44
void qemu_add_kbd_event_handler(QEMUPutKBDEvent *func, void *opaque);
45
void qemu_remove_kbd_event_handler(void);
45 46
QEMUPutMouseEntry *qemu_add_mouse_event_handler(QEMUPutMouseEvent *func,
46 47
                                                void *opaque, int absolute,
47 48
                                                const char *name);
b/hw/usb-hid.c
855 855
{
856 856
    USBHIDState *s = (USBHIDState *)dev;
857 857

  
858
    if (s->kind != USB_KEYBOARD)
858
    switch(s->kind) {
859
    case USB_KEYBOARD:
860
        qemu_remove_kbd_event_handler();
861
        break;
862
    default:
859 863
        qemu_remove_mouse_event_handler(s->ptr.eh_entry);
860
    /* TODO: else */
864
    }
861 865
}
862 866

  
863 867
static int usb_hid_initfn(USBDevice *dev, int kind)
b/input.c
42 42
    qemu_put_kbd_event = func;
43 43
}
44 44

  
45
void qemu_remove_kbd_event_handler(void)
46
{
47
    qemu_put_kbd_event_opaque = NULL;
48
    qemu_put_kbd_event = NULL;
49
}
50

  
45 51
static void check_mode_change(void)
46 52
{
47 53
    static int current_is_absolute, current_has_absolute;

Also available in: Unified diff