Proxy Utilities

KeyboardKit makes your text document proxy do a LOT more.

➡️

Overview

iOS keyboards use a UITextDocumentProxy to integrate with the currently active text field. It lets you insert and delete text, get the selected text, move the input cursor, etc.

The native proxy APIs are however quite limited, and make it hard to get detailed information about the text and perform many standard keyboard operations.

KeyboardKit adds a bunch of proxy extension to make things easier. KeyboardInputViewController also has a custom .textDocumentProxy that lets you do even more.

KeyboardKit Pro adds even more proxy capabilities, such as being able to read the full document, instead of the limited text you get access to by default.

Core Features

KeyboardKit has a Proxy namespace that contains proxy-related types. For now, it will only contain types when it’s part of the KeyboardKit Pro build.

KeyboardKit extends UITextDocumentProxy with additional functionality, like autocomplete support, more ways to handle and analyze the text, etc. You get access to it by simply importing KeyboardKit.

👑 Pro Features

KeyboardKit Pro unlocks additional text document proxy capabilities, like the ability to read the full document context, instead of the limited text you get access to by default.

To read the full document context, you just have to call the fullDocumentContext property, which will move the text cursor to unlock more text.

Omce the read operation is done, KeyboardKit will try to return the text input cursor to its original position. This is a best effort attempt, since the native APIs are very limited.

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.