Overview
While native iOS keyboards have few ways to customize the look and feel, KeyboardKit keyboards can be styled and customized to great extent.
KeyboardKit uses KeyboardStyle
types to style its views. For instance, a KeyboardStyle.InputCallout
style can be used to style a Callouts.InputCallout
view.
KeyboardKit Pro unlocks a powerful theme engine, and many more ways to style a keyboard.
Terminology
KeyboardKit uses different names for different ways to style keyboards.
- A
KeyboardStyle
style is static and can be applied to certain views. - A
KeyboardStyleProvider
is dynamic and provides context-based styles. - A
KeyboardTheme
is a static style provider that can define, reuse and share styles.
You can mix and match these concepts as you see fit.
Resources & Assets
KeyboardKit comes with colors and assets that can be used to create native-looking keyboards.
Image
has a bunch of keyboard-specific images, e.g..keyboardBackspace
.Color
has a bunch of keyboard-specific colors, e.g..keyboardBackground
.KeyboardAction
and other types have standard images, texts and colors.
Core Features
KeyboardKit uses view modifier-based styling. For instance, the .autocompleteToolbarStyle(...)
view modifier can be used to style an Autocomplete.Toolbar
with an Autocomplete.ToolbarStyle
.
However, some components like the SystemKeyboard
are more complex and need dynamic styling. KeyboardKit then uses a KeyboardStyleProvider
that can vary styles based on many factors.
A KeyboardStyleProvider
can return dynamic styles for different parts of the keyboard. Unlike static styles, style providers can vary styles depending on device, locale, action, etc.
π Pro Features
KeyboardKit Pro unlocks a theme engine that makes it a lot easier to define and share styles. You can apply any theme with a KeyboardStyle.ThemeBasedProvider
. See themes for more information.
Documentation
The information on this page is shortened to be easier to overview. For more information about this feature, code samples, etc. please see the online documentation.
Read more
Essentials
KeyboardKit provides essential features, utilities & views.
Actions
KeyboardKit makes it easy to trigger keyboard-related actions
AI Support
KeyboardKit has features that are needed for AI.
App
KeyboardKit has app-specific screens & views.
Autocomplete
KeyboardKit can perform autocomplete.
Callouts
KeyboardKit can show input & secondary action callouts.
Colors
KeyboardKit defines keyboard-specific colors.
Device Utilities
KeyboardKit has device-specific utilities.
Dictation
KeyboardKit can perform dictation from the keyboard.
Emojis
KeyboardKit defines emojis, categories, skin tones, etc.
External Keyboards
KeyboardKit Pro can detect if an external keyboard is being used.
Feedback
KeyboardKit can trigger audio & haptic feedback.
Gestures
KeyboardKit has a customizable keyboard gesture engine.
Host
KeyboardKit can identify the host application.
Images
KeyboardKit defines keyboard-specific images.
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.
Text Input
KeyboardKit can input text inside the keyboard extension itself.
Themes
KeyboardKit can use themes to style keyboards in flexible ways.