NVDA Remote
Control a Windows PC running NVDA from your phone or tablet — keyboard, buttons, a D-pad, or swipe gestures on the session screen.
Download NVDA Remote v1.27 (.apk)
Version 1.27 · 2.4 MB
APK for Android. Installs directly — your phone will ask you to allow installs from your browser. Updates arrive inside the app. You'll also need a Windows PC running NVDA with Remote Access — that's the computer you'll be driving.
Why it exists — what it solves
This is a personal client for NVDA Remote Access. Connect through the relay, and your tablet becomes the keyboard of a Windows PC: send keys from a folio keyboard, from on-screen buttons, or from the D-pad. I built it so my tablet on the couch — or across the house — can run my station PC without my walking over to it.
Here's the trick that makes it pleasant: it sends keystrokes one way and the PC's speech back the other — it does not stream a video picture of the screen the way screen-sharing apps do. No picture means far less data moving, so it's much less resource-intensive and keeps working on slow connections that would strangle a screen share.
- Keyboard passthrough: with a folio attached, type as if you were at the PC.
- Meta is the NVDA key — the key you hold down for NVDA commands, standing in for the Insert/Caps Lock key on a full Windows keyboard. (On some Android versions Meta moonlights as an app-drawer opener — the Limitations section below explains, with the workaround.)
- Key-combination builder: pick modifiers and a key from lists — nothing sends until you press Send, so a half-built combo never fires by accident.
- A D-pad for touch: Up, Down, Left, Right, and Enter in the middle, laid out in the bottom half of the screen.
- Or swipe instead (new in 1.27): turn on the swipe area and that same bottom half of the session screen takes gestures directly — one-finger swipes are the arrow keys, a double tap is Enter, two-finger swipes reach for Windows, Escape, Alt+Tab and Show Desktop, and three-finger taps send Ctrl and Alt. Short tones tell you when the area switches on and off and when a touch lands in it. Prefer the buttons? Turn the swipe area off and the D-pad layout comes straight back. The swipe area's design comes from a suggestion by Aaron Hewitt, developer of the SandFly screen reader — thank you, Aaron Hewitt.
- Send Text: type or paste text on the tablet and send it to the PC — it goes in through the PC's clipboard (which it replaces) and pastes in one go.
- Speak through SandFly (optional): if you run the SandFly screen reader, the session can speak in SandFly's own voice and settings instead of a separate TTS voice. It's off by default — see Documentation below for the two-minute setup.
- Honest readouts: the app says plainly whether a computer is actually on your channel — no more "connected" to an empty room.
- A diagnostics log you can share when something misbehaves. It never contains your channel key.
Honest limitations
Read this before it surprises you:
- The swipe area needs Android 12 or newer and the app's accessibility service switched on (the same service that captures hardware keys). On older Android, or with the service off, you get the button layout — which always works.
- Speak through SandFly only works when SandFly's own "Let other apps speak" setting is on and you've allowed this app in SandFly. Until then SandFly says nothing for the app and doesn't explain why — the app can't see past SandFly's gates. Leave the option off and speech uses the app's own TTS voice, exactly as before.
- You will hear two voices — your Android screen reader and the computer's NVDA. That double speech is the nature of remote control, not a bug.
- Meta pulls all kinds of duty. In this app, Meta works hard: pressed on its own, it acts as the Windows key on the PC. Held with the arrow keys, it becomes Home, End, Page Up, and Page Down. Held with the number row — including the - and = keys — it becomes F1 through F12. All of that works fine. The one press that can get you stuck is Meta on its own: some launchers use that exact press to open the app drawer — the screen that lists all your installed apps. If yours is one of them, you're out of luck with bare Meta — it'll keep popping the drawer open right over your session. Use Ctrl+Esc instead — it gets you the same result, without the drawer crashing the party. And if your launcher doesn't do that? You're golden: Meta pressed alone just acts as the Windows key, exactly as intended.
- It was built for one specific tablet-and-folio setup — a keyboard without certain keys. If yours has those keys, great, they should send fine. If yours is different, it may or may not work well for you.
- Provided as is — mileage will vary.
Verify your download
After downloading, check the file's checksum against the one published here. If they match, your file is exactly the file that was released — unaltered in transit.
NVDA Remote v1.27 — MD5
d99a436fb721a88fa78d239894eaa2dc
Signing certificate (SHA-1): 36:36:21:48:15:4E:C1:FF:C0:0A:28:B9:78:CB:C9:B9:4C:DA:DC:F7 — the same Powerhouse Apps release key signs every release.
Virus-free: the published checksum above must match your download — that's your guarantee the file hasn't been tampered with. Scan reports are published alongside each release — here is the Scan report for this release.
Permissions, explained
| Permission | Why this app needs it |
|---|---|
| Internet | The relay connection is the app — no network, no remote session. |
| Foreground service + wake lock | A remote session must stay alive while you use it, not get put to sleep mid-sentence. |
| Post notifications | Session status — connected, disconnected, and why. |
| Request install packages | So NVDA Remote can install its own updates. |
| Accessibility service | Stated plainly: the app uses an accessibility service to capture hardware keys while a session is connected — that is how your folio keyboard reaches the PC — and to mark out the session screen's swipe area so touch gestures reach the app directly. It is also one of the things store policy frowns on, and a big reason this app lives here instead of the Play Store. |
| Speak through SandFly | Only if you turn the option on: lets the app ask the SandFly screen reader to speak the session in SandFly's voice. SandFly asks you to allow it, and you can say no — speech then uses the app's own voice. |
Documentation
The in-app Help — the Help button on the connect screen — mirrors this documentation: Connecting, Using touch, the swipe area, speech options, Using a keyboard, Limitations, and About. The essentials:
- Connecting: host and key must be exactly right. One extra character in the key and you haven't failed to connect — you've successfully joined an empty channel where no computer will ever show up. Check the key character by character.
- Using touch: on-screen buttons, the D-pad (Up / Down / Left / Right / Enter), and the combination builder — pick modifiers, pick a key, press Send.
- The swipe area: with the swipe area on, the bottom half of the session screen is a gesture surface: one-finger swipes are the arrow keys; a one-finger double tap is Enter; two-finger swipes are Windows (up), Escape (left), Alt+Tab (right) and Show Desktop (down), and a two-finger double tap is the Applications key; a three-finger tap sends Ctrl (stop speech) and a three-finger double tap sends Alt for menu bars. Three short tones mark the area: a mid tone when it switches on, a lower one when it switches off, and a brief high tick when a touch lands in it. The getting-started popup explains all of this the first time you connect. The switch lives on the connect screen — turn the area off and the D-pad layout returns.
- Send Text: on the session screen — type or paste, press Send, and the text is pasted on the PC. It replaces whatever is on the PC's clipboard.
- Speak through SandFly: off by default. To use it: in SandFly, open Apps and turn on "Let other apps speak"; then turn on Speak through SandFly on this app's connect screen and connect — the first time, SandFly posts a notification asking you to allow this app; allow it, and the session speaks in your SandFly voice. If SandFly's setting is off, the app goes silent instead of falling back — turn the app's option off to return to its own voice.
- Using a keyboard: keys pass through to the PC; Meta+Esc switches modes.
- Meta pulls all kinds of duty: on its own, it's the Windows key; with the arrow keys, it's Home, End, Page Up, and Page Down; with the number row — including - and = — it's F1 through F12. One heads-up: the only trap is Meta pressed alone. If your launcher uses that press to open the app drawer (the screen listing all your apps), you're out of luck with bare Meta — use Ctrl+Esc instead. If it doesn't, you're golden: Meta alone just acts as Windows, exactly as intended. See Limitations above.
- Limitations and About: the honest list above, in the app, where you'll be when it matters.