[PULL,3/7] hid: Reset kbd modifiers on reset
diff mbox

Message ID 20170623103945.7014-4-kraxel@redhat.com
State New
Headers show

Commit Message

Gerd Hoffmann June 23, 2017, 10:39 a.m. UTC
From: Alexander Graf <agraf@suse.de>

When resetting the keyboard, we need to reset not just the pending keystrokes,
but also any pending modifiers. Otherwise there's a race when we're getting
reset while running an escape sequence (modifier 0x100).

Cc: qemu-stable@nongnu.org
Signed-off-by: Alexander Graf <agraf@suse.de>
Message-id: 1498117295-162030-1-git-send-email-agraf@suse.de
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
 hw/input/hid.c | 1 +
 1 file changed, 1 insertion(+)

diff mbox

diff --git a/hw/input/hid.c b/hw/input/hid.c
index 93887ecc43..0d049ff61c 100644
--- a/hw/input/hid.c
+++ b/hw/input/hid.c
@@ -487,6 +487,7 @@  void hid_reset(HIDState *hs)
         memset(hs->kbd.keycodes, 0, sizeof(hs->kbd.keycodes));
         memset(hs->kbd.key, 0, sizeof(hs->kbd.key));
         hs->kbd.keys = 0;
+        hs->kbd.modifiers = 0;
     case HID_MOUSE:
     case HID_TABLET: