KeyboardKit is a Swift SDK that lets you create fully customizable keyboards with a few lines of code, using SwiftUI.
This version updates Pro licenses.
This version makes it easier to create a themed style provider, and adds a new .numberPad
keyboard type.
Keyboard.KeyboardType
has a new .numberPad
type.KeyboardStyleProvider.themed
has new convenience apis.KeyboardContext
will now get its initial keyboard type set to the document text proxy's keyboard type.This version adjusts Pro licenses.
This version adjusts Pro licenses.
This version adds a licenseError
parameter to setupPro
in KeyboardKit Pro.
Due to this, the setupProError
in KeyboardInputViewController
is deprecated and no longer used.
This version adds a new SystemKeyboardBottomRow
component, adds some new actions and fixes a bug.
KeyboardAction
has a new .text
action to insert long text.KeyboardLayout
has a new .bottomRowSystemItemWidth
property.SystemKeyboardComponent
is a new protocol that defines shared typealiases.KeyboardAction.url
is now a system key.SystemKeyboardBottomRow
is a new Pro component.SystemKeyboard
no longer shows the emoji key for insufficient KeyboardKit Pro licenses.This version adjusts an autocomplete behavior.
KeyboardInputViewController
no longer hard resets the autocomplet econtext when the text is empty.KeyboardGesture
has a new .end
gesture, which is used to fix a bug that could cause space drag to never end.This version moves many types into their related namespaces, to make the SDK surface smaller and easier to overview. Since this involves many renamings, the Deprecations
section below only lists deprecated types.
The library has deprecation types to help you migrate to the new type names, so you should not run into any breaking changes when migrating from earlier versions to this one.
The KeyboardState
namespace has been renamed to KeyboardStatus
, since it was often confused with Keyboard.KeyboardState
. Keyboard.KeyboardState
& Keyboard.KeyboardServices
have also been renamed to the shorter Keyboard.State
and Keyboard.Services
, since it reads better in code.
There are new namespaces too. For instance, KeyboardApp
has app-related types, KeyboardFeedback
has feedback-related types, and KeyboardSettings
has settings-related types.
This version also makes it easier to register custom audio & haptic feedback, in a way that requires less or no customizations in the action handler. Just register any custom feedback for any gesture on any action, and it will be triggered by the standard action handler. You can also play URL-based sound effects from custom audio files.
This version also makes the action and input callout bubbles look more native, and adds support for adding an input toolbar between the system keyboard and autocomplete toolbar.
Finally, KeyboardKit Pro makes more locales use the new iPad Pro layout. It also provides a brand new KeyboardApp.HomeScreen
that can be used as an app home screen, and a new KeyboardStatus.Section
that can show all relevant statuses for a keyboard app.
EmojiKeyboard
sub-components are now throwing as well.KeyboardStatus.Label
now uses its style to change icons.@available
deprecations to help adjust your code.Feedback.Audio
has a new customUrl
that can play URL-based audio.Feedback.AudioConfiguration
has new ways to register custom feedback.Feedback.HapticConfiguration
has new ways to register custom feedback.FeedbackContext
has new ways to register custom audio/haptic feedback.KeyboardLayout
has a new copy()
function that creates a mutable copy.KeyboardLayout
has new functions for using and tweaking the bottom row.KeyboardLayout
has a new inputToolbarLayout()
value builder function.KeyboardLayout
has a new functions for getting the total layout height.SystemKeyboard
's service-based initializer now allows a layout override.View
has a new keyboardInputToolbarDisplayMode
modifier for input toolbars.Callouts
now use curves that look a lot more native.Keyboard.Button
no longer has a minimum scale factor.KeyboardApp
is a new namespace for app-related types.KeyboardApp.HomeScreen
is a new app home screen view template.KeyboardLayout.Configuration
now defines number toolbar height.KeyboardFeedback
is a new namespace for feedback-related types.KeyboardSettings
is a new namespace for settings-related types.KeyboardStatus.Label
now uses filled icon variants, by default.KeyboardStyle.StandardProvider
now applies a light weight to backspace.KeyboardStyle.StandardProvider
now applies more adaptive content insets.SystemKeyboard
has been optimized in how it renders the system keyboard.KeyboardApp.HomeScreen
is a new app-specific home screen template.KeyboardStatus
has a new Section
view that can display keyboard statuses.KeyboardTextField
and KeyboardTextView
can now trigger a custom onSubmit
function.SystemKeyboard
now has an addNumberToolbar
parameter to add a number toolbar in KeyboardKit Pro.Catalan
, Czech
, Danish
, Faroese
, Finnish
, Georgian
, German
, German (Austria)
, German (Switzerland)
, Greek
, Hawaiian
, Icelandic
, Inari Sรกmi
, Macedonian
, Maltese
, Mongolian
, Northern Sรกmi
, Norwegian
, Russian
, Serbian
, Slovak
, Turkish
, Ukrainian
.Callouts.ButtonArea
has been deprecated.Callouts.Curve
has been deprecated.Emoji.Grid
has been moved to EmojiKit
.KeyboardStyleProvider.buttonContentBottomMargin
is no longer used.This version adjusts Pro licenses.
This version adjusts Pro licenses.