KeyRouter class
#include <GGUI/Public/UIEvents.h>
KeyRouter: is this key the UI's or the game's?
Like PointerRouter, decided from a published snapshot only. The UI owns the keyboard while it is being driven by keys: Tab brings focus in (if there is anything focusable), and from then every UIKey goes to the UI until Escape or a click elsewhere. A control focused by mouse click does not capture keys. Gamepad buttons arrive as the same keys and bring focus without Tab.
Public functions
- auto Route(const GGSnapshot* snapshot, const InputEvent& event, bool bAll = false) -> bool
- True if the UI takes the key: queue it for the document and keep it from the game. With
bAll, every key is the document's, focused or not (an editor has no game behind it).