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 8.3.1
KeyboardKit Pro helps you create custom keyboards for iOS and iPadOS.
โญ๏ธ 92
๐Ÿ•“ 3 weeks ago
iOS macOS watchOS tvOS
.package(url: "https://github.com/KeyboardKit/KeyboardKitPro.git", from: "8.3.1")

KeyboardKit Logo

Version Swift 5.8 Twitter: @getkeyboardkit Mastodon: @keyboardkit@techhub.social

About KeyboardKit Pro

KeyboardKit helps you create custom keyboard extensions with Swift and SwiftUI.

KeyboardKit extends KeyboardKit with pro features, such as fully localized keyboards, autocomplete, an emoji keyboard, themes, dictation, etc.

KeyboardKit lets you customize all parts of the keyboard. You can use custom layouts, designs, behavior, etc. and make any key or gesture trigger any action. You can even use completely custom views and just use the underlying functionality.

You can use KeyboardKit in many different ways. Keyboard extensions can use it to create custom keyboards. Apps can use it to check keyboard enabled state, full access, state, provide settings etc. Furthermore, any target can use it to build upon its models and functionality.

Commercially Licensed

KeyboardKit Pro is closed source and requires a commercial license.

Commercial licenses can be purchased from the website or from Gumroad.


KeyboardKit Pro can be installed with the Swift Package Manager:


Important! Unlike KeyboardKit, KeyboardKit Pro is a binary target and must only be added to the app target. If you add it to any other target, it may crash at runtime.

Supported Locales

KeyboardKit supports 63 keyboard-specific locales:

๐Ÿ‡ฆ๐Ÿ‡ฑ ๐Ÿ‡ฆ๐Ÿ‡ช ๐Ÿ‡ฆ๐Ÿ‡ฒ ๐Ÿ‡ง๐Ÿ‡พ ๐Ÿ‡ง๐Ÿ‡ฌ ๐Ÿ‡ฆ๐Ÿ‡ฉ ๐Ÿณ๏ธ ๐Ÿ‡ญ๐Ÿ‡ท ๐Ÿ‡จ๐Ÿ‡ฟ ๐Ÿ‡ฉ๐Ÿ‡ฐ
๐Ÿ‡ณ๐Ÿ‡ฑ ๐Ÿ‡ง๐Ÿ‡ช ๐Ÿ‡บ๐Ÿ‡ธ ๐Ÿ‡ฌ๐Ÿ‡ง ๐Ÿ‡บ๐Ÿ‡ธ ๐Ÿ‡ช๐Ÿ‡ช ๐Ÿ‡ซ๐Ÿ‡ด ๐Ÿ‡ต๐Ÿ‡ญ ๐Ÿ‡ซ๐Ÿ‡ฎ ๐Ÿ‡ซ๐Ÿ‡ท
๐Ÿ‡ง๐Ÿ‡ช ๐Ÿ‡จ๐Ÿ‡ญ ๐Ÿ‡ฌ๐Ÿ‡ช ๐Ÿ‡ฉ๐Ÿ‡ช ๐Ÿ‡ฆ๐Ÿ‡น ๐Ÿ‡จ๐Ÿ‡ญ ๐Ÿ‡ฌ๐Ÿ‡ท ๐Ÿ‡บ๐Ÿ‡ธ ๐Ÿ‡ฎ๐Ÿ‡ฑ ๐Ÿ‡ญ๐Ÿ‡บ
๐Ÿ‡ฎ๐Ÿ‡ธ ๐Ÿณ๏ธ ๐Ÿ‡ฎ๐Ÿ‡ฉ ๐Ÿ‡ฎ๐Ÿ‡ช ๐Ÿ‡ฎ๐Ÿ‡น ๐Ÿ‡ฐ๐Ÿ‡ฟ ๐Ÿ‡น๐Ÿ‡ฏ ๐Ÿ‡น๐Ÿ‡ฏ ๐Ÿ‡น๐Ÿ‡ฏ ๐Ÿ‡ฑ๐Ÿ‡ป
๐Ÿ‡ฑ๐Ÿ‡น ๐Ÿ‡ฒ๐Ÿ‡ฐ ๐Ÿ‡ฒ๐Ÿ‡พ ๐Ÿ‡ฒ๐Ÿ‡น ๐Ÿ‡ฒ๐Ÿ‡ณ ๐Ÿ‡ณ๐Ÿ‡ด ๐Ÿณ๏ธ ๐Ÿ‡ฎ๐Ÿ‡ท ๐Ÿ‡ต๐Ÿ‡ฑ ๐Ÿ‡ต๐Ÿ‡น
๐Ÿ‡ง๐Ÿ‡ท ๐Ÿ‡ท๐Ÿ‡ด ๐Ÿ‡ท๐Ÿ‡บ ๐Ÿ‡ท๐Ÿ‡ธ ๐Ÿ‡ท๐Ÿ‡ธ ๐Ÿ‡ธ๐Ÿ‡ฐ ๐Ÿ‡ธ๐Ÿ‡ฎ ๐Ÿ‡ช๐Ÿ‡ธ ๐Ÿ‡ฐ๐Ÿ‡ช ๐Ÿ‡ธ๐Ÿ‡ช
๐Ÿ‡น๐Ÿ‡ท ๐Ÿ‡บ๐Ÿ‡ฆ ๐Ÿ‡บ๐Ÿ‡ฟ

KeyboardKit provides a basic keyboard layout and callout actions, whileย KeyboardKit Pro provides localized layouts, callouts and behaviors for all supported locales.


KeyboardKit Pro extends KeyboardKit with pro features:

  • โŒจ๏ธ Essentials - KeyboardKit Pro unlocks system keyboard and theme live previews.
  • ๐Ÿ’ฅ Actions - KeyboardKit Pro registers and shows the most recently used emojis.
  • ๐Ÿค– AI Support - KeyboardKit Pro unlocks capabilities that are needed for AI.
  • ๐Ÿ’ก Autocomplete - KeyboardKit Pro unlocks local and remote autocomplete.
  • ๐Ÿ—ฏ Callouts - KeyboardKit Pro unlocks localized callout actions for all locales.
  • ๐ŸŽค Dictation - (BETA) KeyboardKit Pro unlocks dictation for apps and keyboards.
  • ๐Ÿ˜€ Emojis - KeyboardKit Pro unlocks an emoji keyboard and more emoji information.
  • โŒจ๏ธ External Keyboards - KeyboardKit Pro can detect if an external keyboard is connected.
  • ๐Ÿ”ฃ Layout - KeyboardKit Pro unlocks iPad Pro layout and localized layouts for all locales.
  • ๐ŸŒ Localization - KeyboardKit Pro unlocks fully localized keyboards for all locales.
  • ๐Ÿ‘๏ธ Previews - KeyboardKit Pro unlocks powerful system keyboard and theme previews.
  • โžก๏ธ Proxy Extensions - KeyboardKit Pro makes UITextDocumentProxy able to read all content in a document.
  • ๐ŸŽจ Styling - KeyboardKit Pro unlocks more ways to style keyboards.
  • ๐Ÿš Text Routing - KeyboardKit Pro lets you route text to text inputs within the keyboard.
  • ๐Ÿญ [Themes][Themes] - KeyboardKit Pro defines a theme engine with many predefined themes.
  • ๐ŸŒ Views - KeyboardKit Pro unlocks many additional views.

Getting started

After installing KeyboardKit Pro, just make your KeyboardViewController inherit KeyboardInputViewController instead of UIInputViewController:

import KeyboardKitPro

class KeyboardController: KeyboardInputViewController {}

This gives your controller access to new lifecycle functions like viewWillSetupKeyboard, observable state like state.keyboardContext, services like services.actionHandler, and much more.

KeyboardKit Pro will use a SystemKeyboard with an EmojiKeyboard and an autocomplete toolbar as the default keyboard view.

To use KeyboardKit Pro with the default view, just call setupPro without a view in viewDidLoad:

func viewDidLoad() {
    let license = try? setupPro(
        withLicenseKey: "your-key",
        locales: [...], // Define which locales to use 
    ) { license in
        // Make any license-based configurations here 

To use KeyboardKit Pro with a custom keyboard view, override viewWillSetupKeyboard and call setupPro with any custom view:

class KeyboardViewController: KeyboardInputViewControllerย {

    override func viewWillSetupKeyboard() {
        try? setupPro(
            withLicenseKey: "your-key",
            locales: [...], // Define which locales to use
            licenseConfiguration: { license in
                // Make any configurations and service adjustments here
            view: { controller in
                    state: controller.state,
                    services: controller.services,
                    buttonContent: { $0.view },
                    buttonView: { $0.view },
                    emojiKeyboard: { $0.view },
                    toolbar: { _ in MyCustomToolbar() }

For more information, please see the getting started guide.


The online documentation has more information, articles, code examples, etc.

Demo App

The KeyboardKit repository has a demo app that shows how to display keyboard state, link to system settings, etc.

The demo app has two keyboards:

  • Keyboard uses KeyboardKit and a customized SystemKeyboard.
  • KeyboardPro uses KeyboardKit Pro and a customized SystemKeyboard with all locales, autocomplete, themes etc.

Just open and run the demo app in the Demo folder, then enable the keyboards under System Settings. Note that you need to enable full access for some features, like haptic feedback.

KeyboardKit App

If you want to try KeyboardKit Pro without having to write any code or build the demo app from Xcode, there is a KeyboardKit app in the App Store, that lets you try out many pro features.


Feel free to reach out if you have questions or if you want to contribute in any way:

Commercially Licensed

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

Commercial licenses can be purchased from the website or from Gumroad.


Stars: 92
Last commit: 3 weeks ago
Advertisement: IndiePitcher.com - Cold Email Software for Startups

Release Notes

3 weeks ago

This version adjusts Pro licenses.

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