πŸ“±

App Utilities

Powerful app models and templates

KeyboardKit provides main app utilities to let you build a great main app for your custom keyboard.

With its full screen estate and unlimited capabilites, the main app is a perfect place to onboard your users, provide keyboard settings, and to perform certain operations like dictation.

Keyboard App

KeyboardKit has a KeyboardApp struct that is also a namespace for app-related types and views. You can create an app-specific KeyboardApp value to define your app’s licenseKey, appGroupId, etc.

extension KeyboardApp {

    static var keyboardKitDemo: KeyboardApp {
        .init(
            name: "KeyboardKit",
            licenseKey: "your-key-here",                // Sets up KeyboardKit Pro!
            appGroupId: "group.com.keyboardkit.demo",   // Sets up App Group data sync
            locales: .keyboardKitSupported,             // Sets up the enabled locales
            autocomplete: .init(                        // Sets up custom autocomplete  
                nextWordPredictionRequest: .claude(...) // Sets up AI-based prediction
            ),
            deepLinks: .init(app: "kkdemo://", ...)     // Defines how to open the app
        )
    }
}

You can then use the value to set up your main app and keyboard extension to use the same config.

πŸ‘‘ KeyboardKit Pro

KeyboardKit Pro unlocks a HomeScreen template that can be used as the main app root view, as well as a SettingsScreen, LocaleScreen, and ThemeScreen, etc.:

A Home Screen
A Settings Screen
A Locale Screen
A Theme Screen

These screens can be used independently as well, in case you have a custom home screen, and can be customized and localized to great extent.

Documentation

The information on this page is shortened to be easier to overview. For more information, see the online documentation, or the KeyboardKit Pro documentation.


Features

KeyboardKit is packed with features. You can upgrade to KeyboardKit Pro to unlock pro features.

🌱

Essentials

KeyboardKit provides essential models, features & views.

open-source pro
⌨️

Keyboard View

KeyboardKit can render a native-looking, customizable keyboard.

open-source pro
πŸ’₯

Actions

KeyboardKit lets you trigger and handle keyboard actions.

open-source pro
πŸ€–

AI Support

KeyboardKit Pro unlocks features that are needed for AI.

pro
πŸ“±

App Utilities

KeyboardKit makes it easy to set up your app and its keyboard.

open-source pro
πŸ’‘

Autocomplete

KeyboardKit Pro unlocks local & remote autocomplete features.

pro
πŸ—―

Callouts

KeyboardKit can show input and secondary action callouts.

open-source pro
πŸ–₯️

Device Utilities

KeyboardKit can identify device types, capabilities, etc.

open-source pro
🎀

Dictation

KeyboardKit Pro can trigger dictation from the keyboard.

pro
πŸ˜€

Emojis

KeyboardKit defines emojis, Pro unlocks an emoji keyboard, etc.

open-source pro
πŸ“¦

Escrow

KeyboardKit Pro offers escrow services to enterprise customers.

pro
⌨️

External Keyboards

KeyboardKit Pro can detect if an external keyboard is connected.

pro
πŸ”‰

Feedback

KeyboardKit can trigger audio & haptic feedback.

open-source pro
πŸ‘†

Gestures

KeyboardKit can trigger & handle rich keyboard gestures.

open-source pro
🏠

Host Application

KeyboardKit Pro can identify and open specific host applications.

pro
πŸ”£

Layout

KeyboardKit has fully dynamic & customizable layout engine.

open-source pro
🌐

Localization

KeyboardKit supports 75 locales, with localized resources.

open-source pro
πŸ—ΊοΈ

Navigation

KeyboardKit lets you open urls and apps from the keyboard.

open-source pro
πŸ‘

Previews

KeyboardKit has built-in support for SwiftUI previews.

open-source pro
πŸ“„

Proxy Utilities

KeyboardKit can access the full document content in more ways.

open-source pro
βš™οΈ

Settings

KeyboardKit has tools for in-app settings & System Settings.

open-source pro
🩺

Status

KeyboardKit detects if a keyboard is enabled, has full access, etc.

open-source pro
πŸ“

Text Input

KeyboardKit Pro unlocks tools to let you type within the keyboard

pro
🎨

Styling

KeyboardKit lets you style your keyboards to great extent.

open-source pro
🍭

Themes

KeyboardKit Pro unlocks a theme engine & many standard themes.

pro