A software attempt to address the "double key press" issue on Apple's butterfly keyboard [not actively maintained]
Alternatives To Unshaky
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
20 days ago30mitSwift
🖥 Control your display's brightness & volume on your Mac as if it was a native Apple Display. Use Apple Keyboard keys or custom shortcuts. Shows the native macOS OSDs.
8 days ago16mitSwift
A software attempt to address the "double key press" issue on Apple's butterfly keyboard [not actively maintained]
2 days ago132June 05, 202335mitSwift
KeyboardKit helps you create custom keyboards for iOS and iPadOS.
1a year ago10December 16, 20199mitSwift
⌨️ KeyboardLayoutGuide, back from when it didn't exist.
Tasty Imitation Keyboard1,152
4 years ago69bsd-3-clauseSwift
A custom keyboard for iOS8 that serves as a tasty imitation of the default Apple keyboard. Built using Swift and the latest Apple technologies!
4 years ago4unlicenseObjective-C
Seil (PCKeyboardHack) applies a patch to a keyboard driver. You can change CapsLock behavior, and activate dead keys on non-Apple keyboard.
4 years agomitSwift
AudioKit Sample Player (ROM Player) - EXS24, Sound Font, Wave Player
3 years ago47C
A vim port to iOS.
7 years ago5Java
2 months ago17mitC
Apple Magic Keyboard Driver (A1644) for Windows 10
Alternatives To Unshaky
Select To Compare

Alternative Project Comparisons

Unshaky Unshaky

Donate Github All Releases Build Status

PROJECT STATUS: Unshaky is in maintenance mode, and I will only work on bug fixes.

It seems on macOS 10.15.6, Unshaky no longer works unless by default, workaround: issue #166


Unshaky tries to address an issue on the butterfly keyboard (Macbook, Macbook Air 2018 & MacBook Pro 2016 and later): Double Key Press (See "User complaints" below).

Apple made it difficult to replace only the keyboard and it costs hundreds of dollars. Unshaky might save your keyboard by dismissing such "second key hits" (any key presses that occur no later than x milliseconds after the previous effective one). I fixed my "w" key with Unshaky, and if it does not work for you, open an issue here. The image below illustrates how Unshaky works.

How Unshaky works

[June 2018] Good news, Apple launched a Keyboard Service Program for MacBook and MacBook Pro, and go get your keyboard fixed, maybe temporarily.

[May 2019] Apple extends the service program to cover all MacBook (Air & Pro) with 3rd gen butterfly keyboards.

[May 2020] The Verge: The saga of Apple’s bad butterfly MacBook keyboards is finally over.

Complaints about this issue

How-To (Video Walkthrough)

Click the image below to watch it on YouTube

How to install and setup Unshaky

Can't watch by clicking the image above? Download mp4 (13MB) file here


Download Unshaky.app here

First, move the "Unshaky.app" to your "/Applications" folder.

Grant Accessibility Permission

Why "Input Monitoring" is not enough in Catalina?

Follow the instruction when you first open Unshaky. If the instruction does not work for you, go to System Preferences -> Security & Privacy -> Privacy (Tab) -> Accessibility (Left panel) and add "Unshaky.app." Make sure it is checked.

Since macOS 10.15.6, also add Unshaky to Privacy (Tab) -> Input Monitoring (Left panel), see issue #166

Grant Accessibility Permission

Launch at Startup (Optional)

Go to System Preferences -> Users & Groups -> Login Items (Tab) and add "Unshaky.app".

Grant Accessibility Permission

Configure delays for your defective keys

Click Unshaky icon in the menu bar and select "Configure" to configure delays for the defective keys.

How to pick an appropriate delay?

I don't think there is a universal delay value for all people. If you type very fast, you might want to have a shorter delay. I use 40 ms since I am a fast typer. With a long delay, I cannot type "apple" because the second "p" is likely to be blocked. Some users found 60 ms a sweet spot and some have no issue with 80 ms. My suggestion is to start with a short delay (like 40 ms) and gradually increase it.

For other FAQs, visit the Wiki

Community Contributors

  • Alexei Molinari (@al3xmill3r74) for v2 Unshaky icon Unshaky
  • Hazar (@hazarek) for v3 Unshaky icon Unshaky


If you can help translate Unshaky into more languages, open an issue here so I can prepare related files for translation.

Your contributions are valuable and make Unshaky accessible to more users.

Big Thank You to these community contributors who provide translations.

Language Contributors
Chinese _sam
Japanese forgazer, HackingGate
French xuesongTU
German Felix Grund
Russian Alexey Khromets
Ukrainian Alexey Khromets
Turkish Hazar Ekinci
Korean Woosuk Park
Portuguese (Portugal) Gonçalo Matos
Italian valepert, Domenico Corvasce, Daniele Torelli
Indonesian Elmo Tanu Miharja
Spanish (Latin America) jadraker
Dutch Siebrand Mazeland, Zandor Smith
Portuguese (Brazil) Délisson Junio
Norwegian Runar Skaare Tveiten
Czech Michal Zelinka
Slovak Michal Zelinka
Polish Blaze, Artur Kondas, xpctnc
Popular Keyboard Projects
Popular Apple Projects
Popular Hardware Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.