Customize global hotkeys in macOS. Supports usual hotkey and double tap hotkey like Alfred.app.
Also supports sandbox application.
See Upgrading from Magnet v2.x
Add ⌘ + Control + B hotkey.
iflet keyCombo =KeyCombo(key:.b, cocoaModifiers:[.command,.control]]){lethotKey=HotKey(identifier:"CommandControlB", keyCombo: keyCombo, target:self, action: #selector())
hotKey.register() // or HotKeyCenter.shared.register(with: hotKey)
}Or you can use closures.
iflet keyCombo =KeyCombo(key:.b, cocoaModifiers:[.command,.control]){lethotKey=HotKey(identifier:"CommandControlB", keyCombo: keyCombo){ hotKey in
// Called when ⌘ + Control + B is pressed
}
hotKey.register()}Add ⌘ double tap hotkey.
iflet keyCombo =KeyCombo(doubledCocoaModifiers:.command){lethotKey=HotKey(identifier:"CommandDoubleTap", keyCombo: keyCombo, target:self, action: #selector())
hotKey.register() // or HotKeyCenter.shared.register(with: hotKey)
}Add Control double tap hotkey.
iflet keyCombo =KeyCombo(doubledCarbonModifiers: controlKey){lethotKey=HotKey(identifier:"ControlDoubleTap", keyCombo: keyCombo, target:self, action: #selector())
hotKey.register() // or HotKeyCenter.shared.register(with: hotKey)
}Double tap hotkey only support following modifiers.
- Command Key
NSEventModifierFlags.commandorcmdKey
- Shift Key
NSEventModifierFlags.shiftorshiftKey
- Option Key
NSEventModifierFlags.optionoroptionKey
- Control Key
NSEventModifierFlags.controlorcontrolKey
HotKeyCenter.shared.unregisterAll()or
HotKeyCenter.shared.unregisterHotKey(with:"identifier")or
lethotKey=HotKey(identifier:"identifier", keyCombo: KeyCombo, target:self, action: #selector())
hotKey.unregister() // or HotKeyCenter.shared.unregister(with: hotKey)