32

I've found this annoying problem where if I press function keys they don't perform as expected. F12 opens up Chrome's inspector while F11 just hides windows to show the desktop.

The only way I can click to, say, change brightness is to click the FN key.

What is causing this and how do I change it back to standard function key functionality? And what causes it in the first place?

5 Answers5

42

You can set which way this behaves in System Prefs > Keyboard > Keyboard
'Use F1, F2, etc. keys as standard function keys'

enter image description here

Whichever way you choose, holding Fn/F-key will activate the opposite mode temporarily.

This pref pane has changed appearance slightly over the years, but the functionality remains the same up to Monterey, but it has moved in Ventura.

  1. Go to keyboard shortcuts List item
  2. Go to the function keys tab and turn on "Use F1, F2, etc. keys as standard function keys". enter image description here

from Apple KB

macOS Ventura
Choose Apple menu  > System Settings.
Click Keyboard in the sidebar.
Click the Keyboard Shortcuts button on the right.
Click Function Keys in the sidebar.
Turn on "Use F1, F2, etc. keys as standard function keys".

Devator
  • 1,125
Tetsujin
  • 50,917
14

On a Macally keyboard, I've found that holding Fn and pressing Esc will "lock" the Fn key allowing me to use the function keys by default. Without this, even having set the "Use F1, F2 keys etc..." it wasn't working without holding the Fn key. Locking it worked like a charm.

Luponius
  • 141
5

macOS v15.0.1 (sequoia)

You can toggle “Use F1, F2, etc. Keys as Standard Function Keys” with fn + Esc by using Karabiner-Elements with AppleScript

  1. Create a Shell Script to Toggle Function Key Mode:
  • create script file

     nano ~/toggle_function_keys.sh
    
  • my script

     #!/bin/bash
    

    current_state=$(defaults read -g com.apple.keyboard.fnState)

    if [ "$current_state" -eq 0 ]; then defaults write -g com.apple.keyboard.fnState -bool true else defaults write -g com.apple.keyboard.fnState -bool false fi

    killall SystemUIServer

  1. Make the script executable

    chmod +x ~/toggle_function_keys.sh
    
  2. Add this rule to the Complex Modifications section in Karabiner-Elements

    {
     "description": "fn + Esc",
     "manipulators": [
         {
             "from": {
                 "key_code": "escape",
                 "modifiers": { "mandatory": ["fn"] }
             },
             "to": [{ "shell_command": "~/scripts/toggle_function_keys.sh" }],
             "type": "basic"
         }
      ]
    }
    
  3. Test by pressing fn + Esc then verify it worked by checking the output of this terminal command

    defaults read -g com.apple.keyboard.fnState
    

    0: Media keys 1: Standard function keys

3

As well as enabling the "Use F1, F2, etc" option, you may also want to un-bind the F11 key from the "Show Desktop" feature.

Show desktop keyboard shortcut

Nick Bolton
  • 3,660
0

macOS v13.3.1 (Ventura) (Chrome)

Cmd + Shift + F

The above command will toggle the taskbar. Coming from a Windows OS, this was the combination I was looking for to mimic: Fn + F11.

primegxy
  • 101
  • 2