I have a Mac mini which is stalling during boot. I have been trying to boot it to recovery or diagnostics mode, but run into an unexpected problem.

The keyboard I'm currently using with it is a Corsair K95 Platinum RGB which includes a lighting controller. This means that the keyboard has a short startup time, only a few seconds, but enough that macOS apparently does not allow it enough time to start up between the USB initialization cycle and the deadline for detecting the startup key presses.

I then tried again by attaching a second keyboard, but again the system would not respond to startup keys; the documentation is silent on the behavior of startup keys when more than one keyboard is connected or on how priority is determined.

I was eventually able to get a startup key to working using an ancient keyboard, but I would not like to be stuck without a keyboard that cannot do this.

What are the requirements for a keyboard to be able to invoke macOS startup keys?


All USB keyboards have either a windows or command key so should work.

The connection method of Bluetooth can be bit more sketchy if it’s not an Apple keyboard due to pairing and wake / connect before the OS is loaded, so I would say use any wired USB keyboard you care to use if you can't pre-pair and test the keyboard to connect preOS boot.

The left windows key and the r key is all you need for Internet Recovery. Here’s the code used in the project below and also referenced in a question about Arduino that confirms the mapping to a windows keyboard.

Of course - Mac keyboards send KEY_LEFT_GUI when you hold down the command key and not the windows key.

Heck, there’s even an open source project to turn an Arduino into a device that holds command R and then types out commands to help automate restore and recovery.

BootKeyboard.begin(); delay(500); BootKeyboard.press(KEY_LEFT_GUI); BootKeyboard.press('r'); delay(5000); BootKeyboard.releaseAll();

The only thing I’ve heard of messing this up is of you hold down the keys too soon in the boot process, the system doesn’t see the press so unless you have some exotic gaming keyboard that wants to listen for the host and then decide to send key presses - the cheapest, whatever handy USB keyboard you have works well across all the Macs from the latest to ones 10 years old or more.

  • The Corsair is a USB keyboard, and I did also try a White Fox, which had the same problem - possibly because it also uses a configurable controller on board. There seems to be some speed requirement. – Mark Green Jan 7 '19 at 1:16
  • Yes - see the code posted about the delay needed. For the macdeploystick project they wait 500 ms then hold the keys for 5000 ms. I’ve edited the answer to call out KEY_LEFT_GUI specifically and the timing @MarkGreen – bmike Jan 7 '19 at 1:22
  • I've had good success with generic Dell USB keyboards (Likely because we use Dell PCs at work...) you can usually get one of these at a used computer store for $5 or $10 bucks. I keep one around just in case my Mac keyboard dies or goes nuts or otherwise stops functioning. Just remember the Windows key = Command and the Alt key = Option – Steve Chambers Jan 8 '19 at 15:01

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .