Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm customizing my keyboard shortcuts using System Preferences. I cannot find a way to assign Mute to F10, Volume Down to F11, & Volume Up to F12. They work when I use fn+F10 etc. but I don't want to need to press fn first, and I want to continue to use the function "F" keys as standard function keys.

I see some suggestions on how to use 3rd party apps, scripts, etc. I've tried some but have not been able to get them to work; of course, I'm new to Mac and may be doing something wrong. But I'd prefer to work with Mac's system settings if possible.

share|improve this question
Have you checked system preferences? Under Keyboard you can change the function key behavior – slhck Jan 6 '13 at 22:54
Yes. There's no option to assign Mute to a function key - unless you know of a way??? – Joe Fletcher Jan 7 '13 at 3:45
up vote 1 down vote accepted

Create an Automator service that runs a script like this:

if output muted of (get volume settings) then
    set volume without output muted
    set volume with output muted
end if

It doesn't show any feedback though. There's a small delay before Automator services are run. There's also a bug on 10.7 and 10.8 where the shortcuts for Automator services don't always work until the services menu is shown from the menu bar.

If someone else doesn't care about using additional applications, try FunctionFlip:

or KeyRemap4MacBook:

You can change individual keys by adding entries like this to private.xml:

<autogen>--KeyToKey-- KeyCode::F1, KeyCode::BRIGHTNESS_DOWN</autogen>
<autogen>--KeyToKey-- KeyCode::F2, KeyCode::BRIGHTNESS_UP</autogen>
<autogen>--KeyToKey-- KeyCode::F3, KeyCode::MISSION_CONTROL</autogen>
<autogen>--KeyToKey-- KeyCode::F4, KeyCode::LAUNCHPAD</autogen>
<autogen>--KeyToConsumer-- KeyCode::F5, ConsumerKeyCode::KEYBOARDLIGHT_LOW</autogen>
<autogen>--KeyToConsumer-- KeyCode::F6, ConsumerKeyCode::KEYBOARDLIGHT_HIGH</autogen>
<autogen>--KeyToConsumer-- KeyCode::F7, ConsumerKeyCode::MUSIC_PREV</autogen>
<autogen>--KeyToConsumer-- KeyCode::F8, ConsumerKeyCode::MUSIC_PLAY</autogen>
<autogen>--KeyToConsumer-- KeyCode::F9, ConsumerKeyCode::MUSIC_NEXT</autogen>
<autogen>--KeyToConsumer-- KeyCode::F10, ConsumerKeyCode::VOLUME_MUTE</autogen>
<autogen>--KeyToConsumer-- KeyCode::F11, ConsumerKeyCode::VOLUME_DOWN</autogen>
<autogen>--KeyToConsumer-- KeyCode::F12, ConsumerKeyCode::VOLUME_UP</autogen>
<autogen>--KeyToKey-- KeyCode::BRIGHTNESS_DOWN, ModifierFlag::FN, KeyCode::F1</autogen>
<autogen>--KeyToKey-- KeyCode::BRIGHTNESS_UP, ModifierFlag::FN, KeyCode::F2</autogen>
<autogen>--KeyToKey-- KeyCode::EXPOSE_ALL, ModifierFlag::FN, KeyCode::F3</autogen>
<autogen>--KeyToKey-- KeyCode::LAUNCHPAD, ModifierFlag::FN, KeyCode::F4</autogen>
<autogen>--KeyToKey-- KeyCode::VK_CONSUMERKEY_KEYBOARDLIGHT_LOW, ModifierFlag::FN, KeyCode::F5</autogen>
<autogen>--KeyToKey-- KeyCode::VK_CONSUMERKEY_KEYBOARDLIGHT_HIGH, ModifierFlag::FN, KeyCode::F6</autogen>
<autogen>--KeyToKey-- KeyCode::VK_CONSUMERKEY_MUSIC_PREV, ModifierFlag::FN, KeyCode::F7</autogen>
<autogen>--KeyToKey-- KeyCode::VK_CONSUMERKEY_MUSIC_PLAY, ModifierFlag::FN, KeyCode::F8</autogen>
<autogen>--KeyToKey-- KeyCode::VK_CONSUMERKEY_MUSIC_NEXT, ModifierFlag::FN, KeyCode::F9</autogen>
<autogen>--KeyToKey-- KeyCode::VK_CONSUMERKEY_VOLUME_MUTE, ModifierFlag::FN, KeyCode::F10</autogen>
<autogen>--KeyToKey-- KeyCode::VK_CONSUMERKEY_VOLUME_DOWN, ModifierFlag::FN, KeyCode::F11</autogen>
<autogen>--KeyToKey-- KeyCode::VK_CONSUMERKEY_VOLUME_UP, ModifierFlag::FN, KeyCode::F12</autogen>
share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .