Skip to content

Configurable Digital Crown slide navigation with sensitivity and enable toggle#2

Open
donny-son wants to merge 2 commits into
mainfrom
codex/explore-apple-watch-feature-integration
Open

Configurable Digital Crown slide navigation with sensitivity and enable toggle#2
donny-son wants to merge 2 commits into
mainfrom
codex/explore-apple-watch-feature-integration

Conversation

@donny-son

Copy link
Copy Markdown
Contributor

Motivation

  • Prevent accidental slide changes from minor crown movements by accumulating detents before changing slides.
  • Provide configurable sensitivity and an option to disable crown navigation so users can tailor behavior to their needs.
  • Surface crown-related settings in the app UI and provide contextual help text describing direction and sensitivity.

Description

  • Added state and AppStorage properties crownDetentAccumulator, crownControlEnabled, and crownDetentsPerSlide to manage crown behavior and persistence.
  • Refactored crown handling into a new handleCrownChange(_:) method that accumulates detent deltas, respects invertCrown, requires crownDetentsPerSlide detents per slide change, and emits haptics on slide transitions.
  • Reset the accumulator when crownDetentsPerSlide changes via an onChange handler, and preserved previous detent tracking in lastCrownDetent.
  • Extended SettingsView with a Crown Control toggle, a Sensitivity picker (Fast, Balanced, Deliberate, Locked-in), and a computed footer string crownFooterText; the sensitivity controls are disabled when crown control is off.

Testing

  • No automated tests were added or run for this change.

Codex Task

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
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.

1 participant