
KeyboardKit est un SDK Swiftui qui vous permet de créer des extensions de clavier entièrement personnalisables avec quelques lignes de code.
KeyboardKit étend les API de clavier limité d'Apple avec plus de capacités et offre des fonctionnalités supplémentaires, pour vous permettre de construire des claviers personnalisés exceptionnels avec peu d'effort.

KeyboardKit est open-source et complètement gratuit. Il peut être étendu avec KeyboardKit Pro pour déverrouiller les fonctionnalités Pro, comme les claviers localisés, la saisie semi-automatique et la correction automatique, la prise en charge de l'IA, un clavier Emoji, des thèmes, une dictée, etc.
KeyboardKit peut être installé avec le gestionnaire de packages Swift:
https://github.com/KeyboardKit/KeyboardKit.git
Pour utiliser KeyboardKit dans une extension du clavier, importez simplement KeyboardKit et laissez votre KeyboardController hériter KeyboardInputViewController au lieu de UIInputViewController :
import KeyboardKit
class KeyboardController : KeyboardInputViewController { } Cela vous donne accès à des fonctions de cycle de vie comme viewWillSetupKeyboardView , état observable, services, etc.
La façon la plus simple de configurer KeyboardKit est de créer une valeur KeyboardApp qui définit les informations pour votre application:
extension KeyboardApp {
static var keyboardKitDemo : Self {
. init (
name : " KeyboardKit " ,
licenseKey : " keyboardkitpro-license-key " ,
bundleId : " com.keyboardkit.demo " ,
appGroupId : " group.com.keyboardkit.demo " ,
deepLinks : . init ( app : " kkdemo:// " )
)
}
} Pour configurer votre clavier, il suffit de remplacer la configuration viewDidLoad et setup(for:) avec votre valeur KeyboardApp :
class KeyboardViewController : KeyboardInputViewController {
override func viewDidLoad ( ) {
super . viewDidLoad ( )
setup ( for : . keyboardKitDemo )
}
} Pour remplacer ou personnaliser le clavier KeyboardView standard, il suffit de remplacer viewWillSetupKeyboardView et d'appeler setupKeyboardView avec la vue que vous souhaitez utiliser:
class KeyboardViewController : KeyboardInputViewController {
override func viewWillSetupKeyboardView ( ) {
super . viewWillSetupKeyboardView ( )
setupKeyboardView { [ weak self ] controller in // <-- Use weak or unknowned self!
KeyboardView (
state : controller . state ,
services : controller . services ,
buttonContent : { $0 . view } ,
buttonView : { $0 . view } ,
collapsedView : { $0 . view } ,
emojiKeyboard : { $0 . view } ,
toolbar : { _ in MyCustomToolbar ( ) }
)
}
}
} Pour configurer votre application principale avec la même configuration, enveloppez simplement la vue de contenu racine dans un KeyboardAppView :
import SwiftUI
import KeyboardKit
@ main
struct MyApp : App {
var body : some Scene {
WindowGroup {
KeyboardAppView ( for : . keyboardKitDemo ) {
ContentView ( )
}
}
}
} La configuration de votre application et de votre clavier avec un KeyboardApp fera la synchronisation des paramètres entre les deux si un appGroupId est défini, enregistrez votre licence KeyboardKit Pro si une licenseKey est définie, configurez la dictée, les liens profonds, etc.
Pour plus d'informations, consultez le Guide de démarrage.
KeyboardKit prend en charge 71 localités spécifiques au clavier:
?? ?? ?? ?? ?? ?? ?? ? ️? ️ ??
?? ?? ?? ?? ?? ?? ?? ?? ?? ??
?? ?? ?? ?? ?? ?? ?? ?? ?? ??
?? ?? ?? ?? ?? ? ️ ?? ?? ?? ??
?? ?? ?? ?? ?? ?? ?? ?? ?? ? ️
?? ?? ?? ?? ?? ?? ?? ?? ?? ??
?? ?? ?? ?? ?? ?? ?? ?? ?? ??
???????
KeyboardKit comprend uniquement des chaînes localisées, tandis que KeyboardKit Pro débloque des claviers, des dispositions, des appels et des comportements localisés pour tous les lieux pris en charge.
KeyboardKit regorge de fonctionnalités pour vous aider à créer des claviers personnalisés incroyables:
KeyboardKit Pro étend KeyboardKit avec des fonctionnalités pro:
UITextDocumentProxy de lire le document complet.La documentation en ligne a un article détaillé pour chaque fonctionnalité, un guide approfondi de démarrage, des échantillons de code, etc. Vous pouvez également le construire à partir du code source pour obtenir un meilleur formatage.
Le dossier Demo dispose d'une application de démonstration qui montre comment configurer l'application du clavier principal, afficher l'état du clavier, fournir des paramètres dans l'application, un lien vers les paramètres système, des styles personnalisés, etc.
L'application dispose de deux claviers - un Keyboard qui utilise KeyboardKit et un KeyboardPro qui utilise KeyboardKit Pro. Notez que vous devez permettre un accès complet pour que certaines fonctionnalités fonctionnent, comme les commentaires haptiques.
Important
La démo n'est pas signée de code et ne peut donc pas utiliser un groupe d'applications pour synchroniser les paramètres entre l'application et ses claviers. En tant que tel, le clavier KeyboardPro a également des écrans de paramètres dans le clavier.
Si vous souhaitez essayer KeyboardKit sans avoir à écrire de code ou à créer l'application de démonstration à partir de Xcode, l'application KeyboardKit vous permet d'essayer de nombreuses fonctionnalités en la téléchargeant à partir de l'App Store.
KeyboardKit est open-source et entièrement gratuit, mais vous pouvez soutenir le projet en devenant un sponsor GitHub, à la mise à niveau vers KeyboardKit Pro ou à contacter le travail indépendant, un support payant, etc.
N'hésitez pas à tendre la main si vous avez des questions ou si vous souhaitez contribuer de quelque manière que ce soit:
KeyboardKit est disponible sous la licence MIT. Voir le fichier de licence pour plus d'informations.