]> git.proxmox.com Git - mirror_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)
committerMichael Roth <mdroth@linux.vnet.ibm.com>
Thu, 24 Aug 2017 21:59:22 +0000 (16:59 -0500)
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>
(cherry picked from commit 51dbea77a29ea46173373a6dad4ebd95d4661f42)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
hw/input/hid.c

index fa9cc4c61630e0f562137081dae41a6f7db53b2b..a0892e882a529e0e201539200ed2caf823f5f4ea 100644 (file)
@@ -483,6 +483,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: