🎨

Styling

Easily style your custom keyboard

While iOS has very limited ways to customize the look and feel of the native keyboard, KeyboardKit can be styled and customized with styles and themes.

KeyboardKit has a KeyboardStyle namespace that contains style-related types, styles and views, to let you style different parts of the keyboard.

Colors & Images

KeyboardKit defines keyboard-specific Color and Image assets that can be used in any keyboard.

Image Extensions
Color Extensions

See the docs for info on how semi-transparent colors are used to work around a system bug in iOS.

Type Extensions

Many KeyboardKit types define standard images, texts & colors. For instance:

let context = KeyboardContext()
let image = KeyboardAction.command.standardButtonImage(for: context) // Command icon
let text = KeyboardAction.space.standardButtonText(for: context)     // KKL10n.space

Style Modifiers

Most KeyboardKit views have custom styles and style modifiers. For instance, the Keyboard.Button view has a .keyboardButtonStyle(_:) view modifier that lets you customize the style of any button.

πŸ‘‘ KeyboardKit Pro

KeyboardKit Pro unlocks additional assets, and a theme engine that makes styling even easier.

Emoji Icons

KeyboardKit Pro emoji-specific, vectorized assets, like the .keyboardEmoji and .emojiCategory(_:):

Emoji Images

Themes

KeyboardKit Pro unlocks a theje engine that makes easy to define and style keyboards with themes:

Standard Green Theme
Swifty Blue Theme
Cotton Candy Theme

See themes for more information about the KeyboardKit Pro theme engine and its various themes.

Documentation

The information on this page is shortened to be easier to overview. For more information, see the online KeyboardKit documentation.


Features

KeyboardKit has a lot of core features. You can upgrade to KeyboardKit Pro to unlock pro features. Features that are marked with pro below are exclusive to KeyboardKit Pro.

🌱

Essentials

KeyboardKit provides essential models, features & views.

⌨️

Keyboard View

KeyboardKit has a native-looking, customizable keyboard view.

πŸ’₯

Actions

KeyboardKit lets you trigger and customize keyboard actions.

πŸ€– pro

AI Support

KeyboardKit Pro unlocks features that are needed for AI keyboards.

πŸ“±

App Utilities

KeyboardKit has tools for setting up great keyboard apps.

πŸ’‘ pro

Autocomplete

KeyboardKit Pro unlocks local autocomplete and predictions.

πŸ—―

Callouts

KeyboardKit can show input and secondary action callouts.

πŸ“‹ pro

Clipboard

KeyboardKit Pro can manage the system clipboard and user clips.

πŸ–₯️

Device Utilities

KeyboardKit can identify device types, capabilities, etc.

🎀 pro

Dictation

KeyboardKit Pro can trigger dictation from the keyboard.

πŸ˜€

Emojis

KeyboardKit has emojis models, an emoji keyboard, etc.

πŸ“¦ pro

Escrow

KeyboardKit Pro offers Escrow Services to enterprise customers.

⌨️ pro

External Keyboards

KeyboardKit Pro can detect if an external keyboard is connected.

πŸ”‰

Feedback

KeyboardKit can trigger audio & haptic feedback.

π’œ pro

Fonts

KeyboardKit Pro lets you type with custom unicode fonts.

πŸ‘†

Gestures

KeyboardKit can trigger & handle rich keyboard gestures.

🏠 pro

Host Application

KeyboardKit Pro can identify and open specific applications.

πŸ”£

Layout

KeyboardKit has dynamic and fully customizable layout engine.

🌐

Localization

KeyboardKit supports 75 locales, with localized assets & layouts.

πŸ—ΊοΈ

Navigation

KeyboardKit lets you open urls and apps from the keyboard.

πŸ‘

Previews

KeyboardKit has built-in support for SwiftUI and in-app previews.

πŸ“„

Proxy Utilities

KeyboardKit can access the full document content in more ways.

βš™οΈ

Settings

KeyboardKit has tools for in-app settings & System Settings.

🩺

Status

KeyboardKit can detect & handle keyboard and Full Access states.

πŸ“ pro

Text Input

KeyboardKit Pro unlocks tools to let you type within the keyboard

🎨

Styling

KeyboardKit lets you design your own beautiful keyboard styles.

🍭 pro

Themes

KeyboardKit Pro unlocks a theme engine with many themes.