Core Modules
appModuleHandler
Handles application-specific modules.class
Base class for app modulesProperties:
processID(int): Process IDappName(str): Application nameprocessHandle(int): Process handlesleepMode(bool): Whether NVDA sleeps in this appproductName(str): Product name from executableproductVersion(str): Product versionis64BitProcess(bool): Whether process is 64-bitisWindowsStoreApp(bool): Whether this is a Store app
chooseNVDAObjectOverlayClasses(obj, clsList): Choose overlay classesevent_appModule_gainFocus(): Called when app gains focusevent_appModule_loseFocus(): Called when app loses focus
function
Get app module for a process
function
Register custom executable-to-module mapping
globalPluginHandler
Handles global plugins.class
Base class for global pluginsMethods:
terminate(): Called when plugin is unloadedchooseNVDAObjectOverlayClasses(obj, clsList): Choose overlay classes
set
Set of currently running global plugins
api
Core API functions for accessing NVDA state.ui
User interface feedback.controlTypes
Control roles and states.scriptHandler
Script decorator and utilities.decorator
Decorator for defining scriptsParameters:
description(str): User-visible descriptioncategory(str): Category for Input Gesturesgesture(str): Single gesture stringgestures(list[str]): Multiple gesturescanPropagate(bool): Allow on ancestorsbypassInputHelp(bool): Run in input helpallowInSleepMode(bool): Run in sleep moderesumeSayAllMode: Resume say all modespeakOnDemand(bool): Speak on-demand
speech
Speech output.tones
Audio feedback.tones.py
config
Configuration management.textInfos
Text access and manipulation.queueHandler
Thread-safe queue operations.queueHandler.py
winUser
Windows API functions.winUser.py
gui
GUI dialogs and utilities.NVDAObjects Classes
Base Classes
Behaviors
behaviors.py
Events
Common NVDA Object events:event
Object gained keyboard focus
event
Object lost keyboard focus
event
Focus moved inside container (object is ancestor)
event
Object became foreground window
event
Object’s name changed
event
Object’s value changed
event
Object’s state changed
event
Selection changed in container
event
Caret moved within object
event
Object’s screen location changed
Gesture Identifiers
Keyboard
Braille
Touch
Logging
logging.py
Utility Modules
locationHelper
locationHelper.py
textUtils
textUtils.py
Best Practices
- Use
ui.message()for user feedback - Use
log.debug()for development - Use
queueHandlerfor thread safety - Cache expensive operations
- Handle exceptions gracefully
Version Compatibility
Check NVDA version:version.py
