From 03bff5185098a666ea05865b5d2e678cf105d3a2 Mon Sep 17 00:00:00 2001
From: Serge <5920850+seerge@users.noreply.github.com>
Date: Fri, 16 Feb 2024 18:35:04 +0100
Subject: [PATCH 01/35] Improved 3rd (mid) fan detection
https://github.com/seerge/g-helper/issues/2067
---
app/AsusACPI.cs | 15 ++++++++++++---
app/Fans.cs | 2 +-
2 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/app/AsusACPI.cs b/app/AsusACPI.cs
index 763bcd99..a091e4cb 100644
--- a/app/AsusACPI.cs
+++ b/app/AsusACPI.cs
@@ -514,16 +514,25 @@ public class AsusACPI
default: fan_mode = 0; break;
}
+ byte[] result;
+
switch (device)
{
case AsusFan.GPU:
- return DeviceGetBuffer(DevsGPUFanCurve, fan_mode);
+ result = DeviceGetBuffer(DevsGPUFanCurve, fan_mode);
+ break;
case AsusFan.Mid:
- return DeviceGetBuffer(DevsMidFanCurve, fan_mode);
+ result = DeviceGetBuffer(DevsMidFanCurve, fan_mode);
+ break;
default:
- return DeviceGetBuffer(DevsCPUFanCurve, fan_mode);
+ result = DeviceGetBuffer(DevsCPUFanCurve, fan_mode);
+ break;
}
+ Logger.WriteLine($"GetFan {device} :" + BitConverter.ToString(result));
+
+ return result;
+
}
public static bool IsInvalidCurve(byte[] curve)
diff --git a/app/Fans.cs b/app/Fans.cs
index cdc85c34..796a02c7 100644
--- a/app/Fans.cs
+++ b/app/Fans.cs
@@ -953,7 +953,7 @@ namespace GHelper
int chartCount = 2;
// Middle / system fan check
- if (!AsusACPI.IsEmptyCurve(Program.acpi.GetFanCurve(AsusFan.Mid)))
+ if (!AsusACPI.IsEmptyCurve(Program.acpi.GetFanCurve(AsusFan.Mid)) || Program.acpi.GetFan(AsusFan.Mid) >= 0)
{
AppConfig.Set("mid_fan", 1);
chartCount++;
From 293b261b372b5cc0505b82351a4a171ee480504d Mon Sep 17 00:00:00 2001
From: Serge <5920850+seerge@users.noreply.github.com>
Date: Sat, 17 Feb 2024 11:34:04 +0100
Subject: [PATCH 02/35] Update README.md
---
docs/README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/README.md b/docs/README.md
index 7062ee0b..124984d1 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -4,7 +4,7 @@
[](https://GitHub.com/seerge/g-helper/releases/) [](https://GitHub.com/seerge/g-helper/stargazers/)
Small and lightweight Armoury Crate alternative for Asus laptops offering almost same functionality without extra bloat and unnecessary services.
-Works with all popular models, such as ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, Flow Z13, TUF Series, Strix / Scar Series, ProArt, VivoBook and many more!
+Works with all popular models, such as ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, Flow Z13, TUF Series, Strix / Scar Series, ProArt, VivoBook, Ally and many more!
# [:floppy_disk:Download](https://github.com/seerge/g-helper/releases/latest/download/GHelper.zip)
From 970de2adefe26827dec249ff345c9c6818c43373 Mon Sep 17 00:00:00 2001
From: Serge <5920850+seerge@users.noreply.github.com>
Date: Sat, 17 Feb 2024 16:10:24 +0100
Subject: [PATCH 03/35] New Crowdin updates (#2075)
* New translations strings.resx (French)
* New translations strings.resx (Chinese Traditional)
---
app/Properties/Strings.fr.resx | 2 +-
app/Properties/Strings.zh-TW.resx | 18 +++++++++---------
2 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/app/Properties/Strings.fr.resx b/app/Properties/Strings.fr.resx
index 44970cb0..39dbe1b0 100644
--- a/app/Properties/Strings.fr.resx
+++ b/app/Properties/Strings.fr.resx
@@ -588,7 +588,7 @@ Voulez-vous continuer ?
Overdrive
- Mode Performance
+ Mode
Périphériques
diff --git a/app/Properties/Strings.zh-TW.resx b/app/Properties/Strings.zh-TW.resx
index 6af81473..6584c9d1 100644
--- a/app/Properties/Strings.zh-TW.resx
+++ b/app/Properties/Strings.zh-TW.resx
@@ -145,7 +145,7 @@
現在重新啟動嗎?
- Ally Controller
+ Ally控制器
動畫速度
@@ -277,10 +277,10 @@
Binding
- Primary
+ 主要
- Secondary
+ 次要
BIOS與驅動程式更新
@@ -313,7 +313,7 @@
Contrast
- Controller
+ 控制器
CPU 加速
@@ -328,7 +328,7 @@
預設
- Disable Controller
+ 停用控制器
禁用螢幕加速OD
@@ -363,7 +363,7 @@
電源設定
- Export Profile
+ 匯出設定檔
更多
@@ -441,7 +441,7 @@
Image Rotation
- Import Profile
+ 匯入設定檔
按鍵綁定
@@ -531,7 +531,7 @@
按鍵回應
- Import failed. Selected file is not a valid mouse profile or corrutpted.
+ 匯入失敗,所選檔案並非有效的滑鼠設定檔或該檔已毀損
響應高度(LOD)
@@ -618,7 +618,7 @@
退出
- Reset
+ 重設
有其他程式正在使用獨顯導致無法切換至節能模式. 是否讓G-Helper重新啟動獨顯? * 請自行評估風險
From 16e30598e9517cc0e2c5461ee68acec381d864f3 Mon Sep 17 00:00:00 2001
From: Serge <5920850+seerge@users.noreply.github.com>
Date: Sat, 17 Feb 2024 18:17:32 +0100
Subject: [PATCH 04/35] New translations strings.resx (French) (#2076)
---
app/Properties/Strings.fr.resx | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/Properties/Strings.fr.resx b/app/Properties/Strings.fr.resx
index 39dbe1b0..d1663c71 100644
--- a/app/Properties/Strings.fr.resx
+++ b/app/Properties/Strings.fr.resx
@@ -456,10 +456,10 @@ Voulez-vous continuer ?
Rétroéclairage du clavier
- Clavier de l'ordinateur
+ Clavier
- Écran de l'ordinateur
+ Écran
Capot
From c33edac4b41d708759778ad4c6a5fd362f3fac41 Mon Sep 17 00:00:00 2001
From: Serge <5920850+seerge@users.noreply.github.com>
Date: Sat, 17 Feb 2024 18:29:32 +0100
Subject: [PATCH 05/35] Better error handling for missing display name
https://github.com/seerge/g-helper/issues/2077
---
app/Display/ScreenInterrogatory.cs | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/app/Display/ScreenInterrogatory.cs b/app/Display/ScreenInterrogatory.cs
index 1840b27b..c285b354 100644
--- a/app/Display/ScreenInterrogatory.cs
+++ b/app/Display/ScreenInterrogatory.cs
@@ -339,7 +339,20 @@ namespace GHelper.Display
for (var i = 0; i < modeCount; i++)
if (displayModes[i].infoType == DISPLAYCONFIG_MODE_INFO_TYPE.DISPLAYCONFIG_MODE_INFO_TYPE_TARGET)
- yield return DeviceName(displayModes[i].adapterId, displayModes[i].id);
+ {
+ DISPLAYCONFIG_TARGET_DEVICE_NAME? displayName = null;
+ try
+ {
+ displayName = DeviceName(displayModes[i].adapterId, displayModes[i].id);
+
+ } catch (Exception e)
+ {
+ Logger.WriteLine(e.Message);
+ }
+
+ if (displayName is not null) yield return (DISPLAYCONFIG_TARGET_DEVICE_NAME)displayName;
+ }
+
}
From c82bc874cfe5c88a15c72642edaa5eb1c79b6e5c Mon Sep 17 00:00:00 2001
From: Serge <5920850+seerge@users.noreply.github.com>
Date: Sun, 18 Feb 2024 19:19:55 +0100
Subject: [PATCH 06/35] Double WMI and hotkey fix for ancient models
https://github.com/seerge/g-helper/issues/2081
---
app/AppConfig.cs | 6 ++++++
app/Input/InputDispatcher.cs | 1 +
2 files changed, 7 insertions(+)
diff --git a/app/AppConfig.cs b/app/AppConfig.cs
index fb9d65d1..45e5d2f9 100644
--- a/app/AppConfig.cs
+++ b/app/AppConfig.cs
@@ -399,11 +399,17 @@ public static class AppConfig
return (ContainsModel("G614JV") || ContainsModel("G614JZ") || ContainsModel("G512LI") || ContainsModel("G513R") || ContainsModel("G713PV") || ContainsModel("G513IE") || ContainsModel("G713RC") || ContainsModel("G513QM") || ContainsModel("G531G")) && !Is("per_key_rgb");
}
+
public static bool IsNoAirplaneMode()
{
return ContainsModel("FX506");
}
+ public static bool NoWMI()
+ {
+ return ContainsModel("GL704G");
+ }
+
public static bool IsNoDirectRGB()
{
return ContainsModel("GA503") || ContainsModel("G533Q");
diff --git a/app/Input/InputDispatcher.cs b/app/Input/InputDispatcher.cs
index eebe9e4d..8c58b2b5 100644
--- a/app/Input/InputDispatcher.cs
+++ b/app/Input/InputDispatcher.cs
@@ -890,6 +890,7 @@ namespace GHelper.Input
if (e.NewEvent is null) return;
int EventID = int.Parse(e.NewEvent["EventID"].ToString());
Logger.WriteLine("WMI event " + EventID);
+ if (AppConfig.NoWMI()) return;
HandleEvent(EventID);
}
}
From f10dee4e47f059a7bdae76dc8a1e2bcf47be623a Mon Sep 17 00:00:00 2001
From: Serge <5920850+seerge@users.noreply.github.com>
Date: Sun, 18 Feb 2024 19:21:24 +0100
Subject: [PATCH 07/35] New translations strings.resx (French) (#2080)
---
app/Properties/Strings.fr.resx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/Properties/Strings.fr.resx b/app/Properties/Strings.fr.resx
index d1663c71..fc6a13f6 100644
--- a/app/Properties/Strings.fr.resx
+++ b/app/Properties/Strings.fr.resx
@@ -588,7 +588,7 @@ Voulez-vous continuer ?
Overdrive
- Mode
+ Mode CPU
Périphériques
From 555a6f4ed738b8f76eb695928afba681b334e452 Mon Sep 17 00:00:00 2001
From: Serge <5920850+seerge@users.noreply.github.com>
Date: Mon, 19 Feb 2024 20:00:15 +0100
Subject: [PATCH 08/35] New translations strings.resx (French) (#2085)
---
app/Properties/Strings.fr.resx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/Properties/Strings.fr.resx b/app/Properties/Strings.fr.resx
index fc6a13f6..d1663c71 100644
--- a/app/Properties/Strings.fr.resx
+++ b/app/Properties/Strings.fr.resx
@@ -588,7 +588,7 @@ Voulez-vous continuer ?
Overdrive
- Mode CPU
+ Mode
Périphériques
From c24dac2e4f7fe531925ea06831e5bd779b66a61c Mon Sep 17 00:00:00 2001
From: Serge <5920850+seerge@users.noreply.github.com>
Date: Tue, 20 Feb 2024 19:06:14 +0100
Subject: [PATCH 09/35] Update README.md
---
docs/README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/README.md b/docs/README.md
index 124984d1..303d3c2e 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -6,7 +6,7 @@
Small and lightweight Armoury Crate alternative for Asus laptops offering almost same functionality without extra bloat and unnecessary services.
Works with all popular models, such as ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, Flow Z13, TUF Series, Strix / Scar Series, ProArt, VivoBook, Ally and many more!
-# [:floppy_disk:Download](https://github.com/seerge/g-helper/releases/latest/download/GHelper.zip)
+# [:floppy_disk:Download](https://github.com/seerge/g-helper/releases/download/v0.154/GHelper.zip)
- [FAQ](https://github.com/seerge/g-helper/wiki/FAQ)
- [Setup and Requirements](https://github.com/seerge/g-helper/wiki/Requirements)
From 4196ccf33f925d0c2c55045ed8ecc83580b70d42 Mon Sep 17 00:00:00 2001
From: Serge <5920850+seerge@users.noreply.github.com>
Date: Wed, 21 Feb 2024 17:29:52 +0100
Subject: [PATCH 10/35] Minor tweaks
---
app/AppConfig.cs | 14 ++++++++++----
app/Settings.cs | 2 +-
2 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/app/AppConfig.cs b/app/AppConfig.cs
index 45e5d2f9..d1f0fac2 100644
--- a/app/AppConfig.cs
+++ b/app/AppConfig.cs
@@ -91,13 +91,19 @@ public static class AppConfig
if (_model is null)
{
_model = "";
- using (var searcher = new ManagementObjectSearcher(@"Select * from Win32_ComputerSystem"))
+ try
{
- foreach (var process in searcher.Get())
+ using (var searcher = new ManagementObjectSearcher(@"Select * from Win32_ComputerSystem"))
{
- _model = process["Model"].ToString();
- break;
+ foreach (var process in searcher.Get())
+ {
+ _model = process["Model"].ToString();
+ break;
+ }
}
+ } catch (Exception ex)
+ {
+ Logger.WriteLine(ex.Message);
}
}
diff --git a/app/Settings.cs b/app/Settings.cs
index b5f122c1..3b14d100 100644
--- a/app/Settings.cs
+++ b/app/Settings.cs
@@ -218,7 +218,7 @@ namespace GHelper
sliderBattery.ValueChanged += SliderBattery_ValueChanged;
Program.trayIcon.MouseMove += TrayIcon_MouseMove;
- sensorTimer = new System.Timers.Timer(1000);
+ sensorTimer = new System.Timers.Timer(AppConfig.Get("sensor_timer",1000));
sensorTimer.Elapsed += OnTimedEvent;
sensorTimer.Enabled = true;
From 4697c37cad2e1e2bd30c77063005cdb531abbd3b Mon Sep 17 00:00:00 2001
From: Serge <5920850+seerge@users.noreply.github.com>
Date: Sat, 24 Feb 2024 09:48:24 +0100
Subject: [PATCH 11/35] Ultimate mode tweaks
---
app/AppConfig.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/AppConfig.cs b/app/AppConfig.cs
index d1f0fac2..6835da91 100644
--- a/app/AppConfig.cs
+++ b/app/AppConfig.cs
@@ -463,7 +463,7 @@ public static class AppConfig
public static bool NoAutoUltimate()
{
- return ContainsModel("G614") || ContainsModel("GU604") || ContainsModel("FX507") || ContainsModel("G513") || ContainsModel("FA617") || ContainsModel("G834");
+ return ContainsModel("G614") || ContainsModel("GU604") || ContainsModel("FX507") || ContainsModel("G513") || ContainsModel("FA617") || ContainsModel("G834") || ContainsModel("GA403") || ContainsModel("GU605");
}
From 034b46e557bb601b6f73fe84e46b49bccb72023a Mon Sep 17 00:00:00 2001
From: Serge <5920850+seerge@users.noreply.github.com>
Date: Sat, 24 Feb 2024 09:48:59 +0100
Subject: [PATCH 12/35] Update README.md
---
docs/README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/README.md b/docs/README.md
index 303d3c2e..124984d1 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -6,7 +6,7 @@
Small and lightweight Armoury Crate alternative for Asus laptops offering almost same functionality without extra bloat and unnecessary services.
Works with all popular models, such as ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, Flow Z13, TUF Series, Strix / Scar Series, ProArt, VivoBook, Ally and many more!
-# [:floppy_disk:Download](https://github.com/seerge/g-helper/releases/download/v0.154/GHelper.zip)
+# [:floppy_disk:Download](https://github.com/seerge/g-helper/releases/latest/download/GHelper.zip)
- [FAQ](https://github.com/seerge/g-helper/wiki/FAQ)
- [Setup and Requirements](https://github.com/seerge/g-helper/wiki/Requirements)
From 285cd815090712bef883f806e31d324a3966fcd7 Mon Sep 17 00:00:00 2001
From: Serge <5920850+seerge@users.noreply.github.com>
Date: Sat, 24 Feb 2024 11:41:41 +0100
Subject: [PATCH 13/35] Flicker-free dimming slider for OLED models (#2109)
* Gamma Init
* Cleanup
* Show flicker-free dimming only on supported models
* Gamma ramp tweaks
* Gamma improvements
* Stronger dimming
* Added OLED model detection
---
app/AppConfig.cs | 5 +
app/Display/DisplayGammaRamp.cs | 112 ++++++++++++++++++++
app/Display/GammaRamp.cs | 56 ++++++++++
app/Display/ScreenControl.cs | 71 ++++++++++++-
app/Display/ScreenNative.cs | 12 ++-
app/Properties/Resources.Designer.cs | 10 ++
app/Properties/Resources.resx | 37 ++++---
app/Resources/icons8-brightness-32.png | Bin 0 -> 420 bytes
app/Settings.Designer.cs | 137 +++++++++++++++++++++----
app/Settings.cs | 10 ++
10 files changed, 408 insertions(+), 42 deletions(-)
create mode 100644 app/Display/DisplayGammaRamp.cs
create mode 100644 app/Display/GammaRamp.cs
create mode 100644 app/Resources/icons8-brightness-32.png
diff --git a/app/AppConfig.cs b/app/AppConfig.cs
index 6835da91..509bc9e5 100644
--- a/app/AppConfig.cs
+++ b/app/AppConfig.cs
@@ -395,6 +395,11 @@ public static class AppConfig
return ContainsModel("GA503") || IsSlash();
}
+ public static bool IsOLED()
+ {
+ return ContainsModel("OLED") || IsSlash() || ContainsModel("UX64") || ContainsModel("UX34") || ContainsModel("K360") || ContainsModel("X150");
+ }
+
public static bool IsStrix()
{
return ContainsModel("Strix") || ContainsModel("Scar") || ContainsModel("G703G");
diff --git a/app/Display/DisplayGammaRamp.cs b/app/Display/DisplayGammaRamp.cs
new file mode 100644
index 00000000..ca150f6f
--- /dev/null
+++ b/app/Display/DisplayGammaRamp.cs
@@ -0,0 +1,112 @@
+namespace GHelper.Display
+{
+
+ public class DisplayGammaRamp
+ {
+
+ public DisplayGammaRamp(ushort[] red, ushort[] green, ushort[] blue)
+ {
+ if (red?.Length != GammaRamp.DataPoints)
+ {
+ throw new ArgumentOutOfRangeException(nameof(red));
+ }
+
+ if (green?.Length != GammaRamp.DataPoints)
+ {
+ throw new ArgumentOutOfRangeException(nameof(green));
+ }
+
+ if (blue?.Length != GammaRamp.DataPoints)
+ {
+ throw new ArgumentOutOfRangeException(nameof(blue));
+ }
+
+ Red = red;
+ Green = green;
+ Blue = blue;
+ }
+
+ public DisplayGammaRamp(double brightness = 1, double contrast = 1, double gamma = 1)
+ : this(
+ CalculateLUT(brightness, contrast, gamma),
+ CalculateLUT(brightness, contrast, gamma),
+ CalculateLUT(brightness, contrast, gamma)
+ )
+ {
+ }
+
+ public DisplayGammaRamp(
+ double redBrightness,
+ double redContrast,
+ double redGamma,
+ double greenBrightness,
+ double greenContrast,
+ double greenGamma,
+ double blueBrightness,
+ double blueContrast,
+ double blueGamma
+ )
+ : this(
+ CalculateLUT(redBrightness, redContrast, redGamma),
+ CalculateLUT(greenBrightness, greenContrast, greenGamma),
+ CalculateLUT(blueBrightness, blueContrast, blueGamma)
+ )
+ {
+ }
+
+ internal DisplayGammaRamp(GammaRamp ramp) :
+ this(ramp.Red, ramp.Green, ramp.Blue)
+ {
+ }
+ public ushort[] Blue { get; }
+ public ushort[] Green { get; }
+ public ushort[] Red { get; }
+ private static ushort[] CalculateLUT(double brightness, double contrast, double gamma)
+ {
+ brightness = 0.5 + brightness / 2;
+ var result = new ushort[GammaRamp.DataPoints];
+ for (var i = 0; i < result.Length; i++)
+ {
+ result[i] = (ushort)(brightness * ushort.MaxValue * i / (float)(result.Length - 1));
+ }
+ return result;
+ }
+
+ public bool IsOriginal()
+ {
+ int MaxRed = Red[Red.Length - 1];
+ int MaxGreen = Green[Green.Length - 1];
+ int MaxBlue = Blue[Blue.Length - 1];
+ return (Math.Abs((MaxRed + MaxGreen + MaxBlue) / 3 - ushort.MaxValue) < 256);
+ }
+
+ private static ushort[] Brightness(ushort[] data, double brightness)
+ {
+ var result = new ushort[GammaRamp.DataPoints];
+ for (var i = 0; i < result.Length; i++)
+ {
+ if (brightness < 0.5)
+ result[i] = (ushort)(0.5 * ushort.MaxValue * Math.Pow((float)i/(result.Length - 1), 2 - brightness*2));
+ else
+ result[i] = (ushort)(data[i] * brightness);
+ }
+ return result;
+ }
+
+ internal GammaRamp AsBrightnessRamp(double brightness)
+ {
+ return new GammaRamp(
+ Brightness(Red, brightness),
+ Brightness(Green, brightness),
+ Brightness(Blue, brightness)
+ );
+ }
+
+ internal GammaRamp AsRamp()
+ {
+ return new GammaRamp(Red, Green, Blue);
+ }
+
+
+ }
+}
\ No newline at end of file
diff --git a/app/Display/GammaRamp.cs b/app/Display/GammaRamp.cs
new file mode 100644
index 00000000..0b1321db
--- /dev/null
+++ b/app/Display/GammaRamp.cs
@@ -0,0 +1,56 @@
+using System.Runtime.InteropServices;
+
+namespace GHelper.Display
+{
+
+ [StructLayout(LayoutKind.Sequential)]
+ internal struct GammaRamp
+ {
+ public const int DataPoints = 256;
+
+ [MarshalAs(UnmanagedType.ByValArray, SizeConst = DataPoints)]
+ public readonly ushort[] Red;
+ [MarshalAs(UnmanagedType.ByValArray, SizeConst = DataPoints)]
+ public readonly ushort[] Green;
+ [MarshalAs(UnmanagedType.ByValArray, SizeConst = DataPoints)]
+ public readonly ushort[] Blue;
+
+ public GammaRamp(ushort[] red, ushort[] green, ushort[] blue)
+ {
+ if (red == null)
+ {
+ throw new ArgumentNullException(nameof(red));
+ }
+
+ if (green == null)
+ {
+ throw new ArgumentNullException(nameof(green));
+ }
+
+ if (blue == null)
+ {
+ throw new ArgumentNullException(nameof(blue));
+ }
+
+ if (red.Length != DataPoints)
+ {
+ throw new ArgumentOutOfRangeException(nameof(red));
+ }
+
+ if (green.Length != DataPoints)
+ {
+ throw new ArgumentOutOfRangeException(nameof(green));
+ }
+
+ if (blue.Length != DataPoints)
+ {
+ throw new ArgumentOutOfRangeException(nameof(blue));
+ }
+
+ Red = red;
+ Green = green;
+ Blue = blue;
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/app/Display/ScreenControl.cs b/app/Display/ScreenControl.cs
index 6331baaf..4220f4a4 100644
--- a/app/Display/ScreenControl.cs
+++ b/app/Display/ScreenControl.cs
@@ -1,4 +1,4 @@
-using System.Diagnostics;
+using System.Runtime.InteropServices;
namespace GHelper.Display
{
@@ -7,6 +7,8 @@ namespace GHelper.Display
public const int MAX_REFRESH = 1000;
+ public static DisplayGammaRamp? gammaRamp;
+
public void AutoScreen(bool force = false)
{
if (force || AppConfig.Is("screen_auto"))
@@ -22,6 +24,70 @@ namespace GHelper.Display
}
}
+ public void SaveGamma()
+ {
+ var screenName = ScreenNative.FindLaptopScreen();
+ if (screenName is null) return;
+
+ try
+ {
+ var handle = ScreenNative.CreateDC(screenName, screenName, null, IntPtr.Zero);
+ var gammaRamp = new GammaRamp();
+ if (ScreenNative.GetDeviceGammaRamp(handle, ref gammaRamp))
+ {
+ var gamma = new DisplayGammaRamp(gammaRamp);
+ Logger.WriteLine("Gamma R: " + string.Join("-", gamma.Red));
+ Logger.WriteLine("Gamma G: " + string.Join("-", gamma.Green));
+ Logger.WriteLine("Gamma B: " + string.Join("-", gamma.Blue));
+ }
+ }
+ catch (Exception ex)
+ {
+ Logger.WriteLine(ex.ToString());
+ }
+ }
+
+ public void SetGamma(int brightness = 100)
+ {
+ var bright = Math.Round((float)brightness / 200 + 0.5, 2);
+
+ var screenName = ScreenNative.FindLaptopScreen();
+ if (screenName is null) return;
+
+ try
+ {
+ var handle = ScreenNative.CreateDC(screenName, screenName, null, IntPtr.Zero);
+ if (gammaRamp is null)
+ {
+ var gammaDump = new GammaRamp();
+ if (ScreenNative.GetDeviceGammaRamp(handle, ref gammaDump))
+ {
+ gammaRamp = new DisplayGammaRamp(gammaDump);
+ Logger.WriteLine("Gamma R: " + string.Join("-", gammaRamp.Red));
+ Logger.WriteLine("Gamma G: " + string.Join("-", gammaRamp.Green));
+ Logger.WriteLine("Gamma B: " + string.Join("-", gammaRamp.Blue));
+ }
+ }
+
+ if (gammaRamp is null || !gammaRamp.IsOriginal())
+ {
+ Logger.WriteLine("Default Gamma");
+ gammaRamp = new DisplayGammaRamp();
+ }
+
+ var ramp = gammaRamp.AsBrightnessRamp(bright);
+ bool result = ScreenNative.SetDeviceGammaRamp(handle, ref ramp);
+
+ Logger.WriteLine("Brightness " + bright.ToString() + ": " + result);
+
+ } catch (Exception ex)
+ {
+ Logger.WriteLine(ex.ToString());
+ }
+
+ //ScreenBrightness.Set(60 + (int)(40 * bright));
+ }
+
public void SetScreen(int frequency = -1, int overdrive = -1, int miniled = -1)
{
var laptopScreen = ScreenNative.FindLaptopScreen(true);
@@ -71,7 +137,8 @@ namespace GHelper.Display
if (miniled1 >= 0)
{
miniled = (miniled1 == 1) ? 0 : 1;
- } else
+ }
+ else
{
switch (miniled2)
{
diff --git a/app/Display/ScreenNative.cs b/app/Display/ScreenNative.cs
index 90cfdbf0..0b260fd3 100644
--- a/app/Display/ScreenNative.cs
+++ b/app/Display/ScreenNative.cs
@@ -32,6 +32,16 @@ namespace GHelper.Display
}
internal class ScreenNative
{
+
+ [DllImport("gdi32", CharSet = CharSet.Unicode)]
+ internal static extern IntPtr CreateDC(string driver, string device, string port, IntPtr deviceMode);
+
+ [DllImport("gdi32")]
+ internal static extern bool SetDeviceGammaRamp(IntPtr dcHandle, ref GammaRamp ramp);
+
+ [DllImport("gdi32")]
+ internal static extern bool GetDeviceGammaRamp(IntPtr dcHandle, ref GammaRamp ramp);
+
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct DEVMODE
{
@@ -146,7 +156,7 @@ namespace GHelper.Display
public const string defaultDevice = @"\\.\DISPLAY1";
- private static string? FindInternalName(bool log = false)
+ public static string? FindInternalName(bool log = false)
{
try
{
diff --git a/app/Properties/Resources.Designer.cs b/app/Properties/Resources.Designer.cs
index 8ff78342..971b35c6 100644
--- a/app/Properties/Resources.Designer.cs
+++ b/app/Properties/Resources.Designer.cs
@@ -210,6 +210,16 @@ namespace GHelper.Properties {
}
}
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap icons8_brightness_32 {
+ get {
+ object obj = ResourceManager.GetObject("icons8-brightness-32", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
///
/// Looks up a localized resource of type System.Drawing.Bitmap.
///
diff --git a/app/Properties/Resources.resx b/app/Properties/Resources.resx
index 7d0ca668..ea07c07c 100644
--- a/app/Properties/Resources.resx
+++ b/app/Properties/Resources.resx
@@ -136,6 +136,9 @@
..\Resources\icons8-bicycle-48 (1).png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\standard.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
..\Resources\eco.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -163,9 +166,15 @@
..\Resources\icons8-automation-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\icons8-settings-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
..\Resources\brightness-up.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\brightness-down.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
..\Resources\icons8-processor-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -187,15 +196,9 @@
..\Resources\icons8-laptop-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- ..\Resources\ally.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
..\Resources\icons8-remove-64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- ..\Resources\icons8-share-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
..\Resources\icons8-function-mac-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -229,14 +232,11 @@
..\Resources\icons8-xbox-rt-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- ..\Resources\icons8-controller-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
..\Resources\icons8-fan-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- ..\Resources\icons8-settings-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\icons8-controller-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
..\Resources\icons8-maus-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -250,8 +250,11 @@
..\Resources\dot-ultimate.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- ..\Resources\brightness-down.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\icons8-heartbeat-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\ally.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
..\Resources\backlight-up.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -319,8 +322,8 @@
..\Resources\icons8-software-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- ..\Resources\standard.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\icons8-share-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
..\Resources\icons8-soonvibes-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -331,7 +334,7 @@
..\Resources\icons8-charging-battery-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- ..\Resources\icons8-heartbeat-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\icons8-brightness-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
\ No newline at end of file
diff --git a/app/Resources/icons8-brightness-32.png b/app/Resources/icons8-brightness-32.png
new file mode 100644
index 0000000000000000000000000000000000000000..a1deb58f23c30a19b13c9d0de978aa0febe95a22
GIT binary patch
literal 420
zcmV;V0bBlwP)pqYHGhrreI&v+R^?*w0u+rLxzy{bg@~^m+
zcl9?-tbAuPZ#*Z!5;(L7>)Zni>C+a=842)eA*}O7GvSS;hq&TARD38?>T94**=>k{
zO@O%K+E=_UD?8M{&ag$lQD{`Siy*F;ozkl`Doi69m^9-4(5nmvCJ_zXpE6K%kb;p#
z%Fnh4>r=4Df82&KenfTO0fATq7
Date: Sat, 24 Feb 2024 11:44:35 +0100
Subject: [PATCH 14/35] Version bump
---
app/GHelper.csproj | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/GHelper.csproj b/app/GHelper.csproj
index 272440aa..56011b39 100644
--- a/app/GHelper.csproj
+++ b/app/GHelper.csproj
@@ -15,7 +15,7 @@
AnyCPU
False
True
- 0.154
+ 0.155
From 61cc54b709cb9816f940cdf95a0c040548fe77ca Mon Sep 17 00:00:00 2001
From: Serge <5920850+seerge@users.noreply.github.com>
Date: Sat, 24 Feb 2024 11:47:43 +0100
Subject: [PATCH 15/35] Update README.md
---
docs/README.md | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/docs/README.md b/docs/README.md
index 124984d1..74117d04 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -124,6 +124,14 @@ Huge thanks to [@IceStormNG](https://github.com/IceStormNG) 👑 for contributio
- ``Ctrl + Shift + Alt + F20`` - Custom 2 (if exists)
- [Custom keybindings / hotkeys](https://github.com/seerge/g-helper/wiki/Power-user-settings#custom-hotkey-actions)
+### 🎮ROG Ally Bindings
+- ``M + DPad Left / Right`` - Display Brightness
+- ``M + DPad Up`` - Touch keyboard
+- ``M + DPad Down`` - Show desktop
+- ``M + Y`` - Toggle AMD overay
+- ``M + X`` - Screenshot
+- ``M + Right Stick Click`` - Controller Mode
+
------------------
#### If you like the app you can make a Donation
From 34d2273ff599188d469c8d3ed5e3e6981770f368 Mon Sep 17 00:00:00 2001
From: Serge <5920850+seerge@users.noreply.github.com>
Date: Sat, 24 Feb 2024 12:02:43 +0100
Subject: [PATCH 16/35] LidClosed mode for Slash Lightning
---
app/AnimeMatrix/AniMatrixControl.cs | 5 +++++
app/AnimeMatrix/SlashDevice.cs | 5 +++++
app/Settings.Designer.cs | 16 ++++++++++++++++
app/Settings.cs | 12 +++++++++++-
4 files changed, 37 insertions(+), 1 deletion(-)
diff --git a/app/AnimeMatrix/AniMatrixControl.cs b/app/AnimeMatrix/AniMatrixControl.cs
index b2b7033e..d5498911 100644
--- a/app/AnimeMatrix/AniMatrixControl.cs
+++ b/app/AnimeMatrix/AniMatrixControl.cs
@@ -56,6 +56,11 @@ namespace GHelper.AnimeMatrix
if (deviceSlash is not null) SetSlash(wakeUp);
}
+ public void SetLidMode()
+ {
+ if (deviceSlash is not null) deviceSlash.SetLidMode(AppConfig.Is("matrix_lid"));
+ }
+
public void SetSlash(bool wakeUp = false)
{
diff --git a/app/AnimeMatrix/SlashDevice.cs b/app/AnimeMatrix/SlashDevice.cs
index 04d6eff5..bcc9216d 100644
--- a/app/AnimeMatrix/SlashDevice.cs
+++ b/app/AnimeMatrix/SlashDevice.cs
@@ -127,6 +127,11 @@ namespace GHelper.AnimeMatrix
Set(Packet(0xD8, 0x01, 0x00, 0x01, status ? (byte)0x80 : (byte)0x00));
}
+ public void SetLidMode(bool status)
+ {
+ Set(Packet(0xD8, 0x00, 0x00, 0x02, 0xA5, status ? (byte)0x80 : (byte)0x00));
+ }
+
public void Set(Packet packet)
{
_usbProvider?.Set(packet.Data);
diff --git a/app/Settings.Designer.cs b/app/Settings.Designer.cs
index 35d73cb1..f163fa43 100644
--- a/app/Settings.Designer.cs
+++ b/app/Settings.Designer.cs
@@ -126,6 +126,7 @@ namespace GHelper
labelGamma = new Label();
pictureGamma = new PictureBox();
labelGammaTitle = new Label();
+ checkMatrixLid = new CheckBox();
panelMatrix.SuspendLayout();
tableLayoutMatrix.SuspendLayout();
panelMatrixTitle.SuspendLayout();
@@ -174,6 +175,7 @@ namespace GHelper
panelMatrix.AccessibleRole = AccessibleRole.Grouping;
panelMatrix.AutoSize = true;
panelMatrix.AutoSizeMode = AutoSizeMode.GrowAndShrink;
+ panelMatrix.Controls.Add(checkMatrixLid);
panelMatrix.Controls.Add(tableLayoutMatrix);
panelMatrix.Controls.Add(panelMatrixTitle);
panelMatrix.Controls.Add(checkMatrix);
@@ -1709,6 +1711,19 @@ namespace GHelper
labelGammaTitle.TabIndex = 37;
labelGammaTitle.Text = "Flicker-free Dimming";
//
+ // checkMatrixLid
+ //
+ checkMatrixLid.AutoSize = true;
+ checkMatrixLid.ForeColor = SystemColors.GrayText;
+ checkMatrixLid.Location = new Point(286, 126);
+ checkMatrixLid.Margin = new Padding(8, 4, 8, 4);
+ checkMatrixLid.Name = "checkMatrixLid";
+ checkMatrixLid.Size = new Size(246, 36);
+ checkMatrixLid.TabIndex = 46;
+ checkMatrixLid.Text = "Enable on lid close";
+ checkMatrixLid.UseVisualStyleBackColor = true;
+ checkMatrixLid.Visible = false;
+ //
// SettingsForm
//
AutoScaleDimensions = new SizeF(192F, 192F);
@@ -1896,5 +1911,6 @@ namespace GHelper
private Label labelGamma;
private PictureBox pictureGamma;
private Label labelGammaTitle;
+ private CheckBox checkMatrixLid;
}
}
diff --git a/app/Settings.cs b/app/Settings.cs
index 3d4291ae..a7152889 100644
--- a/app/Settings.cs
+++ b/app/Settings.cs
@@ -701,6 +701,11 @@ namespace GHelper
matrixControl.SetBatteryAuto();
}
+ private void CheckMatrixLid_CheckedChanged(object? sender, EventArgs e)
+ {
+ AppConfig.Set("matrix_lid", checkMatrixLid.Checked ? 1 : 0);
+ matrixControl.SetLidMode();
+ }
private void ButtonMatrix_Click(object? sender, EventArgs e)
@@ -929,7 +934,8 @@ namespace GHelper
for (int i = 1; i <= 5; i++) comboInterval.Items.Add($"Interval {i}s");
buttonMatrix.Visible = false;
- }
+ checkMatrixLid.Visible = true;
+ }
comboMatrix.SelectedIndex = Math.Min(AppConfig.Get("matrix_brightness", 0), comboMatrix.Items.Count - 1);
comboMatrixRunning.SelectedIndex = Math.Min(AppConfig.Get("matrix_running", 0), comboMatrixRunning.Items.Count - 1);
@@ -938,6 +944,10 @@ namespace GHelper
checkMatrix.Checked = AppConfig.Is("matrix_auto");
checkMatrix.CheckedChanged += CheckMatrix_CheckedChanged;
+ checkMatrixLid.Checked = AppConfig.Is("matrix_lid");
+ checkMatrixLid.CheckedChanged += CheckMatrixLid_CheckedChanged;
+
+
}
From 267662e15b540dc89764693215f0ebd8a415fc4b Mon Sep 17 00:00:00 2001
From: Serge <5920850+seerge@users.noreply.github.com>
Date: Sat, 24 Feb 2024 18:56:32 +0100
Subject: [PATCH 17/35] Extended OLED models list
---
app/AppConfig.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/AppConfig.cs b/app/AppConfig.cs
index 509bc9e5..3a114f31 100644
--- a/app/AppConfig.cs
+++ b/app/AppConfig.cs
@@ -397,7 +397,7 @@ public static class AppConfig
public static bool IsOLED()
{
- return ContainsModel("OLED") || IsSlash() || ContainsModel("UX64") || ContainsModel("UX34") || ContainsModel("K360") || ContainsModel("X150");
+ return ContainsModel("OLED") || IsSlash() || ContainsModel("UX64") || ContainsModel("UX34") || ContainsModel("UX53") || ContainsModel("K360") || ContainsModel("X150");
}
public static bool IsStrix()
From 4889f0277f0afd0a291f9aaaa4881175b7ec4ea8 Mon Sep 17 00:00:00 2001
From: Serge <5920850+seerge@users.noreply.github.com>
Date: Sun, 25 Feb 2024 11:24:02 +0100
Subject: [PATCH 18/35] Intel E/P Cores configuration
---
app/AsusACPI.cs | 24 ++++-
app/Extra.Designer.cs | 125 ++++++++++++++++++++++-----
app/Extra.cs | 43 +++++++++
app/Properties/Resources.Designer.cs | 10 +++
app/Properties/Resources.resx | 35 ++++----
app/Resources/icons8-search-32.png | Bin 0 -> 448 bytes
6 files changed, 199 insertions(+), 38 deletions(-)
create mode 100644 app/Resources/icons8-search-32.png
diff --git a/app/AsusACPI.cs b/app/AsusACPI.cs
index a091e4cb..1e955c7b 100644
--- a/app/AsusACPI.cs
+++ b/app/AsusACPI.cs
@@ -2,6 +2,7 @@
using GHelper.USB;
using System.Management;
using System.Runtime.InteropServices;
+using static System.Runtime.InteropServices.JavaScript.JSType;
public enum AsusFan
{
@@ -98,6 +99,9 @@ public class AsusACPI
public const int PPT_APUC1 = 0x001200C1; // fPPT (fast boost limit)
public const int PPT_GPUC2 = 0x001200C2; // NVIDIA GPU Temp Target (75.. 87 C)
+ public const uint CORES_CPU = 0x001200D2; // Intel E-core and P-core configuration in a format 0x0[E]0[P]
+ public const uint CORES_MAX = 0x001200D3; // Maximum Intel E-core and P-core availability
+
public const int APU_MEM = 0x000600C1;
public const int TUF_KB_BRIGHTNESS = 0x00050021;
@@ -141,7 +145,7 @@ public class AsusACPI
public const int DefaultCPU = 80;
public const int MinGPUBoost = 5;
- public static int MaxGPUBoost = 25;
+ public static int MaxGPUBoost = 50;
public const int MinGPUTemp = 75;
public const int MaxGPUTemp = 87;
@@ -674,6 +678,24 @@ public class AsusACPI
}
}
+ public (int, int) GetCores(bool max = false)
+ {
+ int value = Program.acpi.DeviceGet(max ? CORES_MAX : CORES_CPU);
+ //value = max ? 0x806 : 0x605;
+
+ if (value < 0) return (-1, -1);
+ Logger.WriteLine("Cores" + (max ? "Max" : "") + ": 0x" + value.ToString("X4"));
+
+ return ((value >> 8) & 0xFF, (value) & 0xFF);
+ }
+
+ public void SetCores(int eCores, int pCores)
+ {
+ if (eCores < 0 || eCores > 16 || pCores < 0 || pCores > 16) return;
+ int value = (eCores << 8) | pCores;
+ Program.acpi.DeviceSet(CORES_CPU, value, "Cores (0x" + value.ToString("X4")+")");
+ }
+
public string ScanRange()
{
int value;
diff --git a/app/Extra.Designer.cs b/app/Extra.Designer.cs
index 70a9d626..d65b07e8 100644
--- a/app/Extra.Designer.cs
+++ b/app/Extra.Designer.cs
@@ -99,6 +99,7 @@ namespace GHelper
checkSleepLid = new CheckBox();
checkShutdownLid = new CheckBox();
panelSettingsHeader = new Panel();
+ pictureScan = new PictureBox();
pictureLog = new PictureBox();
pictureSettings = new PictureBox();
labelSettings = new Label();
@@ -120,7 +121,11 @@ namespace GHelper
comboAPU = new RComboBox();
pictureAPUMem = new PictureBox();
labelAPUMem = new Label();
- pictureScan = new PictureBox();
+ panelCores = new Panel();
+ comboCoresP = new RComboBox();
+ comboCoresE = new RComboBox();
+ pictureCores = new PictureBox();
+ label1 = new Label();
panelServices.SuspendLayout();
((System.ComponentModel.ISupportInitialize)pictureService).BeginInit();
panelBindingsHeader.SuspendLayout();
@@ -137,6 +142,7 @@ namespace GHelper
panelXMG.SuspendLayout();
tableBacklight.SuspendLayout();
panelSettingsHeader.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)pictureScan).BeginInit();
((System.ComponentModel.ISupportInitialize)pictureLog).BeginInit();
((System.ComponentModel.ISupportInitialize)pictureSettings).BeginInit();
panelSettings.SuspendLayout();
@@ -145,7 +151,8 @@ namespace GHelper
((System.ComponentModel.ISupportInitialize)pictureHibernate).BeginInit();
panelAPU.SuspendLayout();
((System.ComponentModel.ISupportInitialize)pictureAPUMem).BeginInit();
- ((System.ComponentModel.ISupportInitialize)pictureScan).BeginInit();
+ panelCores.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)pictureCores).BeginInit();
SuspendLayout();
//
// panelServices
@@ -155,7 +162,7 @@ namespace GHelper
panelServices.Controls.Add(labelServices);
panelServices.Controls.Add(buttonServices);
panelServices.Dock = DockStyle.Top;
- panelServices.Location = new Point(15, 1378);
+ panelServices.Location = new Point(15, 1436);
panelServices.Name = "panelServices";
panelServices.Size = new Size(983, 75);
panelServices.TabIndex = 5;
@@ -1016,6 +1023,20 @@ namespace GHelper
panelSettingsHeader.Size = new Size(983, 51);
panelSettingsHeader.TabIndex = 45;
//
+ // pictureScan
+ //
+ pictureScan.Anchor = AnchorStyles.Top | AnchorStyles.Right;
+ pictureScan.BackgroundImage = Resources.icons8_search_32;
+ pictureScan.BackgroundImageLayout = ImageLayout.Zoom;
+ pictureScan.Cursor = Cursors.Hand;
+ pictureScan.Location = new Point(891, 11);
+ pictureScan.Margin = new Padding(4, 3, 4, 3);
+ pictureScan.Name = "pictureScan";
+ pictureScan.Size = new Size(32, 32);
+ pictureScan.TabIndex = 13;
+ pictureScan.TabStop = false;
+ pictureScan.Visible = false;
+ //
// pictureLog
//
pictureLog.Anchor = AnchorStyles.Top | AnchorStyles.Right;
@@ -1063,7 +1084,7 @@ namespace GHelper
panelSettings.Controls.Add(checkGpuApps);
panelSettings.Controls.Add(checkGPUFix);
panelSettings.Dock = DockStyle.Top;
- panelSettings.Location = new Point(15, 978);
+ panelSettings.Location = new Point(15, 1036);
panelSettings.Name = "panelSettings";
panelSettings.Padding = new Padding(20, 5, 11, 5);
panelSettings.Size = new Size(983, 346);
@@ -1178,7 +1199,7 @@ namespace GHelper
panelPower.Controls.Add(labelHibernateAfter);
panelPower.Controls.Add(pictureHibernate);
panelPower.Dock = DockStyle.Top;
- panelPower.Location = new Point(15, 1324);
+ panelPower.Location = new Point(15, 1382);
panelPower.Name = "panelPower";
panelPower.Size = new Size(983, 54);
panelPower.TabIndex = 4;
@@ -1221,7 +1242,7 @@ namespace GHelper
panelAPU.Controls.Add(pictureAPUMem);
panelAPU.Controls.Add(labelAPUMem);
panelAPU.Dock = DockStyle.Top;
- panelAPU.Location = new Point(15, 921);
+ panelAPU.Location = new Point(15, 979);
panelAPU.Name = "panelAPU";
panelAPU.Padding = new Padding(11, 5, 11, 0);
panelAPU.Size = new Size(983, 57);
@@ -1239,10 +1260,10 @@ namespace GHelper
comboAPU.FormattingEnabled = true;
comboAPU.ItemHeight = 32;
comboAPU.Items.AddRange(new object[] { "Auto", "1G", "2G", "3G", "4G", "5G", "6G", "7G", "8G" });
- comboAPU.Location = new Point(663, 8);
+ comboAPU.Location = new Point(647, 8);
comboAPU.Margin = new Padding(4, 12, 4, 9);
comboAPU.Name = "comboAPU";
- comboAPU.Size = new Size(293, 40);
+ comboAPU.Size = new Size(309, 40);
comboAPU.TabIndex = 12;
comboAPU.TabStop = false;
//
@@ -1266,19 +1287,72 @@ namespace GHelper
labelAPUMem.TabIndex = 0;
labelAPUMem.Text = "Memory Assigned to GPU";
//
- // pictureScan
+ // panelCores
//
- pictureScan.Anchor = AnchorStyles.Top | AnchorStyles.Right;
- pictureScan.BackgroundImage = Resources.icons8_heartbeat_32;
- pictureScan.BackgroundImageLayout = ImageLayout.Zoom;
- pictureScan.Cursor = Cursors.Hand;
- pictureScan.Location = new Point(891, 11);
- pictureScan.Margin = new Padding(4, 3, 4, 3);
- pictureScan.Name = "pictureScan";
- pictureScan.Size = new Size(32, 32);
- pictureScan.TabIndex = 13;
- pictureScan.TabStop = false;
- pictureScan.Visible = false;
+ panelCores.AutoSize = true;
+ panelCores.Controls.Add(comboCoresP);
+ panelCores.Controls.Add(comboCoresE);
+ panelCores.Controls.Add(pictureCores);
+ panelCores.Controls.Add(label1);
+ panelCores.Dock = DockStyle.Top;
+ panelCores.Location = new Point(15, 921);
+ panelCores.Name = "panelCores";
+ panelCores.Padding = new Padding(11, 5, 11, 0);
+ panelCores.Size = new Size(983, 58);
+ panelCores.TabIndex = 47;
+ panelCores.Visible = false;
+ //
+ // comboCoresP
+ //
+ comboCoresP.Anchor = AnchorStyles.Top | AnchorStyles.Right;
+ comboCoresP.BorderColor = Color.White;
+ comboCoresP.ButtonColor = SystemColors.ControlLight;
+ comboCoresP.FlatStyle = FlatStyle.Flat;
+ comboCoresP.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
+ comboCoresP.FormattingEnabled = true;
+ comboCoresP.ItemHeight = 32;
+ comboCoresP.Location = new Point(805, 9);
+ comboCoresP.Margin = new Padding(4, 12, 4, 9);
+ comboCoresP.Name = "comboCoresP";
+ comboCoresP.Size = new Size(150, 40);
+ comboCoresP.TabIndex = 13;
+ comboCoresP.TabStop = false;
+ //
+ // comboCoresE
+ //
+ comboCoresE.Anchor = AnchorStyles.Top | AnchorStyles.Right;
+ comboCoresE.BorderColor = Color.White;
+ comboCoresE.ButtonColor = SystemColors.ControlLight;
+ comboCoresE.FlatStyle = FlatStyle.Flat;
+ comboCoresE.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
+ comboCoresE.FormattingEnabled = true;
+ comboCoresE.ItemHeight = 32;
+ comboCoresE.Location = new Point(647, 9);
+ comboCoresE.Margin = new Padding(4, 12, 4, 9);
+ comboCoresE.Name = "comboCoresE";
+ comboCoresE.Size = new Size(150, 40);
+ comboCoresE.TabIndex = 12;
+ comboCoresE.TabStop = false;
+ //
+ // pictureCores
+ //
+ pictureCores.BackgroundImage = Resources.icons8_processor_32;
+ pictureCores.BackgroundImageLayout = ImageLayout.Zoom;
+ pictureCores.Location = new Point(20, 15);
+ pictureCores.Name = "pictureCores";
+ pictureCores.Size = new Size(32, 32);
+ pictureCores.TabIndex = 1;
+ pictureCores.TabStop = false;
+ //
+ // label1
+ //
+ label1.AutoSize = true;
+ label1.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
+ label1.Location = new Point(64, 14);
+ label1.Name = "label1";
+ label1.Size = new Size(299, 32);
+ label1.TabIndex = 0;
+ label1.Text = "CPU Cores Configuration";
//
// Extra
//
@@ -1292,6 +1366,7 @@ namespace GHelper
Controls.Add(panelPower);
Controls.Add(panelSettings);
Controls.Add(panelAPU);
+ Controls.Add(panelCores);
Controls.Add(panelSettingsHeader);
Controls.Add(panelBacklight);
Controls.Add(panelBacklightHeader);
@@ -1332,6 +1407,7 @@ namespace GHelper
tableBacklight.ResumeLayout(false);
panelSettingsHeader.ResumeLayout(false);
panelSettingsHeader.PerformLayout();
+ ((System.ComponentModel.ISupportInitialize)pictureScan).EndInit();
((System.ComponentModel.ISupportInitialize)pictureLog).EndInit();
((System.ComponentModel.ISupportInitialize)pictureSettings).EndInit();
panelSettings.ResumeLayout(false);
@@ -1343,7 +1419,9 @@ namespace GHelper
panelAPU.ResumeLayout(false);
panelAPU.PerformLayout();
((System.ComponentModel.ISupportInitialize)pictureAPUMem).EndInit();
- ((System.ComponentModel.ISupportInitialize)pictureScan).EndInit();
+ panelCores.ResumeLayout(false);
+ panelCores.PerformLayout();
+ ((System.ComponentModel.ISupportInitialize)pictureCores).EndInit();
ResumeLayout(false);
PerformLayout();
}
@@ -1439,5 +1517,10 @@ namespace GHelper
private Label labelAPUMem;
private RComboBox comboAPU;
private PictureBox pictureScan;
+ private Panel panelCores;
+ private RComboBox comboCoresE;
+ private PictureBox pictureCores;
+ private Label label1;
+ private RComboBox comboCoresP;
}
}
\ No newline at end of file
diff --git a/app/Extra.cs b/app/Extra.cs
index a5fc9bf9..e3c21d0d 100644
--- a/app/Extra.cs
+++ b/app/Extra.cs
@@ -388,17 +388,60 @@ namespace GHelper
pictureLog.Click += PictureLog_Click;
pictureScan.Click += PictureScan_Click;
+ pictureScan.Visible = true;
+
checkGPUFix.Visible = Program.acpi.IsNVidiaGPU();
checkGPUFix.Checked = AppConfig.IsGPUFix();
checkGPUFix.CheckedChanged += CheckGPUFix_CheckedChanged;
toolTip.SetToolTip(checkAutoToggleClamshellMode, "Disable sleep on lid close when plugged in and external monitor is connected");
+ InitCores();
InitVariBright();
InitServices();
InitHibernate();
}
+
+ private void InitCores()
+ {
+ (int eCores, int pCores) = Program.acpi.GetCores();
+ (int eCoresMax, int pCoresMax) = Program.acpi.GetCores(true);
+
+ if (eCores < 0 || pCores < 0 || eCoresMax < 0 || pCoresMax < 0)
+ {
+ panelCores.Visible = false;
+ return;
+ }
+
+ panelCores.Visible = true;
+
+ comboCoresE.DropDownStyle = ComboBoxStyle.DropDownList;
+ comboCoresP.DropDownStyle = ComboBoxStyle.DropDownList;
+
+ for (int i = 0; i <= eCoresMax; i++) comboCoresE.Items.Add(i.ToString() + "E-cores");
+ for (int i = 0; i <= pCoresMax; i++) comboCoresP.Items.Add(i.ToString() + "P-cores");
+
+ comboCoresE.SelectedIndex = Math.Min(eCores, eCoresMax);
+ comboCoresP.SelectedIndex = Math.Min(pCores, pCoresMax);
+
+ comboCoresP.SelectedIndexChanged += ComboCores_SelectedIndexChanged;
+ comboCoresE.SelectedIndexChanged += ComboCores_SelectedIndexChanged;
+
+ }
+
+ private void ComboCores_SelectedIndexChanged(object? sender, EventArgs e)
+ {
+ Program.acpi.SetCores(comboCoresE.SelectedIndex, comboCoresP.SelectedIndex);
+
+ DialogResult dialogResult = MessageBox.Show(Properties.Strings.AlertAPUMemoryRestart, Properties.Strings.AlertAPUMemoryRestartTitle, MessageBoxButtons.YesNo);
+
+ if (dialogResult == DialogResult.Yes)
+ {
+ Process.Start("shutdown", "/r /t 1");
+ }
+ }
+
private void PictureScan_Click(object? sender, EventArgs e)
{
string logFile = Program.acpi.ScanRange();
diff --git a/app/Properties/Resources.Designer.cs b/app/Properties/Resources.Designer.cs
index 971b35c6..3dcf312f 100644
--- a/app/Properties/Resources.Designer.cs
+++ b/app/Properties/Resources.Designer.cs
@@ -600,6 +600,16 @@ namespace GHelper.Properties {
}
}
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap icons8_search_32 {
+ get {
+ object obj = ResourceManager.GetObject("icons8-search-32", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
///
/// Looks up a localized resource of type System.Drawing.Bitmap.
///
diff --git a/app/Properties/Resources.resx b/app/Properties/Resources.resx
index ea07c07c..c728bd5a 100644
--- a/app/Properties/Resources.resx
+++ b/app/Properties/Resources.resx
@@ -136,9 +136,6 @@
..\Resources\icons8-bicycle-48 (1).png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- ..\Resources\standard.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
..\Resources\eco.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -166,9 +163,6 @@
..\Resources\icons8-automation-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- ..\Resources\icons8-settings-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
..\Resources\brightness-up.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -178,8 +172,8 @@
..\Resources\icons8-processor-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- ..\Resources\icons8-fiat-500-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\Font.otf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
..\Resources\icons8-touchpad-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -199,6 +193,9 @@
..\Resources\icons8-remove-64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\icons8-share-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
..\Resources\icons8-function-mac-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -217,6 +214,9 @@
..\Resources\backlight.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\icons8-brightness-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
..\Resources\icons8-refresh-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -232,11 +232,14 @@
..\Resources\icons8-xbox-rt-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\icons8-controller-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
..\Resources\icons8-fan-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- ..\Resources\icons8-controller-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\icons8-settings-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
..\Resources\icons8-maus-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -286,8 +289,8 @@
..\Resources\icons8-video-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- ..\Resources\Font.otf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ ..\Resources\icons8-fiat-500-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
..\Resources\dot-eco.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -322,8 +325,8 @@
..\Resources\icons8-software-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- ..\Resources\icons8-share-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\standard.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
..\Resources\icons8-soonvibes-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -334,7 +337,7 @@
..\Resources\icons8-charging-battery-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- ..\Resources\icons8-brightness-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\icons8-search-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
\ No newline at end of file
diff --git a/app/Resources/icons8-search-32.png b/app/Resources/icons8-search-32.png
new file mode 100644
index 0000000000000000000000000000000000000000..4a37cd5bc7a509f07c16346faf01f2b8ea9d25c4
GIT binary patch
literal 448
zcmV;x0YCnUP)wt=q-5@*||FGMJZQ=mzCxfp%Lyz+5~Wn4w_G=z&e@G%~#
Date: Sun, 25 Feb 2024 11:39:43 +0100
Subject: [PATCH 19/35] Intel E/P Cores UI Tweaks
---
app/AsusACPI.cs | 7 +++----
app/Extra.Designer.cs | 38 +++++++++++++++++++++++++++++---------
app/Extra.cs | 15 +++++++--------
3 files changed, 39 insertions(+), 21 deletions(-)
diff --git a/app/AsusACPI.cs b/app/AsusACPI.cs
index 1e955c7b..1bc64a13 100644
--- a/app/AsusACPI.cs
+++ b/app/AsusACPI.cs
@@ -2,7 +2,6 @@
using GHelper.USB;
using System.Management;
using System.Runtime.InteropServices;
-using static System.Runtime.InteropServices.JavaScript.JSType;
public enum AsusFan
{
@@ -145,7 +144,7 @@ public class AsusACPI
public const int DefaultCPU = 80;
public const int MinGPUBoost = 5;
- public static int MaxGPUBoost = 50;
+ public static int MaxGPUBoost = 25;
public const int MinGPUTemp = 75;
public const int MaxGPUTemp = 87;
@@ -685,7 +684,7 @@ public class AsusACPI
if (value < 0) return (-1, -1);
Logger.WriteLine("Cores" + (max ? "Max" : "") + ": 0x" + value.ToString("X4"));
-
+
return ((value >> 8) & 0xFF, (value) & 0xFF);
}
@@ -693,7 +692,7 @@ public class AsusACPI
{
if (eCores < 0 || eCores > 16 || pCores < 0 || pCores > 16) return;
int value = (eCores << 8) | pCores;
- Program.acpi.DeviceSet(CORES_CPU, value, "Cores (0x" + value.ToString("X4")+")");
+ Program.acpi.DeviceSet(CORES_CPU, value, "Cores (0x" + value.ToString("X4") + ")");
}
public string ScanRange()
diff --git a/app/Extra.Designer.cs b/app/Extra.Designer.cs
index d65b07e8..8dc4a06e 100644
--- a/app/Extra.Designer.cs
+++ b/app/Extra.Designer.cs
@@ -122,6 +122,7 @@ namespace GHelper
pictureAPUMem = new PictureBox();
labelAPUMem = new Label();
panelCores = new Panel();
+ buttonCores = new RButton();
comboCoresP = new RComboBox();
comboCoresE = new RComboBox();
pictureCores = new PictureBox();
@@ -162,7 +163,7 @@ namespace GHelper
panelServices.Controls.Add(labelServices);
panelServices.Controls.Add(buttonServices);
panelServices.Dock = DockStyle.Top;
- panelServices.Location = new Point(15, 1436);
+ panelServices.Location = new Point(15, 1439);
panelServices.Name = "panelServices";
panelServices.Size = new Size(983, 75);
panelServices.TabIndex = 5;
@@ -1084,7 +1085,7 @@ namespace GHelper
panelSettings.Controls.Add(checkGpuApps);
panelSettings.Controls.Add(checkGPUFix);
panelSettings.Dock = DockStyle.Top;
- panelSettings.Location = new Point(15, 1036);
+ panelSettings.Location = new Point(15, 1039);
panelSettings.Name = "panelSettings";
panelSettings.Padding = new Padding(20, 5, 11, 5);
panelSettings.Size = new Size(983, 346);
@@ -1199,7 +1200,7 @@ namespace GHelper
panelPower.Controls.Add(labelHibernateAfter);
panelPower.Controls.Add(pictureHibernate);
panelPower.Dock = DockStyle.Top;
- panelPower.Location = new Point(15, 1382);
+ panelPower.Location = new Point(15, 1385);
panelPower.Name = "panelPower";
panelPower.Size = new Size(983, 54);
panelPower.TabIndex = 4;
@@ -1242,7 +1243,7 @@ namespace GHelper
panelAPU.Controls.Add(pictureAPUMem);
panelAPU.Controls.Add(labelAPUMem);
panelAPU.Dock = DockStyle.Top;
- panelAPU.Location = new Point(15, 979);
+ panelAPU.Location = new Point(15, 982);
panelAPU.Name = "panelAPU";
panelAPU.Padding = new Padding(11, 5, 11, 0);
panelAPU.Size = new Size(983, 57);
@@ -1260,7 +1261,7 @@ namespace GHelper
comboAPU.FormattingEnabled = true;
comboAPU.ItemHeight = 32;
comboAPU.Items.AddRange(new object[] { "Auto", "1G", "2G", "3G", "4G", "5G", "6G", "7G", "8G" });
- comboAPU.Location = new Point(647, 8);
+ comboAPU.Location = new Point(654, 8);
comboAPU.Margin = new Padding(4, 12, 4, 9);
comboAPU.Name = "comboAPU";
comboAPU.Size = new Size(309, 40);
@@ -1281,7 +1282,7 @@ namespace GHelper
//
labelAPUMem.AutoSize = true;
labelAPUMem.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
- labelAPUMem.Location = new Point(56, 11);
+ labelAPUMem.Location = new Point(64, 11);
labelAPUMem.Name = "labelAPUMem";
labelAPUMem.Size = new Size(309, 32);
labelAPUMem.TabIndex = 0;
@@ -1290,6 +1291,7 @@ namespace GHelper
// panelCores
//
panelCores.AutoSize = true;
+ panelCores.Controls.Add(buttonCores);
panelCores.Controls.Add(comboCoresP);
panelCores.Controls.Add(comboCoresE);
panelCores.Controls.Add(pictureCores);
@@ -1298,10 +1300,27 @@ namespace GHelper
panelCores.Location = new Point(15, 921);
panelCores.Name = "panelCores";
panelCores.Padding = new Padding(11, 5, 11, 0);
- panelCores.Size = new Size(983, 58);
+ panelCores.Size = new Size(983, 61);
panelCores.TabIndex = 47;
panelCores.Visible = false;
//
+ // buttonCores
+ //
+ buttonCores.Activated = false;
+ buttonCores.Anchor = AnchorStyles.Bottom | AnchorStyles.Left;
+ buttonCores.BackColor = SystemColors.ButtonHighlight;
+ buttonCores.BorderColor = Color.Transparent;
+ buttonCores.BorderRadius = 2;
+ buttonCores.FlatStyle = FlatStyle.Flat;
+ buttonCores.Location = new Point(856, 7);
+ buttonCores.Margin = new Padding(4, 3, 4, 3);
+ buttonCores.Name = "buttonCores";
+ buttonCores.Secondary = false;
+ buttonCores.Size = new Size(106, 46);
+ buttonCores.TabIndex = 20;
+ buttonCores.Text = "Apply";
+ buttonCores.UseVisualStyleBackColor = false;
+ //
// comboCoresP
//
comboCoresP.Anchor = AnchorStyles.Top | AnchorStyles.Right;
@@ -1311,7 +1330,7 @@ namespace GHelper
comboCoresP.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
comboCoresP.FormattingEnabled = true;
comboCoresP.ItemHeight = 32;
- comboCoresP.Location = new Point(805, 9);
+ comboCoresP.Location = new Point(701, 10);
comboCoresP.Margin = new Padding(4, 12, 4, 9);
comboCoresP.Name = "comboCoresP";
comboCoresP.Size = new Size(150, 40);
@@ -1327,7 +1346,7 @@ namespace GHelper
comboCoresE.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
comboCoresE.FormattingEnabled = true;
comboCoresE.ItemHeight = 32;
- comboCoresE.Location = new Point(647, 9);
+ comboCoresE.Location = new Point(543, 10);
comboCoresE.Margin = new Padding(4, 12, 4, 9);
comboCoresE.Name = "comboCoresE";
comboCoresE.Size = new Size(150, 40);
@@ -1522,5 +1541,6 @@ namespace GHelper
private PictureBox pictureCores;
private Label label1;
private RComboBox comboCoresP;
+ private RButton buttonCores;
}
}
\ No newline at end of file
diff --git a/app/Extra.cs b/app/Extra.cs
index e3c21d0d..f93c5062 100644
--- a/app/Extra.cs
+++ b/app/Extra.cs
@@ -419,29 +419,28 @@ namespace GHelper
comboCoresE.DropDownStyle = ComboBoxStyle.DropDownList;
comboCoresP.DropDownStyle = ComboBoxStyle.DropDownList;
- for (int i = 0; i <= eCoresMax; i++) comboCoresE.Items.Add(i.ToString() + "E-cores");
- for (int i = 0; i <= pCoresMax; i++) comboCoresP.Items.Add(i.ToString() + "P-cores");
+ for (int i = 0; i <= eCoresMax; i++) comboCoresE.Items.Add(i.ToString() + " Ecores");
+ for (int i = 0; i <= pCoresMax; i++) comboCoresP.Items.Add(i.ToString() + " Pcores");
comboCoresE.SelectedIndex = Math.Min(eCores, eCoresMax);
comboCoresP.SelectedIndex = Math.Min(pCores, pCoresMax);
- comboCoresP.SelectedIndexChanged += ComboCores_SelectedIndexChanged;
- comboCoresE.SelectedIndexChanged += ComboCores_SelectedIndexChanged;
+ buttonCores.Click += ButtonCores_Click;
}
- private void ComboCores_SelectedIndexChanged(object? sender, EventArgs e)
+ private void ButtonCores_Click(object? sender, EventArgs e)
{
- Program.acpi.SetCores(comboCoresE.SelectedIndex, comboCoresP.SelectedIndex);
-
DialogResult dialogResult = MessageBox.Show(Properties.Strings.AlertAPUMemoryRestart, Properties.Strings.AlertAPUMemoryRestartTitle, MessageBoxButtons.YesNo);
-
+
if (dialogResult == DialogResult.Yes)
{
+ Program.acpi.SetCores(comboCoresE.SelectedIndex, comboCoresP.SelectedIndex);
Process.Start("shutdown", "/r /t 1");
}
}
+
private void PictureScan_Click(object? sender, EventArgs e)
{
string logFile = Program.acpi.ScanRange();
From 0e4422f103d078c9b4ca3fb706321aec9a404a95 Mon Sep 17 00:00:00 2001
From: Serge <5920850+seerge@users.noreply.github.com>
Date: Sun, 25 Feb 2024 13:22:07 +0100
Subject: [PATCH 20/35] Intel Cores UI tweaks
---
app/AsusACPI.cs | 8 +++++++-
app/Extra.Designer.cs | 4 ++--
app/Extra.cs | 8 ++++----
3 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/app/AsusACPI.cs b/app/AsusACPI.cs
index 1bc64a13..63419eec 100644
--- a/app/AsusACPI.cs
+++ b/app/AsusACPI.cs
@@ -149,6 +149,12 @@ public class AsusACPI
public const int MinGPUTemp = 75;
public const int MaxGPUTemp = 87;
+ public const int PCoreMin = 4;
+ public const int ECoreMin = 0;
+
+ public const int PCoreMax = 16;
+ public const int ECoreMax = 16;
+
[DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Unicode)]
private static extern IntPtr CreateFile(
@@ -690,7 +696,7 @@ public class AsusACPI
public void SetCores(int eCores, int pCores)
{
- if (eCores < 0 || eCores > 16 || pCores < 0 || pCores > 16) return;
+ if (eCores < ECoreMin || eCores > ECoreMax || pCores < PCoreMin || pCores > PCoreMax) return;
int value = (eCores << 8) | pCores;
Program.acpi.DeviceSet(CORES_CPU, value, "Cores (0x" + value.ToString("X4") + ")");
}
diff --git a/app/Extra.Designer.cs b/app/Extra.Designer.cs
index 8dc4a06e..43b9d71e 100644
--- a/app/Extra.Designer.cs
+++ b/app/Extra.Designer.cs
@@ -1330,7 +1330,7 @@ namespace GHelper
comboCoresP.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
comboCoresP.FormattingEnabled = true;
comboCoresP.ItemHeight = 32;
- comboCoresP.Location = new Point(701, 10);
+ comboCoresP.Location = new Point(543, 10);
comboCoresP.Margin = new Padding(4, 12, 4, 9);
comboCoresP.Name = "comboCoresP";
comboCoresP.Size = new Size(150, 40);
@@ -1346,7 +1346,7 @@ namespace GHelper
comboCoresE.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
comboCoresE.FormattingEnabled = true;
comboCoresE.ItemHeight = 32;
- comboCoresE.Location = new Point(543, 10);
+ comboCoresE.Location = new Point(702, 10);
comboCoresE.Margin = new Padding(4, 12, 4, 9);
comboCoresE.Name = "comboCoresE";
comboCoresE.Size = new Size(150, 40);
diff --git a/app/Extra.cs b/app/Extra.cs
index f93c5062..77198d39 100644
--- a/app/Extra.cs
+++ b/app/Extra.cs
@@ -419,11 +419,11 @@ namespace GHelper
comboCoresE.DropDownStyle = ComboBoxStyle.DropDownList;
comboCoresP.DropDownStyle = ComboBoxStyle.DropDownList;
- for (int i = 0; i <= eCoresMax; i++) comboCoresE.Items.Add(i.ToString() + " Ecores");
- for (int i = 0; i <= pCoresMax; i++) comboCoresP.Items.Add(i.ToString() + " Pcores");
+ for (int i = AsusACPI.PCoreMin; i <= pCoresMax; i++) comboCoresP.Items.Add(i.ToString() + " Pcores");
+ for (int i = AsusACPI.ECoreMin; i <= eCoresMax; i++) comboCoresE.Items.Add(i.ToString() + " Ecores");
- comboCoresE.SelectedIndex = Math.Min(eCores, eCoresMax);
- comboCoresP.SelectedIndex = Math.Min(pCores, pCoresMax);
+ comboCoresP.SelectedIndex = Math.Max(Math.Min(pCores - AsusACPI.PCoreMin, comboCoresP.Items.Count - 1), 0);
+ comboCoresE.SelectedIndex = Math.Max(Math.Min(eCores - AsusACPI.ECoreMin, comboCoresE.Items.Count - 1), 0);
buttonCores.Click += ButtonCores_Click;
From b64440215589d62242eacb4aec41ce435f06492a Mon Sep 17 00:00:00 2001
From: Serge <5920850+seerge@users.noreply.github.com>
Date: Sun, 25 Feb 2024 13:44:57 +0100
Subject: [PATCH 21/35] Better power mode logging
---
app/Mode/PowerNative.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/Mode/PowerNative.cs b/app/Mode/PowerNative.cs
index e751fb9c..e01f3298 100644
--- a/app/Mode/PowerNative.cs
+++ b/app/Mode/PowerNative.cs
@@ -163,7 +163,7 @@ namespace GHelper.Mode
if (status != 0 || activeScheme != guidScheme)
{
status = PowerSetActiveOverlayScheme(guidScheme);
- Logger.WriteLine("Power Mode " + scheme + ":" + (status == 0 ? "OK" : status));
+ Logger.WriteLine("Power Mode " + activeScheme + " -> " + scheme + ":" + (status == 0 ? "OK" : status));
}
}
From 6d696c5c776a85da95d29ae3f3a9a733fa9dd153 Mon Sep 17 00:00:00 2001
From: Serge <5920850+seerge@users.noreply.github.com>
Date: Sun, 25 Feb 2024 19:55:39 +0100
Subject: [PATCH 22/35] P-cores fix
---
app/AsusACPI.cs | 2 +-
app/Extra.cs | 4 +++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/app/AsusACPI.cs b/app/AsusACPI.cs
index 63419eec..80902960 100644
--- a/app/AsusACPI.cs
+++ b/app/AsusACPI.cs
@@ -686,7 +686,7 @@ public class AsusACPI
public (int, int) GetCores(bool max = false)
{
int value = Program.acpi.DeviceGet(max ? CORES_MAX : CORES_CPU);
- //value = max ? 0x806 : 0x605;
+ //value = max ? 0x406 : 0x605;
if (value < 0) return (-1, -1);
Logger.WriteLine("Cores" + (max ? "Max" : "") + ": 0x" + value.ToString("X4"));
diff --git a/app/Extra.cs b/app/Extra.cs
index 77198d39..882bd106 100644
--- a/app/Extra.cs
+++ b/app/Extra.cs
@@ -414,6 +414,8 @@ namespace GHelper
return;
}
+ eCoresMax = Math.Max(8, eCoresMax);
+
panelCores.Visible = true;
comboCoresE.DropDownStyle = ComboBoxStyle.DropDownList;
@@ -431,11 +433,11 @@ namespace GHelper
private void ButtonCores_Click(object? sender, EventArgs e)
{
+ Program.acpi.SetCores(AsusACPI.ECoreMin + comboCoresE.SelectedIndex, AsusACPI.PCoreMin + comboCoresP.SelectedIndex);
DialogResult dialogResult = MessageBox.Show(Properties.Strings.AlertAPUMemoryRestart, Properties.Strings.AlertAPUMemoryRestartTitle, MessageBoxButtons.YesNo);
if (dialogResult == DialogResult.Yes)
{
- Program.acpi.SetCores(comboCoresE.SelectedIndex, comboCoresP.SelectedIndex);
Process.Start("shutdown", "/r /t 1");
}
}
From d156d8ace98e88eac3aa3724010d82a06f4d6db7 Mon Sep 17 00:00:00 2001
From: Serge <5920850+seerge@users.noreply.github.com>
Date: Sun, 25 Feb 2024 20:01:16 +0100
Subject: [PATCH 23/35] P-core tweaks
---
app/AsusACPI.cs | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/app/AsusACPI.cs b/app/AsusACPI.cs
index 80902960..b659f0d1 100644
--- a/app/AsusACPI.cs
+++ b/app/AsusACPI.cs
@@ -696,7 +696,12 @@ public class AsusACPI
public void SetCores(int eCores, int pCores)
{
- if (eCores < ECoreMin || eCores > ECoreMax || pCores < PCoreMin || pCores > PCoreMax) return;
+ if (eCores < ECoreMin || eCores > ECoreMax || pCores < PCoreMin || pCores > PCoreMax)
+ {
+ Logger.WriteLine($"Incorrect Core config ({eCores}, {pCores})");
+ return;
+ };
+
int value = (eCores << 8) | pCores;
Program.acpi.DeviceSet(CORES_CPU, value, "Cores (0x" + value.ToString("X4") + ")");
}
From 95b9a833c189dc7bbfe350d7b339024c17bb21c7 Mon Sep 17 00:00:00 2001
From: Serge <5920850+seerge@users.noreply.github.com>
Date: Sun, 25 Feb 2024 21:10:58 +0100
Subject: [PATCH 24/35] Tweaks
---
app/Extra.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/Extra.cs b/app/Extra.cs
index 882bd106..b7a27818 100644
--- a/app/Extra.cs
+++ b/app/Extra.cs
@@ -433,11 +433,11 @@ namespace GHelper
private void ButtonCores_Click(object? sender, EventArgs e)
{
- Program.acpi.SetCores(AsusACPI.ECoreMin + comboCoresE.SelectedIndex, AsusACPI.PCoreMin + comboCoresP.SelectedIndex);
DialogResult dialogResult = MessageBox.Show(Properties.Strings.AlertAPUMemoryRestart, Properties.Strings.AlertAPUMemoryRestartTitle, MessageBoxButtons.YesNo);
if (dialogResult == DialogResult.Yes)
{
+ Program.acpi.SetCores(AsusACPI.ECoreMin + comboCoresE.SelectedIndex, AsusACPI.PCoreMin + comboCoresP.SelectedIndex);
Process.Start("shutdown", "/r /t 1");
}
}
From 25470ed579dcaf7f791345379d6f6e28aface914 Mon Sep 17 00:00:00 2001
From: Serge <5920850+seerge@users.noreply.github.com>
Date: Mon, 26 Feb 2024 10:33:18 +0100
Subject: [PATCH 25/35] Touchpad and Mic Toggles
---
app/AsusACPI.cs | 4 ++++
app/Extra.cs | 1 +
2 files changed, 5 insertions(+)
diff --git a/app/AsusACPI.cs b/app/AsusACPI.cs
index b659f0d1..e545062f 100644
--- a/app/AsusACPI.cs
+++ b/app/AsusACPI.cs
@@ -43,6 +43,10 @@ public class AsusACPI
public const int Brightness_Down = 0x10;
public const int Brightness_Up = 0x20;
public const int KB_Sleep = 0x6c;
+
+ public const int KB_TouchpadToggle = 0x6b;
+ public const int KB_MuteToggle = 0x7c;
+
public const int KB_DUO_PgUpDn = 0x4B;
public const int KB_DUO_SecondDisplay = 0x6A;
diff --git a/app/Extra.cs b/app/Extra.cs
index b7a27818..17ff4f11 100644
--- a/app/Extra.cs
+++ b/app/Extra.cs
@@ -415,6 +415,7 @@ namespace GHelper
}
eCoresMax = Math.Max(8, eCoresMax);
+ pCoresMax = Math.Max(6, pCoresMax);
panelCores.Visible = true;
From c57a60079c58d520d9e8edb609660f969b792339 Mon Sep 17 00:00:00 2001
From: Serge <5920850+seerge@users.noreply.github.com>
Date: Mon, 26 Feb 2024 12:30:43 +0100
Subject: [PATCH 26/35] Matrix / Slash Lightning - Disable on Lid Close
---
app/AnimeMatrix/AniMatrixControl.cs | 16 +++--
app/Extra.Designer.cs | 103 ++++++++++++++++++++++++++--
app/Extra.cs | 30 +++++++-
app/Settings.Designer.cs | 27 ++++----
app/Settings.cs | 7 +-
5 files changed, 154 insertions(+), 29 deletions(-)
diff --git a/app/AnimeMatrix/AniMatrixControl.cs b/app/AnimeMatrix/AniMatrixControl.cs
index d5498911..b1b54be7 100644
--- a/app/AnimeMatrix/AniMatrixControl.cs
+++ b/app/AnimeMatrix/AniMatrixControl.cs
@@ -18,6 +18,8 @@ namespace GHelper.AnimeMatrix
public AnimeMatrixDevice? deviceMatrix;
public SlashDevice? deviceSlash;
+ public static bool lidClose = false;
+
double[]? AudioValues;
WasapiCapture? AudioDevice;
string? AudioDeviceId;
@@ -56,9 +58,13 @@ namespace GHelper.AnimeMatrix
if (deviceSlash is not null) SetSlash(wakeUp);
}
- public void SetLidMode()
+ public void SetLidMode(bool force = false)
{
- if (deviceSlash is not null) deviceSlash.SetLidMode(AppConfig.Is("matrix_lid"));
+ if (AppConfig.Is("matrix_lid") || force)
+ {
+ Logger.WriteLine($"Matrix LidClosed: {lidClose}");
+ SetDevice(true);
+ }
}
@@ -71,6 +77,7 @@ namespace GHelper.AnimeMatrix
int inteval = AppConfig.Get("matrix_interval", 0);
bool auto = AppConfig.Is("matrix_auto");
+ bool lid = AppConfig.Is("matrix_lid");
Task.Run(() =>
{
@@ -86,7 +93,7 @@ namespace GHelper.AnimeMatrix
if (wakeUp) deviceSlash.WakeUp();
- if (brightness == 0 || (auto && SystemInformation.PowerStatus.PowerLineStatus != PowerLineStatus.Online))
+ if (brightness == 0 || (auto && SystemInformation.PowerStatus.PowerLineStatus != PowerLineStatus.Online) || (lid && lidClose))
{
deviceSlash.Init();
deviceSlash.SetOptions(false, 0, 0);
@@ -115,6 +122,7 @@ namespace GHelper.AnimeMatrix
int brightness = AppConfig.Get("matrix_brightness", 0);
int running = AppConfig.Get("matrix_running", 0);
bool auto = AppConfig.Is("matrix_auto");
+ bool lid = AppConfig.Is("matrix_lid");
StopMatrixTimer();
StopMatrixAudio();
@@ -133,7 +141,7 @@ namespace GHelper.AnimeMatrix
if (wakeUp) deviceMatrix.WakeUp();
- if (brightness == 0 || (auto && SystemInformation.PowerStatus.PowerLineStatus != PowerLineStatus.Online))
+ if (brightness == 0 || (auto && SystemInformation.PowerStatus.PowerLineStatus != PowerLineStatus.Online) || (lid && lidClose))
{
deviceMatrix.SetDisplayState(false);
deviceMatrix.SetDisplayState(false); // some devices are dumb
diff --git a/app/Extra.Designer.cs b/app/Extra.Designer.cs
index 43b9d71e..fee5be60 100644
--- a/app/Extra.Designer.cs
+++ b/app/Extra.Designer.cs
@@ -127,6 +127,12 @@ namespace GHelper
comboCoresE = new RComboBox();
pictureCores = new PictureBox();
label1 = new Label();
+ panelACPI = new Panel();
+ textACPIParam = new TextBox();
+ textACPICommand = new TextBox();
+ buttonACPISend = new RButton();
+ pictureDebug = new PictureBox();
+ labelACPITitle = new Label();
panelServices.SuspendLayout();
((System.ComponentModel.ISupportInitialize)pictureService).BeginInit();
panelBindingsHeader.SuspendLayout();
@@ -154,6 +160,8 @@ namespace GHelper
((System.ComponentModel.ISupportInitialize)pictureAPUMem).BeginInit();
panelCores.SuspendLayout();
((System.ComponentModel.ISupportInitialize)pictureCores).BeginInit();
+ panelACPI.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)pictureDebug).BeginInit();
SuspendLayout();
//
// panelServices
@@ -163,7 +171,7 @@ namespace GHelper
panelServices.Controls.Add(labelServices);
panelServices.Controls.Add(buttonServices);
panelServices.Dock = DockStyle.Top;
- panelServices.Location = new Point(15, 1439);
+ panelServices.Location = new Point(15, 1508);
panelServices.Name = "panelServices";
panelServices.Size = new Size(983, 75);
panelServices.TabIndex = 5;
@@ -1085,7 +1093,7 @@ namespace GHelper
panelSettings.Controls.Add(checkGpuApps);
panelSettings.Controls.Add(checkGPUFix);
panelSettings.Dock = DockStyle.Top;
- panelSettings.Location = new Point(15, 1039);
+ panelSettings.Location = new Point(15, 1108);
panelSettings.Name = "panelSettings";
panelSettings.Padding = new Padding(20, 5, 11, 5);
panelSettings.Size = new Size(983, 346);
@@ -1200,7 +1208,7 @@ namespace GHelper
panelPower.Controls.Add(labelHibernateAfter);
panelPower.Controls.Add(pictureHibernate);
panelPower.Dock = DockStyle.Top;
- panelPower.Location = new Point(15, 1385);
+ panelPower.Location = new Point(15, 1454);
panelPower.Name = "panelPower";
panelPower.Size = new Size(983, 54);
panelPower.TabIndex = 4;
@@ -1243,7 +1251,7 @@ namespace GHelper
panelAPU.Controls.Add(pictureAPUMem);
panelAPU.Controls.Add(labelAPUMem);
panelAPU.Dock = DockStyle.Top;
- panelAPU.Location = new Point(15, 982);
+ panelAPU.Location = new Point(15, 1051);
panelAPU.Name = "panelAPU";
panelAPU.Padding = new Padding(11, 5, 11, 0);
panelAPU.Size = new Size(983, 57);
@@ -1297,7 +1305,7 @@ namespace GHelper
panelCores.Controls.Add(pictureCores);
panelCores.Controls.Add(label1);
panelCores.Dock = DockStyle.Top;
- panelCores.Location = new Point(15, 921);
+ panelCores.Location = new Point(15, 990);
panelCores.Name = "panelCores";
panelCores.Padding = new Padding(11, 5, 11, 0);
panelCores.Size = new Size(983, 61);
@@ -1373,6 +1381,79 @@ namespace GHelper
label1.TabIndex = 0;
label1.Text = "CPU Cores Configuration";
//
+ // panelACPI
+ //
+ panelACPI.AutoSize = true;
+ panelACPI.Controls.Add(textACPIParam);
+ panelACPI.Controls.Add(textACPICommand);
+ panelACPI.Controls.Add(buttonACPISend);
+ panelACPI.Controls.Add(pictureDebug);
+ panelACPI.Controls.Add(labelACPITitle);
+ panelACPI.Dock = DockStyle.Top;
+ panelACPI.Location = new Point(15, 921);
+ panelACPI.Name = "panelACPI";
+ panelACPI.Padding = new Padding(11, 5, 11, 0);
+ panelACPI.Size = new Size(983, 69);
+ panelACPI.TabIndex = 48;
+ panelACPI.Visible = false;
+ //
+ // textACPIParam
+ //
+ textACPIParam.Location = new Point(717, 18);
+ textACPIParam.Margin = new Padding(4, 3, 4, 3);
+ textACPIParam.Name = "textACPIParam";
+ textACPIParam.PlaceholderText = "Value";
+ textACPIParam.Size = new Size(127, 39);
+ textACPIParam.TabIndex = 22;
+ textACPIParam.TabStop = false;
+ //
+ // textACPICommand
+ //
+ textACPICommand.Location = new Point(467, 18);
+ textACPICommand.Margin = new Padding(4, 3, 4, 3);
+ textACPICommand.Name = "textACPICommand";
+ textACPICommand.PlaceholderText = "Address";
+ textACPICommand.Size = new Size(242, 39);
+ textACPICommand.TabIndex = 21;
+ textACPICommand.TabStop = false;
+ //
+ // buttonACPISend
+ //
+ buttonACPISend.Activated = false;
+ buttonACPISend.Anchor = AnchorStyles.Bottom | AnchorStyles.Left;
+ buttonACPISend.BackColor = SystemColors.ButtonHighlight;
+ buttonACPISend.BorderColor = Color.Transparent;
+ buttonACPISend.BorderRadius = 2;
+ buttonACPISend.FlatStyle = FlatStyle.Flat;
+ buttonACPISend.Location = new Point(854, 13);
+ buttonACPISend.Margin = new Padding(4, 3, 4, 3);
+ buttonACPISend.Name = "buttonACPISend";
+ buttonACPISend.Secondary = false;
+ buttonACPISend.Size = new Size(106, 46);
+ buttonACPISend.TabIndex = 20;
+ buttonACPISend.Text = "Send";
+ buttonACPISend.UseVisualStyleBackColor = false;
+ //
+ // pictureDebug
+ //
+ pictureDebug.BackgroundImage = Resources.icons8_heartbeat_32;
+ pictureDebug.BackgroundImageLayout = ImageLayout.Zoom;
+ pictureDebug.Location = new Point(20, 20);
+ pictureDebug.Name = "pictureDebug";
+ pictureDebug.Size = new Size(32, 32);
+ pictureDebug.TabIndex = 1;
+ pictureDebug.TabStop = false;
+ //
+ // labelACPITitle
+ //
+ labelACPITitle.AutoSize = true;
+ labelACPITitle.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
+ labelACPITitle.Location = new Point(57, 20);
+ labelACPITitle.Name = "labelACPITitle";
+ labelACPITitle.Size = new Size(188, 32);
+ labelACPITitle.TabIndex = 0;
+ labelACPITitle.Text = "ACPI DEVS Test";
+ //
// Extra
//
AutoScaleDimensions = new SizeF(192F, 192F);
@@ -1380,12 +1461,13 @@ namespace GHelper
AutoScroll = true;
AutoSize = true;
AutoSizeMode = AutoSizeMode.GrowAndShrink;
- ClientSize = new Size(1013, 1515);
+ ClientSize = new Size(1013, 1612);
Controls.Add(panelServices);
Controls.Add(panelPower);
Controls.Add(panelSettings);
Controls.Add(panelAPU);
Controls.Add(panelCores);
+ Controls.Add(panelACPI);
Controls.Add(panelSettingsHeader);
Controls.Add(panelBacklight);
Controls.Add(panelBacklightHeader);
@@ -1441,6 +1523,9 @@ namespace GHelper
panelCores.ResumeLayout(false);
panelCores.PerformLayout();
((System.ComponentModel.ISupportInitialize)pictureCores).EndInit();
+ panelACPI.ResumeLayout(false);
+ panelACPI.PerformLayout();
+ ((System.ComponentModel.ISupportInitialize)pictureDebug).EndInit();
ResumeLayout(false);
PerformLayout();
}
@@ -1542,5 +1627,11 @@ namespace GHelper
private Label label1;
private RComboBox comboCoresP;
private RButton buttonCores;
+ private Panel panelACPI;
+ private TextBox textACPIParam;
+ private TextBox textACPICommand;
+ private RButton buttonACPISend;
+ private PictureBox pictureDebug;
+ private Label labelACPITitle;
}
}
\ No newline at end of file
diff --git a/app/Extra.cs b/app/Extra.cs
index 17ff4f11..2664697f 100644
--- a/app/Extra.cs
+++ b/app/Extra.cs
@@ -386,9 +386,6 @@ namespace GHelper
buttonServices.Click += ButtonServices_Click;
pictureLog.Click += PictureLog_Click;
- pictureScan.Click += PictureScan_Click;
-
- pictureScan.Visible = true;
checkGPUFix.Visible = Program.acpi.IsNVidiaGPU();
checkGPUFix.Checked = AppConfig.IsGPUFix();
@@ -400,8 +397,35 @@ namespace GHelper
InitVariBright();
InitServices();
InitHibernate();
+
+ InitACPITesting();
+
}
+ private void InitACPITesting()
+ {
+ pictureScan.Visible = true;
+ panelACPI.Visible = true;
+
+ textACPICommand.Text = "120075";
+ textACPIParam.Text = "1";
+
+ buttonACPISend.Click += ButtonACPISend_Click;
+ pictureScan.Click += PictureScan_Click;
+ }
+
+ private void ButtonACPISend_Click(object? sender, EventArgs e)
+ {
+ try {
+ int deviceID = Convert.ToInt32(textACPICommand.Text, 16);
+ int status = Convert.ToInt32(textACPIParam.Text, textACPIParam.Text.Contains("x") ? 16 : 10);
+ int result = Program.acpi.DeviceSet((uint)deviceID, status, "TestACPI " + deviceID.ToString("X8") + " " + status.ToString("X4"));
+ labelACPITitle.Text = "ACPI DEVS Test : " + result.ToString();
+ } catch (Exception ex)
+ {
+ Logger.WriteLine(ex.Message);
+ }
+ }
private void InitCores()
{
diff --git a/app/Settings.Designer.cs b/app/Settings.Designer.cs
index f163fa43..5d61560c 100644
--- a/app/Settings.Designer.cs
+++ b/app/Settings.Designer.cs
@@ -31,6 +31,7 @@ namespace GHelper
private void InitializeComponent()
{
panelMatrix = new Panel();
+ checkMatrixLid = new CheckBox();
tableLayoutMatrix = new TableLayoutPanel();
comboMatrix = new RComboBox();
comboMatrixRunning = new RComboBox();
@@ -126,7 +127,6 @@ namespace GHelper
labelGamma = new Label();
pictureGamma = new PictureBox();
labelGammaTitle = new Label();
- checkMatrixLid = new CheckBox();
panelMatrix.SuspendLayout();
tableLayoutMatrix.SuspendLayout();
panelMatrixTitle.SuspendLayout();
@@ -188,6 +188,18 @@ namespace GHelper
panelMatrix.TabIndex = 3;
panelMatrix.TabStop = true;
//
+ // checkMatrixLid
+ //
+ checkMatrixLid.AutoSize = true;
+ checkMatrixLid.ForeColor = SystemColors.GrayText;
+ checkMatrixLid.Location = new Point(286, 126);
+ checkMatrixLid.Margin = new Padding(8, 4, 8, 4);
+ checkMatrixLid.Name = "checkMatrixLid";
+ checkMatrixLid.Size = new Size(253, 36);
+ checkMatrixLid.TabIndex = 46;
+ checkMatrixLid.Text = "Disable on lid close";
+ checkMatrixLid.UseVisualStyleBackColor = true;
+ //
// tableLayoutMatrix
//
tableLayoutMatrix.AutoSize = true;
@@ -1711,19 +1723,6 @@ namespace GHelper
labelGammaTitle.TabIndex = 37;
labelGammaTitle.Text = "Flicker-free Dimming";
//
- // checkMatrixLid
- //
- checkMatrixLid.AutoSize = true;
- checkMatrixLid.ForeColor = SystemColors.GrayText;
- checkMatrixLid.Location = new Point(286, 126);
- checkMatrixLid.Margin = new Padding(8, 4, 8, 4);
- checkMatrixLid.Name = "checkMatrixLid";
- checkMatrixLid.Size = new Size(246, 36);
- checkMatrixLid.TabIndex = 46;
- checkMatrixLid.Text = "Enable on lid close";
- checkMatrixLid.UseVisualStyleBackColor = true;
- checkMatrixLid.Visible = false;
- //
// SettingsForm
//
AutoScaleDimensions = new SizeF(192F, 192F);
diff --git a/app/Settings.cs b/app/Settings.cs
index a7152889..f4198670 100644
--- a/app/Settings.cs
+++ b/app/Settings.cs
@@ -455,10 +455,14 @@ namespace GHelper
case 0:
Logger.WriteLine("Lid Closed");
Aura.ApplyBrightness(0, "Lid");
+ AniMatrixControl.lidClose = true;
+ matrixControl.SetLidMode();
break;
case 1:
Logger.WriteLine("Lid Open");
Aura.ApplyBrightness(InputDispatcher.GetBacklight(), "Lid");
+ AniMatrixControl.lidClose = false;
+ matrixControl.SetLidMode();
break;
}
@@ -704,7 +708,7 @@ namespace GHelper
private void CheckMatrixLid_CheckedChanged(object? sender, EventArgs e)
{
AppConfig.Set("matrix_lid", checkMatrixLid.Checked ? 1 : 0);
- matrixControl.SetLidMode();
+ matrixControl.SetLidMode(true);
}
@@ -934,7 +938,6 @@ namespace GHelper
for (int i = 1; i <= 5; i++) comboInterval.Items.Add($"Interval {i}s");
buttonMatrix.Visible = false;
- checkMatrixLid.Visible = true;
}
comboMatrix.SelectedIndex = Math.Min(AppConfig.Get("matrix_brightness", 0), comboMatrix.Items.Count - 1);
From 76f29c593499d054d1938c0296080562f4ae0ffa Mon Sep 17 00:00:00 2001
From: Serge <5920850+seerge@users.noreply.github.com>
Date: Mon, 26 Feb 2024 14:29:36 +0100
Subject: [PATCH 27/35] UI Tweaks
---
app/Properties/Strings.Designer.cs | 23 ++++++++++++++++-------
app/Properties/Strings.resx | 5 ++++-
app/Settings.Designer.cs | 4 ++--
app/Settings.cs | 1 +
4 files changed, 23 insertions(+), 10 deletions(-)
diff --git a/app/Properties/Strings.Designer.cs b/app/Properties/Strings.Designer.cs
index ac031247..0c57f92b 100644
--- a/app/Properties/Strings.Designer.cs
+++ b/app/Properties/Strings.Designer.cs
@@ -699,6 +699,15 @@ namespace GHelper.Properties {
}
}
+ ///
+ /// Looks up a localized string similar to Disable on lid close.
+ ///
+ internal static string DisableOnLidClose {
+ get {
+ return ResourceManager.GetString("DisableOnLidClose", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Disable screen overdrive.
///
@@ -790,9 +799,9 @@ namespace GHelper.Properties {
return ResourceManager.GetString("EnergySettings", resourceCulture);
}
}
-
+
///
- /// Looks up a localized string similar to Export.
+ /// Looks up a localized string similar to Export Profile.
///
internal static string Export {
get {
@@ -1024,9 +1033,9 @@ namespace GHelper.Properties {
return ResourceManager.GetString("ImageRotation", resourceCulture);
}
}
-
+
///
- /// Looks up a localized string similar to Import.
+ /// Looks up a localized string similar to Import Profile.
///
internal static string Import {
get {
@@ -1294,9 +1303,9 @@ namespace GHelper.Properties {
return ResourceManager.GetString("MouseButtonResponse", resourceCulture);
}
}
-
+
///
- /// Looks up a localized string similar to Import failed. Selected file is not a valid mouse profile or corrutpted.
+ /// Looks up a localized string similar to Import failed. Selected file is not a valid mouse profile or corrutpted..
///
internal static string MouseImportFailed {
get {
@@ -1800,7 +1809,7 @@ namespace GHelper.Properties {
}
///
- /// Looks up a localized string similar to Turn off on battery.
+ /// Looks up a localized string similar to Disable on battery.
///
internal static string TurnOffOnBattery {
get {
diff --git a/app/Properties/Strings.resx b/app/Properties/Strings.resx
index 64eb9e57..4855137b 100644
--- a/app/Properties/Strings.resx
+++ b/app/Properties/Strings.resx
@@ -330,6 +330,9 @@
Disable Controller
+
+ Disable on lid close
+
Disable screen overdrive
@@ -699,7 +702,7 @@ Do you still want to continue?
Turned off
- Turn off on battery
+ Disable on battery
Routes laptop screen to dGPU, maximizing FPS
diff --git a/app/Settings.Designer.cs b/app/Settings.Designer.cs
index 5d61560c..492a9956 100644
--- a/app/Settings.Designer.cs
+++ b/app/Settings.Designer.cs
@@ -192,7 +192,7 @@ namespace GHelper
//
checkMatrixLid.AutoSize = true;
checkMatrixLid.ForeColor = SystemColors.GrayText;
- checkMatrixLid.Location = new Point(286, 126);
+ checkMatrixLid.Location = new Point(275, 126);
checkMatrixLid.Margin = new Padding(8, 4, 8, 4);
checkMatrixLid.Name = "checkMatrixLid";
checkMatrixLid.Size = new Size(253, 36);
@@ -326,7 +326,7 @@ namespace GHelper
checkMatrix.Location = new Point(27, 126);
checkMatrix.Margin = new Padding(8, 4, 8, 4);
checkMatrix.Name = "checkMatrix";
- checkMatrix.Size = new Size(249, 36);
+ checkMatrix.Size = new Size(241, 36);
checkMatrix.TabIndex = 19;
checkMatrix.Text = Properties.Strings.TurnOffOnBattery;
checkMatrix.UseVisualStyleBackColor = true;
diff --git a/app/Settings.cs b/app/Settings.cs
index f4198670..89c7b118 100644
--- a/app/Settings.cs
+++ b/app/Settings.cs
@@ -85,6 +85,7 @@ namespace GHelper
labelPeripherals.Text = Properties.Strings.Peripherals;
checkMatrix.Text = Properties.Strings.TurnOffOnBattery;
+ checkMatrixLid.Text = Properties.Strings.DisableOnLidClose;
checkStartup.Text = Properties.Strings.RunOnStartup;
buttonMatrix.Text = Properties.Strings.PictureGif;
From b3e4578c02fb97534d0f356f16e8fd822d0b3baa Mon Sep 17 00:00:00 2001
From: Serge <5920850+seerge@users.noreply.github.com>
Date: Mon, 26 Feb 2024 14:40:13 +0100
Subject: [PATCH 28/35] UI Tweaks
---
app/Extra.cs | 2 +-
app/Settings.Designer.cs | 1 +
app/Settings.cs | 1 +
3 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/app/Extra.cs b/app/Extra.cs
index 2664697f..7725d680 100644
--- a/app/Extra.cs
+++ b/app/Extra.cs
@@ -398,7 +398,7 @@ namespace GHelper
InitServices();
InitHibernate();
- InitACPITesting();
+ //InitACPITesting();
}
diff --git a/app/Settings.Designer.cs b/app/Settings.Designer.cs
index 492a9956..09e357f6 100644
--- a/app/Settings.Designer.cs
+++ b/app/Settings.Designer.cs
@@ -199,6 +199,7 @@ namespace GHelper
checkMatrixLid.TabIndex = 46;
checkMatrixLid.Text = "Disable on lid close";
checkMatrixLid.UseVisualStyleBackColor = true;
+ checkMatrixLid.Visible = false;
//
// tableLayoutMatrix
//
diff --git a/app/Settings.cs b/app/Settings.cs
index 89c7b118..b5c34a81 100644
--- a/app/Settings.cs
+++ b/app/Settings.cs
@@ -939,6 +939,7 @@ namespace GHelper
for (int i = 1; i <= 5; i++) comboInterval.Items.Add($"Interval {i}s");
buttonMatrix.Visible = false;
+ checkMatrixLid.Visible = true;
}
comboMatrix.SelectedIndex = Math.Min(AppConfig.Get("matrix_brightness", 0), comboMatrix.Items.Count - 1);
From 48e65dea978d3443df672d0edebf0b8653ff06af Mon Sep 17 00:00:00 2001
From: Serge <5920850+seerge@users.noreply.github.com>
Date: Mon, 26 Feb 2024 14:53:45 +0100
Subject: [PATCH 29/35] New Crowdin updates (#2120)
* New translations strings.resx (Romanian)
* New translations strings.resx (French)
* New translations strings.resx (Spanish)
* New translations strings.resx (German)
* New translations strings.resx (Hungarian)
* New translations strings.resx (Italian)
* New translations strings.resx (Korean)
* New translations strings.resx (Lithuanian)
* New translations strings.resx (Polish)
* New translations strings.resx (Portuguese)
* New translations strings.resx (Turkish)
* New translations strings.resx (Ukrainian)
* New translations strings.resx (Chinese Simplified)
* New translations strings.resx (Chinese Traditional)
* New translations strings.resx (Vietnamese)
* New translations strings.resx (Portuguese, Brazilian)
* New translations strings.resx (Indonesian)
* New translations strings.resx (Romanian)
* New translations strings.resx (French)
* New translations strings.resx (Spanish)
* New translations strings.resx (German)
* New translations strings.resx (Hungarian)
* New translations strings.resx (Italian)
* New translations strings.resx (Korean)
* New translations strings.resx (Lithuanian)
* New translations strings.resx (Polish)
* New translations strings.resx (Portuguese)
* New translations strings.resx (Turkish)
* New translations strings.resx (Ukrainian)
* New translations strings.resx (Chinese Simplified)
* New translations strings.resx (Chinese Traditional)
* New translations strings.resx (Vietnamese)
* New translations strings.resx (Portuguese, Brazilian)
* New translations strings.resx (Indonesian)
---
app/Properties/Strings.de.resx | 3 +++
app/Properties/Strings.es.resx | 3 +++
app/Properties/Strings.fr.resx | 3 +++
app/Properties/Strings.hu.resx | 3 +++
app/Properties/Strings.id.resx | 3 +++
app/Properties/Strings.it.resx | 3 +++
app/Properties/Strings.ko.resx | 3 +++
app/Properties/Strings.lt.resx | 3 +++
app/Properties/Strings.pl.resx | 3 +++
app/Properties/Strings.pt-BR.resx | 3 +++
app/Properties/Strings.pt-PT.resx | 3 +++
app/Properties/Strings.ro.resx | 3 +++
app/Properties/Strings.tr.resx | 3 +++
app/Properties/Strings.uk.resx | 5 ++++-
app/Properties/Strings.vi.resx | 3 +++
app/Properties/Strings.zh-CN.resx | 3 +++
app/Properties/Strings.zh-TW.resx | 3 +++
17 files changed, 52 insertions(+), 1 deletion(-)
diff --git a/app/Properties/Strings.de.resx b/app/Properties/Strings.de.resx
index 2bd9eb8a..6c2ca1d4 100644
--- a/app/Properties/Strings.de.resx
+++ b/app/Properties/Strings.de.resx
@@ -330,6 +330,9 @@
Disable Controller
+
+ Disable on lid close
+
Bildschirm: Overdrive abschalten
diff --git a/app/Properties/Strings.es.resx b/app/Properties/Strings.es.resx
index 65f47496..b486af0a 100644
--- a/app/Properties/Strings.es.resx
+++ b/app/Properties/Strings.es.resx
@@ -330,6 +330,9 @@
Deshabilitar mando
+
+ Disable on lid close
+
Desactivar Overdrive
diff --git a/app/Properties/Strings.fr.resx b/app/Properties/Strings.fr.resx
index d1663c71..fdcdfb47 100644
--- a/app/Properties/Strings.fr.resx
+++ b/app/Properties/Strings.fr.resx
@@ -330,6 +330,9 @@
Désactiver le contrôleur
+
+ Disable on lid close
+
Désactiver l'overdrive de l'écran
diff --git a/app/Properties/Strings.hu.resx b/app/Properties/Strings.hu.resx
index 6f499b42..1e5fa166 100644
--- a/app/Properties/Strings.hu.resx
+++ b/app/Properties/Strings.hu.resx
@@ -330,6 +330,9 @@
Disable Controller
+
+ Disable on lid close
+
Képernyőtúlhajtás letiltása
diff --git a/app/Properties/Strings.id.resx b/app/Properties/Strings.id.resx
index 63ba02b3..35aec166 100644
--- a/app/Properties/Strings.id.resx
+++ b/app/Properties/Strings.id.resx
@@ -330,6 +330,9 @@
Disable Controller
+
+ Disable on lid close
+
Nonaktifkan screen overdrive
diff --git a/app/Properties/Strings.it.resx b/app/Properties/Strings.it.resx
index ce2af6e0..0963bd5f 100644
--- a/app/Properties/Strings.it.resx
+++ b/app/Properties/Strings.it.resx
@@ -330,6 +330,9 @@
Disable Controller
+
+ Disable on lid close
+
Disabilita Overdrive Schermo
diff --git a/app/Properties/Strings.ko.resx b/app/Properties/Strings.ko.resx
index 74a233ae..c5cde4a0 100644
--- a/app/Properties/Strings.ko.resx
+++ b/app/Properties/Strings.ko.resx
@@ -330,6 +330,9 @@
Disable Controller
+
+ Disable on lid close
+
화면 OD 끄기
diff --git a/app/Properties/Strings.lt.resx b/app/Properties/Strings.lt.resx
index 1a950b0c..32ea18a7 100644
--- a/app/Properties/Strings.lt.resx
+++ b/app/Properties/Strings.lt.resx
@@ -330,6 +330,9 @@
Disable Controller
+
+ Disable on lid close
+
Išjungti ekrano pikselių spartinimą
diff --git a/app/Properties/Strings.pl.resx b/app/Properties/Strings.pl.resx
index cb9bf17e..aff4ec0a 100644
--- a/app/Properties/Strings.pl.resx
+++ b/app/Properties/Strings.pl.resx
@@ -330,6 +330,9 @@
Disable Controller
+
+ Disable on lid close
+
Wyłącz funkcję Overdrive monitora
diff --git a/app/Properties/Strings.pt-BR.resx b/app/Properties/Strings.pt-BR.resx
index 6480c6bb..66f25079 100644
--- a/app/Properties/Strings.pt-BR.resx
+++ b/app/Properties/Strings.pt-BR.resx
@@ -330,6 +330,9 @@
Disable Controller
+
+ Disable on lid close
+
Desativar o overdrive da tela
diff --git a/app/Properties/Strings.pt-PT.resx b/app/Properties/Strings.pt-PT.resx
index 4bfb8409..073a8d40 100644
--- a/app/Properties/Strings.pt-PT.resx
+++ b/app/Properties/Strings.pt-PT.resx
@@ -330,6 +330,9 @@
Disable Controller
+
+ Disable on lid close
+
Desativar o overdrive do ecrã
diff --git a/app/Properties/Strings.ro.resx b/app/Properties/Strings.ro.resx
index 131d72f3..a19d4348 100644
--- a/app/Properties/Strings.ro.resx
+++ b/app/Properties/Strings.ro.resx
@@ -330,6 +330,9 @@
Disable Controller
+
+ Disable on lid close
+
Dezactivează screen overdrive
diff --git a/app/Properties/Strings.tr.resx b/app/Properties/Strings.tr.resx
index ba2e7cca..bd5fe6a9 100644
--- a/app/Properties/Strings.tr.resx
+++ b/app/Properties/Strings.tr.resx
@@ -330,6 +330,9 @@
Disable Controller
+
+ Disable on lid close
+
Ekran overdrive özelliğini devre dışı bırak
diff --git a/app/Properties/Strings.uk.resx b/app/Properties/Strings.uk.resx
index 4762a675..a7e3542c 100644
--- a/app/Properties/Strings.uk.resx
+++ b/app/Properties/Strings.uk.resx
@@ -330,6 +330,9 @@
Вимкнути контролер
+
+ Вимкнути при закритті
+
Вимкнути овердрайв дисплею
@@ -699,7 +702,7 @@
Вимкнений
- Вимикати на батареї
+ Вимкнути на батареї
Підключає екран лептопу до dGPU, щоб підвищити FPS
diff --git a/app/Properties/Strings.vi.resx b/app/Properties/Strings.vi.resx
index 5e9386a0..122d2b3a 100644
--- a/app/Properties/Strings.vi.resx
+++ b/app/Properties/Strings.vi.resx
@@ -330,6 +330,9 @@
Disable Controller
+
+ Disable on lid close
+
Tắt Overdrive
diff --git a/app/Properties/Strings.zh-CN.resx b/app/Properties/Strings.zh-CN.resx
index f1b8506c..3435eb35 100644
--- a/app/Properties/Strings.zh-CN.resx
+++ b/app/Properties/Strings.zh-CN.resx
@@ -330,6 +330,9 @@
Disable Controller
+
+ Disable on lid close
+
禁用屏幕快速显示(OD)
diff --git a/app/Properties/Strings.zh-TW.resx b/app/Properties/Strings.zh-TW.resx
index 6584c9d1..431c070c 100644
--- a/app/Properties/Strings.zh-TW.resx
+++ b/app/Properties/Strings.zh-TW.resx
@@ -330,6 +330,9 @@
停用控制器
+
+ Disable on lid close
+
禁用螢幕加速OD
From aa07a39c35eafb6ebf4e758b7c192bf39c373fc6 Mon Sep 17 00:00:00 2001
From: Serge <5920850+seerge@users.noreply.github.com>
Date: Mon, 26 Feb 2024 14:57:27 +0100
Subject: [PATCH 30/35] UI tweaks
---
app/Settings.Designer.cs | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/app/Settings.Designer.cs b/app/Settings.Designer.cs
index 09e357f6..96e73930 100644
--- a/app/Settings.Designer.cs
+++ b/app/Settings.Designer.cs
@@ -184,7 +184,7 @@ namespace GHelper
panelMatrix.Margin = new Padding(0);
panelMatrix.Name = "panelMatrix";
panelMatrix.Padding = new Padding(20, 20, 20, 10);
- panelMatrix.Size = new Size(827, 176);
+ panelMatrix.Size = new Size(827, 212);
panelMatrix.TabIndex = 3;
panelMatrix.TabStop = true;
//
@@ -192,7 +192,7 @@ namespace GHelper
//
checkMatrixLid.AutoSize = true;
checkMatrixLid.ForeColor = SystemColors.GrayText;
- checkMatrixLid.Location = new Point(275, 126);
+ checkMatrixLid.Location = new Point(27, 162);
checkMatrixLid.Margin = new Padding(8, 4, 8, 4);
checkMatrixLid.Name = "checkMatrixLid";
checkMatrixLid.Size = new Size(253, 36);
@@ -340,7 +340,7 @@ namespace GHelper
panelBattery.Controls.Add(sliderBattery);
panelBattery.Controls.Add(panelBatteryTitle);
panelBattery.Dock = DockStyle.Top;
- panelBattery.Location = new Point(11, 1608);
+ panelBattery.Location = new Point(11, 1644);
panelBattery.Margin = new Padding(0);
panelBattery.Name = "panelBattery";
panelBattery.Padding = new Padding(20, 20, 20, 10);
@@ -432,7 +432,7 @@ namespace GHelper
panelFooter.AutoSizeMode = AutoSizeMode.GrowAndShrink;
panelFooter.Controls.Add(tableButtons);
panelFooter.Dock = DockStyle.Top;
- panelFooter.Location = new Point(11, 1783);
+ panelFooter.Location = new Point(11, 1819);
panelFooter.Margin = new Padding(0);
panelFooter.Name = "panelFooter";
panelFooter.Padding = new Padding(20);
@@ -1179,7 +1179,7 @@ namespace GHelper
panelKeyboard.Controls.Add(tableLayoutKeyboard);
panelKeyboard.Controls.Add(panelKeyboardTitle);
panelKeyboard.Dock = DockStyle.Top;
- panelKeyboard.Location = new Point(11, 1266);
+ panelKeyboard.Location = new Point(11, 1302);
panelKeyboard.Margin = new Padding(0);
panelKeyboard.Name = "panelKeyboard";
panelKeyboard.Padding = new Padding(20);
@@ -1355,7 +1355,7 @@ namespace GHelper
panelVersion.Controls.Add(labelCharge);
panelVersion.Controls.Add(checkStartup);
panelVersion.Dock = DockStyle.Top;
- panelVersion.Location = new Point(11, 1727);
+ panelVersion.Location = new Point(11, 1763);
panelVersion.Margin = new Padding(4);
panelVersion.Name = "panelVersion";
panelVersion.Size = new Size(827, 56);
@@ -1380,7 +1380,7 @@ namespace GHelper
panelPeripherals.Controls.Add(tableLayoutPeripherals);
panelPeripherals.Controls.Add(panelPeripheralsTile);
panelPeripherals.Dock = DockStyle.Top;
- panelPeripherals.Location = new Point(11, 1410);
+ panelPeripherals.Location = new Point(11, 1446);
panelPeripherals.Margin = new Padding(0);
panelPeripherals.Name = "panelPeripherals";
panelPeripherals.Padding = new Padding(20, 20, 20, 10);
@@ -1522,7 +1522,7 @@ namespace GHelper
panelAlly.Controls.Add(tableLayoutAlly);
panelAlly.Controls.Add(panelAllyTitle);
panelAlly.Dock = DockStyle.Top;
- panelAlly.Location = new Point(11, 1126);
+ panelAlly.Location = new Point(11, 1162);
panelAlly.Margin = new Padding(0);
panelAlly.Name = "panelAlly";
panelAlly.Padding = new Padding(20, 20, 20, 0);
From 3b54e89d8ea3b59f57ac5fde1fc7070bd3918ecc Mon Sep 17 00:00:00 2001
From: Serge <5920850+seerge@users.noreply.github.com>
Date: Mon, 26 Feb 2024 15:08:52 +0100
Subject: [PATCH 31/35] UI Tweaks
---
app/Settings.Designer.cs | 67 ++++++++++++++++++++++++++--------------
1 file changed, 43 insertions(+), 24 deletions(-)
diff --git a/app/Settings.Designer.cs b/app/Settings.Designer.cs
index 96e73930..e08037a2 100644
--- a/app/Settings.Designer.cs
+++ b/app/Settings.Designer.cs
@@ -31,7 +31,9 @@ namespace GHelper
private void InitializeComponent()
{
panelMatrix = new Panel();
+ panelMatrixAuto = new Panel();
checkMatrixLid = new CheckBox();
+ checkMatrix = new CheckBox();
tableLayoutMatrix = new TableLayoutPanel();
comboMatrix = new RComboBox();
comboMatrixRunning = new RComboBox();
@@ -40,7 +42,6 @@ namespace GHelper
panelMatrixTitle = new Panel();
pictureMatrix = new PictureBox();
labelMatrix = new Label();
- checkMatrix = new CheckBox();
panelBattery = new Panel();
buttonBatteryFull = new RButton();
sliderBattery = new Slider();
@@ -128,6 +129,7 @@ namespace GHelper
pictureGamma = new PictureBox();
labelGammaTitle = new Label();
panelMatrix.SuspendLayout();
+ panelMatrixAuto.SuspendLayout();
tableLayoutMatrix.SuspendLayout();
panelMatrixTitle.SuspendLayout();
((System.ComponentModel.ISupportInitialize)pictureMatrix).BeginInit();
@@ -175,32 +177,58 @@ namespace GHelper
panelMatrix.AccessibleRole = AccessibleRole.Grouping;
panelMatrix.AutoSize = true;
panelMatrix.AutoSizeMode = AutoSizeMode.GrowAndShrink;
- panelMatrix.Controls.Add(checkMatrixLid);
+ panelMatrix.Controls.Add(panelMatrixAuto);
panelMatrix.Controls.Add(tableLayoutMatrix);
panelMatrix.Controls.Add(panelMatrixTitle);
- panelMatrix.Controls.Add(checkMatrix);
panelMatrix.Dock = DockStyle.Top;
panelMatrix.Location = new Point(11, 950);
panelMatrix.Margin = new Padding(0);
panelMatrix.Name = "panelMatrix";
panelMatrix.Padding = new Padding(20, 20, 20, 10);
- panelMatrix.Size = new Size(827, 212);
+ panelMatrix.Size = new Size(827, 194);
panelMatrix.TabIndex = 3;
panelMatrix.TabStop = true;
//
+ // panelMatrixAuto
+ //
+ panelMatrixAuto.Controls.Add(checkMatrixLid);
+ panelMatrixAuto.Controls.Add(checkMatrix);
+ panelMatrixAuto.Dock = DockStyle.Top;
+ panelMatrixAuto.Location = new Point(20, 144);
+ panelMatrixAuto.Margin = new Padding(4);
+ panelMatrixAuto.Name = "panelMatrixAuto";
+ panelMatrixAuto.Padding = new Padding(5, 0, 0, 0);
+ panelMatrixAuto.Size = new Size(787, 40);
+ panelMatrixAuto.TabIndex = 47;
+ //
// checkMatrixLid
//
checkMatrixLid.AutoSize = true;
+ checkMatrixLid.Dock = DockStyle.Left;
checkMatrixLid.ForeColor = SystemColors.GrayText;
- checkMatrixLid.Location = new Point(27, 162);
+ checkMatrixLid.Location = new Point(256, 0);
checkMatrixLid.Margin = new Padding(8, 4, 8, 4);
checkMatrixLid.Name = "checkMatrixLid";
- checkMatrixLid.Size = new Size(253, 36);
+ checkMatrixLid.Size = new Size(253, 40);
checkMatrixLid.TabIndex = 46;
checkMatrixLid.Text = "Disable on lid close";
checkMatrixLid.UseVisualStyleBackColor = true;
checkMatrixLid.Visible = false;
//
+ // checkMatrix
+ //
+ checkMatrix.AutoSize = true;
+ checkMatrix.Dock = DockStyle.Left;
+ checkMatrix.ForeColor = SystemColors.GrayText;
+ checkMatrix.Location = new Point(5, 0);
+ checkMatrix.Margin = new Padding(8, 4, 8, 4);
+ checkMatrix.Name = "checkMatrix";
+ checkMatrix.Padding = new Padding(0, 0, 10, 0);
+ checkMatrix.Size = new Size(251, 40);
+ checkMatrix.TabIndex = 19;
+ checkMatrix.Text = Properties.Strings.TurnOffOnBattery;
+ checkMatrix.UseVisualStyleBackColor = true;
+ //
// tableLayoutMatrix
//
tableLayoutMatrix.AutoSize = true;
@@ -320,18 +348,6 @@ namespace GHelper
labelMatrix.TabIndex = 40;
labelMatrix.Text = "Anime Matrix";
//
- // checkMatrix
- //
- checkMatrix.AutoSize = true;
- checkMatrix.ForeColor = SystemColors.GrayText;
- checkMatrix.Location = new Point(27, 126);
- checkMatrix.Margin = new Padding(8, 4, 8, 4);
- checkMatrix.Name = "checkMatrix";
- checkMatrix.Size = new Size(241, 36);
- checkMatrix.TabIndex = 19;
- checkMatrix.Text = Properties.Strings.TurnOffOnBattery;
- checkMatrix.UseVisualStyleBackColor = true;
- //
// panelBattery
//
panelBattery.AutoSize = true;
@@ -340,7 +356,7 @@ namespace GHelper
panelBattery.Controls.Add(sliderBattery);
panelBattery.Controls.Add(panelBatteryTitle);
panelBattery.Dock = DockStyle.Top;
- panelBattery.Location = new Point(11, 1644);
+ panelBattery.Location = new Point(11, 1626);
panelBattery.Margin = new Padding(0);
panelBattery.Name = "panelBattery";
panelBattery.Padding = new Padding(20, 20, 20, 10);
@@ -432,7 +448,7 @@ namespace GHelper
panelFooter.AutoSizeMode = AutoSizeMode.GrowAndShrink;
panelFooter.Controls.Add(tableButtons);
panelFooter.Dock = DockStyle.Top;
- panelFooter.Location = new Point(11, 1819);
+ panelFooter.Location = new Point(11, 1801);
panelFooter.Margin = new Padding(0);
panelFooter.Name = "panelFooter";
panelFooter.Padding = new Padding(20);
@@ -1179,7 +1195,7 @@ namespace GHelper
panelKeyboard.Controls.Add(tableLayoutKeyboard);
panelKeyboard.Controls.Add(panelKeyboardTitle);
panelKeyboard.Dock = DockStyle.Top;
- panelKeyboard.Location = new Point(11, 1302);
+ panelKeyboard.Location = new Point(11, 1284);
panelKeyboard.Margin = new Padding(0);
panelKeyboard.Name = "panelKeyboard";
panelKeyboard.Padding = new Padding(20);
@@ -1355,7 +1371,7 @@ namespace GHelper
panelVersion.Controls.Add(labelCharge);
panelVersion.Controls.Add(checkStartup);
panelVersion.Dock = DockStyle.Top;
- panelVersion.Location = new Point(11, 1763);
+ panelVersion.Location = new Point(11, 1745);
panelVersion.Margin = new Padding(4);
panelVersion.Name = "panelVersion";
panelVersion.Size = new Size(827, 56);
@@ -1380,7 +1396,7 @@ namespace GHelper
panelPeripherals.Controls.Add(tableLayoutPeripherals);
panelPeripherals.Controls.Add(panelPeripheralsTile);
panelPeripherals.Dock = DockStyle.Top;
- panelPeripherals.Location = new Point(11, 1446);
+ panelPeripherals.Location = new Point(11, 1428);
panelPeripherals.Margin = new Padding(0);
panelPeripherals.Name = "panelPeripherals";
panelPeripherals.Padding = new Padding(20, 20, 20, 10);
@@ -1522,7 +1538,7 @@ namespace GHelper
panelAlly.Controls.Add(tableLayoutAlly);
panelAlly.Controls.Add(panelAllyTitle);
panelAlly.Dock = DockStyle.Top;
- panelAlly.Location = new Point(11, 1162);
+ panelAlly.Location = new Point(11, 1144);
panelAlly.Margin = new Padding(0);
panelAlly.Name = "panelAlly";
panelAlly.Padding = new Padding(20, 20, 20, 0);
@@ -1754,6 +1770,8 @@ namespace GHelper
Text = "G-Helper";
panelMatrix.ResumeLayout(false);
panelMatrix.PerformLayout();
+ panelMatrixAuto.ResumeLayout(false);
+ panelMatrixAuto.PerformLayout();
tableLayoutMatrix.ResumeLayout(false);
panelMatrixTitle.ResumeLayout(false);
panelMatrixTitle.PerformLayout();
@@ -1912,5 +1930,6 @@ namespace GHelper
private PictureBox pictureGamma;
private Label labelGammaTitle;
private CheckBox checkMatrixLid;
+ private Panel panelMatrixAuto;
}
}
From e7bb9c81d24c0e5511d5da08c132f8be322dd90c Mon Sep 17 00:00:00 2001
From: IceStormNG
Date: Mon, 26 Feb 2024 15:09:08 +0100
Subject: [PATCH 32/35] Support for Strix Impact (P303) (#2121)
* Support for Strix Carry (P508)
* Fixes polling rate, angle snapping and debounce for Gladius II Origin.
* The Gen2 version of the TuF M3 uses 0-100 for brightness.
* Adds support for ROG Strix Impact III (P518)
* Import/Export feature for mice.
* Suppor for Strix Impact (P303)
---
app/Peripherals/Mouse/Models/StrixImpact.cs | 247 ++++++++++++++++++++
app/Peripherals/PeripheralsProvider.cs | 1 +
2 files changed, 248 insertions(+)
create mode 100644 app/Peripherals/Mouse/Models/StrixImpact.cs
diff --git a/app/Peripherals/Mouse/Models/StrixImpact.cs b/app/Peripherals/Mouse/Models/StrixImpact.cs
new file mode 100644
index 00000000..a3f66219
--- /dev/null
+++ b/app/Peripherals/Mouse/Models/StrixImpact.cs
@@ -0,0 +1,247 @@
+namespace GHelper.Peripherals.Mouse.Models
+{
+ //P303
+ public class StrixImpact : AsusMouse
+ {
+ public StrixImpact() : base(0x0B05, 0x1847, "mi_02", false)
+ {
+ }
+
+ public StrixImpact(ushort productId, string path) : base(0x0B05, productId, path, false)
+ {
+ }
+
+ public override int DPIProfileCount()
+ {
+ return 2;
+ }
+
+ public override string GetDisplayName()
+ {
+ return "Strix Impact";
+ }
+
+
+ public override PollingRate[] SupportedPollingrates()
+ {
+ return new PollingRate[] {
+ PollingRate.PR125Hz,
+ PollingRate.PR250Hz,
+ PollingRate.PR500Hz,
+ PollingRate.PR1000Hz
+ };
+ }
+
+ public override int ProfileCount()
+ {
+ return 1;
+ }
+ public override int MaxDPI()
+ {
+ return 5_000;
+ }
+
+ public override bool HasRGB()
+ {
+ return true;
+ }
+
+ public override bool HasAutoPowerOff()
+ {
+ return false;
+ }
+
+ public override bool HasDebounceSetting()
+ {
+ return true;
+ }
+
+ public override bool HasLowBatteryWarning()
+ {
+ return false;
+ }
+
+ public override bool HasBattery()
+ {
+ return false;
+ }
+
+ public override bool HasDPIColors()
+ {
+ return false;
+ }
+
+ public override bool IsLightingModeSupported(LightingMode lightingMode)
+ {
+ return lightingMode == LightingMode.Static
+ || lightingMode == LightingMode.Breathing
+ || lightingMode == LightingMode.ColorCycle
+ || lightingMode == LightingMode.React;
+ }
+
+ public override LightingZone[] SupportedLightingZones()
+ {
+ return new LightingZone[] { LightingZone.Logo };
+ }
+
+ public override int DPIIncrements()
+ {
+ return 100;
+ }
+
+
+ public override int MinDPI()
+ {
+ return 200;
+ }
+
+ public override bool CanChangeDPIProfile()
+ {
+ return true;
+ }
+
+ public override int MaxBrightness()
+ {
+ return 4;
+ }
+
+ protected override byte[] GetUpdateLightingModePacket(LightingSetting lightingSetting, LightingZone zone)
+ {
+ /*
+ * 51 28 00 00 [00] [04] [35 04 FF] 00 00 00 00 00 00 00
+ */
+
+ return new byte[] { reportId, 0x51, 0x28, 0x00, 0x00,
+ IndexForLightingMode(lightingSetting.LightingMode),
+ (byte)lightingSetting.Brightness,
+ lightingSetting.RGBColor.R, lightingSetting.RGBColor.G, lightingSetting.RGBColor.B
+ };
+ }
+
+ protected override byte[] GetReadLightingModePacket(LightingZone zone)
+ {
+ return new byte[] { 0x00, 0x12, 0x03, 0x00 };
+ }
+
+ protected LightingSetting? ParseLightingSetting(byte[] packet, LightingZone zone)
+ {
+ if (packet[1] != 0x12 || packet[2] != 0x03)
+ {
+ return null;
+ }
+
+ int offset = 5 + (((int)zone) * 5);
+
+ LightingSetting setting = new LightingSetting();
+
+ setting.LightingMode = LightingModeForIndex(packet[offset + 0]);
+ setting.Brightness = packet[offset + 1];
+
+ setting.RGBColor = Color.FromArgb(packet[offset + 2], packet[offset + 3], packet[offset + 4]);
+
+
+ return setting;
+ }
+
+ public override void ReadLightingSetting()
+ {
+ if (!HasRGB())
+ {
+ return;
+ }
+ //Mouse sends all lighting zones in one response Direction, Random col, Speed
+ //00 12 03 00 00 [00 04 ff 00 80] [00 04 00 ff ff] [00 04 ff ff ff] 00 [00] [00] [00] 00 00
+ //00 12 03 00 00 [03 04 00 00 00] [03 04 00 00 00] [03 04 00 00 00] 00 [00] [00] [07] 00 00
+ byte[]? response = WriteForResponse(GetReadLightingModePacket(LightingZone.All));
+ if (response is null) return;
+
+ LightingZone[] lz = SupportedLightingZones();
+ for (int i = 0; i < lz.Length; ++i)
+ {
+ LightingSetting? ls = ParseLightingSetting(response, lz[i]);
+ if (ls is null)
+ {
+ Logger.WriteLine(GetDisplayName() + ": Failed to read RGB Setting for Zone " + lz[i].ToString());
+ continue;
+ }
+ ls.AnimationDirection = SupportsAnimationDirection(ls.LightingMode)
+ ? (AnimationDirection)response[21]
+ : AnimationDirection.Clockwise;
+
+ ls.RandomColor = SupportsRandomColor(ls.LightingMode) && response[22] == 0x01;
+
+ ls.AnimationSpeed = SupportsAnimationSpeed(ls.LightingMode)
+ ? (AnimationSpeed)response[23]
+ : AnimationSpeed.Medium;
+
+ if (ls.AnimationSpeed != AnimationSpeed.Fast
+ && ls.AnimationSpeed != AnimationSpeed.Medium
+ && ls.AnimationSpeed != AnimationSpeed.Slow)
+ {
+ ls.AnimationSpeed = AnimationSpeed.Medium;
+ }
+
+ Logger.WriteLine(GetDisplayName() + ": Read RGB Setting for Zone " + lz[i].ToString() + ": " + ls.ToString());
+ LightingSetting[i] = ls;
+ }
+ }
+
+
+
+ protected override PollingRate ParsePollingRate(byte[] packet)
+ {
+ if (packet[1] == 0x12 && packet[2] == 0x04 && packet[3] == 0x00)
+ {
+ return (PollingRate)packet[9];
+ }
+
+ return PollingRate.PR125Hz;
+ }
+
+ protected override byte[] GetUpdatePollingRatePacket(PollingRate pollingRate)
+ {
+ return new byte[] { reportId, 0x51, 0x31, 0x02, 0x00, (byte)pollingRate };
+ }
+
+ protected override bool ParseAngleSnapping(byte[] packet)
+ {
+ if (packet[1] == 0x12 && packet[2] == 0x04 && packet[3] == 0x00)
+ {
+ return packet[13] == 0x01;
+ }
+
+ return false;
+ }
+
+ protected override byte[] GetUpdateAngleSnappingPacket(bool angleSnapping)
+ {
+ return new byte[] { reportId, 0x51, 0x31, 0x04, 0x00, (byte)(angleSnapping ? 0x01 : 0x00) };
+ }
+
+ protected override DebounceTime ParseDebounce(byte[] packet)
+ {
+ if (packet[1] != 0x12 || packet[2] != 0x04 || packet[3] != 0x00)
+ {
+ return DebounceTime.MS12;
+ }
+
+ if (packet[11] < 0x02)
+ {
+ return DebounceTime.MS12;
+ }
+
+ if (packet[11] > 0x07)
+ {
+ return DebounceTime.MS32;
+ }
+
+ return (DebounceTime)packet[11];
+ }
+
+ protected override byte[] GetUpdateDebouncePacket(DebounceTime debounce)
+ {
+ return new byte[] { reportId, 0x51, 0x31, 0x03, 0x00, ((byte)debounce) };
+ }
+ }
+
+}
diff --git a/app/Peripherals/PeripheralsProvider.cs b/app/Peripherals/PeripheralsProvider.cs
index bfef7896..9042c5b1 100644
--- a/app/Peripherals/PeripheralsProvider.cs
+++ b/app/Peripherals/PeripheralsProvider.cs
@@ -215,6 +215,7 @@ namespace GHelper.Peripherals
DetectMouse(new SpathaX());
DetectMouse(new StrixCarry());
DetectMouse(new StrixImpactIII());
+ DetectMouse(new StrixImpact());
}
public static void DetectMouse(AsusMouse am)
From df71595b454ea8b2c4583b70f19f77c4ca0d6380 Mon Sep 17 00:00:00 2001
From: Serge <5920850+seerge@users.noreply.github.com>
Date: Mon, 26 Feb 2024 18:52:36 +0100
Subject: [PATCH 33/35] New translations strings.resx (Spanish) (#2122)
---
app/Properties/Strings.es.resx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/Properties/Strings.es.resx b/app/Properties/Strings.es.resx
index b486af0a..0d6b0823 100644
--- a/app/Properties/Strings.es.resx
+++ b/app/Properties/Strings.es.resx
@@ -331,7 +331,7 @@
Deshabilitar mando
- Disable on lid close
+ Desactivar al cerrar la tapa
Desactivar Overdrive
From 43781189512a56738c065427d4f8c0ce49d40b6d Mon Sep 17 00:00:00 2001
From: Serge <5920850+seerge@users.noreply.github.com>
Date: Tue, 27 Feb 2024 15:28:45 +0100
Subject: [PATCH 34/35] Update README.md
---
docs/README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/README.md b/docs/README.md
index 74117d04..f6cb04f7 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -1,7 +1,7 @@
# G-Helper - Lightweight control tool for Asus laptops
[](https://u24.gov.ua/)
-[](https://GitHub.com/seerge/g-helper/releases/)
-[](https://GitHub.com/seerge/g-helper/releases/) [](https://GitHub.com/seerge/g-helper/stargazers/)
+[](https://GitHub.com/seerge/g-helper/releases/)
+[](https://GitHub.com/seerge/g-helper/releases/) [](https://GitHub.com/seerge/g-helper/stargazers/)
Small and lightweight Armoury Crate alternative for Asus laptops offering almost same functionality without extra bloat and unnecessary services.
Works with all popular models, such as ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, Flow Z13, TUF Series, Strix / Scar Series, ProArt, VivoBook, Ally and many more!
From 88ab4f396ef776cf30c59d8a8be70a76dc3182af Mon Sep 17 00:00:00 2001
From: Serge <5920850+seerge@users.noreply.github.com>
Date: Tue, 27 Feb 2024 15:41:41 +0100
Subject: [PATCH 35/35] Update SECURITY.md
---
.github/SECURITY.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.github/SECURITY.md b/.github/SECURITY.md
index 7504e677..d24f4109 100644
--- a/.github/SECURITY.md
+++ b/.github/SECURITY.md
@@ -4,8 +4,8 @@
| Version | Supported |
| ------- | ------------------ |
-| 0.89+ | :white_check_mark: |
-| < 0.89 | :x: |
+| 0.151+ | :white_check_mark: |
+| < 0.151 | :x: |
## Reporting a Vulnerability