case Input::KEY_RIGHT: return root.navigate(NAV_RIGHT);
case Input::KEY_UP: return root.navigate(NAV_UP);
case Input::KEY_DOWN: return root.navigate(NAV_DOWN);
- case Input::KEY_TAB: return root.navigate(NAV_NEXT);
+ case Input::KEY_TAB: return root.navigate((modifier_state&MOD_SHIFT) ? NAV_PREVIOUS : NAV_NEXT);
case Input::KEY_SPACE: return root.navigate(NAV_ACTIVATE);
case Input::KEY_ENTER: return root.navigate(NAV_ACCEPT);
case Input::KEY_ESC: return root.navigate(NAV_CANCEL);