Skip to content

Macro Studio

CI Latest release License: GPL v2 NVDA 2023.1+

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.

Install

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.

Features

  • Two recording modes — live (keys reach the system) or stealth (keys are hidden from it, so a stray Delete cannot damage anything while you record).
  • Real simultaneous keys — a chord is injected with a single SendInput call 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, right Ctrl/Alt and 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

Default shortcuts

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.

Building from source

The repository root is the add-on, so building means packaging it:

python build.py

This writes dist/macroStudio-<version>.nvda-addon. The version comes from manifest.ini.

Running the tests

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.py

Translating

Translations 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.py

To 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.

Contributing

Bug reports, translations and pull requests are welcome. Start with CONTRIBUTING.md and the Code of Conduct.

Credits

  • Muhammet Enes Şenovalı — author of NVDA Macro Manager, the add-on this work is based on.
  • The NVDA community.

License

GNU General Public License version 2, the same licence as NVDA itself. See LICENSE.

About

Macro recorder, editor and playback engine for the NVDA screen reader. Records keys pressed together and replays them together.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages