Swiftpack.co - KeyboardKit/KeyboardKitPro as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by KeyboardKit.
KeyboardKit/KeyboardKitPro 5.8.1
KeyboardKit Pro extends KeyboardKit with pro features.
⭐️ 26
🕓 2 days ago
.package(url: "https://github.com/KeyboardKit/KeyboardKitPro.git", from: "5.8.1")

KeyboardKit Pro

Version Platform Swift 5.3 MIT License Twitter: @danielsaidi

About KeyboardKit Pro

KeyboardKit helps you build custom keyboard extensions for iOS and iPadOS, using SwiftUI. It extends the native APIs to provide you with more functionality and has views and utils to let you mimic native keyboards.

The end result can look something like this...or entirely different:

KeyboardKit Pro is a license-based plug-in that extends KeyboardKit with pro features, such as fully localized system keyboards and services, local and remote autocomplete services, additional views etc.


KeyboardKit Pro can be installed with the Swift Package Manager:


KeyboardKit Pro only needs to be added to the main app target.

Getting started

Once KeyboardKit is added to your project, you need to obtain a license before you can start using it in your application.

Read more here


The KeyboardKit Pro documentation contains extensive information, code examples etc. and makes it easy to overview the various parts of the library.

You can either download the documentation or build it directly in Xcode, using Product/Build Documentation.

🇸🇪 Localization

KeyboardKit is localized in 39 keyboard-specific locales:

🇺🇸 🇦🇱 🇦🇪 🇧🇾 🇨🇿 🇭🇷 🇩🇰 🇳🇱 🇧🇪 🇬🇧
🇺🇸 🇪🇪 🇫🇮 🇫🇷 🇧🇪 🇨🇭 🇩🇪 🇦🇹 🇨🇭 🇬🇷
🇭🇺 🇮🇸 🇮🇪 🇮🇹 🇹🇯 🇱🇻 🇱🇹 🇳🇴 🇮🇷 🇵🇱
🇵🇹 🇧🇷 🇷🇴 🇷🇺 🇸🇮 🇪🇸 🇸🇪 🇹🇷 🇺🇦

KeyboardKit Pro provides completely localized keyboards for all keyboard locales, including locale-specific input sets, keyboard layouts and callout actions.

The number of available locales is based on your license. The available license tiers can be found on the KeyboardKit website.

Read more in the main repo


💡 Autocomplete

KeyboardKit Pro adds an autocomplete engine that supports all locales above. It also has a web-based autocomplete engine that fetches suggestions from a remote web service or api.

Read more here

🔤 Input Sets

KeyboardKit Pro adds locale-specific input sets for all locales above.

🗯 Secondary Actions

KeyboardKit Pro adds locale-specific secondary callout actions for all locales above.

🖼 Views

KeyboardKit Pro adds additonal views that simplifies building greater keyboard apps.

Read more here


Feel free to reach out if you have questions or feedback:

Sponsors and Clients

This project is proudly sponsored by the following companies:

Oribi Icon phonetoroam Icon Vitalis Icon LetterKey Icon Anomaly Software Icon Milo Creative Icon

KeyboardKit is free, but please consider sponsoring the project if you find it useful. You can support KeyboardKit through GitHub Sponsors, by signing up for a Pro license, paying for support, donations etc.


KeyboardKit Pro is closed source. See the LICENSE file for more info.


Stars: 26
Last commit: 15 hours ago
jonrohan Something's broken? Yell at me @ptrpavlik. Praise and feedback (and money) is also welcome.

Release Notes

5 days ago


This version adds new locales and renames a bunch of types, properties and parameters to make things nicer in preparation for 6.0.

🌐 New locales

  • 🇭🇷 Croatian
  • 🇧🇪 Dutch (Belgium)
  • 🇧🇪 French (Belgium)
  • 🇨🇭 French (Switzerland)
  • 🇦🇹 German (Austria)
  • 🇨🇭 German (Switzerland)
  • 🇭🇺 Hungarian
  • 🇸🇮 Slovenian

💡 Behavior changes

  • Several iPad layouts has adjusted the lower-right keys for numeric keyboards, to have , and . on the alphabetic keyboard and ! and ? on the numeric and symbolic. This is because these symbols currently don't adjust for uppercase and there is no swipe down support.

🗑 Deprecations

  • BrazilianCalloutActionProvider has been renamed to PortugueseBrazilCalloutActionProvider
  • BrazilianInputSetProvider has been renamed to PortugueseBrazilInputSetProvider
  • KeyboardLocale+secondaryCalloutActionProvider has been renamed to calloutActionProvider.
  • *KeyboardInputSetProvider implementations have been renamed to *InputSetProvider.
  • *SecondaryCalloutActionProvider implementations have been renamed to *CalloutActionProvider.

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics