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>
This commit is contained in:
parent
20a37f2fa3
commit
d3953bf797
9
ui/gtk.c
9
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
|
||||
|
Loading…
Reference in New Issue
Block a user