toggleX — Settings Toggler, with Xtra features

toggleX turns settings you change often into two keystrokes. Press NVDA+0 to start the toggleX layer, then press one more key to flip a setting or load a saved synthesizer. Each toggle is confirmed by name, followed by a high beep for on or a low beep for off.

The layer lasts for exactly one keystroke. Pressing a key that toggleX does not use plays a low error beep and leaves the layer. Pressing NVDA+0 a second time leaves the layer and passes the keystroke through.

Saving your settings

Everything toggleX changes is stored in NVDA's own configuration, so NVDA+control+c saves it along with the rest of your settings and it comes back the next time NVDA starts. That covers the settings NVDA has its own place for, and also the three toggleX has to keep itself: speech dictionary processing, the all-text-processing toggle, and which synthesizer slot is active.

If you have NVDA set to save your configuration on exit, that works too. Nothing is written to disk until NVDA saves, so toggling something and then quitting without saving leaves your settings as they were.

Synthesizer slots are the exception: they are written out as soon as you save one, so they are never lost even if NVDA closes unexpectedly.

toggleX settings follow NVDA's configuration profiles. If a profile becomes active that has its own toggleX settings, they take effect straight away.

Toggling settings

Keys pressed after NVDA+0
KeyToggles
tTables
cTable cell coordinates
oTable headers
hHeadings
lLists
kLinks
iLine indentation
pObject position information
uKeyboard shortcuts
mAutomatic language switching
rTrust the voice's language when processing characters and symbols
dSpeech dictionary processing
zAll text processing (see below)

Settings with more than two states

Line indentation (i) and table headers (o) are not simple on/off settings in NVDA. Line indentation can be reported with speech, with tones, or with both; table headers can be reported for rows, for columns, or for both.

toggleX remembers the mode you had chosen. Switching one of these settings off and then on again restores that same mode rather than resetting it, and the restored mode is announced — for example "Indentation Tones". If toggleX has not yet seen your choice in the current NVDA session, switching on selects "Both Speech and Tones" for indentation and "Rows and columns" for table headers.

Toggling all text processing

z suspends symbol pronunciation, speech dictionaries and Unicode normalization in one step, so that text is spoken exactly as written. This is useful when a dictionary entry or symbol level is getting in the way of reading something precisely. Press z again to restore normal processing. Processing is also restored automatically if the add-on is unloaded.

Synthesizer slots

toggleX can store up to thirteen synthesizer configurations and switch between them instantly. A slot records the synthesizer, and its voice, variant, rate, pitch and volume — whichever of those the synthesizer supports.

Slot keys pressed after NVDA+0
KeySlot
1 to 9Slots 1 to 9
0Slot 0
-Slot 11
=Slot 12
`Slot 13
aSave the current synthesizer into the active slot

To save a configuration, set up the synthesizer the way you want it, press NVDA+0 then the slot key (toggleX reports "Empty slot" the first time), then press NVDA+0 then a. The slot you last selected is the one that gets written, and toggleX confirms with "Saved to slot" and the number.

Loading a slot announces the synthesizer's name. If a slot is empty toggleX says "Empty slot", and if the saved synthesizer can no longer be loaded it says so rather than failing silently. If a slot cannot be written to disk toggleX says that too, rather than reporting a save that would be gone by the next restart.

Slots are stored in toggleX.json in your NVDA user configuration directory. Slots saved by toggleX 0.x are imported automatically the first time version 1.0 runs; the old switch_synth.pickle file is left in place and is not read again.

Changing the command

NVDA+0 can be reassigned from NVDA's Input Gestures dialog, under the toggleX category. The keys pressed inside the layer are fixed.

Requirements

toggleX 1.0 and later require NVDA 2026.1 or later. They will not install on earlier versions of NVDA, which need toggleX 0.x instead.

Authors

toggleX was originally written by Tyler Spivey (tspivey@pcdesk.net) and Erion. It has been maintained since 2026 by Josh Kennedy (joshknnd1982@gmail.com), who brought it up to date for NVDA 2026.1.