[client] add option to always show cursor

This commit is contained in:
jonpas 2020-11-15 14:41:22 +01:00 committed by Geoffrey McRae
parent b942085e6c
commit db51acdd8a
4 changed files with 14 additions and 2 deletions

View File

@ -144,6 +144,7 @@ Command line arguments will override any options loaded from the config files.
| spice:clipboardToLocal | | yes | Allow the clipboard to be syncronized FROM the VM |
| spice:scaleCursor | -j | yes | Scale cursor input position to screen size when up/down scaled |
| spice:captureOnStart | | no | Capture mouse and keyboard on start |
| spice:alwaysShowCursor | | no | Always show host cursor |
|------------------------------------------------------------------------------------------------------------------|
|--------------------------------------------------------------------------|

View File

@ -344,6 +344,13 @@ static struct Option options[] =
.type = OPTION_TYPE_BOOL,
.value.x_bool = false
},
{
.module = "spice",
.name = "alwaysShowCursor",
.description = "Always show host cursor",
.type = OPTION_TYPE_BOOL,
.value.x_bool = false
},
{0}
};
@ -453,6 +460,7 @@ bool config_load(int argc, char * argv[])
params.scaleMouseInput = option_get_bool("spice", "scaleCursor");
params.captureOnStart = option_get_bool("spice", "captureOnStart");
params.alwaysShowCursor = option_get_bool("spice", "alwaysShowCursor");
}
return true;

View File

@ -821,7 +821,7 @@ static void handleMouseMoveEvent(int ex, int ey)
state.updateCursor = true;
state.warpState = WARP_STATE_OFF;
if (params.useSpiceInput)
if (params.useSpiceInput && !params.alwaysShowCursor)
state.drawCursor = false;
return;
}
@ -906,7 +906,9 @@ static void handleWindowLeave()
if (!params.useSpiceInput)
return;
state.drawCursor = false;
if (!params.alwaysShowCursor)
state.drawCursor = false;
state.cursorInView = false;
state.updateCursor = true;
state.warpState = WARP_STATE_OFF;

View File

@ -155,6 +155,7 @@ struct AppParams
bool showAlerts;
bool captureOnStart;
bool quickSplash;
bool alwaysShowCursor;
unsigned int cursorPollInterval;
unsigned int framePollInterval;