On 9/18/19 2:13 PM, Rémi Bernon wrote:
case NotifyUngrab:
wait_for_pointer_ungrab( event->display ); keyboard_grabbed = FALSE; retry_grab_clipping_window(); return TRUE; /* ignore wm specific NotifyUngrab / NotifyGrab events w.r.t focus */
Note that this line, when using mutter/gnome-shell at least, will make it almost impossible to switch to activity view using the Super key.
There's a small delay between the moment mutter releases the keyboard grab and sends the event, and the moment gnome-shell itself grabs the cursor and keyboard and if the application grabs the cursor in between - like it is done here even for a brief moment, gnome-shell is unable to get its grab and does not open the view.
In Proton we've specifically added a delay before that to let gnome-shell get its grab, but the mutter workarounds are not upstreamed. I could add a delay here as well, without the mutter specific check, if it seems appropriate.