When you use the function (fn) key on a MacBook Pro, it acts like a shift key (only works while you hold it) as opposed to a toggle. Is there anyway to change this? Preferably with a native setting, but I'd also consider 3rd party software.

5 Answers 5


In System Preferences, under Keyboard & Mouse, you can opt to use the top row as standard function keys, accessing their special functions by holding fn. However, there is no built in way to toggle this with a keyboard shortcut.

  • Is this gnome, or what desktop are you refering to?
    – WhyNotHugo
    Sep 8, 2013 at 21:06
  • @ikhvjs You haven't understood what the question is asking, nor what my answer says.
    – MJeffryes
    Dec 16, 2022 at 16:49
  • 1
    Sorry, you are right. I will delete my comment. OP actually ask if there is a way to toggle like a CAPLOCK key to switch the keys.
    – ikhvjs
    Dec 22, 2022 at 15:09

Open the System Preferences > Keyboard and tick the "Use F1, F2, etc. keys as standard function keys" checkbox. This reverses the functionality of the buttons so now you can press the function buttons as normal!


It looks like Palua might help you achieve what you want, $1 from the Apple Store.


Just as an addendum, since you haven't specified Mac OSX, if you use bootcamp (for running Windows on a mac machine) the FN key behaves EXACTLY as I wished it would on OSX:

On Bootcamp Windows, when you hold a modifier key + any function key it will act as F# already - for that you don't need to hold the FN key. While just pressing them will work as shown on the button.

If you press, let's say, F1 and F2, which are brightness up and down, it will act on brightness, if you press F10, it will mute, and so on, just like the pictures on the keys, and how you would expect.

But If you hold ALT+F4, for instance, it will close an application rather than launching the Dashboard. Ok, there's no dashboard in bootcamp, but you get the point.


I use this Apple Script that's hooked into a simple Alfred workflow to toggle fn lock using a keyboard shortcut

tell application "System Preferences"
  reveal anchor "keyboardTab" of pane "com.apple.preference.keyboard"
end tell
delay 0.5
tell application "System Events" to tell process "System Preferences"
  click checkbox 4 of tab group 1 of window 1
end tell
quit application "System Preferences"

Alfred workflow

  • Your answer could be improved with additional supporting information. Please edit to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers in the help center.
    – Community Bot
    Sep 28, 2023 at 16:54

You must log in to answer this question.

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