A macro recorder, editor and playback engine for the NVDA screen reader.
Macro Studio records what you type at the operating system level and plays it back exactly as it happened, including keys pressed at the same time. It is built for people who automate repetitive work with a screen reader, from game combinations to office workflows.
Author: Bilal Uğur Özçıtak · License: GPL-2.0 · NVDA: 2023.1 and later
Macro Studio is based on NVDA Macro Manager by Muhammet Enes Şenovalı. It is published as a separate add-on so that development can continue actively. The keyboard engine was rewritten for the 1.0 release.
Download the latest macroStudio-<version>.nvda-addon from the
releases page and open it. NVDA asks for
confirmation and then restarts.
If you already have the original NVDA Macro Manager installed, remove it first. Both add-ons register the
same shortcuts and share the same macro file, so running them together gives you duplicated keystrokes.
Your saved macros are kept: Macro Studio reads the same nvda_macros.json in your NVDA configuration
folder.
- Two recording modes — live (keys reach the system) or stealth (keys are hidden from it, so a stray
Deletecannot damage anything while you record). - Real simultaneous keys — a chord is injected with a single
SendInputcall instead of one key after another, and held keys stay held. - Correct key identity — every key carries its real scan code and extended flag, so arrows,
Insert,Delete,Home,End, rightCtrl/Altand numpad divide arrive as the key you chose. - Macro editor — keys and delays as separate steps, with copy, cut, paste, undo and redo.
- Per-macro gestures — every macro appears in NVDA's Input Gestures dialog.
- Speed and loop control — any multiplier, instant playback, fixed repeats or an endless loop.
- Application lock — a macro can refuse to run outside the application it belongs to.
- Safety timer — endless macros can stop themselves after 60, 300 or 1200 seconds.
- Hold to run — repeat a macro only while its hotkey is held.
- Sharing — export and import macros as files or as compressed clipboard text.
- 17 languages — the interface follows NVDA's own language.
Full documentation: English · Türkçe
| Shortcut | Action |
|---|---|
NVDA+Windows+R |
Start or stop live recording |
NVDA+Windows+Shift+R |
Start or stop stealth recording |
NVDA+Windows+P |
Play the last temporary macro, or cancel playback |
NVDA+Windows+Escape |
Emergency stop, releases every key |
NVDA+Shift+M |
Open the Macro Studio window |
The rest are listed in the documentation. All of them can be changed
under Preferences -> Input Gestures -> Macro Manager.
The repository root is the add-on, so building means packaging it:
python build.pyThis writes dist/macroStudio-<version>.nvda-addon. The version comes from manifest.ini.
The test suite stubs out NVDA and wxPython, so it runs on a plain Python install. It drives the real
playback loop with a fake SendInput and inspects the batches that would reach Windows:
python tests/test_playback.pyTranslations live in locale/<language>/LC_MESSAGES/nvda.po. Edit the .po file with a tool such as
Poedit, then rebuild the binary catalogue:
python tools/compile_translations.pyTo add a language, create locale/<code>/ using an existing language as the model and include a
manifest.ini with the translated summary and description. See
CONTRIBUTING.md.
Bug reports, translations and pull requests are welcome. Start with CONTRIBUTING.md and the Code of Conduct.
- Muhammet Enes Şenovalı — author of NVDA Macro Manager, the add-on this work is based on.
- The NVDA community.
GNU General Public License version 2, the same licence as NVDA itself. See LICENSE.