KeyboardKit
is a helps you create custom keyboard extensions for iOS
and ipadOS
. It provides you with a rich set of keyboard-specific tools and actions, haptic and audio feedback support and lets you create keyboards with characters, emojis, images, custom actions etc.
If you're new to iOS keyboard extensions, this great guide can help you get started. You can also have a look at the demo apps for examples on how to use this library.
https://github.com/danielsaidi/KeyboardKit.git
target 'MyApp' do
pod 'KeyboardKit'
end
target 'MyKeyboard' do
pod 'KeyboardKit'
end
After importing KeyboardKit
, make your extension inherit KeyboardInputViewController
instead of UIInputViewController
. It provides you with many tools that helps you build custom keyboard extension.
KeyboardKit supports both UIKit
and SwiftUI
, so you can pick the option that suits your needs best.
Read more here about creating UIKit
-based keyboard extensions.
You can also follow this tutorial.
SwiftUI
is the main focus going forward, but UIKit support will still be around and improved if needed.
Read more here about creating SwiftUI
-based keyboard extensions.
You can also follow this tutorial.
SwiftUI
is the main focus going forward, but the support is currently limited.
KeyboardKit supports many different keyboard actions, like character
inputs, emoji
inputs, backspace
, newline
, space
, image
etc. You can even create your own, custom actions.
KeyboardKit supports many different keyboard types, like alphabetic
, numeric
, symbolic
, emoji
etc. You can even create your own, custom keyboard types.
KeyboardKit supports autocomplete and can present autocomplete suggestions to users as they type.
KeyboardKit supports haptic feedback and can give users haptic feedback as they type.
KeyboardKit supports audio feedback and can give users audio feedback as they type.
KeyboardKit comes with many keyboard-specific extensions. Check out the demo apps and source code for examples and more information.
This repository contains two demo apps that demonstrate different keyboard types, like alphabetical
(lower/uppercased and caps locked), numerical
, symbols
, emojis
and images
.
KeyboardKitDemoKeyboard
usesUIKit
to implement various keyboards that mimics system keyboards.KeyboardKitDemoKeyboard_SwiftUI
usesSwiftUI
to implement various keyboards that mimics system keyboards.
Since KeyboardKitSwiftUI is still under development, the SwiftUI
demo app lacks a lot of functionality that the UIKit
app has.
To run the demo app, open and run the KeyboardKit.xcodeproj
project then enable the keyboards under system settings. Don't forget to enable full access.
IMPORTANT
Audio feedback, haptic feedback and image actions require full access.
Feel free to reach out if you have questions or if you want to contribute in any way:
- E-mail: [email protected]
- Twitter: @danielsaidi
- Web site: danielsaidi.com
KeyboardKit is proudly supported by:
Your company can support KeyboardKit by either sponsoring the project on GitHub Sponsors or by paying for consultation. I'ld be happy to help you out with your keyboard needs.
KeyboardKit is available under the MIT license. See LICENSE file for more info.