diff options
| author | Volker RĂ¼melin <vr_qemu@t-online.de> | 2020-05-16 09:20:12 +0200 |
|---|---|---|
| committer | Gerd Hoffmann <kraxel@redhat.com> | 2020-05-19 09:06:44 +0200 |
| commit | d3953bf7978521b6373cb8101f594cc44b0efa9e (patch) | |
| tree | 066b61f7cd9135eeee3c5bead864215ad11793b3 /ui/gtk.c | |
| parent | 20a37f2fa3873ad62c31b40f55f2218ec9ff470b (diff) | |
| download | focaccia-qemu-d3953bf7978521b6373cb8101f594cc44b0efa9e.tar.gz focaccia-qemu-d3953bf7978521b6373cb8101f594cc44b0efa9e.zip | |
ui/gtk: don't pass on win keys without keyboard grab
Without keyboard grab Windows currently handles the two win keys and the key events are also sent to the guest. This is undesir- able. Only one program should handle key events. This patch ap- plies commit c68f74b02e "win32: do not handle win keys when the keyboard is not grabbed" from project spice-gtk to ui/gtk.c to fix this problem. Signed-off-by: Volker RĂ¼melin <vr_qemu@t-online.de> Message-id: 20200516072014.7766-9-vr_qemu@t-online.de Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'ui/gtk.c')
| -rw-r--r-- | ui/gtk.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/ui/gtk.c b/ui/gtk.c index 354dd90e18..1d51e14bb5 100644 --- a/ui/gtk.c +++ b/ui/gtk.c @@ -1095,10 +1095,17 @@ static gboolean gd_key_event(GtkWidget *widget, GdkEventKey *key, void *opaque) VirtualConsole *vc = opaque; int qcode; -#ifdef WIN32 +#ifdef G_OS_WIN32 /* on windows, we ought to ignore the reserved key event? */ if (key->hardware_keycode == 0xff) return false; + + if (!vc->s->kbd_owner) { + if (key->hardware_keycode == VK_LWIN || + key->hardware_keycode == VK_RWIN) { + return FALSE; + } + } #endif if (key->keyval == GDK_KEY_Pause |