Provided by: scrcpy_1.25-1ubuntu1_amd64 bug

NAME

       scrcpy - Display and control your Android device

SYNOPSIS

       scrcpy [options]

DESCRIPTION

       scrcpy  provides display and control of Android devices connected on USB (or over TCP/IP).
       It does not require any root access.

OPTIONS

       --always-on-top
              Make scrcpy window always on top (above other windows).

       -b, --bit-rate value
              Encode the video at the given bit-rate, expressed  in  bits/s.  Unit  suffixes  are
              supported: 'K' (x1000) and 'M' (x1000000).

              Default is 8000000.

       --codec-options key[:type]=value[,...]
              Set a list of comma-separated key:type=value options for the device encoder.

              The possible values for 'type' are 'int' (default), 'long', 'float' and 'string'.

              The  list  of  possible  codec  options  is  available in the Android documentation
              ⟨https://d.android.com/reference/android/media/MediaFormat⟩.

       --crop width:height:x:y
              Crop the device screen on the server.

              The values are expressed in the device natural orientation (typically, portrait for
              a  phone,  landscape for a tablet). Any --max-size value is computed on the cropped
              size.

       -d, --select-usb
              Use USB device (if there is exactly one, like adb -d).

              Also see -e (--select-tcpip).

       --disable-screensaver
              Disable screensaver while scrcpy is running.

       --display id
              Specify the display id to mirror.

              The list of possible display ids can be  listed  by  "adb  shell  dumpsys  display"
              (search "mDisplayId=" in the output).

              Default is 0.

       --display-buffer ms
              Add  a  buffering delay (in milliseconds) before displaying. This increases latency
              to compensate for jitter.

              Default is 0 (no buffering).

       -e, --select-tcpip
              Use TCP/IP device (if there is exactly one, like adb -e).

              Also see -d (--select-usb).

       --encoder name
              Use a specific MediaCodec encoder (must be a H.264 encoder).

       --force-adb-forward
              Do not attempt to use "adb reverse" to connect to the device.

       --forward-all-clicks
              By default, right-click triggers BACK (or POWER on) and middle-click triggers HOME.
              This option disables these shortcuts and forward the clicks to the device instead.

       -f, --fullscreen
              Start in fullscreen.

       -h, --help
              Print this help.

       -K, --hid-keyboard
              Simulate a physical keyboard by using HID over AOAv2.

              This  provides  a better experience for IME users, and allows to generate non-ASCII
              characters, contrary to the default injection method.

              It may only work over USB.

              The keyboard layout must be configured (once  and  for  all)  on  the  device,  via
              Settings  -> System -> Languages and input -> Physical keyboard. This settings page
              can be started directly:

                  adb shell am start -a android.settings.HARD_KEYBOARD_SETTINGS

              However, the option is only available when  the  HID  keyboard  is  enabled  (or  a
              physical keyboard is connected).

              Also see --hid-mouse.

       --legacy-paste
              Inject  computer  clipboard  text  as  a  sequence  of  key  events on Ctrl+v (like
              MOD+Shift+v).

              This is a workaround for some devices not behaving as  expected  when  setting  the
              device clipboard programmatically.

       --lock-video-orientation[=value]
              Lock  video orientation to value. Possible values are "unlocked", "initial" (locked
              to the initial orientation), 0, 1, 2 and 3. Natural device orientation  is  0,  and
              each increment adds a 90 degrees rotation counterclockwise.

              Default is "unlocked".

              Passing the option without argument is equivalent to passing "initial".

       --max-fps value
              Limit  the  framerate of screen capture (officially supported since Android 10, but
              may work on earlier versions).

       -m, --max-size value
              Limit both the width and height of the video  to  value.  The  other  dimension  is
              computed so that the device aspect-ratio is preserved.

              Default is 0 (unlimited).

       -M, --hid-mouse
              Simulate a physical mouse by using HID over AOAv2.

              In  this  mode,  the  computer  mouse  is  captured  to control the device directly
              (relative mouse mode).

              LAlt, LSuper or RSuper toggle the capture mode, to give control of the  mouse  back
              to the computer.

              It may only work over USB.

              Also see --hid-keyboard.

       --no-cleanup
              By  default,  scrcpy  removes  the  server  binary from the device and restores the
              device state (show touches, stay awake and power mode) on exit.

              This option disables this cleanup.

       --no-clipboard-autosync
              By default, scrcpy automatically synchronizes the computer clipboard to the  device
              clipboard  before  injecting  Ctrl+v,  and  the  device  clipboard  to the computer
              clipboard whenever it changes.

              This option disables this automatic synchronization.

       --no-downsize-on-error
              By default, on MediaCodec error, scrcpy automatically  tries  again  with  a  lower
              definition.

              This option disables this behavior.

       -n, --no-control
              Disable device control (mirror the device in read-only).

       -N, --no-display
              Do not display device (only when screen recording is enabled).

       --no-key-repeat
              Do not forward repeated key events when a key is held down.

       --no-mipmaps
              If  the  renderer  is OpenGL 3.0+ or OpenGL ES 2.0+, then mipmaps are automatically
              generated to improve downscaling quality. This option disables  the  generation  of
              mipmaps.

       --no-power-on
              Do not power on the device on start.

       --otg  Run  in OTG mode: simulate physical keyboard and mouse, as if the computer keyboard
              and mouse were plugged directly to the device via an OTG cable.

              In this mode, adb (USB debugging) is not necessary, and mirroring is disabled.

              LAlt, LSuper or RSuper toggle the mouse capture mode, to give control of the  mouse
              back to the computer.

              If  any  of  --hid-keyboard  or  --hid-mouse  is set, only enable keyboard or mouse
              respectively, otherwise enable both.

              It may only work over USB.

              See --hid-keyboard and --hid-mouse.

       -p, --port port[:port]
              Set the TCP port (range) used by the client to listen.

              Default is 27183:27199.

       --power-off-on-close
              Turn the device screen off when closing scrcpy.

       --prefer-text
              Inject alpha characters and space as text events instead of key events.

              This avoids issues when combining multiple keys to enter  special  characters,  but
              breaks the expected behavior of alpha keys in games (typically WASD).

       --print-fps
              Start  FPS  counter,  to  print framerate logs to the console. It can be started or
              stopped at any time with MOD+i.

       --push-target path
              Set the target directory for pushing files to the device by  drag  &  drop.  It  is
              passed as-is to "adb push".

              Default is "/sdcard/Download/".

       --raw-key-events
              Inject key events for all input keys, and ignore text events.

       -r, --record file
              Record screen to file.

              The  format  is  determined  by  the  --record-format option if set, or by the file
              extension (.mp4 or .mkv).

       --record-format format
              Force recording format (either mp4 or mkv).

       --render-driver name
              Request SDL to use the given render driver (this is just a hint).

              Supported  names  are  currently  "direct3d",  "opengl",  "opengles2",  "opengles",
              "metal" and "software".

              ⟨https://wiki.libsdl.org/SDL_HINT_RENDER_DRIVER⟩

       --rotation value
              Set  the  initial  display  rotation.  Possibles  values  are  0,  1, 2 and 3. Each
              increment adds a 90 degrees rotation counterclockwise.

       -s, --serial number
              The device serial number. Mandatory only if several devices are connected to adb.

       --shortcut-mod key[+...]][,...]
              Specify the modifiers to use for  scrcpy  shortcuts.  Possible  keys  are  "lctrl",
              "rctrl", "lalt", "ralt", "lsuper" and "rsuper".

              A  shortcut can consist in several keys, separated by '+'. Several shortcuts can be
              specified, separated by ','.

              For example, to  use  either  LCtrl+LAlt  or  LSuper  for  scrcpy  shortcuts,  pass
              "lctrl+lalt,lsuper".

              Default is "lalt,lsuper" (left-Alt or left-Super).

       --tcpip[=ip[:port]]
              Configure and reconnect the device over TCP/IP.

              If  a  destination address is provided, then scrcpy connects to this address before
              starting. The device must listen on the given TCP port (default is 5555).

              If no destination address is provided, then scrcpy attempts to find the IP  address
              and  adb  port of the current device (typically connected over USB), enables TCP/IP
              mode if necessary, then connects to this address before starting.

       -S, --turn-screen-off
              Turn the device screen off immediately.

       -t, --show-touches
              Enable "show touches" on start, restore the initial value on exit.

              It only shows physical touches (not clicks from scrcpy).

       --tunnel-host ip
              Set the IP address of the adb tunnel  to  reach  the  scrcpy  server.  This  option
              automatically enables --force-adb-forward.

              Default is localhost.

       --tunnel-port port
              Set  the  TCP  port  of  the  adb  tunnel  to  reach the scrcpy server. This option
              automatically enables --force-adb-forward.

              Default is 0 (not forced): the local port used for establishing the tunnel will  be
              used.

       --v4l2-sink /dev/videoN
              Output to v4l2loopback device.

              It requires to lock the video orientation (see --lock-video-orientation).

       --v4l2-buffer ms
              Add  a  buffering  delay  (in  milliseconds)  before pushing frames. This increases
              latency to compensate for jitter.

              This option is similar to --display-buffer, but specific to V4L2 sink.

              Default is 0 (no buffering).

       -V, --verbosity value
              Set the log level ("verbose", "debug", "info", "warn" or "error").

              Default is "info" for release builds, "debug" for debug builds.

       -v, --version
              Print the version of scrcpy.

       -w, --stay-awake
              Keep the device on while scrcpy is running, when the device is plugged in.

       --window-borderless
              Disable window decorations (display borderless window).

       --window-title text
              Set a custom window title.

       --window-x value
              Set the initial window horizontal position.

              Default is "auto".

       --window-y value
              Set the initial window vertical position.

              Default is "auto".

       --window-width value
              Set the initial window width.

              Default is 0 (automatic).

       --window-height value
              Set the initial window height.

              Default is 0 (automatic).

