mirror of
https://github.com/ayufan/steam-deck-tools.git
synced 2025-12-06 07:12:01 +01:00
36 lines
1 KiB
C#
36 lines
1 KiB
C#
|
|
using System.Diagnostics;
|
||
|
|
using SteamController.Helpers;
|
||
|
|
|
||
|
|
namespace SteamController.Managers
|
||
|
|
{
|
||
|
|
public sealed class SteamManager : Manager
|
||
|
|
{
|
||
|
|
public override void Tick(Context context)
|
||
|
|
{
|
||
|
|
if (!Settings.Default.EnableSteamDetection)
|
||
|
|
{
|
||
|
|
context.SteamRunning = true;
|
||
|
|
context.SteamUsesController = false;
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
var usesController = UsesController();
|
||
|
|
|
||
|
|
// if controller is used, disable due to Steam unless it is hidden
|
||
|
|
context.SteamRunning = usesController is not null;
|
||
|
|
context.SteamUsesController = usesController ?? false;
|
||
|
|
}
|
||
|
|
|
||
|
|
private bool? UsesController()
|
||
|
|
{
|
||
|
|
if (!SteamProcess.IsRunning.GetValueOrDefault(false))
|
||
|
|
return null;
|
||
|
|
|
||
|
|
return
|
||
|
|
SteamProcess.IsBigPictureMode.GetValueOrDefault(false) ||
|
||
|
|
SteamProcess.IsRunningGame.GetValueOrDefault(false) ||
|
||
|
|
SteamProcess.IsGamePadUI;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|