Send real F-keys to VMs and remote desktops on Mac
Running Windows in Parallels, VMware Fusion, or a Microsoft Remote Desktop session, you press F2 to rename a file or F5 to refresh — and nothing happens in the guest. The Mac grabs the top row for brightness and volume before the keystroke ever crosses into the VM. Turn on Use F1, F2, etc. keys as standard function keys and those F-keys start reaching the Windows session.
Where the keystroke gets lost
Windows treats the F-row as core navigation: F2 renames, F5 refreshes Explorer and browsers, F3 opens search, and Alt+F4 closes a window. When you're inside a VM or a remote desktop, the host Mac gets first crack at every key press. Because macOS maps the top row to hardware controls by default, it consumes the F-key and hands the guest nothing — so the Windows shortcut looks dead when it's really being intercepted one layer up.
Making F-keys the default press means the host sends a plain F2 or F5, which the VM software then forwards into the guest. The remote Windows machine finally sees the key it expected.
Turn on standard function keys
- Open System Settings → Keyboard.
- Click Keyboard Shortcuts….
- Select Function Keys in the sidebar.
- Turn on Use F1, F2, etc. keys as standard function keys.
The setting applies immediately and behaves the same on macOS 13 Ventura, 14 Sonoma, and 15 Sequoia. Click into your VM window, press F2 on a selected file, and Windows lets you rename it; F5 refreshes the folder or the browser tab as expected.
Brightness stays on Fn — plus a couple of VM notes
You keep the media controls: the Fn key does the opposite of the current setting, so with standard keys on, Fn+F1/F2 adjusts brightness and Fn+F11/F12 changes volume on the Mac side. Two things worth checking for VM and remote work:
- Some F-keys are also macOS shortcuts — F3 (Mission Control) and F11 (Show Desktop) can steal focus from the guest. Disable the conflicting ones under Keyboard Shortcuts… so they pass through.
- Parallels, VMware, and Microsoft Remote Desktop each have their own keyboard or shortcut preferences for sending host key combinations to the guest. If a combo like Ctrl+Alt+Delete or Alt+F4 needs special handling, check the VM app's keyboard settings after you've enabled standard function keys.
Set it from Terminal
One global default, useful when you provision several machines for remote work:
# F1-F12 pass through to the VM or remote session by default
defaults write NSGlobalDomain com.apple.keyboard.fnState -bool true
To revert to media keys as the default, write false or delete the key:
# Undo
defaults write NSGlobalDomain com.apple.keyboard.fnState -bool false
# or clear the key
defaults delete NSGlobalDomain com.apple.keyboard.fnState
The System Settings toggle takes effect at once; the Terminal route may need a log out and back in (or a restart) before it registers.
Mainspring turns standard function keys into a labelled toggle, so F-keys reach your VM in a click and flip back to media keys when you leave the guest. It's one of 90+ hidden macOS settings it exposes as reversible switches.
Try Mainspring free →Signed & notarized by Apple · 1-day free trial · $29 once
Using a PC keyboard with the VM?
If you drive the VM from an external Windows keyboard, the modifier layout shifts too. See how to use a Windows keyboard on Mac to line up the Alt, Ctrl, and F-key behavior for the guest.