Hotkeys & game macros for Windows — works even in fullscreen games.
EZ Macro installs a global low-level keyboard/mouse hook, so its triggers fire system-wide and can swallow the original keystroke before it reaches the focused app. Built for macro pads, gaming, and everyday shortcut automation.
- Macro actions bound to any key, mouse button, or key combo (including
F13–F24 and pad-style combos like
Ctrl+F13):- Remap a key to another key/button
- Key sequence — record a scripted series of presses with timing, repeat count, and randomized jitter
- Auto-repeat / clicker — toggle or hold to spam a key/click at a set rate
- Launch an app, file, folder, or URL
- Run command — execute a command line
- Type text — inject a snippet, signature, or canned message
- Show cheat sheet — toggle the on-screen overlay
- Text expansions — type a short abbreviation, get a longer phrase (with word-boundary matching)
- Per-app scope — restrict any macro to a specific game/app by exe or window title
- Transparent HUD overlay — fire-toasts when macros run, plus a movable cheat-sheet of all your bindings (position configurable per corner)
- Panic hotkey (
Ctrl+Alt+Endby default) instantly pauses everything - System tray with live state icons (listening / recording / paused)
- 4 languages — English, Français, Español, Русский
- In-app updater — signed updates delivered from GitHub Releases
Download the latest installer from the Releases page:
EZ Macro_x.y.z_x64-setup.exe— NSIS installer (recommended)EZ Macro_x.y.z_x64_en-US.msi— MSI installer
The app lives in the system tray; closing the window hides it there. First launch opens a guided setup.
Updates: enable Settings → Updates → Check for updates on startup, or use Check for update now at any time.
Prerequisites: Node.js 20+ and the Rust toolchain (plus the Tauri Windows prerequisites — WebView2 is preinstalled on Windows 10/11).
npm install
npm run tauri dev # run the app with hot reload
npm run tauri build # produce local installers (needs signing key env, see below)Frontend lives in src/ (React 19 + TypeScript + Vite); the native side is in
src-tauri/ (Rust + Tauri 2). The global hook and macro engine are in
src-tauri/src/hook.rs and src-tauri/src/engine.rs.
Releases are built and signed automatically by GitHub Actions
(.github/workflows/release.yml). To cut one:
-
Bump
versioninsrc-tauri/tauri.conf.jsonandpackage.json. -
Tag and push:
git tag vX.Y.Z && git push origin vX.Y.Z
CI (tauri-action) builds the Windows installers, signs the updater artifacts,
and publishes a GitHub Release with latest.json for the in-app updater.
The updater signing key is not in the repo. CI reads it from two repository
secrets: TAURI_SIGNING_PRIVATE_KEY and TAURI_SIGNING_PRIVATE_KEY_PASSWORD.
Building installers locally requires the same key in your environment.
Tauri 2 · React 19 · TypeScript · Vite · Rust · Windows API (windows crate)