Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
Q

QtScrcpy

> 编程语言
Open source

Android real-time display control software

30.8K stars0 likes0 views
WebsiteGitHub

About

Android real-time display control software

QtScrcpy

中文用户?点我查看中文介绍

QtScrcpy supports displaying and controlling Android devices via USB or over network. It does NOT require root privileges.

It supports three major platforms: GNU/Linux, Windows and macOS.

It focuses on:

  • lightness (displays only the device screen)
  • performance (30~60 fps)
  • quality (1920×1080 or above)
  • low latency (35~70ms)
  • low startup time (only about 1 second to display the first frame)
  • non-intrusiveness (nothing will be installed on the device)

The author has developed a more professional screen casting software called QuickMirror

QuickMirror function&features:

  • Equipment screen casting&control: batch screen casting, individual control, batch control
  • Group management
  • WiFi screen mirroring/OTG screen mirroring
  • Adb shell shortcut command
  • File transfer, apk installation
  • Multiple screen mirroring: In OTG mirroring mode, with low resolution and smoothness settings, a single computer can manage 500+phones simultaneously
  • Low latency: USB screen mirroring 1080p latency is within 30ms, which is lower than all screen mirroring software on the market in terms of latency at the same resolution and smoothness
  • Low CPU usage: pure C++development, high-performance GPU video rendering
  • High resolution: adjustable, maximum support for native resolution of Android terminals
  • Perfect Chinese input: Supports Xianyu app, supports Samsung phones
  • The free version can cast up to 10 screens, with unlimited functionality (except for automatic screen mirroring)
  • QuickMirror tutorial: https://lrbnfell4p.feishu.cn/docx/EMkvdfIvDowy3UxsXUCcpPV8nDh
  • QuickMirror Telegram communication group: https://t.me/+EnQNmb47C_liYmRl
  • Preview of QuickMirror Interface:

Mapping Keys

You can write your script to map keyboard and mouse actions to touches and clicks of the mobile phone according to your needs. Here are the script writing rules.

Script for TikTok and some other games are provided by default. Once enabled, you can play the game with your keyboard and mouse. The default key mapping for PUBG Mobile is as follows:

Instruction for adding new customized mapping files.

  • Write a customized script and put it in the keymap directory
  • Click refresh script to show it
  • Select your script
  • Connect to your phone, start service and click apply
  • Press ~ key (the SwitchKey in the key map script) to switch to custom mapping mode
  • Press the ~ key again to switch back to normal mode
  • (For games such as PUBG Mobile) If you want to move vehicles with the STEER_WHEEL keys, you need to set the move mode to single rocker mode.

If you don't know how to manually write mapping rules, you can also use the QuickAssistant developed by the author QuickAssistant Features&Functions:

  • Play Android mobile games smoothly through keyboard and mouse
  • Interface based editing of key mapping script
  • Support pausing the computer screen and using only keyboard and mouse operations
  • Screenshot&Recording of Mobile Screen
  • Simple batch control
  • Android 11+supports playing mobile audio on computers (under development...)
  • Mobile app installation free
  • Fast and instant connection
  • Low latency: USB screen mirroring 1080p latency is within 30ms, which is lower than all screen mirroring software on the market in terms of latency at the same resolution and smoothness
  • Low CPU usage: pure C++development, high-performance GPU video rendering
  • High resolution: adjustable, maximum support for native resolution of Android terminals
  • Telegram Group:https://t.me/+Ylf_5V_rDCMyODQ1
  • QuickAssistant

Group control

You can control all your phones at the same time.

Star History

Thanks

QtScrcpy is based on Genymobile's scrcpy project. Thanks a lot!

The difference between QtScrcpy and the original scrcpy is as follows:

key points scrcpy QtScrcpy ui sdl qt video encode ffmpeg ffmpeg video render sdl opengl cross-platform self implemented provided by Qt language C C++ style sync async keymap no custom keymap support custom keymap build meson+gradle qmake or CMake
  • It's very easy to customize your GUI with Qt
  • Asynchronous programming of Qt-based signal slot mechanism improves performance
  • Easy to learn
  • Add support for multi-touch

Learn

If you are interested in it and want to learn how it works but do not know how to get started, you can choose to purchase my recorded video lessons. It details the development architecture and the development process of the entire software and helps you develop QtScrcpy from scratch.

Course introduction:https://blog.csdn.net/rankun1/article/details/87970523

You can join Telegram Group for QtScrcpy and exchange ideas with like-minded friends.:

Telegram Group:https://t.me/+EnQNmb47C_liYmRl

Requirements

Android API >= 21 (Android 5.0).

Make sure you have enabled ADB debugging on your device(s).

Download

Windows

On Windows, for simplicity, prebuilt archives with all the dependencies (including ADB) are available at Releases:

  • QtScrcpy

or you can build it yourself

Mac OS

On Mac OS, for simplicity, prebuilt archives with all the dependencies (including ADB) are available at Releases:

  • QtScrcpy

or you can build it yourself

Linux

For Arch Linux Users, you can use AUR to install: yay -Syu qtscrcpy (may be outdated; maintainer: yochananmarqos)

For users in other distros, you can use the prebuilt archives from Releases:

  • QtScrcpy

or you can get it at GitHub Actions, in branch dev and download the latest artifact.

or you can build it yourself (not recommended, get it in Actions if you can)

Run

Connect to your Android device on your computer, then run the program and click USB connect or WiFi connect

Wireless connection steps (ensure that the mobile phone and PC are on the same LAN):

  1. Enable USB debugging in developer options on the Android device
  2. Connect the Android device to the computer via USB
  3. Click update device, and you will see that the device number is updated
  4. Click get device IP
  5. Click start adbd
  6. Click wireless connect
  7. Click update device again, and another device with an IP address will be found. Select this device.
  8. Click start service

