Overview
A flexible keyboard layout is at the heart of a software keyboard, with many considerations like the current device model, screen orientation, locale, etc.
In KeyboardKit, InputSet
s and KeyboardLayout
s are important parts of creating a layout, where the input set specifies the input keys and the layout specifies the full layout configuration.
KeyboardKit Pro unlocks support for iPad Pro-specific layouts, as well as localized input sets and layout providers for all KeyboardLocale
s.
Layout Functionality
An InputSet
specifies the input keys of a keyboard. KeyboardKit has pre-defined input sets like .qwerty
, .standardNumeric
and .standardSymbolic
. You can also create your own input sets.
A KeyboardLayout
specifies the full set of keys of a keyboard. It can vary greatly for different device types, screen orientations, locales, etc.
For instance, iOS keyboards often have 3 input rows, where the input keys are surrounded by side actions, as well as a bottom row with a space key and action buttons on both sides.
This is however not always true. All layouts are different on iPhone and iPad, some (like Armenian) have 5 rows, some (like Greek) remove side-buttons, etc. Also, the iPad Pro differs from the iPad.
Since the layout differences can be quite significant, the layout engine must be flexible. KeyboardKit has a bunch of base classes that define a good starting point.
π Pro features
KeyboardKit Pro unlocks localized InputSet
s and KeyboardLayoutProvider
s for all keyboard locales.
KeyboardKit Pro also unlocks an iPadProKeyboardLayoutProvider that provides iPad Pro-specific layouts, and automatically use it for most locales. You can use it separately as well.
Documentation
The information on this page has been 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
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.
Emojis
KeyboardKit defines emojis, categories, skin tones, etc.
Feedback
KeyboardKit can trigger audio & haptic feedback.
Gestures
KeyboardKit has a customizable keyboard gesture engine.
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 rich SwiftUI 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 Routing
KeyboardKit kan route text to other places.
Pro Features
Essentials
KeyboardKit Pro unlocks system keyboard and theme previews.
Actions
KeyboardKit Pro auto-registers the most recently used emojis.
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 perform dictation from the keyboard.
Emojis
KeyboardKit Pro unlocks an emoji keyboard with skintone support.
External Keyboards
KeyboardKit Pro can detect if an external keyboard is connected.
Feedback
KeyboardKit Pro unlocks tools for toogling feedback on & off.
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.