Skip to content

Finish live controller UI, audio routing, and precise remapping#51

Merged
hbashton merged 151 commits into
mainfrom
viiper-ui-rebuild
Jul 23, 2026
Merged

Finish live controller UI, audio routing, and precise remapping#51
hbashton merged 151 commits into
mainfrom
viiper-ui-rebuild

Conversation

@hbashton

@hbashton hbashton commented Jul 21, 2026

Copy link
Copy Markdown
Owner

What changed

  • adds live selected-controller status, profile, output device, battery, haptics, speaker, microphone, and Audio Haptics state to the modern shell
  • adds headset-only AUX routing plus per-app Audio Haptics speaker override behavior and profile warnings
  • migrates legacy Game Bar profile-switch settings to the low-latency compatibility path
  • adds controller-accurate, shape-clipped remapping for DualShock 4, DualSense, DualSense Edge, Xbox 360, and Switch 2 Pro
  • restores independent upper, left, right, and multitouch regions on every Sony touchpad diagram
  • recalibrates DualShock 4 and DualSense Edge controls to their rendered artwork, including visible Edge L2/R2 surfaces
  • emits a managed-file package manifest so DS4Updater can remove obsolete shipped files safely

Root causes fixed

The editor stall came from synchronous Core Audio enumeration during WPF data binding. Endpoint discovery now runs once off the UI dispatcher and publishes a shared cached snapshot. Remapper misses came from rectangular transparent hit targets, stale coordinates from replaced artwork, and overlapping touchpad regions. Hit testing now uses the same controller-shaped geometry as the highlight, with four non-overlapping touch zones.

Validation

  • dotnet build DS4WindowsWPF.sln -c Release --no-restore
  • dotnet test DS4WindowsTests/DS4WindowsTests.csproj -c Release -p:Platform=x64 --no-build --filter "Name!=CheckSettingsSave&Name!=CheckJaysProfileRead&Name!=CheckWriteProfile" — 416/416 passed
  • x64 publish/package and local scheduled-task startup succeeded
  • deployed package DLL hash matches the local publish; one main process plus two expected isolated DualSense audio-pacer helpers are responsive

The three excluded upstream XML snapshot tests still compare against fixtures that predate fields already emitted by the current serializer.

hbashton added 30 commits June 11, 2026 09:01
@hbashton hbashton changed the title Polish controller remapping and eliminate editor stalls Finish live controller UI, audio routing, and precise remapping Jul 22, 2026
@hbashton
hbashton merged commit deb301e into main Jul 23, 2026
4 checks passed
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