Message ID | 1400890569-30822-1-git-send-email-andrew@aoates.org |
---|---|
State | New |
Headers | show |
24.05.2014 04:16, Andrew Oates wrote: > Without the mask, control bits are passed on in the keycode, generating > incorrect PS/2 sequences when SHIFT, ALT, etc are held down. While the patch itself appears to be trivial, it may have non-trivial effect. Cc'ing Gerd for comments. Thank you! /mjt > Signed-off-by: Andrew Oates <andrew@aoates.org> > --- > ui/curses.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/ui/curses.c b/ui/curses.c > index b044790..de85f76 100644 > --- a/ui/curses.c > +++ b/ui/curses.c > @@ -288,8 +288,8 @@ static void curses_refresh(DisplayChangeListener *dcl) > qemu_input_event_send_key_number(NULL, GREY | ALT_CODE, true); > } > > - qemu_input_event_send_key_number(NULL, keycode, true); > - qemu_input_event_send_key_number(NULL, keycode, false); > + qemu_input_event_send_key_number(NULL, keycode & KEY_MASK, true); > + qemu_input_event_send_key_number(NULL, keycode & KEY_MASK, false); > > if (keycode & ALTGR) { > qemu_input_event_send_key_number(NULL, GREY | ALT_CODE, false); >
On Sa, 2014-05-24 at 11:02 +0400, Michael Tokarev wrote: > 24.05.2014 04:16, Andrew Oates wrote: > > Without the mask, control bits are passed on in the keycode, generating > > incorrect PS/2 sequences when SHIFT, ALT, etc are held down. > > While the patch itself appears to be trivial, it may have > non-trivial effect. Cc'ing Gerd for comments. Patch is correct, picked it up. cheers, Gerd
diff --git a/ui/curses.c b/ui/curses.c index b044790..de85f76 100644 --- a/ui/curses.c +++ b/ui/curses.c @@ -288,8 +288,8 @@ static void curses_refresh(DisplayChangeListener *dcl) qemu_input_event_send_key_number(NULL, GREY | ALT_CODE, true); } - qemu_input_event_send_key_number(NULL, keycode, true); - qemu_input_event_send_key_number(NULL, keycode, false); + qemu_input_event_send_key_number(NULL, keycode & KEY_MASK, true); + qemu_input_event_send_key_number(NULL, keycode & KEY_MASK, false); if (keycode & ALTGR) { qemu_input_event_send_key_number(NULL, GREY | ALT_CODE, false);
Without the mask, control bits are passed on in the keycode, generating incorrect PS/2 sequences when SHIFT, ALT, etc are held down. Signed-off-by: Andrew Oates <andrew@aoates.org> --- ui/curses.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)