Skip to content

Commit 44b0b1c

Browse files
committed
Add toggle to disable enhanced steam deck driver
1 parent 0411a72 commit 44b0b1c

5 files changed

Lines changed: 18 additions & 2 deletions

File tree

src/main/java/dev/isxander/controlify/Controlify.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,9 @@ public void initializeControlify() {
227227
// register events
228228
PlatformClientUtil.registerClientStopping(client -> this.controllerHIDService().stop());
229229

230-
doSteamDeckChecks();
230+
if (this.config().globalSettings().useEnhancedSteamDeckDriver) {
231+
doSteamDeckChecks();
232+
}
231233
}
232234

233235
private void doSteamDeckChecks() {

src/main/java/dev/isxander/controlify/config/GlobalSettings.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ public class GlobalSettings {
3232
public boolean notifyLowBattery = true;
3333
public boolean quietMode = false;
3434
public float ingameButtonGuideScale = 1f;
35+
public boolean useEnhancedSteamDeckDriver = true;
3536

3637
public Set<String> seenServers = new HashSet<>();
3738

src/main/java/dev/isxander/controlify/driver/steamdeck/SteamDeckDriver.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package dev.isxander.controlify.driver.steamdeck;
22

3+
import dev.isxander.controlify.Controlify;
34
import dev.isxander.controlify.controller.ControllerEntity;
45
import dev.isxander.controlify.controller.battery.BatteryLevelComponent;
56
import dev.isxander.controlify.controller.battery.PowerState;
@@ -203,7 +204,7 @@ public void close() {
203204
}
204205

205206
public static Optional<SteamDeckDriver> create() {
206-
if (triedToLoad)
207+
if (triedToLoad || !Controlify.instance().config().globalSettings().useEnhancedSteamDeckDriver)
207208
return Optional.empty();
208209

209210
triedToLoad = true;

src/main/java/dev/isxander/controlify/gui/screen/GlobalSettingsScreenFactory.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import dev.isxander.controlify.config.GlobalSettings;
66
import dev.isxander.controlify.controller.ControllerEntity;
77
import dev.isxander.controlify.driver.SDL3NativesManager;
8+
import dev.isxander.controlify.driver.steamdeck.SteamDeckUtil;
89
import dev.isxander.controlify.gui.controllers.FormattableStringController;
910
import dev.isxander.controlify.reacharound.ReachAroundMode;
1011
import dev.isxander.controlify.server.ServerPolicies;
@@ -170,6 +171,15 @@ public static Screen createGlobalSettingsScreen(Screen parent) {
170171
.binding(GlobalSettings.DEFAULT.notifyLowBattery, () -> globalSettings.notifyLowBattery, v -> globalSettings.notifyLowBattery = v)
171172
.controller(TickBoxControllerBuilder::create)
172173
.build())
174+
.optionIf(SteamDeckUtil.IS_STEAM_DECK, Option.<Boolean>createBuilder()
175+
.name(Component.translatable("controlify.gui.use_enhanced_steam_deck_driver"))
176+
.description(OptionDescription.createBuilder()
177+
.text(Component.translatable("controlify.gui.use_enhanced_steam_deck_driver.tooltip"))
178+
.build())
179+
.binding(GlobalSettings.DEFAULT.useEnhancedSteamDeckDriver, () -> globalSettings.useEnhancedSteamDeckDriver, v -> globalSettings.useEnhancedSteamDeckDriver = v)
180+
.controller(TickBoxControllerBuilder::create)
181+
.flag(OptionFlag.GAME_RESTART)
182+
.build())
173183
.option(ButtonOption.createBuilder()
174184
.name(Component.translatable("controlify.gui.copy_debug_dump"))
175185
.description(OptionDescription.createBuilder()

src/main/resources/assets/controlify/lang/en_us.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@
4949
"controlify.gui.ingame_button_guide_scale.tooltip": "How big the ingame button guide is. This is a percentage of the currently selected GUI scale. 100% will match the usual scale.",
5050
"controlify.gui.ingame_button_guide_scale.tooltip.warning": "This may cause scaling issues that will make it to look bad at anything but 100%.",
5151
"controlify.gui.open_issue_tracker": "Open Issue Tracker",
52+
"controlify.gui.use_enhanced_steam_deck_driver": "Use Enhanced Steam Deck Driver",
53+
"controlify.gui.use_enhanced_steam_deck_driver.tooltip": "If enabled, Controlify will use an enhanced driver for the Steam Deck to improve compatibility and performance. This is experimental and may have bugs. This driver requires Decky Loader to be installed on your Deck.",
5254
"controlify.gui.copy_debug_dump": "Copy Debug Dump To Clipboard",
5355
"controlify.gui.copy_debug_dump.tooltip": "Copies a Controlify debug dump to your clipboard. You may be asked to use this if you are seeking support.",
5456

0 commit comments

Comments
 (0)