diff --git a/client/common/cmdline.c b/client/common/cmdline.c index 8c8df05b2..b59e8ac35 100644 --- a/client/common/cmdline.c +++ b/client/common/cmdline.c @@ -2937,6 +2937,23 @@ static int freerdp_client_settings_parse_command_line_arguments_int(rdpSettings* { settings->DisableCredentialsDelegation = !enable; } + CommandLineSwitchCase(arg, "prevent-session-lock") + { + if (!freerdp_settings_set_uint32(settings, FreeRDP_FakeMouseMotionInterval, 180)) + return COMMAND_LINE_ERROR_MEMORY; + + if (arg->Flags & COMMAND_LINE_VALUE_PRESENT) + { + LONGLONG val; + + if (!value_to_int(arg->Value, &val, 1, UINT32_MAX)) + return COMMAND_LINE_ERROR_UNEXPECTED_VALUE; + + if (!freerdp_settings_set_uint32(settings, FreeRDP_FakeMouseMotionInterval, + (UINT32)val)) + return COMMAND_LINE_ERROR_MEMORY; + } + } CommandLineSwitchCase(arg, "vmconnect") { settings->VmConnectMode = TRUE; diff --git a/client/common/cmdline.h b/client/common/cmdline.h index 355a5b5cf..841e9955a 100644 --- a/client/common/cmdline.h +++ b/client/common/cmdline.h @@ -498,6 +498,9 @@ static const COMMAND_LINE_ARGUMENT_A global_cmd_args[] = { "Print version" }, { "video", COMMAND_LINE_VALUE_FLAG, NULL, NULL, NULL, -1, NULL, "Video optimized remoting channel" }, + { "prevent-session-lock", COMMAND_LINE_VALUE_OPTIONAL, "