Custom keyboards will stop functioning as expected when an external keyboard is connected. It’s therefore very important to be able to detect this and adjust the keyboard accordingly.

For instance, the text document proxy will not update properly, which means that your keyboard will not update things like casing and autocomplete properly.

For these reasons, many custom keyboards chooses to collapse the keyboard and instead show a collapsed utility bar with a limited set of features. KeyboardKit Pro can handle this automatically.

👑 KeyboardKit Pro

KeyboardKit Pro unlocks ways to detect if an external keyboard is connected or disconnected, and ways to automatically collapse the keyboard into a compact view.

KeyboardKit Pro will automatically update the ExternalKeyboardContext when an external keyboard is connected or disconnected. Without it, you update it manually.

If Keyboard.Settings.isKeyboardAutoCollapseEnabled is active, KeyboardKit Pro will also auto-collapse the keyboard whenever an external keyboard is connected.

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