Set a faster key repeat than System Settings allows
You've dragged the Key Repeat slider all the way to "Fast" and it's still not fast enough. That's because the slider's fastest notch is just one value — KeyRepeat 2 — and the underlying setting accepts lower numbers the graphical control won't offer. Set KeyRepeat and InitialKeyRepeat directly in Terminal and you can go below the slider's floor, then log out for it to take effect.
What the slider is actually setting
Behind those two sliders are two values in NSGlobalDomain, both counted in units of roughly 15ms (one screen tick). Lower means faster:
- KeyRepeat — the gap between each repeat once a key starts firing. The slider's "Fast" end sets this to
2, about 30ms between characters. - InitialKeyRepeat — the pause before repeating begins. The slider's "Short" end sets this to
15, about 225ms.
The slider simply won't let you pick anything below those two numbers. But the setting itself will accept them, which is the whole trick.
Set a faster rate in Terminal
# below the slider minimum — quicker still
defaults write NSGlobalDomain KeyRepeat -int 1
defaults write NSGlobalDomain InitialKeyRepeat -int 10
# undo — restore the macOS defaults
defaults delete NSGlobalDomain KeyRepeat
defaults delete NSGlobalDomain InitialKeyRepeat
KeyRepeat 1 is about 15ms between repeats — roughly twice the slider's fastest — and InitialKeyRepeat 10 trims the starting delay to about 150ms. This is the combination most people who outgrow the slider settle on. There is also KeyRepeat 0, which removes the throttle entirely; it's genuinely too fast for most typing and can make a held key run away, so treat it as an experiment rather than a daily setting. Log out and back in after any change — the value is read when apps launch.
Verify it stuck, and troubleshoot
- Read the value back with
defaults read NSGlobalDomain KeyRepeat— it should print the number you set. - Log out and back in (or restart) if you haven't yet; the running session keeps the old rate until you do.
- Test in a plain text field. If one specific app still feels slow, quit and reopen it so it re-reads the setting.
If you'd rather not commit to a number blindly, change one value at a time and live with it for a day. The rate and the initial delay feel very different in practice, and most people find the delay is what they actually wanted shorter.
Mainspring exposes key repeat as a labelled control with room past the System Settings floor, plus a one-click reset — one of 90+ hidden macOS settings it turns into reversible toggles, so you can push the rate without typing defaults commands.
Signed & notarized by Apple · 1-day free trial · $29 once
Changed your mind? Undo it cleanly
If a value ends up too aggressive, defaults delete removes your override and hands the setting back to the slider. Our guide to undoing a defaults write on Mac covers deleting keys, restoring defaults, and confirming the change reverted.