Keyboard & System Tweakers
Karabiner-Elements, Hammerspoon, AutoHotkey, BetterTouchTool, xremap — remap keys and automate the OS.
The OS-level layer that lets you remap modifier keys, build hyperkeys, and automate repetitive system actions. For app launchers see prod-launchers; for text expansion see prod-text-expansion; for consumer-flavored macro tools (Shortcuts, Power Automate) see prod-macro-automation-consumer.
Mac
- ★ ★ Karabiner-Elements — free OSS; the king of Mac keyboard remapping. Caps Lock → Hyper, hold-to-shift, app-aware layers, complex modifications via JSON. Goggles Karabiner has the best community config repository.
- ★ ★ Hammerspoon — free OSS; Lua-scriptable; turn key combos into anything (window snap, app launch, AppleScript, HTTP hooks). The Mac power user's "glue language."
- Keyboard Maestro — paid (~$36 one-time); the most featureful Mac macro tool — triggers on file changes, USB devices, time of day; visual editor.
- BetterTouchTool (BTT) — paid (~$22 one-time); trackpad gestures, mouse buttons, custom Touch Bar, hotkey actions, window snapping. Closer to a UI than Hammerspoon's Lua.
- macOS Shortcuts — free, Apple-native; runs across Mac/iPad/iPhone via iCloud sync; great for cross-Apple automations — see prod-macro-automation-consumer.
- DefaultKeyBinding.dict — free, built-in macOS Cocoa text-binding override; deep but limited to text fields.
Windows
- ★ ★ AutoHotkey (v2) — free OSS; the canonical Win keyboard / macro / automation language. Anything you want a key to do, AHK can do.
- PowerToys Keyboard Manager — free, Microsoft; simple per-key remapping (Caps→Esc), no scripting. Great for one-off swaps.
- PowerToys as a whole — free; FancyZones, PowerToys Run, Mouse Highlighter, Always On Top, Color Picker — many tweakers in one package.
- SharpKeys — free; writes registry-level key remaps (survives reboot, no daemon needed). Good for hardware-permanent swaps.
- KeyTweak — free; older registry remapper.
- Microsoft Mouse and Keyboard Center — free; for branded peripherals.
Linux
- ★ xremap — free OSS; Rust; modern key remapper for X11 and Wayland; YAML config; supports per-app rules.
- kanata — free OSS; Rust; QMK-style layers in software, cross-platform (Linux + Mac + Win).
- udev keymapping — built-in; permanent low-level remap via
/etc/udev/hwdb.d/. - xmodmap / setxkbmap (X11) — older, foundational; harder than xremap for non-trivial cases.
- AutoKey — free OSS Python; key remap + text expand; X11-leaning.
- Espanso — see prod-text-expansion.
- Interception Tools + caps2esc — kernel-level interception; nuke-from-orbit Caps→Esc.
What "tweaking" lets you do (a sample)
- Caps Lock → Esc + Ctrl — the most-loved single change for Vim users.
- Hyper key — turn a single key into a never-conflicting modifier (Karabiner, kanata, AHK).
- Home-row mods — tap-for-letter, hold-for-modifier; configurable in Karabiner / kanata.
- App-aware layers — different bindings per app (Karabiner / xremap / AHK).
- Mouse-button macros — middle-click to paste a snippet, side-button to switch desktop.
- Window automations — focus next window, throw to next display (overlap with prod-window-management-mac).
- System actions — toggle dark mode, change audio output, mute mic globally.
Configurable mechanical keyboards (firmware-level remapping)
- QMK / VIA / Vial — free OSS; on-keyboard layer remapping (no software required); the right place to put modifier remaps if your keyboard supports it.
- ZMK — for wireless / split keyboards.
- Karabiner Elements vs QMK — if you have a programmable keyboard, prefer firmware remap (works on every machine you plug into).
Pricing reality check
- Karabiner-Elements / Hammerspoon / xremap / kanata / AutoHotkey / PowerToys / xmodmap are all free OSS — most users never need to pay.
- Keyboard Maestro / BetterTouchTool are paid one-time on Mac (~$22–$36) — worth it for visual editor + GUI triggers, but Hammerspoon does most of it for free.
Patterns to adopt
- ★ Move Caps Lock first — most-impactful single change. Either to Esc (Vim) or Ctrl (Emacs / shell) or Hyper (custom).
- Layer your hotkeys rather than fighting OS defaults — Hyper-key + letter is a vast, conflict-free namespace.
- Save your config in dotfiles — Karabiner / Hammerspoon / AHK / xremap configs all version-control beautifully.
- Don't migrate too often — once your fingers learn a layout, switching tools costs weeks of muscle memory.
Pick this if…
- Default Mac keyboard remapping: Karabiner-Elements.
- Mac scripting glue ("when I press X, do Y in any app"): Hammerspoon.
- Mac visual macro editor, no Lua: Keyboard Maestro or BetterTouchTool.
- Default Windows automation: AutoHotkey v2.
- Windows simple remap, no scripting: PowerToys Keyboard Manager (or SharpKeys for permanence).
- Default Linux remapping: xremap (or kanata if you want cross-platform).
- Cross-platform Mac/Win/Linux remap: kanata.
- You have a programmable keyboard: put it in QMK / VIA firmware — survives every OS reinstall.