Overview
KeyboardKit has various device-related features that aim to help you customize for various devices.
Although you should avoid designing for a specific device, orientation, or screen size, some features do need these kinds of considerations. Just take care to know when itβs needed.
Device type
KeyboardKit has a platform-agnostic DeviceType
enum that defines available device types. You can use .current
to get the current device type.
Interface orientation
KeyboardKit has a platform-agnostic InterfaceOrientation
enum that defines interface orientations. You can use .current
to get the current interface orientation.
Screen sizes
KeyboardKit has CGSize
extensions to help detecting device types, like .iPadScreenPortrait
. Thereβs also an .isScreenSize(_:)
rotation-agnostic function that compares.
Itβs extra important to avoid designing for a specific screen size, since apps can run in split screen, a keyboard can be floating, etc.
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.
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, 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.
Input
KeyboardKit can input text inside the keyboard extension itself.
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.
Themes
KeyboardKit can use themes to style keyboards in flexible ways.