Skip to content

Conversation

@linusgenz
Copy link

Resolves #36099

This PR fixes keyboard navigation in the beatmap select carousel for lazer by implementing page-wise traversal with the Page Up and Page Down keys and changing it from only scrolling to actually selecting items.

Changes:

  • Added handling for TraversalType.Page in the keyboard traversal switch.
  • Implemented traverseKeyboardPage(int direction) method to move the selection by approximately one "page" of visible items, accounting for partially obscured items like the search bar.
  • Added new key bindings:
    • PageUp → SelectPreviousPage
    • PageDown → SelectNextPage

The code may be very explicit for the scroll logic with the page keys, so I would appreciate some feedback when the PR is reviewed.
The naming of the keybinds may need to be adjusted. Next page and previous page may be somewhat misleading.

Behavior after the change:

  • Pressing Page Up/Down now moves the selection by a page of items.
  • After navigating, pressing Left/Right selects the navigated song instead of moving relative to the previous position.

See:
https://www.youtube.com/watch?v=JXmKAhhKiCc

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Navigating song select in lazer with page up/down key is different than stable/legacy osu

1 participant