KyoheiG3 / Keynode
Licence: mit
Interactive Keyboard Controller for Swift
Stars: ✭ 76
Programming Languages
swift
15916 projects
Projects that are alternatives of or similar to Keynode
Keyboardlayoutguide
⌨️ Manage iOS keyboard with Apple's missing KeyboardLayoutGuide
Stars: ✭ 1,054 (+1286.84%)
Mutual labels: keyboard
Teensy Thumb Keyboard
Handheld tactile switch keyboard for Teensy 3.2 compatible boards.
Stars: ✭ 61 (-19.74%)
Mutual labels: keyboard
Keymousego
类似按键精灵的鼠标键盘录制和自动化操作 模拟点击和键入 | automate mouse clicks and keyboard input
Stars: ✭ 1,145 (+1406.58%)
Mutual labels: keyboard
Keyboardhidemanager
Codeless manager to hide keyboard by tapping on views for iOS written in Swift
Stars: ✭ 57 (-25%)
Mutual labels: keyboard
On Screen Keyboard
A jQuery plug-in which provides users with a fluid-width on-screen keyboard.
Stars: ✭ 63 (-17.11%)
Mutual labels: keyboard
Libcorsairrgb
⌨️ Windows library for controlling lights on Corsair RGB keyboards
Stars: ✭ 52 (-31.58%)
Mutual labels: keyboard
Whitefox Keyboard Macos Configuration
⌨ A macOS compatible configuration for Matt3o's Whitefox keyboard.
Stars: ✭ 53 (-30.26%)
Mutual labels: keyboard
Capsicain
Powerful low-level keyboard remapping tool for Windows
Stars: ✭ 51 (-32.89%)
Mutual labels: keyboard
Keyboardheightprovider
Get android keyboard height using an overlay popup-window
Stars: ✭ 50 (-34.21%)
Mutual labels: keyboard
Qwerty Lafayette
QWERTY keyboard layout for French-speaking users
Stars: ✭ 60 (-21.05%)
Mutual labels: keyboard
Mouse2joystick custom cemu
An AutoHotkey Script to allow the use of Mouse and Keyboard control in CEMU. This uses vJoy and provides several additional features over regular keyboard control, like: the ability to control the camera with the mouse, toggle walking speed, in BotW use MouseWheel to change weapons, a separate Toggle key for ZL useful for locking onto a target in BotW.
Stars: ✭ 76 (+0%)
Mutual labels: keyboard
Nativescript Keyboard Toolbar
⌨️🛠Add a customizable toolbar on top of the soft keyboard
Stars: ✭ 66 (-13.16%)
Mutual labels: keyboard
Keynode
Why
Using UIScrollViewKeyboardDismissMode
added in iOS7, interactive keyboard operation became possible. But, it only works on UIScrollView
.
Keynode
is able to interactive operate all inputView
that appear as FirstResponder
.
Appetize's Demo
UITextField |
UITextField |
UIPickerView |
---|---|---|
![]() |
![]() |
![]() |
Requirements
- Swift 4.2
- iOS 9.0 or later
How to Install
CocoaPods
Add the following to your Podfile
:
pod "Keynode"
Carthage
Add the following to your Cartfile
:
github "KyoheiG3/Keynode"
Usage
Function
func willAnimate(_ handler: @escaping (Bool, CGRect) -> Swift.Void) -> Keynode.Keynode
- To be called just before the animation.
func animations(_ handler: @escaping (Bool, CGRect) -> Swift.Void) -> Keynode.Keynode
- To be called when the display switching animation.
- It is also called at the time of the keyboard operation of the scroll gesture.
func onCompleted(_ handler: @escaping (Bool, UIResponder?, UIView?) -> Swift.Void) -> Keynode.Keynode
- To be called at the end animation.
func setResponder(responder: UIResponder)
- Can set the responder.
Variable
var isGesturePanningEnabled: Bool
- Set
false
if needn't pan the Keyboard with scrolling gesture. - Default is
true
.
var needsToChangeInsetAutomatically: Bool
- Set
false
if needn't change content inset ofUIScrollView
when opened the Keyboard. - Default is
true
.
var defaultInsetBottom: CGFloat
- Change bottom of
contentInset
if needed. - Default is
0
var gestureOffset: CGFloat
- Such as when there is a
toolbar
, you can specify the offset of when closing the keyboard with scroll gesture. - If the value is not set, the value specified in the
defaultInsetBottom
will be used.
Extension
extension NSNotification.Name {
static let UIResponderBecomeFirstResponder: Notification.Name
}
- Notification name for become first responder.
extension UIApplication {
func needsNotificationFromFirstResponder(_ from: Swift.AnyObject?)
}
- Receive the notification from first responder when the function executed.
Caution
- It might not work if the specification has been changed. however it will be solved in the earliest possible stage.
-
iOS9.0
~iOS12.0
is confirmed operation.
Acknowledgements
- Inspired by DAKeyboardControl in danielamitay.
Author
Kyohei Ito
Follow me 🎉
LICENSE
Under the MIT license. See LICENSE file for details.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].