KeyboardKit 10.5 is out

KeyboardKit 10.5 is out! This release adds support for Arabic (PC) πŸ‡¦πŸ‡ͺ and accessibility settings to increase the font weight and key height. It also improves autocomplete, tweaks the layout and design, and fixes some bugs.

KeyboardKit header image

New Locale

KeyboardKit 10.5 adds support for πŸ‡¦πŸ‡ͺ Arabic (PC), which is a variant of the classic Arabic layout, with different keys and callout actions.

🌱 Essentials

The KeyboardController protocol has a new resetKeyboardInputType function which is used by the system to disable emoji search when the text input moves.

♿️ Accessibility

This version adds a new KeyboardAccessibility namespace, with new accessibility settings that let you adjust the font weight and button height.

πŸ’‘ Autocomplete

This version adds a new additionalAutocompletions dictionary, and adds more standard suggestions to additionalAutocorrections. This makes suggestions more accurate, and lets you register custom values.

For instance, the default autocompletions dictionary now contains the suggestion β€œhe’ll” for β€œhell”. Unlike before, this manual addition will be a regular suggestion, and not an autocorrecting one.

The Autocomplete.SettingsScreen has a new toggle that can be used to hide the autocomplete toolbar. You can also toggle the AutocompleteSettings.isToolbarEnabled property with code.

Besides all this, the Autocomplete.StandardAutocompleteService has been improved to filter out any duplicate suggestions.

πŸ”£ Layout

The KeyboardLayout.DeviceConfiguration type now supports defining custom edgeInsets, which is applied to the edge of the keyboard. The standard layouts are adjusted to use it on Liquid Glass iPad devices.

The standard keyboard layouts now place the keyboard switcher first on Liquid Glass iPad devices, which aligns better with the native Liquid Glass layouts.

🌐 Localization

The new KeyboardLocale namespace is used to contain all locale-specific types. This lets us use Locale for Foundation-specific extensions.

The native Locale has a new .arabic_pc locale, which adds Arabic (PC)-specific layouts and callouts to KeyboardKit.

πŸ˜€ Emojis

The EmojiKeyboard now supports skin tones in emoji search. The KeyboardInputViewController will now also cancels emoji search when the cursor moves.

πŸ“„ Proxy

The UITextDocumentProxy has a new moveTextInputCursorToRefreshContext(sleepInterval:) extension, which can be used to move the cursor in a controlled way, to refresh the document context.

πŸŽ›οΈ Settings

The Keyboard.SettingsScreen is moved to KeyboardSettings and LocaleSettingsScreen has been moved to KeyboardLocale.

🎨 Styling

The new version slightly increases the font weight for image and lowercase keys, and redesigns the content view of all swipe down-enabled keys to look a bit more like native.

Conclusion

KeyboardKit 10.5 adds support for a new locale, and adds new accessibility features. It also adds several small capabilities to the various types, polishes the design, and fixes some bugs.

For more details, see the KeyboardKit 10.5 release notes. Upgrade now to take advantage of all improvements.

Discussions & More

If you found this interesting, please share your thoughts on Bluesky and Mastodon. Make sure to follow to be notified when new content is published.