* [Qemu-devel] [PATCH] kbd-state: don't block auto-repeat events
@ 2019-02-20 10:02 Gerd Hoffmann
2019-02-20 10:16 ` Daniel P. Berrangé
2019-02-20 13:52 ` Eric Blake
0 siblings, 2 replies; 3+ messages in thread
From: Gerd Hoffmann @ 2019-02-20 10:02 UTC (permalink / raw)
To: qemu-devel; +Cc: Gerd Hoffmann
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
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PATCH] kbd-state: don't block auto-repeat events
2019-02-20 10:02 [Qemu-devel] [PATCH] kbd-state: don't block auto-repeat events Gerd Hoffmann
@ 2019-02-20 10:16 ` Daniel P. Berrangé
2019-02-20 13:52 ` Eric Blake
1 sibling, 0 replies; 3+ messages in thread
From: Daniel P. Berrangé @ 2019-02-20 10:16 UTC (permalink / raw)
To: Gerd Hoffmann; +Cc: qemu-devel
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 :|
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PATCH] kbd-state: don't block auto-repeat events
2019-02-20 10:02 [Qemu-devel] [PATCH] kbd-state: don't block auto-repeat events Gerd Hoffmann
2019-02-20 10:16 ` Daniel P. Berrangé
@ 2019-02-20 13:52 ` Eric Blake
1 sibling, 0 replies; 3+ messages in thread
From: Eric Blake @ 2019-02-20 13:52 UTC (permalink / raw)
To: Gerd Hoffmann, qemu-devel
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
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2019-02-20 15:49 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-02-20 10:02 [Qemu-devel] [PATCH] kbd-state: don't block auto-repeat events Gerd Hoffmann
2019-02-20 10:16 ` Daniel P. Berrangé
2019-02-20 13:52 ` Eric Blake
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).