248 |
return olen; |
return olen; |
249 |
} |
} |
250 |
|
|
251 |
|
static int adb_kbd_reset(ADBDevice *d) |
252 |
|
{ |
253 |
|
KBDState *s = d->opaque; |
254 |
|
|
255 |
|
d->handler = 1; |
256 |
|
d->devaddr = ADB_KEYBOARD; |
257 |
|
memset(s, 0, sizeof(KBDState)); |
258 |
|
|
259 |
|
return 0; |
260 |
|
} |
261 |
|
|
262 |
void adb_kbd_init(ADBBusState *bus) |
void adb_kbd_init(ADBBusState *bus) |
263 |
{ |
{ |
264 |
ADBDevice *d; |
ADBDevice *d; |
265 |
KBDState *s; |
KBDState *s; |
266 |
s = qemu_mallocz(sizeof(KBDState)); |
s = qemu_mallocz(sizeof(KBDState)); |
267 |
d = adb_register_device(bus, ADB_KEYBOARD, adb_kbd_request, NULL, s); |
d = adb_register_device(bus, ADB_KEYBOARD, adb_kbd_request, |
268 |
d->handler = 1; |
adb_kbd_reset, s); |
269 |
|
adb_kbd_reset(d); |
270 |
qemu_add_kbd_event_handler(adb_kbd_put_keycode, d); |
qemu_add_kbd_event_handler(adb_kbd_put_keycode, d); |
271 |
} |
} |
272 |
|
|
386 |
return olen; |
return olen; |
387 |
} |
} |
388 |
|
|
389 |
|
static int adb_mouse_reset(ADBDevice *d) |
390 |
|
{ |
391 |
|
MouseState *s = d->opaque; |
392 |
|
|
393 |
|
d->handler = 2; |
394 |
|
d->devaddr = ADB_MOUSE; |
395 |
|
memset(s, 0, sizeof(MouseState)); |
396 |
|
|
397 |
|
return 0; |
398 |
|
} |
399 |
|
|
400 |
void adb_mouse_init(ADBBusState *bus) |
void adb_mouse_init(ADBBusState *bus) |
401 |
{ |
{ |
402 |
ADBDevice *d; |
ADBDevice *d; |
403 |
MouseState *s; |
MouseState *s; |
404 |
|
|
405 |
s = qemu_mallocz(sizeof(MouseState)); |
s = qemu_mallocz(sizeof(MouseState)); |
406 |
d = adb_register_device(bus, ADB_MOUSE, adb_mouse_request, NULL, s); |
d = adb_register_device(bus, ADB_MOUSE, adb_mouse_request, |
407 |
d->handler = 2; |
adb_mouse_reset, s); |
408 |
|
adb_mouse_reset(d); |
409 |
qemu_add_mouse_event_handler(adb_mouse_event, d); |
qemu_add_mouse_event_handler(adb_mouse_event, d); |
410 |
} |
} |