aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Walle <michael@walle.cc>2011-08-09 23:54:52 +0200
committerGerd Hoffmann <kraxel@redhat.com>2011-08-10 14:14:00 +0200
commitbb0db5273f51629e2c900a27b45b9f8c44ad0e8d (patch)
tree2232eea1cc103537c99449ac82dae0027018615c
parent21635e121ae0f0ab7874152a7c2f96e9d8cd642f (diff)
hid: register kbd hander in init()
Register the keyboard event handler in hid's init() instead of its reset() function. Signed-off-by: Michael Walle <michael@walle.cc> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
-rw-r--r--hw/hid.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/hw/hid.c b/hw/hid.c
index 77339f7a1..3dc4246cf 100644
--- a/hw/hid.c
+++ b/hw/hid.c
@@ -364,7 +364,6 @@ void hid_reset(HIDState *hs)
{
switch (hs->kind) {
case HID_KEYBOARD:
- qemu_add_kbd_event_handler(hid_keyboard_event, hs);
memset(hs->kbd.keycodes, 0, sizeof(hs->kbd.keycodes));
memset(hs->kbd.key, 0, sizeof(hs->kbd.key));
hs->kbd.keys = 0;
@@ -398,7 +397,9 @@ void hid_init(HIDState *hs, int kind, HIDEventFunc event)
hs->kind = kind;
hs->event = event;
- if (hs->kind == HID_MOUSE) {
+ if (hs->kind == HID_KEYBOARD) {
+ qemu_add_kbd_event_handler(hid_keyboard_event, hs);
+ } else if (hs->kind == HID_MOUSE) {
hs->ptr.eh_entry = qemu_add_mouse_event_handler(hid_pointer_event, hs,
0, "QEMU HID Mouse");
} else if (hs->kind == HID_TABLET) {