spice_display_mouse_ungrab() does not release keyboard grab
virt-viewer calls spice_display_mouse_ungrab()
when the release-cursor
hotkey sequence is pressed. However, this only releases the pointer grab, it does not release the keyboard grab. Therefore, it is not possible to use window manager hotkeys on the host without moving the pointer out of the window (the release-cursor
hotkey cannot be used to allow access to other host hotkeys).
It appears that spice-gtk generally mirrors gtk-vnc, but their behavior differs in this respect. In gtk-vnc, vnc_display_force_grab()
calls do_pointer_ungrab()
(https://gitlab.gnome.org/GNOME/gtk-vnc/blob/master/src/vncdisplay.c#L697) which calls do_keyboard_ungrab()
(https://gitlab.gnome.org/GNOME/gtk-vnc/blob/master/src/vncdisplay.c#L675) to release the keyboard grab.
Can spice_display_mouse_ungrab() be updated to call try_keyboard_ungrab(display)
?