scrcpy/doc/otg.md

1.7 KiB

OTG

By default, scrcpy injects input events at the Android API level. As an alternative, it is possible to send HID events, so that scrcpy behaves as if it was a physical keyboard and/or a physical mouse connected to the Android device (see keyboard and mouse).

A special mode (OTG) allows to control the device using AOA keyboard and mouse, without using adb at all (so USB debugging is not necessary). In this mode, video and audio are disabled, and --keyboard=aoa and --mouse=aoa` are implicitly set.

Therefore, it is possible to run scrcpy with only physical keyboard and mouse simulation, as if the computer keyboard and mouse were plugged directly to the device via an OTG cable.

To enable OTG mode:

scrcpy --otg
# Pass the serial if several USB devices are available
scrcpy --otg -s 0123456789abcdef

It is possible to disable keyboard or mouse:

scrcpy --otg --keyboard=disabled
scrcpy --otg --mouse=disabled

It only works if the device is connected over USB.

OTG issues on Windows

See FAQ.

Control only

Note that the purpose of OTG is to control the device without USB debugging (adb).

If you want to solely control the device without mirroring while USB debugging is enabled, then OTG mode is not necessary.

Instead, disable video and audio, and select UHID (or AOA):

scrcpy --no-video --no-audio --keyboard=uhid --mouse=uhid
scrcpy --no-video --no-audio -KM  # short version
scrcpy --no-video --no-audio --keyboard=aoa --mouse=aoa

One benefit of UHID is that it also works wirelessly.