A flexible keyboard layout is at the heart of a software keyboard, with many considerations like the current device model, screen orientation, locale, etc.

An English Keyboard

KeyboardKit lets you use InputSets to define input keys, and KeyboardLayouts to define the full set of keys. This gives you maximum flexibility to define layouts for different locales and configurations.

In KeyboardKit, a KeyboardLayoutService can generate dynamic layouts at runtime. This provides the flexibility we need to adjust the layout as needed.

πŸ‘‘ KeyboardKit Pro

KeyboardKit Pro unlocks additional input sets like qwertz, azerty as well as locale-specific input sets and layouts for all 71 supported languages.

A Swedish Keyboard

KeyboardKit Pro also unlocks a layout service that can generate iPad Pro layouts for all locales:

An iPad Pro keyboard

KeyboardKit Pro also unlocks ways to easily add additional input rows above the KeyboardView:

An input toolbar

KeyboardKit Pro also unlocks KeyboardLayout capabilities that make it easier to customize a layout.

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
⌨️

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

KeyboardKit Pro can identify and open specific host applications.

pro
πŸ”£

Layout

KeyboardKit has fully dynamic & customizable layout engine.

open-source pro
🌐

Localization

KeyboardKit supports 70 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