                 }
             }
             return false
-        } else if recording && KeyTransformer.containsFunctionKey(keyCodeInt) {
+        } else if isRecording && KeyTransformer.containsFunctionKey(keyCodeInt) {
             if let keyCombo = KeyCombo(keyCode: keyCodeInt, carbonModifiers: 0) {
                 if delegate?.recordView(self, canRecordKeyCombo: keyCombo) ?? true {
                     self.keyCombo = keyCombo

public extension RecordView {
    public func beginRecording() -> Bool {
        if !isEnabled { return false }
        if recording { return true }

        needsDisplay = true


        }

        willChangeValue(forKey: "recording")
        isRecording = true
        didChangeValue(forKey: "recording")

        updateTrackingAreas()
