磁铁 3.4.0

磁铁 3.4.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2023年10月
SPM支持 SPM

econa77econa77 维护。



磁铁 3.4.0

  • 作者:
  • Econa77

Magnet

CI Release version License: MIT Carthage compatible Version Platform SPM supported

在 macOS 中自定义全局快捷键。支持常用的快捷键和双击快捷键,如 Alfred.app。

同时也支持沙盒应用程序。

用法

CocoaPods

pod 'Magnet'

Carthage

github "Clipy/Magnet"

从 Magnet v2.x 升级到 v3.x

查看 从 Magnet v2.x 升级

示例

注册普通快捷键

添加 ⌘ + 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()
}        

注册双击快捷键

添加 ⌘ double tap 快捷键。

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 double tap 快捷键。

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.commandcmdKey
  • Shift 键
    • NSEventModifierFlags.shiftshiftKey
  • 选项键
    • NSEventModifierFlags.optionoptionKey
  • 控制键
    • NSEventModifierFlags.controlcontrolKey

注销快捷键

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)

依赖项

如何构建

  1. 移动到项目根目录
  2. 使用 carthagegit submodule 安装依赖库
  3. carthage checkout --use-submodulesgit submodule update --init --recursive
  4. 在 Xcode 中打开 Magnet.xcworkspace
  5. 构建。