fix(menu): the mouse wheel scrolls, it never changes a value #1557

Merged
hckrman101 merged 1 commit from menu-wheel-scrolls into main 2026-11-10 08:24:32 +00:00
hckrman101 commented 2026-11-10 08:05:21 +00:00 (Migrated from github.com)

Turning the mouse wheel over a value in the Insert menu changed it. So scrolling down the menu could change a setting by accident. Now the wheel only scrolls.

What changes

  • The wheel scrolls. On the tabs, the Controls page and the Teleport and Inventory lists, the wheel scrolls the rows wherever the cursor is. It never changes a value, the selection or the tab.
  • A list that fits does not scroll. There, and on the restart question, the wheel does nothing.
  • Values change only on purpose: a click on their arrows or halves, a slider's drag, Left and Right, or A and Enter.
  • The keys still bring the selection back. The rows stay where the wheel left them. A new selection from the keys or the pad, or a resize, brings it into view again.

Tests

  • tests/test_rumble_menu.py stepped Rumble strength with the wheel. It now checks that no wheel path in menu_tick changes a value, the selection or the tab. It also checks that scroll_rows scrolls by the wheel and leaves a list that fits alone.
  • tests/run_all.py passes on Linux.

No screenshots: the menu looks the same; only what the wheel does has changed.

Turning the mouse wheel over a value in the Insert menu changed it. So scrolling down the menu could change a setting by accident. Now the wheel only scrolls. ## What changes - **The wheel scrolls.** On the tabs, the Controls page and the Teleport and Inventory lists, the wheel scrolls the rows wherever the cursor is. It never changes a value, the selection or the tab. - **A list that fits does not scroll.** There, and on the restart question, the wheel does nothing. - **Values change only on purpose:** a click on their arrows or halves, a slider's drag, Left and Right, or A and Enter. - **The keys still bring the selection back.** The rows stay where the wheel left them. A new selection from the keys or the pad, or a resize, brings it into view again. ## Tests - `tests/test_rumble_menu.py` stepped Rumble strength with the wheel. It now checks that no wheel path in `menu_tick` changes a value, the selection or the tab. It also checks that `scroll_rows` scrolls by the wheel and leaves a list that fits alone. - `tests/run_all.py` passes on Linux. No screenshots: the menu looks the same; only what the wheel does has changed.
Commenting is not possible because the repository is archived.
No description provided.