[client] ui: add input:helpMenuDelay option

This option controls the time period (in ms) after which the help menu
appears when holding down the escape key. After this time period,
capture mode is no longer toggled.

This fixes #527.
This commit is contained in:
Quantum 2021-04-30 21:44:13 -04:00 committed by Geoffrey McRae
parent dec4c8533c
commit a2d5c08460
3 changed files with 11 additions and 1 deletions

View File

@ -397,7 +397,7 @@ void app_handleRenderEvent(const uint64_t timeUs)
} }
else else
{ {
if (!g_state.escapeHelp && timeUs - g_state.escapeTime > 200000) if (!g_state.escapeHelp && timeUs - g_state.escapeTime > g_params.helpMenuDelayUs)
{ {
g_state.escapeHelp = true; g_state.escapeHelp = true;
app_showHelp(true); app_showHelp(true);

View File

@ -352,6 +352,13 @@ static struct Option options[] =
.type = OPTION_TYPE_BOOL, .type = OPTION_TYPE_BOOL,
.value.x_bool = false .value.x_bool = false
}, },
{
.module = "input",
.name = "helpMenuDelay",
.description = "Show help menu after holding down the escape key for this many milliseconds",
.type = OPTION_TYPE_INT,
.value.x_int = 200
},
// spice options // spice options
{ {
@ -547,6 +554,8 @@ bool config_load(int argc, char * argv[])
g_params.autoCapture = option_get_bool("input", "autoCapture" ); g_params.autoCapture = option_get_bool("input", "autoCapture" );
g_params.captureInputOnly = option_get_bool("input", "captureOnly" ); g_params.captureInputOnly = option_get_bool("input", "captureOnly" );
g_params.helpMenuDelayUs = option_get_int("input", "helpMenuDelay") * (uint64_t) 1000;
g_params.minimizeOnFocusLoss = option_get_bool("win", "minimizeOnFocusLoss"); g_params.minimizeOnFocusLoss = option_get_bool("win", "minimizeOnFocusLoss");
if (option_get_bool("spice", "enable")) if (option_get_bool("spice", "enable"))

View File

@ -137,6 +137,7 @@ struct AppParams
bool captureOnStart; bool captureOnStart;
bool quickSplash; bool quickSplash;
bool alwaysShowCursor; bool alwaysShowCursor;
uint64_t helpMenuDelayUs;
unsigned int cursorPollInterval; unsigned int cursorPollInterval;
unsigned int framePollInterval; unsigned int framePollInterval;