import AppKit import HotKey import Carbon
final class ViewController: NSViewController {
// MARK: - Properties @IBOutlet var pressedLabel: NSTextField! private var hotKey: HotKey? { didSet { guard let hotKey = hotKey else { pressedLabel.stringValue = "Unregistered" return } pressedLabel.stringValue = "Registered" hotKey.keyDownHandler = { [weak self] in self?.pressedLabel.stringValue = "Pressed at \(Date())" } } } // MARK: - NSViewController override func viewDidLoad() { super.viewDidLoad() register(self) } // MARK: - Actions @IBAction func unregister(_ sender: Any?) { hotKey = nil } @IBAction func register(_ sender: Any?) { hotKey = HotKey(keyCombo: KeyCombo(key: .r, modifiers: [.command, .option])) }
}