mirror of
https://github.com/jkocon/g-helper.git
synced 2026-02-23 13:00:52 +01:00
Compare commits
68 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
05de5e5e18 | ||
|
|
9e805bfa97 | ||
|
|
19ebb52a5e | ||
|
|
8462042a57 | ||
|
|
442bd23e4a | ||
|
|
dd51add9f1 | ||
|
|
c2a025c808 | ||
|
|
86767983a4 | ||
|
|
e625a5d1f2 | ||
|
|
69aefd2ee7 | ||
|
|
c68534cbcb | ||
|
|
93b1aa6426 | ||
|
|
68ad2b6625 | ||
|
|
e484d7a1d6 | ||
|
|
ac447e33e2 | ||
|
|
60cb46ea4f | ||
|
|
6283d84d5d | ||
|
|
13b90c7e06 | ||
|
|
1c1d9e68e7 | ||
|
|
6fbcde2303 | ||
|
|
20f2d51d20 | ||
|
|
359459477a | ||
|
|
23f911767e | ||
|
|
cab5084f28 | ||
|
|
e4d528b0eb | ||
|
|
10643e9899 | ||
|
|
35e19fa257 | ||
|
|
c0f46c600e | ||
|
|
4cf90ac10d | ||
|
|
cdb89216e0 | ||
|
|
c207f03657 | ||
|
|
8f5c23fbe5 | ||
|
|
2bd6791edf | ||
|
|
d7a8d51375 | ||
|
|
165f5e4829 | ||
|
|
be79246c21 | ||
|
|
3afe0d8e1a | ||
|
|
4f3ae43c3b | ||
|
|
2bc4151c7a | ||
|
|
4624fabd33 | ||
|
|
00afbb7810 | ||
|
|
f94d76aab9 | ||
|
|
57b896d05a | ||
|
|
27b78ba1cf | ||
|
|
eea453b3c4 | ||
|
|
e5dd7f54af | ||
|
|
149ed7f81b | ||
|
|
88d4e5d3a8 | ||
|
|
77f8d34d13 | ||
|
|
02aef7f2f3 | ||
|
|
edc434a890 | ||
|
|
b337a226da | ||
|
|
03e6e69fb4 | ||
|
|
f852fbadb6 | ||
|
|
b95d676285 | ||
|
|
fafa27b2a0 | ||
|
|
e7ceb2feaf | ||
|
|
62f280b0b9 | ||
|
|
d179fe6b86 | ||
|
|
291909749a | ||
|
|
883ec1828b | ||
|
|
55a75f79b0 | ||
|
|
5c6deb902c | ||
|
|
fac634b460 | ||
|
|
41e74084ac | ||
|
|
bc8084f3e0 | ||
|
|
e8d0030444 | ||
|
|
4cf4e2eb66 |
5
.github/ISSUE_TEMPLATE/bug_report.md
vendored
5
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@@ -4,11 +4,8 @@ about: Create a report to help us improve
|
||||
|
||||
---
|
||||
|
||||
|
||||
## NOTE
|
||||
Bug reports without clear information or scenario to reproduce and logs from ``%AppData%\GHelper`` will be closed without answer.
|
||||
Please respect the time of the developer. Thanks.
|
||||
|
||||
Bug reports without clear information or scenario to reproduce and logs from ``%AppData%\GHelper`` will be closed without answer. Please respect the time of the developer. Thanks.
|
||||
|
||||
**Describe the bug**
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
@@ -355,7 +355,7 @@ public static class AppConfig
|
||||
|
||||
public static bool IsStrixLimitedRGB()
|
||||
{
|
||||
return ContainsModel("G614JV") || ContainsModel("G614JZ") || ContainsModel("G512LI") || ContainsModel("G513R") || ContainsModel("G713PV") || ContainsModel("G513IE") || ContainsModel("G513QM") || ContainsModel("G713RC");
|
||||
return ContainsModel("G614JV") || ContainsModel("G614JZ") || ContainsModel("G512LI") || ContainsModel("G513R") || ContainsModel("G713PV") || ContainsModel("G513IE") || ContainsModel("G713RC");
|
||||
}
|
||||
|
||||
public static bool IsStrixNumpad()
|
||||
@@ -378,6 +378,15 @@ public static class AppConfig
|
||||
return ContainsModel("X13");
|
||||
}
|
||||
|
||||
public static bool DynamicBoost5()
|
||||
{
|
||||
return ContainsModel("GZ301ZE");
|
||||
}
|
||||
|
||||
public static bool DynamicBoost15()
|
||||
{
|
||||
return ContainsModel("FX507ZC4");
|
||||
}
|
||||
|
||||
public static bool IsAdvantageEdition()
|
||||
{
|
||||
@@ -428,7 +437,7 @@ public static class AppConfig
|
||||
|
||||
public static bool IsGPUFixNeeded()
|
||||
{
|
||||
return ContainsModel("GA402X") || ContainsModel("GV302") || ContainsModel("GV301") || ContainsModel("GZ301") || ContainsModel("FX506") || ContainsModel("GU603") || ContainsModel("GU604") || ContainsModel("G614J");
|
||||
return ContainsModel("GA402X") || ContainsModel("GV302") || ContainsModel("GV301") || ContainsModel("GZ301") || ContainsModel("FX506") || ContainsModel("FA506") || ContainsModel("GU603") || ContainsModel("GU604") || ContainsModel("G614J") || ContainsModel("GA503") || ContainsModel("FX507");
|
||||
}
|
||||
|
||||
public static bool IsGPUFix()
|
||||
|
||||
@@ -37,6 +37,7 @@ public class AsusACPI
|
||||
|
||||
public const uint UniversalControl = 0x00100021;
|
||||
|
||||
public const int Airplane = 0x88;
|
||||
public const int KB_Light_Up = 0xc4;
|
||||
public const int KB_Light_Down = 0xc5;
|
||||
public const int Brightness_Down = 0x10;
|
||||
@@ -135,7 +136,7 @@ public class AsusACPI
|
||||
public const int DefaultCPU = 80;
|
||||
|
||||
public const int MinGPUBoost = 5;
|
||||
public const int MaxGPUBoost = 25;
|
||||
public static int MaxGPUBoost = 25;
|
||||
|
||||
public const int MinGPUTemp = 75;
|
||||
public const int MaxGPUTemp = 87;
|
||||
@@ -241,7 +242,11 @@ public class AsusACPI
|
||||
Logger.WriteLine($"Can't connect to ACPI: {ex.Message}");
|
||||
}
|
||||
|
||||
if (AppConfig.IsAdvantageEdition()) MaxTotal = 250;
|
||||
if (AppConfig.IsAdvantageEdition())
|
||||
{
|
||||
MaxTotal = 250;
|
||||
}
|
||||
|
||||
if (AppConfig.IsX13())
|
||||
{
|
||||
MaxTotal = 75;
|
||||
@@ -254,6 +259,15 @@ public class AsusACPI
|
||||
DefaultTotal = 30;
|
||||
}
|
||||
|
||||
if (AppConfig.DynamicBoost5())
|
||||
{
|
||||
MaxGPUBoost = 5;
|
||||
}
|
||||
|
||||
if (AppConfig.DynamicBoost15())
|
||||
{
|
||||
MaxGPUBoost = 15;
|
||||
}
|
||||
}
|
||||
|
||||
public void Control(uint dwIoControlCode, byte[] lpInBuffer, byte[] lpOutBuffer)
|
||||
|
||||
@@ -107,6 +107,7 @@ namespace GHelper.AutoUpdate
|
||||
|
||||
string exeLocation = Application.ExecutablePath;
|
||||
string exeDir = Path.GetDirectoryName(exeLocation);
|
||||
string exeName = Path.GetFileName(exeLocation);
|
||||
string zipLocation = exeDir + "\\" + zipName;
|
||||
|
||||
using (WebClient client = new WebClient())
|
||||
@@ -114,15 +115,27 @@ namespace GHelper.AutoUpdate
|
||||
client.DownloadFile(uri, zipLocation);
|
||||
|
||||
Logger.WriteLine(requestUri);
|
||||
Logger.WriteLine(zipLocation);
|
||||
Logger.WriteLine(exeLocation);
|
||||
Logger.WriteLine(exeDir);
|
||||
Logger.WriteLine(zipName);
|
||||
Logger.WriteLine(exeName);
|
||||
|
||||
var cmd = new Process();
|
||||
cmd.StartInfo.UseShellExecute = false;
|
||||
cmd.StartInfo.CreateNoWindow = true;
|
||||
cmd.StartInfo.FileName = "powershell";
|
||||
cmd.StartInfo.Arguments = $"Start-Sleep -Seconds 1; Expand-Archive {zipLocation} -DestinationPath {exeDir} -Force; Remove-Item {zipLocation} -Force; {exeLocation}";
|
||||
cmd.Start();
|
||||
string command = $"Start-Sleep -Seconds 1; $ErrorActionPreference = \"Stop\"; Expand-Archive \"{zipName}\" -DestinationPath . -Force; Remove-Item \"{zipName}\" -Force; \".\\{exeName}\"; ";
|
||||
Logger.WriteLine(command);
|
||||
|
||||
try
|
||||
{
|
||||
var cmd = new Process();
|
||||
cmd.StartInfo.WorkingDirectory = exeDir;
|
||||
cmd.StartInfo.UseShellExecute = false;
|
||||
cmd.StartInfo.CreateNoWindow = true;
|
||||
cmd.StartInfo.FileName = "powershell";
|
||||
cmd.StartInfo.Arguments = command;
|
||||
cmd.Start();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Logger.WriteLine(ex.Message);
|
||||
}
|
||||
|
||||
Application.Exit();
|
||||
}
|
||||
|
||||
@@ -599,7 +599,7 @@ namespace GHelper
|
||||
int Max = FanSensorControl.GetFanMax(device);
|
||||
|
||||
if (fanRpm)
|
||||
return (200 * Math.Round((float)(Min * 100 + (Max - Min) * percentage) / 200)).ToString() + unit;
|
||||
return (200 * Math.Floor((float)(Min * 100 + (Max - Min) * percentage) / 200)).ToString() + unit;
|
||||
else
|
||||
return percentage + "%";
|
||||
}
|
||||
@@ -790,6 +790,7 @@ namespace GHelper
|
||||
{
|
||||
|
||||
bool modeA0 = (Program.acpi.DeviceGet(AsusACPI.PPT_TotalA0) >= 0 || RyzenControl.IsAMD());
|
||||
bool modeA3 = Program.acpi.DeviceGet(AsusACPI.PPT_APUA3) >= 0;
|
||||
bool modeB0 = Program.acpi.IsAllAmdPPT();
|
||||
bool modeC1 = Program.acpi.DeviceGet(AsusACPI.PPT_APUC1) >= 0;
|
||||
|
||||
@@ -809,12 +810,15 @@ namespace GHelper
|
||||
}
|
||||
else
|
||||
{
|
||||
panelA3.Visible = modeA3;
|
||||
|
||||
if (RyzenControl.IsAMD())
|
||||
{
|
||||
labelLeftA0.Text = "CPU Sustained (SPL)";
|
||||
labelLeftA3.Text = "CPU Slow (sPPT)";
|
||||
labelLeftC1.Text = "CPU Fast (fPPT)";
|
||||
panelC1.Visible = modeC1;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1146,7 +1150,7 @@ namespace GHelper
|
||||
tip = true;
|
||||
}
|
||||
|
||||
labelTip.Text = Math.Round(curPoint.XValue) + "C, " + ChartYLabel((int)curPoint.YValues[0], device, " " + Properties.Strings.RPM);
|
||||
labelTip.Text = Math.Floor(curPoint.XValue) + "C, " + ChartYLabel((int)curPoint.YValues[0], device, " " + Properties.Strings.RPM);
|
||||
labelTip.Top = e.Y + ((Control)sender).Top;
|
||||
labelTip.Left = e.X - 50;
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
||||
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
||||
<AssemblyVersion>0.138</AssemblyVersion>
|
||||
<AssemblyVersion>0.142</AssemblyVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
|
||||
@@ -584,6 +584,9 @@ namespace GHelper.Input
|
||||
case 55: // Arconym
|
||||
KeyProcess("m6");
|
||||
return;
|
||||
case 136: // FN + F12
|
||||
Program.acpi.DeviceSet(AsusACPI.UniversalControl, AsusACPI.Airplane, "Airplane");
|
||||
return;
|
||||
case 181: // FN + Numpad Enter
|
||||
KeyProcess("fne");
|
||||
return;
|
||||
@@ -634,13 +637,19 @@ namespace GHelper.Input
|
||||
{
|
||||
case 16: // FN+F7
|
||||
if (Control.ModifierKeys == Keys.Shift)
|
||||
SetScreenpad(-10);
|
||||
{
|
||||
if (AppConfig.IsDUO()) SetScreenpad(-10);
|
||||
else Program.settingsForm.BeginInvoke(Program.settingsForm.CycleMatrix, -1);
|
||||
}
|
||||
else
|
||||
Program.acpi.DeviceSet(AsusACPI.UniversalControl, AsusACPI.Brightness_Down, "Brightness");
|
||||
break;
|
||||
case 32: // FN+F8
|
||||
if (Control.ModifierKeys == Keys.Shift)
|
||||
SetScreenpad(10);
|
||||
{
|
||||
if (AppConfig.IsDUO()) SetScreenpad(10);
|
||||
else Program.settingsForm.BeginInvoke(Program.settingsForm.CycleMatrix, 1);
|
||||
}
|
||||
else
|
||||
Program.acpi.DeviceSet(AsusACPI.UniversalControl, AsusACPI.Brightness_Up, "Brightness");
|
||||
break;
|
||||
|
||||
@@ -7,6 +7,10 @@
|
||||
{
|
||||
}
|
||||
|
||||
public TUFM3(ushort productId, string path) : base(0x0B05, productId, path, false)
|
||||
{
|
||||
}
|
||||
|
||||
public override int DPIProfileCount()
|
||||
{
|
||||
return 4;
|
||||
@@ -109,4 +113,16 @@
|
||||
|| lightingMode == LightingMode.React;
|
||||
}
|
||||
}
|
||||
|
||||
public class TUFM3GenII : TUFM3
|
||||
{
|
||||
public TUFM3GenII() : base(0x1A9B, "mi_02")
|
||||
{
|
||||
}
|
||||
|
||||
public override string GetDisplayName()
|
||||
{
|
||||
return "TUF GAMING M3 (Gen II)";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -200,6 +200,7 @@ namespace GHelper.Peripherals
|
||||
DetectMouse(new HarpeAceAimLabEditionWired());
|
||||
DetectMouse(new HarpeAceAimLabEditionOmni());
|
||||
DetectMouse(new TUFM3());
|
||||
DetectMouse(new TUFM3GenII());
|
||||
DetectMouse(new TUFM5());
|
||||
DetectMouse(new KerisWirelssAimpoint());
|
||||
DetectMouse(new KerisWirelssAimpointWired());
|
||||
|
||||
@@ -124,10 +124,10 @@
|
||||
<value>Connexion impossible avec ASUS ACPI. L'application ne peut fonctionner sans. Veuillez installer Asus System Control Interface</value>
|
||||
</data>
|
||||
<data name="AlertAPUMemoryRestart" xml:space="preserve">
|
||||
<value>Restart your device to apply changes</value>
|
||||
<value>Redémarrez votre appareil pour appliquer les modifications</value>
|
||||
</data>
|
||||
<data name="AlertAPUMemoryRestartTitle" xml:space="preserve">
|
||||
<value>Restart now?</value>
|
||||
<value>Redémarrer maintenant ?</value>
|
||||
</data>
|
||||
<data name="AlertDGPU" xml:space="preserve">
|
||||
<value>Le GPU semble être surchargé, voulez vous le désactiver ?</value>
|
||||
@@ -169,7 +169,7 @@
|
||||
<value>Ajustement auto des modes de gestion alim. Windows</value>
|
||||
</data>
|
||||
<data name="APUMemory" xml:space="preserve">
|
||||
<value>Memory Assigned to GPU</value>
|
||||
<value>Mémoire attribuée au GPU</value>
|
||||
</data>
|
||||
<data name="AsusServicesRunning" xml:space="preserve">
|
||||
<value>Services Asus actifs</value>
|
||||
@@ -247,7 +247,7 @@
|
||||
<value>Allumé</value>
|
||||
</data>
|
||||
<data name="BacklightTimeout" xml:space="preserve">
|
||||
<value>Délai d'activation de la batterie (0 - ON)</value>
|
||||
<value>Délai branché / sur batterie (0 - ON)</value>
|
||||
</data>
|
||||
<data name="Balanced" xml:space="preserve">
|
||||
<value>Équilibré</value>
|
||||
@@ -322,7 +322,7 @@
|
||||
<value>Éco</value>
|
||||
</data>
|
||||
<data name="EnableOptimusText" xml:space="preserve">
|
||||
<value>Désactiver la dGPU en passant au mode Eco pendant que le mode d'affichage dans le panneau de configuration NVIDIA n'est pas réglé sur Optimus peut causer des problèmes avec les commandes de luminosité jusqu'au prochain redémarrage.
|
||||
<value>Désactiver le dGPU en passant au mode Eco pendant que le mode d'affichage dans le panneau de configuration NVIDIA n'est pas réglé sur Optimus peut causer des problèmes avec les commandes de luminosité jusqu'au prochain redémarrage.
|
||||
|
||||
Voulez-vous continuer ?</value>
|
||||
</data>
|
||||
@@ -354,7 +354,7 @@ Voulez-vous continuer ?</value>
|
||||
<value>Profil du ventilateur central</value>
|
||||
</data>
|
||||
<data name="FanProfiles" xml:space="preserve">
|
||||
<value>Profil</value>
|
||||
<value>Profil des ventilateurs</value>
|
||||
</data>
|
||||
<data name="FansAndPower" xml:space="preserve">
|
||||
<value>Ventilateurs + Puissance</value>
|
||||
@@ -399,7 +399,7 @@ Voulez-vous continuer ?</value>
|
||||
<value>Température cible</value>
|
||||
</data>
|
||||
<data name="HibernateAfter" xml:space="preserve">
|
||||
<value>Minutes jusqu'à la mise en veille prolongée sur la batterie (0 - OFF)</value>
|
||||
<value>Minutes avant mise en veille prolongée sur batterie (0 - OFF)</value>
|
||||
</data>
|
||||
<data name="High" xml:space="preserve">
|
||||
<value>Élevé</value>
|
||||
|
||||
@@ -124,10 +124,10 @@
|
||||
<value>ASUS ACPI'ye bağlanılamıyor. Uygulama o olmadan çalışamaz. Asus Sistem Kontrol Arayüzü'nü yüklemeyi deneyin.</value>
|
||||
</data>
|
||||
<data name="AlertAPUMemoryRestart" xml:space="preserve">
|
||||
<value>Restart your device to apply changes</value>
|
||||
<value>Değişiklikleri uygulamak için cihazınızı yeniden başlatın</value>
|
||||
</data>
|
||||
<data name="AlertAPUMemoryRestartTitle" xml:space="preserve">
|
||||
<value>Restart now?</value>
|
||||
<value>Şimdi yeniden başlatılsın mı?</value>
|
||||
</data>
|
||||
<data name="AlertDGPU" xml:space="preserve">
|
||||
<value>Görünüşe göre GPU yoğun bir şekilde kullanılıyor, devre dışı bırakılsın mı?</value>
|
||||
@@ -169,7 +169,7 @@
|
||||
<value>Windows Güç Modunu otomatik ayarla</value>
|
||||
</data>
|
||||
<data name="APUMemory" xml:space="preserve">
|
||||
<value>Memory Assigned to GPU</value>
|
||||
<value>GPU'ya Atanan Bellek</value>
|
||||
</data>
|
||||
<data name="AsusServicesRunning" xml:space="preserve">
|
||||
<value>Çalışan Asus Hizmetleri</value>
|
||||
@@ -378,7 +378,7 @@ Yine de devam etmek istiyor musunuz?</value>
|
||||
<value>Çekirdek Frekans Dengesi</value>
|
||||
</data>
|
||||
<data name="GPUMemoryClockOffset" xml:space="preserve">
|
||||
<value>Hafıza Frekans Dengesi</value>
|
||||
<value>Bellek Frekans Dengesi</value>
|
||||
</data>
|
||||
<data name="GPUMode" xml:space="preserve">
|
||||
<value>GPU Modu</value>
|
||||
|
||||
@@ -604,16 +604,7 @@ namespace GHelper
|
||||
|
||||
private void PictureColor2_Click(object? sender, EventArgs e)
|
||||
{
|
||||
|
||||
ColorDialog colorDlg = new ColorDialog();
|
||||
colorDlg.AllowFullOpen = true;
|
||||
colorDlg.Color = pictureColor2.BackColor;
|
||||
|
||||
if (colorDlg.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
AppConfig.Set("aura_color2", colorDlg.Color.ToArgb());
|
||||
SetAura();
|
||||
}
|
||||
SetColorPicker("aura_color2");
|
||||
}
|
||||
|
||||
private void PictureColor_Click(object? sender, EventArgs e)
|
||||
@@ -681,20 +672,31 @@ namespace GHelper
|
||||
FansToggle();
|
||||
}
|
||||
|
||||
private void ButtonKeyboardColor_Click(object? sender, EventArgs e)
|
||||
private void SetColorPicker(string colorField = "aura_color")
|
||||
{
|
||||
|
||||
ColorDialog colorDlg = new ColorDialog();
|
||||
colorDlg.AllowFullOpen = true;
|
||||
colorDlg.Color = pictureColor.BackColor;
|
||||
|
||||
try
|
||||
{
|
||||
colorDlg.CustomColors = AppConfig.GetString("aura_color_custom", "").Split('-').Select(int.Parse).ToArray();
|
||||
}
|
||||
catch (Exception ex) { }
|
||||
|
||||
if (colorDlg.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
AppConfig.Set("aura_color", colorDlg.Color.ToArgb());
|
||||
AppConfig.Set("aura_color_custom", string.Join("-", colorDlg.CustomColors));
|
||||
AppConfig.Set(colorField, colorDlg.Color.ToArgb());
|
||||
SetAura();
|
||||
}
|
||||
}
|
||||
|
||||
private void ButtonKeyboardColor_Click(object? sender, EventArgs e)
|
||||
{
|
||||
SetColorPicker("aura_color");
|
||||
}
|
||||
|
||||
public void InitAura()
|
||||
{
|
||||
Aura.Mode = (AuraMode)AppConfig.Get("aura_mode");
|
||||
@@ -761,6 +763,15 @@ namespace GHelper
|
||||
}
|
||||
|
||||
|
||||
public void CycleMatrix(int delta)
|
||||
{
|
||||
comboMatrix.SelectedIndex = Math.Min(Math.Max(0, comboMatrix.SelectedIndex + delta), comboMatrix.Items.Count - 1);
|
||||
AppConfig.Set("matrix_brightness", comboMatrix.SelectedIndex);
|
||||
matrixControl.SetMatrix();
|
||||
Program.toast.RunToast(comboMatrix.GetItemText(comboMatrix.SelectedItem), delta > 0 ? ToastIcon.BacklightUp : ToastIcon.BacklightDown);
|
||||
}
|
||||
|
||||
|
||||
public void CycleAuraMode()
|
||||
{
|
||||
if (comboKeyboard.SelectedIndex < comboKeyboard.Items.Count - 1)
|
||||
|
||||
@@ -84,8 +84,6 @@ namespace GHelper.USB
|
||||
|
||||
static public bool isSingleColor = false;
|
||||
|
||||
static bool isOldHeatmap = AppConfig.Is("old_heatmap");
|
||||
|
||||
static System.Timers.Timer timer = new System.Timers.Timer(1000);
|
||||
|
||||
private static Dictionary<AuraMode, string> _modesSingleColor = new Dictionary<AuraMode, string>
|
||||
@@ -248,16 +246,13 @@ namespace GHelper.USB
|
||||
|
||||
public static void Init()
|
||||
{
|
||||
Task.Run(async () =>
|
||||
{
|
||||
AsusHid.Write(new List<byte[]> {
|
||||
new byte[] { AsusHid.AURA_ID, 0xb9 },
|
||||
Encoding.ASCII.GetBytes("]ASUS Tech.Inc."),
|
||||
new byte[] { AsusHid.AURA_ID, 0x05, 0x20, 0x31, 0, 0x1a },
|
||||
//Encoding.ASCII.GetBytes("^ASUS Tech.Inc."),
|
||||
//new byte[] { 0x5e, 0x05, 0x20, 0x31, 0, 0x1a }
|
||||
});
|
||||
});
|
||||
AsusHid.Write(new List<byte[]> {
|
||||
new byte[] { AsusHid.AURA_ID, 0xb9 },
|
||||
Encoding.ASCII.GetBytes("]ASUS Tech.Inc."),
|
||||
new byte[] { AsusHid.AURA_ID, 0x05, 0x20, 0x31, 0, 0x1a },
|
||||
//Encoding.ASCII.GetBytes("^ASUS Tech.Inc."),
|
||||
//new byte[] { 0x5e, 0x05, 0x20, 0x31, 0, 0x1a }
|
||||
}, "Init");
|
||||
}
|
||||
|
||||
|
||||
@@ -523,7 +518,7 @@ namespace GHelper.USB
|
||||
}
|
||||
|
||||
|
||||
public static void ApplyColor(Color color, bool init = false)
|
||||
public static void ApplyDirect(Color color, bool init = false)
|
||||
{
|
||||
|
||||
if (isACPI)
|
||||
@@ -532,18 +527,35 @@ namespace GHelper.USB
|
||||
return;
|
||||
}
|
||||
|
||||
if (isStrix && !isOldHeatmap)
|
||||
if (isStrix)
|
||||
{
|
||||
ApplyDirect(Enumerable.Repeat(color, AURA_ZONES).ToArray(), init);
|
||||
return;
|
||||
}
|
||||
|
||||
else
|
||||
if (AppConfig.ContainsModel("GA503"))
|
||||
{
|
||||
AsusHid.WriteAura(AuraMessage(0, color, color, 0));
|
||||
AsusHid.WriteAura(MESSAGE_SET);
|
||||
AsusHid.Write(new List<byte[]> { AuraMessage(AuraMode.AuraStatic, color, color, 0xeb, isSingleColor), MESSAGE_SET });
|
||||
return;
|
||||
}
|
||||
|
||||
if (init)
|
||||
{
|
||||
//Init();
|
||||
AsusHid.WriteAura(new byte[] { AsusHid.AURA_ID, 0xbc, 1 });
|
||||
}
|
||||
|
||||
byte[] buffer = new byte[12];
|
||||
buffer[0] = AsusHid.AURA_ID;
|
||||
buffer[1] = 0xbc;
|
||||
buffer[2] = 1;
|
||||
buffer[3] = 1;
|
||||
buffer[9] = color.R;
|
||||
buffer[10] = color.G;
|
||||
buffer[11] = color.B;
|
||||
|
||||
AsusHid.WriteAura(buffer);
|
||||
|
||||
}
|
||||
|
||||
public static void ApplyAura()
|
||||
@@ -556,6 +568,8 @@ namespace GHelper.USB
|
||||
|
||||
timer.Enabled = false;
|
||||
|
||||
Logger.WriteLine($"AuraMode: {Mode}");
|
||||
|
||||
if (Mode == AuraMode.HEATMAP)
|
||||
{
|
||||
CustomRGB.ApplyHeatmap(true);
|
||||
@@ -568,7 +582,7 @@ namespace GHelper.USB
|
||||
{
|
||||
CustomRGB.ApplyAmbient(true);
|
||||
timer.Enabled = true;
|
||||
timer.Interval = 100;
|
||||
timer.Interval = AppConfig.Get("aura_refresh", 120);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -595,18 +609,23 @@ namespace GHelper.USB
|
||||
{
|
||||
if ((AuraMode)AppConfig.Get("aura_mode") != AuraMode.GPUMODE) return;
|
||||
|
||||
Color color;
|
||||
|
||||
switch (GPUModeControl.gpuMode)
|
||||
{
|
||||
case AsusACPI.GPUModeUltimate:
|
||||
ApplyColor(Color.Red, true);
|
||||
color = Color.Red;
|
||||
break;
|
||||
case AsusACPI.GPUModeEco:
|
||||
ApplyColor(Color.Green, true);
|
||||
color = Color.Green;
|
||||
break;
|
||||
default:
|
||||
ApplyColor(Color.Yellow, true);
|
||||
color = Color.Yellow;
|
||||
break;
|
||||
}
|
||||
|
||||
AsusHid.Write(new List<byte[]> { AuraMessage(AuraMode.AuraStatic, color, color, 0xeb, isSingleColor), MESSAGE_APPLY, MESSAGE_SET });
|
||||
|
||||
}
|
||||
|
||||
public static void ApplyHeatmap(bool init = false)
|
||||
@@ -622,7 +641,7 @@ namespace GHelper.USB
|
||||
else if (cpuTemp < hot) color = ColorUtils.GetWeightedAverage(Color.Yellow, Color.Red, ((float)cpuTemp - warm) / (hot - warm));
|
||||
else color = Color.Red;
|
||||
|
||||
ApplyColor(color, init);
|
||||
ApplyDirect(color, init);
|
||||
}
|
||||
|
||||
|
||||
@@ -663,7 +682,7 @@ namespace GHelper.USB
|
||||
screen_low.Dispose();
|
||||
screeb_pxl.Dispose();
|
||||
|
||||
bool is_fresh = false;
|
||||
bool is_fresh = init;
|
||||
|
||||
for (int i = 0; i < zones; i++)
|
||||
{
|
||||
@@ -674,7 +693,7 @@ namespace GHelper.USB
|
||||
if (is_fresh)
|
||||
{
|
||||
if (isStrix) ApplyDirect(AmbientData.result, init);
|
||||
else ApplyColor(AmbientData.result[0], init);
|
||||
else ApplyDirect(AmbientData.result[0], init);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
294
docs/README.md
294
docs/README.md
@@ -1,20 +1,28 @@
|
||||
# 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/) <sup> Language: English | <a href="https://github.com/seerge/g-helper/blob/main/docs/README.zh-CN.md">[中文]</a></sup>
|
||||
[](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 on 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!
|
||||
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!
|
||||
|
||||
# [:floppy_disk:Download](https://github.com/seerge/g-helper/releases/latest/download/GHelper.zip)
|
||||
# [:floppy_disk:Download](https://github.com/seerge/g-helper/releases/latest/download/GHelper.zip)
|
||||
|
||||
- Don't forget to [**Check Requirements**](#requirements-mandatory) and [**Read FAQ**](#question-faq)
|
||||
- If you like this app, please give it a star :star: and spread the word about it!
|
||||
- [FAQ](https://github.com/seerge/g-helper/wiki/FAQ)
|
||||
- [Setup and Requirements](https://github.com/seerge/g-helper/wiki/Requirements)
|
||||
- [Troubleshooting](https://github.com/seerge/g-helper/wiki/Troubleshooting)
|
||||
- [Power User Settings](https://github.com/seerge/g-helper/wiki/Power-user-settings)
|
||||
|
||||
#### Support project in [:euro: EUR](https://www.paypal.com/donate/?hosted_button_id=4HMSHS4EBQWTA) | [💵 USD](https://www.paypal.com/donate/?hosted_button_id=SRM6QUX6ACXDY)
|
||||
### Support project in [:euro: EUR](https://www.paypal.com/donate/?hosted_button_id=4HMSHS4EBQWTA) or [💵 USD](https://www.paypal.com/donate/?hosted_button_id=SRM6QUX6ACXDY)
|
||||
|
||||

|
||||
[](https://github.com/seerge/g-helper/releases/latest/download/GHelper.zip)
|
||||
|
||||
## :gift: Main Advantages
|
||||
## :loudspeaker: YouTube Reviews and Guides
|
||||
| [](https://www.youtube.com/watch?v=hqe-PjuE-K8) | [](https://www.youtube.com/watch?v=6aVdwJKZSSc) |
|
||||
| ----------------- | ---------------- |
|
||||
| [Josh Cravey](https://www.youtube.com/watch?v=hqe-PjuE-K8) | [cbutters Tech](https://www.youtube.com/watch?v=6aVdwJKZSSc) |
|
||||
|
||||
## :gift: Advantages
|
||||
|
||||
1. Seamless and automatic GPU switching
|
||||
2. All performance modes can be fully customized with power limits and fan curves
|
||||
@@ -42,7 +50,7 @@ Small and lightweight Armoury Crate alternative for Asus laptops offering almost
|
||||
14. Asus Mice settings
|
||||
15. Mini-led multi-zone switch
|
||||
|
||||
### :gear: Automatic switching when on battery or plugged in
|
||||
### :gear: Automation
|
||||
- Performance Mode switching when on battery or plugged in
|
||||
- Optimized GPU mode - disables dGPU on battery and enables when plugged in
|
||||
- Auto Screen refresh rate (60Hz on battery and max Hz when plugged)
|
||||
@@ -87,272 +95,36 @@ Each BIOS mode is paired with matching Windows Power Mode. You can adjust this s
|
||||
- ROG Strix Impact II Wireless
|
||||
- TUF Gaming M4 Wireless (P306)
|
||||
- TUF Gaming M3
|
||||
- TUF Gaming M3 Gen II
|
||||
|
||||
Huge thanks to [@IceStormNG](https://github.com/IceStormNG) 👑 for contribution and research (!).
|
||||
|
||||
## :question: FAQ
|
||||
### ⌨️ Keybindings
|
||||
|
||||
#### How do I stop the Armoury Crate install popup appearing every time I press the M4 / Rog key?
|
||||
Stop ``ArmouryCrateControlInterface`` service under windows Services app or you can stop all asus services from ``Extra`` -> ``Stop services``
|
||||
- ``Fn + F5 / Fn + Shift + F5`` - Toggle Performance Modes forwards / backwards
|
||||
- ``Ctrl + Shift + F5 / Ctrl + Shift + Alt + F5`` - Toggle Performance Modes forwards / backwards
|
||||
- ``Ctrl + Shift + F12`` - Open G-Helper window
|
||||
- ``Ctrl + M1 / M2`` - Screen brightness Down / Up
|
||||
- ``Shift + M1 / M2`` - Backlight brightness Down / Up
|
||||
- ``Fn + C`` - Fn-Lock
|
||||
- ``Fn + Shift + F7 / F8`` - Matrix brightness Down / Up
|
||||
- ``Ctrl + Shift + F20`` - Mute Microphone
|
||||
- ``Ctrl + Shift + Alt + F14`` - Eco Mode
|
||||
- ``Ctrl + Shift + Alt + F15`` - Standard Mode
|
||||
- [Custom keybindings / hotkeys](https://github.com/seerge/g-helper/wiki/Power-user-settings#custom-hotkey-actions)
|
||||
|
||||
#### Battery charge limiter is not working
|
||||
It could be that Asus services are overwriting this limit after. You may want to stop them by clicking "Stop" in the Asus Services section (under Extra).
|
||||
Please note: For some devices not every charge limit % may be working. Some models support only 80% limit, so try to set standard **80%** to be sure.
|
||||
------------------
|
||||
I don't have a Microsoft certificate to sign the app yet, so if you get a warning from Windows Defender on launch (Windows Protected your PC), click ``More Info`` -> ``Run anyway``.
|
||||
|
||||
#### I don't see GPU modes section
|
||||
Some older models (for example G14 2020) don't support disabling GPU on hardware level, therefore GPU section makes no sense for them and will be hidden
|
||||
|
||||
#### Why is Ultimate GPU mode not available on my laptop?
|
||||
Ultimate mode is supported (by hardware) only on 2022+ models
|
||||
|
||||
#### Should I apply custom power limits (PPT) and fan curves?
|
||||
You don't have to, it's purely optional. From my experience built in (in BIOS) performance modes work well. Limit your power or apply custom fan curves only if you have issues. As soon as you click Apply in the ``Fans + Power`` section BIOS will consider your fan curve as "custom"! (no matter if you modified it or not)
|
||||
|
||||
#### How does G-helper control my fan speeds?
|
||||
**It doesn't.** Your firmware / BIOS controls them in real-time. Armoury also doesn't control fans in real time anyhow.
|
||||
|
||||
What G-helper can do - is (optionally) set a custom fan profile to the current performance mode consisting of 8 pairs of temperature + fan speed % via the same endpoint Armoury seems to use. How it will be interpreted - is still up to the firmware.
|
||||
|
||||
#### How do I change fan % to fan RPM?
|
||||
Click on them
|
||||
|
||||
#### When I try to apply a custom fan curve I get "BIOS rejected fan curve"
|
||||
TUF models from 2021 and older don't support custom fan curves at all. Most probably you didn't have them in the Armoury as well?
|
||||
|
||||
#### I don't see a GPU temperature in G-helper
|
||||
Most probably either you are using Eco / Optimized mode and your dGPU is simply off, or your windows has put the dGPU into sleep to preserve power.
|
||||
|
||||
#### I don't see app after starting it
|
||||
Please check the system tray for a ``(G)`` icon. By default Windows is keen to hide all icons, so you may need to click ``^`` to see them all. I would advise to right click on Taskbar select TaskBar Settings -> Other System Tray icons -> Mark G-Helper to be always ON.
|
||||
|
||||
#### App crashes or doesn't work properly
|
||||
Open "Event Viewer" from the start menu, go to Windows Logs -> Application and check for recent Errors mentioning G-Helper. If you see one - please post a [new issue](https://github.com/seerge/g-helper/issues) with all details from this error.
|
||||
|
||||
#### Can I use the MyASUS app along with G-Helper?
|
||||
You can, the only problem is that MyASUS may override the battery charge limit that you set before. My advice in such a situation would be to set the same limit (i.e. 80%) in both MyASUS and G-Helper.
|
||||
|
||||
#### How do I set Mute Microphone to M3?
|
||||
If you have the Asus Optimization Service running, it's controlled by that service (therefore G-helper doesn't interfere and doesn't touch this function). Alternatively you can stop that service - and you can bind M3 to anything you want.
|
||||
|
||||
#### How do I set different "Visual styles"?
|
||||
Personally, I'm not a big fan of them, as they make colors very inaccurate. But if you want so - you can adjust display colors using either Nvidia Control panel or AMD Adrenaline (appropriate display sections). If you really want you can also use [own ASUS utility from MS Store](https://apps.microsoft.com/store/detail/gamevisual/9P4K1LFTXSH8?hl=nl-nl&gl=nl&rtc=1)
|
||||
|
||||
#### Can I overclock Nvidia GPU core / memory?
|
||||
Make sure that your dGPU is enabled (i.e. it's not in Eco mode). Open Fans + Power section and adjust core / memory clock offsets. They work the same as in armoury's manual mode. Please keep in mind that (unfortunately) you need admin permissions for that, and the app will ask you for them. (*)
|
||||
|
||||
#### How to Undervolt GPU
|
||||
Due to the way the Core Clock offset works for the GPU. When you increase clock offset you undervolt it at the same time (see picture)
|
||||
1. Increase ``Core Clock Offset`` under ``Fans + Power -> GPU`` until your 3dmark / furmark / game runs stable. Start with +100, +150, +200 ... This should make your **scores / fps better within same power** / heat as before.
|
||||
2. Set ``Core Clock Limit`` to a certain value (it really depends on application / game that you use) **to lower your power** / heat consumption
|
||||
|
||||

|
||||
|
||||
#### Windows Defender marks app as malware / virus
|
||||
False positives from Windows Defender (or any other similar system that uses machine learning for detection) is possible as the application is not digitally signed with a certificate. You can always download a version below or compile the app by yourself. All application sources are open and can be monitored from A to Z :)
|
||||
|
||||
#### Where can I find app settings or logs ?
|
||||
You can find them under the ``%AppData%\GHelper`` folder. Please include them when posting a new bug-report or issue.
|
||||
|
||||
#### App refuses to run on startup or runs without any icon in tray on startup
|
||||
Open the app, and uncheck and check again "run on startup". If it still doesn't help (for some reason), you can try to manually edit the "GHelper" task in Windows Task Scheduler, and add a couple of seconds delay to start.
|
||||
|
||||
#### How do I uninstall G-helper?
|
||||
G-helper is a single exe, and it doesn't install anything in the system. To remove it - you can simply delete exe :) If you have applied any custom fan profiles or PPTs - before removing I would recommend selecting your
|
||||
favorite performance mode (for example balanced) and clicking "Factory defaults" under Fans + Power.
|
||||
|
||||
#### Can I undervolt my CPU ?
|
||||
Currently you can undervolt AMD CPUs. If your model supports that - you will see an undervolting slider under ``Fans+Power -> Advanced``. If you don't see a slider there, it means your CPU doesn't support undervolting. Full list of models that support that [can be found here](https://github.com/seerge/g-helper/discussions/736)
|
||||
|
||||
#### I have G14 2023 and my GPU refuses to disable/enable
|
||||
It seems to be an issue in older BIOS versions. As [users report](https://github.com/seerge/g-helper/issues/680) - latest BIOS 312 (installable via MyASUS or G-Helper -> Updates) resolves all issues :) So please update.
|
||||
|
||||
#### I have G15 2022 and my GPU refuses to disable/enable or my fans misbehave
|
||||
G15 2022 is known to have a notoriously bugged BIOS (last one 313). Multiple users have reported that problems can be solved by rolling back to a [previous BIOS 311 from Asus Support website](https://rog.asus.com/nl/laptops/rog-zephyrus/rog-zephyrus-g15-2022-series/helpdesk_bios/).
|
||||
|
||||
#### I have uninstalled Armoury and my GPU performance is lower than it was
|
||||
Check your NVidia Experience settings and make sure that you have **Whisper Mode** set to ``OFF``. Also you can go to reset all settings ``Nvidia Control panel -> Manage 3D Settings -> Reset to defaults``
|
||||
|
||||
#### How do I do a hardware reset on a laptop?
|
||||
All Asus laptops have an option to do a hardware reset that can be handy sometimes. It doesn't touch your data, but resets all main hardware-related things (enables your dGPU, wakes up wifi/bt adapter if it hangs for some reason, etc.).
|
||||
Turn OFF laptop. Press and hold the "power" button for 30-40 seconds. Then boot normally (it will take a bit longer to boot)
|
||||
|
||||
#### What is G-helper ?
|
||||
Small and lightweight Armoury Crate alternative for Asus laptops offering almost same functionality without extra bloat and unnecessary services. Works on ROG G14, G15, G16, M16, X13, Z13, X16, TUF, Scar, Vivobook, ProArt and all other popular models.
|
||||
|
||||
-----------------------------
|
||||
|
||||
## :euro: [Support Project](https://www.paypal.com/donate/?hosted_button_id=4HMSHS4EBQWTA)
|
||||
------------------
|
||||
#### If you like the app you can make a Donation
|
||||
|
||||
| [Paypal in EUR](https://www.paypal.com/donate/?hosted_button_id=4HMSHS4EBQWTA) | [Paypal in USD](https://www.paypal.com/donate/?hosted_button_id=SRM6QUX6ACXDY) |
|
||||
| ------------------------------------------ | ----------------------------------------------- |
|
||||
| [](https://www.paypal.com/donate/?hosted_button_id=4HMSHS4EBQWTA) | [](https://www.paypal.com/donate/?hosted_button_id=SRM6QUX6ACXDY) |
|
||||
|
||||
----------------
|
||||
|
||||
### How to run
|
||||
|
||||
1. Download [**latest release**](https://github.com/seerge/g-helper/releases/latest/download/GHelper.zip)
|
||||
2. Unzip to a folder of your choice _(don't run exe from zip directly, as windows will put it into temp folder and delete after)_
|
||||
3. Run **GHelper.exe**
|
||||
|
||||
### Requirements (mandatory)
|
||||
|
||||
- [Microsoft .NET7](https://dotnet.microsoft.com/en-us/download). Most probably you already have it. Otherwise [download it](https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/sdk-7.0.202-windows-x64-installer) from the official website.
|
||||
|
||||
- [Asus System Control Interface v3+](https://dlcdnets.asus.com/pub/ASUS/nb/Image/CustomComponent/ASUSSystemControlInterfaceV3/ASUSSystemControlInterfaceV3.exe). This "driver" from asus should be installed automatically by windows update or along other asus apps. If it's not the case for some reason - you can download and install it manually.
|
||||
|
||||
### Recommendations (optional)
|
||||
|
||||
- It's **not recommended** to use the app in combination with Armoury Crate services, because they adjust the same settings. You can [uninstall it using AC own uninstall tool](https://dlcdnets.asus.com/pub/ASUS/mb/14Utilities/Armoury_Crate_Uninstall_Tool.zip?model=armoury%20crate). Just in case, you can always install it back later.
|
||||
|
||||
- It's **not recommended** to have "ASUS Smart Display Control" app running, as it will try to change refresh rates and fight with g-helper for the same function. You can safely uninstall it.
|
||||
|
||||
- You can stop / disable unnecessary services: Go to **Extra** in the app, and press "Stop" in Asus Services section (former **[debloat.bat](https://raw.githubusercontent.com/seerge/g-helper/main/debloat.bat)**). To start / enable services back - click "Start" instead (former **[bloat.bat](https://raw.githubusercontent.com/seerge/g-helper/main/bloat.bat)**)
|
||||
|
||||
- It is **strongly recommended** to run app with windows default "balanced" power plan
|
||||

|
||||
|
||||
-------------------------------
|
||||
|
||||
## Notice for G14 2023 users who complain about not being able to set Eco mode
|
||||
|
||||
This is a known issue with the Nvidia Drivers / Windows that occurs if you shutdown or restart a system with dGPU disabled (Eco mode). This situation can happen for **BOTH Armoury Crate and G-Helper** (as it doesn't depend on them in a first place)
|
||||
|
||||
Scenario to reproduce (for both AC / GH):
|
||||
1. Set Eco mode and shutdown / start or reboot your computer
|
||||
2. After booting in Eco set Standard -> ``brightness controls won't work``
|
||||
3. Try to set Eco mode -> ``it won't work``
|
||||
4. G-Helper would offer you to restart GPU in Device Manager, after that you will be able to set Eco, AC won't be able to do anything
|
||||
|
||||
To prevent this from happening, G-Helper by default would try to enable dGPU before shutdown / restart.
|
||||
If you want to turn this feature off uncheck ``Extra`` -> ``Enable GPU on shutdown (prevents issue with Eco mode)``
|
||||
|
||||
-------------------------------
|
||||
|
||||
I don't have a Microsoft certificate to sign the app yet, so if you get a warning from Windows Defender on launch (Windows Protected your PC), click More Info -> Run anyway.
|
||||
|
||||
------------------
|
||||
|
||||
## Power user settings
|
||||
|
||||
GENERAL NOTE: "Power user" settings require editing config located at ``%AppData%\GHelper\config.json``.
|
||||
|
||||
- Quit G-Helper
|
||||
- Make your changes / additions co ``config.json``
|
||||
- Start G-Helper again
|
||||
|
||||
_Make sure to keep json structure (i.e. not to break it with extra or missing commas, etc.) or the app will fail to read it and will just recreate an empty config instead._
|
||||
|
||||
### Manual app language setting
|
||||
|
||||
By default the app will use your windows language setting. But you can set language manually (if it supported of course)
|
||||
|
||||
```
|
||||
"language" : "en",
|
||||
```
|
||||
(by replacing "en" with language of your choice)
|
||||
|
||||
### Custom windows power plans with each mode
|
||||
|
||||
You can manually assign a custom power plan GUID to each mode.
|
||||
|
||||
Format is following : ``"scheme_<mode>" : "GUID" ``
|
||||
Where ``mode = 0 (balanced), 1 (turbo), 2 (silent)``
|
||||
|
||||
Example (for default windows "balanced" power plan):
|
||||
```
|
||||
"scheme_0": "381b4222-f694-41f0-9685-ff5bb260df2e",
|
||||
"scheme_1": "381b4222-f694-41f0-9685-ff5bb260df2e",
|
||||
"scheme_2": "381b4222-f694-41f0-9685-ff5bb260df2e",
|
||||
```
|
||||
|
||||
### Alternative Activation for XG Mobile 6850XT
|
||||
If you experience a situation when your XG Mobile doesn't work on full power when Activated. It's possible it needs an "alternative" command to get activated.
|
||||
To turn it on, add following line to config :
|
||||
```
|
||||
"xgm_special" : 1,
|
||||
```
|
||||
|
||||
### Override UI theme
|
||||
|
||||
By default the app would set the UI theme from the "app" theme in Windows setting. You can override it to specific theme, or general windows theme
|
||||
|
||||
```
|
||||
"ui_mode" : "dark",
|
||||
"ui_mode" : "light",
|
||||
"ui_mode" : "windows",
|
||||
```
|
||||
|
||||
### Skip keyboard Aura initialisation on startup
|
||||
By default the app would set the last remembered RGB mode for the keyboard on each launch. To disable it completely
|
||||
|
||||
```
|
||||
"skip_aura" : 1,
|
||||
````
|
||||
|
||||
### Disable OSD
|
||||
Disable app's OSD (for performance modes, keyboard backlight, etc.)
|
||||
```
|
||||
"disable_osd": 1,
|
||||
```
|
||||
|
||||
### Disable "Tablet mode" on X13/X16
|
||||
To disable automatic touchpad toggling when laptop enters / leaves tablet mode
|
||||
```
|
||||
"disable_tablet": 1,
|
||||
```
|
||||
|
||||
### Extra Keybindings
|
||||
- ``Ctrl + Shift + F5`` / ``Ctrl + Shift + Alt + F5`` - Toggle Performance Modes
|
||||
- ``Ctrl + Shift + F12`` - Open G-Helper window
|
||||
- ``Ctrl + M1 / M2`` - Screen brightness Down / Up
|
||||
- ``Shift + M1 / M2`` - Backlight brightness Down / Up
|
||||
|
||||
If you don't want this bindings to work you can add
|
||||
```
|
||||
"skip_hotkeys":1,
|
||||
```
|
||||
|
||||
### Toggle Performance Mode or Toggle App Window key binding
|
||||
|
||||
To change binding for Toggle Performance Modes forward / backward to ``Ctrl + Shift + KEY`` / ``Ctrl + Shift + Alt + KEY``
|
||||
```
|
||||
"keybind_profile": 116,
|
||||
```
|
||||
|
||||
To change binding for Toggle App Window to ``Ctrl + Shift + KEY``
|
||||
```
|
||||
"keybind_app": 123,
|
||||
```
|
||||
|
||||
Where 116 is [numerical code for desired key](https://www.oreilly.com/library/view/javascript-dhtml/9780596514082/apb.html). Put 0 to completely disable this binding.
|
||||
|
||||
|
||||
### Higher Maximum GPU Clock / Memory Offsets
|
||||
|
||||
By default under the GPU section you can set up to +250/+250 for Core and Memory Clock Offset. To increase this value:
|
||||
```
|
||||
"max_gpu_core": 300,
|
||||
"max_gpu_memory": 1500,
|
||||
```
|
||||
|
||||
### Custom hotkey actions
|
||||
|
||||
Select ``Custom`` next to appropriate hotkey under ``Extra`` settings and do one of the following:
|
||||
|
||||
1. To run any custom application - put a full path to exe into "action" text field, for example:
|
||||
``C:\Program Files\EA Games\Battlefield 2042\BF2042.exe``
|
||||
|
||||
2. To simulate any windows key or key-combination - put appropriate keycode(s) into the "action" field separated by space.
|
||||
For example ``0x2C`` for ``Print Screen`` or ``0x11 0xA0 0x31`` for ``Ctrl+Shift+1``
|
||||
|
||||
Full list of keycodes https://learn.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes
|
||||
|
||||

|
||||
|
||||
------------
|
||||
|
||||
**Libraries and projects used**
|
||||
- [Linux Kernel](https://github.com/torvalds/linux/blob/master/drivers/platform/x86/asus-wmi.c) for some basic endpoints in ASUS ACPI/WMI interface
|
||||
- [NvAPIWrapper](https://github.com/falahati/NvAPIWrapper) for accessing Nvidia API
|
||||
|
||||
Reference in New Issue
Block a user