EXIT STATUS

       scrcpy will exit with code 0 on normal  program  termination.  If  an  initial  connection
       cannot be established, the exit code 1 will be returned. If the device disconnects while a
       session is active, exit code 2 will be returned.

SHORTCUTS

       In the following list, MOD is the shortcut modifier. By default, it's (left) Alt or (left)
       Super, but it can be configured by --shortcut-mod (see above).

       MOD+f  Switch fullscreen mode

       MOD+Left
              Rotate display left

       MOD+Right
              Rotate display right

       MOD+g  Resize window to 1:1 (pixel-perfect)

       MOD+w, Double-click on black borders
              Resize window to remove black borders

       MOD+h, Home, Middle-click
              Click on HOME

       MOD+b, MOD+Backspace, Right-click (when screen is on)
              Click on BACK

       MOD+s  Click on APP_SWITCH

       MOD+m  Click on MENU

       MOD+Up Click on VOLUME_UP

       MOD+Down
              Click on VOLUME_DOWN

       MOD+p  Click on POWER (turn screen on/off)

       Right-click (when screen is off)
              Turn screen on

       MOD+o  Turn device screen off (keep mirroring)

       MOD+Shift+o
              Turn device screen on

       MOD+r  Rotate device screen

       MOD+n  Expand notification panel

       MOD+Shift+n
              Collapse notification panel

       Mod+c  Copy to clipboard (inject COPY keycode, Android >= 7 only)

       Mod+x  Cut to clipboard (inject CUT keycode, Android >= 7 only)

       MOD+v  Copy  computer  clipboard to device, then paste (inject PASTE keycode, Android >= 7
              only)

       MOD+Shift+v
              Inject computer clipboard text as a sequence of key events

       MOD+i  Enable/disable FPS counter (print frames/second in logs)

       Ctrl+click-and-move
              Pinch-to-zoom from the center of the screen

       Drag & drop APK file
              Install APK from computer

       Drag & drop non-APK file
              Push file to device (see --push-target)

Environment variables

       ADB    Path to adb.

       ANDROID_SERIAL
              Device serial to use if no selector (-s, -d, -e or --tcpip=<addr>) is specified.

       SCRCPY_ICON_PATH
              Path to the program icon.

       SCRCPY_SERVER_PATH
              Path to the server binary.

AUTHORS

       scrcpy is written by Romain Vimont.

       This manual page was written by Yangfl ⟨mmyangfl@gmail.com⟩ for the  Debian  Project  (and
       may be used by others).

REPORTING BUGS

       Report bugs to ⟨https://github.com/Genymobile/scrcpy/issues⟩.

COPYRIGHT

       Copyright © 2018 Genymobile Genymobile ⟨https://www.genymobile.com⟩

       Copyright © 2018-2022 Romain Vimont ⟨rom@rom1v.com⟩

       Licensed under the Apache License, Version 2.0.

WWW

       ⟨https://github.com/Genymobile/scrcpy⟩

                                                                                        scrcpy(1)