]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
hid: Reset kbd modifiers on reset
authorAlexander Graf <agraf@suse.de>
Thu, 22 Jun 2017 07:41:35 +0000 (09:41 +0200)
committerGerd Hoffmann <kraxel@redhat.com>
Fri, 23 Jun 2017 09:50:05 +0000 (11:50 +0200)
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

index 93887ecc43acce453e8aa977be18d451e7d9a247..0d049ff61c6e636f7da7bddf4b1ed7643e4682df 100644 (file)
@@ -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;
         break;
     case HID_MOUSE:
     case HID_TABLET: