KeyboardKit 7.1

Mar 9, 2023 releasesautocompletelocalizationlayout

KeyboardKit 7.1 is out! This minor release fixes a few bugs that were introduced in the 7.0 release, adds a brand new autocomplete experience, improves the locale picker context menu and makes it easier than ever to setup KeyboardKit.

Icon badge

Simplified setup

KeyboardKit currently only had a setup function that took a view value. This could lead to memory leaks when the view required a KeyboardInputController reference, if you forgot to make the input controller reference weak or unowned.

KeyboardKit 7.1 therefore adds a new setup function to the mix, that takes a view builder that is called with an unowned controller reference. This makes it easy to use the controller in the view, without having to handle not retaining the controller reference.

Furthermore, KeyboardKit will now by default set up a SystemKeyboard, which means that you don’t have to setup a view to use a regular system keyboard. You can of course still override viewWillSetupKeyboard if you want to use a custom view or customize the SystemKeyboard.

New autocomplete provider

KeyboardKit Pro has a new autocomplete provider that produces much better results than the current standard provider. You can try it out by toggling on this feature in viewDidLoad:

FeatureToggle.shared.toggleFeature(.newAutocompleteEngine, .on)

If this new engine behaves as well as it should, it will replace the current one in a future version.

New locale switcher

The locale context menu that is shown when long pressing the locale switcher button (or space, if it’s configured that way) has been refactored to work and look a lot better on iOS 16 and macOS 12.

The newl menu opens with a much smoother animation and keeps the keyboard visible, instead of popping out the key and blur the background. This will make switching locales a lot smoother.

Bug fixes

KeyboardKit 7.0 unfortunately had a line of code removed, that caused some iPad layouts to break. KeyboardKit 7.1 fixes this and tweaks a bunch of Pro layouts to match their native look even more.


KeyboardKit 7.1 builds on the momentum from 7.0 by adding a brand new autocomplete provider and locale context menu, while also simplifying the setup, reducing the risk of memory leaks when setting up controller-depending views and fixing a couple of layout bugs.

You find a complete list of changes in the release notes.


If you found this post interesting and would like to share your thoughts, ideas, feedback etc. please reply to this tweet or this toot.