hi , i read source and find problem:
void FInputModeGameOnly::ApplyInputMode(FReply& SlateOperations, class UGameViewportClient& GameViewportClient) const
{
TSharedPtr<SViewport> ViewportWidget = GameViewportClient.GetGameViewportWidget();
if (ViewportWidget.IsValid())
{
TSharedRef<SViewport> ViewportWidgetRef = ViewportWidget.ToSharedRef();
SlateOperations.UseHighPrecisionMouseMovement(ViewportWidgetRef);
SlateOperations.SetUserFocus(ViewportWidgetRef);
SlateOperations.LockMouseToWidget(ViewportWidgetRef);
GameViewportClient.SetMouseLockMode(EMouseLockMode::LockOnCapture);
see last line: it use an arbitrary param LockOnCapture, which should be current (last setting) value