doc/control.md
To disable controls (everything which can interact with the device: input keys, mouse events, drag&drop files):
scrcpy --no-control
scrcpy -n # short version
To control the device without mirroring:
scrcpy --no-video --no-audio
By default, the mouse is disabled when video playback is turned off.
To control the device using a relative mouse, enable UHID mouse mode:
scrcpy --no-video --no-audio --mouse=uhid
scrcpy --no-video --no-audio -M # short version
To also use a UHID keyboard, set it explicitly:
scrcpy --no-video --no-audio --mouse=uhid --keyboard=uhid
scrcpy --no-video --no-audio -MK # short version
To use AOA instead (over USB only):
scrcpy --no-video --no-audio --keyboard=aoa --mouse=aoa
Any time the Android clipboard changes, it is automatically synchronized to the computer clipboard.
Any <kbd>Ctrl</kbd> shortcut is forwarded to the device. In particular:
This typically works as you expect.
The actual behavior depends on the active application though. For example, Termux sends SIGINT on <kbd>Ctrl</kbd>+<kbd>c</kbd> instead, and K-9 Mail composes a new message.
To copy, cut and paste in such cases (but only supported on Android >= 7):
COPYCUTPASTE (after computer-to-device
clipboard synchronization)In addition, <kbd>MOD</kbd>+<kbd>Shift</kbd>+<kbd>v</kbd> injects the computer clipboard text as a sequence of key events. This is useful when the component does not accept text pasting (for example in Termux), but it can break non-ASCII content.
WARNING: Pasting the computer clipboard to the device (either via <kbd>Ctrl</kbd>+<kbd>v</kbd> or <kbd>MOD</kbd>+<kbd>v</kbd>) copies the content into the Android clipboard. As a consequence, any Android application could read its content. You should avoid pasting sensitive content (like passwords) that way.
Some Android devices do not behave as expected when setting the device clipboard
programmatically. An option --legacy-paste is provided to change the behavior
of <kbd>Ctrl</kbd>+<kbd>v</kbd> and <kbd>MOD</kbd>+<kbd>v</kbd> so that they
also inject the computer clipboard text as a sequence of key events (the same
way as <kbd>MOD</kbd>+<kbd>Shift</kbd>+<kbd>v</kbd>).
To disable automatic clipboard synchronization, use
--no-clipboard-autosync.
To simulate "pinch-to-zoom": <kbd>Ctrl</kbd>+click-and-move.
More precisely, hold down <kbd>Ctrl</kbd> while pressing the left-click button. Until the left-click button is released, all mouse movements scale and rotate the content (if supported by the app) relative to the center of the screen.
https://github.com/Genymobile/scrcpy/assets/543275/26c4a920-9805-43f1-8d4c-608752d04767
To simulate a vertical tilt gesture: <kbd>Shift</kbd>+click-and-move-up-or-down.
https://github.com/Genymobile/scrcpy/assets/543275/1e252341-4a90-4b29-9d11-9153b324669f
Similarly, to simulate a horizontal tilt gesture: <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+click-and-move-left-or-right.
Technically, scrcpy generates additional touch events from a "virtual finger" at a location inverted through the center of the screen. When pressing <kbd>Ctrl</kbd> the x and y coordinates are inverted. Using <kbd>Shift</kbd> only inverts x, whereas using <kbd>Ctrl</kbd>+<kbd>Shift</kbd> only inverts y.
This only works for the default mouse mode (--mouse=sdk).
To install an APK, drag & drop an APK file (ending with .apk) to the scrcpy
window.
There is no visual feedback, a log is printed to the console.
To push a file to /sdcard/Download/ on the device, drag & drop a (non-APK)
file to the scrcpy window.
There is no visual feedback, a log is printed to the console.
The target directory can be changed on start:
scrcpy --push-target=/sdcard/Movies/