Index: uspace/srv/hid/display/seat.c
===================================================================
--- uspace/srv/hid/display/seat.c	(revision bd1f9a6dd4e2689644c496b7e30101dc52596e49)
+++ uspace/srv/hid/display/seat.c	(revision 79949f3bee22fb5dbb32d3b1d9a742ac2f7b12b1)
@@ -102,6 +102,15 @@
 errno_t ds_seat_post_kbd_event(ds_seat_t *seat, kbd_event_t *event)
 {
-	ds_window_t *dwindow = seat->focus;
+	ds_window_t *dwindow;
+	bool alt_or_shift;
 
+	alt_or_shift = event->mods & (KM_SHIFT | KM_ALT);
+	if (event->type == KEY_PRESS && alt_or_shift && event->key == KC_TAB) {
+		/* On Alt-Tab or Shift-Tab, switch focus to next window */
+		ds_seat_evac_focus(seat, seat->focus);
+		return EOK;
+	}
+
+	dwindow = seat->focus;
 	if (dwindow == NULL)
 		return EOK;
