explaingit

barry-ran/qtscrcpy

29,548C++Audience · developerComplexity · 3/5MaintainedLicenseSetup · hard

TLDR

Desktop app to view and control Android phones from your computer over USB or WiFi, with low latency and keyboard/mouse mapping for games.

Mindmap

mindmap
  root((repo))
    What it does
      Display Android screen
      Control phone remotely
      Multi-device support
    How it works
      USB or WiFi connection
      No phone software needed
      Uses Android Debug Bridge
    Key features
      Keyboard game mapping
      30-60 FPS video
      Low latency control
    Tech stack
      C++ and Qt
      OpenGL rendering
      FFmpeg decoding
    Use cases
      Demo apps on screen
      Test without picking up
      Hands-free presentations
    Platforms
      Windows
      macOS
      Linux

Things people build with this

USE CASE 1

Demo a mobile app to an audience from your desktop without holding the phone.

USE CASE 2

Test Android apps during development without constantly picking up your device.

USE CASE 3

Play mobile games using a keyboard and mouse instead of touch controls.

USE CASE 4

Control multiple phones at once to send the same actions to all of them simultaneously.

Tech stack

C++QtOpenGLFFmpegADB

Getting it running

Difficulty · hard Time to first run · 1day+

Requires building C++/Qt from source, Android SDK/ADB setup, and platform-specific dependencies (OpenGL, FFmpeg libraries).

Use freely for any purpose including commercial. Keep the notice and disclose changes to the patent grant.

In plain English

QtScrcpy is a desktop application that lets you display and control an Android phone or tablet directly from your computer, over a USB cable or a WiFi connection on the same network. No special software needs to be installed on the phone itself, and root access is not required, it uses ADB (Android Debug Bridge), the standard developer tool Android already exposes for debugging. Once connected, your phone's screen appears in a window on your computer at 30 to 60 frames per second, with latency as low as 35, 70 milliseconds. You can click, type, scroll, and interact with apps as if you were touching the phone. A key mapping feature lets you write scripts that translate keyboard and mouse actions into taps and swipes, which is useful for playing mobile games with a keyboard and mouse. Group control allows the same actions to be sent to multiple connected phones simultaneously. The software works on Windows, macOS, and GNU/Linux. It is built in C++ using the Qt framework for the user interface, OpenGL for video rendering, and FFmpeg for video decoding. It is derived from the open-source scrcpy project but uses Qt instead of SDL for the interface, adds asynchronous programming, and adds the custom key mapping system. You would use it if you want to demo a mobile app from your computer, test an Android app without constantly picking up your phone, or control a phone hands-free during a presentation.

Copy-paste prompts

Prompt 1
How do I set up QtScrcpy to connect my Android phone over USB and start controlling it from my Windows PC?
Prompt 2
Show me how to create a key mapping script in QtScrcpy to play a mobile game with my keyboard and mouse.
Prompt 3
How can I connect multiple Android phones to QtScrcpy and control them all at the same time?
Prompt 4
What are the latency and frame rate I can expect when using QtScrcpy over WiFi versus USB?
Prompt 5
How do I compile QtScrcpy from source on Linux and what dependencies do I need?
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.