Welcome to the TeleNVDA addon, which will allow you to connect to another computer running the free NVDA screen reader. With this add-on, you can connect to another person's computer, or allow a trusted person to connect to your system to perform routine maintenance, diagnose a problem, or provide training. This add-on is a modified version of the NVDA Remote add-on, and is maintained by the NVDA spanish community. It's fully compatible with NVDA Remote. These are the current differences:
You will need to have installed NVDA on both computers, and obtain the TeleNVDA addon.
The installation of both NVDA and the TeleNVDA addon are standard. If you need more information, this can be found in NVDA's User Guide.
When updating the addon, if you have installed TeleNVDA on the secure desktop, it is recommended that you also update the copy on the secure desktop.
To do this, first update your existing addon. Then open the NVDA menu, preferences, General settings, and press the button labeled "Use currently saved settings on the logon and other secure screens (requires administrator privileges)".
If you connect to a server without a valid SSL certificate, you will receive a connection security warning.
This may mean that your connection is insecure. If you trust this server fingerprint, you can press "Connect" to connect once, or "Connect and do not ask again for this server" to connect and save the fingerprint.
The server option in the connect dialog allows you to set up a direct connection.
Once selecting this, select which mode your end of the connection will be in.
The other person will connect to you using the opposite.
Once the mode is selected, you can use the Get External IP button to get your external IP address and make sure the port which is entered in the port field is forwarded correctly. If enabled on your router, you can foorward the port using UPNP before performing portcheck.
If portcheck detects that your port (6837 by default) is not reachable, a warning will appear.
Forward your port and try again. Also, ensure that the NVDA process is allowed through Windows firewall.
Note: The process for forwarding ports, enabling UPNP or configuring Windows firewall is outside of the scope of this document. Please consult the information provided with your router for further instruction.
Enter a key into the key field, or press generate. The other person will need your external IP along with the key to connect. If you entered a port other than the default (6837) in the port field, make sure that the other person appends the alternative port to the host address in the form <external ip>:<port>.
If you want to forward the chosen port using UPNP, enable the "Use UPNP to forward this port if possible" checkbox.
Once ok is pressed, you will be connected. When the other person connects, you can use TeleNVDA normally.
Once the session is connected, the user of the controlling machine can press f11 to start controlling the remote machine (e.g. by sending keyboard keys or braille input). This gesture can be changed from NVDA Input Gestures Dialog.
When NVDA says controlling remote machine, the keyboard and braille display keys you press will go to the remote machine. Furthermore, when the controlling machine is using a braille display, information from the remote machine will be displayed on it. Press f11 again to stop sending keys and switch back to the controlling machine.
For best compatibility, please ensure that the keyboard layouts on both machines match.
To share a link so someone else can easily join your TeleNVDA session, select Copy Link from the Remote menu. You can also assign gestures from the NVDA Input Gestures dialog to speed up this task.
You can choose between two link formats. First one is compatible with both NVDA Remote and TeleNVDA, and is the most recommended for now. Second one is compatible only with TeleNVDA.
IF you are connected as the controlling computer, this link will allow someone else to connect and be controlled.
If instead you have set up your computer to be controlled, the link will allow people who you share it with to control your machine.
Many applications will allow users to activate this link automatically, but if it does not run from within a specific app, it can be coppied to the clipboard and run from the run dialog.
Note that the shared link may not work if you copy it from a server running in direct connection mode.
While sending keys, it is not possible to send the CTRL+Alt+del combination normally.
If you need to send CTRL+Alt+del, and the remote system is on the secure desktop, use this command.
Usually when you press the assigned gesture to switch between the local and the remote machine, it won't be sent to the remote machine; it will switch between the local machine and the remote machine instead.
If you need to send this or any gesture to the remote machine, you can override this behavior for the next immediate gesture by activating the ignore next gesture script.
By default, this script is assigned to the control + f11 key. This gesture can be changed from NVDA Input Gestures Dialog.
When this script is called, the next gesture will be ignored and will be sent to the remote machine, including the gesture to activate the ignore next gesture script. Once the next gesture has been sent, it will return to the usual behavior.
Sometimes, you may wish to control one of your own computers remotely. This is especially helpful if you are traveling, and you wish to control your home PC from your laptop. Or, you may want to control a computer in one room of your house while sitting outside with another PC. A little advanced preparation makes this convenient and possible.
For advanced use, you can also configure NVDA Remote to automatically connect to a local or remote relay server in controlling mode. If you want this, select Control another machine in the second set of radio buttons.
Note: The autoconnect at startup-related options in the options dialog do not apply until NVDA is restarted.
If you do not wish to hear the remote computer's speech or NVDA specific sounds, simply access the NVDA menu, Tools, and Remote. Arrow down to Mute Remote, and press Enter. Please note that this option will not disable remote braille output to the controlling display when the controlling machine is sending keys.
To end a remote session, do the following:
Alternatively, you can press NVDA+alt+page down to directly disconnect the session. This gesture can be changed from NVDA Input Gestures Dialog. To keep the other end safe, you may press this gesture while sending keys to disconnect the remote computer.
The Push clipboard option in the remote menu allows you to push text from your clipboard.
When activated, any text on the clipboard will be pushed to the other machines.
The Send file option in the remote menu allows you to send small files to all session members, including the controlled machine. Please note, you can only send files smaller than 10 MB. Sending or receiving files on secure screens is not allowed.
Also note that sending files may consume too much network traffic on the server, depending on the file size, the computers connected to the same session and the amount of files sent. Contact your server administrator and ask them if the traffic is billed. In that case, consider using another platform to exchange files.
When the file is received on the remote machines, a Save as dialog will pop up, allowing you to choose where to save the file.
In order for TeleNVDA to work on the secure desktop, the addon must be installed in the NVDA running on the secure desktop.
Once TeleNVDA is installed on the secure desktop, if you are currently being controlled in a remote session, you will have speech and braille access to the secure desktop when switched to.
If you no longer want to trust the server fingerprints you've trusted, you can clear all of the trusted fingerprints by pressing the "Delete all trusted fingerprints" button in the Options dialog.
By default, TeleNVDA checks open ports using a service provided by the NVDA spanish community. You can change the service URL from the options dialog. Ensure that the port to check is part of the custom URL and the results are returned in the expected format. A portcheck sample script is distributed in TeleNVDA repository, so you can host your own copy if desired.
This project is covered by the GNU General Public License, version 2 or later. You may clone this repo to make alteration to TeleNVDA, provided that you read, understand and respect the license terms. The MiniUPNP module is licensed under a BSD-3 clause license.
These can be installed with pip:
In order to build the URL handler executable, you need Visual Studio 2019 or later.
[[!tag dev stable]]