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 Keyboard.SettingsScreen
, Keyboard.LocaleSettingsScreen
, etc.:


Most features have their own settings screens that can be used in the main app and the keyboard:


These screens can be customized and localized to great extent, using convenient view modifiers.
Documentation
The information on this page is shortened to be easier to overview. For more information, see the online KeyboardKit documentation.
Features
KeyboardKit has a lot of core features. You can upgrade to KeyboardKit Pro to unlock pro features. Features that are marked with pro below are exclusive to KeyboardKit Pro.
Essentials
KeyboardKit provides essential models, features & views.
Keyboard View
KeyboardKit has a native-looking, customizable keyboard view.
Actions
KeyboardKit lets you trigger and customize keyboard actions.
AI Support
KeyboardKit Pro unlocks features that are needed for AI keyboards.
App Utilities
KeyboardKit has tools for setting up great keyboard apps.
Autocomplete
KeyboardKit Pro unlocks local autocomplete and predictions.
Callouts
KeyboardKit can show input and secondary action callouts.
Clipboard
KeyboardKit Pro can manage the system clipboard and user clips.
Device Utilities
KeyboardKit can identify device types, capabilities, etc.
Dictation
KeyboardKit Pro can trigger dictation from the keyboard.
Emojis
KeyboardKit has emojis models, an emoji keyboard, etc.
Escrow
KeyboardKit Pro offers Escrow Services to enterprise customers.
External Keyboards
KeyboardKit Pro can detect if an external keyboard is connected.
Feedback
KeyboardKit can trigger audio & haptic feedback.
Fonts
KeyboardKit Pro lets you type with custom unicode fonts.
Gestures
KeyboardKit can trigger & handle rich keyboard gestures.
Host Application
KeyboardKit Pro can identify and open specific applications.
Layout
KeyboardKit has dynamic and fully customizable layout engine.
Localization
KeyboardKit supports 75 locales, with localized assets & layouts.
Navigation
KeyboardKit lets you open urls and apps from the keyboard.
Previews
KeyboardKit has built-in support for SwiftUI and in-app previews.
Proxy Utilities
KeyboardKit can access the full document content in more ways.
Settings
KeyboardKit has tools for in-app settings & System Settings.
Status
KeyboardKit can detect & handle keyboard and Full Access states.
Text Input
KeyboardKit Pro unlocks tools to let you type within the keyboard
Styling
KeyboardKit lets you design your own beautiful keyboard styles.
Themes
KeyboardKit Pro unlocks a theme engine with many themes.