Scrcpy Mask is a cross-platform desktop client built with Rust + Bevy + React, designed for efficient control of Android devices. It provides an intuitive visual interface for configuring mouse and keyboard mappings, enabling multi-touch operations similar to Android emulators. With millisecond-level response latency, Scrcpy Mask delivers a smooth and natural interaction experience, ideal for scenarios such as controlling Android devices or playing mobile games on your computer.
Since v0.7.0, the project has been fully migrated to the Bevy game engine, bringing more powerful and stable features such as scrcpy screen mirroring, combo key mapping, and a more flexible built-in scripting system and external control mechanism.
⚠️ The legacy branch based on Rust + Tauri + Vue is no longer maintained.
Special thanks to the developers of Scrcpy — a powerful and high-performance open-source tool that lays the solid foundation for remote Android control. Scrcpy Mask builds upon its excellent architecture and extends its capabilities with enhanced mouse and keyboard control.
To better support the interaction between Scrcpy Mask and Android devices, we have extended and optimized the original scrcpy-server, leading to the creation of a new branch project: scrcpy-mask-server.
- Internationalization (i18n)
- Wired and wireless Android device connection
- Scrcpy control protocol (input mapping)
- Scrcpy video protocol (screen mirroring)
- Visual key mapping configuration
- Built-in scripting support — see Script Syntax Guide
- Mouse and keyboard mapping
- Game controller mapping (awaiting sponsorship ❤️)
- External control — see External Control (in progress)
- Documentation
- Devices
- Mapping
- Screen Casting
- Settings
The build-help provides a brief description of how to run and compile the project.
If you’re interested in this project, feel free to submit a PR or open an Issue. Due to limited personal time and resources, I may not be able to respond to all feedback promptly — thank you for your understanding.



