| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| 11.1.0 source code.tar.gz | 2026-10-20 | 4.0 MB | |
| 11.1.0 source code.zip | 2026-10-20 | 4.0 MB | |
| README.md | 2026-10-20 | 6.8 kB | |
| Totals: 3 Items | 8.1 MB | 0 | |
This version adds support for Khmer, Korean, Luxembourgish, Thai, Xhosa, and Yoruba.
This version detects iPhone Duo devices, and adjusts the keyboard layout and design to match a native Duo experience.
This version replaces mutually exclusive docked, floating, and split placement states with a single placement engine.
This version adds split keyboard support. Small phone screens will however only support this in landscape orientation.
This version adds a new, experimental autocomplete engine to the plugin, which can handle English, Italian, and Swedish.
π± Essentials
This version adds a keyboard placement enum and improves how locales are displayed.
Keyboard.AddedLocalewill only show its layout type when needed, to avoid clutter.Keyboard.DuoDetectoris a new type that can detect if the device is an iPhone Duo.Keyboard.LayoutTypehas two new Thai-specific types -.thai4Rowand.thai5Row.Keyboard.Placementis a new enum that defines mutually exclusive keyboard placements.Keyboard.PlacementContextMenuandKeyboard.PlacementPickerare two new poicker views.Keyboard.SpacebarLongPressBehaviorhas a new.keyboardPlacementMenumenu alternative.Keyboard.SpacebarMenuTypehas a newkeyboardPlacementthat replaceskeyboardDockEdge.KeyboardContexthas newavailableKeyboardPlacementsandkeyboardPlacementproperties.KeyboardContexthas a newisDuoDeviceproperty, which uses theDuoDetector's detection.KeyboardContexthas a newsetPersistedKeyboardPlacement(_:)function, which persists a placement.KeyboardViewsupports split mode and applies a keyboard placement menu to the dismiss keyboard key.KeyboardViewremoves the emoji keyboard switcher ifEmojiSettings.isEmojiSwitcherEnabledis false.
π‘ Autocomplete
This version adds a new Langlot engine that supports English, Italian, and Swedish.
AutocompleteEnginehas new download capabilities.AutocompleteEngineDownloadMenuis a new menu view.AutocompleteSettingshas a newisLexiconEnabledsetting.AutocompleteSettingsScreenhas a new lexicon suggestions toggle.AutocompleteToolbarStylecorner radius defaults to 25.KeyboardAppViewcan now inject an autocomplete engine.KeyboardInputViewControllercan now inject an autocomplete engine.KeyboardKitAutocompletePluginhas a newpluginAutocompleteEngine.KeyboardKitAutocompletePluginhas a new.langlot(...)engine builder.StandardAutocompleteServiceignores the system lexicon whenisLexiconEnabledis disabled.
π¬ Callouts
This version lets callout actions define rows, which is used by Thai to present all signs in two rows.
KeyboardActionCalloutnow renders callout action rows as multiple rows that grow upwards.KeyboardCalloutActionshas a newactionRowsDictionaryand a newactionRows(for:)function.KeyboardCalloutActionshas a newRowsBuilderandkeyboardCalloutActionRows(_:)view modifier.KeyboardCalloutContexthas a newupdateSecondaryActionRows(_:for:in:alignment:)update function.KeyboardCalloutContexthas newsecondaryActionsRowItemCountsandsecondaryActionsRowCountvalues.KeyboardCalloutContextdrag selection can move up between rows, if callout actions have multiple rows.
π Emojis
This version adds more emoji settings and a new settings screen.
EmojiSettingshas a newisEmojiSwitcherEnabledsetting.EmojiSettingsScreenis a new settings screen with toggles and pickers.
π£ Layout
This version adds iPhone Duo-specific keyboard layouts that match the native ones.
CGSizehas new.iPhoneDuoClosedScreenand.iPhoneDuoOpenScreensizes.KeyboardLayoutConfigurationhas new open and closed iPhone Duo configurations.KeyboardLayoutConfiguration.standardfunctions have a newisDuoDeviceparameter.KeyboardAction.standardButtonFontSizeuses larger input fonts on an open iPhone Duo.KeyboardLayout.iPhoneLayoutadds bottom row spacers on iPhone Duo, to match the native keyboard.KeyboardInputViewControllerandEmojiKeyboardignore the iPhone Duo safe area, to match the keyboard.
π Localization
This version adds support for Khmer, Korean, Luxembourgish, Thai, Xhosa, and Yoruba.
Keyboard.LayoutTypehas new.thai4Rowand.thai5RowThai layout types.Locale.khmer,.korean,.luxembourgish,.thai,.xhosa, and.yorubaare new supported locales.Localehas a newprefersAutocapitalizationproperty,falsefor Khmer and Thai.Keyboard.Diacritichas newkhmerSignandkhmerSignsKhmer diacritics.KeyboardLayouthas new.khmer,.korean,.luxembourgish,.thai,.xhosa, and.yorubabuilders.StandardKeyboardActionHandlercan now handle Korean input with a separate engine.
βοΈ Settings
This version cleans up KeyboardLocaleSettingsScreen and moves adding locales to a sheet.
KeyboardLocaleSettingsScreenhas a new button that opens an "add more languages" sheet.KeyboardLocaleSettingsScreenwill show suggested languages based on the current locale.KeyboardSettingshas a newkeyboardPlacementsetting, which replaceskeyboardDockEdge.KeyboardSettingshas a newisSplitKeyboardSettingAvailableproperty which checks the device.KeyboardSettingsScreenhas a new keyboard placement picker, which replaces the one-handed keyboard picker.
π Bug Fixes
KeyboardCalloutActionsnow resolves callout actions for Navajo.KeyboardInputViewControllerresolves the input case earlier, to avoid initial flicker.KeyboardViewno longer applies layout edge insets to overlays, like the emoji keyboard.KeyboardLayoutcaching now regards the screen size, to handle folding on an iPhone Duo.StandardAutocompleteServiceno longer autocorrects valid words to match capitalized contact names.StandardAutocompleteServicenow adjusts text replacement casing to match the replaced word.UITextDocumentProxyfixes an autocomplete bug in how space after the cursor was handled.Vietnamesefixes a problem where TELEX/VNI/VIQR stopped working after diacritic changes.
π¨ Breaking Changes
This version had to change the autocomplete engine due to findings when integrating Langlot.
AutocompleteEngineWithDownloadSupporthas been merged intoAutocompleteEngine.Keyboard.SpacebarLongPressBehaviorandKeyboard.SpacebarMenuTypehas renamed cases.KeyboardLocaleSettingsScreenLocalizationhas breaking changes due to its new structure.KeyboardSettingsScreenLocalization.topSectionOneHandedKeyboardhas been renamed to placement.