Rebind aims for complete feature parity with AutoHotkey and goes further in several areas. The full SDK is documented in the SDK Reference, but this is a plain-language overview of what's available and where each capability is useful.
Everything listed here runs on the Rebind microcontroller — not on your PC. Scripts execute at up to 8,000 Hz on dedicated hardware, and the output reaches your computer as standard USB HID input from a real device.
Input remapping
The most common use case. Map any key to any other 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 both keyboard and mouse buttons. Any USB HID input event can be intercepted and redirected.
Per-application shortcuts
Scripts can read the active window on the host PC. The same key can do different things depending on which application has focus — a capability peripheral software calls "application profiles." In Rebind, this is just an if statement in your script:
if window.active() == "Figma" then
-- zoom with scroll wheel
else
-- default scroll behavior
end
Because it's code rather than a profile editor, you can express conditions that a GUI can't — combining window focus 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. Useful for:
- Email signatures and canned responses
- Code snippets and boilerplate
- Frequently typed URLs, commands, or phrases
- Any repetitive typing that could be a single keypress
Text expansion runs at the hardware level — it's not a clipboard paste, it's keystroke output. It works everywhere keyboard input works.
Mouse movement transforms
Intercept and modify mouse movement before it reaches the OS:
- Scale sensitivity up or down without changing OS settings
- Apply smoothing to reduce jitter
- Invert axes
- Clamp movement to a region
- Apply custom transfer curves
These transforms execute per-event at up to 8kHz, so they're imperceptible in terms of latency and produce smooth, hardware-accurate output.
Macro recording and playback
Record a sequence of keystrokes and mouse events, then play them back with configurable speed. The playback runs on the hardware at consistent timing — not a software simulation.
Clipboard access
Read and write the system clipboard from scripts. Useful for macros that grab selected text, process it, and emit modified output — or scripts that assemble text from multiple 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. This bridges hardware-level input automation with arbitrary host-side logic.
PCRE regex
Full Perl-compatible regex for string matching and transformation. Useful in combination with clipboard access or text expansion — match patterns in captured text, extract groups, substitute, and emit modified output.
TOML config file I/O
Read and write structured config files from disk. Scripts can load user preferences, store state between sessions, or read configuration that's managed separately from the script itself. Useful for sharing configuration across multiple scripts without duplicating values.
Audio playback
Play WAV, MP3, OGG, or FLAC files in response to input events. Macros can include audio feedback — confirmation tones, alerts, or notifications — triggered directly from script logic.
Pixel color sampling
Read the color of any pixel on screen from within a script. This makes it possible to write input-reactive scripts that respond to what's displayed — changing behavior based on a UI state, a health bar value, a game indicator, or any other visual signal.
HTTP client and server
The SDK includes a full 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, send telemetry to a remote endpoint, poll an external service for state, or receive commands from another process over HTTP. Combined with the HTTP server, you can control Rebind script behavior from any other tool that can make HTTP requests — a web app, a mobile app, another script, 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 makes it possible to build workflows that span hardware input, host-side logic, and external services — all triggered by keyboard and mouse events.
Window manipulation
Move, resize, focus, and manage windows on the host. Scripts can respond to an input event by rearranging your workspace, moving a window to a specific position, or bringing a specific application into focus.
Shared memory IPC
Communicate with external processes via named pipes. A Rebind script can exchange data with a Python process, an AI model running locally, a game overlay, or any other tool that supports shared memory. This is how you build deep integration between hardware input and host-side intelligence — the script handles the input, the external process handles the complex logic, and the two communicate at memory-bus speed.
How to get started
The Getting Started guide walks through setup in about 10 minutes. The marketplace has ready-made scripts if you want to start without writing code. If you want to write your own scripts, the SDK Reference documents every available function with examples.