I just want the volume to go up and down please
You the know the feeling, you just got yourself a schmancy
new mechanical keyboard, you have configured
it, flashed it… and why oh why does my monitor show a greyed out speaker icon when I press VOL+
or VOL-
?
TL;DR: Use a Fn key bound to Applescript, disable conflicting keys, manually run the script for every app that you own.
Ok, first stop, the interwebs tells me the problem me that media keys only adjust the overall system volume and since I have set my sound output to use the monitor I am s*!t out of luck. I could setup some kind of loopback service / app to route audio through which then goes to the monitor but then I would still have to somehow bind keys to that service.
But hang on, all I am doing is wanting to turn the iTunes volume up and down… and iTunes has shortcuts for that e.g. cmd + <Up>
(when in the app) - surely we can talk to me old mate iTunes directly?
Second stop, let’s try and specifically write some Applescript to do this ahem total Applescript noob alert cough:
on run {input, parameters}
tell application "iTunes"
if the sound volume is less than 100 then
set sound volume to (sound volume + 8)
else
set sound volume to 100
end if
end tell
return input
end run
(this is just for volume up
, volume down is same-ish, basically taken from here
)
Throw that into a new service via Automator
(hah, didn’t even know that was a thing, how neat, can you tell I used to be a Windows lad?)
Let’s bind this to F15
(I thought this would be fine - when have I ever used F15
for anything?) and we can do quite easily via System Preferences > Keyboard > Shortcuts > Services > General
.
…and it doesn’t work.
However, if one runs the script by clicking on the common Services
menu item and then iTunes Volume Up
(what I named the script service) it works.
Ok, right, let’s see if something else is bound to F15
via the age old method of stumbling around and yep Increase display brightness
is mapped so since it is relatively easy let’s reflash the keyboard to instead use F23
and F24
- surely nobody-got-those-mapped fingers crossed.
Hoo-kinda-ray?! Bah, it seems to only work in the app from whence I previously checked from…and the interwebs confirms this is indeed a standing macOS bug. And now, FINALLY, once I manually run the script from the Services
menu in most (? I don’t know any more, plz halp) of my other programs the shizzle works.
I kind of feel that some kind of computers suck, amirite?
remark is fitting here - I mean I am totally off in the yak shaving weeds here with a custom mechanical keyboard, firmware flashing, Applescript and services so really I am sitting in my own hole / grave / cesspit - but this was actually achieved in approximately the time it took to write this blog post (let’s pretend this would also be possible for someone who hadn’t been doing the computer thang for 30ish years)… and this was kind of fun and satisfying to get going.
Phew.
- Jul 9, 2018 ( Feb 27, 2022)