+
+ /* Don't set focus_client to NULL here. It will be set to NULL when the
+ FocusOut event comes. Otherwise, if we focus nothing and then focus the
+ same window again, The focus code says nothing changed, but focus_client
+ ends up being NULL anyways.
+ focus_client = NULL;
+ */
+
+ /* if there is a grab going on, then we need to cancel it. if we move
+ focus during the grab, applications will get NotifyWhileGrabbed events
+ and ignore them !
+
+ actions should not rely on being able to move focus during an
+ interactive grab.
+ */
+ if (keyboard_interactively_grabbed())
+ keyboard_interactive_cancel();
+
+ /* when nothing will be focused, send focus to the backup target */
+ XSetInputFocus(ob_display, screen_support_win, RevertToPointerRoot,
+ event_curtime);