if let keyCombo = KeyCombo(key: .b, cocoaModifiers: [.command, .control]]) {
let hotKey = HotKey(identifier: "CommandControlB", keyCombo: keyCombo, target: self, action: #selector())
hotKey.register() // or HotKeyCenter.shared.register(with: hotKey)
}
Or you can use closures.
if let keyCombo = KeyCombo(key: .b, cocoaModifiers: [.command, .control]) {
let hotKey = HotKey(identifier: "CommandControlB", keyCombo: keyCombo) { hotKey in
// Called when ⌘ + Control + B is pressed
}
hotKey.register()
}
Register Double tap hotkey
Add ⌘ double tap hotkey.
if let keyCombo = KeyCombo(doubledCocoaModifiers: .command) {
let hotKey = HotKey(identifier: "CommandDoubleTap", keyCombo: keyCombo, target: self, action: #selector())
hotKey.register() // or HotKeyCenter.shared.register(with: hotKey)
}
Add Control double tap hotkey.
if let keyCombo = KeyCombo(doubledCarbonModifiers: controlKey) {
let hotKey = HotKey(identifier: "ControlDoubleTap", keyCombo: keyCombo, target: self, action: #selector())
hotKey.register() // or HotKeyCenter.shared.register(with: hotKey)
}
Support modifiers
Double tap hotkey only support following modifiers.
Magnet
Customize global hotkeys in macOS. Supports usual hotkey and double tap hotkey like Alfred.app.
Also supports sandbox application.
Usage
CocoaPods
Carthage
Upgrading from Magnet v2.x to v3.x
See Upgrading from Magnet v2.x
Example
Register Normal hotkey
Add
⌘ + Control + B
hotkey.Or you can use closures.
Register Double tap hotkey
Add
⌘ double tap
hotkey.Add
Control double tap
hotkey.Support modifiers
Double tap hotkey only support following modifiers.
NSEventModifierFlags.command
orcmdKey
NSEventModifierFlags.shift
orshiftKey
NSEventModifierFlags.option
oroptionKey
NSEventModifierFlags.control
orcontrolKey
Unregister hotkeys
or
or
Dependencies
How to Build
carthage
orgit submodule
carthage checkout --use-submodules
orgit submodule update --init --recursive
Magnet.xcworkspace
on Xcode.