在 macOS 中自定义全局热键。支持普通热键和像 Alfred.app 那样的双击热键。
也支持沙盒应用。
pod 'Magnet'
github "Clipy/Magnet"
添加 ⌘ + Control + B
热键。
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)
}
或者你可以使用闭包。
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()
}
添加 ⌘ 双击
热键。
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)
}
添加 Control 双击
热键。
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)
}
双击热键只支持以下修饰键。
NSEventModifierFlags.command
或 cmdKey
NSEventModifierFlags.shift
或 shiftKey
NSEventModifierFlags.option
或 optionKey
NSEventModifierFlags.control
或 controlKey
HotKeyCenter.shared.unregisterAll()
或
HotKeyCenter.shared.unregisterHotKey(with: "identifier")
或
let hotKey = HotKey(identifier: "identifier", keyCombo: KeyCombo, target: self, action: #selector())
hotKey.unregister() // or HotKeyCenter.shared.unregister(with: hotKey)
carthage
或 git submodule
安装依赖库carthage checkout --use-submodules
或 git submodule update --init --recursive
Magnet.xcworkspace
。