Overview
Keyboard extensions will by default only send text to the text field in the currently active app, and will not detect if you select a text field within the keyboard.
This makes it hard to build features that require the user to type within the keyboard extensions, like search features, or AI-based text inputs.
KeyboardKit therefore adds ways to make this easier, and adds ways to route text to any other text field within the keyboard extension.
KeyboardKit Pro unlocks even more input utilities, like a KeyboardTextField
that automatically lets you type within a keyboard extension.
How to support text input with KeyboardKit
KeyboardKit makes text input easier. KeyboardInputViewController
has a textInputProxy
that can be set to automatically route text to any other text field or custom proxy.
Just set textInputProxy
to start routing text to that proxy, and set it to nil to resume routing text to the active application. You can always access the original proxy with originalTextDocumentProxy
.
π KeyboardKit Pro
KeyboardKit Pro unlocks text input views that automatically register and unregister themselves as the textInputProxy
when they receive and lose focus.
KeyboardTextField
wraps a UITextField
and can be used for single-line text inputs (or multi-line in later versions of iOS), while KeyboardTextView
wraps a multi-line UITextView
.
Both views support SwiftUI FocusState
and have a focused
view modifier that lets you provide a custom done button that slides in when the view is focused.
Documentation
The information on this page is shortened to be easier to overview. For more information see the online documentation. For KeyboardKit pro, see the pro documentation.
Core Features
KeyboardKit is packed with features to help you build amazing custom keyboards. You can upgrade to KeyboardKit Pro to unlock pro features.
Essentials
KeyboardKit provides essential features, utilities & views.
Pro Features
KeyboardKit Pro unlocks features like autocomplete, emojis, AI, etc.
Actions
KeyboardKit makes it easy to handle keyboard actions.
App
KeyboardKit makes it easy to set up your app and keyboard.
Callouts
KeyboardKit can show input & secondary action callouts.
Device Utilities
KeyboardKit has device-specific utilities.
Emojis
KeyboardKit defines emojis, emoji categories, skin tones, etc.
Feedback
KeyboardKit can trigger audio & haptic feedback.
Gestures
KeyboardKit has a customizable keyboard gesture engine.
Host
KeyboardKit can identify the host application.
Layout
KeyboardKit has customizable input sets & keyboard layouts.
Localization
KeyboardKit supports 60+ locales and languages.
Navigation
KeyboardKit lets you open urls and apps from the keyboard.
Previews
KeyboardKit has extension keyboard preview support.
Proxy Utilities
KeyboardKit makes your text document proxy do a LOT more.
Settings
KeyboardKit has tools for in-app settings & System Settings.
Status
KeyboardKit detects if a keyboard is enabled, has full access, etc.
Styling
KeyboardKit lets you style your keyboards to great extent.
π Pro Features
KeyboardKit Pro unlocks pro features that take your keyboard to the next level. Go pro today!
Essentials
KeyboardKit Pro unlocks system keyboard and theme previews.
AI Support
KeyboardKit Pro unlocks features that are needed for AI.
App
KeyboardKit Pro unlocks app-specific screens & views.
Autocomplete
KeyboardKit Pro unlocks on-device & remote autocomplete.
Callouts
KeyboardKit Pro unlocks localized callouts for all locales.
Dictation
KeyboardKit Pro can trigger dictation from the keyboard.
Emoji Keyboard
KeyboardKit Pro unlocks an emoji keyboard.
External Keyboards
KeyboardKit Pro can detect if an external keyboard is being used.
Host
KeyboardKit Pro can identify and open specific host applications.
Layout
KeyboardKit Pro unlocks localized layouts for all locales.
Localization
KeyboardKit Pro unlocks support for 60+ locales.
Previews
KeyboardKit Pro unlocks system keyboard and theme previews.
Proxy Utilities
KeyboardKit Pro makes the proxy able to read the full document.
Text Input
KeyboardKit Pro unlocks tools to let you type within the keyboard
Themes
KeyboardKit Pro unlocks a theme engine & many standard themes.