Input.KeyNavigation

extension property Bool Input.KeyNavigation.focusable: false

extension property Bool Input.KeyNavigation.treatAsGroup: false

extension delegate Input.KeyNavigation.navigateEvent(Input.KeyNavigation.NavigateEvent e) → Input.KeyNavigation.NavigateEventResponse

Starting with the focused item itself, the navigateEvent() delegate is called on each item in the focus chain each time a navigation request is made until a delegate either accepts the event, or commits the target.

If all of the delegate implementations in the focus chain ignore the navigate event, the system applies focus to the navigation target item that was automatically selected at the beginning of the navigation.

Input.KeyNavigation.NavigateEventResponse.Ignore

The delegate implementation has ignored the navigate event.

The system will continue to process the navigate event normally.

Input.KeyNavigation.NavigateEventResponse.Accept

The delegate implementation has accepted the navigate event.

The system will stop processing the navigate event.

Input.KeyNavigation.NavigateEventResponse.CommitTarget

The delegate implementation requests that the system immediately commit the navigate target.

The system will stop further processing of the navigate event, and immediately set focus on the navigationTargetItem.

extension delegate Input.KeyNavigation.navigateLeft() → Bool

extension delegate Input.KeyNavigation.navigateRight() → Bool

extension delegate Input.KeyNavigation.navigateUp() → Bool

extension delegate Input.KeyNavigation.navigateDown() → Bool

The navigate left, right, up and down delegates are called for unhandled navigation events in the corresponding direction, with either a NavigateOut or NavigateFailed navigation scope.

In most cases it is appropriate to accept one of these navigation requests and explicitly focus the target item of your choice.

To accept the navigate request and stop further system processing, return true from the delegate implementation. To ignore the request and allow the system to keep processing it, return false.

These are specializations of the general purpose navigateEvent() delegate and exist for convenience. They do not add any additional functionality that couldn't be implemented in navigateEvent() instead. If you require more control over the navigation event than these convenience overloads provide, implement navigateEvent() directly.

static function Input.KeyNavigation.synthesizeNavigationRequest(Input.KeyNavigation.NavigateEvent.Direction direction) → Bool

Generate a "synthetic" navigation request.

Normally Zing will generate navigation requests automatically in response to key presses and remote control events. However, if you are using a nonstandard input device that Zing doesn't recognise, it might be necessary to manually generate navigation requests by calling this method.