mirror of
https://github.com/qemu/qemu.git
synced 2025-08-08 08:05:17 +00:00
ADB reset support (Joceylin Mayer)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1295 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
7483750d7d
commit
3988e8977b
32
hw/adb.c
32
hw/adb.c
@ -248,13 +248,25 @@ static int adb_kbd_request(ADBDevice *d, uint8_t *obuf,
|
|||||||
return olen;
|
return olen;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int adb_kbd_reset(ADBDevice *d)
|
||||||
|
{
|
||||||
|
KBDState *s = d->opaque;
|
||||||
|
|
||||||
|
d->handler = 1;
|
||||||
|
d->devaddr = ADB_KEYBOARD;
|
||||||
|
memset(s, 0, sizeof(KBDState));
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
void adb_kbd_init(ADBBusState *bus)
|
void adb_kbd_init(ADBBusState *bus)
|
||||||
{
|
{
|
||||||
ADBDevice *d;
|
ADBDevice *d;
|
||||||
KBDState *s;
|
KBDState *s;
|
||||||
s = qemu_mallocz(sizeof(KBDState));
|
s = qemu_mallocz(sizeof(KBDState));
|
||||||
d = adb_register_device(bus, ADB_KEYBOARD, adb_kbd_request, NULL, s);
|
d = adb_register_device(bus, ADB_KEYBOARD, adb_kbd_request,
|
||||||
d->handler = 1;
|
adb_kbd_reset, s);
|
||||||
|
adb_kbd_reset(d);
|
||||||
qemu_add_kbd_event_handler(adb_kbd_put_keycode, d);
|
qemu_add_kbd_event_handler(adb_kbd_put_keycode, d);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -374,13 +386,25 @@ static int adb_mouse_request(ADBDevice *d, uint8_t *obuf,
|
|||||||
return olen;
|
return olen;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int adb_mouse_reset(ADBDevice *d)
|
||||||
|
{
|
||||||
|
MouseState *s = d->opaque;
|
||||||
|
|
||||||
|
d->handler = 2;
|
||||||
|
d->devaddr = ADB_MOUSE;
|
||||||
|
memset(s, 0, sizeof(MouseState));
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
void adb_mouse_init(ADBBusState *bus)
|
void adb_mouse_init(ADBBusState *bus)
|
||||||
{
|
{
|
||||||
ADBDevice *d;
|
ADBDevice *d;
|
||||||
MouseState *s;
|
MouseState *s;
|
||||||
|
|
||||||
s = qemu_mallocz(sizeof(MouseState));
|
s = qemu_mallocz(sizeof(MouseState));
|
||||||
d = adb_register_device(bus, ADB_MOUSE, adb_mouse_request, NULL, s);
|
d = adb_register_device(bus, ADB_MOUSE, adb_mouse_request,
|
||||||
d->handler = 2;
|
adb_mouse_reset, s);
|
||||||
|
adb_mouse_reset(d);
|
||||||
qemu_add_mouse_event_handler(adb_mouse_event, d);
|
qemu_add_mouse_event_handler(adb_mouse_event, d);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user