             self.setupKludge()
             
             self.updateKeyCaps(self.shiftState.uppercase())
-            self.setCapsIfNeeded()
+            var capsWasSet = self.setCapsIfNeeded()
             
             self.updateAppearances(self.darkMode())
             self.addInputTraitsObservers()

    }
    
    // TODO: make this work if cursor position is shifted
    func setCapsIfNeeded() {
        if self.shouldAutoCapitalize() {
            switch self.shiftState {
            case .Disabled:

            case .Locked:
                self.shiftState = .Locked
            }
            
            return true
        }
        
        return false
    }
    
    func characterIsPunctuation(character: Character) -> Bool {
