[PowerDisplay] Configurable wheel step + WHEEL_DELTA accumulator on slider extensions#47737
Closed
moooyo wants to merge 6 commits into
Closed
[PowerDisplay] Configurable wheel step + WHEEL_DELTA accumulator on slider extensions#47737moooyo wants to merge 6 commits into
moooyo wants to merge 6 commits into
Conversation
…e step Hovering on the brightness/contrast/volume slider and turning the wheel now moves the value, mirroring the system volume flyout. Each WHEEL_DELTA (120) accumulates one step so high-precision wheels and touchpads (which emit fractional deltas) feel notched. Hardware DDC/CI commit is debounced 200ms after the gesture ends, matching the existing drag-release pattern. Adds a wheel_scroll_step setting (default 1, options 1/2/3/5/10) on the PowerDisplay settings page. Hot-reloads via SettingsUpdatedPowerDisplayEvent. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
# Conflicts: # src/modules/powerdisplay/PowerDisplay/PowerDisplayXAML/MainWindow.xaml # src/modules/powerdisplay/PowerDisplay/ViewModels/MonitorViewModel.cs
This comment has been minimized.
This comment has been minimized.
- Add comma after "Otherwise" in MonitorViewModel wheel-handler comment (line_forbidden.patterns flags ". Otherwise " starting a sentence without a following comma). - Remove stale "DEFAULTTONEAREST" entry from expect.txt; the token is already covered by allow/code.txt (Win32 API allowlist), so the expect.txt entry is redundant. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
moooyo
marked this pull request as ready for review
May 8, 2026 08:51
Collaborator
|
FYI, I've added the same functionality to: #47756 |
# Conflicts: # src/modules/powerdisplay/PowerDisplay/PowerDisplayXAML/MainWindow.xaml # src/modules/powerdisplay/PowerDisplay/ViewModels/MonitorViewModel.cs
Builds on #47756 (SliderExtensions) by adding two enhancements: 1. Bind SliderExtensions.MouseWheelChange to the user-configurable WheelScrollStep setting (1/2/3/5/10) instead of the hardcoded 5. Forwarded through MonitorViewModel.WheelScrollStep so the binding lives in the per-monitor data template, and hot-reloaded by listening to MainViewModel.WheelScrollStep on the same channel as IsInteractionEnabled. 2. Add a private WheelAccumulator attached property so high-precision mice and touchpads (which emit deltas well below WHEEL_DELTA=120) feel notched. Without accumulation those sub-notch events would either round to zero or write fractional Slider.Value back through the int-typed source property, masking the input. Sub-threshold events still set e.Handled so the gesture is not delivered to the enclosing ScrollViewer. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This comment has been minimized.
This comment has been minimized.
", otherwise" → "; otherwise" in SliderExtensions wheel handler comment (line_forbidden.patterns flags ", [Oo]therwise\b" — should be "; otherwise" or ". Otherwise"). Same rule that bit our previous spell-check commit. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary of the Pull Request
Layered on top of #47756 (which introduced
SliderExtensions+ the debounced TwoWay commit pattern for the PowerDisplay flyout sliders). This PR keeps that architecture untouched and adds two enhancements that are specifically valuable for users tuning DDC/CI write granularity or scrolling with high-precision input devices:PR Checklist
Adds mouse wheel scrolling to the brightness / contrast / volume sliders in the PowerDisplay flyout, mirroring the system volume flyout. A new "Mouse wheel scroll step" setting on the PowerDisplay settings page controls how much each notch moves the value (default 1, options 1 / 2 / 3 / 5 / 10).
#47262
Detailed Description of the Pull Request / Additional comments
Validation Steps Performed