407 |
407 |
1, "QEMU HID Tablet");
|
408 |
408 |
}
|
409 |
409 |
}
|
|
410 |
|
|
411 |
static int hid_post_load(void *opaque, int version_id)
|
|
412 |
{
|
|
413 |
HIDState *s = opaque;
|
|
414 |
|
|
415 |
if (s->idle) {
|
|
416 |
hid_set_next_idle(s, qemu_get_clock_ns(vm_clock));
|
|
417 |
}
|
|
418 |
return 0;
|
|
419 |
}
|
|
420 |
|
|
421 |
static const VMStateDescription vmstate_hid_ptr_queue = {
|
|
422 |
.name = "HIDPointerEventQueue",
|
|
423 |
.version_id = 1,
|
|
424 |
.minimum_version_id = 1,
|
|
425 |
.fields = (VMStateField[]) {
|
|
426 |
VMSTATE_INT32(xdx, HIDPointerEvent),
|
|
427 |
VMSTATE_INT32(ydy, HIDPointerEvent),
|
|
428 |
VMSTATE_INT32(dz, HIDPointerEvent),
|
|
429 |
VMSTATE_INT32(buttons_state, HIDPointerEvent),
|
|
430 |
VMSTATE_END_OF_LIST()
|
|
431 |
}
|
|
432 |
};
|
|
433 |
|
|
434 |
const VMStateDescription vmstate_hid_ptr_device = {
|
|
435 |
.name = "HIDPointerDevice",
|
|
436 |
.version_id = 1,
|
|
437 |
.minimum_version_id = 1,
|
|
438 |
.post_load = hid_post_load,
|
|
439 |
.fields = (VMStateField[]) {
|
|
440 |
VMSTATE_STRUCT_ARRAY(ptr.queue, HIDState, QUEUE_LENGTH, 0,
|
|
441 |
vmstate_hid_ptr_queue, HIDPointerEvent),
|
|
442 |
VMSTATE_UINT32(head, HIDState),
|
|
443 |
VMSTATE_UINT32(n, HIDState),
|
|
444 |
VMSTATE_INT32(protocol, HIDState),
|
|
445 |
VMSTATE_UINT8(idle, HIDState),
|
|
446 |
VMSTATE_END_OF_LIST(),
|
|
447 |
}
|
|
448 |
};
|
|
449 |
|
|
450 |
const VMStateDescription vmstate_hid_keyboard_device = {
|
|
451 |
.name = "HIDKeyboardDevice",
|
|
452 |
.version_id = 1,
|
|
453 |
.minimum_version_id = 1,
|
|
454 |
.post_load = hid_post_load,
|
|
455 |
.fields = (VMStateField[]) {
|
|
456 |
VMSTATE_UINT32_ARRAY(kbd.keycodes, HIDState, QUEUE_LENGTH),
|
|
457 |
VMSTATE_UINT32(head, HIDState),
|
|
458 |
VMSTATE_UINT32(n, HIDState),
|
|
459 |
VMSTATE_UINT16(kbd.modifiers, HIDState),
|
|
460 |
VMSTATE_UINT8(kbd.leds, HIDState),
|
|
461 |
VMSTATE_UINT8_ARRAY(kbd.key, HIDState, 16),
|
|
462 |
VMSTATE_INT32(kbd.keys, HIDState),
|
|
463 |
VMSTATE_INT32(protocol, HIDState),
|
|
464 |
VMSTATE_UINT8(idle, HIDState),
|
|
465 |
VMSTATE_END_OF_LIST(),
|
|
466 |
}
|
|
467 |
};
|