mirror of
https://github.com/jkocon/g-helper.git
synced 2026-02-23 13:00:52 +01:00
Compare commits
16 Commits
v0.197
...
Experiment
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5570513eeb | ||
|
|
ceb1c9a250 | ||
|
|
e942d3fd49 | ||
|
|
482fe00014 | ||
|
|
54fdf9231c | ||
|
|
b9be9a9c97 | ||
|
|
501d0a1666 | ||
|
|
a7e50f89ca | ||
|
|
083e918086 | ||
|
|
e6a547dbfd | ||
|
|
1321b2eb31 | ||
|
|
5e96e3e9bc | ||
|
|
5e4bd13aa9 | ||
|
|
f320da9245 | ||
|
|
a024c05bc1 | ||
|
|
15501c7845 |
2
.github/FUNDING.yml
vendored
Normal file
2
.github/FUNDING.yml
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
# These are supported funding model platforms
|
||||
custom: https://g-helper.com/support
|
||||
@@ -213,7 +213,7 @@ namespace GHelper.AnimeMatrix
|
||||
switch (running)
|
||||
{
|
||||
case 2:
|
||||
SetMatrixPicture(AppConfig.GetString("matrix_picture"));
|
||||
SetMatrixPicture(AppConfig.GetString("matrix_picture"), false);
|
||||
break;
|
||||
case 3:
|
||||
SetMatrixClock();
|
||||
|
||||
@@ -410,7 +410,7 @@ namespace GHelper.AnimeMatrix
|
||||
if (DateTime.Now.Second % 2 != 0) timeFormat = timeFormat.Replace(":", " ");
|
||||
|
||||
Clear();
|
||||
Text(DateTime.Now.ToString(timeFormat), 15, 2, 25);
|
||||
Text(DateTime.Now.ToString(timeFormat), 15, 7 - FullRows / 2, 25);
|
||||
Text(DateTime.Now.ToString(dateFormat), 11.5F, 0, 14);
|
||||
Present();
|
||||
|
||||
|
||||
@@ -504,7 +504,7 @@ public static class AppConfig
|
||||
|
||||
public static bool NoWMI()
|
||||
{
|
||||
return ContainsModel("GL704G") || ContainsModel("GM501G");
|
||||
return ContainsModel("GL704G") || ContainsModel("GM501G") || ContainsModel("GX501G");
|
||||
}
|
||||
|
||||
public static bool IsNoDirectRGB()
|
||||
|
||||
@@ -2,31 +2,46 @@
|
||||
|
||||
namespace GHelper.Battery
|
||||
{
|
||||
internal class BatteryControl
|
||||
public static class BatteryControl
|
||||
{
|
||||
|
||||
static bool _chargeFull = AppConfig.Is("charge_full");
|
||||
public static bool chargeFull
|
||||
{
|
||||
get
|
||||
{
|
||||
return _chargeFull;
|
||||
}
|
||||
set
|
||||
{
|
||||
AppConfig.Set("charge_full", value ? 1 : 0);
|
||||
_chargeFull = value;
|
||||
}
|
||||
}
|
||||
|
||||
public static void ToggleBatteryLimitFull()
|
||||
{
|
||||
if (AppConfig.Is("charge_full")) SetBatteryChargeLimit();
|
||||
if (chargeFull) SetBatteryChargeLimit();
|
||||
else SetBatteryLimitFull();
|
||||
}
|
||||
|
||||
public static void SetBatteryLimitFull()
|
||||
{
|
||||
AppConfig.Set("charge_full", 1);
|
||||
chargeFull = true;
|
||||
Program.acpi.DeviceSet(AsusACPI.BatteryLimit, 100, "BatteryLimit");
|
||||
Program.settingsForm.VisualiseBatteryFull();
|
||||
}
|
||||
|
||||
public static void UnSetBatteryLimitFull()
|
||||
{
|
||||
AppConfig.Set("charge_full", 0);
|
||||
chargeFull = false;
|
||||
Logger.WriteLine("Battery fully charged");
|
||||
Program.settingsForm.Invoke(Program.settingsForm.VisualiseBatteryFull);
|
||||
}
|
||||
|
||||
public static void AutoBattery(bool init = false)
|
||||
{
|
||||
if (AppConfig.Is("charge_full") && !init) SetBatteryLimitFull();
|
||||
if (chargeFull && !init) SetBatteryLimitFull();
|
||||
else SetBatteryChargeLimit();
|
||||
}
|
||||
|
||||
@@ -46,7 +61,7 @@ namespace GHelper.Battery
|
||||
Program.acpi.DeviceSet(AsusACPI.BatteryLimit, limit, "BatteryLimit");
|
||||
|
||||
AppConfig.Set("charge_limit", limit);
|
||||
AppConfig.Set("charge_full", 0);
|
||||
chargeFull = false;
|
||||
|
||||
Program.settingsForm.VisualiseBattery(limit);
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
||||
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
||||
<AssemblyVersion>0.197</AssemblyVersion>
|
||||
<AssemblyVersion>0.198</AssemblyVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
|
||||
@@ -241,7 +241,7 @@ public static class HardwareControl
|
||||
if (fullCapacity > 0 && chargeCapacity > 0)
|
||||
{
|
||||
batteryCapacity = Math.Min(100, (decimal)chargeCapacity / (decimal)fullCapacity * 100);
|
||||
if (batteryCapacity > 99) BatteryControl.UnSetBatteryLimitFull();
|
||||
if (batteryCapacity > 99 && BatteryControl.chargeFull) BatteryControl.UnSetBatteryLimitFull();
|
||||
if (chargeWatt)
|
||||
{
|
||||
batteryCharge = Math.Round((decimal)chargeCapacity / 1000, 1).ToString() + "Wh";
|
||||
@@ -251,8 +251,6 @@ public static class HardwareControl
|
||||
batteryCharge = Math.Round(batteryCapacity, 1) + "%";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
public static bool IsUsedGPU(int threshold = 10)
|
||||
|
||||
@@ -14,9 +14,16 @@ namespace GHelper.Input
|
||||
{
|
||||
System.Timers.Timer timer = new System.Timers.Timer(1000);
|
||||
public static bool backlightActivity = true;
|
||||
public static bool lidClose = false;
|
||||
|
||||
public static Keys keyProfile = Keys.F5;
|
||||
public static Keys keyApp = Keys.F12;
|
||||
public static Keys keyProfile = (Keys)AppConfig.Get("keybind_profile", (int)Keys.F5);
|
||||
public static Keys keyApp = (Keys)AppConfig.Get("keybind_app", (int)Keys.F12);
|
||||
|
||||
public static Keys keyProfile0 = (Keys)AppConfig.Get("keybind_profile_0", (int)Keys.F17);
|
||||
public static Keys keyProfile1 = (Keys)AppConfig.Get("keybind_profile_1", (int)Keys.F18);
|
||||
public static Keys keyProfile2 = (Keys)AppConfig.Get("keybind_profile_2", (int)Keys.F16);
|
||||
public static Keys keyProfile3 = (Keys)AppConfig.Get("keybind_profile_3", (int)Keys.F19);
|
||||
public static Keys keyProfile4 = (Keys)AppConfig.Get("keybind_profile_4", (int)Keys.F20);
|
||||
|
||||
static ModeControl modeControl = Program.modeControl;
|
||||
static ScreenControl screenControl = new ScreenControl();
|
||||
@@ -101,10 +108,6 @@ namespace GHelper.Input
|
||||
{
|
||||
hook.UnregisterAll();
|
||||
|
||||
// CTRL + SHIFT + F5 to cycle profiles
|
||||
if (AppConfig.Get("keybind_profile") != -1) keyProfile = (Keys)AppConfig.Get("keybind_profile");
|
||||
if (AppConfig.Get("keybind_app") != -1) keyApp = (Keys)AppConfig.Get("keybind_app");
|
||||
|
||||
string actionM1 = AppConfig.GetString("m1");
|
||||
string actionM2 = AppConfig.GetString("m2");
|
||||
|
||||
@@ -118,7 +121,6 @@ namespace GHelper.Input
|
||||
|
||||
if (!AppConfig.Is("skip_hotkeys"))
|
||||
{
|
||||
|
||||
if (AppConfig.IsDUO())
|
||||
{
|
||||
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F7);
|
||||
@@ -130,11 +132,11 @@ namespace GHelper.Input
|
||||
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F14);
|
||||
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F15);
|
||||
|
||||
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F16);
|
||||
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F17);
|
||||
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F18);
|
||||
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F19);
|
||||
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F20);
|
||||
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, keyProfile0);
|
||||
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, keyProfile1);
|
||||
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, keyProfile2);
|
||||
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, keyProfile3);
|
||||
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, keyProfile4);
|
||||
|
||||
hook.RegisterHotKey(ModifierKeys.Control, Keys.VolumeDown);
|
||||
hook.RegisterHotKey(ModifierKeys.Control, Keys.VolumeUp);
|
||||
@@ -425,6 +427,12 @@ namespace GHelper.Input
|
||||
if (e.Modifier == (ModifierKeys.Control | ModifierKeys.Shift | ModifierKeys.Alt))
|
||||
{
|
||||
if (e.Key == keyProfile) modeControl.CyclePerformanceMode(true);
|
||||
|
||||
if (e.Key == keyProfile0) modeControl.SetPerformanceMode(0, true);
|
||||
if (e.Key == keyProfile1) modeControl.SetPerformanceMode(1, true);
|
||||
if (e.Key == keyProfile2) modeControl.SetPerformanceMode(2, true);
|
||||
if (e.Key == keyProfile3) modeControl.SetPerformanceMode(3, true);
|
||||
if (e.Key == keyProfile4) modeControl.SetPerformanceMode(4, true);
|
||||
|
||||
switch (e.Key)
|
||||
{
|
||||
@@ -450,26 +458,13 @@ namespace GHelper.Input
|
||||
ToggleScreenRate();
|
||||
break;
|
||||
case Keys.F14:
|
||||
Program.toast.RunToast(Properties.Strings.EcoMode);
|
||||
Program.settingsForm.gpuControl.SetGPUMode(AsusACPI.GPUModeEco);
|
||||
break;
|
||||
case Keys.F15:
|
||||
Program.toast.RunToast(Properties.Strings.StandardMode);
|
||||
Program.settingsForm.gpuControl.SetGPUMode(AsusACPI.GPUModeStandard);
|
||||
break;
|
||||
case Keys.F16:
|
||||
modeControl.SetPerformanceMode(2, true);
|
||||
break;
|
||||
case Keys.F17:
|
||||
modeControl.SetPerformanceMode(0, true);
|
||||
break;
|
||||
case Keys.F18:
|
||||
modeControl.SetPerformanceMode(1, true);
|
||||
break;
|
||||
case Keys.F19:
|
||||
modeControl.SetPerformanceMode(3, true);
|
||||
break;
|
||||
case Keys.F20:
|
||||
modeControl.SetPerformanceMode(4, true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -746,6 +741,7 @@ namespace GHelper.Input
|
||||
KeyProcess("fne");
|
||||
return;
|
||||
case 174: // FN+F5
|
||||
case 153: // FN+F5 OLD MODELS
|
||||
case 157: // Zenbook DUO FN+F
|
||||
modeControl.CyclePerformanceMode(Control.ModifierKeys == Keys.Shift);
|
||||
return;
|
||||
@@ -879,6 +875,7 @@ namespace GHelper.Input
|
||||
|
||||
public static void SetBacklightAuto(bool init = false)
|
||||
{
|
||||
if (lidClose) return;
|
||||
if (init) Aura.Init();
|
||||
Aura.ApplyBrightness(GetBacklight(), "Auto", init);
|
||||
}
|
||||
@@ -1024,6 +1021,13 @@ namespace GHelper.Input
|
||||
Program.toast.RunToast($"Screen Pad {toast}", delta > 0 ? ToastIcon.BrightnessUp : ToastIcon.BrightnessDown);
|
||||
}
|
||||
|
||||
public static void InitScreenpad()
|
||||
{
|
||||
if (!AppConfig.IsDUO()) return;
|
||||
int brightness = AppConfig.Get("screenpad");
|
||||
if (brightness >= 0) ApplyScreenpadAction(brightness);
|
||||
}
|
||||
|
||||
static void LaunchProcess(string command = "")
|
||||
{
|
||||
if (string.IsNullOrEmpty(command)) return;
|
||||
|
||||
@@ -81,7 +81,7 @@ namespace GHelper
|
||||
{
|
||||
AppConfig.Set("matrix_contrast", trackContrast.Value);
|
||||
AppConfig.Set("matrix_gamma", trackGamma.Value);
|
||||
SetMatrixPicture();
|
||||
SetMatrixPicture(false);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -110,30 +110,24 @@ namespace GHelper.Mode
|
||||
|
||||
if (notify) Toast();
|
||||
|
||||
// Power plan from config or defaulting to balanced
|
||||
if (AppConfig.GetModeString("scheme") is not null)
|
||||
PowerNative.SetPowerPlan(AppConfig.GetModeString("scheme"));
|
||||
else
|
||||
PowerNative.SetBalancedPowerPlan();
|
||||
if (!AppConfig.Is("skip_powermode"))
|
||||
{
|
||||
// Power plan from config or defaulting to balanced
|
||||
if (AppConfig.GetModeString("scheme") is not null)
|
||||
PowerNative.SetPowerPlan(AppConfig.GetModeString("scheme"));
|
||||
else
|
||||
PowerNative.SetBalancedPowerPlan();
|
||||
|
||||
// Windows power mode
|
||||
if (AppConfig.GetModeString("powermode") is not null)
|
||||
PowerNative.SetPowerMode(AppConfig.GetModeString("powermode"));
|
||||
else
|
||||
PowerNative.SetPowerMode(Modes.GetBase(mode));
|
||||
// Windows power mode
|
||||
if (AppConfig.GetModeString("powermode") is not null)
|
||||
PowerNative.SetPowerMode(AppConfig.GetModeString("powermode"));
|
||||
else
|
||||
PowerNative.SetPowerMode(Modes.GetBase(mode));
|
||||
}
|
||||
|
||||
// CPU Boost setting override
|
||||
if (AppConfig.GetMode("auto_boost") != -1)
|
||||
PowerNative.SetCPUBoost(AppConfig.GetMode("auto_boost"));
|
||||
|
||||
//BatteryControl.SetBatteryChargeLimit();
|
||||
|
||||
/*
|
||||
if (NativeMethods.PowerGetEffectiveOverlayScheme(out Guid activeScheme) == 0)
|
||||
{
|
||||
Debug.WriteLine("Effective :" + activeScheme);
|
||||
}
|
||||
*/
|
||||
PowerNative.SetCPUBoost(AppConfig.GetMode("auto_boost"));
|
||||
|
||||
settings.FansInit();
|
||||
}
|
||||
@@ -162,7 +156,8 @@ namespace GHelper.Mode
|
||||
modeToggleTimer.Start();
|
||||
Modes.SetCurrent(Modes.GetNext(back));
|
||||
Toast();
|
||||
} else
|
||||
}
|
||||
else
|
||||
{
|
||||
SetPerformanceMode(Modes.GetNext(back), true);
|
||||
}
|
||||
@@ -385,7 +380,7 @@ namespace GHelper.Mode
|
||||
if (gpu_power >= AsusACPI.MinGPUPower && gpu_power <= AsusACPI.MaxGPUPower && Program.acpi.DeviceGet(AsusACPI.GPU_POWER) >= 0)
|
||||
Program.acpi.DeviceSet(AsusACPI.GPU_POWER, gpu_power, "PowerLimit TGP (GPU VAR)");
|
||||
|
||||
if (gpu_boost >= AsusACPI.MinGPUBoost && gpu_boost <= AsusACPI.MaxGPUBoost && Program.acpi.DeviceGet(AsusACPI.PPT_GPUC0) >= 0)
|
||||
if (gpu_boost >= AsusACPI.MinGPUBoost && gpu_boost <= AsusACPI.MaxGPUBoost && Program.acpi.DeviceGet(AsusACPI.PPT_GPUC0) >= 0)
|
||||
boostResult = Program.acpi.DeviceSet(AsusACPI.PPT_GPUC0, gpu_boost, "PowerLimit C0 (GPU BOOST)");
|
||||
|
||||
if (gpu_temp >= AsusACPI.MinGPUTemp && gpu_temp <= AsusACPI.MaxGPUTemp && Program.acpi.DeviceGet(AsusACPI.PPT_GPUC2) >= 0)
|
||||
|
||||
@@ -231,7 +231,12 @@ namespace GHelper
|
||||
Logger.WriteLine("AutoSetting for " + isPlugged.ToString());
|
||||
|
||||
BatteryControl.AutoBattery(init);
|
||||
if (init) screenControl.InitMiniled();
|
||||
|
||||
if (init)
|
||||
{
|
||||
screenControl.InitMiniled();
|
||||
InputDispatcher.InitScreenpad();
|
||||
}
|
||||
|
||||
inputDispatcher.Init();
|
||||
|
||||
|
||||
@@ -674,14 +674,14 @@ namespace GHelper
|
||||
{
|
||||
case 0:
|
||||
Logger.WriteLine("Lid Closed");
|
||||
InputDispatcher.lidClose = AniMatrixControl.lidClose = true;
|
||||
Aura.ApplyBrightness(0, "Lid");
|
||||
AniMatrixControl.lidClose = true;
|
||||
matrixControl.SetLidMode();
|
||||
break;
|
||||
case 1:
|
||||
Logger.WriteLine("Lid Open");
|
||||
InputDispatcher.lidClose = AniMatrixControl.lidClose = false;
|
||||
Aura.ApplyBrightness(InputDispatcher.GetBacklight(), "Lid");
|
||||
AniMatrixControl.lidClose = false;
|
||||
matrixControl.SetLidMode();
|
||||
break;
|
||||
}
|
||||
@@ -1544,14 +1544,14 @@ namespace GHelper
|
||||
public void AutoKeyboard()
|
||||
{
|
||||
|
||||
InputDispatcher.SetBacklightAuto(true);
|
||||
|
||||
if (!AppConfig.Is("skip_aura"))
|
||||
{
|
||||
Aura.ApplyPower();
|
||||
Aura.ApplyAura();
|
||||
}
|
||||
|
||||
InputDispatcher.SetBacklightAuto(true);
|
||||
|
||||
if (Program.acpi.IsXGConnected())
|
||||
XGM.Light(AppConfig.Is("xmg_light"));
|
||||
|
||||
@@ -1786,7 +1786,7 @@ namespace GHelper
|
||||
|
||||
public void VisualiseBatteryFull()
|
||||
{
|
||||
if (AppConfig.Is("charge_full"))
|
||||
if (BatteryControl.chargeFull)
|
||||
{
|
||||
buttonBatteryFull.BackColor = colorStandard;
|
||||
buttonBatteryFull.ForeColor = SystemColors.ControlLightLight;
|
||||
|
||||
Reference in New Issue
Block a user