[client] add option to capture input on start

This commit is contained in:
Samuel Bowman 2020-05-20 21:13:42 -04:00 committed by Geoffrey McRae
parent ede96fa486
commit bd42445ea7
3 changed files with 17 additions and 0 deletions

View file

@ -309,6 +309,13 @@ static struct Option options[] =
.type = OPTION_TYPE_BOOL,
.value.x_bool = true
},
{
.module = "spice",
.name = "captureOnStart",
.description = "Capture mouse and keyboard on start",
.type = OPTION_TYPE_BOOL,
.value.x_bool = false
},
{0}
};
@ -413,6 +420,7 @@ bool config_load(int argc, char * argv[])
}
params.scaleMouseInput = option_get_bool("spice", "scaleCursor");
params.captureOnStart = option_get_bool("spice", "captureOnStart");
}
return true;

View file

@ -1394,6 +1394,14 @@ static int lg_run()
SDL_ShowCursor(SDL_DISABLE);
}
if (params.captureOnStart)
{
state.serverMode = true;
spice_mouse_mode(state.serverMode);
SDL_SetWindowGrab(state.window, state.serverMode);
DEBUG_INFO("Server Mode: %s", state.serverMode ? "on" : "off");
}
// setup the startup condition
if (!(e_startup = lgCreateEvent(false, 0)))
{

View file

@ -124,6 +124,7 @@ struct AppParams
bool grabKeyboard;
SDL_Scancode escapeKey;
bool showAlerts;
bool captureOnStart;
unsigned int cursorPollInterval;
unsigned int framePollInterval;