7b1ac46ab0
change: AID_GRAPHICS -> AID_SYSTEM add: fllag --root to launch server as root cleanup: phantom whitespace change: eliminate ambiguous description add: autocompletion for --root change: use getPackageName method rather than fixed constant for `--root` case change: at least try audio when running as AID_SYSTEM on older versions fixups: PACKAGE_SHELL constant where necessary, DRY cleanup: usage of PACKAGE_NAME + PACKAGE_SHELL
162 lines
4.2 KiB
Text
162 lines
4.2 KiB
Text
_scrcpy() {
|
|
local cur prev words cword
|
|
local opts="
|
|
--always-on-top
|
|
--audio-bit-rate=
|
|
--audio-buffer=
|
|
--audio-codec=
|
|
--audio-codec-options=
|
|
--audio-encoder=
|
|
--audio-source=
|
|
--audio-output-buffer=
|
|
-b --video-bit-rate=
|
|
--crop=
|
|
-d --select-usb
|
|
--disable-screensaver
|
|
--display=
|
|
--display-buffer=
|
|
-e --select-tcpip
|
|
-f --fullscreen
|
|
--force-adb-forward
|
|
--forward-all-clicks
|
|
-h --help
|
|
--kill-adb-on-close
|
|
-K --hid-keyboard
|
|
--legacy-paste
|
|
--list-displays
|
|
--list-encoders
|
|
--lock-video-orientation
|
|
--lock-video-orientation=
|
|
-m --max-size=
|
|
-M --hid-mouse
|
|
--max-fps=
|
|
-n --no-control
|
|
-N --no-playback
|
|
--no-audio
|
|
--no-audio-playback
|
|
--no-cleanup
|
|
--no-clipboard-autosync
|
|
--no-downsize-on-error
|
|
--no-key-repeat
|
|
--no-mipmaps
|
|
--no-power-on
|
|
--no-video
|
|
--no-video-playback
|
|
--otg
|
|
-p --port=
|
|
--power-off-on-close
|
|
--prefer-text
|
|
--print-fps
|
|
--push-target=
|
|
-r --record=
|
|
--raw-key-events
|
|
--record-format=
|
|
--render-driver=
|
|
--require-audio
|
|
--root
|
|
--rotation=
|
|
-s --serial=
|
|
-S --turn-screen-off
|
|
--shortcut-mod=
|
|
-t --show-touches
|
|
--tcpip
|
|
--tcpip=
|
|
--time-limit=
|
|
--tunnel-host=
|
|
--tunnel-port=
|
|
--v4l2-buffer=
|
|
--v4l2-sink=
|
|
-v --version
|
|
-V --verbosity=
|
|
--video-codec=
|
|
--video-codec-options=
|
|
--video-encoder=
|
|
-w --stay-awake
|
|
--window-borderless
|
|
--window-title=
|
|
--window-x=
|
|
--window-y=
|
|
--window-width=
|
|
--window-height="
|
|
|
|
_init_completion -s || return
|
|
|
|
case "$prev" in
|
|
--video-codec)
|
|
COMPREPLY=($(compgen -W 'h264 h265 av1' -- "$cur"))
|
|
return
|
|
;;
|
|
--audio-codec)
|
|
COMPREPLY=($(compgen -W 'opus aac raw' -- "$cur"))
|
|
return
|
|
;;
|
|
--audio-source)
|
|
COMPREPLY=($(compgen -W 'output mic' -- "$cur"))
|
|
return
|
|
;;
|
|
--lock-video-orientation)
|
|
COMPREPLY=($(compgen -W 'unlocked initial 0 1 2 3' -- "$cur"))
|
|
return
|
|
;;
|
|
-r|--record)
|
|
COMPREPLY=($(compgen -f -- "$cur"))
|
|
return
|
|
;;
|
|
--record-format)
|
|
COMPREPLY=($(compgen -W 'mkv mp4' -- "$cur"))
|
|
return
|
|
;;
|
|
--render-driver)
|
|
COMPREPLY=($(compgen -W 'direct3d opengl opengles2 opengles metal software' -- "$cur"))
|
|
return
|
|
;;
|
|
--rotation)
|
|
COMPREPLY=($(compgen -W '0 1 2 3' -- "$cur"))
|
|
return
|
|
;;
|
|
--shortcut-mod)
|
|
# Only auto-complete a single key
|
|
COMPREPLY=($(compgen -W 'lctrl rctrl lalt ralt lsuper rsuper' -- "$cur"))
|
|
return
|
|
;;
|
|
-V|--verbosity)
|
|
COMPREPLY=($(compgen -W 'verbose debug info warn error' -- "$cur"))
|
|
return
|
|
;;
|
|
-s|--serial)
|
|
# Use 'adb devices' to list serial numbers
|
|
COMPREPLY=($(compgen -W "$("${ADB:-adb}" devices | awk '$2 == "device" {print $1}')" -- ${cur}))
|
|
return
|
|
;;
|
|
--audio-bit-rate \
|
|
|--audio-buffer \
|
|
|-b|--video-bit-rate \
|
|
|--audio-codec-options \
|
|
|--audio-encoder \
|
|
|--audio-output-buffer \
|
|
|--crop \
|
|
|--display \
|
|
|--display-buffer \
|
|
|--max-fps \
|
|
|-m|--max-size \
|
|
|-p|--port \
|
|
|--push-target \
|
|
|--rotation \
|
|
|--tunnel-host \
|
|
|--tunnel-port \
|
|
|--v4l2-buffer \
|
|
|--v4l2-sink \
|
|
|--video-codec-options \
|
|
|--video-encoder \
|
|
|--tcpip \
|
|
|--window-*)
|
|
# Option accepting an argument, but nothing to auto-complete
|
|
return
|
|
;;
|
|
esac
|
|
|
|
COMPREPLY=($(compgen -W "$opts" -- "$cur"))
|
|
[[ $COMPREPLY == *= ]] && compopt -o nospace
|
|
}
|
|
|
|
complete -F _scrcpy scrcpy
|