Note: it is not necessary to keep your Android device connected via USB after you start adbd.

Interface button introduction:

  • Start config: function parameter settings before starting the service

    You can set the bit rate, resolution, recording format, and video save path of the locally recorded video.

    • Background record: the Android device screen is not displayed after starting the service. It is recorded in the background.
    • Always on top: the video window for Android devices will be kept on the top
    • Close screen: automatically turn off the Android device screen to save power after starting the service
    • Reverse connection: service startup mode. You can uncheck it if you experience connection failure with a message more than one device
  • Refresh devices: Refresh the currently connected device

  • Start service: connect to the Android device

  • Stop service: disconnect from the Android device

  • Stop all services: disconnect all connected Android devices

  • Get device IP: Get the IP address of the Android device and update it to the "Wireless" area for the ease of wireless connection setting.

  • Start adbd: Start the adbd service of the Android device. You must start it before the wireless connection.

  • Wireless connect: Connect to Android devices wirelessly

  • Wireless disconnect: Disconnect wirelessly connected Android devices

  • adb command: execute customized ADB commands (blocking commands are not supported now, such as a shell)

The main function

  • Display Android device screens in real-time

  • Real-time mouse and keyboard control of Android devices

  • Screen recording

  • Screenshot to png

  • Wireless connection

  • Supports multiple device connections

  • Full-screen display

  • Display on the top

  • Install apk: drag and drop apk to the video window to install

  • Transfer files: Drag files to the video window to send files to Android devices

  • Background recording: record only, no display interface

  • Copy-paste

    It is possible to synchronize clipboards between the computer and the device, in both directions:

    • Ctrl + c copies the device clipboard to the computer clipboard;
    • Ctrl + Shift + v copies the computer clipboard to the device clipboard;
    • Ctrl + v pastes the computer clipboard as a sequence of text events (non-ASCII characters does not yet work).
  • Group control

  • Sync device speaker sound to the computer (based on sndcpy, Android 10+ only)

Shortcuts

Action Shortcut (Windows) Shortcut (macOS) Switch fullscreen mode Ctrl+f Cmd+f Resize window to 1:1 (pixel-perfect) Ctrl+g Cmd+g Resize window to remove black borders Ctrl+w | Double-click¹ Cmd+w | Double-click¹ Click on HOME Ctrl+h | Middle-click Ctrl+h | Middle-click Click on BACK Ctrl+b | Right-click² Cmd+b | Right-click² Click on APP_SWITCH Ctrl+s Cmd+s Click on MENU Ctrl+m Ctrl+m Click on VOLUME_UP Ctrl+↑ (up) Cmd+↑ (up) Click on VOLUME_DOWN Ctrl+↓ (down) Cmd+↓ (down) Click on POWER Ctrl+p Cmd+p Power on Right-click² Right-click² Turn device screen off (keep mirroring) Ctrl+o Cmd+o Expand notification panel Ctrl+n Cmd+n Collapse notification panel Ctrl+Shift+n Cmd+Shift+n Copy to clipboard³ Ctrl+c Cmd+c Cut to clipboard³ Ctrl+x Cmd+x Synchronize clipboards and paste³ Ctrl+v Cmd+v Inject computer clipboard text Ctrl+Shift+v Cmd+Shift+v

¹Double-click on black borders to remove them.

²Right-click turns the screen on if it was off, presses BACK otherwise.

³Only on Android >= 7.

TODO

TODO

FAQ

FAQ

DEVELOP

DEVELOP

Everyone is welcome to maintain this project and contribute your own code, but please follow these requirements:

  1. Please open PRs to the dev branch instead of the master branch
  2. Please rebase the original project before opening PRs
  3. Please submit PRs on the principle of "small amounts, many times" (one PR for a change is recommended)
  4. Please keep the code style consistent with the existing style.

Why

GitHub Issues· 624 open

View all on GitHub
  • #303

    分享一个原神的按键映射

    Updated Sep 2, 2026
  • #857

    显示黑屏,点击可以,但是不能正常显示内容

    Updated Sep 1, 2026
  • #948

    一直白屏没有画面

    Updated Sep 1, 2026
  • #1296

    Apple M2 Pro macOS 26.5.1 无法安装

    Updated Aug 31, 2026
  • #1295

    大佬。提个建议增加无线连接二维码连接方式

    Updated Aug 21, 2026
  • #1294

    wifi一键连接卡在了start server...

    Updated Aug 21, 2026
  • #1293

    linux系统下使用AppImage时,keymap目录在哪里?

    Updated Aug 20, 2026
  • #1292

    QtScrcpy-win-x64-v4.1.1版本底部的无线连接IP输入框默认布局IP显示不完整

    Updated Aug 17, 2026
  • #1274

    Alert: Your project is cloned and shared without proper Apache-2.0 attribution by snackboycoder

    Updated Aug 15, 2026
  • #1290

    会考虑加一个打开高清画面的开关吗?

    Updated Aug 15, 2026

Highlights

  • •lightness (displays only the device screen)
  • •performance (30~60 fps)
  • •quality (1920×1080 or above)
  • •low latency ([35~70ms][lowlatency])
  • •low startup time (only about 1 second to display the first frame)
  • •non-intrusiveness (nothing will be installed on the device)
  • •Equipment screen casting&control: batch screen casting, individual control, batch control
  • •Group management
  • •WiFi screen mirroring/OTG screen mirroring
  • •Adb shell shortcut command

> Tags

C++androidqt

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言