Keyboard not working on macOS

Keyboard test 5 steps ~5 min fix

Keys that don't type, repeat, or stick on macOS are usually a connection issue, a stuck key, or a driver/layout problem. Try these, then check every key live.

Test your keyboard right now — it takes one click. Run the keyboard test →

Step-by-step fix

  1. Reconnect the keyboard: replug USB (try another port), or re-pair Bluetooth. For a laptop, restart macOS.
  2. Run the CheckMyMic keyboard test and press each key — any that won't light up is the problem key.
  3. Clean under a stuck or unresponsive key with compressed air.
  4. Check your keyboard layout/language is correct in macOS settings, and turn off Filter/Sticky Keys.
  5. Update or reinstall the keyboard driver, then restart.

Frequently asked questions

Some keys don't work on macOS — is it broken?

Run the keyboard test and press the dead keys. If they never light up across the test, the keys (or the keyboard) are faulty; if they work in the test, it's an app or layout issue — start with the input/keyboard settings in macOS rather than the hardware.

My keyboard types the wrong characters on macOS.

That's a layout/language mismatch. Change the input language in macOS settings to match your keyboard.

Keys are still dead on macOS after everything — is the keyboard finished?

Run the CheckMyMic keyboard test one more time: keys that never register there, in any app, and (for an external keyboard) on a second computer are hardware failures. On a laptop, plugging in a cheap USB keyboard both gets you typing immediately and proves the built-in keyboard is the fault — that's a repair, not a settings fix.

Holding a key shows an accent menu instead of repeating on my Mac.

That's macOS press-and-hold. To get key repeat back, run this in Terminal: defaults write -g ApplePressAndHoldEnabled -bool false — then log out and back in. Key repeat speed and delay are under System Settings → Keyboard.

Fixed it? Confirm with a quick test. Run the test →

Related guides

← All troubleshooting guides · Interview-ready check →