From 906e40b75377b826891509b606055b07ef42d407 Mon Sep 17 00:00:00 2001 From: Peter Repukat Date: Mon, 27 Feb 2023 13:12:14 +0100 Subject: [PATCH] Add controller update rate setting --- GlosSIConfig/UIModel.cpp | 7 ++++++- GlosSITarget/InputRedirector.cpp | 2 +- common/Settings.h | 3 +++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/GlosSIConfig/UIModel.cpp b/GlosSIConfig/UIModel.cpp index 8343107..9ee8e6e 100644 --- a/GlosSIConfig/UIModel.cpp +++ b/GlosSIConfig/UIModel.cpp @@ -405,7 +405,12 @@ QVariantMap UIModel::getDefaultConf() const {"globalModeGameId", ""}, {"globalModeUseGamepadUI", true}, {"minimizeSteamGamepadUI", true}, - {"controller", QJsonObject{{"maxControllers", -1}, {"emulateDS4", false}, {"allowDesktopConfig", false}}}, + {"controller", + QJsonObject{{"maxControllers", -1}, + {"emulateDS4", false}, + {"allowDesktopConfig", false}, + {"updateRate", 144} + }}, {"devices", QJsonObject{ {"hideDevices", true}, diff --git a/GlosSITarget/InputRedirector.cpp b/GlosSITarget/InputRedirector.cpp index 1631766..b0e8dd8 100644 --- a/GlosSITarget/InputRedirector.cpp +++ b/GlosSITarget/InputRedirector.cpp @@ -266,7 +266,7 @@ void InputRedirector::runLoop() unplugVigemPad(i); } } - sf::sleep(sf::milliseconds(4)); + Sleep(static_cast(1000.f / Settings::controller.updateRate)); #endif } diff --git a/common/Settings.h b/common/Settings.h index d99d874..adada6b 100644 --- a/common/Settings.h +++ b/common/Settings.h @@ -68,6 +68,7 @@ namespace Settings int maxControllers = -1; bool allowDesktopConfig = false; bool emulateDS4 = false; + unsigned int updateRate = 144; } controller; inline struct Common @@ -225,6 +226,7 @@ namespace Settings safeParseValue(controllerConf, "maxControllers", controller.maxControllers); safeParseValue(controllerConf, "allowDesktopConfig", controller.allowDesktopConfig); safeParseValue(controllerConf, "emulateDS4", controller.emulateDS4); + safeParseValue(controllerConf, "updateRate", controller.updateRate); } safeParseValue(json, "extendedLogging", common.extendedLogging); safeParseValue(json, "name", common.name); @@ -337,6 +339,7 @@ namespace Settings json["controller"]["maxControllers"] = controller.maxControllers; json["controller"]["allowDesktopConfig"] = controller.allowDesktopConfig; json["controller"]["emulateDS4"] = controller.emulateDS4; + json["controller"]["updateRate"] = controller.updateRate; json["globalModeGameId"] = common.globalModeGameId;;