Key repeat in Sequoia

I got a new MacBook Pro on a Black Friday sale, and have been setting it up for the last few days. A combination of brew bundle, DotBot, and Mackup have made that a mostly painless process, but I still had to do a lot of tweaking. Setapp will even offer to automatically install your favorites the first time it runs. Nice.

But one thing I found frustrating was that setting key repeat delay and key repeat speed in System Settings was having no effect. Keys that had diacritics still just popped up the special character popover, and keys without didn’t do anything at all when held. Finally figured out the solution, which I’m posting here mostly so I can easily find it next time this happens.

Run the following in Terminal:

defaults write -g ApplePressAndHoldEnabled -bool false

Then reboot your machine (simply logging out might do it). Now the key repeat settings in System Settings will actually have an effect.

Random side note: if your Nerd Font in iTerm isn’t showing icons, be sure to uncheck “Use built-in Powerline glyphs” in the profile->Text settings.


This is a companion discussion topic for the original entry at https://brettterpstra.com/2024/12/03/key-repeat-in-sequoia

Thanks for this! Strange that Apple left the “key repeat rate” settings in System Settings, even when key repeat is disabled by default. Edit: I see, it’s still valid in cases like holding down delete or backspace.

I noticed that the defaults write command completely disables the special character popover, and did some internet searching.

This answer on StackOverflow describes how to disable the popover and enable key repeat only for specific apps. Haven’t tested, but good to know about.

Fun Fact:

Setapp has (currently unsupported) functionality for brew like automation.

Calling Setapp via Terminal with the -installApps (quotes, blank space separated) will allow you to install the vendor apps.

/Applications/Setapp.app/Contents/MacOS/Setapp -installApps "CleanMyMac X" "Bartender" -launchAfterInstall

The -launchAfterInstall parameter is pretty much straightforward. Omitting it will allow to install the apps silently.

In a similar fashion, you can instruct Setapp to log in with your user account, although saving your password in open text is a bit sketchy (there are ways around this, of course, such as populating a bash variable from 1Password or the key store):

/Applications/Setapp.app/Contents/MacOS/Setapp -silentLaunch -login ‹email> -password <password>

I believe they have plans to improve this, I’m hoping to see stuff like a brewfile option in the future. It’s still not as polished as they’d like so it’s not in official documentation yet.

Oh that’s really cool. I could see Homebrew maybe adding the interface the way they did with mas (or whoever worked on that).

1 Like

I didn’t even think of it being added as a brew bundle module…that would be ideal I suppose.

I’m hoping they polish the feature to where they are happy with it so it’s official to build tools against.

@curtisspendlove Do you know if there’s an option to list “on this mac” apps with the command line tool? I could easily build a brewfile type installer if I could get it to dump that info, but the CLI doesn’t seem to have a --help option…