diff --git a/ControlUp.cs b/ControlUp.cs index 862974c..aac390d 100644 --- a/ControlUp.cs +++ b/ControlUp.cs @@ -44,6 +44,8 @@ public class ControlUpPlugin : GenericPlugin private FullscreenTriggerMode _lastTriggerMode; private bool _lastEnableHotkey; + private bool _gameRunning = false; + public ControlUpPlugin(IPlayniteAPI playniteAPI) : base(playniteAPI) { try @@ -75,6 +77,18 @@ public ControlUpPlugin(IPlayniteAPI playniteAPI) : base(playniteAPI) public override Guid Id => Guid.Parse("8d646e1b-c919-49d7-be40-5ef9960064bc"); + public override void OnGameStarted (OnGameStartedEventArgs args) + { + _gameRunning = true; + _fileLogger?.Info($"Game started: {args.Game?.Name}"); + } + + public override void OnGameStopped(OnGameStoppedEventArgs args) + { + _gameRunning = false; + _fileLogger?.Info($"Game stopped: {args.Game?.Name}"); + } + public override void OnApplicationStarted(OnApplicationStartedEventArgs args) { var currentMode = PlayniteApi.ApplicationInfo.Mode; @@ -94,7 +108,7 @@ public override void OnApplicationStarted(OnApplicationStartedEventArgs args) bool sdkConnected = connectedControllers != null && connectedControllers.Count > 0; bool hidConnected = HidControllerDetector.IsAnyControllerConnected(); _controllerWasConnected = sdkConnected || hidConnected; - + // Get controller name from SDK or HID (HID includes connection type) string controllerName = null; if (sdkConnected && connectedControllers.Count > 0) @@ -156,10 +170,10 @@ public override void OnControllerConnected(OnControllerConnectedArgs args) var controllerId = args.Controller?.InstanceId; _fileLogger?.Info($"SDK OnControllerConnected: '{controllerName}' (ID: {controllerId})"); - // Don't trigger if in fullscreen, popup showing, or disabled - if (PlayniteApi.ApplicationInfo.Mode == ApplicationMode.Fullscreen || _popupShowing) + // Don't trigger if in fullscreen, popup showing, game already running or disabled + if (PlayniteApi.ApplicationInfo.Mode == ApplicationMode.Fullscreen || _popupShowing || _gameRunning) { - _fileLogger?.Info("Ignoring connection - fullscreen or popup showing"); + _fileLogger?.Info("Ignoring connection - fullscreen, popup showing or game running"); return; } diff --git a/extension.yaml b/extension.yaml index 53d9357..602c739 100644 --- a/extension.yaml +++ b/extension.yaml @@ -1,7 +1,7 @@ Id: ControlUp.8d646e1b-c919-49d7-be40-5ef9960064bc Name: ControlUp Author: Huddini -Version: 2.5.0 +Version: 2.5.1 Module: ControlUp.dll Type: GenericPlugin Icon: icon.png diff --git a/version.txt b/version.txt index fad066f..4fd0fe3 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -2.5.0 \ No newline at end of file +2.5.1 \ No newline at end of file