Skip to content

Repository files navigation

Magnet

CIRelease versionLicense: MIT

Customize global hotkeys in macOS. Supports usual hotkey and double tap hotkey like Alfred.app.

Also supports sandbox application.

Upgrading from Magnet v2.x to v3.x

See Upgrading from Magnet v2.x

Example

Register Normal hotkey

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

Register Double tap hotkey

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

Support modifiers

Double tap hotkey only support following modifiers.

  • Command Key
    • NSEventModifierFlags.command or cmdKey
  • Shift Key
    • NSEventModifierFlags.shift or shiftKey
  • Option Key
    • NSEventModifierFlags.option or optionKey
  • Control Key
    • NSEventModifierFlags.control or controlKey

Unregister hotkeys

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)

Dependencies

About

Customize global hotkeys in macOS.

Topics

Resources

Stars

449 stars

Watchers

8 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages