Skip to main content
Rebind maps closely to AutoHotkey: you bind keys, send input, react to windows, and loop over time. The differences are that scripts are Luau (a fast, typed Lua) instead of AHK syntax, they run on Windows, macOS, and Linux, and their output can come from real USB hardware instead of a software Send.

How concepts map

Side by side

A remap and a hotkey that types text:
Scope a script to several browsers:

What’s different

  • A required header. Every script must declare min_sdk in its modeline.
  • Some calls yield. HID.Press holds the key with a Sleep, HID.Typewriter sleeps between keystrokes, and Net.* requests block, so those must run inside a Run() / Async() coroutine, not directly in a plain Bind/OnDown callback. HID.Down, HID.Up, and HID.Combo do not sleep. HID.Type needs no coroutine, but its timing and character coverage depend on the active transport.
  • Cross-platform. AutoHotkey is Windows-only.
  • Hardware output. In hardware mode your HID.* calls leave the Rebind Link as standard USB HID, not a software SendInput. The same script runs in software mode first; see How it works.
  • A typed language. Luau brings types, coroutines, and a full standard library. Sequences and delays use Run/Sleep instead of SetTimer/Loop.
  • More reach. See Remote control.
AutoHotkey has a deep Windows GUI and COM surface that Rebind doesn’t replicate. Rebind is about transforming input, not building desktop apps. For everything input-related, the Scripting guide and SDK reference are your next stops.