Ticket #97 (accepted enhancement)
Allow NVDA to handle multiple input desktops
| Reported by: | jteh | Owned by: | jteh |
|---|---|---|---|
| Priority: | major | Milestone: | |
| Component: | Core | Version: | trunk |
| Keywords: | Cc: | ||
| Blocking: | #100 | Blocked By: |
Description
Currently, NVDA only handles a single input desktop; i.e. the input desktop on which it was started. This means that programs which run in other desktops cannot be read by NVDA, such as the Windows logon screen, the Windows security screen, the "Unlock Computer" screen, Vista's UAC screens and applications run as administrator in Vista. A Windows service needs to be implemented which can detect when the input desktop changes and act accordingly. This service should be light-weight, so it probably needs to be written in C/C++.
Ideally, NVDA should simply re-register all events in the new input desktop and switch, but this is probably not possible with the current architecture. The alternative is for a new instance of NVDA to be started on a new input desktop.
Issues to be discussed include:
- Should NVDA be terminated on the previous input desktop or should it just be silenced or the like?
- What should happen with regard to current configuration?
- Current configuration needs to be communicated to the new instance of NVDA.
- Any configuration changes need to be communicated back to the previous instance.
- What happens if the user requests to save the configuration while running another instance?

NVDA is supported by