Rebind aims for feature parity with AutoHotkey and goes past it in a few places. The full SDK is covered in the Documentation; this is a plain-language overview of what each capability does and where it earns its keep.
Scripts run in the Rebind Engine on your machine, on Windows, macOS, and Linux. Rebind Link, the optional hardware, moves output onto a dedicated USB device: in hardware mode your OS receives standard USB HID at a USB report rate of up to 8,000 Hz.
Input remapping
The most common use case. Map a key to another key or combination:
- Swap keys (caps lock to escape, for example)
- Bind a key to a modifier combo (a single key that acts as ctrl+shift+alt+f5)
- Create chords, combinations of multiple keys that trigger a single action
- Block keys entirely so they never reach the OS
This works for keyboard keys and mouse buttons alike.
Per-application shortcuts
Scripts can read the active window. The same key can do different things depending on which application has focus, a capability peripheral software calls "application profiles." In Rebind, it is an if statement:
if System.Window().process == "Figma" then
-- zoom with scroll wheel
else
-- default scroll behavior
end
Because it's code rather than a profile editor, you can express conditions a GUI can't: window focus combined with key state, time of day, a config file value, or anything else the SDK exposes.
Text expansion
Type a short abbreviation, emit a full string. Email signatures, code snippets, frequently typed URLs, anything repetitive enough to deserve a single keypress. Expansion is keystroke output, not a clipboard paste, so it behaves like typing in whatever has focus.
Mouse movement transforms
Intercept and modify mouse movement before it reaches the OS:
- Scale sensitivity up or down without touching OS settings
- Apply smoothing to reduce jitter
- Invert axes
- Clamp movement to a region
- Apply custom transfer curves
Transforms run per event, so the result reads as your mouse behaving the way you told it to.
Intercepting and rewriting mouse movement (mouse_block) requires a Rebind Link. Blocking keys, mouse buttons, and scroll works in both software and hardware mode.
Macro recording and playback
Record a sequence of keystrokes and mouse events, then play it back at configurable speed.
Clipboard access
Read and write the system clipboard from scripts. Useful for macros that grab selected text, process it, and emit the result, or scripts that assemble text from several sources before typing it out.
Shell execution
Run a command on the host OS and capture the output. A script can call a Python script, a shell command, or any executable, read the result, and use it to drive behavior.
PCRE regex
Full Perl-compatible regex for string matching and transformation. Pairs well with clipboard access and text expansion: match patterns in captured text, extract groups, substitute, emit.
TOML config file I/O
Read and write structured config files from disk. Scripts can load preferences, store state between sessions, or share configuration across multiple scripts without duplicating values.
Audio playback
Play WAV, MP3, OGG, or FLAC files in response to input events: confirmation tones, alerts, notifications, triggered directly from script logic.
Pixel color sampling
Read the color of a pixel on screen from within a script. This makes input-reactive scripts possible: behavior that changes based on a UI state or an on-screen indicator.
HTTP client and server
The SDK includes an HTTP client (GET, POST, PUT, PATCH, DELETE, HEAD) and an HTTP server that listens for inbound requests. This is the most distinctive capability in the set.
A script can call a local REST API, poll an external service for state, or receive commands from another process over HTTP. Combined with the server, anything that can make an HTTP request can steer your scripts: a web app, a mobile app, a home automation system.
File system access
Read and write files on the host machine from within scripts. Combined with shell execution and HTTP, this lets a keystroke trigger workflows that span script logic, host-side programs, and external services.
Window manipulation
Move, resize, focus, and manage windows. A script can respond to an input event by rearranging your workspace or bringing a specific application forward.
IPC over shared memory
Communicate with external processes through a named shared memory region (Windows-only). A Rebind script can exchange data with a Python process, a local AI model, or any other tool that can map the same region. The script handles the input, the external process handles the heavy logic.
Where to start
Setup takes about 10 minutes; the Documentation walks through it. The in-app marketplace has ready-made scripts if you'd rather not write code. When you want to write your own, the SDK reference documents every available function with examples.