Skip to content

feat(pad-config): keep stepping thresholds while Up/Down is held - #689

Draft
ddrcoder wants to merge 2 commits into
pnn64:mainfrom
ddrcoder:feat/pad-config-hold-repeat
Draft

feat(pad-config): keep stepping thresholds while Up/Down is held#689
ddrcoder wants to merge 2 commits into
pnn64:mainfrom
ddrcoder:feat/pad-config-hold-repeat

Conversation

@ddrcoder

@ddrcoder ddrcoder commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Summary

Editing FSR thresholds on the Configure Pads screen took one press per step, so a big change meant hammering Up/Down. Holding the key now keeps stepping the focused value: nothing happens during a short initial delay (0.35 s), then repeats start at 140 ms and each one shortens the next by 12 % down to a 30 ms floor — a few-unit nudge and a full sweep of the range are both comfortable.

  • Applies to the Simple threshold cursor and the Advanced per-sensor / debounce focus, on both the standalone screen and the Song Select overlay (the overlay now ticks pad_config::update).
  • The press step and the repeats share one step_focused_value, so a hold does exactly what N presses would (same fine/coarse step, same clamps, same one-command-per-target queueing).
  • Releasing the key, pressing any other control, or leaving the edit view (save box, profiles list) ends the repeat. Repeats are capped per frame so a stall can't slam the value.

Stacked on #686 (the macOS-only E0275 fix on main), so this branch includes that commit too; merge #686 first and this collapses to the single feature commit. Independent of #690 (0 tares the focused threshold) — same file, different functions.

Test plan

  • cargo test -p deadsync-theme-simply-love --lib -- pad_config::tests — new: repeats only after the delay and accelerate across equal windows, release stops them, another control cancels the hold, Advanced focus repeats with the press step
  • Full cargo build on macOS
  • Manual with DEADSYNC_MOCK_PADS=loadcell,fsr: hold Up/Down on Simple and Advanced, on the Options screen and the Song Select overlay

🤖 Generated with Claude Code

ddrcoder and others added 2 commits September 5, 2026 20:49
The bare `.collect()` calls left the background/foreground scratch
types as inference variables when `.chain(&...)` needed
`&_: IntoIterator`, and the trait solver recursed into objc2's
`&Retained<T>: IntoIterator` blanket impl until it hit the recursion
limit.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Editing FSR thresholds on the Configure Pads screen took one press per
step, so a big change meant hammering the key. Holding Up/Down now
keeps stepping the focused value after a short delay, and the repeat
rate accelerates the longer the key is held, so both a few-unit nudge
and a full sweep of the range are comfortable. Applies to the Simple
threshold cursor and the Advanced per-sensor / debounce focus, on the
standalone screen and the Song Select overlay.

Releasing the key, pressing any other control, or leaving the edit
view (save box, profiles list) ends the repeat.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant