Skip to content

fix: control macOS media keys without synthetic events - #3

Closed
matteoveglia wants to merge 1 commit into
PacAnimal:mainfrom
matteoveglia:fix/macos-direct-media-controls
Closed

fix: control macOS media keys without synthetic events#3
matteoveglia wants to merge 1 commit into
PacAnimal:mainfrom
matteoveglia:fix/macos-direct-media-controls

Conversation

@matteoveglia

Copy link
Copy Markdown

Summary

  • control default-output volume and mute through CoreAudio
  • send play/pause, previous, and next to the active Now Playing client through MediaRemote
  • retain the existing synthetic media-key path as a fallback when either route is unavailable

Validation

  • dotnet build Hydra --configuration Release --no-restore --nologo
  • dotnet test Tests/Tests.csproj --configuration Release --no-restore --filter "FullyQualifiedName~MacMediaRemoteControllerTests|FullyQualifiedName~MacKeyResolverTests|FullyQualifiedName~MacModifierMappingTests" --no-logo
  • dotnet publish Hydra --configuration Release --runtime osx-arm64 --self-contained --no-restore --nologo
  • live validation on macOS 27: volume, mute, play/pause, previous, and next

Notes

  • CoreAudio is public; MediaRemote is private and dynamically resolved, so unsupported systems keep the legacy fallback.

@matteoveglia
matteoveglia marked this pull request as ready for review August 23, 2026 17:45
@matteoveglia
matteoveglia force-pushed the fix/macos-direct-media-controls branch from 88ecae8 to e4d262b Compare August 23, 2026 18:04
@matteoveglia
matteoveglia deleted the fix/macos-direct-media-controls branch August 23, 2026 20:07
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