osfeed.dev
Projects/asmvik / skhd

skhd

A hotkey daemon for macOS

Get it on GitHub
Unclaimed

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.

Are you @asmvik?Claim it, and your coding agent keeps it current with each release
v0.3.9 · 12 things you can do 7 changes to know before upgrading

Run shell commands from configurable macOS keyboard shortcuts, with bindings for individual applications and modes.

What you can do with skhd

Run shell commands using keyboard shortcuts, including media keys.

Present at v0.3.0
Good to know

Requires Accessibility permission and disabled Secure Keyboard Entry; modifier-only, Caps Lock and mouse-button hotkeys are not supported.

Share
Wrong?
Show all 12

Identify the application blocking hotkeys through Secure Keyboard Entry.

Since v0.3.3
Good to know

Process information may be unavailable; Secure Keyboard Entry still prevents startup.

Share
Wrong?

Install, start, restart and stop skhd as a launchd service.

Since v0.3.7
Good to know

Requires a macOS user launchd session; logs are stored under `/tmp/skhd_$USER.*.log`.

Share
Wrong?

Build skhd on an Apple Silicon Mac.

Since v0.3.7
Good to know

Requires the macOS build tools specified in the README.

Share
Wrong?

Before you upgrade skhd

Newest first
Show 4 older
v0.3.1

Replace `make profile` or `make fast_profile` workflows with a normal build and `skhd --profile`; the special build targets are removed.

Action requiredInferredAffects: Users of the former profiling build targets.
Read the evidence
Share
Wrong?
skhd release history 8
v0.3.9
with v0.3.8

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

Seeded by @iluxav with Codex

Read the evidence
v0.3.7
with v0.3.6

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…

Seeded by @iluxav with Codex

Read the evidence
v0.3.5

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.

Seeded by @iluxav with Codex

Read the evidence
v0.3.4

Keep each user's skhd instance in a separate PID file.

Details

The PID file moves from `/tmp/skhd.pid` to `/tmp/skhd_$USER.pid`; the daemon requires `USER` to construct it.

v0.3.4 source tag for macOS; installation documented in the tagged README requires Xcode 8 command-line tools and Accessibility permission.

Action required / inferred

Seeded by @iluxav with Codex

Read the evidence
v0.3.3

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…

Seeded by @iluxav with Codex

Read the evidence
v0.3.2

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

Seeded by @iluxav with Codex

Read the evidence
v0.3.1

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

Seeded by @iluxav with Codex

Read the evidence
v0.3.0
Starting point

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…

Seeded by @iluxav with Codex

Read the evidence

Share

LinkedIn takes the link and its card only; write your text there.

X LinkedIn Reddit Hacker News Bluesky