Slidden is an open source, customizable, iOS 8 keyboard, written in Swift

Related tags

Keyboard Slidden
Overview

Slidden: An open source, customizable, iOS 8 keyboard written in Swift.

Slidden is an open source, customizable, iOS 8 keyboard, written in Swift. iOS 8 brought us the ability to create fully customizable keyboards, but does not provide a strong foundation to start from. Slidden aims to remedy that by providing an easy way to get started making your own iOS keyboards.

Slidden is named after the Sholes and Glidden typewriter, the first commercially successful typewriter and the origin of the QWERTY keyboard.

Features

Planned for 1.0 Release

  • Multiple states (Shift, numbers/symbols, etc.)
  • Full default English keyboard
  • Delegate

Notice

Slidden is in its early stages of life. Code will change dramatically between updates. Please consider contributing your ideas if you think something is missing!

Requirements

  • Xcode 10
  • Swift 5.0
  • iOS 8.0+

Installation

At the current moment, the best installation method is to add Slidden as a git submodule and add Slidden.framework to your list of Target Dependencies. Don't forget to add Slidden.framework to your keyboard's list of target dependencies as well!


Usage

Simple

If you subclass Slidden.KeyboardViewController, you get a KeyboardView and nice autolayout constraints right out of the box. Subclassing is as easy as:

