summaryrefslogtreecommitdiff
path: root/ui/kbd-state.c
AgeCommit message (Collapse)Author
2019-08-16Include qemu/queue.h slightly lessMarkus Armbruster
Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20190812052359.30071-20-armbru@redhat.com>
2019-05-17kbd-state: fix autorepeat handlingGerd Hoffmann
When allowing multiple down-events in a row (key autorepeat) we can't use change_bit() any more to update the state, because autorepeat events don't change the key state. We have to explicitly use set_bit() and clear_bit() instead. Cc: qemu-stable@nongnu.org Fixes: 35921860156e kbd-state: don't block auto-repeat events Buglink: https://bugs.launchpad.net/qemu/+bug/1828272 Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Message-id: 20190514042443.10735-1-kraxel@redhat.com
2019-02-21kbd-state: don't block auto-repeat eventsGerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Message-id: 20190220100235.20914-1-kraxel@redhat.com
2019-02-05kbd-state: add keyboard state trackerGerd Hoffmann
Now that most user interfaces are using QKeyCodes it is easier to have common keyboard code useable by all user interfaces. This patch adds helper code to track the state of all keyboard keys, using a bitmap indexed by QKeyCode. Modifier state is tracked too, as separate bitmap. That makes checking modifier state easier. Likewise we can easily apply special handling for capslock & numlock (toggles on keypress) and ctrl + shift (we have two keys for that). Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Message-id: 20190122092814.14919-2-kraxel@redhat.com [ kraxel: added license boilerplate header ] Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>