Add UHID gamepad support

Similar to UHID keyboard and mouse, but for gamepads.

Can be enabled with --gamepad=uhid or -G.

It is not enabled by default because not all devices support UHID
(there is a permission error on old Android versions).

PR #5270 <https://github.com/Genymobile/scrcpy/pull/5270>
This commit is contained in:
Romain Vimont 2024-09-06 23:08:08 +02:00
commit f9d1a333a0
11 changed files with 200 additions and 8 deletions

View file

@ -26,6 +26,7 @@ _scrcpy() {
-e --select-tcpip
-f --fullscreen
--force-adb-forward
-G
--gamepad=
-h --help
-K
@ -129,7 +130,7 @@ _scrcpy() {
return
;;
--gamepad)
COMPREPLY=($(compgen -W 'disabled aoa' -- "$cur"))
COMPREPLY=($(compgen -W 'disabled uhid aoa' -- "$cur"))
return
;;
--orientation|--display-orientation)

View file

@ -33,7 +33,8 @@ arguments=(
{-e,--select-tcpip}'[Use TCP/IP device]'
{-f,--fullscreen}'[Start in fullscreen]'
'--force-adb-forward[Do not attempt to use \"adb reverse\" to connect to the device]'
'--gamepad=[Set the gamepad input mode]:mode:(disabled aoa)'
'-G[Use UHID gamepad (same as --gamepad=uhid)]'
'--gamepad=[Set the gamepad input mode]:mode:(disabled uhid aoa)'
{-h,--help}'[Print the help]'
'-K[Use UHID keyboard (same as --keyboard=uhid)]'
'--keyboard=[Set the keyboard input mode]:mode:(disabled sdk uhid aoa)'