Change the Android "screen off timeout" (the idle delay before the screen automatically turns off) and restore the initial value on exit. PR #5447 <https://github.com/Genymobile/scrcpy/pull/5447>
4.2 KiB
Device
Some command line arguments perform actions on the device itself while scrcpy is running.
Stay awake
To prevent the device from sleeping after a delay when the device is plugged in:
scrcpy --stay-awake
scrcpy -w
The initial state is restored when scrcpy is closed.
If the device is not plugged in (i.e. only connected over TCP/IP),
--stay-awake
has no effect (this is the Android behavior).
This changes the value of stay_on_while_plugged_in
, setting which can be
changed manually:
# get the current show_touches value
adb shell settings get global stay_on_while_plugged_in
# enable for AC/USB/wireless chargers
adb shell settings put global stay_on_while_plugged_in 7
# disable
adb shell settings put global stay_on_while_plugged_in 0
Turn screen off
It is possible to turn the device screen off while mirroring on start with a command-line option:
scrcpy --turn-screen-off
scrcpy -S # short version
Or by pressing MOD+o at any time (see shortcuts).
To turn it back on, press MOD+Shift+o.
On Android, the POWER
button always turns the screen on. For convenience, if
POWER
is sent via scrcpy (via right-click or MOD+p),
it will force to turn the screen off after a small delay (on a best effort
basis). The physical POWER
button will still cause the screen to be turned on.
It can also be useful to prevent the device from sleeping:
scrcpy --turn-screen-off --stay-awake
scrcpy -Sw # short version
Since Android 15, it is possible to change this setting manually:
# turn screen off (0 for main display)
adb shell cmd display power-off 0
# turn screen on
adb shell cmd display power-on 0
Screen off timeout
The Android screen automatically turns off after some delay.
To change this delay while scrcpy is running:
scrcpy --screen-off-timeout=300 # 300 seconds (5 minutes)
The initial value is restored on exit.
It is possible to change this setting manually:
# get the current screen_off_timeout value
adb shell settings get system screen_off_timeout
# set a new value (in milliseconds)
adb shell settings put system screen_off_timeout 30000
Note that the Android value is in milliseconds, but the scrcpy command line argument is in seconds.
Show touches
For presentations, it may be useful to show physical touches (on the physical device). Android exposes this feature in Developers options.
Scrcpy provides an option to enable this feature on start and restore the initial value on exit:
scrcpy --show-touches
scrcpy -t # short version
Note that it only shows physical touches (by a finger on the device).
It is possible to change this setting manually:
# get the current show_touches value
adb shell settings get system show_touches
# enable show_touches
adb shell settings put system show_touches 1
# disable show_touches
adb shell settings put system show_touches 0
Power off on close
To turn the device screen off when closing scrcpy:
scrcpy --power-off-on-close
Power on on start
By default, on start, the device is powered on. To prevent this behavior:
scrcpy --no-power-on
Start Android app
To list the Android apps installed on the device:
scrcpy --list-apps
An app, selected by its package name, can be launched on start:
scrcpy --start-app=org.mozilla.firefox
This feature can be used to run an app in a virtual display:
scrcpy --new-display=1920x1080 --start-app=org.videolan.vlc
The app can be optionally forced-stop before being started, by adding a +
prefix:
scrcpy --start-app=+org.mozilla.firefox
For convenience, it is also possible to select an app by its name, by adding a
?
prefix:
scrcpy --start-app=?firefox
But retrieving app names may take some time (sometimes several seconds), so passing the package name is recommended.
The +
and ?
prefixes can be combined (in that order):
scrcpy --start-app=+?firefox