ApexDock registers a small set of global hotkeys with macOS. They fire from anywhere, not just when ApexDock is in front.
Default bindings
| Hotkey | Default | Configurable in |
|---|---|---|
| Command Palette | ⌘K | Settings → Palette (UserDefaults override only for now) |
| Assistant push-to-talk | ⌃⌥ (hold) | Settings → Assistant → Push-to-Talk Hotkey |
| Quick Notes panel | ⌃⌥N | Settings → Notes (UserDefaults override only for now) |
| Clipboard History | ⌘⇧V | Settings → Clipboard → Hotkey |
Settings → Hotkeys tab
This tab is a read-only summary of every registered hotkey, useful for spotting conflicts. As you toggle features on/off, rows appear and disappear here.
Editable rebinding for all hotkeys is on the roadmap. Today, only Clipboard and Assistant have a record-key UI; Notes and Palette can be overridden via UserDefaults:
defaults write com.gacntsoftware.apexdock apexdock.notes.hotkey.keyCode -int 45 # N
defaults write com.gacntsoftware.apexdock apexdock.notes.hotkey.modifiers -int 786432 # ⌃⌥
killall ApexDock
Modifier flag values: Command=1048576, Shift=131072, Option=524288, Control=262144. OR them together for combinations.
Permissions
All global hotkeys require Accessibility permission. Without it, ApexDock falls back to in-app key monitors that only fire when its windows have focus — effectively making the hotkeys feature-disabled.
Grant in Settings → Permissions → Accessibility.
Conflicts
ApexDock doesn't unbind hotkeys that are already taken by other apps. macOS gives the binding to the first app to claim it. If your hotkey doesn't fire, check:
- macOS System Settings → Keyboard → Shortcuts (the operating system's own bindings take precedence)
- Other launcher apps (Raycast, Alfred, BetterTouchTool)
- Karabiner-Elements rules
The first registrant wins. Quitting the conflicting app and relaunching ApexDock re-binds it on next launch.