Written by @iluxav from the project's code and releases, not by its maintainers. Last updated for v0.3.9 (2023-05-27), so it may lag behind newer releases.
Root execution and missing Accessibility permission now terminate with exit status 0 instead of failure; a newly generated service plist does not restart successful exits.
Install the launchd service with a home directory outside `/Users/$USER`.
Details
Service installation resolves the actual home directory and creates a missing LaunchAgents directory. Start and stop commands now account for whether launchd has already loaded the service.
v0.3.9 source tag for macOS; installation documented in the tagged README requires Xcode 8 command-line tools and Accessibility permission.
Now works / inferred: Install, start, restart and stop skhd as a launchd…Behavior changed / inferred
Start and manage skhd as a launchd service from its own command line.
Details
Use `--install-service`, `--uninstall-service`, `--start-service`, `--restart-service` and `--stop-service`. Service logs go to `/tmp/skhd_$USER.out.log` and `/tmp/skhd_$USER.err.log`.
v0.3.7 source tag for macOS; installation documented in the tagged README requires Xcode 8 command-line tools and Accessibility permission.
Added: Install, start, restart and stop skhd as a launchd…Added / inferred: Build skhd on an Apple Silicon Mac.Action required / inferredBehavior changed / inferred: Identify the application blocking hotkeys through S…
Keep your shortcut configuration in an XDG configuration directory.
Details
Config lookup checks `$XDG_CONFIG_HOME/skhd/skhdrc`, then `$HOME/.config/skhd/skhdrc`, then `$HOME/.skhdrc`. An explicit `default` mode can appear after its bindings.
v0.3.5 source tag for macOS; installation documented in the tagged README requires Xcode 8 command-line tools and Accessibility permission.
Behavior changed: Edit keyboard shortcuts while the daemon is running.Now works / inferred: Switch between named sets of keyboard shortcuts.
Inspect the keycode and modifier flags of a keypress.
Details
Run `skhd --observe` to print keycodes and modifiers, then press Ctrl+C to exit. Startup diagnostics identify the process enabling Secure Keyboard Entry when available.
v0.3.3 source tag for macOS; installation documented in the tagged README requires Xcode 8 command-line tools and Accessibility permission.
Added: Inspect keycodes and modifiers to configure keyboar…Added / inferred: Identify the application blocking hotkeys through S…
Exclude selected applications from all skhd shortcuts.
Details
Add application names to `.blacklist` and split configuration with `.load`. `--reload` triggers a manual reload and `--no-hotload` disables file watching.
v0.3.2 source tag for macOS; installation documented in the tagged README requires Xcode 8 command-line tools and Accessibility permission.
Added: Leave all keyboard events untouched in selected app…Added: Organize keyboard shortcuts across multiple configu…Improved: Edit keyboard shortcuts while the daemon is running.Behavior changed
Leave a shortcut untouched in selected applications.
Details
Application mappings add `~` to forward a key and `*` for applications without an explicit mapping. Keyboard input-source changes reload the key map and configuration.
v0.3.1 source tag for macOS; installation documented in the tagged README requires Xcode 8 command-line tools and Accessibility permission.
Improved: Run different commands for the same shortcut in dif…Improved / inferred: Edit keyboard shortcuts while the daemon is running.Added: Inspect timing information while using keyboard sho…Action required / inferred
Run shell commands from keyboard shortcuts on macOS.
Details
Define hotkeys in `~/.skhdrc` or a file selected with `--config`; commands run through `$SHELL -c`, falling back to `/bin/bash`.
v0.3.0 source tag for macOS; installation documented in the tagged README requires Xcode 8 command-line tools and Accessibility permission.
Added: Run shell commands using keyboard shortcuts, includ…Added: Run different commands for the same shortcut in dif…Added: Switch between named sets of keyboard shortcuts.Added: Edit keyboard shortcuts while the daemon is running.Added: Send a keypress or a line of text from the command…