Skip to main content

popup_nav_keys

Function popup_nav_keys 

Source
pub fn popup_nav_keys(
    commands: Commands<'_, '_>,
    keys: MessageReader<'_, '_, KeyPressed>,
    tick: Res<'_, Tick>,
    config: Res<'_, PopupNavConfig>,
    type_ahead: ResMut<'_, TypeAheadBuffer>,
    nav: ResMut<'_, ActivePopupNav>,
    tracker: ResMut<'_, FocusTracker>,
    store: ResMut<'_, PropertyStore>,
    options: Query<'_, '_, (Entity, &DropdownOptionButton, Option<&TextContent>, Has<Disabled>, Option<&DocumentOrder>)>,
    items: Query<'_, '_, (Entity, &MenuItemButton, Option<&TextContent>, Has<Disabled>, Option<&DocumentOrder>)>,
    hovered_rows: Query<'_, '_, Entity, (With<Hovered>, Or<(With<DropdownOptionButton>, With<MenuItemButton>)>)>,
    parents: Query<'_, '_, &ChildOf>,
    transforms: Query<'_, '_, &Transform>,
    scrolls: Query<'_, '_, (&Transform, &mut Scroll, &mut ScrollOffset)>,
)
Expand description

Keyboard handling while a popup session is live: highlight movement, type-ahead, and Alt+ArrowUp close. Commit keys (Enter / Space) are deliberately not handled here - they flow through lumen_input::activate_focused_on_enter -> ClickEvent -> the option / menu-item click dispatchers, so keyboard and pointer commits share one code path.