scrcpy/doc/gamepad.md
Romain Vimont befc0fac5b Mention UHID permission errors
UHID may not work on old Android versions due to permission errors.

Mention it in UHID mouse and gamepad documentation (it was already
mentioned for UHID keyboard).

Refs #4473 comment <https://github.com/Genymobile/scrcpy/pull/4473#issuecomment-1975133226>
PR #5270 <https://github.com/Genymobile/scrcpy/pull/5270>
2024-09-15 18:58:44 +02:00

1.4 KiB

Gamepad

Several gamepad input modes are available:

  • --gamepad=disabled (default)
  • --gamepad=uhid (or -G): simulates physical HID gamepads using the UHID kernel module on the device
  • --gamepad=aoa: simulates physical HID gamepads using the AOAv2 protocol

Physical gamepad simulation

Two modes allow to simulate physical HID gamepads on the device, one for each physical gamepad plugged into the computer.

UHID

This mode simulates physical HID gamepads using the UHID kernel module on the device.

To enable UHID gamepads, use:

scrcpy --gamepad=uhid
scrcpy -G  # short version

Note: UHID may not work on old Android versions due to permission errors.

AOA

This mode simulates physical HID gamepads using the AOAv2 protocol.

To enable AOA gamepads, use:

scrcpy --gamepad=aoa

Contrary to the other mode, it works at the USB level directly (so it only works over USB).

It does not use the scrcpy server, and does not require adb (USB debugging). Therefore, it is possible to control the device (but not mirror) even with USB debugging disabled (see OTG).

Note: On Windows, it may only work in OTG mode, not while mirroring (it is not possible to open a USB device if it is already open by another process like the adb daemon).