ui/kbd-state.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-)
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
ui/kbd-state.c | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/ui/kbd-state.c b/ui/kbd-state.c
index ac14add70e..09e3cfedfc 100644
--- a/ui/kbd-state.c
+++ b/ui/kbd-state.c
@@ -42,14 +42,18 @@ void qkbd_state_key_event(QKbdState *kbd, QKeyCode qcode, bool down)
{
bool state = test_bit(qcode, kbd->keys);
- if (state == down) {
+ if (down == false /* got key-up event */ &&
+ state == false /* key is not pressed */) {
/*
- * Filter out events which don't change the keyboard state.
+ * Filter out suspious key-up events.
*
- * Most notably this allows to simply send along all key-up
- * events, and this function will filter out everything where
- * the corresponding key-down event wasn't send to the guest,
- * for example due to being a host hotkey.
+ * This allows to simply send along all key-up events, and
+ * this function will filter out everything where the
+ * corresponding key-down event wasn't send to the guest, for
+ * example due to being a host hotkey.
+ *
+ * Note that key-down events on already pressed keys are *not*
+ * suspious, those are keyboard autorepeat events.
*/
return;
}
--
2.9.3
On 2/20/19 4:02 AM, Gerd Hoffmann wrote:
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
> ui/kbd-state.c | 16 ++++++++++------
> 1 file changed, 10 insertions(+), 6 deletions(-)
>
> diff --git a/ui/kbd-state.c b/ui/kbd-state.c
> index ac14add70e..09e3cfedfc 100644
> --- a/ui/kbd-state.c
> +++ b/ui/kbd-state.c
> @@ -42,14 +42,18 @@ void qkbd_state_key_event(QKbdState *kbd, QKeyCode qcode, bool down)
> {
> bool state = test_bit(qcode, kbd->keys);
>
> - if (state == down) {
> + if (down == false /* got key-up event */ &&
> + state == false /* key is not pressed */) {
> /*
> - * Filter out events which don't change the keyboard state.
> + * Filter out suspious key-up events.
s/suspious/suspicious/
> *
> - * Most notably this allows to simply send along all key-up
> - * events, and this function will filter out everything where
> - * the corresponding key-down event wasn't send to the guest,
> - * for example due to being a host hotkey.
> + * This allows to simply send along all key-up events, and
"allows to ${VERB}" is not idiomatic; it should either be "allows
${SUBJECT} to ${VERB}" or "allows ${VERB}ing". In this case, I'd go with:
Most notably, this allows simply sneding along all key-up events
> + * this function will filter out everything where the
> + * corresponding key-down event wasn't send to the guest, for
s/send/sent/
> + * example due to being a host hotkey.
> + *
> + * Note that key-down events on already pressed keys are *not*
> + * suspious, those are keyboard autorepeat events.
s/suspious/suspicious/
> */
> return;
> }
>
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3226
Virtualization: qemu.org | libvirt.org
On Wed, Feb 20, 2019 at 11:02:35AM +0100, Gerd Hoffmann wrote: > Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> > --- > ui/kbd-state.c | 16 ++++++++++------ > 1 file changed, 10 insertions(+), 6 deletions(-) Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
© 2016 - 2025 Red Hat, Inc.