Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

What is Rebind

Rebind is a free engine that makes your keyboard and mouse scriptable. The engine captures your input, runs every keypress and mouse movement through your Luau scripts at up to 8,000 Hz, and outputs the result. Add the Rebind Link — a tiny USB dongle — and output leaves through a real USB device your computer sees as a standard keyboard and mouse. Because the engine owns the input pipeline, timing is consistent, vendor-agnostic, and the same scripts run on Windows, macOS, and Linux.

You can run it two ways. Software mode emits output through the OS input APIs — no hardware, free to use. Hardware mode routes the output through a small dedicated device (a Teensy 4.x) as real USB HID, for deterministic timing and isolation from the host. The script is identical either way; only the transport changes. See How it works.

What you can do

  • Program input with a real language. The runtime is Luau (a fast, typed Lua) on a Rust core — not a fixed feature list. Remap keys, transform mouse movement, run macros, sample the screen, drive windows, and call out over HTTP.
  • Drive it from anywhere. A built-in HTTP and WebSocket server lets any program — a web app, a Python process, a home-automation hub, a local model — send input over the wire, with official TypeScript, Python, and Rust clients.
  • Use any device, on any OS. Any USB keyboard and mouse you already own; the same scripts move with you and survive reinstalls.
  • Start without code. Describe what you want to RebindGPT and get a working script, or install one from the marketplace — then drop into the SDK when you want more.

Who it’s for

  • Developers and makers — drive physical input from code: automation, AI-vision sidecars, robotics, hardware-in-the-loop testing.
  • Accessibility — dwell-click, sticky keys, tremor smoothing, one-handed layouts, at the hardware level, in every app.
  • Power users — text expansion, per-app shortcuts, remaps, and macros — cross-OS and cross-vendor.

How Rebind compares

Factual feature comparison against the tools people reach for. (Karabiner-Elements is the standard macOS keyboard customizer; vendor software is the app that ships with Logitech / Razer / Corsair gear.)

RebindAutoHotkeyKarabinerVendor softwareStream Deck
PlatformsWindows, macOS, LinuxWindowsmacOSWindows (some macOS)Windows, macOS
ScriptingLuau runtimeAHK languageJSON rulesLimited (G Hub: Lua)Action presets
Works with any keyboard & mouseAny USB deviceAny deviceKeyboard (mouse limited)That brand onlyAdds a separate keypad
Hardware-isolated outputYes (Teensy)No (software)No (software)That brand only
HTTP + WebSocket (client & server)YesNoNoNoNo
CoroutinesYesLimitedNoNoNo
Pixel samplingYes (Win/macOS)YesNoNoNo
Window controlYesYesApp conditionsNoNo
Macro record / playYesYesNoBasicAction presets
Shared-memory IPCYes (Windows)NoNoNoNo
Remote SDKs (TS / Python / Rust)YesNoNoNoNo
Declarative config UIYesNoGUI + JSONAppYes
Per-app activationYes (modeline)YesYesProfilesProfiles

AutoHotkey is the closest in scripting power, but it is Windows-only software with no hardware output — see Coming from AutoHotkey. Karabiner-Elements is excellent on macOS, but macOS-only and keyboard-focused. Vendor software gives you hardware output, but only for that brand’s gear, and a macro recorder rather than a language. A Stream Deck is a great tactile control surface — it adds dedicated keys rather than transforming the keyboard and mouse you already use. Rebind is the one with a full scripting runtime, hardware-isolated output, and cross-platform support on any USB device.

Continue to the Quickstart.