Skip to content

Conversation

@linusgenz
Copy link
Contributor

@linusgenz linusgenz commented Jan 10, 2026

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. Also it does not wrap around (like the current PageUp/Down functionality).
  • 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

Signed-off-by: Linus Genz <linuslinuxgenz@gmail.com>
@peppy
Copy link
Member

peppy commented Jan 12, 2026

Duplicate of #36305. Only one of these two should be merged.

@nagi-desuuu
Copy link

Now supersedes #36305

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

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

3 participants