From dd479ed17613e8f7d7c2cf2447f57045815192b8 Mon Sep 17 00:00:00 2001 From: Romain Vimont Date: Thu, 29 Feb 2024 08:49:18 +0100 Subject: [PATCH] Check options specific to SDK keyboard Fail if an option specific to --keyboard=sdk is passed with another keyboard input mode. PR #4473 --- app/src/cli.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/app/src/cli.c b/app/src/cli.c index cb5be008..daa041cf 100644 --- a/app/src/cli.c +++ b/app/src/cli.c @@ -2611,6 +2611,23 @@ parse_args_with_getopt(struct scrcpy_cli_args *args, int argc, char *argv[], } } + if (opts->keyboard_input_mode != SC_KEYBOARD_INPUT_MODE_SDK) { + if (opts->key_inject_mode == SC_KEY_INJECT_MODE_TEXT) { + LOGE("--prefer-text is specific to --keyboard=sdk"); + return false; + } + + if (opts->key_inject_mode == SC_KEY_INJECT_MODE_RAW) { + LOGE("--raw-key-events is specific to --keyboard=sdk"); + return false; + } + + if (!opts->forward_key_repeat) { + LOGE("--no-key-repeat is specific to --keyboard=sdk"); + return false; + } + } + if ((opts->tunnel_host || opts->tunnel_port) && !opts->force_adb_forward) { LOGI("Tunnel host/port is set, " "--force-adb-forward automatically enabled.");