How do I control the system volume on OS X with a keyboard without media controls?

You can buy the pro version of Sizzling Keys. It is a preference pane that allows you to define a custom keyboard shortcut for modifying system volume, among lots of other things.


Alternatively, you can modify system volume using AppleScript.

Open up AppleScript Editor and enter

set volume output volume 100

Volume is on a scale of 0 to 100. You can either set an absolute value (e.g. 100 for full volume), or create scripts that increase/decrease, such as the following:

set vol to output volume of (get volume settings)
if vol > 90 then # 100 max
    set volume output volume 100
else
    set volume output volume (vol + 10)
end if

For Volume Down:

set vol to output volume of (get volume settings)
if vol < 10 then # 0 is min
    set volume output volume 0
else
    set volume output volume (vol - 10)
end if

If you'd like to replicate the feedback sound that normally occurs when you change volume, you could add the following to the script:

    do shell script "afplay /System/Library/Sounds/Pop.aiff"

You can save scripts as these as applications, or integrate them into the Services menu using Automator as an input-less service. You can define keyboard shortcuts for services in System Preferences » Keyboard » Keyboard Shortcuts » Services


Karabiner (formerly KeyRemap4MacBook) can remap function keys to control volume, and has been working seamlessly for me so far. In the control panel, search for "F9 to mute" etc.