Patchwork [2/6] hid: register kbd hander in init()

login
register
mail settings
Submitter Gerd Hoffmann
Date Aug. 11, 2011, 7:03 a.m.
Message ID <1313046225-1064-3-git-send-email-kraxel@redhat.com>
Download mbox | patch
Permalink /patch/109566/
State New
Headers show

Comments

Gerd Hoffmann - Aug. 11, 2011, 7:03 a.m.
From: Michael Walle <michael@walle.cc>

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>
---
 hw/hid.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

Patch

diff --git a/hw/hid.c b/hw/hid.c
index 77339f7..3dc4246 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) {