 class KeyboardViewController: UIInputViewController {
     
     let backspaceDelay: NSTimeInterval = 0.5
-    let backspaceRepeat: NSTimeInterval = 0.05
+    let backspaceRepeat: NSTimeInterval = 0.07
     
     var keyboard: Keyboard!
     var forwardingView: ForwardingView!

    func backspaceDown(sender: KeyboardKey) {
        self.cancelBackspaceTimers()
        
        self.playKeySound()
        
        if let textDocumentProxy = self.textDocumentProxy as? UIKeyInput {
            textDocumentProxy.deleteBackward()
        }

    // TODO: this should be uppercase, not lowercase
    func updateKeyCaps(lowercase: Bool) {
        if self.layout != nil {
            let characterUppercase = (NSUserDefaults.standardUserDefaults().boolForKey(kSmallLowercase) ? !lowercase : true)
            
            for (model, key) in self.layout!.modelToView {
                let actualUppercase = (model.type == .Character ? characterUppercase : !lowercase)
                
                key.text = model.keyCapForCase(actualUppercase)
                
                if model.type == Key.KeyType.Shift {
