Skip to content

Navigation and input

Tick UI accepts input two ways. Direct widget calls handle the mouse path: Button claims hit-testing, IsHovered reports cursor state, and Textbox reads typed characters. A separate navigation layer routes directional, confirm, and cancel actions through a focus model that works with the keyboard, a gamepad, or any other source the bindings expose. Both halves share a common input bindings framework that decides which physical key, button, or modifier triggers each action.

The pages, in suggested reading order:

  • Navigation: navigation blocks, focus, and directional movement.
  • Input bindings: the per-feature binding configs that drive navigation, the textbox, the console, and the debugger.
  • Build a navigable menu: the procedure that combines BeginNavigation, NavigationElement, and IsFocused into a menu the player can walk with directional input.
  • Configure input bindings: the procedure for customising keys, gamepad buttons, and modifier shortcuts at setup and at runtime.

For the panel-input ownership model, which decides which panel owns the mouse when several overlap, refer to Input and focus.