# Capslox > Capslox is a cross-platform keyboard efficiency tool for macOS and Windows. It turns the Caps Lock key (or any other physical key) into a fully programmable modifier, letting you drive cursor movement, text editing, window switching, multiple clipboards, and shell commands without leaving the home row. The whole keymap is defined in a single hot-reloaded JSONC config file, so customization is direct file editing rather than scripting. ## What Capslox does - Reassigns Caps Lock (default) into a modifier you press together with other keys to move the cursor, select and edit text, switch windows, paste from extra clipboards, and run shell commands — all without leaving the keyboard home row. - Lets you turn **any** physical key (Caps Lock, Tab, an extra key on a programmable keyboard, etc.) into a custom modifier with your own short alias. The default config registers Caps Lock as the `cx` modifier (short for Capslo**x**). - Organizes shortcuts into **layers**: a base layer that is always active, plus additional layers you can hold-to-activate, toggle, or auto-activate when a specific application gains focus. The first layer (top-down) with a matching binding wins. - Loads its keymap from a single `keymap.jsonc` (JSON with Comments). Saving the file applies the new keymap instantly — no restart, no recompile, no permission re-grant. - Ships with a default keymap that works out of the box, so most users get value without writing any config. Power users can rewrite the whole keymap. ## Core concepts - **Custom modifier** — Any physical key promoted to a modifier with a user-chosen alias (e.g. Caps Lock → `cx`). Can have a tap action (e.g. tap Caps Lock to send Esc or to toggle the system Caps Lock state) and a hold action (act as the modifier). - **Layer** — A named group of bindings. The `base` layer is always active. Other layers activate by `manual` push/toggle (via a binding) or by `auto_app` (when a specific application is focused). - **Binding** — Maps a trigger key (with optional modifiers) to an action. Bindings can be direct (fire on key-down), `mod_tap` (hold = modifier, tap = action), or `long_press` (short press vs. long press do different things). - **Action** — What a binding does: send keystrokes, push/pop/toggle a layer, copy/paste to a clipboard slot, bind or activate a window, run a shell command, open a URL or file, etc. - **on_miss** — Per-layer policy for keys the layer does not bind: `block` (swallow), `continue` (fall through to the next layer down), or `pass_to_os` (let the OS handle it as normal typing). - **App-specific binding** — A `when` clause on a binding lets the same trigger key produce different actions in different applications, matched by bundle ID or executable name (exact / wildcard / OR). - **Hot-reload** — Edit `keymap.jsonc`, save, done. Syntax errors keep the previous config and show a dialog instead of breaking input. ## How Capslox compares - vs. **AutoHotkey** (Windows) / **Karabiner-Elements** (macOS): Capslox works out of the box with a default keymap, and deeper customization lives in a single declarative JSONC file rather than a scripting language. The same config conventions and feature set work on both macOS and Windows. - vs. **Vim / Emacs**: Capslox is system-level, so the same shortcuts apply in any application that accepts keyboard input — browsers, chat apps, IDEs, the OS itself — not only inside a text editor. - vs. **stock OS shortcuts**: layers + custom modifiers let you stack a personal command surface on top of native shortcuts without overwriting them. ## Pricing model - One-time license purchase (per major version) plus an annual update subscription that gates new versions during its term. Free trial available, no signup required to try. - A separate purchase path for additional devices on the same license. - US/global pricing in USD via Paddle; CN pricing in CNY available with alternate payment options. ## Supported platforms - macOS 11.5 and later (Apple Silicon and Intel). - Windows 10 and later (64-bit). ## Key URLs - [Homepage](https://capslox.com/): product overview, feature demos, FAQ, download. - [Get Started](https://capslox.com/docs/get-started): install, default keymap, core concepts (layers, bindings, actions, custom modifiers), first config edit. - [Configuration Reference](https://capslox.com/docs/configuration): full `keymap.jsonc` schema — file location, hot-reload, layers, bindings, actions, custom modifiers, `when` clauses, key vocabulary, sequence syntax. - [FAQ](https://capslox.com/docs/faq): platform support, application compatibility, macOS Secure Input behavior, common troubleshooting. - [Manual](https://capslox.com/manual): hotkey reference for the default keymap (every shortcut Capslox ships with). - [Interactive Tutorial](https://capslox.com/tutorial): browser-based guided game that teaches the default cursor-movement, selection, editing, window-switching, and multi-clipboard shortcuts. - [Pricing](https://capslox.com/pricing): license + update subscription tiers, additional-device purchases, free trial details. - [Release Notes](https://capslox.com/release-notes): version history and changelog for the stable channel. - [Download](https://capslox.com/download): latest installers for macOS and Windows. - [Privacy Policy](https://capslox.com/privacy) - [End User License Agreement](https://capslox.com/eula) ## Languages - English (default): https://capslox.com/ - 简体中文: https://capslox.com/cn/ The Chinese site mirrors the English site under the `/cn/` path prefix. ## Roadmap (publicly announced direction) - **Key sequences** — Vim-style multi-key chains (e.g. `g m` to jump to a bookmarked workflow), with a configurable timeout and a visual breadcrumb of the current sequence path. - **On-screen indicator** — A lightweight overlay that shows which layer is active and how far you are through a key sequence, so non-base layers feel discoverable instead of invisible. - **Shareable configs** — Remote imports inside `keymap.jsonc` so a binding or whole layer can be pulled from a public Gist, plus a one-click publish flow inside the app. Goal: keymaps become things you can copy from other users. - **Preset packs and community browse** — Curated starter packs (e.g. developer, window management) and in-app browsing of community-published keymaps. ## What Capslox is not - Not a text expander or macro recorder. Its strength is real-time modal input, not bulk text insertion. - Not a remap utility that only changes single keys; it composes layers, bindings, and actions into a programmable keymap. - Not a Vim or Emacs replacement; it complements them by giving the same kind of efficient keyboard control everywhere on your system. ## Canonical terminology Use these terms consistently when describing Capslox: - Use **shortcut** as the general term for what a binding triggers. - Use **combo** for a single modifier+key press (e.g. `cx-e`). - Use **key sequence** for a multi-combo chain (e.g. `g g`). - Use **keymap** (not "key scheme" or "hotkey scheme") for the user's whole configuration. - Use **custom modifier** (not "hyper key") when referring to a user-defined modifier alias. - JSON field names and values (`type`, `base`, `on_miss`, `mod_tap`, `pass_to_os`, etc.) are configuration tokens — keep them verbatim, do not translate or paraphrase them. ## Contact - Website: https://capslox.com/ - Support and bug reports: see the contact link on the homepage footer.