Sha256: f7481a9cd245f81339e351265af5198dc5f9bb98705b66adb6d64b48b39d4aab

Contents?: true

Size: 778 Bytes

Versions: 2

Compression:

Stored size: 778 Bytes

Contents

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]))
	}
}

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
ezii-browser-1.0.0 server/redux-os/keyDownViewController1/Carthage/Checkouts/HotKey/Example/Sources/ViewController.swift
mega-os-1.0.0 keyDownViewController1/Carthage/Checkouts/HotKey/Example/Sources/ViewController.swift