Use your desktop's mouse and keyboard on an Android phone or tablet.
An unofficial third-party client. Not affiliated with, endorsed by, or supported by the Deskflow
project or Symless.
Any bug belongs to this repository only, so report them here first, not upstream.
Easily have your Android Phone / Tablet in Deskflow layout. Seamless as its on Desktop application: taps, drags, scrolling, and typing into the focused text field. Remember It's Client only. It speaks the Synergy 1.6 wire format, so a Deskflow, Barrier, or Synergy 1.8 server should work.
- Android 11 (API 30) or newer
- A Deskflow / Barrier / Synergy server on the same network
- The app's accessibility service enabled; it performs the taps and typing
- On the desktop, add a screen to the server layout and note its name.
- In the app, enter host, port (default 24800), and that exact screen name. A mismatch is rejected by the server.
- Connect.
The server's certificate is self-signed, so the app pins its SHA-256 fingerprint on first use and compares against Deskflow's on-screen fingerprint. The desktop asks the same about this device; the title-bar button shows its fingerprint and randomart. Expect the first connect to bounce twice while both sides prompt, the client retries itself. "Forget this server" clears the pin.
TLS off in the app means TLS off on the server. There is no negotiation.
Move, tap, drag, flick, wheel scroll. Typing in text fields, plus backspace, delete, arrows, Home, End, Enter. Select all, copy, cut, paste. Escape and right-click go Back, Alt+Tab opens Recents.
Arbitrary shortcuts, and anything outside a text field: games, canvases, WebView-heavy apps.
Android has no public key-injection API, so the accessibility backend can only act on nodes an app
exposes. A Shizuku backend calling InputManager.injectInputEvent would lift that. Clipboard,
drag-and-drop, and file transfer are read off the wire and dropped.
./gradlew assembleDebugCopyright (C) 2026 ITESaurabh
SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
Deskflow's LICENSE is plain GPL-2.0, but its source files add the OpenSSL linking exception on
top. This client is a fresh Kotlin implementation, not a port, but the message codes, packet
layouts, and KeyID mapping come from Deskflow's sources, so it carries upstream's terms unchanged:
GPL-2.0 only, no "or later", exception passed through rather than dropped.
Nothing here links OpenSSL (TLS is Android's JSSE), so the exception is inert. It stays for
whoever forks this into something that does. Texts:
LICENSE, LICENSES/LicenseRef-OpenSSL-Exception.txt.
Upstream also licenses its docs MIT, its artwork GPL-2.0-only, and its bundled KDE Breeze icons LGPL-2.1-only. None of those files are copied here.
"Deskflow" is the name of the upstream project, used here only to say what this client talks to. The name and any associated marks belong to their owners, not to this repository.