class KeyboardViewController: Slidden.KeyboardViewController {
    override func viewDidLoad() {
        super.viewDidLoad()

        // Add the keys we need to the keyboard
        setupKeys()
    }

Add keys to the keyboard.

func setupKeys() {
        let helloKey = KeyboardKeyView(type: .Character, keyCap: "Hello", outputText: "Hello")
        helloKey.textColor = UIColor.whiteColor()
        helloKey.color = UIColor.blueColor()
        self.keyboardView.addKey(helloKey, row: 0)
        
        let worldKey = KeyboardKeyView(type: .Character, keyCap: "World", outputText: "World")
        worldKey.textColor = UIColor.whiteColor()
        worldKey.color = UIColor.redColor()
        self.keyboardView.addKey(worldKey, row: 0)
}

Add images to your keys.

func setupKeys() {
	let shiftKey = KeyboardKeyView(type: .Shift, keyCap:"", outputText: "")
    let img = UIImage(named:"Shift")
    shiftKey.image = img
    shiftKey.imageView.contentMode = .Center
}

If you want your image to be the same color as your other keys' text, you can use shouldColorImage to have CoreGraphics redraw the image of your key with the uniform color.

func setupKeys() {
	let shiftKey = KeyboardKeyView(type: .Shift, keyCap:"", outputText: "")
    let img = UIImage(named:"Shift")
    
    shiftKey.image = img
    shiftKey.imageView.contentMode = .Center
    
    shiftKey.color = UIColor.blueColor()
    shiftKey.selectedColor = UIColor.darkerBlueColor()
    shiftKey.textColor = UIColor.whiteColor()
    shiftKey.shouldColorImage = true // Will redraw the Shift image to match `textColor`
}

Complex

More Coming Soon

Examples

Screenshot of example app

Creator

License

Slidden is released under an MIT license. See LICENSE for more information.

You might also like...
SwiftyKeyboard: a full customized numeric keyboard for iOS
SwiftyKeyboard: a full customized numeric keyboard for iOS

SwiftyKeyboard Overview SwiftyKeyboard is an iOS customized enhanced keyboard. T

Emoji Keyboard for iOS
Emoji Keyboard for iOS

English | 中文 An easy to use Emoji keyboard for iOS. Has been rewritten with swift, the old Objective-C version on branch oc. Features Written in Swift

Interactive Keyboard Controller for Swift
Interactive Keyboard Controller for Swift

Keynode Why Using UIScrollViewKeyboardDismissMode added in iOS7, interactive keyboard operation became possible. But, it only works on UIScrollView. K

Prevent keyboard from covering UITextField/UITextView, includes Swift and Objective-C APIs

Prevent keyboard from covering UITextField/UITextView with only one line of code, includes Swift and Objective-C APIs.

IHKeyboardAvoiding is an elegant solution for keeping any UIView visible when the keyboard is being shown - no UIScrollView required!
IHKeyboardAvoiding is an elegant solution for keeping any UIView visible when the keyboard is being shown - no UIScrollView required!

IHKeyboardAvoiding An elegant solution for keeping any UIView visible when the keyboard is being shown Requirements IHKeyboardAvoiding Version Objecti

Codeless drop-in universal library allows to prevent issues of keyboard sliding up and cover UITextField/UITextView. Neither need to write any code nor any setup required and much more.
Codeless drop-in universal library allows to prevent issues of keyboard sliding up and cover UITextField/UITextView. Neither need to write any code nor any setup required and much more.

IQKeyboardManager While developing iOS apps, we often run into issues where the iPhone keyboard slides up and covers the UITextField/UITextView. IQKey

Suppress mouse & keyboard events on MacOSX. Baby-proof my Mac!

Suppress mouse & keyboard events on MacOSX Catches all events (mouse, keyboard, everything), and either consumes them (locked state) or passes them th

QMK Agent is a macOS menubar application which sends commands to a QMK enabled keyboard
QMK Agent is a macOS menubar application which sends commands to a QMK enabled keyboard

QMKagent QMK Agent is a macOS menubar application which sends commands to a QMK enabled keyboard Features System volume indicator using top row (Esc t

Showing / dismissing keyboard animation in simple UIViewController category.
Showing / dismissing keyboard animation in simple UIViewController category.

RSKKeyboardAnimationObserver Easy way to handle iOS keyboard showing/dismissing. Introduction Working with iOS keyboard demands a lot of duplicated co

Comments
  • Can't get Slidden to work

    Can't get Slidden to work

    Hi,

    Not sure if it's something stupid that I'm doing but for some reason, I can't get Slidden to work. Not even the example project in the download will work. I get an error saying something about a "hub connection error".

    To replicate, I just open the example project and run it (both simulator and device). I add the keyboard via settings, open the app back up again and when I get to the Slidden keyboard, the error appears in XCode and no keyboard appears in the app - it just resorts back to the standard iOS keyboard.

    The full error;

    2014-10-12 20:38:26.916 SliddenExample[48368:13438856] plugin com.brimdevelopment.SliddenExample.SliddenExampleKeyboard interrupted 2014-10-12 20:38:26.920 SliddenExample[48368:13438856] Hub connection error Error Domain=NSCocoaErrorDomain Code=4097 "The operation couldn’t be completed. (Cocoa error 4097.)" (connection to service named com.brimdevelopment.SliddenExample.SliddenExampleKeyboard) UserInfo=0x7875e510 {NSDebugDescription=connection to service named com.brimdevelopment.SliddenExample.SliddenExampleKeyboard}

    Any ideas?!

    wontfix 
    opened by dansinclair25 3
  • Cannot use this custom keyboard in simulator

    Cannot use this custom keyboard in simulator

    I added this as a custom keyboard in iPhone 6 simulator in Xcode 6.0.1 in settings. Now if I launch this app again and try to select this custom keyboard by clicking on the globe icon I get this error. It never presents the keyboard. What's going on?

    2014-09-28 18:14:13.894 SliddenExample[26996:433638] plugin com.brimdevelopment.SliddenExample.SliddenExampleKeyboard interrupted 2014-09-28 18:14:13.897 SliddenExample[26996:433638] Hub connection error Error Domain=NSCocoaErrorDomain Code=4097 "The operation couldn’t be completed. (Cocoa error 4097.)" (connection to service named com.brimdevelopment.SliddenExample.SliddenExampleKeyboard) UserInfo=0x7fbe08d76cc0 {NSDebugDescription=connection to service named com.brimdevelopment.SliddenExample.SliddenExampleKeyboard}

    wontfix 
    opened by sambudda 1
  • Where is the purple keyboard?

    Where is the purple keyboard?

    I opened this example project in Xcode 6 iOs 8, iPhone 6 Simulator. In simulator settings I added this custom keyboard. Now when I launch the app again and touch globe key a couple of times, I still don't see the purple keyboard coming up. It actually crashes. See issue#3

    ios simulator screen shot sep 28 2014 10 07 21 am

    wontfix 
    opened by sambudda 0
Owner
Daniel Brim
Daniel Brim
⌨️ Add user-customizable global keyboard shortcuts to your macOS app in minutes

This package lets you add support for user-customizable global keyboard shortcuts to your macOS app in minutes. It's fully sandbox and Mac App Store c

Sindre Sorhus 1.1k Dec 29, 2022
Automatic keyboard/input source switching for OSX

Autokbisw - Automatic keyboard input source switcher Motivation This small utility was born out of frustation after a mob programming sesssion. The se

Ole Hüter 67 Jan 6, 2023
Codeless manager to hide keyboard by tapping on views for iOS written in Swift

KeyboardHideManager KeyboardHideManager - codeless manager to hide keyboard by tapping on views for iOS written in Swift. Structure Features Requireme

Bondar Yaroslav 55 Oct 19, 2022
Swift UIKit keyboard manager for iOS apps.

Typist Typist is a small, drop-in Swift UIKit keyboard manager for iOS apps. It helps you manage keyboard's screen presence and behavior without notif

Toto Tvalavadze 1.1k Dec 10, 2022
KeyboardKit is a Swift library that helps you create custom keyboard extensions for iOS and ipadOS.

KeyboardKit is a Swift library that helps you create custom keyboard extensions for iOS and ipadOS.

KeyboardKit 900 Jan 9, 2023
Best way to dismiss Keyboard in a View Controller iOS (Swift)

Best way to dismiss Keyboard in a View Controller iOS (Swift) First way: Implement UITextFieldDelegate’s textFieldShouldReturn method and dismiss curr

null 0 Dec 18, 2021
Objective-C library for tracking keyboard in iOS apps.

NgKeyboardTracker Objective-c library for tracking keyboard in iOS apps. Adding to your project If you are using CocoaPods, add to your Podfile: pod '

Meiwin Fu 808 Nov 17, 2022
A drop-in universal solution for moving text fields out of the way of the keyboard in iOS

TPKeyboardAvoiding A drop-in universal solution for moving text fields out of the way of the keyboard in iOS. Introduction There are a hundred and one

Michael Tyson 5.8k Dec 26, 2022
Emoji Keyboard SDK (iOS)

Makemoji SDK Makemoji is a free emoji keyboard for mobile apps. By installing our keyboard SDK every user of your app will instantly have access to ne

Makemoji 100 Nov 3, 2022
A Chinese keyboard for iOS that helps Chinese language learners remember tones.

ToneBoard ToneBoard is a Chinese keyboard for iOS that requires you to enter the correct tones while typing simplified Chinese with Pinyin. It is avai

Kevin Bell 7 Sep 27, 2022