All Projects → KyoheiG3 → Keynode

KyoheiG3 / Keynode

Licence: mit
Interactive Keyboard Controller for Swift

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
Keyboard Extra
Nice handling for keyboard inputs in Elm
Stars: ✭ 51 (-32.89%)
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
Atreis
Stars: ✭ 48 (-36.84%)
Mutual labels:  keyboard
Globalhooks
Allows you to create global keyboard events
Stars: ✭ 74 (-2.63%)
Mutual labels:  keyboard
Jetchat
 Swift5.0编写的简仿微信聊天应用,完美支持表情键盘、单聊、群聊、本地消息会话缓存。
Stars: ✭ 61 (-19.74%)
Mutual labels:  keyboard
React Pong
✅ A pong game React component
Stars: ✭ 66 (-13.16%)
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
Kuikeyboard
Keyboard Handler in iOS
Stars: ✭ 64 (-15.79%)
Mutual labels:  keyboard
Capsicain
Powerful low-level keyboard remapping tool for Windows
Stars: ✭ 51 (-32.89%)
Mutual labels:  keyboard
Fx Experience
fx-experience -> fx onscreen keyboard
Stars: ✭ 72 (-5.26%)
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
Vimperator Labs
Vimperator
Stars: ✭ 1,184 (+1457.89%)
Mutual labels:  keyboard
Nativescript Keyboard Toolbar
⌨️🛠Add a customizable toolbar on top of the soft keyboard
Stars: ✭ 66 (-13.16%)
Mutual labels:  keyboard

Keynode

Carthage compatible Version License Platform

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
UIPickerView UITextField UITextField

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 of UIScrollView 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

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].