GeezerVison is showing github.com — Add "Standard keys (force capture)" option to volume control dropdown by shuntagami · Pull Request #1846 · MonitorControl/MonitorControl
Conversation
shuntagami
commented
Mar 22, 2026
•
edited
Loading
Uh oh!
There was an error while loading. Please reload this page.
Summary
- Add a new
KeyboardVolume.mediaForce enum case (tag=4) as a "Standard keys (force capture)" option in the existing Volume control dropdown
- When selected, MonitorControl always captures standard volume/mute media keys — even when the default audio output device supports native macOS volume control
- Default behavior remains unchanged: the existing "Standard keyboard volume and mute keys" option still disengages when macOS can control volume natively
Test plan
- Select "Standard keyboard volume and mute keys" (default), use an output device with native macOS volume control, and verify volume keys are handled by macOS (not MonitorControl)
- Select "Standard keys (force capture)" and verify volume keys are always captured by MonitorControl regardless of audio device
- Select "Custom keyboard shortcuts" and verify custom shortcuts work as before
- Select "Both standard and custom shortcuts" and verify both work
- Select "Disable keyboard" and verify no keys are captured
Screen Shot
🤖 Generated with Claude Code
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Keep the current safety behavior by default, but allow advanced users to force-capture standard volume media keys even when macOS output volume is controllable.
Made-with: Cursor
Expose an explicit UI switch for force-capturing standard volume keys so advanced users can opt in without using hidden defaults commands.
Made-with: Cursor
Keep the new volume-key override toggle visible in Keyboard settings while preserving the opt-in behavior for advanced users.
Made-with: Cursor
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
…heckbox
Replace the separate "Force capture standard volume and mute keys" checkbox
with a new "Standard keys (force capture)" option in the existing Volume
control dropdown (KeyboardVolume.mediaForce, tag=4). This integrates the
feature more naturally into the existing UI, avoids removing the helpful
"audio device name override" hint text, and eliminates the forceStandardVolumeMediaKeys
preference key in favor of the enum-based approach.
Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
shuntagami
changed the title
Add opt-in override for standard volume media keys
Add "Standard keys (force capture)" option to volume control dropdown
Mar 22, 2026
|
Hi @shuntagami - thanks for the PR! Sorry for not reacting to this in a timely manner. What is the purpose of this change? Wouldn't this be a bit confusing to users? If it is to cover a very specific use-case, maybe simply having a fork with this is the best approach in case one needs it.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
Hi @waydabber
The purpose of my change is to let users always control external displays with the standard macOS volume/mute keys, even when macOS would normally handle those keys natively and MonitorControl doesn’t react.
This is an opt-in option for that specific case, so default behavior doesn’t change for other users.
That said, PR #1827 already includes the same “Standard keys (force capture)” behavior,
so I’m happy for #1846 to be superseded by #1827 if you prefer the combined PR.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
Hi @shuntagami - thank you for the answer. Yes, I understand what the PR does, I was trying to envision a use-case when this option would be useful. Can you have some specific examples that would be solved by this change? Are there displays that require DDC control with digital input that somehow have native macOS control as well which at the same time does not work properly and must be replaced by the app's control?
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
Note: As AI generated PRs are getting more numerous now, I made decision that I won't review AI generated PRs/forks due to lack of time and resources. Of course other maintainers can help with this. I will not close such PRs however, but add a fork recommendation label so these forks are visible here for anybody who might be interested in this specific addition. If this is an original (non-AI) work with major effort involved, please let me know - I want to better honor such PRs and provide a more appropriate feedback as soon as I have the time. Thank you for your understanding!
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
This branch has not been deployed
No deployments
Uh oh!
There was an error while loading. Please reload this page.
Assignees
No one assigned
Milestone
No milestone
Development
Successfully merging this pull request may close these issues.
Uh oh!
There was an error while loading. Please reload this page.
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.
|