Layout

KeyboardKit has customizable input sets & keyboard layouts.

πŸ”£

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, InputSets and KeyboardLayouts 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 KeyboardLocales.

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.

System Keyboard - English

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 InputSets and KeyboardLayoutProviders 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.

System Keyboard - iPad Pro

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

Pro Features