mirror of
https://github.com/jkocon/g-helper.git
synced 2026-02-23 13:00:52 +01:00
Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d26d9c46ad | ||
|
|
a58230fdd2 | ||
|
|
00393ef67d | ||
|
|
a687d074ee | ||
|
|
201ef48cd4 | ||
|
|
7b16adf0f5 |
@@ -1,10 +1,13 @@
|
||||
using GHelper.Gpu.AMD;
|
||||
using GHelper.Helpers;
|
||||
using GHelper.Input;
|
||||
using GHelper.Mode;
|
||||
using GHelper.USB;
|
||||
using HidSharp;
|
||||
using System.Text;
|
||||
|
||||
|
||||
|
||||
namespace GHelper.Ally
|
||||
{
|
||||
|
||||
@@ -32,17 +35,28 @@ namespace GHelper.Ally
|
||||
|
||||
public class AllyControl
|
||||
{
|
||||
System.Timers.Timer timer = default!;
|
||||
static System.Timers.Timer timer = default!;
|
||||
static AmdGpuControl amdControl = new AmdGpuControl();
|
||||
|
||||
SettingsForm settings;
|
||||
|
||||
static ControllerMode _mode = ControllerMode.Auto;
|
||||
static ControllerMode _applyMode = ControllerMode.Mouse;
|
||||
|
||||
static int _autoCount = 0;
|
||||
|
||||
static int _upCount = 0;
|
||||
static int _downCount = 0;
|
||||
|
||||
static int tdpMin = 6;
|
||||
static int tdpStable = tdpMin;
|
||||
static int tdpCurrent = -1;
|
||||
|
||||
static bool autoTDP = false;
|
||||
|
||||
static int fpsLimit = -1;
|
||||
|
||||
|
||||
public const string BindA = "01-01";
|
||||
public const string BindB = "01-02";
|
||||
public const string BindX = "01-03";
|
||||
@@ -280,32 +294,116 @@ namespace GHelper.Ally
|
||||
public AllyControl(SettingsForm settingsForm)
|
||||
{
|
||||
if (!AppConfig.IsAlly()) return;
|
||||
|
||||
settings = settingsForm;
|
||||
|
||||
timer = new System.Timers.Timer(300);
|
||||
timer.Elapsed += Timer_Elapsed;
|
||||
if (timer is null)
|
||||
{
|
||||
timer = new System.Timers.Timer(300);
|
||||
timer.Elapsed += Timer_Elapsed;
|
||||
Logger.WriteLine("Ally timer");
|
||||
}
|
||||
}
|
||||
|
||||
private int GetMaxTDP()
|
||||
{
|
||||
int tdp = AppConfig.GetMode("limit_total");
|
||||
if (tdp > 0) return tdp;
|
||||
switch (Modes.GetCurrentBase())
|
||||
{
|
||||
case 1:
|
||||
return 25;
|
||||
case 2:
|
||||
return 10;
|
||||
default:
|
||||
return 15;
|
||||
}
|
||||
}
|
||||
|
||||
private int GetTDP()
|
||||
{
|
||||
if (tdpCurrent < 0) tdpCurrent = GetMaxTDP();
|
||||
return tdpCurrent;
|
||||
}
|
||||
|
||||
private void SetTDP(int tdp, string log)
|
||||
{
|
||||
if (tdp < tdpStable) tdp = tdpStable;
|
||||
|
||||
int max = GetMaxTDP();
|
||||
if (tdp > max) tdp = max;
|
||||
|
||||
if (tdp == tdpCurrent) return;
|
||||
if (!autoTDP) return;
|
||||
|
||||
Program.acpi.DeviceSet(AsusACPI.PPT_APUA0, tdp, log);
|
||||
Program.acpi.DeviceSet(AsusACPI.PPT_APUA3, tdp, null);
|
||||
Program.acpi.DeviceSet(AsusACPI.PPT_APUC1, tdp, null);
|
||||
|
||||
tdpCurrent = tdp;
|
||||
}
|
||||
|
||||
private void Timer_Elapsed(object? sender, System.Timers.ElapsedEventArgs e)
|
||||
{
|
||||
if (!autoTDP && _mode != ControllerMode.Auto) return;
|
||||
|
||||
float fps = amdControl.GetFPS();
|
||||
|
||||
ControllerMode newMode = (fps > 0) ? ControllerMode.Gamepad : ControllerMode.Mouse;
|
||||
|
||||
if (_applyMode != newMode) _autoCount++;
|
||||
else _autoCount = 0;
|
||||
|
||||
if (_mode != ControllerMode.Auto) return;
|
||||
|
||||
if (_autoCount > 2)
|
||||
if (autoTDP && fpsLimit > 0 && fpsLimit <= 120)
|
||||
{
|
||||
_autoCount = 0;
|
||||
ApplyMode(newMode);
|
||||
Logger.WriteLine(fps.ToString());
|
||||
int power = (int)amdControl.GetGpuPower();
|
||||
//Debug.WriteLine($"{power}: {fps}");
|
||||
|
||||
if (fps <= fpsLimit * 0.8) _upCount++;
|
||||
else _upCount = 0;
|
||||
|
||||
if (fps >= fpsLimit * 0.90) _downCount++;
|
||||
else _downCount = 0;
|
||||
|
||||
var tdp = GetTDP();
|
||||
if (_upCount >= 1)
|
||||
{
|
||||
_downCount = 0;
|
||||
_upCount = 0;
|
||||
SetTDP(tdp + 1, $"AutoTDP+ [{power}]{fps}");
|
||||
}
|
||||
|
||||
if (_downCount >= 8 && power < tdp)
|
||||
{
|
||||
_upCount = 0;
|
||||
_downCount--;
|
||||
SetTDP(tdp - 1, $"AutoTDP- [{power}]{fps}");
|
||||
}
|
||||
}
|
||||
|
||||
if (_mode == ControllerMode.Auto)
|
||||
{
|
||||
ControllerMode newMode = (fps > 0) ? ControllerMode.Gamepad : ControllerMode.Mouse;
|
||||
|
||||
if (_applyMode != newMode) _autoCount++;
|
||||
else _autoCount = 0;
|
||||
|
||||
if (_autoCount == 3)
|
||||
{
|
||||
_autoCount = 0;
|
||||
ApplyMode(newMode);
|
||||
Logger.WriteLine($"Controller Mode {fps}: {newMode}");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void ToggleAutoTDP()
|
||||
{
|
||||
autoTDP = !autoTDP;
|
||||
tdpCurrent = -1;
|
||||
|
||||
if (!autoTDP)
|
||||
{
|
||||
Program.modeControl.SetPerformanceMode();
|
||||
}
|
||||
|
||||
settings.VisualiseAutoTDP(autoTDP);
|
||||
|
||||
}
|
||||
|
||||
public void Init()
|
||||
@@ -319,7 +417,6 @@ namespace GHelper.Ally
|
||||
|
||||
fpsLimit = amdControl.GetFPSLimit();
|
||||
settings.VisualiseFPSLimit(fpsLimit);
|
||||
|
||||
}
|
||||
|
||||
public void ToggleFPSLimit()
|
||||
@@ -479,7 +576,7 @@ namespace GHelper.Ally
|
||||
DecodeBinding(KeyR2).CopyTo(bindings, 38);
|
||||
|
||||
//AsusHid.WriteInput(CommandReady, null);
|
||||
AsusHid.WriteInput(bindings, $"B{zone}");
|
||||
AsusHid.WriteInput(bindings, null);
|
||||
|
||||
}
|
||||
|
||||
@@ -495,19 +592,19 @@ namespace GHelper.Ally
|
||||
(byte)AppConfig.Get("ls_max", 100),
|
||||
(byte)AppConfig.Get("rs_min", 0),
|
||||
(byte)AppConfig.Get("rs_max", 100)
|
||||
}, "StickDeadzone");
|
||||
}, null);
|
||||
|
||||
AsusHid.WriteInput(new byte[] { AsusHid.INPUT_ID, 0xd1, 5, 4,
|
||||
(byte)AppConfig.Get("lt_min", 0),
|
||||
(byte)AppConfig.Get("lt_max", 100),
|
||||
(byte)AppConfig.Get("rt_min", 0),
|
||||
(byte)AppConfig.Get("rt_max", 100)
|
||||
}, "TriggerDeadzone");
|
||||
}, null);
|
||||
|
||||
AsusHid.WriteInput(new byte[] { AsusHid.INPUT_ID, 0xd1, 6, 2,
|
||||
(byte)AppConfig.Get("vibra", 100),
|
||||
(byte)AppConfig.Get("vibra", 100)
|
||||
}, "Vibration");
|
||||
}, null);
|
||||
|
||||
}
|
||||
|
||||
@@ -572,18 +669,11 @@ namespace GHelper.Ally
|
||||
_mode = mode;
|
||||
AppConfig.Set("controller_mode", (int)mode);
|
||||
|
||||
amdControl.StopFPS();
|
||||
ApplyMode(mode, init);
|
||||
|
||||
if (mode == ControllerMode.Auto)
|
||||
{
|
||||
amdControl.StartFPS();
|
||||
timer.Start();
|
||||
}
|
||||
else
|
||||
{
|
||||
timer.Stop();
|
||||
amdControl.StopFPS();
|
||||
}
|
||||
amdControl.StartFPS();
|
||||
timer.Start();
|
||||
|
||||
settings.VisualiseController(mode);
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
||||
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
||||
<AssemblyVersion>0.168</AssemblyVersion>
|
||||
<AssemblyVersion>0.169</AssemblyVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
|
||||
@@ -119,6 +119,18 @@ public class AmdGpuControl : IGpuControl
|
||||
|
||||
}
|
||||
|
||||
public int? GetGpuPower()
|
||||
{
|
||||
if (_adlContextHandle == nint.Zero || _iGPU == null) return null;
|
||||
if (ADL2_New_QueryPMLogData_Get(_adlContextHandle, ((ADLAdapterInfo)_iGPU).AdapterIndex, out ADLPMLogDataOutput adlpmLogDataOutput) != Adl2.ADL_SUCCESS) return null;
|
||||
|
||||
ADLSingleSensorData gpuUsage = adlpmLogDataOutput.Sensors[(int)ADLSensorType.PMLOG_ASIC_POWER];
|
||||
if (gpuUsage.Supported == 0) return null;
|
||||
|
||||
return gpuUsage.Value;
|
||||
|
||||
}
|
||||
|
||||
|
||||
public bool SetVariBright(int enabled)
|
||||
{
|
||||
|
||||
@@ -18,7 +18,7 @@ public class NvidiaGpuControl : IGpuControl
|
||||
public static int MinCoreOffset = AppConfig.Get("min_gpu_core", -250);
|
||||
public static int MinMemoryOffset = AppConfig.Get("min_gpu_memory", -500);
|
||||
|
||||
public const int MinClockLimit = 400;
|
||||
public static int MinClockLimit = AppConfig.Get("min_gpu_clock", 400);
|
||||
public const int MaxClockLimit = 3000;
|
||||
|
||||
private static PhysicalGPU? _internalGpu;
|
||||
|
||||
@@ -154,7 +154,7 @@
|
||||
<value>Anime Matrix</value>
|
||||
</data>
|
||||
<data name="AppAlreadyRunning" xml:space="preserve">
|
||||
<value>Appen kører allerede</value>
|
||||
<value>App'en kører allerede</value>
|
||||
</data>
|
||||
<data name="AppAlreadyRunningText" xml:space="preserve">
|
||||
<value>G-Helper kører allerede. Tjek systembakken for et ikon.</value>
|
||||
@@ -175,7 +175,7 @@
|
||||
<value>Hukommelse tildelt til GPU</value>
|
||||
</data>
|
||||
<data name="AsusServicesRunning" xml:space="preserve">
|
||||
<value>Kørende Asus-tjenester</value>
|
||||
<value>Kørende ASUS-tjenester</value>
|
||||
</data>
|
||||
<data name="AuraBatteryState" xml:space="preserve">
|
||||
<value>Batteritilstand</value>
|
||||
@@ -301,7 +301,7 @@
|
||||
<value>Boot</value>
|
||||
</data>
|
||||
<data name="BootSound" xml:space="preserve">
|
||||
<value>Boot-lyd</value>
|
||||
<value>Opstarts-lyd</value>
|
||||
</data>
|
||||
<data name="Brightness" xml:space="preserve">
|
||||
<value>Lysstyrke</value>
|
||||
@@ -313,7 +313,7 @@
|
||||
<value>Lysstyrke op</value>
|
||||
</data>
|
||||
<data name="BWTrayIcon" xml:space="preserve">
|
||||
<value>Sort og hvid bakkeikon</value>
|
||||
<value>Sort/hvid bakkeikon</value>
|
||||
</data>
|
||||
<data name="Calibrate" xml:space="preserve">
|
||||
<value>Kalibrer</value>
|
||||
@@ -349,7 +349,7 @@
|
||||
<value>Deaktiver ved lukning af låg</value>
|
||||
</data>
|
||||
<data name="DisableOverdrive" xml:space="preserve">
|
||||
<value>Deaktiver overdrive på skærmen</value>
|
||||
<value>Deaktiver Overdrive på skærmen</value>
|
||||
</data>
|
||||
<data name="Discharging" xml:space="preserve">
|
||||
<value>Aflader</value>
|
||||
@@ -393,7 +393,7 @@ Vil du stadig fortsætte?</value>
|
||||
<value>Ekstra indstillinger</value>
|
||||
</data>
|
||||
<data name="FactoryDefaults" xml:space="preserve">
|
||||
<value>Standard fabriksindstillinger</value>
|
||||
<value>Gendan standarder</value>
|
||||
</data>
|
||||
<data name="FanCurves" xml:space="preserve">
|
||||
<value>Blæserkurver</value>
|
||||
@@ -411,13 +411,13 @@ Vil du stadig fortsætte?</value>
|
||||
<value>Blæserprofiler</value>
|
||||
</data>
|
||||
<data name="FansAndPower" xml:space="preserve">
|
||||
<value>Blæsere og kraft</value>
|
||||
<value>Blæsere og strøm</value>
|
||||
</data>
|
||||
<data name="FanSpeed" xml:space="preserve">
|
||||
<value>Blæser</value>
|
||||
</data>
|
||||
<data name="FansPower" xml:space="preserve">
|
||||
<value>Blæser + Kraft</value>
|
||||
<value>Blæser + Strøm</value>
|
||||
</data>
|
||||
<data name="FlickerFreeDimming" xml:space="preserve">
|
||||
<value>Flimmerfri dæmpning</value>
|
||||
@@ -426,10 +426,10 @@ Vil du stadig fortsætte?</value>
|
||||
<value>Aktiver Fn + F genvejstaster uden Fn</value>
|
||||
</data>
|
||||
<data name="FnLockOff" xml:space="preserve">
|
||||
<value>FN-lås fra</value>
|
||||
<value>Fn-lås fra</value>
|
||||
</data>
|
||||
<data name="FnLockOn" xml:space="preserve">
|
||||
<value>FN-lås til</value>
|
||||
<value>Fn-lås til</value>
|
||||
</data>
|
||||
<data name="GPUBoost" xml:space="preserve">
|
||||
<value>Dynamisk boost</value>
|
||||
@@ -438,13 +438,13 @@ Vil du stadig fortsætte?</value>
|
||||
<value>Skifter</value>
|
||||
</data>
|
||||
<data name="GPUCoreClockOffset" xml:space="preserve">
|
||||
<value>Core Clock forskydning</value>
|
||||
<value>Core Clock offset</value>
|
||||
</data>
|
||||
<data name="GPUMemoryClockOffset" xml:space="preserve">
|
||||
<value>Memory Clock forskydning</value>
|
||||
<value>Memory Clock offset</value>
|
||||
</data>
|
||||
<data name="GPUMode" xml:space="preserve">
|
||||
<value>GPU- tilstand</value>
|
||||
<value>GPU-tilstand</value>
|
||||
</data>
|
||||
<data name="GPUModeEco" xml:space="preserve">
|
||||
<value>Kun iGPU</value>
|
||||
@@ -456,7 +456,7 @@ Vil du stadig fortsætte?</value>
|
||||
<value>dGPU eksklusivt</value>
|
||||
</data>
|
||||
<data name="GPUPower" xml:space="preserve">
|
||||
<value>GPU- strøm</value>
|
||||
<value>GPU-strøm</value>
|
||||
</data>
|
||||
<data name="GPUSettings" xml:space="preserve">
|
||||
<value>GPU-indstillinger</value>
|
||||
@@ -486,13 +486,13 @@ Vil du stadig fortsætte?</value>
|
||||
<value>Stop alle apps der bruger GPU når du skifter til Øko</value>
|
||||
</data>
|
||||
<data name="LaptopBacklight" xml:space="preserve">
|
||||
<value>Bærbar baggrundsbelysning</value>
|
||||
<value>Laptop baggrundsbelysning</value>
|
||||
</data>
|
||||
<data name="LaptopKeyboard" xml:space="preserve">
|
||||
<value>Bærbar tastatur</value>
|
||||
<value>Laptop-tastatur</value>
|
||||
</data>
|
||||
<data name="LaptopScreen" xml:space="preserve">
|
||||
<value>Bærbar skærm</value>
|
||||
<value>Laptop-skærm</value>
|
||||
</data>
|
||||
<data name="LEDStatusIndicators" xml:space="preserve">
|
||||
<value>LED statusindikatorer</value>
|
||||
@@ -561,7 +561,7 @@ Vil du stadig fortsætte?</value>
|
||||
<value>minutter</value>
|
||||
</data>
|
||||
<data name="MouseAngleSnapping" xml:space="preserve">
|
||||
<value>Vinkel snapping</value>
|
||||
<value>Vinkel-snapping</value>
|
||||
</data>
|
||||
<data name="MouseAutoPowerOff" xml:space="preserve">
|
||||
<value>Automatisk slukning efter</value>
|
||||
@@ -627,7 +627,7 @@ Vil du stadig fortsætte?</value>
|
||||
<value>Skift til Øko på batteri og til Standard, når tilsluttet strøm</value>
|
||||
</data>
|
||||
<data name="OptimizedUSBC" xml:space="preserve">
|
||||
<value>Hold GPU deaktiveret på USB-C-oplader i optimeret tilstand</value>
|
||||
<value>Hold GPU deaktiveret på USB-C oplader i optimeret tilstand</value>
|
||||
</data>
|
||||
<data name="Other" xml:space="preserve">
|
||||
<value>Andet</value>
|
||||
@@ -651,10 +651,10 @@ Vil du stadig fortsætte?</value>
|
||||
<value>Polling Rate</value>
|
||||
</data>
|
||||
<data name="PowerLimits" xml:space="preserve">
|
||||
<value>Kraftgrænser</value>
|
||||
<value>Strømgrænser</value>
|
||||
</data>
|
||||
<data name="PPTExperimental" xml:space="preserve">
|
||||
<value>Kraftgrænser er en eksperimentel funktion. Brug omhyggeligt og på egen risiko!</value>
|
||||
<value>Strømgrænser er en eksperimentel funktion. Brug omhyggeligt og på egen risiko!</value>
|
||||
</data>
|
||||
<data name="PrintScreen" xml:space="preserve">
|
||||
<value>PrintScreen</value>
|
||||
@@ -729,10 +729,10 @@ Vil du stadig fortsætte?</value>
|
||||
<value>Slå Aura til/fra</value>
|
||||
</data>
|
||||
<data name="ToggleClamshellMode" xml:space="preserve">
|
||||
<value>Automatisk slå Clamshell tilstand til/fra</value>
|
||||
<value>Slå automatisk Clamshell-tilstand til/fra</value>
|
||||
</data>
|
||||
<data name="ToggleFnLock" xml:space="preserve">
|
||||
<value>Slå Fn-Lock til/fra</value>
|
||||
<value>Slå Fn-lås til/fra</value>
|
||||
</data>
|
||||
<data name="ToggleMiniled" xml:space="preserve">
|
||||
<value>Slå MiniLED til/fra (hvis understøttet)</value>
|
||||
@@ -750,7 +750,7 @@ Vil du stadig fortsætte?</value>
|
||||
<value>Deaktiver på batteri</value>
|
||||
</data>
|
||||
<data name="UltimateGPUTooltip" xml:space="preserve">
|
||||
<value>Kobler bærbar skærm direkte til dGPU, hvilket maksimerer FPS</value>
|
||||
<value>Kobler laptop-skærmen direkte til dGPU, hvilket maksimerer FPS</value>
|
||||
</data>
|
||||
<data name="UltimateMode" xml:space="preserve">
|
||||
<value>Ultimativ</value>
|
||||
@@ -759,7 +759,7 @@ Vil du stadig fortsætte?</value>
|
||||
<value>Undervolting er en eksperimentel og risikabel funktion. Hvis de anvendte værdier er for lave for din hardware, kan det blive ustabilt, lukke ned eller forårsage datakorruption. Hvis du ønsker at prøve - start fra små værdier først, klik på Anvend og test hvad der virker for dig.</value>
|
||||
</data>
|
||||
<data name="Unmuted" xml:space="preserve">
|
||||
<value>Ikke muted</value>
|
||||
<value>Ikke lydløs</value>
|
||||
</data>
|
||||
<data name="Updates" xml:space="preserve">
|
||||
<value>Opdateringer</value>
|
||||
|
||||
@@ -729,7 +729,7 @@ Yine de devam etmek istiyor musunuz?</value>
|
||||
<value>Aura'yı Kullan</value>
|
||||
</data>
|
||||
<data name="ToggleClamshellMode" xml:space="preserve">
|
||||
<value>Kapaklı modu otmatik değiştir</value>
|
||||
<value>Otomatik Clamshell Modunu Aç</value>
|
||||
</data>
|
||||
<data name="ToggleFnLock" xml:space="preserve">
|
||||
<value>Fn-Lock'u Aç</value>
|
||||
|
||||
25
app/Settings.Designer.cs
generated
25
app/Settings.Designer.cs
generated
@@ -135,6 +135,7 @@ namespace GHelper
|
||||
labelGamma = new Label();
|
||||
pictureGamma = new PictureBox();
|
||||
labelGammaTitle = new Label();
|
||||
buttonAutoTDP = new RButton();
|
||||
panelMatrix.SuspendLayout();
|
||||
panelMatrixAuto.SuspendLayout();
|
||||
tableLayoutMatrix.SuspendLayout();
|
||||
@@ -766,6 +767,7 @@ namespace GHelper
|
||||
tableAMD.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33F));
|
||||
tableAMD.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33F));
|
||||
tableAMD.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33F));
|
||||
tableAMD.Controls.Add(buttonAutoTDP, 0, 0);
|
||||
tableAMD.Controls.Add(buttonOverlay, 0, 0);
|
||||
tableAMD.Controls.Add(buttonFPS, 0, 0);
|
||||
tableAMD.Dock = DockStyle.Top;
|
||||
@@ -1893,6 +1895,28 @@ namespace GHelper
|
||||
labelGammaTitle.TabIndex = 37;
|
||||
labelGammaTitle.Text = "Flicker-free Dimming";
|
||||
//
|
||||
// buttonAutoTDP
|
||||
//
|
||||
buttonAutoTDP.Activated = false;
|
||||
buttonAutoTDP.BackColor = SystemColors.ControlLightLight;
|
||||
buttonAutoTDP.BorderColor = Color.Transparent;
|
||||
buttonAutoTDP.BorderRadius = 5;
|
||||
buttonAutoTDP.Dock = DockStyle.Fill;
|
||||
buttonAutoTDP.FlatAppearance.BorderSize = 0;
|
||||
buttonAutoTDP.FlatStyle = FlatStyle.Flat;
|
||||
buttonAutoTDP.ForeColor = SystemColors.ControlText;
|
||||
buttonAutoTDP.Image = Properties.Resources.icons8_gauge_32;
|
||||
buttonAutoTDP.ImageAlign = ContentAlignment.MiddleRight;
|
||||
buttonAutoTDP.Location = new Point(528, 4);
|
||||
buttonAutoTDP.Margin = new Padding(4);
|
||||
buttonAutoTDP.Name = "buttonAutoTDP";
|
||||
buttonAutoTDP.Secondary = false;
|
||||
buttonAutoTDP.Size = new Size(255, 72);
|
||||
buttonAutoTDP.TabIndex = 13;
|
||||
buttonAutoTDP.Text = "AutoTDP";
|
||||
buttonAutoTDP.TextImageRelation = TextImageRelation.ImageBeforeText;
|
||||
buttonAutoTDP.UseVisualStyleBackColor = false;
|
||||
//
|
||||
// SettingsForm
|
||||
//
|
||||
AutoScaleDimensions = new SizeF(192F, 192F);
|
||||
@@ -2095,5 +2119,6 @@ namespace GHelper
|
||||
private RButton buttonInstallColor;
|
||||
private Label labelVisual;
|
||||
private RButton buttonFHD;
|
||||
private RButton buttonAutoTDP;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -222,7 +222,9 @@ namespace GHelper
|
||||
|
||||
buttonUpdates.Click += ButtonUpdates_Click;
|
||||
|
||||
sliderBattery.ValueChanged += SliderBattery_ValueChanged;
|
||||
sliderBattery.MouseUp += SliderBattery_MouseUp;
|
||||
sliderBattery.KeyUp += SliderBattery_KeyUp;
|
||||
|
||||
Program.trayIcon.MouseMove += TrayIcon_MouseMove;
|
||||
|
||||
sensorTimer = new System.Timers.Timer(AppConfig.Get("sensor_timer", 1000));
|
||||
@@ -249,6 +251,9 @@ namespace GHelper
|
||||
|
||||
buttonFPS.Click += ButtonFPS_Click;
|
||||
buttonOverlay.Click += ButtonOverlay_Click;
|
||||
|
||||
buttonAutoTDP.Click += ButtonAutoTDP_Click;
|
||||
buttonAutoTDP.BorderColor = colorTurbo;
|
||||
|
||||
Text = "G-Helper " + (ProcessHelper.IsUserAdministrator() ? "—" : "-") + " " + AppConfig.GetModelShort();
|
||||
TopMost = AppConfig.Is("topmost");
|
||||
@@ -272,6 +277,21 @@ namespace GHelper
|
||||
screenControl.ToogleFHD();
|
||||
}
|
||||
|
||||
private void SliderBattery_KeyUp(object? sender, KeyEventArgs e)
|
||||
{
|
||||
BatteryControl.SetBatteryChargeLimit(sliderBattery.Value);
|
||||
}
|
||||
|
||||
private void SliderBattery_MouseUp(object? sender, MouseEventArgs e)
|
||||
{
|
||||
BatteryControl.SetBatteryChargeLimit(sliderBattery.Value);
|
||||
}
|
||||
|
||||
private void ButtonAutoTDP_Click(object? sender, EventArgs e)
|
||||
{
|
||||
allyControl.ToggleAutoTDP();
|
||||
}
|
||||
|
||||
private void LabelCharge_Click(object? sender, EventArgs e)
|
||||
{
|
||||
BatteryControl.BatteryReport();
|
||||
@@ -496,6 +516,12 @@ namespace GHelper
|
||||
buttonFPS.Text = "FPS Limit " + ((limit > 0 && limit <= 120) ? limit : "OFF");
|
||||
}
|
||||
|
||||
public void VisualiseAutoTDP(bool status)
|
||||
{
|
||||
Logger.WriteLine($"Auto TDP: {status}");
|
||||
buttonAutoTDP.Activated = status;
|
||||
}
|
||||
|
||||
private void SettingsForm_LostFocus(object? sender, EventArgs e)
|
||||
{
|
||||
lastLostFocus = DateTimeOffset.Now.ToUnixTimeMilliseconds();
|
||||
@@ -736,11 +762,6 @@ namespace GHelper
|
||||
gpuControl.ToggleXGM();
|
||||
}
|
||||
|
||||
private void SliderBattery_ValueChanged(object? sender, EventArgs e)
|
||||
{
|
||||
BatteryControl.SetBatteryChargeLimit(sliderBattery.Value);
|
||||
}
|
||||
|
||||
|
||||
public void SetVersionLabel(string label, bool update = false)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user