mirror of
https://github.com/jkocon/g-helper.git
synced 2026-02-23 13:00:52 +01:00
Compare commits
93 Commits
slash_ligh
...
visual_mod
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
274c773a8b | ||
|
|
93399288bf | ||
|
|
f42b91b408 | ||
|
|
9bf7400f69 | ||
|
|
dff69d48ce | ||
|
|
816988eb6c | ||
|
|
312028f97c | ||
|
|
211b855e8a | ||
|
|
d3d2f3189f | ||
|
|
4120113cbe | ||
|
|
1191208f70 | ||
|
|
c7db5a403c | ||
|
|
35ceea878f | ||
|
|
06378162c8 | ||
|
|
a688275ca2 | ||
|
|
4c5e05d6f8 | ||
|
|
d77acfd97a | ||
|
|
092ecc7ede | ||
|
|
0b3d52fc0e | ||
|
|
2797807d7b | ||
|
|
6075676372 | ||
|
|
0705edd83d | ||
|
|
6dcfff704e | ||
|
|
abc9acd3a8 | ||
|
|
53d7382417 | ||
|
|
64f4572113 | ||
|
|
8ab1f1fc81 | ||
|
|
251d32e115 | ||
|
|
947e32b97c | ||
|
|
091303d90f | ||
|
|
c8b929310a | ||
|
|
c32fa46991 | ||
|
|
b94e20a3fc | ||
|
|
2d0defd484 | ||
|
|
6f49af19ed | ||
|
|
097d91b5a4 | ||
|
|
f36a55f086 | ||
|
|
c1a6019d57 | ||
|
|
63b357a71b | ||
|
|
c337103806 | ||
|
|
268e55d47a | ||
|
|
3cc4955dd7 | ||
|
|
db8e4b9c5e | ||
|
|
c517f340dc | ||
|
|
f0da110a83 | ||
|
|
88ab4f396e | ||
|
|
4378118951 | ||
|
|
df71595b45 | ||
|
|
e7bb9c81d2 | ||
|
|
3b54e89d8e | ||
|
|
aa07a39c35 | ||
|
|
48e65dea97 | ||
|
|
b3e4578c02 | ||
|
|
76f29c5934 | ||
|
|
c57a60079c | ||
|
|
25470ed579 | ||
|
|
95b9a833c1 | ||
|
|
d156d8ace9 | ||
|
|
6d696c5c77 | ||
|
|
b644402155 | ||
|
|
0e4422f103 | ||
|
|
a9c6033c35 | ||
|
|
4889f0277f | ||
|
|
267662e15b | ||
|
|
34d2273ff5 | ||
|
|
61cc54b709 | ||
|
|
4ee93775f5 | ||
|
|
285cd81509 | ||
|
|
034b46e557 | ||
|
|
4697c37cad | ||
|
|
2a4e1f41f6 | ||
|
|
4196ccf33f | ||
|
|
c24dac2e4f | ||
|
|
555a6f4ed7 | ||
|
|
f10dee4e47 | ||
|
|
c82bc874cf | ||
|
|
a6a453704a | ||
|
|
c33edac4b4 | ||
|
|
16e30598e9 | ||
|
|
970de2adef | ||
|
|
293b261b37 | ||
|
|
03bff51850 | ||
|
|
42a598f177 | ||
|
|
ebfb9b3875 | ||
|
|
60c4e08347 | ||
|
|
e98cd2f5c1 | ||
|
|
697b5f0d2f | ||
|
|
b638382799 | ||
|
|
5f6afc0c6e | ||
|
|
8de06ce5ad | ||
|
|
85725fb782 | ||
|
|
d2cb6965e0 | ||
|
|
3f8083be50 |
4
.github/SECURITY.md
vendored
4
.github/SECURITY.md
vendored
@@ -4,8 +4,8 @@
|
|||||||
|
|
||||||
| Version | Supported |
|
| Version | Supported |
|
||||||
| ------- | ------------------ |
|
| ------- | ------------------ |
|
||||||
| 0.89+ | :white_check_mark: |
|
| 0.151+ | :white_check_mark: |
|
||||||
| < 0.89 | :x: |
|
| < 0.151 | :x: |
|
||||||
|
|
||||||
## Reporting a Vulnerability
|
## Reporting a Vulnerability
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,8 @@ namespace GHelper.AnimeMatrix
|
|||||||
public AnimeMatrixDevice? deviceMatrix;
|
public AnimeMatrixDevice? deviceMatrix;
|
||||||
public SlashDevice? deviceSlash;
|
public SlashDevice? deviceSlash;
|
||||||
|
|
||||||
|
public static bool lidClose = false;
|
||||||
|
|
||||||
double[]? AudioValues;
|
double[]? AudioValues;
|
||||||
WasapiCapture? AudioDevice;
|
WasapiCapture? AudioDevice;
|
||||||
string? AudioDeviceId;
|
string? AudioDeviceId;
|
||||||
@@ -56,6 +58,15 @@ namespace GHelper.AnimeMatrix
|
|||||||
if (deviceSlash is not null) SetSlash(wakeUp);
|
if (deviceSlash is not null) SetSlash(wakeUp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void SetLidMode(bool force = false)
|
||||||
|
{
|
||||||
|
if (AppConfig.Is("matrix_lid") || force)
|
||||||
|
{
|
||||||
|
Logger.WriteLine($"Matrix LidClosed: {lidClose}");
|
||||||
|
SetDevice(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public void SetSlash(bool wakeUp = false)
|
public void SetSlash(bool wakeUp = false)
|
||||||
{
|
{
|
||||||
@@ -66,6 +77,7 @@ namespace GHelper.AnimeMatrix
|
|||||||
int inteval = AppConfig.Get("matrix_interval", 0);
|
int inteval = AppConfig.Get("matrix_interval", 0);
|
||||||
|
|
||||||
bool auto = AppConfig.Is("matrix_auto");
|
bool auto = AppConfig.Is("matrix_auto");
|
||||||
|
bool lid = AppConfig.Is("matrix_lid");
|
||||||
|
|
||||||
Task.Run(() =>
|
Task.Run(() =>
|
||||||
{
|
{
|
||||||
@@ -81,7 +93,7 @@ namespace GHelper.AnimeMatrix
|
|||||||
|
|
||||||
if (wakeUp) deviceSlash.WakeUp();
|
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.Init();
|
||||||
deviceSlash.SetOptions(false, 0, 0);
|
deviceSlash.SetOptions(false, 0, 0);
|
||||||
@@ -110,6 +122,7 @@ namespace GHelper.AnimeMatrix
|
|||||||
int brightness = AppConfig.Get("matrix_brightness", 0);
|
int brightness = AppConfig.Get("matrix_brightness", 0);
|
||||||
int running = AppConfig.Get("matrix_running", 0);
|
int running = AppConfig.Get("matrix_running", 0);
|
||||||
bool auto = AppConfig.Is("matrix_auto");
|
bool auto = AppConfig.Is("matrix_auto");
|
||||||
|
bool lid = AppConfig.Is("matrix_lid");
|
||||||
|
|
||||||
StopMatrixTimer();
|
StopMatrixTimer();
|
||||||
StopMatrixAudio();
|
StopMatrixAudio();
|
||||||
@@ -128,7 +141,7 @@ namespace GHelper.AnimeMatrix
|
|||||||
|
|
||||||
if (wakeUp) deviceMatrix.WakeUp();
|
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);
|
||||||
deviceMatrix.SetDisplayState(false); // some devices are dumb
|
deviceMatrix.SetDisplayState(false); // some devices are dumb
|
||||||
|
|||||||
@@ -127,6 +127,11 @@ namespace GHelper.AnimeMatrix
|
|||||||
Set(Packet<SlashPacket>(0xD8, 0x01, 0x00, 0x01, status ? (byte)0x80 : (byte)0x00));
|
Set(Packet<SlashPacket>(0xD8, 0x01, 0x00, 0x01, status ? (byte)0x80 : (byte)0x00));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void SetLidMode(bool status)
|
||||||
|
{
|
||||||
|
Set(Packet<SlashPacket>(0xD8, 0x00, 0x00, 0x02, 0xA5, status ? (byte)0x80 : (byte)0x00));
|
||||||
|
}
|
||||||
|
|
||||||
public void Set(Packet packet)
|
public void Set(Packet packet)
|
||||||
{
|
{
|
||||||
_usbProvider?.Set(packet.Data);
|
_usbProvider?.Set(packet.Data);
|
||||||
|
|||||||
@@ -67,9 +67,17 @@ public static class AppConfig
|
|||||||
{
|
{
|
||||||
File.WriteAllText(backup, jsonString);
|
File.WriteAllText(backup, jsonString);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
Logger.WriteLine(ex.ToString());
|
Thread.Sleep(100);
|
||||||
|
try
|
||||||
|
{
|
||||||
|
File.WriteAllText(backup, jsonString);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Logger.WriteLine(ex.Message);
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -91,13 +99,19 @@ public static class AppConfig
|
|||||||
if (_model is null)
|
if (_model is null)
|
||||||
{
|
{
|
||||||
_model = "";
|
_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();
|
foreach (var process in searcher.Get())
|
||||||
break;
|
{
|
||||||
|
_model = process["Model"].ToString();
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
} catch (Exception ex)
|
||||||
|
{
|
||||||
|
Logger.WriteLine(ex.Message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -351,9 +365,9 @@ public static class AppConfig
|
|||||||
return ContainsModel("ProArt");
|
return ContainsModel("ProArt");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsVivobook()
|
public static bool IsVivoZenbook()
|
||||||
{
|
{
|
||||||
return ContainsModel("Vivobook");
|
return ContainsModel("Vivobook") || ContainsModel("Zenbook");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Devices with bugged bios command to change brightness
|
// Devices with bugged bios command to change brightness
|
||||||
@@ -389,6 +403,16 @@ public static class AppConfig
|
|||||||
return ContainsModel("GA503") || IsSlash();
|
return ContainsModel("GA503") || IsSlash();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static bool IsOLED()
|
||||||
|
{
|
||||||
|
return ContainsModel("OLED") || IsSlash() || ContainsModel("UX64") || ContainsModel("UX34") || ContainsModel("UX53") || ContainsModel("K360") || ContainsModel("X150") || ContainsModel("M3500") || ContainsModel("K650");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool IsNoOverdrive()
|
||||||
|
{
|
||||||
|
return Is("no_overdrive") || IsOLED();
|
||||||
|
}
|
||||||
|
|
||||||
public static bool IsStrix()
|
public static bool IsStrix()
|
||||||
{
|
{
|
||||||
return ContainsModel("Strix") || ContainsModel("Scar") || ContainsModel("G703G");
|
return ContainsModel("Strix") || ContainsModel("Scar") || ContainsModel("G703G");
|
||||||
@@ -399,14 +423,20 @@ 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");
|
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()
|
public static bool IsNoAirplaneMode()
|
||||||
{
|
{
|
||||||
return ContainsModel("FX506");
|
return ContainsModel("FX506");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static bool NoWMI()
|
||||||
|
{
|
||||||
|
return ContainsModel("GL704G");
|
||||||
|
}
|
||||||
|
|
||||||
public static bool IsNoDirectRGB()
|
public static bool IsNoDirectRGB()
|
||||||
{
|
{
|
||||||
return ContainsModel("GA503") || ContainsModel("G533Q");
|
return ContainsModel("GA503") || ContainsModel("G533Q") || IsSlash();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsStrixNumpad()
|
public static bool IsStrixNumpad()
|
||||||
@@ -451,7 +481,7 @@ public static class AppConfig
|
|||||||
|
|
||||||
public static bool NoAutoUltimate()
|
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");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -489,7 +519,7 @@ public static class AppConfig
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
var (bios, model) = GetBiosAndModel();
|
var (bios, model) = GetBiosAndModel();
|
||||||
return (Int32.Parse(bios) == 317);
|
return (Int32.Parse(bios) == 317 || Int32.Parse(bios) == 316);
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
@@ -497,9 +527,19 @@ public static class AppConfig
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static bool IsResetRequired()
|
||||||
|
{
|
||||||
|
return ContainsModel("GA403");
|
||||||
|
}
|
||||||
|
|
||||||
public static bool IsFanRequired()
|
public static bool IsFanRequired()
|
||||||
{
|
{
|
||||||
return ContainsModel("GA402X") || ContainsModel("G513") || ContainsModel("G713R") || ContainsModel("G713P");
|
return ContainsModel("GA402X") || ContainsModel("G513") || ContainsModel("G713R") || ContainsModel("G713P") || ContainsModel("GU605") || ContainsModel("GA403");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool IsAMDLight()
|
||||||
|
{
|
||||||
|
return ContainsModel("GA402X") || ContainsModel("GU605") || ContainsModel("GA403") || ContainsModel("FA507N") || ContainsModel("FA507X") || ContainsModel("FA707N") || ContainsModel("FA707X");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsPowerRequired()
|
public static bool IsPowerRequired()
|
||||||
@@ -537,6 +577,10 @@ public static class AppConfig
|
|||||||
return ContainsModel("G834") || ContainsModel("G614") || ContainsModel("G834") || ContainsModel("G634");
|
return ContainsModel("G834") || ContainsModel("G614") || ContainsModel("G834") || ContainsModel("G634");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static bool IsROG()
|
||||||
|
{
|
||||||
|
return ContainsModel("ROG");
|
||||||
|
}
|
||||||
public static bool IsASUS()
|
public static bool IsASUS()
|
||||||
{
|
{
|
||||||
return ContainsModel("ROG") || ContainsModel("TUF") || ContainsModel("Vivobook") || ContainsModel("Zenbook");
|
return ContainsModel("ROG") || ContainsModel("TUF") || ContainsModel("Vivobook") || ContainsModel("Zenbook");
|
||||||
|
|||||||
111
app/AsusACPI.cs
111
app/AsusACPI.cs
@@ -43,10 +43,13 @@ public class AsusACPI
|
|||||||
public const int Brightness_Down = 0x10;
|
public const int Brightness_Down = 0x10;
|
||||||
public const int Brightness_Up = 0x20;
|
public const int Brightness_Up = 0x20;
|
||||||
public const int KB_Sleep = 0x6c;
|
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_PgUpDn = 0x4B;
|
||||||
public const int KB_DUO_SecondDisplay = 0x6A;
|
public const int KB_DUO_SecondDisplay = 0x6A;
|
||||||
|
|
||||||
|
|
||||||
public const int Touchpad_Toggle = 0x6B;
|
public const int Touchpad_Toggle = 0x6B;
|
||||||
|
|
||||||
public const int ChargerMode = 0x0012006C;
|
public const int ChargerMode = 0x0012006C;
|
||||||
@@ -99,6 +102,12 @@ public class AsusACPI
|
|||||||
public const int PPT_APUC1 = 0x001200C1; // fPPT (fast boost limit)
|
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 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 uint GPU_BASE = 0x00120099; // Base part GPU TGP
|
||||||
|
public const uint GPU_POWER = 0x00120098; // Additonal part of GPU TGP
|
||||||
|
|
||||||
public const int APU_MEM = 0x000600C1;
|
public const int APU_MEM = 0x000600C1;
|
||||||
|
|
||||||
public const int TUF_KB_BRIGHTNESS = 0x00050021;
|
public const int TUF_KB_BRIGHTNESS = 0x00050021;
|
||||||
@@ -106,7 +115,7 @@ public class AsusACPI
|
|||||||
public const int TUF_KB2 = 0x0010005a;
|
public const int TUF_KB2 = 0x0010005a;
|
||||||
public const int TUF_KB_STATE = 0x00100057;
|
public const int TUF_KB_STATE = 0x00100057;
|
||||||
|
|
||||||
public const int MICMUTE_LED = 0x00040017;
|
public const int MicMuteLed = 0x00040017;
|
||||||
|
|
||||||
public const int TabletState = 0x00060077;
|
public const int TabletState = 0x00060077;
|
||||||
public const int FnLock = 0x00100023;
|
public const int FnLock = 0x00100023;
|
||||||
@@ -114,6 +123,8 @@ public class AsusACPI
|
|||||||
public const int ScreenPadToggle = 0x00050031;
|
public const int ScreenPadToggle = 0x00050031;
|
||||||
public const int ScreenPadBrightness = 0x00050032;
|
public const int ScreenPadBrightness = 0x00050032;
|
||||||
|
|
||||||
|
public const int CameraLed = 0x00060079;
|
||||||
|
|
||||||
public const int BootSound = 0x00130022;
|
public const int BootSound = 0x00130022;
|
||||||
|
|
||||||
public const int Tablet_Notebook = 0;
|
public const int Tablet_Notebook = 0;
|
||||||
@@ -142,9 +153,18 @@ public class AsusACPI
|
|||||||
public const int MinGPUBoost = 5;
|
public const int MinGPUBoost = 5;
|
||||||
public static int MaxGPUBoost = 25;
|
public static int MaxGPUBoost = 25;
|
||||||
|
|
||||||
|
public static int MinGPUPower = 0;
|
||||||
|
public static int MaxGPUPower = 50;
|
||||||
|
|
||||||
public const int MinGPUTemp = 75;
|
public const int MinGPUTemp = 75;
|
||||||
public const int MaxGPUTemp = 87;
|
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)]
|
[DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Unicode)]
|
||||||
private static extern IntPtr CreateFile(
|
private static extern IntPtr CreateFile(
|
||||||
@@ -271,6 +291,12 @@ public class AsusACPI
|
|||||||
if (AppConfig.IsIntelHX())
|
if (AppConfig.IsIntelHX())
|
||||||
{
|
{
|
||||||
MaxTotal = 175;
|
MaxTotal = 175;
|
||||||
|
MaxGPUPower = 70;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (AppConfig.IsSlash())
|
||||||
|
{
|
||||||
|
MaxGPUPower = AppConfig.Get("max_gpu_power", 25);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (AppConfig.DynamicBoost5())
|
if (AppConfig.DynamicBoost5())
|
||||||
@@ -282,6 +308,14 @@ public class AsusACPI
|
|||||||
{
|
{
|
||||||
MaxGPUBoost = 15;
|
MaxGPUBoost = 15;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (AppConfig.IsAMDLight())
|
||||||
|
{
|
||||||
|
MaxTotal = 90;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Control(uint dwIoControlCode, byte[] lpInBuffer, byte[] lpOutBuffer)
|
public void Control(uint dwIoControlCode, byte[] lpInBuffer, byte[] lpOutBuffer)
|
||||||
@@ -395,9 +429,16 @@ public class AsusACPI
|
|||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public int SetVivoMode(int mode)
|
||||||
|
{
|
||||||
|
if (mode == 1) mode = 2;
|
||||||
|
else if (mode == 2) mode = 1;
|
||||||
|
return Program.acpi.DeviceSet(VivoBookMode, mode, "VivoMode");
|
||||||
|
}
|
||||||
|
|
||||||
public int SetGPUEco(int eco)
|
public int SetGPUEco(int eco)
|
||||||
{
|
{
|
||||||
int ecoFlag = DeviceGet(GPUEco);
|
int ecoFlag = DeviceGet(GPUEco);
|
||||||
@@ -513,16 +554,25 @@ public class AsusACPI
|
|||||||
default: fan_mode = 0; break;
|
default: fan_mode = 0; break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
byte[] result;
|
||||||
|
|
||||||
switch (device)
|
switch (device)
|
||||||
{
|
{
|
||||||
case AsusFan.GPU:
|
case AsusFan.GPU:
|
||||||
return DeviceGetBuffer(DevsGPUFanCurve, fan_mode);
|
result = DeviceGetBuffer(DevsGPUFanCurve, fan_mode);
|
||||||
|
break;
|
||||||
case AsusFan.Mid:
|
case AsusFan.Mid:
|
||||||
return DeviceGetBuffer(DevsMidFanCurve, fan_mode);
|
result = DeviceGetBuffer(DevsMidFanCurve, fan_mode);
|
||||||
|
break;
|
||||||
default:
|
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)
|
public static bool IsInvalidCurve(byte[] curve)
|
||||||
@@ -664,22 +714,55 @@ public class AsusACPI
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ScanRange()
|
public (int, int) GetCores(bool max = false)
|
||||||
|
{
|
||||||
|
int value = Program.acpi.DeviceGet(max ? CORES_MAX : CORES_CPU);
|
||||||
|
//value = max ? 0x406 : 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 < 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") + ")");
|
||||||
|
}
|
||||||
|
|
||||||
|
public string ScanRange()
|
||||||
{
|
{
|
||||||
int value;
|
int value;
|
||||||
string appPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\GHelper";
|
string appPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\GHelper";
|
||||||
string logFile = appPath + "\\scan.txt";
|
string logFile = appPath + "\\scan.txt";
|
||||||
for (uint i = 0x00000000; i <= 0x00160000; i++)
|
using (StreamWriter w = File.AppendText(logFile))
|
||||||
{
|
{
|
||||||
value = DeviceGet(i);
|
w.WriteLine($"Scan started {DateTime.Now}");
|
||||||
if (value >= 0)
|
for (uint i = 0x00000000; i <= 0x00160000; i += 0x10000)
|
||||||
using (StreamWriter w = File.AppendText(logFile))
|
{
|
||||||
|
for (uint j = 0x00; j <= 0xFF; j++)
|
||||||
{
|
{
|
||||||
w.WriteLine(i.ToString("X8") + ": " + value.ToString("X4") + " (" + value + ")");
|
uint id = i + j;
|
||||||
w.Close();
|
value = DeviceGet(id);
|
||||||
|
if (value >= 0)
|
||||||
|
{
|
||||||
|
w.WriteLine(id.ToString("X8") + ": " + value.ToString("X4") + " (" + value + ")");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
w.WriteLine($"---------------------");
|
||||||
|
w.Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return logFile;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void TUFKeyboardBrightness(int brightness)
|
public void TUFKeyboardBrightness(int brightness)
|
||||||
|
|||||||
122
app/AsusMouseSettings.Designer.cs
generated
122
app/AsusMouseSettings.Designer.cs
generated
@@ -152,7 +152,7 @@
|
|||||||
//
|
//
|
||||||
panelProfiles.Controls.Add(comboProfile);
|
panelProfiles.Controls.Add(comboProfile);
|
||||||
panelProfiles.Controls.Add(labelProfile);
|
panelProfiles.Controls.Add(labelProfile);
|
||||||
panelProfiles.Location = new Point(212, 2);
|
panelProfiles.Location = new Point(220, 2);
|
||||||
panelProfiles.Margin = new Padding(2);
|
panelProfiles.Margin = new Padding(2);
|
||||||
panelProfiles.MinimumSize = new Size(227, 0);
|
panelProfiles.MinimumSize = new Size(227, 0);
|
||||||
panelProfiles.Name = "panelProfiles";
|
panelProfiles.Name = "panelProfiles";
|
||||||
@@ -197,7 +197,7 @@
|
|||||||
panelPerformance.Margin = new Padding(2);
|
panelPerformance.Margin = new Padding(2);
|
||||||
panelPerformance.Name = "panelPerformance";
|
panelPerformance.Name = "panelPerformance";
|
||||||
panelPerformance.Padding = new Padding(0, 7, 0, 17);
|
panelPerformance.Padding = new Padding(0, 7, 0, 17);
|
||||||
panelPerformance.Size = new Size(420, 370);
|
panelPerformance.Size = new Size(437, 370);
|
||||||
panelPerformance.TabIndex = 1;
|
panelPerformance.TabIndex = 1;
|
||||||
//
|
//
|
||||||
// panelPerformanceOther
|
// panelPerformanceOther
|
||||||
@@ -215,7 +215,7 @@
|
|||||||
panelPerformanceOther.Margin = new Padding(2);
|
panelPerformanceOther.Margin = new Padding(2);
|
||||||
panelPerformanceOther.Name = "panelPerformanceOther";
|
panelPerformanceOther.Name = "panelPerformanceOther";
|
||||||
panelPerformanceOther.Padding = new Padding(0, 7, 0, 7);
|
panelPerformanceOther.Padding = new Padding(0, 7, 0, 7);
|
||||||
panelPerformanceOther.Size = new Size(420, 192);
|
panelPerformanceOther.Size = new Size(437, 192);
|
||||||
panelPerformanceOther.TabIndex = 49;
|
panelPerformanceOther.TabIndex = 49;
|
||||||
//
|
//
|
||||||
// panelDeceleration
|
// panelDeceleration
|
||||||
@@ -230,7 +230,7 @@
|
|||||||
panelDeceleration.Margin = new Padding(2);
|
panelDeceleration.Margin = new Padding(2);
|
||||||
panelDeceleration.Name = "panelDeceleration";
|
panelDeceleration.Name = "panelDeceleration";
|
||||||
panelDeceleration.Padding = new Padding(3);
|
panelDeceleration.Padding = new Padding(3);
|
||||||
panelDeceleration.Size = new Size(420, 31);
|
panelDeceleration.Size = new Size(437, 31);
|
||||||
panelDeceleration.TabIndex = 58;
|
panelDeceleration.TabIndex = 58;
|
||||||
//
|
//
|
||||||
// labelDeceleration
|
// labelDeceleration
|
||||||
@@ -279,7 +279,7 @@
|
|||||||
panelAcceleration.Margin = new Padding(2);
|
panelAcceleration.Margin = new Padding(2);
|
||||||
panelAcceleration.Name = "panelAcceleration";
|
panelAcceleration.Name = "panelAcceleration";
|
||||||
panelAcceleration.Padding = new Padding(3);
|
panelAcceleration.Padding = new Padding(3);
|
||||||
panelAcceleration.Size = new Size(420, 31);
|
panelAcceleration.Size = new Size(437, 31);
|
||||||
panelAcceleration.TabIndex = 57;
|
panelAcceleration.TabIndex = 57;
|
||||||
//
|
//
|
||||||
// labelAcceleration
|
// labelAcceleration
|
||||||
@@ -327,7 +327,7 @@
|
|||||||
panelLiftOffDistance.Margin = new Padding(2);
|
panelLiftOffDistance.Margin = new Padding(2);
|
||||||
panelLiftOffDistance.Name = "panelLiftOffDistance";
|
panelLiftOffDistance.Name = "panelLiftOffDistance";
|
||||||
panelLiftOffDistance.Padding = new Padding(3);
|
panelLiftOffDistance.Padding = new Padding(3);
|
||||||
panelLiftOffDistance.Size = new Size(420, 29);
|
panelLiftOffDistance.Size = new Size(437, 29);
|
||||||
panelLiftOffDistance.TabIndex = 56;
|
panelLiftOffDistance.TabIndex = 56;
|
||||||
//
|
//
|
||||||
// labelLiftOffDistance
|
// labelLiftOffDistance
|
||||||
@@ -364,7 +364,7 @@
|
|||||||
panelDebounce.Margin = new Padding(2);
|
panelDebounce.Margin = new Padding(2);
|
||||||
panelDebounce.Name = "panelDebounce";
|
panelDebounce.Name = "panelDebounce";
|
||||||
panelDebounce.Padding = new Padding(3);
|
panelDebounce.Padding = new Padding(3);
|
||||||
panelDebounce.Size = new Size(420, 31);
|
panelDebounce.Size = new Size(437, 31);
|
||||||
panelDebounce.TabIndex = 55;
|
panelDebounce.TabIndex = 55;
|
||||||
//
|
//
|
||||||
// labelButtonDebounce
|
// labelButtonDebounce
|
||||||
@@ -413,7 +413,7 @@
|
|||||||
panelAngleSnapping.Margin = new Padding(2);
|
panelAngleSnapping.Margin = new Padding(2);
|
||||||
panelAngleSnapping.Name = "panelAngleSnapping";
|
panelAngleSnapping.Name = "panelAngleSnapping";
|
||||||
panelAngleSnapping.Padding = new Padding(3);
|
panelAngleSnapping.Padding = new Padding(3);
|
||||||
panelAngleSnapping.Size = new Size(420, 29);
|
panelAngleSnapping.Size = new Size(437, 29);
|
||||||
panelAngleSnapping.TabIndex = 54;
|
panelAngleSnapping.TabIndex = 54;
|
||||||
//
|
//
|
||||||
// sliderAngleAdjustment
|
// sliderAngleAdjustment
|
||||||
@@ -464,7 +464,7 @@
|
|||||||
panelPollingRate.Margin = new Padding(2);
|
panelPollingRate.Margin = new Padding(2);
|
||||||
panelPollingRate.Name = "panelPollingRate";
|
panelPollingRate.Name = "panelPollingRate";
|
||||||
panelPollingRate.Padding = new Padding(3);
|
panelPollingRate.Padding = new Padding(3);
|
||||||
panelPollingRate.Size = new Size(420, 27);
|
panelPollingRate.Size = new Size(437, 27);
|
||||||
panelPollingRate.TabIndex = 53;
|
panelPollingRate.TabIndex = 53;
|
||||||
//
|
//
|
||||||
// labelPollingRate
|
// labelPollingRate
|
||||||
@@ -500,7 +500,7 @@
|
|||||||
panelDPISettings.Location = new Point(0, 91);
|
panelDPISettings.Location = new Point(0, 91);
|
||||||
panelDPISettings.Margin = new Padding(2);
|
panelDPISettings.Margin = new Padding(2);
|
||||||
panelDPISettings.Name = "panelDPISettings";
|
panelDPISettings.Name = "panelDPISettings";
|
||||||
panelDPISettings.Size = new Size(420, 70);
|
panelDPISettings.Size = new Size(437, 70);
|
||||||
panelDPISettings.TabIndex = 44;
|
panelDPISettings.TabIndex = 44;
|
||||||
//
|
//
|
||||||
// sliderDPI
|
// sliderDPI
|
||||||
@@ -512,7 +512,7 @@
|
|||||||
sliderDPI.Max = 35000;
|
sliderDPI.Max = 35000;
|
||||||
sliderDPI.Min = 100;
|
sliderDPI.Min = 100;
|
||||||
sliderDPI.Name = "sliderDPI";
|
sliderDPI.Name = "sliderDPI";
|
||||||
sliderDPI.Size = new Size(420, 20);
|
sliderDPI.Size = new Size(437, 20);
|
||||||
sliderDPI.Step = 50;
|
sliderDPI.Step = 50;
|
||||||
sliderDPI.TabIndex = 43;
|
sliderDPI.TabIndex = 43;
|
||||||
sliderDPI.TabStop = false;
|
sliderDPI.TabStop = false;
|
||||||
@@ -537,7 +537,7 @@
|
|||||||
tableLayoutPanel1.Name = "tableLayoutPanel1";
|
tableLayoutPanel1.Name = "tableLayoutPanel1";
|
||||||
tableLayoutPanel1.RowCount = 1;
|
tableLayoutPanel1.RowCount = 1;
|
||||||
tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
|
tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
|
||||||
tableLayoutPanel1.Size = new Size(420, 23);
|
tableLayoutPanel1.Size = new Size(437, 23);
|
||||||
tableLayoutPanel1.TabIndex = 47;
|
tableLayoutPanel1.TabIndex = 47;
|
||||||
//
|
//
|
||||||
// labelMinDPI
|
// labelMinDPI
|
||||||
@@ -547,7 +547,7 @@
|
|||||||
labelMinDPI.Location = new Point(4, 0);
|
labelMinDPI.Location = new Point(4, 0);
|
||||||
labelMinDPI.Margin = new Padding(4, 0, 4, 0);
|
labelMinDPI.Margin = new Padding(4, 0, 4, 0);
|
||||||
labelMinDPI.Name = "labelMinDPI";
|
labelMinDPI.Name = "labelMinDPI";
|
||||||
labelMinDPI.Size = new Size(151, 23);
|
labelMinDPI.Size = new Size(158, 23);
|
||||||
labelMinDPI.TabIndex = 45;
|
labelMinDPI.TabIndex = 45;
|
||||||
labelMinDPI.Text = "100";
|
labelMinDPI.Text = "100";
|
||||||
//
|
//
|
||||||
@@ -555,10 +555,10 @@
|
|||||||
//
|
//
|
||||||
labelMaxDPI.Dock = DockStyle.Fill;
|
labelMaxDPI.Dock = DockStyle.Fill;
|
||||||
labelMaxDPI.ForeColor = SystemColors.GrayText;
|
labelMaxDPI.ForeColor = SystemColors.GrayText;
|
||||||
labelMaxDPI.Location = new Point(263, 0);
|
labelMaxDPI.Location = new Point(274, 0);
|
||||||
labelMaxDPI.Margin = new Padding(4, 0, 4, 0);
|
labelMaxDPI.Margin = new Padding(4, 0, 4, 0);
|
||||||
labelMaxDPI.Name = "labelMaxDPI";
|
labelMaxDPI.Name = "labelMaxDPI";
|
||||||
labelMaxDPI.Size = new Size(153, 23);
|
labelMaxDPI.Size = new Size(159, 23);
|
||||||
labelMaxDPI.TabIndex = 46;
|
labelMaxDPI.TabIndex = 46;
|
||||||
labelMaxDPI.Text = " 35000";
|
labelMaxDPI.Text = " 35000";
|
||||||
labelMaxDPI.TextAlign = ContentAlignment.TopRight;
|
labelMaxDPI.TextAlign = ContentAlignment.TopRight;
|
||||||
@@ -568,12 +568,12 @@
|
|||||||
numericUpDownCurrentDPI.BorderStyle = BorderStyle.None;
|
numericUpDownCurrentDPI.BorderStyle = BorderStyle.None;
|
||||||
numericUpDownCurrentDPI.Dock = DockStyle.Fill;
|
numericUpDownCurrentDPI.Dock = DockStyle.Fill;
|
||||||
numericUpDownCurrentDPI.Increment = new decimal(new int[] { 50, 0, 0, 0 });
|
numericUpDownCurrentDPI.Increment = new decimal(new int[] { 50, 0, 0, 0 });
|
||||||
numericUpDownCurrentDPI.Location = new Point(161, 2);
|
numericUpDownCurrentDPI.Location = new Point(168, 2);
|
||||||
numericUpDownCurrentDPI.Margin = new Padding(2);
|
numericUpDownCurrentDPI.Margin = new Padding(2);
|
||||||
numericUpDownCurrentDPI.Maximum = new decimal(new int[] { 35000, 0, 0, 0 });
|
numericUpDownCurrentDPI.Maximum = new decimal(new int[] { 35000, 0, 0, 0 });
|
||||||
numericUpDownCurrentDPI.Minimum = new decimal(new int[] { 100, 0, 0, 0 });
|
numericUpDownCurrentDPI.Minimum = new decimal(new int[] { 100, 0, 0, 0 });
|
||||||
numericUpDownCurrentDPI.Name = "numericUpDownCurrentDPI";
|
numericUpDownCurrentDPI.Name = "numericUpDownCurrentDPI";
|
||||||
numericUpDownCurrentDPI.Size = new Size(96, 19);
|
numericUpDownCurrentDPI.Size = new Size(100, 19);
|
||||||
numericUpDownCurrentDPI.TabIndex = 47;
|
numericUpDownCurrentDPI.TabIndex = 47;
|
||||||
numericUpDownCurrentDPI.TextAlign = HorizontalAlignment.Center;
|
numericUpDownCurrentDPI.TextAlign = HorizontalAlignment.Center;
|
||||||
numericUpDownCurrentDPI.Value = new decimal(new int[] { 2000, 0, 0, 0 });
|
numericUpDownCurrentDPI.Value = new decimal(new int[] { 2000, 0, 0, 0 });
|
||||||
@@ -588,13 +588,13 @@
|
|||||||
panelDPITile.Margin = new Padding(2);
|
panelDPITile.Margin = new Padding(2);
|
||||||
panelDPITile.Name = "panelDPITile";
|
panelDPITile.Name = "panelDPITile";
|
||||||
panelDPITile.Padding = new Padding(0, 3, 0, 3);
|
panelDPITile.Padding = new Padding(0, 3, 0, 3);
|
||||||
panelDPITile.Size = new Size(420, 27);
|
panelDPITile.Size = new Size(437, 27);
|
||||||
panelDPITile.TabIndex = 48;
|
panelDPITile.TabIndex = 48;
|
||||||
//
|
//
|
||||||
// pictureDPIColor
|
// pictureDPIColor
|
||||||
//
|
//
|
||||||
pictureDPIColor.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
pictureDPIColor.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
||||||
pictureDPIColor.Location = new Point(395, 7);
|
pictureDPIColor.Location = new Point(412, 7);
|
||||||
pictureDPIColor.Margin = new Padding(4);
|
pictureDPIColor.Margin = new Padding(4);
|
||||||
pictureDPIColor.Name = "pictureDPIColor";
|
pictureDPIColor.Name = "pictureDPIColor";
|
||||||
pictureDPIColor.Size = new Size(10, 10);
|
pictureDPIColor.Size = new Size(10, 10);
|
||||||
@@ -612,7 +612,7 @@
|
|||||||
buttonDPIColor.BorderRadius = 2;
|
buttonDPIColor.BorderRadius = 2;
|
||||||
buttonDPIColor.FlatStyle = FlatStyle.Flat;
|
buttonDPIColor.FlatStyle = FlatStyle.Flat;
|
||||||
buttonDPIColor.ForeColor = SystemColors.ControlText;
|
buttonDPIColor.ForeColor = SystemColors.ControlText;
|
||||||
buttonDPIColor.Location = new Point(291, 1);
|
buttonDPIColor.Location = new Point(308, 1);
|
||||||
buttonDPIColor.Margin = new Padding(2, 4, 2, 4);
|
buttonDPIColor.Margin = new Padding(2, 4, 2, 4);
|
||||||
buttonDPIColor.Name = "buttonDPIColor";
|
buttonDPIColor.Name = "buttonDPIColor";
|
||||||
buttonDPIColor.Secondary = false;
|
buttonDPIColor.Secondary = false;
|
||||||
@@ -653,7 +653,7 @@
|
|||||||
tableDPI.RowCount = 1;
|
tableDPI.RowCount = 1;
|
||||||
tableDPI.RowStyles.Add(new RowStyle(SizeType.Absolute, 64F));
|
tableDPI.RowStyles.Add(new RowStyle(SizeType.Absolute, 64F));
|
||||||
tableDPI.RowStyles.Add(new RowStyle(SizeType.Absolute, 64F));
|
tableDPI.RowStyles.Add(new RowStyle(SizeType.Absolute, 64F));
|
||||||
tableDPI.Size = new Size(420, 64);
|
tableDPI.Size = new Size(437, 64);
|
||||||
tableDPI.TabIndex = 42;
|
tableDPI.TabIndex = 42;
|
||||||
//
|
//
|
||||||
// buttonDPI2
|
// buttonDPI2
|
||||||
@@ -669,11 +669,11 @@
|
|||||||
buttonDPI2.ForeColor = SystemColors.ControlText;
|
buttonDPI2.ForeColor = SystemColors.ControlText;
|
||||||
buttonDPI2.Image = Properties.Resources.lighting_dot_32;
|
buttonDPI2.Image = Properties.Resources.lighting_dot_32;
|
||||||
buttonDPI2.ImageAlign = ContentAlignment.BottomCenter;
|
buttonDPI2.ImageAlign = ContentAlignment.BottomCenter;
|
||||||
buttonDPI2.Location = new Point(107, 2);
|
buttonDPI2.Location = new Point(111, 2);
|
||||||
buttonDPI2.Margin = new Padding(2);
|
buttonDPI2.Margin = new Padding(2);
|
||||||
buttonDPI2.Name = "buttonDPI2";
|
buttonDPI2.Name = "buttonDPI2";
|
||||||
buttonDPI2.Secondary = false;
|
buttonDPI2.Secondary = false;
|
||||||
buttonDPI2.Size = new Size(101, 60);
|
buttonDPI2.Size = new Size(105, 60);
|
||||||
buttonDPI2.TabIndex = 4;
|
buttonDPI2.TabIndex = 4;
|
||||||
buttonDPI2.Text = "DPI 2\r\n1000";
|
buttonDPI2.Text = "DPI 2\r\n1000";
|
||||||
buttonDPI2.TextImageRelation = TextImageRelation.ImageAboveText;
|
buttonDPI2.TextImageRelation = TextImageRelation.ImageAboveText;
|
||||||
@@ -696,7 +696,7 @@
|
|||||||
buttonDPI1.Margin = new Padding(2);
|
buttonDPI1.Margin = new Padding(2);
|
||||||
buttonDPI1.Name = "buttonDPI1";
|
buttonDPI1.Name = "buttonDPI1";
|
||||||
buttonDPI1.Secondary = false;
|
buttonDPI1.Secondary = false;
|
||||||
buttonDPI1.Size = new Size(101, 60);
|
buttonDPI1.Size = new Size(105, 60);
|
||||||
buttonDPI1.TabIndex = 4;
|
buttonDPI1.TabIndex = 4;
|
||||||
buttonDPI1.Text = "DPI 1\r\n800";
|
buttonDPI1.Text = "DPI 1\r\n800";
|
||||||
buttonDPI1.TextImageRelation = TextImageRelation.ImageAboveText;
|
buttonDPI1.TextImageRelation = TextImageRelation.ImageAboveText;
|
||||||
@@ -715,11 +715,11 @@
|
|||||||
buttonDPI3.ForeColor = SystemColors.ControlText;
|
buttonDPI3.ForeColor = SystemColors.ControlText;
|
||||||
buttonDPI3.Image = Properties.Resources.lighting_dot_32;
|
buttonDPI3.Image = Properties.Resources.lighting_dot_32;
|
||||||
buttonDPI3.ImageAlign = ContentAlignment.BottomCenter;
|
buttonDPI3.ImageAlign = ContentAlignment.BottomCenter;
|
||||||
buttonDPI3.Location = new Point(212, 2);
|
buttonDPI3.Location = new Point(220, 2);
|
||||||
buttonDPI3.Margin = new Padding(2);
|
buttonDPI3.Margin = new Padding(2);
|
||||||
buttonDPI3.Name = "buttonDPI3";
|
buttonDPI3.Name = "buttonDPI3";
|
||||||
buttonDPI3.Secondary = false;
|
buttonDPI3.Secondary = false;
|
||||||
buttonDPI3.Size = new Size(101, 60);
|
buttonDPI3.Size = new Size(105, 60);
|
||||||
buttonDPI3.TabIndex = 5;
|
buttonDPI3.TabIndex = 5;
|
||||||
buttonDPI3.Text = "DPI 3\r\n1200";
|
buttonDPI3.Text = "DPI 3\r\n1200";
|
||||||
buttonDPI3.TextImageRelation = TextImageRelation.ImageAboveText;
|
buttonDPI3.TextImageRelation = TextImageRelation.ImageAboveText;
|
||||||
@@ -738,11 +738,11 @@
|
|||||||
buttonDPI4.ForeColor = SystemColors.ControlText;
|
buttonDPI4.ForeColor = SystemColors.ControlText;
|
||||||
buttonDPI4.Image = Properties.Resources.lighting_dot_32;
|
buttonDPI4.Image = Properties.Resources.lighting_dot_32;
|
||||||
buttonDPI4.ImageAlign = ContentAlignment.BottomCenter;
|
buttonDPI4.ImageAlign = ContentAlignment.BottomCenter;
|
||||||
buttonDPI4.Location = new Point(317, 2);
|
buttonDPI4.Location = new Point(329, 2);
|
||||||
buttonDPI4.Margin = new Padding(2);
|
buttonDPI4.Margin = new Padding(2);
|
||||||
buttonDPI4.Name = "buttonDPI4";
|
buttonDPI4.Name = "buttonDPI4";
|
||||||
buttonDPI4.Secondary = false;
|
buttonDPI4.Secondary = false;
|
||||||
buttonDPI4.Size = new Size(101, 60);
|
buttonDPI4.Size = new Size(106, 60);
|
||||||
buttonDPI4.TabIndex = 6;
|
buttonDPI4.TabIndex = 6;
|
||||||
buttonDPI4.Text = "DPI 4\r\n1400";
|
buttonDPI4.Text = "DPI 4\r\n1400";
|
||||||
buttonDPI4.TextImageRelation = TextImageRelation.ImageAboveText;
|
buttonDPI4.TextImageRelation = TextImageRelation.ImageAboveText;
|
||||||
@@ -757,7 +757,7 @@
|
|||||||
panelPerformanceHeader.Location = new Point(0, 7);
|
panelPerformanceHeader.Location = new Point(0, 7);
|
||||||
panelPerformanceHeader.Margin = new Padding(2);
|
panelPerformanceHeader.Margin = new Padding(2);
|
||||||
panelPerformanceHeader.Name = "panelPerformanceHeader";
|
panelPerformanceHeader.Name = "panelPerformanceHeader";
|
||||||
panelPerformanceHeader.Size = new Size(420, 20);
|
panelPerformanceHeader.Size = new Size(437, 20);
|
||||||
panelPerformanceHeader.TabIndex = 41;
|
panelPerformanceHeader.TabIndex = 41;
|
||||||
//
|
//
|
||||||
// pictureKeyboard
|
// pictureKeyboard
|
||||||
@@ -793,7 +793,7 @@
|
|||||||
panelLighting.Margin = new Padding(2);
|
panelLighting.Margin = new Padding(2);
|
||||||
panelLighting.Name = "panelLighting";
|
panelLighting.Name = "panelLighting";
|
||||||
panelLighting.Padding = new Padding(0, 0, 0, 17);
|
panelLighting.Padding = new Padding(0, 0, 0, 17);
|
||||||
panelLighting.Size = new Size(420, 220);
|
panelLighting.Size = new Size(437, 220);
|
||||||
panelLighting.TabIndex = 42;
|
panelLighting.TabIndex = 42;
|
||||||
//
|
//
|
||||||
// panelLightingContent
|
// panelLightingContent
|
||||||
@@ -814,7 +814,7 @@
|
|||||||
panelLightingContent.Margin = new Padding(2);
|
panelLightingContent.Margin = new Padding(2);
|
||||||
panelLightingContent.Name = "panelLightingContent";
|
panelLightingContent.Name = "panelLightingContent";
|
||||||
panelLightingContent.Padding = new Padding(0, 0, 0, 7);
|
panelLightingContent.Padding = new Padding(0, 0, 0, 7);
|
||||||
panelLightingContent.Size = new Size(420, 183);
|
panelLightingContent.Size = new Size(437, 183);
|
||||||
panelLightingContent.TabIndex = 42;
|
panelLightingContent.TabIndex = 42;
|
||||||
//
|
//
|
||||||
// tableLayoutLightingZones
|
// tableLayoutLightingZones
|
||||||
@@ -838,7 +838,7 @@
|
|||||||
tableLayoutLightingZones.Name = "tableLayoutLightingZones";
|
tableLayoutLightingZones.Name = "tableLayoutLightingZones";
|
||||||
tableLayoutLightingZones.RowCount = 1;
|
tableLayoutLightingZones.RowCount = 1;
|
||||||
tableLayoutLightingZones.RowStyles.Add(new RowStyle(SizeType.Absolute, 40F));
|
tableLayoutLightingZones.RowStyles.Add(new RowStyle(SizeType.Absolute, 40F));
|
||||||
tableLayoutLightingZones.Size = new Size(420, 40);
|
tableLayoutLightingZones.Size = new Size(437, 40);
|
||||||
tableLayoutLightingZones.TabIndex = 56;
|
tableLayoutLightingZones.TabIndex = 56;
|
||||||
//
|
//
|
||||||
// buttonLightingZoneScroll
|
// buttonLightingZoneScroll
|
||||||
@@ -855,11 +855,11 @@
|
|||||||
buttonLightingZoneScroll.FlatStyle = FlatStyle.Flat;
|
buttonLightingZoneScroll.FlatStyle = FlatStyle.Flat;
|
||||||
buttonLightingZoneScroll.ForeColor = SystemColors.ControlText;
|
buttonLightingZoneScroll.ForeColor = SystemColors.ControlText;
|
||||||
buttonLightingZoneScroll.ImageAlign = ContentAlignment.BottomCenter;
|
buttonLightingZoneScroll.ImageAlign = ContentAlignment.BottomCenter;
|
||||||
buttonLightingZoneScroll.Location = new Point(170, 2);
|
buttonLightingZoneScroll.Location = new Point(176, 2);
|
||||||
buttonLightingZoneScroll.Margin = new Padding(2);
|
buttonLightingZoneScroll.Margin = new Padding(2);
|
||||||
buttonLightingZoneScroll.Name = "buttonLightingZoneScroll";
|
buttonLightingZoneScroll.Name = "buttonLightingZoneScroll";
|
||||||
buttonLightingZoneScroll.Secondary = false;
|
buttonLightingZoneScroll.Secondary = false;
|
||||||
buttonLightingZoneScroll.Size = new Size(80, 36);
|
buttonLightingZoneScroll.Size = new Size(83, 36);
|
||||||
buttonLightingZoneScroll.TabIndex = 7;
|
buttonLightingZoneScroll.TabIndex = 7;
|
||||||
buttonLightingZoneScroll.Text = "Scrollwheel";
|
buttonLightingZoneScroll.Text = "Scrollwheel";
|
||||||
buttonLightingZoneScroll.TextImageRelation = TextImageRelation.ImageAboveText;
|
buttonLightingZoneScroll.TextImageRelation = TextImageRelation.ImageAboveText;
|
||||||
@@ -879,11 +879,11 @@
|
|||||||
buttonLightingZoneLogo.FlatStyle = FlatStyle.Flat;
|
buttonLightingZoneLogo.FlatStyle = FlatStyle.Flat;
|
||||||
buttonLightingZoneLogo.ForeColor = SystemColors.ControlText;
|
buttonLightingZoneLogo.ForeColor = SystemColors.ControlText;
|
||||||
buttonLightingZoneLogo.ImageAlign = ContentAlignment.BottomCenter;
|
buttonLightingZoneLogo.ImageAlign = ContentAlignment.BottomCenter;
|
||||||
buttonLightingZoneLogo.Location = new Point(86, 2);
|
buttonLightingZoneLogo.Location = new Point(89, 2);
|
||||||
buttonLightingZoneLogo.Margin = new Padding(2);
|
buttonLightingZoneLogo.Margin = new Padding(2);
|
||||||
buttonLightingZoneLogo.Name = "buttonLightingZoneLogo";
|
buttonLightingZoneLogo.Name = "buttonLightingZoneLogo";
|
||||||
buttonLightingZoneLogo.Secondary = false;
|
buttonLightingZoneLogo.Secondary = false;
|
||||||
buttonLightingZoneLogo.Size = new Size(80, 36);
|
buttonLightingZoneLogo.Size = new Size(83, 36);
|
||||||
buttonLightingZoneLogo.TabIndex = 4;
|
buttonLightingZoneLogo.TabIndex = 4;
|
||||||
buttonLightingZoneLogo.Text = "Logo";
|
buttonLightingZoneLogo.Text = "Logo";
|
||||||
buttonLightingZoneLogo.TextImageRelation = TextImageRelation.ImageAboveText;
|
buttonLightingZoneLogo.TextImageRelation = TextImageRelation.ImageAboveText;
|
||||||
@@ -907,7 +907,7 @@
|
|||||||
buttonLightingZoneAll.Margin = new Padding(2);
|
buttonLightingZoneAll.Margin = new Padding(2);
|
||||||
buttonLightingZoneAll.Name = "buttonLightingZoneAll";
|
buttonLightingZoneAll.Name = "buttonLightingZoneAll";
|
||||||
buttonLightingZoneAll.Secondary = false;
|
buttonLightingZoneAll.Secondary = false;
|
||||||
buttonLightingZoneAll.Size = new Size(80, 36);
|
buttonLightingZoneAll.Size = new Size(83, 36);
|
||||||
buttonLightingZoneAll.TabIndex = 4;
|
buttonLightingZoneAll.TabIndex = 4;
|
||||||
buttonLightingZoneAll.Text = "All";
|
buttonLightingZoneAll.Text = "All";
|
||||||
buttonLightingZoneAll.TextImageRelation = TextImageRelation.ImageAboveText;
|
buttonLightingZoneAll.TextImageRelation = TextImageRelation.ImageAboveText;
|
||||||
@@ -927,11 +927,11 @@
|
|||||||
buttonLightingZoneUnderglow.FlatStyle = FlatStyle.Flat;
|
buttonLightingZoneUnderglow.FlatStyle = FlatStyle.Flat;
|
||||||
buttonLightingZoneUnderglow.ForeColor = SystemColors.ControlText;
|
buttonLightingZoneUnderglow.ForeColor = SystemColors.ControlText;
|
||||||
buttonLightingZoneUnderglow.ImageAlign = ContentAlignment.BottomCenter;
|
buttonLightingZoneUnderglow.ImageAlign = ContentAlignment.BottomCenter;
|
||||||
buttonLightingZoneUnderglow.Location = new Point(254, 2);
|
buttonLightingZoneUnderglow.Location = new Point(263, 2);
|
||||||
buttonLightingZoneUnderglow.Margin = new Padding(2);
|
buttonLightingZoneUnderglow.Margin = new Padding(2);
|
||||||
buttonLightingZoneUnderglow.Name = "buttonLightingZoneUnderglow";
|
buttonLightingZoneUnderglow.Name = "buttonLightingZoneUnderglow";
|
||||||
buttonLightingZoneUnderglow.Secondary = false;
|
buttonLightingZoneUnderglow.Secondary = false;
|
||||||
buttonLightingZoneUnderglow.Size = new Size(80, 36);
|
buttonLightingZoneUnderglow.Size = new Size(83, 36);
|
||||||
buttonLightingZoneUnderglow.TabIndex = 5;
|
buttonLightingZoneUnderglow.TabIndex = 5;
|
||||||
buttonLightingZoneUnderglow.Text = "Underglow";
|
buttonLightingZoneUnderglow.Text = "Underglow";
|
||||||
buttonLightingZoneUnderglow.TextImageRelation = TextImageRelation.ImageAboveText;
|
buttonLightingZoneUnderglow.TextImageRelation = TextImageRelation.ImageAboveText;
|
||||||
@@ -951,11 +951,11 @@
|
|||||||
buttonLightingZoneDock.FlatStyle = FlatStyle.Flat;
|
buttonLightingZoneDock.FlatStyle = FlatStyle.Flat;
|
||||||
buttonLightingZoneDock.ForeColor = SystemColors.ControlText;
|
buttonLightingZoneDock.ForeColor = SystemColors.ControlText;
|
||||||
buttonLightingZoneDock.ImageAlign = ContentAlignment.BottomCenter;
|
buttonLightingZoneDock.ImageAlign = ContentAlignment.BottomCenter;
|
||||||
buttonLightingZoneDock.Location = new Point(338, 2);
|
buttonLightingZoneDock.Location = new Point(350, 2);
|
||||||
buttonLightingZoneDock.Margin = new Padding(2);
|
buttonLightingZoneDock.Margin = new Padding(2);
|
||||||
buttonLightingZoneDock.Name = "buttonLightingZoneDock";
|
buttonLightingZoneDock.Name = "buttonLightingZoneDock";
|
||||||
buttonLightingZoneDock.Secondary = false;
|
buttonLightingZoneDock.Secondary = false;
|
||||||
buttonLightingZoneDock.Size = new Size(80, 36);
|
buttonLightingZoneDock.Size = new Size(85, 36);
|
||||||
buttonLightingZoneDock.TabIndex = 6;
|
buttonLightingZoneDock.TabIndex = 6;
|
||||||
buttonLightingZoneDock.Text = "Dock";
|
buttonLightingZoneDock.Text = "Dock";
|
||||||
buttonLightingZoneDock.TextImageRelation = TextImageRelation.ImageAboveText;
|
buttonLightingZoneDock.TextImageRelation = TextImageRelation.ImageAboveText;
|
||||||
@@ -968,10 +968,10 @@
|
|||||||
comboBoxAnimationDirection.DropDownStyle = ComboBoxStyle.DropDownList;
|
comboBoxAnimationDirection.DropDownStyle = ComboBoxStyle.DropDownList;
|
||||||
comboBoxAnimationDirection.FlatStyle = FlatStyle.Flat;
|
comboBoxAnimationDirection.FlatStyle = FlatStyle.Flat;
|
||||||
comboBoxAnimationDirection.FormattingEnabled = true;
|
comboBoxAnimationDirection.FormattingEnabled = true;
|
||||||
comboBoxAnimationDirection.Location = new Point(244, 153);
|
comboBoxAnimationDirection.Location = new Point(245, 153);
|
||||||
comboBoxAnimationDirection.Margin = new Padding(11, 0, 11, 0);
|
comboBoxAnimationDirection.Margin = new Padding(11, 0, 11, 0);
|
||||||
comboBoxAnimationDirection.Name = "comboBoxAnimationDirection";
|
comboBoxAnimationDirection.Name = "comboBoxAnimationDirection";
|
||||||
comboBoxAnimationDirection.Size = new Size(191, 23);
|
comboBoxAnimationDirection.Size = new Size(190, 23);
|
||||||
comboBoxAnimationDirection.TabIndex = 54;
|
comboBoxAnimationDirection.TabIndex = 54;
|
||||||
//
|
//
|
||||||
// labelAnimationDirection
|
// labelAnimationDirection
|
||||||
@@ -1000,10 +1000,10 @@
|
|||||||
comboBoxAnimationSpeed.DropDownStyle = ComboBoxStyle.DropDownList;
|
comboBoxAnimationSpeed.DropDownStyle = ComboBoxStyle.DropDownList;
|
||||||
comboBoxAnimationSpeed.FlatStyle = FlatStyle.Flat;
|
comboBoxAnimationSpeed.FlatStyle = FlatStyle.Flat;
|
||||||
comboBoxAnimationSpeed.FormattingEnabled = true;
|
comboBoxAnimationSpeed.FormattingEnabled = true;
|
||||||
comboBoxAnimationSpeed.Location = new Point(244, 125);
|
comboBoxAnimationSpeed.Location = new Point(245, 125);
|
||||||
comboBoxAnimationSpeed.Margin = new Padding(11, 0, 11, 0);
|
comboBoxAnimationSpeed.Margin = new Padding(11, 0, 11, 0);
|
||||||
comboBoxAnimationSpeed.Name = "comboBoxAnimationSpeed";
|
comboBoxAnimationSpeed.Name = "comboBoxAnimationSpeed";
|
||||||
comboBoxAnimationSpeed.Size = new Size(191, 23);
|
comboBoxAnimationSpeed.Size = new Size(190, 23);
|
||||||
comboBoxAnimationSpeed.TabIndex = 51;
|
comboBoxAnimationSpeed.TabIndex = 51;
|
||||||
//
|
//
|
||||||
// labelAnimationSpeed
|
// labelAnimationSpeed
|
||||||
@@ -1018,7 +1018,7 @@
|
|||||||
// pictureBoxLightingColor
|
// pictureBoxLightingColor
|
||||||
//
|
//
|
||||||
pictureBoxLightingColor.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
pictureBoxLightingColor.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
||||||
pictureBoxLightingColor.Location = new Point(304, 80);
|
pictureBoxLightingColor.Location = new Point(321, 80);
|
||||||
pictureBoxLightingColor.Margin = new Padding(4);
|
pictureBoxLightingColor.Margin = new Padding(4);
|
||||||
pictureBoxLightingColor.Name = "pictureBoxLightingColor";
|
pictureBoxLightingColor.Name = "pictureBoxLightingColor";
|
||||||
pictureBoxLightingColor.Size = new Size(13, 13);
|
pictureBoxLightingColor.Size = new Size(13, 13);
|
||||||
@@ -1035,11 +1035,11 @@
|
|||||||
buttonLightingColor.BorderRadius = 2;
|
buttonLightingColor.BorderRadius = 2;
|
||||||
buttonLightingColor.FlatStyle = FlatStyle.Flat;
|
buttonLightingColor.FlatStyle = FlatStyle.Flat;
|
||||||
buttonLightingColor.ForeColor = SystemColors.ControlText;
|
buttonLightingColor.ForeColor = SystemColors.ControlText;
|
||||||
buttonLightingColor.Location = new Point(233, 74);
|
buttonLightingColor.Location = new Point(252, 74);
|
||||||
buttonLightingColor.Margin = new Padding(2, 4, 2, 4);
|
buttonLightingColor.Margin = new Padding(2, 4, 2, 4);
|
||||||
buttonLightingColor.Name = "buttonLightingColor";
|
buttonLightingColor.Name = "buttonLightingColor";
|
||||||
buttonLightingColor.Secondary = false;
|
buttonLightingColor.Secondary = false;
|
||||||
buttonLightingColor.Size = new Size(94, 25);
|
buttonLightingColor.Size = new Size(90, 25);
|
||||||
buttonLightingColor.TabIndex = 49;
|
buttonLightingColor.TabIndex = 49;
|
||||||
buttonLightingColor.Text = Properties.Strings.Color;
|
buttonLightingColor.Text = Properties.Strings.Color;
|
||||||
buttonLightingColor.TextAlign = ContentAlignment.MiddleLeft;
|
buttonLightingColor.TextAlign = ContentAlignment.MiddleLeft;
|
||||||
@@ -1077,13 +1077,13 @@
|
|||||||
panelLightingHeader.Location = new Point(0, 0);
|
panelLightingHeader.Location = new Point(0, 0);
|
||||||
panelLightingHeader.Margin = new Padding(2);
|
panelLightingHeader.Margin = new Padding(2);
|
||||||
panelLightingHeader.Name = "panelLightingHeader";
|
panelLightingHeader.Name = "panelLightingHeader";
|
||||||
panelLightingHeader.Size = new Size(420, 20);
|
panelLightingHeader.Size = new Size(437, 20);
|
||||||
panelLightingHeader.TabIndex = 41;
|
panelLightingHeader.TabIndex = 41;
|
||||||
//
|
//
|
||||||
// sliderBrightness
|
// sliderBrightness
|
||||||
//
|
//
|
||||||
sliderBrightness.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Right;
|
sliderBrightness.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Right;
|
||||||
sliderBrightness.Location = new Point(229, 1);
|
sliderBrightness.Location = new Point(246, 1);
|
||||||
sliderBrightness.Margin = new Padding(1);
|
sliderBrightness.Margin = new Padding(1);
|
||||||
sliderBrightness.Max = 100;
|
sliderBrightness.Max = 100;
|
||||||
sliderBrightness.Min = 0;
|
sliderBrightness.Min = 0;
|
||||||
@@ -1131,7 +1131,7 @@
|
|||||||
panelEnergy.Margin = new Padding(2);
|
panelEnergy.Margin = new Padding(2);
|
||||||
panelEnergy.Name = "panelEnergy";
|
panelEnergy.Name = "panelEnergy";
|
||||||
panelEnergy.Padding = new Padding(0, 0, 0, 17);
|
panelEnergy.Padding = new Padding(0, 0, 0, 17);
|
||||||
panelEnergy.Size = new Size(420, 96);
|
panelEnergy.Size = new Size(437, 96);
|
||||||
panelEnergy.TabIndex = 43;
|
panelEnergy.TabIndex = 43;
|
||||||
//
|
//
|
||||||
// labelLowBatteryWarningValue
|
// labelLowBatteryWarningValue
|
||||||
@@ -1199,7 +1199,7 @@
|
|||||||
panelEnergyHeader.Location = new Point(0, 0);
|
panelEnergyHeader.Location = new Point(0, 0);
|
||||||
panelEnergyHeader.Margin = new Padding(2);
|
panelEnergyHeader.Margin = new Padding(2);
|
||||||
panelEnergyHeader.Name = "panelEnergyHeader";
|
panelEnergyHeader.Name = "panelEnergyHeader";
|
||||||
panelEnergyHeader.Size = new Size(420, 20);
|
panelEnergyHeader.Size = new Size(437, 20);
|
||||||
panelEnergyHeader.TabIndex = 41;
|
panelEnergyHeader.TabIndex = 41;
|
||||||
//
|
//
|
||||||
// pictureBoxEnergy
|
// pictureBoxEnergy
|
||||||
@@ -1240,7 +1240,7 @@
|
|||||||
tableLayoutProfiles.RowCount = 1;
|
tableLayoutProfiles.RowCount = 1;
|
||||||
tableLayoutProfiles.RowStyles.Add(new RowStyle(SizeType.Percent, 50F));
|
tableLayoutProfiles.RowStyles.Add(new RowStyle(SizeType.Percent, 50F));
|
||||||
tableLayoutProfiles.RowStyles.Add(new RowStyle(SizeType.Percent, 50F));
|
tableLayoutProfiles.RowStyles.Add(new RowStyle(SizeType.Percent, 50F));
|
||||||
tableLayoutProfiles.Size = new Size(420, 38);
|
tableLayoutProfiles.Size = new Size(437, 38);
|
||||||
tableLayoutProfiles.TabIndex = 44;
|
tableLayoutProfiles.TabIndex = 44;
|
||||||
//
|
//
|
||||||
// panelBatteryState
|
// panelBatteryState
|
||||||
@@ -1302,11 +1302,11 @@
|
|||||||
buttonSync.BorderRadius = 2;
|
buttonSync.BorderRadius = 2;
|
||||||
buttonSync.FlatStyle = FlatStyle.Flat;
|
buttonSync.FlatStyle = FlatStyle.Flat;
|
||||||
buttonSync.ForeColor = SystemColors.ControlText;
|
buttonSync.ForeColor = SystemColors.ControlText;
|
||||||
buttonSync.Location = new Point(223, 5);
|
buttonSync.Location = new Point(5, 37);
|
||||||
buttonSync.Margin = new Padding(2, 4, 2, 4);
|
buttonSync.Margin = new Padding(2, 4, 2, 4);
|
||||||
buttonSync.Name = "buttonSync";
|
buttonSync.Name = "buttonSync";
|
||||||
buttonSync.Secondary = false;
|
buttonSync.Secondary = false;
|
||||||
buttonSync.Size = new Size(195, 25);
|
buttonSync.Size = new Size(431, 25);
|
||||||
buttonSync.TabIndex = 46;
|
buttonSync.TabIndex = 46;
|
||||||
buttonSync.Text = "Synchronize with Mouse";
|
buttonSync.Text = "Synchronize with Mouse";
|
||||||
buttonSync.UseVisualStyleBackColor = false;
|
buttonSync.UseVisualStyleBackColor = false;
|
||||||
@@ -1322,7 +1322,7 @@
|
|||||||
panelBottomButtons.Location = new Point(7, 731);
|
panelBottomButtons.Location = new Point(7, 731);
|
||||||
panelBottomButtons.Margin = new Padding(2);
|
panelBottomButtons.Margin = new Padding(2);
|
||||||
panelBottomButtons.Name = "panelBottomButtons";
|
panelBottomButtons.Name = "panelBottomButtons";
|
||||||
panelBottomButtons.Size = new Size(420, 45);
|
panelBottomButtons.Size = new Size(437, 66);
|
||||||
panelBottomButtons.TabIndex = 47;
|
panelBottomButtons.TabIndex = 47;
|
||||||
//
|
//
|
||||||
// buttonImport
|
// buttonImport
|
||||||
@@ -1335,11 +1335,11 @@
|
|||||||
buttonImport.BorderRadius = 2;
|
buttonImport.BorderRadius = 2;
|
||||||
buttonImport.FlatStyle = FlatStyle.Flat;
|
buttonImport.FlatStyle = FlatStyle.Flat;
|
||||||
buttonImport.ForeColor = SystemColors.ControlText;
|
buttonImport.ForeColor = SystemColors.ControlText;
|
||||||
buttonImport.Location = new Point(106, 6);
|
buttonImport.Location = new Point(222, 6);
|
||||||
buttonImport.Margin = new Padding(2, 4, 2, 4);
|
buttonImport.Margin = new Padding(2, 4, 2, 4);
|
||||||
buttonImport.Name = "buttonImport";
|
buttonImport.Name = "buttonImport";
|
||||||
buttonImport.Secondary = false;
|
buttonImport.Secondary = false;
|
||||||
buttonImport.Size = new Size(102, 25);
|
buttonImport.Size = new Size(214, 25);
|
||||||
buttonImport.TabIndex = 48;
|
buttonImport.TabIndex = 48;
|
||||||
buttonImport.Text = "Import Profile";
|
buttonImport.Text = "Import Profile";
|
||||||
buttonImport.UseVisualStyleBackColor = false;
|
buttonImport.UseVisualStyleBackColor = false;
|
||||||
@@ -1355,11 +1355,11 @@
|
|||||||
buttonExport.BorderRadius = 2;
|
buttonExport.BorderRadius = 2;
|
||||||
buttonExport.FlatStyle = FlatStyle.Flat;
|
buttonExport.FlatStyle = FlatStyle.Flat;
|
||||||
buttonExport.ForeColor = SystemColors.ControlText;
|
buttonExport.ForeColor = SystemColors.ControlText;
|
||||||
buttonExport.Location = new Point(2, 6);
|
buttonExport.Location = new Point(5, 6);
|
||||||
buttonExport.Margin = new Padding(2, 4, 2, 4);
|
buttonExport.Margin = new Padding(2, 4, 2, 4);
|
||||||
buttonExport.Name = "buttonExport";
|
buttonExport.Name = "buttonExport";
|
||||||
buttonExport.Secondary = false;
|
buttonExport.Secondary = false;
|
||||||
buttonExport.Size = new Size(103, 25);
|
buttonExport.Size = new Size(197, 25);
|
||||||
buttonExport.TabIndex = 47;
|
buttonExport.TabIndex = 47;
|
||||||
buttonExport.Text = "Export Profile";
|
buttonExport.Text = "Export Profile";
|
||||||
buttonExport.UseVisualStyleBackColor = false;
|
buttonExport.UseVisualStyleBackColor = false;
|
||||||
@@ -1433,7 +1433,7 @@
|
|||||||
AutoScroll = true;
|
AutoScroll = true;
|
||||||
AutoSize = true;
|
AutoSize = true;
|
||||||
AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||||
ClientSize = new Size(451, 699);
|
ClientSize = new Size(451, 803);
|
||||||
Controls.Add(panelBottomButtons);
|
Controls.Add(panelBottomButtons);
|
||||||
Controls.Add(panelEnergy);
|
Controls.Add(panelEnergy);
|
||||||
Controls.Add(panelLighting);
|
Controls.Add(panelLighting);
|
||||||
|
|||||||
112
app/Display/DisplayGammaRamp.cs
Normal file
112
app/Display/DisplayGammaRamp.cs
Normal file
@@ -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);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
56
app/Display/GammaRamp.cs
Normal file
56
app/Display/GammaRamp.cs
Normal file
@@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,13 +1,174 @@
|
|||||||
using System.Diagnostics;
|
using GHelper.Helpers;
|
||||||
|
using GHelper.Mode;
|
||||||
|
using GHelper.USB;
|
||||||
|
using System.Management;
|
||||||
|
|
||||||
namespace GHelper.Display
|
namespace GHelper.Display
|
||||||
{
|
{
|
||||||
public class ScreenControl
|
public enum SplendidGamut : int
|
||||||
|
{
|
||||||
|
Native = 50,
|
||||||
|
sRGB = 51,
|
||||||
|
DCIP3 = 53,
|
||||||
|
DisplayP3 = 54
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum SplendidCommand: int
|
||||||
|
{
|
||||||
|
Init = 10,
|
||||||
|
DimmingAsus = 9,
|
||||||
|
DimmingVisual = 19,
|
||||||
|
GamutMode = 200,
|
||||||
|
|
||||||
|
Default = 11,
|
||||||
|
Racing = 21,
|
||||||
|
Scenery = 22,
|
||||||
|
RTS = 23,
|
||||||
|
FPS = 24,
|
||||||
|
Cinema = 25,
|
||||||
|
Vivid = 13,
|
||||||
|
Eyecare = 17,
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class ScreenControl
|
||||||
{
|
{
|
||||||
|
|
||||||
public const int MAX_REFRESH = 1000;
|
public const int MAX_REFRESH = 1000;
|
||||||
|
|
||||||
public void AutoScreen(bool force = false)
|
public static DisplayGammaRamp? gammaRamp;
|
||||||
|
|
||||||
|
private static int _brightness = 100;
|
||||||
|
private static bool _init = true;
|
||||||
|
private static string? _splendidPath = null;
|
||||||
|
|
||||||
|
private static System.Timers.Timer brightnessTimer = new System.Timers.Timer(100);
|
||||||
|
|
||||||
|
|
||||||
|
static ScreenControl () {
|
||||||
|
brightnessTimer.Elapsed += BrightnessTimerTimer_Elapsed;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static Dictionary<SplendidGamut, string> GetGamutModes ()
|
||||||
|
{
|
||||||
|
Dictionary<SplendidGamut, string> _modes = new Dictionary<SplendidGamut, string>();
|
||||||
|
|
||||||
|
DirectoryInfo d = new DirectoryInfo("C:\\ProgramData\\ASUS\\GameVisual");
|
||||||
|
FileInfo[] icms = d.GetFiles("*.icm");
|
||||||
|
|
||||||
|
if (icms.Length == 0) return _modes;
|
||||||
|
|
||||||
|
_modes.Add(SplendidGamut.Native, "Gamut - Native");
|
||||||
|
foreach (FileInfo icm in icms)
|
||||||
|
{
|
||||||
|
if (icm.Name.Contains("sRGB")) _modes.Add(SplendidGamut.sRGB, "Gamut - sRGB");
|
||||||
|
if (icm.Name.Contains("DCIP3")) _modes.Add(SplendidGamut.DCIP3, "Gamut - DCIP3");
|
||||||
|
if (icm.Name.Contains("DisplayP3")) _modes.Add(SplendidGamut.DisplayP3, "Gamut - DisplayP3");
|
||||||
|
}
|
||||||
|
return _modes;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Dictionary<SplendidCommand, string> GetVisualModes()
|
||||||
|
{
|
||||||
|
return new Dictionary<SplendidCommand, string>
|
||||||
|
{
|
||||||
|
{ SplendidCommand.Default, "Default"},
|
||||||
|
{ SplendidCommand.Racing, "Racing"},
|
||||||
|
{ SplendidCommand.Scenery, "Scenery"},
|
||||||
|
{ SplendidCommand.RTS, "RTS/RPG"},
|
||||||
|
{ SplendidCommand.FPS, "FPS"},
|
||||||
|
{ SplendidCommand.Cinema, "Cinema"},
|
||||||
|
{ SplendidCommand.Vivid, "Vivid" },
|
||||||
|
{ SplendidCommand.Eyecare, "Eyecare"}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void SetGamut(int mode = 50)
|
||||||
|
{
|
||||||
|
if (RunSplendid(SplendidCommand.GamutMode, 0, mode)) return;
|
||||||
|
|
||||||
|
if (_init)
|
||||||
|
{
|
||||||
|
_init = false;
|
||||||
|
RunSplendid(SplendidCommand.Init);
|
||||||
|
RunSplendid(SplendidCommand.GamutMode, 0, mode);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void SetVisual(SplendidCommand mode = SplendidCommand.Default, int whiteBalance = 50)
|
||||||
|
{
|
||||||
|
int balance = mode == SplendidCommand.Eyecare ? 2 : whiteBalance;
|
||||||
|
RunSplendid(mode, 0, balance);
|
||||||
|
|
||||||
|
if (_init)
|
||||||
|
{
|
||||||
|
_init = false;
|
||||||
|
RunSplendid(SplendidCommand.Init);
|
||||||
|
RunSplendid(mode, 0, balance);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static string GetSplendidPath()
|
||||||
|
{
|
||||||
|
if (_splendidPath == null)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
using (var searcher = new ManagementObjectSearcher(@"Select * from Win32_SystemDriver WHERE Name='ATKWMIACPIIO'"))
|
||||||
|
{
|
||||||
|
foreach (var driver in searcher.Get())
|
||||||
|
{
|
||||||
|
string path = driver["PathName"].ToString();
|
||||||
|
_splendidPath = Path.GetDirectoryName(path) + "\\AsusSplendid.exe";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Logger.WriteLine(ex.Message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return _splendidPath;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static bool RunSplendid(SplendidCommand command, int? param1 = null, int? param2 = null)
|
||||||
|
{
|
||||||
|
var splendid = GetSplendidPath();
|
||||||
|
bool isGameVisual = Directory.Exists("C:\\ProgramData\\ASUS\\GameVisual");
|
||||||
|
bool isSplenddid = File.Exists(splendid);
|
||||||
|
|
||||||
|
if (isSplenddid)
|
||||||
|
{
|
||||||
|
if (command == SplendidCommand.DimmingVisual && !isGameVisual) command = SplendidCommand.DimmingAsus;
|
||||||
|
var result = ProcessHelper.RunCMD(splendid, (int)command + " " + param1 + " " + param2);
|
||||||
|
if (result.Contains("file not exist") || (result.Length == 0 && isGameVisual)) return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void BrightnessTimerTimer_Elapsed(object? sender, System.Timers.ElapsedEventArgs e)
|
||||||
|
{
|
||||||
|
brightnessTimer.Stop();
|
||||||
|
|
||||||
|
|
||||||
|
if (RunSplendid(SplendidCommand.DimmingVisual, 0, (int)(40 + _brightness * 0.6))) return;
|
||||||
|
|
||||||
|
if (_init)
|
||||||
|
{
|
||||||
|
_init = false;
|
||||||
|
RunSplendid(SplendidCommand.Init);
|
||||||
|
RunSplendid(SplendidCommand.Init, 4);
|
||||||
|
if (RunSplendid(SplendidCommand.DimmingVisual, 0, (int)(40 + _brightness * 0.6))) return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// GammaRamp Fallback
|
||||||
|
SetGamma(_brightness);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void AutoScreen(bool force = false)
|
||||||
{
|
{
|
||||||
if (force || AppConfig.Is("screen_auto"))
|
if (force || AppConfig.Is("screen_auto"))
|
||||||
{
|
{
|
||||||
@@ -22,7 +183,67 @@ namespace GHelper.Display
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetScreen(int frequency = -1, int overdrive = -1, int miniled = -1)
|
public static int SetBrightness(int brightness = -1, int delta = 0)
|
||||||
|
{
|
||||||
|
if (!AppConfig.IsOLED()) return -1;
|
||||||
|
|
||||||
|
if (brightness < 0) brightness = AppConfig.Get("brightness", 100);
|
||||||
|
|
||||||
|
_brightness = Math.Max(0, Math.Min(100, brightness + delta));
|
||||||
|
AppConfig.Set("brightness", _brightness);
|
||||||
|
|
||||||
|
brightnessTimer.Start();
|
||||||
|
|
||||||
|
Program.settingsForm.VisualiseBrightness();
|
||||||
|
|
||||||
|
return _brightness;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public static 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("Not default Gamma");
|
||||||
|
gammaRamp = new DisplayGammaRamp();
|
||||||
|
}
|
||||||
|
|
||||||
|
var ramp = gammaRamp.AsBrightnessRamp(bright);
|
||||||
|
bool result = ScreenNative.SetDeviceGammaRamp(handle, ref ramp);
|
||||||
|
|
||||||
|
Logger.WriteLine("Gamma " + bright.ToString() + ": " + result);
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Logger.WriteLine(ex.ToString());
|
||||||
|
}
|
||||||
|
|
||||||
|
//ScreenBrightness.Set(60 + (int)(40 * bright));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void SetScreen(int frequency = -1, int overdrive = -1, int miniled = -1)
|
||||||
{
|
{
|
||||||
var laptopScreen = ScreenNative.FindLaptopScreen(true);
|
var laptopScreen = ScreenNative.FindLaptopScreen(true);
|
||||||
|
|
||||||
@@ -42,8 +263,8 @@ namespace GHelper.Display
|
|||||||
|
|
||||||
if (overdrive >= 0)
|
if (overdrive >= 0)
|
||||||
{
|
{
|
||||||
if (AppConfig.Get("no_overdrive") == 1) overdrive = 0;
|
if (AppConfig.IsNoOverdrive()) overdrive = 0;
|
||||||
Program.acpi.DeviceSet(AsusACPI.ScreenOverdrive, overdrive, "ScreenOverdrive");
|
if (!AppConfig.IsOLED()) Program.acpi.DeviceSet(AsusACPI.ScreenOverdrive, overdrive, "ScreenOverdrive");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -59,7 +280,7 @@ namespace GHelper.Display
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public int ToogleMiniled()
|
public static int ToogleMiniled()
|
||||||
{
|
{
|
||||||
int miniled1 = Program.acpi.DeviceGet(AsusACPI.ScreenMiniled1);
|
int miniled1 = Program.acpi.DeviceGet(AsusACPI.ScreenMiniled1);
|
||||||
int miniled2 = Program.acpi.DeviceGet(AsusACPI.ScreenMiniled2);
|
int miniled2 = Program.acpi.DeviceGet(AsusACPI.ScreenMiniled2);
|
||||||
@@ -71,7 +292,8 @@ namespace GHelper.Display
|
|||||||
if (miniled1 >= 0)
|
if (miniled1 >= 0)
|
||||||
{
|
{
|
||||||
miniled = (miniled1 == 1) ? 0 : 1;
|
miniled = (miniled1 == 1) ? 0 : 1;
|
||||||
} else
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
switch (miniled2)
|
switch (miniled2)
|
||||||
{
|
{
|
||||||
@@ -86,7 +308,7 @@ namespace GHelper.Display
|
|||||||
return miniled;
|
return miniled;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void InitScreen()
|
public static void InitScreen()
|
||||||
{
|
{
|
||||||
var laptopScreen = ScreenNative.FindLaptopScreen();
|
var laptopScreen = ScreenNative.FindLaptopScreen();
|
||||||
|
|
||||||
@@ -94,9 +316,9 @@ namespace GHelper.Display
|
|||||||
int maxFrequency = ScreenNative.GetMaxRefreshRate(laptopScreen);
|
int maxFrequency = ScreenNative.GetMaxRefreshRate(laptopScreen);
|
||||||
|
|
||||||
bool screenAuto = AppConfig.Is("screen_auto");
|
bool screenAuto = AppConfig.Is("screen_auto");
|
||||||
bool overdriveSetting = !AppConfig.Is("no_overdrive");
|
bool overdriveSetting = !AppConfig.IsNoOverdrive();
|
||||||
|
|
||||||
int overdrive = Program.acpi.DeviceGet(AsusACPI.ScreenOverdrive);
|
int overdrive = AppConfig.IsNoOverdrive() ? 0 : Program.acpi.DeviceGet(AsusACPI.ScreenOverdrive);
|
||||||
|
|
||||||
int miniled1 = Program.acpi.DeviceGet(AsusACPI.ScreenMiniled1);
|
int miniled1 = Program.acpi.DeviceGet(AsusACPI.ScreenMiniled1);
|
||||||
int miniled2 = Program.acpi.DeviceGet(AsusACPI.ScreenMiniled2);
|
int miniled2 = Program.acpi.DeviceGet(AsusACPI.ScreenMiniled2);
|
||||||
|
|||||||
@@ -339,7 +339,20 @@ namespace GHelper.Display
|
|||||||
|
|
||||||
for (var i = 0; i < modeCount; i++)
|
for (var i = 0; i < modeCount; i++)
|
||||||
if (displayModes[i].infoType == DISPLAYCONFIG_MODE_INFO_TYPE.DISPLAYCONFIG_MODE_INFO_TYPE_TARGET)
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -32,6 +32,22 @@ namespace GHelper.Display
|
|||||||
}
|
}
|
||||||
internal class ScreenNative
|
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);
|
||||||
|
|
||||||
|
[DllImport("gdi32", CharSet = CharSet.Unicode)]
|
||||||
|
internal static extern bool SetICMProfileW(IntPtr dcHandle, string lpFileName);
|
||||||
|
|
||||||
|
[DllImport("gdi32", CharSet = CharSet.Unicode)]
|
||||||
|
internal static extern bool SetICMMode(IntPtr dcHandle, int mode);
|
||||||
|
|
||||||
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
|
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
|
||||||
public struct DEVMODE
|
public struct DEVMODE
|
||||||
{
|
{
|
||||||
@@ -146,7 +162,7 @@ namespace GHelper.Display
|
|||||||
public const string defaultDevice = @"\\.\DISPLAY1";
|
public const string defaultDevice = @"\\.\DISPLAY1";
|
||||||
|
|
||||||
|
|
||||||
private static string? FindInternalName(bool log = false)
|
public static string? FindInternalName(bool log = false)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|||||||
229
app/Extra.Designer.cs
generated
229
app/Extra.Designer.cs
generated
@@ -99,6 +99,7 @@ namespace GHelper
|
|||||||
checkSleepLid = new CheckBox();
|
checkSleepLid = new CheckBox();
|
||||||
checkShutdownLid = new CheckBox();
|
checkShutdownLid = new CheckBox();
|
||||||
panelSettingsHeader = new Panel();
|
panelSettingsHeader = new Panel();
|
||||||
|
pictureScan = new PictureBox();
|
||||||
pictureLog = new PictureBox();
|
pictureLog = new PictureBox();
|
||||||
pictureSettings = new PictureBox();
|
pictureSettings = new PictureBox();
|
||||||
labelSettings = new Label();
|
labelSettings = new Label();
|
||||||
@@ -120,6 +121,18 @@ namespace GHelper
|
|||||||
comboAPU = new RComboBox();
|
comboAPU = new RComboBox();
|
||||||
pictureAPUMem = new PictureBox();
|
pictureAPUMem = new PictureBox();
|
||||||
labelAPUMem = new Label();
|
labelAPUMem = new Label();
|
||||||
|
panelCores = new Panel();
|
||||||
|
buttonCores = new RButton();
|
||||||
|
comboCoresP = new RComboBox();
|
||||||
|
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();
|
panelServices.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)pictureService).BeginInit();
|
((System.ComponentModel.ISupportInitialize)pictureService).BeginInit();
|
||||||
panelBindingsHeader.SuspendLayout();
|
panelBindingsHeader.SuspendLayout();
|
||||||
@@ -136,6 +149,7 @@ namespace GHelper
|
|||||||
panelXMG.SuspendLayout();
|
panelXMG.SuspendLayout();
|
||||||
tableBacklight.SuspendLayout();
|
tableBacklight.SuspendLayout();
|
||||||
panelSettingsHeader.SuspendLayout();
|
panelSettingsHeader.SuspendLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)pictureScan).BeginInit();
|
||||||
((System.ComponentModel.ISupportInitialize)pictureLog).BeginInit();
|
((System.ComponentModel.ISupportInitialize)pictureLog).BeginInit();
|
||||||
((System.ComponentModel.ISupportInitialize)pictureSettings).BeginInit();
|
((System.ComponentModel.ISupportInitialize)pictureSettings).BeginInit();
|
||||||
panelSettings.SuspendLayout();
|
panelSettings.SuspendLayout();
|
||||||
@@ -144,6 +158,10 @@ namespace GHelper
|
|||||||
((System.ComponentModel.ISupportInitialize)pictureHibernate).BeginInit();
|
((System.ComponentModel.ISupportInitialize)pictureHibernate).BeginInit();
|
||||||
panelAPU.SuspendLayout();
|
panelAPU.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)pictureAPUMem).BeginInit();
|
((System.ComponentModel.ISupportInitialize)pictureAPUMem).BeginInit();
|
||||||
|
panelCores.SuspendLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)pictureCores).BeginInit();
|
||||||
|
panelACPI.SuspendLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)pictureDebug).BeginInit();
|
||||||
SuspendLayout();
|
SuspendLayout();
|
||||||
//
|
//
|
||||||
// panelServices
|
// panelServices
|
||||||
@@ -153,7 +171,7 @@ namespace GHelper
|
|||||||
panelServices.Controls.Add(labelServices);
|
panelServices.Controls.Add(labelServices);
|
||||||
panelServices.Controls.Add(buttonServices);
|
panelServices.Controls.Add(buttonServices);
|
||||||
panelServices.Dock = DockStyle.Top;
|
panelServices.Dock = DockStyle.Top;
|
||||||
panelServices.Location = new Point(15, 1378);
|
panelServices.Location = new Point(15, 1508);
|
||||||
panelServices.Name = "panelServices";
|
panelServices.Name = "panelServices";
|
||||||
panelServices.Size = new Size(983, 75);
|
panelServices.Size = new Size(983, 75);
|
||||||
panelServices.TabIndex = 5;
|
panelServices.TabIndex = 5;
|
||||||
@@ -1003,6 +1021,7 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
panelSettingsHeader.AutoSize = true;
|
panelSettingsHeader.AutoSize = true;
|
||||||
panelSettingsHeader.BackColor = SystemColors.ControlLight;
|
panelSettingsHeader.BackColor = SystemColors.ControlLight;
|
||||||
|
panelSettingsHeader.Controls.Add(pictureScan);
|
||||||
panelSettingsHeader.Controls.Add(pictureLog);
|
panelSettingsHeader.Controls.Add(pictureLog);
|
||||||
panelSettingsHeader.Controls.Add(pictureSettings);
|
panelSettingsHeader.Controls.Add(pictureSettings);
|
||||||
panelSettingsHeader.Controls.Add(labelSettings);
|
panelSettingsHeader.Controls.Add(labelSettings);
|
||||||
@@ -1013,6 +1032,20 @@ namespace GHelper
|
|||||||
panelSettingsHeader.Size = new Size(983, 51);
|
panelSettingsHeader.Size = new Size(983, 51);
|
||||||
panelSettingsHeader.TabIndex = 45;
|
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
|
||||||
//
|
//
|
||||||
pictureLog.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
pictureLog.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
||||||
@@ -1060,7 +1093,7 @@ namespace GHelper
|
|||||||
panelSettings.Controls.Add(checkGpuApps);
|
panelSettings.Controls.Add(checkGpuApps);
|
||||||
panelSettings.Controls.Add(checkGPUFix);
|
panelSettings.Controls.Add(checkGPUFix);
|
||||||
panelSettings.Dock = DockStyle.Top;
|
panelSettings.Dock = DockStyle.Top;
|
||||||
panelSettings.Location = new Point(15, 978);
|
panelSettings.Location = new Point(15, 1108);
|
||||||
panelSettings.Name = "panelSettings";
|
panelSettings.Name = "panelSettings";
|
||||||
panelSettings.Padding = new Padding(20, 5, 11, 5);
|
panelSettings.Padding = new Padding(20, 5, 11, 5);
|
||||||
panelSettings.Size = new Size(983, 346);
|
panelSettings.Size = new Size(983, 346);
|
||||||
@@ -1175,7 +1208,7 @@ namespace GHelper
|
|||||||
panelPower.Controls.Add(labelHibernateAfter);
|
panelPower.Controls.Add(labelHibernateAfter);
|
||||||
panelPower.Controls.Add(pictureHibernate);
|
panelPower.Controls.Add(pictureHibernate);
|
||||||
panelPower.Dock = DockStyle.Top;
|
panelPower.Dock = DockStyle.Top;
|
||||||
panelPower.Location = new Point(15, 1324);
|
panelPower.Location = new Point(15, 1454);
|
||||||
panelPower.Name = "panelPower";
|
panelPower.Name = "panelPower";
|
||||||
panelPower.Size = new Size(983, 54);
|
panelPower.Size = new Size(983, 54);
|
||||||
panelPower.TabIndex = 4;
|
panelPower.TabIndex = 4;
|
||||||
@@ -1218,7 +1251,7 @@ namespace GHelper
|
|||||||
panelAPU.Controls.Add(pictureAPUMem);
|
panelAPU.Controls.Add(pictureAPUMem);
|
||||||
panelAPU.Controls.Add(labelAPUMem);
|
panelAPU.Controls.Add(labelAPUMem);
|
||||||
panelAPU.Dock = DockStyle.Top;
|
panelAPU.Dock = DockStyle.Top;
|
||||||
panelAPU.Location = new Point(15, 921);
|
panelAPU.Location = new Point(15, 1051);
|
||||||
panelAPU.Name = "panelAPU";
|
panelAPU.Name = "panelAPU";
|
||||||
panelAPU.Padding = new Padding(11, 5, 11, 0);
|
panelAPU.Padding = new Padding(11, 5, 11, 0);
|
||||||
panelAPU.Size = new Size(983, 57);
|
panelAPU.Size = new Size(983, 57);
|
||||||
@@ -1236,10 +1269,10 @@ namespace GHelper
|
|||||||
comboAPU.FormattingEnabled = true;
|
comboAPU.FormattingEnabled = true;
|
||||||
comboAPU.ItemHeight = 32;
|
comboAPU.ItemHeight = 32;
|
||||||
comboAPU.Items.AddRange(new object[] { "Auto", "1G", "2G", "3G", "4G", "5G", "6G", "7G", "8G" });
|
comboAPU.Items.AddRange(new object[] { "Auto", "1G", "2G", "3G", "4G", "5G", "6G", "7G", "8G" });
|
||||||
comboAPU.Location = new Point(663, 8);
|
comboAPU.Location = new Point(654, 8);
|
||||||
comboAPU.Margin = new Padding(4, 12, 4, 9);
|
comboAPU.Margin = new Padding(4, 12, 4, 9);
|
||||||
comboAPU.Name = "comboAPU";
|
comboAPU.Name = "comboAPU";
|
||||||
comboAPU.Size = new Size(293, 40);
|
comboAPU.Size = new Size(309, 40);
|
||||||
comboAPU.TabIndex = 12;
|
comboAPU.TabIndex = 12;
|
||||||
comboAPU.TabStop = false;
|
comboAPU.TabStop = false;
|
||||||
//
|
//
|
||||||
@@ -1257,12 +1290,170 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
labelAPUMem.AutoSize = true;
|
labelAPUMem.AutoSize = true;
|
||||||
labelAPUMem.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
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.Name = "labelAPUMem";
|
||||||
labelAPUMem.Size = new Size(309, 32);
|
labelAPUMem.Size = new Size(309, 32);
|
||||||
labelAPUMem.TabIndex = 0;
|
labelAPUMem.TabIndex = 0;
|
||||||
labelAPUMem.Text = "Memory Assigned to GPU";
|
labelAPUMem.Text = "Memory Assigned to GPU";
|
||||||
//
|
//
|
||||||
|
// panelCores
|
||||||
|
//
|
||||||
|
panelCores.AutoSize = true;
|
||||||
|
panelCores.Controls.Add(buttonCores);
|
||||||
|
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, 990);
|
||||||
|
panelCores.Name = "panelCores";
|
||||||
|
panelCores.Padding = new Padding(11, 5, 11, 0);
|
||||||
|
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;
|
||||||
|
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(543, 10);
|
||||||
|
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(702, 10);
|
||||||
|
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";
|
||||||
|
//
|
||||||
|
// 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
|
// Extra
|
||||||
//
|
//
|
||||||
AutoScaleDimensions = new SizeF(192F, 192F);
|
AutoScaleDimensions = new SizeF(192F, 192F);
|
||||||
@@ -1270,11 +1461,13 @@ namespace GHelper
|
|||||||
AutoScroll = true;
|
AutoScroll = true;
|
||||||
AutoSize = true;
|
AutoSize = true;
|
||||||
AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||||
ClientSize = new Size(1013, 1515);
|
ClientSize = new Size(1013, 1612);
|
||||||
Controls.Add(panelServices);
|
Controls.Add(panelServices);
|
||||||
Controls.Add(panelPower);
|
Controls.Add(panelPower);
|
||||||
Controls.Add(panelSettings);
|
Controls.Add(panelSettings);
|
||||||
Controls.Add(panelAPU);
|
Controls.Add(panelAPU);
|
||||||
|
Controls.Add(panelCores);
|
||||||
|
Controls.Add(panelACPI);
|
||||||
Controls.Add(panelSettingsHeader);
|
Controls.Add(panelSettingsHeader);
|
||||||
Controls.Add(panelBacklight);
|
Controls.Add(panelBacklight);
|
||||||
Controls.Add(panelBacklightHeader);
|
Controls.Add(panelBacklightHeader);
|
||||||
@@ -1315,6 +1508,7 @@ namespace GHelper
|
|||||||
tableBacklight.ResumeLayout(false);
|
tableBacklight.ResumeLayout(false);
|
||||||
panelSettingsHeader.ResumeLayout(false);
|
panelSettingsHeader.ResumeLayout(false);
|
||||||
panelSettingsHeader.PerformLayout();
|
panelSettingsHeader.PerformLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)pictureScan).EndInit();
|
||||||
((System.ComponentModel.ISupportInitialize)pictureLog).EndInit();
|
((System.ComponentModel.ISupportInitialize)pictureLog).EndInit();
|
||||||
((System.ComponentModel.ISupportInitialize)pictureSettings).EndInit();
|
((System.ComponentModel.ISupportInitialize)pictureSettings).EndInit();
|
||||||
panelSettings.ResumeLayout(false);
|
panelSettings.ResumeLayout(false);
|
||||||
@@ -1326,6 +1520,12 @@ namespace GHelper
|
|||||||
panelAPU.ResumeLayout(false);
|
panelAPU.ResumeLayout(false);
|
||||||
panelAPU.PerformLayout();
|
panelAPU.PerformLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)pictureAPUMem).EndInit();
|
((System.ComponentModel.ISupportInitialize)pictureAPUMem).EndInit();
|
||||||
|
panelCores.ResumeLayout(false);
|
||||||
|
panelCores.PerformLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)pictureCores).EndInit();
|
||||||
|
panelACPI.ResumeLayout(false);
|
||||||
|
panelACPI.PerformLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)pictureDebug).EndInit();
|
||||||
ResumeLayout(false);
|
ResumeLayout(false);
|
||||||
PerformLayout();
|
PerformLayout();
|
||||||
}
|
}
|
||||||
@@ -1420,5 +1620,18 @@ namespace GHelper
|
|||||||
private PictureBox pictureAPUMem;
|
private PictureBox pictureAPUMem;
|
||||||
private Label labelAPUMem;
|
private Label labelAPUMem;
|
||||||
private RComboBox comboAPU;
|
private RComboBox comboAPU;
|
||||||
|
private PictureBox pictureScan;
|
||||||
|
private Panel panelCores;
|
||||||
|
private RComboBox comboCoresE;
|
||||||
|
private PictureBox pictureCores;
|
||||||
|
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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
94
app/Extra.cs
94
app/Extra.cs
@@ -12,7 +12,6 @@ namespace GHelper
|
|||||||
public partial class Extra : RForm
|
public partial class Extra : RForm
|
||||||
{
|
{
|
||||||
|
|
||||||
ScreenControl screenControl = new ScreenControl();
|
|
||||||
ClamshellModeControl clamshellControl = new ClamshellModeControl();
|
ClamshellModeControl clamshellControl = new ClamshellModeControl();
|
||||||
|
|
||||||
const string EMPTY = "--------------";
|
const string EMPTY = "--------------";
|
||||||
@@ -210,6 +209,11 @@ namespace GHelper
|
|||||||
checkUSBC.Visible = false;
|
checkUSBC.Visible = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (AppConfig.IsOLED())
|
||||||
|
{
|
||||||
|
checkNoOverdrive.Visible = false;
|
||||||
|
}
|
||||||
|
|
||||||
// Change text and hide irrelevant options on the ROG Ally,
|
// Change text and hide irrelevant options on the ROG Ally,
|
||||||
// which is a bit of a special case piece of hardware.
|
// which is a bit of a special case piece of hardware.
|
||||||
if (AppConfig.IsAlly())
|
if (AppConfig.IsAlly())
|
||||||
@@ -357,7 +361,7 @@ namespace GHelper
|
|||||||
checkTopmost.Checked = AppConfig.Is("topmost");
|
checkTopmost.Checked = AppConfig.Is("topmost");
|
||||||
checkTopmost.CheckedChanged += CheckTopmost_CheckedChanged; ;
|
checkTopmost.CheckedChanged += CheckTopmost_CheckedChanged; ;
|
||||||
|
|
||||||
checkNoOverdrive.Checked = AppConfig.Is("no_overdrive");
|
checkNoOverdrive.Checked = AppConfig.IsNoOverdrive();
|
||||||
checkNoOverdrive.CheckedChanged += CheckNoOverdrive_CheckedChanged;
|
checkNoOverdrive.CheckedChanged += CheckNoOverdrive_CheckedChanged;
|
||||||
|
|
||||||
checkUSBC.Checked = AppConfig.Is("optimized_usbc");
|
checkUSBC.Checked = AppConfig.Is("optimized_usbc");
|
||||||
@@ -393,9 +397,93 @@ namespace GHelper
|
|||||||
|
|
||||||
toolTip.SetToolTip(checkAutoToggleClamshellMode, "Disable sleep on lid close when plugged in and external monitor is connected");
|
toolTip.SetToolTip(checkAutoToggleClamshellMode, "Disable sleep on lid close when plugged in and external monitor is connected");
|
||||||
|
|
||||||
|
InitCores();
|
||||||
InitVariBright();
|
InitVariBright();
|
||||||
InitServices();
|
InitServices();
|
||||||
InitHibernate();
|
InitHibernate();
|
||||||
|
|
||||||
|
InitACPITesting();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void InitACPITesting()
|
||||||
|
{
|
||||||
|
if (!AppConfig.Is("debug")) return;
|
||||||
|
|
||||||
|
pictureScan.Visible = true;
|
||||||
|
panelACPI.Visible = true;
|
||||||
|
|
||||||
|
textACPICommand.Text = "120098";
|
||||||
|
textACPIParam.Text = "25";
|
||||||
|
|
||||||
|
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()
|
||||||
|
{
|
||||||
|
(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;
|
||||||
|
}
|
||||||
|
|
||||||
|
eCoresMax = Math.Max(8, eCoresMax);
|
||||||
|
pCoresMax = Math.Max(6, pCoresMax);
|
||||||
|
|
||||||
|
panelCores.Visible = true;
|
||||||
|
|
||||||
|
comboCoresE.DropDownStyle = ComboBoxStyle.DropDownList;
|
||||||
|
comboCoresP.DropDownStyle = ComboBoxStyle.DropDownList;
|
||||||
|
|
||||||
|
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");
|
||||||
|
|
||||||
|
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;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ButtonCores_Click(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
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");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void PictureScan_Click(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
string logFile = Program.acpi.ScanRange();
|
||||||
|
new Process
|
||||||
|
{
|
||||||
|
StartInfo = new ProcessStartInfo(logFile)
|
||||||
|
{
|
||||||
|
UseShellExecute = true
|
||||||
|
}
|
||||||
|
}.Start();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ComboAPU_SelectedIndexChanged(object? sender, EventArgs e)
|
private void ComboAPU_SelectedIndexChanged(object? sender, EventArgs e)
|
||||||
@@ -595,7 +683,7 @@ namespace GHelper
|
|||||||
private void CheckNoOverdrive_CheckedChanged(object? sender, EventArgs e)
|
private void CheckNoOverdrive_CheckedChanged(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
AppConfig.Set("no_overdrive", (checkNoOverdrive.Checked ? 1 : 0));
|
AppConfig.Set("no_overdrive", (checkNoOverdrive.Checked ? 1 : 0));
|
||||||
screenControl.AutoScreen(true);
|
ScreenControl.AutoScreen(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ namespace GHelper.Fan
|
|||||||
|
|
||||||
public const int XGM_FAN_MAX = 72;
|
public const int XGM_FAN_MAX = 72;
|
||||||
|
|
||||||
public const int INADEQUATE_MAX = 92;
|
public const int INADEQUATE_MAX = 104;
|
||||||
|
|
||||||
const int FAN_COUNT = 3;
|
const int FAN_COUNT = 3;
|
||||||
|
|
||||||
|
|||||||
73
app/Fans.Designer.cs
generated
73
app/Fans.Designer.cs
generated
@@ -119,6 +119,10 @@ namespace GHelper
|
|||||||
picturePowerMode = new PictureBox();
|
picturePowerMode = new PictureBox();
|
||||||
labelPowerModeTitle = new Label();
|
labelPowerModeTitle = new Label();
|
||||||
panelGPU = new Panel();
|
panelGPU = new Panel();
|
||||||
|
panelGPUPower = new Panel();
|
||||||
|
labelGPUPower = new Label();
|
||||||
|
labelGPUPowerTitle = new Label();
|
||||||
|
trackGPUPower = new TrackBar();
|
||||||
panelGPUTemp = new Panel();
|
panelGPUTemp = new Panel();
|
||||||
labelGPUTemp = new Label();
|
labelGPUTemp = new Label();
|
||||||
labelGPUTempTitle = new Label();
|
labelGPUTempTitle = new Label();
|
||||||
@@ -190,6 +194,8 @@ namespace GHelper
|
|||||||
panelPowerModeTItle.SuspendLayout();
|
panelPowerModeTItle.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)picturePowerMode).BeginInit();
|
((System.ComponentModel.ISupportInitialize)picturePowerMode).BeginInit();
|
||||||
panelGPU.SuspendLayout();
|
panelGPU.SuspendLayout();
|
||||||
|
panelGPUPower.SuspendLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)trackGPUPower).BeginInit();
|
||||||
panelGPUTemp.SuspendLayout();
|
panelGPUTemp.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)trackGPUTemp).BeginInit();
|
((System.ComponentModel.ISupportInitialize)trackGPUTemp).BeginInit();
|
||||||
panelGPUBoost.SuspendLayout();
|
panelGPUBoost.SuspendLayout();
|
||||||
@@ -533,7 +539,7 @@ namespace GHelper
|
|||||||
panelAdvanced.Controls.Add(panelTitleTemp);
|
panelAdvanced.Controls.Add(panelTitleTemp);
|
||||||
panelAdvanced.Controls.Add(panelDownload);
|
panelAdvanced.Controls.Add(panelDownload);
|
||||||
panelAdvanced.Dock = DockStyle.Top;
|
panelAdvanced.Dock = DockStyle.Top;
|
||||||
panelAdvanced.Location = new Point(10, 1644);
|
panelAdvanced.Location = new Point(10, 1768);
|
||||||
panelAdvanced.Name = "panelAdvanced";
|
panelAdvanced.Name = "panelAdvanced";
|
||||||
panelAdvanced.Size = new Size(520, 992);
|
panelAdvanced.Size = new Size(520, 992);
|
||||||
panelAdvanced.TabIndex = 14;
|
panelAdvanced.TabIndex = 14;
|
||||||
@@ -864,7 +870,7 @@ namespace GHelper
|
|||||||
panelPower.Controls.Add(panelPowerMode);
|
panelPower.Controls.Add(panelPowerMode);
|
||||||
panelPower.Controls.Add(panelPowerModeTItle);
|
panelPower.Controls.Add(panelPowerModeTItle);
|
||||||
panelPower.Dock = DockStyle.Top;
|
panelPower.Dock = DockStyle.Top;
|
||||||
panelPower.Location = new Point(10, 764);
|
panelPower.Location = new Point(10, 888);
|
||||||
panelPower.Margin = new Padding(4);
|
panelPower.Margin = new Padding(4);
|
||||||
panelPower.Name = "panelPower";
|
panelPower.Name = "panelPower";
|
||||||
panelPower.Size = new Size(520, 880);
|
panelPower.Size = new Size(520, 880);
|
||||||
@@ -1237,6 +1243,7 @@ namespace GHelper
|
|||||||
panelGPU.AutoSize = true;
|
panelGPU.AutoSize = true;
|
||||||
panelGPU.Controls.Add(panelGPUTemp);
|
panelGPU.Controls.Add(panelGPUTemp);
|
||||||
panelGPU.Controls.Add(panelGPUBoost);
|
panelGPU.Controls.Add(panelGPUBoost);
|
||||||
|
panelGPU.Controls.Add(panelGPUPower);
|
||||||
panelGPU.Controls.Add(panelGPUMemory);
|
panelGPU.Controls.Add(panelGPUMemory);
|
||||||
panelGPU.Controls.Add(panelGPUCore);
|
panelGPU.Controls.Add(panelGPUCore);
|
||||||
panelGPU.Controls.Add(panelGPUClockLimit);
|
panelGPU.Controls.Add(panelGPUClockLimit);
|
||||||
@@ -1246,10 +1253,59 @@ namespace GHelper
|
|||||||
panelGPU.Margin = new Padding(4);
|
panelGPU.Margin = new Padding(4);
|
||||||
panelGPU.Name = "panelGPU";
|
panelGPU.Name = "panelGPU";
|
||||||
panelGPU.Padding = new Padding(0, 0, 0, 18);
|
panelGPU.Padding = new Padding(0, 0, 0, 18);
|
||||||
panelGPU.Size = new Size(520, 698);
|
panelGPU.Size = new Size(520, 822);
|
||||||
panelGPU.TabIndex = 44;
|
panelGPU.TabIndex = 44;
|
||||||
panelGPU.Visible = false;
|
panelGPU.Visible = false;
|
||||||
//
|
//
|
||||||
|
// panelGPUPower
|
||||||
|
//
|
||||||
|
panelGPUPower.AutoSize = true;
|
||||||
|
panelGPUPower.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||||
|
panelGPUPower.Controls.Add(labelGPUPower);
|
||||||
|
panelGPUPower.Controls.Add(labelGPUPowerTitle);
|
||||||
|
panelGPUPower.Controls.Add(trackGPUPower);
|
||||||
|
panelGPUPower.Dock = DockStyle.Top;
|
||||||
|
panelGPUPower.Location = new Point(0, 432);
|
||||||
|
panelGPUPower.Margin = new Padding(4);
|
||||||
|
panelGPUPower.MaximumSize = new Size(0, 124);
|
||||||
|
panelGPUPower.Name = "panelGPUPower";
|
||||||
|
panelGPUPower.Size = new Size(520, 124);
|
||||||
|
panelGPUPower.TabIndex = 49;
|
||||||
|
//
|
||||||
|
// labelGPUPower
|
||||||
|
//
|
||||||
|
labelGPUPower.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||||
|
labelGPUPower.Location = new Point(374, 14);
|
||||||
|
labelGPUPower.Margin = new Padding(4, 0, 4, 0);
|
||||||
|
labelGPUPower.Name = "labelGPUPower";
|
||||||
|
labelGPUPower.Size = new Size(124, 32);
|
||||||
|
labelGPUPower.TabIndex = 44;
|
||||||
|
labelGPUPower.Text = "105W";
|
||||||
|
labelGPUPower.TextAlign = ContentAlignment.TopRight;
|
||||||
|
//
|
||||||
|
// labelGPUPowerTitle
|
||||||
|
//
|
||||||
|
labelGPUPowerTitle.AutoSize = true;
|
||||||
|
labelGPUPowerTitle.Location = new Point(10, 14);
|
||||||
|
labelGPUPowerTitle.Margin = new Padding(4, 0, 4, 0);
|
||||||
|
labelGPUPowerTitle.Name = "labelGPUPowerTitle";
|
||||||
|
labelGPUPowerTitle.Size = new Size(130, 32);
|
||||||
|
labelGPUPowerTitle.TabIndex = 43;
|
||||||
|
labelGPUPowerTitle.Text = "GPU Power";
|
||||||
|
//
|
||||||
|
// trackGPUPower
|
||||||
|
//
|
||||||
|
trackGPUPower.Location = new Point(6, 48);
|
||||||
|
trackGPUPower.Margin = new Padding(4, 2, 4, 2);
|
||||||
|
trackGPUPower.Maximum = 25;
|
||||||
|
trackGPUPower.Minimum = 5;
|
||||||
|
trackGPUPower.Name = "trackGPUPower";
|
||||||
|
trackGPUPower.Size = new Size(496, 90);
|
||||||
|
trackGPUPower.TabIndex = 42;
|
||||||
|
trackGPUPower.TickFrequency = 5;
|
||||||
|
trackGPUPower.TickStyle = TickStyle.TopLeft;
|
||||||
|
trackGPUPower.Value = 25;
|
||||||
|
//
|
||||||
// panelGPUTemp
|
// panelGPUTemp
|
||||||
//
|
//
|
||||||
panelGPUTemp.AutoSize = true;
|
panelGPUTemp.AutoSize = true;
|
||||||
@@ -1258,7 +1314,7 @@ namespace GHelper
|
|||||||
panelGPUTemp.Controls.Add(labelGPUTempTitle);
|
panelGPUTemp.Controls.Add(labelGPUTempTitle);
|
||||||
panelGPUTemp.Controls.Add(trackGPUTemp);
|
panelGPUTemp.Controls.Add(trackGPUTemp);
|
||||||
panelGPUTemp.Dock = DockStyle.Top;
|
panelGPUTemp.Dock = DockStyle.Top;
|
||||||
panelGPUTemp.Location = new Point(0, 556);
|
panelGPUTemp.Location = new Point(0, 680);
|
||||||
panelGPUTemp.Margin = new Padding(4);
|
panelGPUTemp.Margin = new Padding(4);
|
||||||
panelGPUTemp.MaximumSize = new Size(0, 124);
|
panelGPUTemp.MaximumSize = new Size(0, 124);
|
||||||
panelGPUTemp.Name = "panelGPUTemp";
|
panelGPUTemp.Name = "panelGPUTemp";
|
||||||
@@ -1307,7 +1363,7 @@ namespace GHelper
|
|||||||
panelGPUBoost.Controls.Add(labelGPUBoostTitle);
|
panelGPUBoost.Controls.Add(labelGPUBoostTitle);
|
||||||
panelGPUBoost.Controls.Add(trackGPUBoost);
|
panelGPUBoost.Controls.Add(trackGPUBoost);
|
||||||
panelGPUBoost.Dock = DockStyle.Top;
|
panelGPUBoost.Dock = DockStyle.Top;
|
||||||
panelGPUBoost.Location = new Point(0, 432);
|
panelGPUBoost.Location = new Point(0, 556);
|
||||||
panelGPUBoost.Margin = new Padding(4);
|
panelGPUBoost.Margin = new Padding(4);
|
||||||
panelGPUBoost.MaximumSize = new Size(0, 124);
|
panelGPUBoost.MaximumSize = new Size(0, 124);
|
||||||
panelGPUBoost.Name = "panelGPUBoost";
|
panelGPUBoost.Name = "panelGPUBoost";
|
||||||
@@ -1700,6 +1756,9 @@ namespace GHelper
|
|||||||
((System.ComponentModel.ISupportInitialize)picturePowerMode).EndInit();
|
((System.ComponentModel.ISupportInitialize)picturePowerMode).EndInit();
|
||||||
panelGPU.ResumeLayout(false);
|
panelGPU.ResumeLayout(false);
|
||||||
panelGPU.PerformLayout();
|
panelGPU.PerformLayout();
|
||||||
|
panelGPUPower.ResumeLayout(false);
|
||||||
|
panelGPUPower.PerformLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)trackGPUPower).EndInit();
|
||||||
panelGPUTemp.ResumeLayout(false);
|
panelGPUTemp.ResumeLayout(false);
|
||||||
panelGPUTemp.PerformLayout();
|
panelGPUTemp.PerformLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)trackGPUTemp).EndInit();
|
((System.ComponentModel.ISupportInitialize)trackGPUTemp).EndInit();
|
||||||
@@ -1833,5 +1892,9 @@ namespace GHelper
|
|||||||
private TrackBar trackSlow;
|
private TrackBar trackSlow;
|
||||||
private Panel panelDownload;
|
private Panel panelDownload;
|
||||||
private RButton buttonDownload;
|
private RButton buttonDownload;
|
||||||
|
private Panel panelGPUPower;
|
||||||
|
private Label labelGPUPower;
|
||||||
|
private Label labelGPUPowerTitle;
|
||||||
|
private TrackBar trackGPUPower;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
83
app/Fans.cs
83
app/Fans.cs
@@ -31,6 +31,8 @@ namespace GHelper
|
|||||||
|
|
||||||
FanSensorControl fanSensorControl;
|
FanSensorControl fanSensorControl;
|
||||||
|
|
||||||
|
static int gpuPowerBase = 0;
|
||||||
|
|
||||||
public Fans()
|
public Fans()
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -46,7 +48,7 @@ namespace GHelper
|
|||||||
labelPowerLimits.Text = Properties.Strings.PowerLimits;
|
labelPowerLimits.Text = Properties.Strings.PowerLimits;
|
||||||
checkApplyPower.Text = Properties.Strings.ApplyPowerLimits;
|
checkApplyPower.Text = Properties.Strings.ApplyPowerLimits;
|
||||||
|
|
||||||
labelFans.Text = Properties.Strings.FanCurves;
|
labelFans.Text = "BIOS " + Properties.Strings.FanCurves;
|
||||||
labelBoost.Text = Properties.Strings.CPUBoost;
|
labelBoost.Text = Properties.Strings.CPUBoost;
|
||||||
buttonReset.Text = Properties.Strings.FactoryDefaults;
|
buttonReset.Text = Properties.Strings.FactoryDefaults;
|
||||||
checkApplyFans.Text = Properties.Strings.ApplyFanCurve;
|
checkApplyFans.Text = Properties.Strings.ApplyFanCurve;
|
||||||
@@ -144,17 +146,22 @@ namespace GHelper
|
|||||||
trackGPUTemp.Minimum = AsusACPI.MinGPUTemp;
|
trackGPUTemp.Minimum = AsusACPI.MinGPUTemp;
|
||||||
trackGPUTemp.Maximum = AsusACPI.MaxGPUTemp;
|
trackGPUTemp.Maximum = AsusACPI.MaxGPUTemp;
|
||||||
|
|
||||||
|
trackGPUPower.Minimum = AsusACPI.MinGPUPower;
|
||||||
|
trackGPUPower.Maximum = AsusACPI.MaxGPUPower;
|
||||||
|
|
||||||
trackGPUClockLimit.Scroll += trackGPUClockLimit_Scroll;
|
trackGPUClockLimit.Scroll += trackGPUClockLimit_Scroll;
|
||||||
trackGPUCore.Scroll += trackGPU_Scroll;
|
trackGPUCore.Scroll += trackGPU_Scroll;
|
||||||
trackGPUMemory.Scroll += trackGPU_Scroll;
|
trackGPUMemory.Scroll += trackGPU_Scroll;
|
||||||
|
|
||||||
trackGPUBoost.Scroll += trackGPUPower_Scroll;
|
trackGPUBoost.Scroll += trackGPUPower_Scroll;
|
||||||
trackGPUTemp.Scroll += trackGPUPower_Scroll;
|
trackGPUTemp.Scroll += trackGPUPower_Scroll;
|
||||||
|
trackGPUPower.Scroll += trackGPUPower_Scroll;
|
||||||
|
|
||||||
trackGPUCore.MouseUp += TrackGPU_MouseUp;
|
trackGPUCore.MouseUp += TrackGPU_MouseUp;
|
||||||
trackGPUMemory.MouseUp += TrackGPU_MouseUp;
|
trackGPUMemory.MouseUp += TrackGPU_MouseUp;
|
||||||
trackGPUBoost.MouseUp += TrackGPU_MouseUp;
|
trackGPUBoost.MouseUp += TrackGPU_MouseUp;
|
||||||
trackGPUTemp.MouseUp += TrackGPU_MouseUp;
|
trackGPUTemp.MouseUp += TrackGPU_MouseUp;
|
||||||
|
trackGPUPower.MouseUp += TrackGPU_MouseUp;
|
||||||
|
|
||||||
trackGPUClockLimit.MouseUp += TrackGPU_MouseUp;
|
trackGPUClockLimit.MouseUp += TrackGPU_MouseUp;
|
||||||
|
|
||||||
@@ -541,8 +548,12 @@ namespace GHelper
|
|||||||
{
|
{
|
||||||
gpuVisible = buttonGPU.Visible = true;
|
gpuVisible = buttonGPU.Visible = true;
|
||||||
|
|
||||||
|
gpuPowerBase = Program.acpi.DeviceGet(AsusACPI.GPU_BASE);
|
||||||
|
int gpuPowerVar = Program.acpi.DeviceGet(AsusACPI.GPU_POWER);
|
||||||
|
|
||||||
int gpu_boost = AppConfig.GetMode("gpu_boost");
|
int gpu_boost = AppConfig.GetMode("gpu_boost");
|
||||||
int gpu_temp = AppConfig.GetMode("gpu_temp");
|
int gpu_temp = AppConfig.GetMode("gpu_temp");
|
||||||
|
int gpu_power = AppConfig.GetMode("gpu_power");
|
||||||
|
|
||||||
int core = AppConfig.GetMode("gpu_core");
|
int core = AppConfig.GetMode("gpu_core");
|
||||||
int memory = AppConfig.GetMode("gpu_memory");
|
int memory = AppConfig.GetMode("gpu_memory");
|
||||||
@@ -550,32 +561,35 @@ namespace GHelper
|
|||||||
|
|
||||||
if (gpu_boost < 0) gpu_boost = AsusACPI.MaxGPUBoost;
|
if (gpu_boost < 0) gpu_boost = AsusACPI.MaxGPUBoost;
|
||||||
if (gpu_temp < 0) gpu_temp = AsusACPI.MaxGPUTemp;
|
if (gpu_temp < 0) gpu_temp = AsusACPI.MaxGPUTemp;
|
||||||
|
if (gpu_power < 0) gpu_power = (gpuPowerVar >= 0) ? gpuPowerVar : AsusACPI.MaxGPUPower;
|
||||||
|
|
||||||
if (core == -1) core = 0;
|
if (core == -1) core = 0;
|
||||||
if (memory == -1) memory = 0;
|
if (memory == -1) memory = 0;
|
||||||
if (clock_limit == -1) clock_limit = NvidiaGpuControl.MaxClockLimit;
|
if (clock_limit == -1) clock_limit = NvidiaGpuControl.MaxClockLimit;
|
||||||
|
|
||||||
if (nvControl.GetClocks(out int current_core, out int current_memory))
|
if (nvControl is not null)
|
||||||
{
|
{
|
||||||
core = current_core;
|
if (nvControl.GetClocks(out int current_core, out int current_memory))
|
||||||
memory = current_memory;
|
{
|
||||||
|
core = current_core;
|
||||||
|
memory = current_memory;
|
||||||
|
}
|
||||||
|
|
||||||
|
int _clockLimit = nvControl.GetMaxGPUCLock();
|
||||||
|
|
||||||
|
if (_clockLimit == 0) clock_limit = NvidiaGpuControl.MaxClockLimit;
|
||||||
|
else if (_clockLimit > 0) clock_limit = _clockLimit;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
labelGPU.Text = nvControl.FullName;
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int _clockLimit = nvControl.GetMaxGPUCLock();
|
|
||||||
|
|
||||||
if (_clockLimit == 0) clock_limit = NvidiaGpuControl.MaxClockLimit;
|
|
||||||
else if (_clockLimit > 0) clock_limit = _clockLimit;
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
labelGPU.Text = nvControl.FullName;
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//}
|
|
||||||
trackGPUClockLimit.Value = Math.Max(Math.Min(clock_limit, NvidiaGpuControl.MaxClockLimit), NvidiaGpuControl.MinClockLimit);
|
trackGPUClockLimit.Value = Math.Max(Math.Min(clock_limit, NvidiaGpuControl.MaxClockLimit), NvidiaGpuControl.MinClockLimit);
|
||||||
|
|
||||||
trackGPUCore.Value = Math.Max(Math.Min(core, NvidiaGpuControl.MaxCoreOffset), NvidiaGpuControl.MinCoreOffset);
|
trackGPUCore.Value = Math.Max(Math.Min(core, NvidiaGpuControl.MaxCoreOffset), NvidiaGpuControl.MinCoreOffset);
|
||||||
@@ -584,9 +598,13 @@ namespace GHelper
|
|||||||
trackGPUBoost.Value = Math.Max(Math.Min(gpu_boost, AsusACPI.MaxGPUBoost), AsusACPI.MinGPUBoost);
|
trackGPUBoost.Value = Math.Max(Math.Min(gpu_boost, AsusACPI.MaxGPUBoost), AsusACPI.MinGPUBoost);
|
||||||
trackGPUTemp.Value = Math.Max(Math.Min(gpu_temp, AsusACPI.MaxGPUTemp), AsusACPI.MinGPUTemp);
|
trackGPUTemp.Value = Math.Max(Math.Min(gpu_temp, AsusACPI.MaxGPUTemp), AsusACPI.MinGPUTemp);
|
||||||
|
|
||||||
|
trackGPUPower.Value = Math.Max(Math.Min(gpu_power, AsusACPI.MaxGPUPower), AsusACPI.MinGPUPower);
|
||||||
|
|
||||||
panelGPUBoost.Visible = (Program.acpi.DeviceGet(AsusACPI.PPT_GPUC0) >= 0);
|
panelGPUBoost.Visible = (Program.acpi.DeviceGet(AsusACPI.PPT_GPUC0) >= 0);
|
||||||
panelGPUTemp.Visible = (Program.acpi.DeviceGet(AsusACPI.PPT_GPUC2) >= 0);
|
panelGPUTemp.Visible = (Program.acpi.DeviceGet(AsusACPI.PPT_GPUC2) >= 0);
|
||||||
|
|
||||||
|
panelGPUPower.Visible = gpuPowerBase > 0 && gpuPowerVar >= 0;
|
||||||
|
|
||||||
VisualiseGPUSettings();
|
VisualiseGPUSettings();
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -610,6 +628,9 @@ namespace GHelper
|
|||||||
labelGPUClockLimit.Text = "Default";
|
labelGPUClockLimit.Text = "Default";
|
||||||
else
|
else
|
||||||
labelGPUClockLimit.Text = $"{trackGPUClockLimit.Value} MHz";
|
labelGPUClockLimit.Text = $"{trackGPUClockLimit.Value} MHz";
|
||||||
|
|
||||||
|
labelGPUPower.Text = (gpuPowerBase + trackGPUPower.Value) + "W";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void trackGPUClockLimit_Scroll(object? sender, EventArgs e)
|
private void trackGPUClockLimit_Scroll(object? sender, EventArgs e)
|
||||||
@@ -640,6 +661,7 @@ namespace GHelper
|
|||||||
{
|
{
|
||||||
AppConfig.SetMode("gpu_boost", trackGPUBoost.Value);
|
AppConfig.SetMode("gpu_boost", trackGPUBoost.Value);
|
||||||
AppConfig.SetMode("gpu_temp", trackGPUTemp.Value);
|
AppConfig.SetMode("gpu_temp", trackGPUTemp.Value);
|
||||||
|
AppConfig.SetMode("gpu_power", trackGPUPower.Value);
|
||||||
|
|
||||||
VisualiseGPUSettings();
|
VisualiseGPUSettings();
|
||||||
}
|
}
|
||||||
@@ -740,7 +762,10 @@ namespace GHelper
|
|||||||
|
|
||||||
private void TrackPower_MouseUp(object? sender, MouseEventArgs e)
|
private void TrackPower_MouseUp(object? sender, MouseEventArgs e)
|
||||||
{
|
{
|
||||||
modeControl.AutoPower();
|
Task.Run(() =>
|
||||||
|
{
|
||||||
|
modeControl.AutoPower(true);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -953,7 +978,7 @@ namespace GHelper
|
|||||||
int chartCount = 2;
|
int chartCount = 2;
|
||||||
|
|
||||||
// Middle / system fan check
|
// 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);
|
AppConfig.Set("mid_fan", 1);
|
||||||
chartCount++;
|
chartCount++;
|
||||||
@@ -983,7 +1008,7 @@ namespace GHelper
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (chartCount > 2)
|
if (chartCount > 2)
|
||||||
Size = MinimumSize = new Size(Size.Width, (int)(ControlHelper.GetDpiScale(this).Value * (chartCount * 200 + 100)));
|
Size = MinimumSize = new Size(Size.Width, Math.Max(MinimumSize.Height, (int)(ControlHelper.GetDpiScale(this).Value * (chartCount * 200 + 100))));
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
@@ -1089,19 +1114,25 @@ namespace GHelper
|
|||||||
|
|
||||||
if (gpuVisible)
|
if (gpuVisible)
|
||||||
{
|
{
|
||||||
|
int gpuPowerVar = Program.acpi.DeviceGet(AsusACPI.GPU_POWER);
|
||||||
|
Logger.WriteLine("Default GPU Power: " + gpuPowerVar);
|
||||||
|
|
||||||
trackGPUClockLimit.Value = NvidiaGpuControl.MaxClockLimit;
|
trackGPUClockLimit.Value = NvidiaGpuControl.MaxClockLimit;
|
||||||
trackGPUCore.Value = 0;
|
trackGPUCore.Value = 0;
|
||||||
trackGPUMemory.Value = 0;
|
trackGPUMemory.Value = 0;
|
||||||
|
|
||||||
trackGPUBoost.Value = AsusACPI.MaxGPUBoost;
|
trackGPUBoost.Value = AsusACPI.MaxGPUBoost;
|
||||||
trackGPUTemp.Value = AsusACPI.MaxGPUTemp;
|
trackGPUTemp.Value = AsusACPI.MaxGPUTemp;
|
||||||
|
trackGPUPower.Value = Math.Max(Math.Min((gpuPowerVar >= 0) ? gpuPowerVar : AsusACPI.MaxGPUPower, AsusACPI.MaxGPUPower), AsusACPI.MinGPUPower);
|
||||||
AppConfig.SetMode("gpu_clock_limit", trackGPUClockLimit.Value);
|
|
||||||
|
|
||||||
AppConfig.SetMode("gpu_boost", trackGPUBoost.Value);
|
AppConfig.SetMode("gpu_boost", trackGPUBoost.Value);
|
||||||
AppConfig.SetMode("gpu_temp", trackGPUTemp.Value);
|
AppConfig.SetMode("gpu_temp", trackGPUTemp.Value);
|
||||||
|
|
||||||
AppConfig.SetMode("gpu_core", trackGPUCore.Value);
|
AppConfig.RemoveMode("gpu_power");
|
||||||
AppConfig.SetMode("gpu_memory", trackGPUMemory.Value);
|
|
||||||
|
AppConfig.RemoveMode("gpu_clock_limit");
|
||||||
|
AppConfig.RemoveMode("gpu_core");
|
||||||
|
AppConfig.RemoveMode("gpu_memory");
|
||||||
|
|
||||||
VisualiseGPUSettings();
|
VisualiseGPUSettings();
|
||||||
modeControl.SetGPUClocks(true);
|
modeControl.SetGPUClocks(true);
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
||||||
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
||||||
<AssemblyVersion>0.153</AssemblyVersion>
|
<AssemblyVersion>0.157</AssemblyVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ namespace GHelper.Gpu
|
|||||||
public class GPUModeControl
|
public class GPUModeControl
|
||||||
{
|
{
|
||||||
SettingsForm settings;
|
SettingsForm settings;
|
||||||
ScreenControl screenControl = new ScreenControl();
|
|
||||||
|
|
||||||
public static int gpuMode;
|
public static int gpuMode;
|
||||||
public static bool? gpuExists = null;
|
public static bool? gpuExists = null;
|
||||||
@@ -159,7 +158,7 @@ namespace GHelper.Gpu
|
|||||||
settings.Invoke(delegate
|
settings.Invoke(delegate
|
||||||
{
|
{
|
||||||
InitGPUMode();
|
InitGPUMode();
|
||||||
screenControl.AutoScreen();
|
ScreenControl.AutoScreen();
|
||||||
});
|
});
|
||||||
|
|
||||||
if (eco == 0)
|
if (eco == 0)
|
||||||
|
|||||||
@@ -99,7 +99,7 @@ namespace GHelper.Helpers
|
|||||||
ToggleLidAction();
|
ToggleLidAction();
|
||||||
|
|
||||||
if (Program.settingsForm.Visible)
|
if (Program.settingsForm.Visible)
|
||||||
Program.screenControl.InitScreen();
|
ScreenControl.InitScreen();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ public static class Logger
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
var file = File.ReadAllLines(logFile);
|
var file = File.ReadAllLines(logFile);
|
||||||
int skip = Math.Max(0, file.Count() - 1000);
|
int skip = Math.Max(0, file.Count() - 2000);
|
||||||
File.WriteAllLines(logFile, file.Skip(skip).ToArray());
|
File.WriteAllLines(logFile, file.Skip(skip).ToArray());
|
||||||
}
|
}
|
||||||
catch { }
|
catch { }
|
||||||
|
|||||||
@@ -122,7 +122,7 @@ namespace GHelper.Helpers
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void RunCMD(string name, string args)
|
public static string RunCMD(string name, string args)
|
||||||
{
|
{
|
||||||
var cmd = new Process();
|
var cmd = new Process();
|
||||||
cmd.StartInfo.UseShellExecute = false;
|
cmd.StartInfo.UseShellExecute = false;
|
||||||
@@ -133,13 +133,13 @@ namespace GHelper.Helpers
|
|||||||
cmd.StartInfo.Arguments = args;
|
cmd.StartInfo.Arguments = args;
|
||||||
cmd.Start();
|
cmd.Start();
|
||||||
|
|
||||||
Logger.WriteLine(args);
|
Logger.WriteLine(name + " " + args);
|
||||||
|
|
||||||
string result = cmd.StandardOutput.ReadToEnd().Replace(Environment.NewLine, " ").Trim(' ');
|
string result = cmd.StandardOutput.ReadToEnd().Replace(Environment.NewLine, " ").Trim(' ');
|
||||||
|
|
||||||
Logger.WriteLine(result);
|
Logger.WriteLine(result);
|
||||||
|
|
||||||
cmd.WaitForExit();
|
cmd.WaitForExit();
|
||||||
|
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -19,8 +19,7 @@ namespace GHelper.Input
|
|||||||
public static Keys keyApp = Keys.F12;
|
public static Keys keyApp = Keys.F12;
|
||||||
|
|
||||||
static ModeControl modeControl = Program.modeControl;
|
static ModeControl modeControl = Program.modeControl;
|
||||||
static ScreenControl screenControl = new ScreenControl();
|
|
||||||
|
|
||||||
static bool isTUF = AppConfig.IsTUF();
|
static bool isTUF = AppConfig.IsTUF();
|
||||||
|
|
||||||
KeyboardListener listener;
|
KeyboardListener listener;
|
||||||
@@ -85,7 +84,7 @@ namespace GHelper.Input
|
|||||||
|
|
||||||
InitBacklightTimer();
|
InitBacklightTimer();
|
||||||
|
|
||||||
if (AppConfig.ContainsModel("VivoBook")) Program.acpi.DeviceSet(AsusACPI.FnLock, AppConfig.Is("fn_lock") ? 1 : 0, "FnLock");
|
if (AppConfig.IsVivoZenbook()) Program.acpi.DeviceSet(AsusACPI.FnLock, AppConfig.Is("fn_lock") ? 1 : 0, "FnLock");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -151,7 +150,7 @@ namespace GHelper.Input
|
|||||||
|
|
||||||
// FN-Lock group
|
// FN-Lock group
|
||||||
|
|
||||||
if (AppConfig.Is("fn_lock") && !AppConfig.ContainsModel("VivoBook"))
|
if (AppConfig.Is("fn_lock") && !AppConfig.IsVivoZenbook())
|
||||||
for (Keys i = Keys.F1; i <= Keys.F11; i++) hook.RegisterHotKey(ModifierKeys.None, i);
|
for (Keys i = Keys.F1; i <= Keys.F11; i++) hook.RegisterHotKey(ModifierKeys.None, i);
|
||||||
|
|
||||||
// Arrow-lock group
|
// Arrow-lock group
|
||||||
@@ -244,6 +243,13 @@ namespace GHelper.Input
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void SetBrightnessDimming(int delta)
|
||||||
|
{
|
||||||
|
int brightness = ScreenControl.SetBrightness(delta: delta);
|
||||||
|
if (brightness >= 0)
|
||||||
|
Program.toast.RunToast(brightness + "%", (delta < 0) ? ToastIcon.BrightnessDown : ToastIcon.BrightnessUp);
|
||||||
|
}
|
||||||
|
|
||||||
public void KeyPressed(object sender, KeyPressedEventArgs e)
|
public void KeyPressed(object sender, KeyPressedEventArgs e)
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -472,7 +478,7 @@ namespace GHelper.Input
|
|||||||
break;
|
break;
|
||||||
case "miniled":
|
case "miniled":
|
||||||
if (ScreenCCD.GetHDRStatus()) return;
|
if (ScreenCCD.GetHDRStatus()) return;
|
||||||
int miniled = screenControl.ToogleMiniled();
|
int miniled = ScreenControl.ToogleMiniled();
|
||||||
Program.toast.RunToast(miniled == 1 ? "Multi-Zone" : "Single-Zone", miniled == 1 ? ToastIcon.BrightnessUp : ToastIcon.BrightnessDown);
|
Program.toast.RunToast(miniled == 1 ? "Multi-Zone" : "Single-Zone", miniled == 1 ? ToastIcon.BrightnessUp : ToastIcon.BrightnessDown);
|
||||||
break;
|
break;
|
||||||
case "aura":
|
case "aura":
|
||||||
@@ -500,7 +506,7 @@ namespace GHelper.Input
|
|||||||
case "micmute":
|
case "micmute":
|
||||||
bool muteStatus = Audio.ToggleMute();
|
bool muteStatus = Audio.ToggleMute();
|
||||||
Program.toast.RunToast(muteStatus ? "Muted" : "Unmuted", muteStatus ? ToastIcon.MicrophoneMute : ToastIcon.Microphone);
|
Program.toast.RunToast(muteStatus ? "Muted" : "Unmuted", muteStatus ? ToastIcon.MicrophoneMute : ToastIcon.Microphone);
|
||||||
if (AppConfig.IsVivobook()) Program.acpi.DeviceSet(AsusACPI.MICMUTE_LED, muteStatus ? 1 : 0, "MicmuteLed");
|
if (AppConfig.IsVivoZenbook()) Program.acpi.DeviceSet(AsusACPI.MicMuteLed, muteStatus ? 1 : 0, "MicmuteLed");
|
||||||
break;
|
break;
|
||||||
case "brightness_up":
|
case "brightness_up":
|
||||||
SetBrightness(+10);
|
SetBrightness(+10);
|
||||||
@@ -568,7 +574,7 @@ namespace GHelper.Input
|
|||||||
int fnLock = AppConfig.Is("fn_lock") ? 0 : 1;
|
int fnLock = AppConfig.Is("fn_lock") ? 0 : 1;
|
||||||
AppConfig.Set("fn_lock", fnLock);
|
AppConfig.Set("fn_lock", fnLock);
|
||||||
|
|
||||||
if (AppConfig.ContainsModel("VivoBook"))
|
if (AppConfig.IsVivoZenbook())
|
||||||
Program.acpi.DeviceSet(AsusACPI.FnLock, fnLock == 1 ? 1 : 0, "FnLock");
|
Program.acpi.DeviceSet(AsusACPI.FnLock, fnLock == 1 ? 1 : 0, "FnLock");
|
||||||
else
|
else
|
||||||
Program.settingsForm.BeginInvoke(Program.inputDispatcher.RegisterKeys);
|
Program.settingsForm.BeginInvoke(Program.inputDispatcher.RegisterKeys);
|
||||||
@@ -628,6 +634,9 @@ namespace GHelper.Input
|
|||||||
{
|
{
|
||||||
switch (EventID)
|
switch (EventID)
|
||||||
{
|
{
|
||||||
|
case 134: // FN + F12 ON OLD DEVICES
|
||||||
|
KeyProcess("m4");
|
||||||
|
return;
|
||||||
case 124: // M3
|
case 124: // M3
|
||||||
KeyProcess("m3");
|
KeyProcess("m3");
|
||||||
return;
|
return;
|
||||||
@@ -673,7 +682,8 @@ namespace GHelper.Input
|
|||||||
return;
|
return;
|
||||||
case 51: // Fn+F6 on old TUFs
|
case 51: // Fn+F6 on old TUFs
|
||||||
case 53: // Fn+F6 on GA-502DU model
|
case 53: // Fn+F6 on GA-502DU model
|
||||||
NativeMethods.TurnOffScreen();
|
SleepEvent();
|
||||||
|
//NativeMethods.TurnOffScreen();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -694,8 +704,14 @@ namespace GHelper.Input
|
|||||||
if (AppConfig.IsDUO()) SetScreenpad(-10);
|
if (AppConfig.IsDUO()) SetScreenpad(-10);
|
||||||
else Program.settingsForm.BeginInvoke(Program.settingsForm.CycleMatrix, -1);
|
else Program.settingsForm.BeginInvoke(Program.settingsForm.CycleMatrix, -1);
|
||||||
}
|
}
|
||||||
|
else if (Control.ModifierKeys == Keys.Control && AppConfig.IsOLED())
|
||||||
|
{
|
||||||
|
SetBrightnessDimming(-10);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
Program.acpi.DeviceSet(AsusACPI.UniversalControl, AsusACPI.Brightness_Down, "Brightness");
|
Program.acpi.DeviceSet(AsusACPI.UniversalControl, AsusACPI.Brightness_Down, "Brightness");
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 32: // FN+F8
|
case 32: // FN+F8
|
||||||
if (Control.ModifierKeys == Keys.Shift)
|
if (Control.ModifierKeys == Keys.Shift)
|
||||||
@@ -703,8 +719,17 @@ namespace GHelper.Input
|
|||||||
if (AppConfig.IsDUO()) SetScreenpad(10);
|
if (AppConfig.IsDUO()) SetScreenpad(10);
|
||||||
else Program.settingsForm.BeginInvoke(Program.settingsForm.CycleMatrix, 1);
|
else Program.settingsForm.BeginInvoke(Program.settingsForm.CycleMatrix, 1);
|
||||||
}
|
}
|
||||||
|
else if (Control.ModifierKeys == Keys.Control && AppConfig.IsOLED())
|
||||||
|
{
|
||||||
|
SetBrightnessDimming(10);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
Program.acpi.DeviceSet(AsusACPI.UniversalControl, AsusACPI.Brightness_Up, "Brightness");
|
Program.acpi.DeviceSet(AsusACPI.UniversalControl, AsusACPI.Brightness_Up, "Brightness");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 133: // Camera Toggle
|
||||||
|
ToggleCamera();
|
||||||
break;
|
break;
|
||||||
case 107: // FN+F10
|
case 107: // FN+F10
|
||||||
ToggleTouchpadEvent();
|
ToggleTouchpadEvent();
|
||||||
@@ -784,6 +809,36 @@ namespace GHelper.Input
|
|||||||
Program.toast.RunToast($"Screen Pad " + (toggle == 1 ? "On" : "Off"), toggle > 0 ? ToastIcon.BrightnessUp : ToastIcon.BrightnessDown);
|
Program.toast.RunToast($"Screen Pad " + (toggle == 1 ? "On" : "Off"), toggle > 0 ? ToastIcon.BrightnessUp : ToastIcon.BrightnessDown);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void ToggleCamera()
|
||||||
|
{
|
||||||
|
if (!ProcessHelper.IsUserAdministrator()) return;
|
||||||
|
|
||||||
|
string CameraRegistryKeyPath = @"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\webcam";
|
||||||
|
string CameraRegistryValueName = "Value";
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var status = (string?)Registry.GetValue(CameraRegistryKeyPath, CameraRegistryValueName, "");
|
||||||
|
|
||||||
|
if (status == "Allow") status = "Deny";
|
||||||
|
else if (status == "Deny") status = "Allow";
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Logger.WriteLine("Unknown camera status");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Registry.SetValue(CameraRegistryKeyPath, CameraRegistryValueName, status, RegistryValueKind.String);
|
||||||
|
Program.acpi.DeviceSet(AsusACPI.CameraLed, (status == "Deny" ? 1 : 0), "Camera");
|
||||||
|
Program.toast.RunToast($"Camera " + (status == "Deny" ? "Off" : "On"));
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Logger.WriteLine(ex.ToString());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public static void SetScreenpad(int delta)
|
public static void SetScreenpad(int delta)
|
||||||
{
|
{
|
||||||
@@ -854,6 +909,7 @@ namespace GHelper.Input
|
|||||||
if (e.NewEvent is null) return;
|
if (e.NewEvent is null) return;
|
||||||
int EventID = int.Parse(e.NewEvent["EventID"].ToString());
|
int EventID = int.Parse(e.NewEvent["EventID"].ToString());
|
||||||
Logger.WriteLine("WMI event " + EventID);
|
Logger.WriteLine("WMI event " + EventID);
|
||||||
|
if (AppConfig.NoWMI()) return;
|
||||||
HandleEvent(EventID);
|
HandleEvent(EventID);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,26 +24,30 @@ public sealed class KeyboardHook : IDisposable
|
|||||||
public static void KeyPress(Keys key)
|
public static void KeyPress(Keys key)
|
||||||
{
|
{
|
||||||
keybd_event((byte)key, 0, KEYEVENTF_EXTENDEDKEY, IntPtr.Zero);
|
keybd_event((byte)key, 0, KEYEVENTF_EXTENDEDKEY, IntPtr.Zero);
|
||||||
|
|
||||||
|
Thread.Sleep(1);
|
||||||
|
|
||||||
|
keybd_event((byte)key, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, IntPtr.Zero);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void KeyKeyPress(Keys key, Keys key2)
|
public static void KeyKeyPress(Keys key, Keys key2)
|
||||||
{
|
{
|
||||||
keybd_event((byte)key, 0, KEYEVENTF_EXTENDEDKEY, IntPtr.Zero);
|
keybd_event((byte)key, 0, KEYEVENTF_EXTENDEDKEY, IntPtr.Zero);
|
||||||
keybd_event((byte)key2, 0, KEYEVENTF_EXTENDEDKEY, IntPtr.Zero);
|
keybd_event((byte)key2, 0, KEYEVENTF_EXTENDEDKEY, IntPtr.Zero);
|
||||||
|
|
||||||
|
Thread.Sleep(1);
|
||||||
|
|
||||||
keybd_event((byte)key2, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, IntPtr.Zero);
|
keybd_event((byte)key2, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, IntPtr.Zero);
|
||||||
keybd_event((byte)key, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, IntPtr.Zero);
|
keybd_event((byte)key, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, IntPtr.Zero);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void KeyKeyKeyPress(Keys key, Keys key2, Keys key3, int sleep = 0)
|
public static void KeyKeyKeyPress(Keys key, Keys key2, Keys key3, int sleep = 1)
|
||||||
{
|
{
|
||||||
keybd_event((byte)key, 0, KEYEVENTF_EXTENDEDKEY, IntPtr.Zero);
|
keybd_event((byte)key, 0, KEYEVENTF_EXTENDEDKEY, IntPtr.Zero);
|
||||||
keybd_event((byte)key2, 0, KEYEVENTF_EXTENDEDKEY, IntPtr.Zero);
|
keybd_event((byte)key2, 0, KEYEVENTF_EXTENDEDKEY, IntPtr.Zero);
|
||||||
keybd_event((byte)key3, 0, KEYEVENTF_EXTENDEDKEY, IntPtr.Zero);
|
keybd_event((byte)key3, 0, KEYEVENTF_EXTENDEDKEY, IntPtr.Zero);
|
||||||
|
|
||||||
if (sleep > 0)
|
Thread.Sleep(sleep);
|
||||||
{
|
|
||||||
Thread.Sleep(sleep);
|
|
||||||
}
|
|
||||||
|
|
||||||
keybd_event((byte)key3, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, IntPtr.Zero);
|
keybd_event((byte)key3, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, IntPtr.Zero);
|
||||||
keybd_event((byte)key2, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, IntPtr.Zero);
|
keybd_event((byte)key2, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, IntPtr.Zero);
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ namespace GHelper.Input
|
|||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Logger.WriteLine(ex.ToString());
|
Logger.WriteLine($"Listener exited: {ex.Message}");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -62,33 +62,46 @@ namespace GHelper.Mode
|
|||||||
|
|
||||||
if (!Modes.Exists(mode)) mode = 0;
|
if (!Modes.Exists(mode)) mode = 0;
|
||||||
|
|
||||||
customFans = false;
|
|
||||||
customPower = 0;
|
|
||||||
|
|
||||||
settings.ShowMode(mode);
|
settings.ShowMode(mode);
|
||||||
SetModeLabel();
|
|
||||||
|
|
||||||
Modes.SetCurrent(mode);
|
Modes.SetCurrent(mode);
|
||||||
|
|
||||||
int status = Program.acpi.DeviceSet(AsusACPI.PerformanceMode, AppConfig.IsManualModeRequired() ? AsusACPI.PerformanceManual : Modes.GetBase(mode), "Mode");
|
|
||||||
|
|
||||||
// Vivobook fallback
|
Task.Run(async () =>
|
||||||
if (status != 1)
|
|
||||||
{
|
{
|
||||||
int vivoMode = Modes.GetBase(mode);
|
bool reset = AppConfig.IsResetRequired() && (Modes.GetBase(oldMode) == Modes.GetBase(mode)) && customPower > 0;
|
||||||
if (vivoMode == 1) vivoMode = 2;
|
|
||||||
else if (vivoMode == 2) vivoMode = 1;
|
customFans = false;
|
||||||
Program.acpi.DeviceSet(AsusACPI.VivoBookMode, vivoMode, "VivoMode");
|
customPower = 0;
|
||||||
}
|
SetModeLabel();
|
||||||
|
|
||||||
|
// Workaround for not properly resetting limits on G14 2024
|
||||||
|
if (reset)
|
||||||
|
{
|
||||||
|
Program.acpi.DeviceSet(AsusACPI.PerformanceMode, (Modes.GetBase(oldMode) != 1) ? AsusACPI.PerformanceTurbo : AsusACPI.PerformanceBalanced, "Reset");
|
||||||
|
await Task.Delay(TimeSpan.FromMilliseconds(1500));
|
||||||
|
}
|
||||||
|
|
||||||
|
int status = Program.acpi.DeviceSet(AsusACPI.PerformanceMode, AppConfig.IsManualModeRequired() ? AsusACPI.PerformanceManual : Modes.GetBase(mode), "Mode");
|
||||||
|
// Vivobook fallback
|
||||||
|
if (status != 1) Program.acpi.SetVivoMode(Modes.GetBase(mode));
|
||||||
|
|
||||||
|
SetGPUClocks();
|
||||||
|
|
||||||
|
AutoFans();
|
||||||
|
await Task.Delay(TimeSpan.FromMilliseconds(1000));
|
||||||
|
AutoPower();
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
if (AppConfig.Is("xgm_fan") && Program.acpi.IsXGConnected()) XGM.Reset();
|
if (AppConfig.Is("xgm_fan") && Program.acpi.IsXGConnected()) XGM.Reset();
|
||||||
|
|
||||||
if (notify)
|
if (notify)
|
||||||
Program.toast.RunToast(Modes.GetCurrentName(), SystemInformation.PowerStatus.PowerLineStatus == PowerLineStatus.Online ? ToastIcon.Charger : ToastIcon.Battery);
|
Program.toast.RunToast(Modes.GetCurrentName(), SystemInformation.PowerStatus.PowerLineStatus == PowerLineStatus.Online ? ToastIcon.Charger : ToastIcon.Battery);
|
||||||
|
|
||||||
SetGPUClocks();
|
|
||||||
AutoFans();
|
|
||||||
AutoPower(1000);
|
|
||||||
|
|
||||||
// Power plan from config or defaulting to balanced
|
// Power plan from config or defaulting to balanced
|
||||||
if (AppConfig.GetModeString("scheme") is not null)
|
if (AppConfig.GetModeString("scheme") is not null)
|
||||||
@@ -145,18 +158,17 @@ namespace GHelper.Mode
|
|||||||
Program.acpi.SetFanCurve(AsusFan.Mid, AppConfig.GetFanConfig(AsusFan.Mid));
|
Program.acpi.SetFanCurve(AsusFan.Mid, AppConfig.GetFanConfig(AsusFan.Mid));
|
||||||
|
|
||||||
|
|
||||||
// something went wrong, resetting to default profile
|
// Alternative way to set fan curve
|
||||||
if (cpuResult != 1 || gpuResult != 1)
|
if (cpuResult != 1 || gpuResult != 1)
|
||||||
{
|
{
|
||||||
cpuResult = Program.acpi.SetFanRange(AsusFan.CPU, AppConfig.GetFanConfig(AsusFan.CPU));
|
cpuResult = Program.acpi.SetFanRange(AsusFan.CPU, AppConfig.GetFanConfig(AsusFan.CPU));
|
||||||
gpuResult = Program.acpi.SetFanRange(AsusFan.GPU, AppConfig.GetFanConfig(AsusFan.GPU));
|
gpuResult = Program.acpi.SetFanRange(AsusFan.GPU, AppConfig.GetFanConfig(AsusFan.GPU));
|
||||||
|
|
||||||
|
// Something went wrong, resetting to default profile
|
||||||
if (cpuResult != 1 || gpuResult != 1)
|
if (cpuResult != 1 || gpuResult != 1)
|
||||||
{
|
{
|
||||||
int mode = Modes.GetCurrentBase();
|
Program.acpi.DeviceSet(AsusACPI.PerformanceMode, Modes.GetCurrentBase(), "Reset Mode");
|
||||||
Logger.WriteLine("ASUS BIOS rejected fan curve, resetting mode to " + mode);
|
settings.LabelFansResult("Model doesn't support custom fan curves");
|
||||||
Program.acpi.DeviceSet(AsusACPI.PerformanceMode, mode, "Reset Mode");
|
|
||||||
settings.LabelFansResult("ASUS BIOS rejected fan curve");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -182,52 +194,25 @@ namespace GHelper.Mode
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AutoPower(int delay = 0)
|
public void AutoPower(bool launchAsAdmin = false)
|
||||||
{
|
{
|
||||||
|
|
||||||
customPower = 0;
|
customPower = 0;
|
||||||
|
|
||||||
bool applyPower = AppConfig.IsMode("auto_apply_power");
|
bool applyPower = AppConfig.IsMode("auto_apply_power");
|
||||||
bool applyFans = AppConfig.IsMode("auto_apply");
|
bool applyFans = AppConfig.IsMode("auto_apply");
|
||||||
//bool applyGPU = true;
|
|
||||||
|
|
||||||
if (applyPower && !applyFans)
|
if (applyPower && !applyFans && (AppConfig.IsFanRequired() || AppConfig.IsManualModeRequired()))
|
||||||
{
|
{
|
||||||
// force fan curve for misbehaving bios PPTs on some models
|
AutoFans(true);
|
||||||
if (AppConfig.IsFanRequired())
|
Thread.Sleep(500);
|
||||||
{
|
|
||||||
delay = 500;
|
|
||||||
AutoFans(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Fix for models that don't support PPT settings in all modes, setting a "manual" mode for them
|
|
||||||
if (AppConfig.IsManualModeRequired())
|
|
||||||
{
|
|
||||||
AutoFans(true);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (delay > 0)
|
if (applyPower) SetPower(launchAsAdmin);
|
||||||
{
|
|
||||||
var timer = new System.Timers.Timer(delay);
|
|
||||||
timer.Elapsed += delegate
|
|
||||||
{
|
|
||||||
timer.Stop();
|
|
||||||
timer.Dispose();
|
|
||||||
|
|
||||||
if (applyPower) SetPower();
|
Thread.Sleep(500);
|
||||||
Thread.Sleep(500);
|
SetGPUPower();
|
||||||
SetGPUPower();
|
AutoRyzen();
|
||||||
AutoRyzen();
|
|
||||||
};
|
|
||||||
timer.Start();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (applyPower) SetPower(true);
|
|
||||||
SetGPUPower();
|
|
||||||
AutoRyzen();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -346,18 +331,20 @@ namespace GHelper.Mode
|
|||||||
|
|
||||||
int gpu_boost = AppConfig.GetMode("gpu_boost");
|
int gpu_boost = AppConfig.GetMode("gpu_boost");
|
||||||
int gpu_temp = AppConfig.GetMode("gpu_temp");
|
int gpu_temp = AppConfig.GetMode("gpu_temp");
|
||||||
|
int gpu_power = AppConfig.GetMode("gpu_power");
|
||||||
|
|
||||||
int boostResult = -1;
|
int boostResult = -1;
|
||||||
|
|
||||||
if (gpu_boost < AsusACPI.MinGPUBoost || gpu_boost > AsusACPI.MaxGPUBoost) return;
|
if (gpu_power >= AsusACPI.MinGPUPower && gpu_power <= AsusACPI.MaxGPUPower && Program.acpi.DeviceGet(AsusACPI.GPU_POWER) >= 0)
|
||||||
if (gpu_temp < AsusACPI.MinGPUTemp || gpu_temp > AsusACPI.MaxGPUTemp) return;
|
Program.acpi.DeviceSet(AsusACPI.GPU_POWER, gpu_power, "PowerLimit TGP (GPU VAR)");
|
||||||
|
|
||||||
if (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");
|
boostResult = Program.acpi.DeviceSet(AsusACPI.PPT_GPUC0, gpu_boost, "PowerLimit C0 (GPU BOOST)");
|
||||||
|
|
||||||
if (Program.acpi.DeviceGet(AsusACPI.PPT_GPUC2) >= 0)
|
if (gpu_temp >= AsusACPI.MinGPUTemp && gpu_temp <= AsusACPI.MaxGPUTemp && Program.acpi.DeviceGet(AsusACPI.PPT_GPUC2) >= 0)
|
||||||
Program.acpi.DeviceSet(AsusACPI.PPT_GPUC2, gpu_temp, "PowerLimit C2");
|
Program.acpi.DeviceSet(AsusACPI.PPT_GPUC2, gpu_temp, "PowerLimit C2 (GPU TEMP)");
|
||||||
|
|
||||||
|
// Fallback
|
||||||
if (boostResult == 0)
|
if (boostResult == 0)
|
||||||
Program.acpi.DeviceSet(AsusACPI.PPT_GPUC0, gpu_boost, "PowerLimit C0");
|
Program.acpi.DeviceSet(AsusACPI.PPT_GPUC0, gpu_boost, "PowerLimit C0");
|
||||||
|
|
||||||
|
|||||||
@@ -163,7 +163,7 @@ namespace GHelper.Mode
|
|||||||
if (status != 0 || activeScheme != guidScheme)
|
if (status != 0 || activeScheme != guidScheme)
|
||||||
{
|
{
|
||||||
status = PowerSetActiveOverlayScheme(guidScheme);
|
status = PowerSetActiveOverlayScheme(guidScheme);
|
||||||
Logger.WriteLine("Power Mode " + scheme + ":" + (status == 0 ? "OK" : status));
|
Logger.WriteLine("Power Mode " + activeScheme + " -> " + scheme + ":" + (status == 0 ? "OK" : status));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,7 +37,12 @@
|
|||||||
}
|
}
|
||||||
public override int DPIIncrements()
|
public override int DPIIncrements()
|
||||||
{
|
{
|
||||||
return 100;
|
return 50;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int MinDPI()
|
||||||
|
{
|
||||||
|
return 50;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override bool HasDebounceSetting()
|
public override bool HasDebounceSetting()
|
||||||
|
|||||||
247
app/Peripherals/Mouse/Models/StrixImpact.cs
Normal file
247
app/Peripherals/Mouse/Models/StrixImpact.cs
Normal file
@@ -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) };
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -7,6 +7,10 @@
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public StrixImpactII(ushort pid) : base(0x0B05, pid, "mi_00", false)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public override int DPIProfileCount()
|
public override int DPIProfileCount()
|
||||||
{
|
{
|
||||||
return 4;
|
return 4;
|
||||||
@@ -174,4 +178,19 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class StrixImpactIIElectroPunk : StrixImpactII
|
||||||
|
{
|
||||||
|
|
||||||
|
public StrixImpactIIElectroPunk() : base(0x1956)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public override string GetDisplayName()
|
||||||
|
{
|
||||||
|
return "ROG Strix Impact II Electro Punk";
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -209,12 +209,14 @@ namespace GHelper.Peripherals
|
|||||||
DetectMouse(new PugioII());
|
DetectMouse(new PugioII());
|
||||||
DetectMouse(new PugioIIWired());
|
DetectMouse(new PugioIIWired());
|
||||||
DetectMouse(new StrixImpactII());
|
DetectMouse(new StrixImpactII());
|
||||||
|
DetectMouse(new StrixImpactIIElectroPunk());
|
||||||
DetectMouse(new Chakram());
|
DetectMouse(new Chakram());
|
||||||
DetectMouse(new ChakramWired());
|
DetectMouse(new ChakramWired());
|
||||||
DetectMouse(new ChakramCore());
|
DetectMouse(new ChakramCore());
|
||||||
DetectMouse(new SpathaX());
|
DetectMouse(new SpathaX());
|
||||||
DetectMouse(new StrixCarry());
|
DetectMouse(new StrixCarry());
|
||||||
DetectMouse(new StrixImpactIII());
|
DetectMouse(new StrixImpactIII());
|
||||||
|
DetectMouse(new StrixImpact());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void DetectMouse(AsusMouse am)
|
public static void DetectMouse(AsusMouse am)
|
||||||
|
|||||||
@@ -32,7 +32,6 @@ namespace GHelper
|
|||||||
public static ModeControl modeControl = new ModeControl();
|
public static ModeControl modeControl = new ModeControl();
|
||||||
public static GPUModeControl gpuControl = new GPUModeControl(settingsForm);
|
public static GPUModeControl gpuControl = new GPUModeControl(settingsForm);
|
||||||
public static AllyControl allyControl = new AllyControl(settingsForm);
|
public static AllyControl allyControl = new AllyControl(settingsForm);
|
||||||
public static ScreenControl screenControl = new ScreenControl();
|
|
||||||
public static ClamshellModeControl clamshellControl = new ClamshellModeControl();
|
public static ClamshellModeControl clamshellControl = new ClamshellModeControl();
|
||||||
|
|
||||||
public static ToastForm toast = new ToastForm();
|
public static ToastForm toast = new ToastForm();
|
||||||
@@ -166,7 +165,7 @@ namespace GHelper
|
|||||||
if (e.Reason == SessionSwitchReason.SessionLogon || e.Reason == SessionSwitchReason.SessionUnlock)
|
if (e.Reason == SessionSwitchReason.SessionLogon || e.Reason == SessionSwitchReason.SessionUnlock)
|
||||||
{
|
{
|
||||||
Logger.WriteLine("Session:" + e.Reason.ToString());
|
Logger.WriteLine("Session:" + e.Reason.ToString());
|
||||||
screenControl.AutoScreen();
|
ScreenControl.AutoScreen();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -224,7 +223,7 @@ namespace GHelper
|
|||||||
if (!switched)
|
if (!switched)
|
||||||
{
|
{
|
||||||
gpuControl.InitGPUMode();
|
gpuControl.InitGPUMode();
|
||||||
screenControl.AutoScreen();
|
ScreenControl.AutoScreen();
|
||||||
}
|
}
|
||||||
|
|
||||||
BatteryControl.AutoBattery(init);
|
BatteryControl.AutoBattery(init);
|
||||||
|
|||||||
20
app/Properties/Resources.Designer.cs
generated
20
app/Properties/Resources.Designer.cs
generated
@@ -210,6 +210,16 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap icons8_brightness_32 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("icons8-brightness-32", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -590,6 +600,16 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap icons8_search_32 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("icons8-search-32", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -166,11 +166,14 @@
|
|||||||
<data name="brightness_up" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="brightness_up" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\brightness-up.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\brightness-up.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="brightness_down" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\brightness-down.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
<data name="icons8_processor_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="icons8_processor_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\icons8-processor-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\icons8-processor-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="icons8-fiat-500-48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="MFont" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\icons8-fiat-500-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\Font.otf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="icons8_touchpad_96" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="icons8_touchpad_96" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\icons8-touchpad-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\icons8-touchpad-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
@@ -187,9 +190,6 @@
|
|||||||
<data name="icons8-laptop-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="icons8-laptop-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\icons8-laptop-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\icons8-laptop-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ally" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
|
||||||
<value>..\Resources\ally.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
|
||||||
</data>
|
|
||||||
<data name="icons8_remove_64" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="icons8_remove_64" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\icons8-remove-64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\icons8-remove-64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -214,6 +214,9 @@
|
|||||||
<data name="backlight" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="backlight" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\backlight.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\backlight.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="icons8-brightness-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\icons8-brightness-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
<data name="icons8-refresh-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="icons8-refresh-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\icons8-refresh-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\icons8-refresh-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -250,8 +253,11 @@
|
|||||||
<data name="dot_ultimate" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="dot_ultimate" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\dot-ultimate.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\dot-ultimate.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="brightness_down" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="icons8-heartbeat-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\brightness-down.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\icons8-heartbeat-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="ally" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\ally.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="backlight_up" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="backlight_up" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\backlight-up.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\backlight-up.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
@@ -283,8 +289,8 @@
|
|||||||
<data name="icons8_video_48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="icons8_video_48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\icons8-video-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\icons8-video-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MFont" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="icons8-fiat-500-48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\Font.otf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>..\Resources\icons8-fiat-500-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="dot_eco" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="dot_eco" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\dot-eco.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\dot-eco.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
@@ -331,7 +337,7 @@
|
|||||||
<data name="icons8-charging-battery-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="icons8-charging-battery-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\icons8-charging-battery-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\icons8-charging-battery-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="icons8-heartbeat-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="icons8-search-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\icons8-heartbeat-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\icons8-search-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
</root>
|
</root>
|
||||||
23
app/Properties/Strings.Designer.cs
generated
23
app/Properties/Strings.Designer.cs
generated
@@ -699,6 +699,15 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Disable on lid close.
|
||||||
|
/// </summary>
|
||||||
|
internal static string DisableOnLidClose {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("DisableOnLidClose", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Disable screen overdrive.
|
/// Looks up a localized string similar to Disable screen overdrive.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -790,9 +799,9 @@ namespace GHelper.Properties {
|
|||||||
return ResourceManager.GetString("EnergySettings", resourceCulture);
|
return ResourceManager.GetString("EnergySettings", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Export.
|
/// Looks up a localized string similar to Export Profile.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
internal static string Export {
|
internal static string Export {
|
||||||
get {
|
get {
|
||||||
@@ -1024,9 +1033,9 @@ namespace GHelper.Properties {
|
|||||||
return ResourceManager.GetString("ImageRotation", resourceCulture);
|
return ResourceManager.GetString("ImageRotation", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Import.
|
/// Looks up a localized string similar to Import Profile.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
internal static string Import {
|
internal static string Import {
|
||||||
get {
|
get {
|
||||||
@@ -1294,9 +1303,9 @@ namespace GHelper.Properties {
|
|||||||
return ResourceManager.GetString("MouseButtonResponse", resourceCulture);
|
return ResourceManager.GetString("MouseButtonResponse", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 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..
|
||||||
/// </summary>
|
/// </summary>
|
||||||
internal static string MouseImportFailed {
|
internal static string MouseImportFailed {
|
||||||
get {
|
get {
|
||||||
@@ -1800,7 +1809,7 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Turn off on battery.
|
/// Looks up a localized string similar to Disable on battery.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
internal static string TurnOffOnBattery {
|
internal static string TurnOffOnBattery {
|
||||||
get {
|
get {
|
||||||
|
|||||||
@@ -124,10 +124,10 @@
|
|||||||
<value>Verbindung zu ASUS ACPI fehlgeschlagen. G-Helper kann nicht ausgeführt werden. Bitte installiere ASUS System Control Interface.</value>
|
<value>Verbindung zu ASUS ACPI fehlgeschlagen. G-Helper kann nicht ausgeführt werden. Bitte installiere ASUS System Control Interface.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AlertAPUMemoryRestart" xml:space="preserve">
|
<data name="AlertAPUMemoryRestart" xml:space="preserve">
|
||||||
<value>Restart your device to apply changes</value>
|
<value>Gerät neu starten, um Änderungen anzuwenden</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AlertAPUMemoryRestartTitle" xml:space="preserve">
|
<data name="AlertAPUMemoryRestartTitle" xml:space="preserve">
|
||||||
<value>Restart now?</value>
|
<value>Jetzt neu starten?</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AlertDGPU" xml:space="preserve">
|
<data name="AlertDGPU" xml:space="preserve">
|
||||||
<value>Die GPU wird gerade verwendet. Trotzdem deaktivieren?</value>
|
<value>Die GPU wird gerade verwendet. Trotzdem deaktivieren?</value>
|
||||||
@@ -250,7 +250,7 @@
|
|||||||
<value>Im Betrieb</value>
|
<value>Im Betrieb</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BacklightTimeout" xml:space="preserve">
|
<data name="BacklightTimeout" xml:space="preserve">
|
||||||
<value>Timeout angeschlossen / bei Akku (0 - AN)</value>
|
<value>Timeout angeschlossen / bei Akku (0 = An)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BacklightTimeoutBattery" xml:space="preserve">
|
<data name="BacklightTimeoutBattery" xml:space="preserve">
|
||||||
<value>Backlight Timeout when on battery</value>
|
<value>Backlight Timeout when on battery</value>
|
||||||
@@ -289,7 +289,7 @@
|
|||||||
<value>Hochfahren</value>
|
<value>Hochfahren</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BootSound" xml:space="preserve">
|
<data name="BootSound" xml:space="preserve">
|
||||||
<value>Boot Sound</value>
|
<value>Boot-Sound</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Brightness" xml:space="preserve">
|
<data name="Brightness" xml:space="preserve">
|
||||||
<value>Helligkeit</value>
|
<value>Helligkeit</value>
|
||||||
@@ -310,7 +310,7 @@
|
|||||||
<value>Farbe</value>
|
<value>Farbe</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Contrast" xml:space="preserve">
|
<data name="Contrast" xml:space="preserve">
|
||||||
<value>Contrast</value>
|
<value>Kontrast</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Controller" xml:space="preserve">
|
<data name="Controller" xml:space="preserve">
|
||||||
<value>Controller</value>
|
<value>Controller</value>
|
||||||
@@ -328,7 +328,10 @@
|
|||||||
<value>Standard</value>
|
<value>Standard</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DisableController" xml:space="preserve">
|
<data name="DisableController" xml:space="preserve">
|
||||||
<value>Disable Controller</value>
|
<value>Controller deaktivieren</value>
|
||||||
|
</data>
|
||||||
|
<data name="DisableOnLidClose" xml:space="preserve">
|
||||||
|
<value>Disable on lid close</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DisableOverdrive" xml:space="preserve">
|
<data name="DisableOverdrive" xml:space="preserve">
|
||||||
<value>Bildschirm: Overdrive abschalten</value>
|
<value>Bildschirm: Overdrive abschalten</value>
|
||||||
@@ -349,7 +352,7 @@
|
|||||||
<value>Eco</value>
|
<value>Eco</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="EnableGPUOnShutdown" xml:space="preserve">
|
<data name="EnableGPUOnShutdown" xml:space="preserve">
|
||||||
<value>Enable GPU on shutdown (prevents issue with Eco mode)</value>
|
<value>Aktiviere GPU beim Herunterfahren (verhindert Problem im Eco-Modus)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="EnableOptimusText" xml:space="preserve">
|
<data name="EnableOptimusText" xml:space="preserve">
|
||||||
<value>Die dGPU zu deaktivieren, indem Sie in den Eco-Modus wechseln während der Anzeigemodus nicht auf Optimus eingestellt ist, kann zu Problemen mit der Helligkeitseinstellung führen.
|
<value>Die dGPU zu deaktivieren, indem Sie in den Eco-Modus wechseln während der Anzeigemodus nicht auf Optimus eingestellt ist, kann zu Problemen mit der Helligkeitseinstellung führen.
|
||||||
@@ -363,7 +366,7 @@ Trotzdem fortfahren?</value>
|
|||||||
<value>Energieeinstellungen</value>
|
<value>Energieeinstellungen</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Export" xml:space="preserve">
|
<data name="Export" xml:space="preserve">
|
||||||
<value>Export Profile</value>
|
<value>Profil exportieren</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Extra" xml:space="preserve">
|
<data name="Extra" xml:space="preserve">
|
||||||
<value>Extra</value>
|
<value>Extra</value>
|
||||||
@@ -438,10 +441,10 @@ Trotzdem fortfahren?</value>
|
|||||||
<value>Hoch</value>
|
<value>Hoch</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ImageRotation" xml:space="preserve">
|
<data name="ImageRotation" xml:space="preserve">
|
||||||
<value>Image Rotation</value>
|
<value>Bilddrehung</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Import" xml:space="preserve">
|
<data name="Import" xml:space="preserve">
|
||||||
<value>Import Profile</value>
|
<value>Profil importieren</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="KeyBindings" xml:space="preserve">
|
<data name="KeyBindings" xml:space="preserve">
|
||||||
<value>Tastenbelegung</value>
|
<value>Tastenbelegung</value>
|
||||||
@@ -531,7 +534,7 @@ Trotzdem fortfahren?</value>
|
|||||||
<value>Tastenreaktionsgeschwindigkeit</value>
|
<value>Tastenreaktionsgeschwindigkeit</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MouseImportFailed" xml:space="preserve">
|
<data name="MouseImportFailed" xml:space="preserve">
|
||||||
<value>Import failed. Selected file is not a valid mouse profile or corrutpted.</value>
|
<value>Import fehlgeschlagen. Die ausgewählte Datei ist kein gültiges Mausprofil oder beschädigt.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MouseLiftOffDistance" xml:space="preserve">
|
<data name="MouseLiftOffDistance" xml:space="preserve">
|
||||||
<value>Lift Off Distance</value>
|
<value>Lift Off Distance</value>
|
||||||
@@ -618,7 +621,7 @@ Trotzdem fortfahren?</value>
|
|||||||
<value>Schließen</value>
|
<value>Schließen</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Reset" xml:space="preserve">
|
<data name="Reset" xml:space="preserve">
|
||||||
<value>Reset</value>
|
<value>Zurücksetzen</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RestartGPU" xml:space="preserve">
|
<data name="RestartGPU" xml:space="preserve">
|
||||||
<value>Ein Prozess verhindert den Wechsel in den Eco-Modus. dGPU neu starten? Fortfahren auf eigene Gefahr.</value>
|
<value>Ein Prozess verhindert den Wechsel in den Eco-Modus. dGPU neu starten? Fortfahren auf eigene Gefahr.</value>
|
||||||
@@ -636,7 +639,7 @@ Trotzdem fortfahren?</value>
|
|||||||
<value>Beim Start ausführen</value>
|
<value>Beim Start ausführen</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ScalingQuality" xml:space="preserve">
|
<data name="ScalingQuality" xml:space="preserve">
|
||||||
<value>Scaling Quality</value>
|
<value>Skalierungsqualität</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ScreenPadDown" xml:space="preserve">
|
<data name="ScreenPadDown" xml:space="preserve">
|
||||||
<value>Screenpad Helligkeit verringern</value>
|
<value>Screenpad Helligkeit verringern</value>
|
||||||
@@ -717,7 +720,7 @@ Trotzdem fortfahren?</value>
|
|||||||
<value>Version</value>
|
<value>Version</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="VibrationStrength" xml:space="preserve">
|
<data name="VibrationStrength" xml:space="preserve">
|
||||||
<value>Vibration Strength</value>
|
<value>Vibrationsstärke</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="VolumeDown" xml:space="preserve">
|
<data name="VolumeDown" xml:space="preserve">
|
||||||
<value>Lautstärke verringern</value>
|
<value>Lautstärke verringern</value>
|
||||||
|
|||||||
@@ -330,6 +330,9 @@
|
|||||||
<data name="DisableController" xml:space="preserve">
|
<data name="DisableController" xml:space="preserve">
|
||||||
<value>Deshabilitar mando</value>
|
<value>Deshabilitar mando</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="DisableOnLidClose" xml:space="preserve">
|
||||||
|
<value>Desactivar al cerrar la tapa</value>
|
||||||
|
</data>
|
||||||
<data name="DisableOverdrive" xml:space="preserve">
|
<data name="DisableOverdrive" xml:space="preserve">
|
||||||
<value>Desactivar Overdrive</value>
|
<value>Desactivar Overdrive</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -330,6 +330,9 @@
|
|||||||
<data name="DisableController" xml:space="preserve">
|
<data name="DisableController" xml:space="preserve">
|
||||||
<value>Désactiver le contrôleur</value>
|
<value>Désactiver le contrôleur</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="DisableOnLidClose" xml:space="preserve">
|
||||||
|
<value>Disable on lid close</value>
|
||||||
|
</data>
|
||||||
<data name="DisableOverdrive" xml:space="preserve">
|
<data name="DisableOverdrive" xml:space="preserve">
|
||||||
<value>Désactiver l'overdrive de l'écran</value>
|
<value>Désactiver l'overdrive de l'écran</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -456,10 +459,10 @@ Voulez-vous continuer ?</value>
|
|||||||
<value>Rétroéclairage du clavier</value>
|
<value>Rétroéclairage du clavier</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="LaptopKeyboard" xml:space="preserve">
|
<data name="LaptopKeyboard" xml:space="preserve">
|
||||||
<value>Clavier de l'ordinateur</value>
|
<value>Clavier</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="LaptopScreen" xml:space="preserve">
|
<data name="LaptopScreen" xml:space="preserve">
|
||||||
<value>Écran de l'ordinateur </value>
|
<value>Écran</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Lid" xml:space="preserve">
|
<data name="Lid" xml:space="preserve">
|
||||||
<value>Capot</value>
|
<value>Capot</value>
|
||||||
@@ -588,7 +591,7 @@ Voulez-vous continuer ?</value>
|
|||||||
<value>Overdrive</value>
|
<value>Overdrive</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="PerformanceMode" xml:space="preserve">
|
<data name="PerformanceMode" xml:space="preserve">
|
||||||
<value>Mode Performance</value>
|
<value>Mode</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Peripherals" xml:space="preserve">
|
<data name="Peripherals" xml:space="preserve">
|
||||||
<value>Périphériques</value>
|
<value>Périphériques</value>
|
||||||
|
|||||||
@@ -330,6 +330,9 @@
|
|||||||
<data name="DisableController" xml:space="preserve">
|
<data name="DisableController" xml:space="preserve">
|
||||||
<value>Disable Controller</value>
|
<value>Disable Controller</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="DisableOnLidClose" xml:space="preserve">
|
||||||
|
<value>Disable on lid close</value>
|
||||||
|
</data>
|
||||||
<data name="DisableOverdrive" xml:space="preserve">
|
<data name="DisableOverdrive" xml:space="preserve">
|
||||||
<value>Képernyőtúlhajtás letiltása</value>
|
<value>Képernyőtúlhajtás letiltása</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -330,6 +330,9 @@
|
|||||||
<data name="DisableController" xml:space="preserve">
|
<data name="DisableController" xml:space="preserve">
|
||||||
<value>Disable Controller</value>
|
<value>Disable Controller</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="DisableOnLidClose" xml:space="preserve">
|
||||||
|
<value>Disable on lid close</value>
|
||||||
|
</data>
|
||||||
<data name="DisableOverdrive" xml:space="preserve">
|
<data name="DisableOverdrive" xml:space="preserve">
|
||||||
<value>Nonaktifkan screen overdrive</value>
|
<value>Nonaktifkan screen overdrive</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -330,6 +330,9 @@
|
|||||||
<data name="DisableController" xml:space="preserve">
|
<data name="DisableController" xml:space="preserve">
|
||||||
<value>Disable Controller</value>
|
<value>Disable Controller</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="DisableOnLidClose" xml:space="preserve">
|
||||||
|
<value>Disable on lid close</value>
|
||||||
|
</data>
|
||||||
<data name="DisableOverdrive" xml:space="preserve">
|
<data name="DisableOverdrive" xml:space="preserve">
|
||||||
<value>Disabilita Overdrive Schermo</value>
|
<value>Disabilita Overdrive Schermo</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -330,6 +330,9 @@
|
|||||||
<data name="DisableController" xml:space="preserve">
|
<data name="DisableController" xml:space="preserve">
|
||||||
<value>Disable Controller</value>
|
<value>Disable Controller</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="DisableOnLidClose" xml:space="preserve">
|
||||||
|
<value>Disable on lid close</value>
|
||||||
|
</data>
|
||||||
<data name="DisableOverdrive" xml:space="preserve">
|
<data name="DisableOverdrive" xml:space="preserve">
|
||||||
<value>화면 OD 끄기</value>
|
<value>화면 OD 끄기</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -330,6 +330,9 @@
|
|||||||
<data name="DisableController" xml:space="preserve">
|
<data name="DisableController" xml:space="preserve">
|
||||||
<value>Disable Controller</value>
|
<value>Disable Controller</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="DisableOnLidClose" xml:space="preserve">
|
||||||
|
<value>Disable on lid close</value>
|
||||||
|
</data>
|
||||||
<data name="DisableOverdrive" xml:space="preserve">
|
<data name="DisableOverdrive" xml:space="preserve">
|
||||||
<value>Išjungti ekrano pikselių spartinimą</value>
|
<value>Išjungti ekrano pikselių spartinimą</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -330,6 +330,9 @@
|
|||||||
<data name="DisableController" xml:space="preserve">
|
<data name="DisableController" xml:space="preserve">
|
||||||
<value>Disable Controller</value>
|
<value>Disable Controller</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="DisableOnLidClose" xml:space="preserve">
|
||||||
|
<value>Disable on lid close</value>
|
||||||
|
</data>
|
||||||
<data name="DisableOverdrive" xml:space="preserve">
|
<data name="DisableOverdrive" xml:space="preserve">
|
||||||
<value>Wyłącz funkcję Overdrive monitora</value>
|
<value>Wyłącz funkcję Overdrive monitora</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -330,6 +330,9 @@
|
|||||||
<data name="DisableController" xml:space="preserve">
|
<data name="DisableController" xml:space="preserve">
|
||||||
<value>Disable Controller</value>
|
<value>Disable Controller</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="DisableOnLidClose" xml:space="preserve">
|
||||||
|
<value>Disable on lid close</value>
|
||||||
|
</data>
|
||||||
<data name="DisableOverdrive" xml:space="preserve">
|
<data name="DisableOverdrive" xml:space="preserve">
|
||||||
<value>Desativar o overdrive da tela</value>
|
<value>Desativar o overdrive da tela</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -330,6 +330,9 @@
|
|||||||
<data name="DisableController" xml:space="preserve">
|
<data name="DisableController" xml:space="preserve">
|
||||||
<value>Disable Controller</value>
|
<value>Disable Controller</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="DisableOnLidClose" xml:space="preserve">
|
||||||
|
<value>Disable on lid close</value>
|
||||||
|
</data>
|
||||||
<data name="DisableOverdrive" xml:space="preserve">
|
<data name="DisableOverdrive" xml:space="preserve">
|
||||||
<value>Desativar o overdrive do ecrã</value>
|
<value>Desativar o overdrive do ecrã</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -330,6 +330,9 @@
|
|||||||
<data name="DisableController" xml:space="preserve">
|
<data name="DisableController" xml:space="preserve">
|
||||||
<value>Disable Controller</value>
|
<value>Disable Controller</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="DisableOnLidClose" xml:space="preserve">
|
||||||
|
<value>Disable on lid close</value>
|
||||||
|
</data>
|
||||||
<data name="DisableOverdrive" xml:space="preserve">
|
<data name="DisableOverdrive" xml:space="preserve">
|
||||||
<value>Disable screen overdrive</value>
|
<value>Disable screen overdrive</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -699,7 +702,7 @@ Do you still want to continue?</value>
|
|||||||
<value>Turned off</value>
|
<value>Turned off</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="TurnOffOnBattery" xml:space="preserve">
|
<data name="TurnOffOnBattery" xml:space="preserve">
|
||||||
<value>Turn off on battery</value>
|
<value>Disable on battery</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="UltimateGPUTooltip" xml:space="preserve">
|
<data name="UltimateGPUTooltip" xml:space="preserve">
|
||||||
<value>Routes laptop screen to dGPU, maximizing FPS</value>
|
<value>Routes laptop screen to dGPU, maximizing FPS</value>
|
||||||
|
|||||||
@@ -330,6 +330,9 @@
|
|||||||
<data name="DisableController" xml:space="preserve">
|
<data name="DisableController" xml:space="preserve">
|
||||||
<value>Disable Controller</value>
|
<value>Disable Controller</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="DisableOnLidClose" xml:space="preserve">
|
||||||
|
<value>Disable on lid close</value>
|
||||||
|
</data>
|
||||||
<data name="DisableOverdrive" xml:space="preserve">
|
<data name="DisableOverdrive" xml:space="preserve">
|
||||||
<value>Dezactivează screen overdrive</value>
|
<value>Dezactivează screen overdrive</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -330,6 +330,9 @@
|
|||||||
<data name="DisableController" xml:space="preserve">
|
<data name="DisableController" xml:space="preserve">
|
||||||
<value>Disable Controller</value>
|
<value>Disable Controller</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="DisableOnLidClose" xml:space="preserve">
|
||||||
|
<value>Disable on lid close</value>
|
||||||
|
</data>
|
||||||
<data name="DisableOverdrive" xml:space="preserve">
|
<data name="DisableOverdrive" xml:space="preserve">
|
||||||
<value>Ekran overdrive özelliğini devre dışı bırak</value>
|
<value>Ekran overdrive özelliğini devre dışı bırak</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -330,6 +330,9 @@
|
|||||||
<data name="DisableController" xml:space="preserve">
|
<data name="DisableController" xml:space="preserve">
|
||||||
<value>Вимкнути контролер</value>
|
<value>Вимкнути контролер</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="DisableOnLidClose" xml:space="preserve">
|
||||||
|
<value>Вимкнути при закритті</value>
|
||||||
|
</data>
|
||||||
<data name="DisableOverdrive" xml:space="preserve">
|
<data name="DisableOverdrive" xml:space="preserve">
|
||||||
<value>Вимкнути овердрайв дисплею</value>
|
<value>Вимкнути овердрайв дисплею</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -699,7 +702,7 @@
|
|||||||
<value>Вимкнений</value>
|
<value>Вимкнений</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="TurnOffOnBattery" xml:space="preserve">
|
<data name="TurnOffOnBattery" xml:space="preserve">
|
||||||
<value>Вимикати на батареї</value>
|
<value>Вимкнути на батареї</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="UltimateGPUTooltip" xml:space="preserve">
|
<data name="UltimateGPUTooltip" xml:space="preserve">
|
||||||
<value>Підключає екран лептопу до dGPU, щоб підвищити FPS</value>
|
<value>Підключає екран лептопу до dGPU, щоб підвищити FPS</value>
|
||||||
|
|||||||
@@ -330,6 +330,9 @@
|
|||||||
<data name="DisableController" xml:space="preserve">
|
<data name="DisableController" xml:space="preserve">
|
||||||
<value>Disable Controller</value>
|
<value>Disable Controller</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="DisableOnLidClose" xml:space="preserve">
|
||||||
|
<value>Disable on lid close</value>
|
||||||
|
</data>
|
||||||
<data name="DisableOverdrive" xml:space="preserve">
|
<data name="DisableOverdrive" xml:space="preserve">
|
||||||
<value>Tắt Overdrive</value>
|
<value>Tắt Overdrive</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -330,6 +330,9 @@
|
|||||||
<data name="DisableController" xml:space="preserve">
|
<data name="DisableController" xml:space="preserve">
|
||||||
<value>Disable Controller</value>
|
<value>Disable Controller</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="DisableOnLidClose" xml:space="preserve">
|
||||||
|
<value>Disable on lid close</value>
|
||||||
|
</data>
|
||||||
<data name="DisableOverdrive" xml:space="preserve">
|
<data name="DisableOverdrive" xml:space="preserve">
|
||||||
<value>禁用屏幕快速显示(OD)</value>
|
<value>禁用屏幕快速显示(OD)</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -145,7 +145,7 @@
|
|||||||
<value>現在重新啟動嗎?</value>
|
<value>現在重新啟動嗎?</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AllyController" xml:space="preserve">
|
<data name="AllyController" xml:space="preserve">
|
||||||
<value>Ally Controller</value>
|
<value>Ally控制器</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AnimationSpeed" xml:space="preserve">
|
<data name="AnimationSpeed" xml:space="preserve">
|
||||||
<value>動畫速度</value>
|
<value>動畫速度</value>
|
||||||
@@ -277,10 +277,10 @@
|
|||||||
<value>Binding</value>
|
<value>Binding</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BindingPrimary" xml:space="preserve">
|
<data name="BindingPrimary" xml:space="preserve">
|
||||||
<value>Primary</value>
|
<value>主要</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BindingSecondary" xml:space="preserve">
|
<data name="BindingSecondary" xml:space="preserve">
|
||||||
<value>Secondary</value>
|
<value>次要</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
||||||
<value>BIOS與驅動程式更新</value>
|
<value>BIOS與驅動程式更新</value>
|
||||||
@@ -313,7 +313,7 @@
|
|||||||
<value>Contrast</value>
|
<value>Contrast</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Controller" xml:space="preserve">
|
<data name="Controller" xml:space="preserve">
|
||||||
<value>Controller</value>
|
<value>控制器</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="CPUBoost" xml:space="preserve">
|
<data name="CPUBoost" xml:space="preserve">
|
||||||
<value>CPU 加速</value>
|
<value>CPU 加速</value>
|
||||||
@@ -328,7 +328,10 @@
|
|||||||
<value>預設</value>
|
<value>預設</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DisableController" xml:space="preserve">
|
<data name="DisableController" xml:space="preserve">
|
||||||
<value>Disable Controller</value>
|
<value>停用控制器</value>
|
||||||
|
</data>
|
||||||
|
<data name="DisableOnLidClose" xml:space="preserve">
|
||||||
|
<value>Disable on lid close</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DisableOverdrive" xml:space="preserve">
|
<data name="DisableOverdrive" xml:space="preserve">
|
||||||
<value>禁用螢幕加速OD</value>
|
<value>禁用螢幕加速OD</value>
|
||||||
@@ -363,7 +366,7 @@
|
|||||||
<value>電源設定</value>
|
<value>電源設定</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Export" xml:space="preserve">
|
<data name="Export" xml:space="preserve">
|
||||||
<value>Export Profile</value>
|
<value>匯出設定檔</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Extra" xml:space="preserve">
|
<data name="Extra" xml:space="preserve">
|
||||||
<value>更多</value>
|
<value>更多</value>
|
||||||
@@ -441,7 +444,7 @@
|
|||||||
<value>Image Rotation</value>
|
<value>Image Rotation</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Import" xml:space="preserve">
|
<data name="Import" xml:space="preserve">
|
||||||
<value>Import Profile</value>
|
<value>匯入設定檔</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="KeyBindings" xml:space="preserve">
|
<data name="KeyBindings" xml:space="preserve">
|
||||||
<value>按鍵綁定</value>
|
<value>按鍵綁定</value>
|
||||||
@@ -531,7 +534,7 @@
|
|||||||
<value>按鍵回應</value>
|
<value>按鍵回應</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MouseImportFailed" xml:space="preserve">
|
<data name="MouseImportFailed" xml:space="preserve">
|
||||||
<value>Import failed. Selected file is not a valid mouse profile or corrutpted.</value>
|
<value>匯入失敗,所選檔案並非有效的滑鼠設定檔或該檔已毀損</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MouseLiftOffDistance" xml:space="preserve">
|
<data name="MouseLiftOffDistance" xml:space="preserve">
|
||||||
<value>響應高度(LOD)</value>
|
<value>響應高度(LOD)</value>
|
||||||
@@ -618,7 +621,7 @@
|
|||||||
<value>退出</value>
|
<value>退出</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Reset" xml:space="preserve">
|
<data name="Reset" xml:space="preserve">
|
||||||
<value>Reset</value>
|
<value>重設</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RestartGPU" xml:space="preserve">
|
<data name="RestartGPU" xml:space="preserve">
|
||||||
<value>有其他程式正在使用獨顯導致無法切換至節能模式. 是否讓G-Helper重新啟動獨顯? * 請自行評估風險</value>
|
<value>有其他程式正在使用獨顯導致無法切換至節能模式. 是否讓G-Helper重新啟動獨顯? * 請自行評估風險</value>
|
||||||
|
|||||||
BIN
app/Resources/icons8-brightness-32.png
Normal file
BIN
app/Resources/icons8-brightness-32.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 420 B |
BIN
app/Resources/icons8-search-32.png
Normal file
BIN
app/Resources/icons8-search-32.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 448 B |
@@ -13,7 +13,7 @@ namespace Ryzen
|
|||||||
internal class RyzenControl
|
internal class RyzenControl
|
||||||
{
|
{
|
||||||
|
|
||||||
public static int MinCPUUV => AppConfig.Get("min_uv", -30);
|
public static int MinCPUUV => AppConfig.Get("min_uv", -40);
|
||||||
public const int MaxCPUUV = 0;
|
public const int MaxCPUUV = 0;
|
||||||
|
|
||||||
public const int MinIGPUUV = -20;
|
public const int MinIGPUUV = -20;
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
267
app/Settings.Designer.cs
generated
267
app/Settings.Designer.cs
generated
@@ -31,14 +31,17 @@ namespace GHelper
|
|||||||
private void InitializeComponent()
|
private void InitializeComponent()
|
||||||
{
|
{
|
||||||
panelMatrix = new Panel();
|
panelMatrix = new Panel();
|
||||||
|
panelMatrixAuto = new Panel();
|
||||||
|
checkMatrixLid = new CheckBox();
|
||||||
|
checkMatrix = new CheckBox();
|
||||||
tableLayoutMatrix = new TableLayoutPanel();
|
tableLayoutMatrix = new TableLayoutPanel();
|
||||||
comboMatrix = new RComboBox();
|
comboMatrix = new RComboBox();
|
||||||
comboMatrixRunning = new RComboBox();
|
comboMatrixRunning = new RComboBox();
|
||||||
|
comboInterval = new RComboBox();
|
||||||
buttonMatrix = new RButton();
|
buttonMatrix = new RButton();
|
||||||
panelMatrixTitle = new Panel();
|
panelMatrixTitle = new Panel();
|
||||||
pictureMatrix = new PictureBox();
|
pictureMatrix = new PictureBox();
|
||||||
labelMatrix = new Label();
|
labelMatrix = new Label();
|
||||||
checkMatrix = new CheckBox();
|
|
||||||
panelBattery = new Panel();
|
panelBattery = new Panel();
|
||||||
buttonBatteryFull = new RButton();
|
buttonBatteryFull = new RButton();
|
||||||
sliderBattery = new Slider();
|
sliderBattery = new Slider();
|
||||||
@@ -119,8 +122,17 @@ namespace GHelper
|
|||||||
panelAllyTitle = new Panel();
|
panelAllyTitle = new Panel();
|
||||||
pictureAlly = new PictureBox();
|
pictureAlly = new PictureBox();
|
||||||
labelAlly = new Label();
|
labelAlly = new Label();
|
||||||
comboInterval = new RComboBox();
|
panelGamma = new Panel();
|
||||||
|
tableVisual = new TableLayoutPanel();
|
||||||
|
comboVisual = new RComboBox();
|
||||||
|
comboGamut = new RComboBox();
|
||||||
|
sliderGamma = new Slider();
|
||||||
|
panelGammaTitle = new Panel();
|
||||||
|
labelGamma = new Label();
|
||||||
|
pictureGamma = new PictureBox();
|
||||||
|
labelGammaTitle = new Label();
|
||||||
panelMatrix.SuspendLayout();
|
panelMatrix.SuspendLayout();
|
||||||
|
panelMatrixAuto.SuspendLayout();
|
||||||
tableLayoutMatrix.SuspendLayout();
|
tableLayoutMatrix.SuspendLayout();
|
||||||
panelMatrixTitle.SuspendLayout();
|
panelMatrixTitle.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)pictureMatrix).BeginInit();
|
((System.ComponentModel.ISupportInitialize)pictureMatrix).BeginInit();
|
||||||
@@ -158,6 +170,10 @@ namespace GHelper
|
|||||||
tableLayoutAlly.SuspendLayout();
|
tableLayoutAlly.SuspendLayout();
|
||||||
panelAllyTitle.SuspendLayout();
|
panelAllyTitle.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)pictureAlly).BeginInit();
|
((System.ComponentModel.ISupportInitialize)pictureAlly).BeginInit();
|
||||||
|
panelGamma.SuspendLayout();
|
||||||
|
tableVisual.SuspendLayout();
|
||||||
|
panelGammaTitle.SuspendLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)pictureGamma).BeginInit();
|
||||||
SuspendLayout();
|
SuspendLayout();
|
||||||
//
|
//
|
||||||
// panelMatrix
|
// panelMatrix
|
||||||
@@ -165,18 +181,58 @@ namespace GHelper
|
|||||||
panelMatrix.AccessibleRole = AccessibleRole.Grouping;
|
panelMatrix.AccessibleRole = AccessibleRole.Grouping;
|
||||||
panelMatrix.AutoSize = true;
|
panelMatrix.AutoSize = true;
|
||||||
panelMatrix.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
panelMatrix.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||||
|
panelMatrix.Controls.Add(panelMatrixAuto);
|
||||||
panelMatrix.Controls.Add(tableLayoutMatrix);
|
panelMatrix.Controls.Add(tableLayoutMatrix);
|
||||||
panelMatrix.Controls.Add(panelMatrixTitle);
|
panelMatrix.Controls.Add(panelMatrixTitle);
|
||||||
panelMatrix.Controls.Add(checkMatrix);
|
|
||||||
panelMatrix.Dock = DockStyle.Top;
|
panelMatrix.Dock = DockStyle.Top;
|
||||||
panelMatrix.Location = new Point(11, 827);
|
panelMatrix.Location = new Point(11, 1000);
|
||||||
panelMatrix.Margin = new Padding(0);
|
panelMatrix.Margin = new Padding(0);
|
||||||
panelMatrix.Name = "panelMatrix";
|
panelMatrix.Name = "panelMatrix";
|
||||||
panelMatrix.Padding = new Padding(20, 20, 20, 10);
|
panelMatrix.Padding = new Padding(20, 20, 20, 10);
|
||||||
panelMatrix.Size = new Size(827, 176);
|
panelMatrix.Size = new Size(827, 194);
|
||||||
panelMatrix.TabIndex = 3;
|
panelMatrix.TabIndex = 3;
|
||||||
panelMatrix.TabStop = true;
|
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(256, 0);
|
||||||
|
checkMatrixLid.Margin = new Padding(8, 4, 8, 4);
|
||||||
|
checkMatrixLid.Name = "checkMatrixLid";
|
||||||
|
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
|
||||||
//
|
//
|
||||||
tableLayoutMatrix.AutoSize = true;
|
tableLayoutMatrix.AutoSize = true;
|
||||||
@@ -230,6 +286,21 @@ namespace GHelper
|
|||||||
comboMatrixRunning.Size = new Size(248, 40);
|
comboMatrixRunning.Size = new Size(248, 40);
|
||||||
comboMatrixRunning.TabIndex = 17;
|
comboMatrixRunning.TabIndex = 17;
|
||||||
//
|
//
|
||||||
|
// comboInterval
|
||||||
|
//
|
||||||
|
comboInterval.BorderColor = Color.White;
|
||||||
|
comboInterval.ButtonColor = Color.FromArgb(255, 255, 255);
|
||||||
|
comboInterval.Dock = DockStyle.Top;
|
||||||
|
comboInterval.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
|
||||||
|
comboInterval.FormattingEnabled = true;
|
||||||
|
comboInterval.ItemHeight = 32;
|
||||||
|
comboInterval.Location = new Point(7, 75);
|
||||||
|
comboInterval.Margin = new Padding(7, 11, 7, 8);
|
||||||
|
comboInterval.Name = "comboInterval";
|
||||||
|
comboInterval.Size = new Size(248, 40);
|
||||||
|
comboInterval.TabIndex = 19;
|
||||||
|
comboInterval.Visible = false;
|
||||||
|
//
|
||||||
// buttonMatrix
|
// buttonMatrix
|
||||||
//
|
//
|
||||||
buttonMatrix.Activated = false;
|
buttonMatrix.Activated = false;
|
||||||
@@ -281,18 +352,6 @@ namespace GHelper
|
|||||||
labelMatrix.TabIndex = 40;
|
labelMatrix.TabIndex = 40;
|
||||||
labelMatrix.Text = "Anime Matrix";
|
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(249, 36);
|
|
||||||
checkMatrix.TabIndex = 19;
|
|
||||||
checkMatrix.Text = Properties.Strings.TurnOffOnBattery;
|
|
||||||
checkMatrix.UseVisualStyleBackColor = true;
|
|
||||||
//
|
|
||||||
// panelBattery
|
// panelBattery
|
||||||
//
|
//
|
||||||
panelBattery.AutoSize = true;
|
panelBattery.AutoSize = true;
|
||||||
@@ -301,7 +360,7 @@ namespace GHelper
|
|||||||
panelBattery.Controls.Add(sliderBattery);
|
panelBattery.Controls.Add(sliderBattery);
|
||||||
panelBattery.Controls.Add(panelBatteryTitle);
|
panelBattery.Controls.Add(panelBatteryTitle);
|
||||||
panelBattery.Dock = DockStyle.Top;
|
panelBattery.Dock = DockStyle.Top;
|
||||||
panelBattery.Location = new Point(11, 1485);
|
panelBattery.Location = new Point(11, 1676);
|
||||||
panelBattery.Margin = new Padding(0);
|
panelBattery.Margin = new Padding(0);
|
||||||
panelBattery.Name = "panelBattery";
|
panelBattery.Name = "panelBattery";
|
||||||
panelBattery.Padding = new Padding(20, 20, 20, 10);
|
panelBattery.Padding = new Padding(20, 20, 20, 10);
|
||||||
@@ -393,7 +452,7 @@ namespace GHelper
|
|||||||
panelFooter.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
panelFooter.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||||
panelFooter.Controls.Add(tableButtons);
|
panelFooter.Controls.Add(tableButtons);
|
||||||
panelFooter.Dock = DockStyle.Top;
|
panelFooter.Dock = DockStyle.Top;
|
||||||
panelFooter.Location = new Point(11, 1660);
|
panelFooter.Location = new Point(11, 1851);
|
||||||
panelFooter.Margin = new Padding(0);
|
panelFooter.Margin = new Padding(0);
|
||||||
panelFooter.Name = "panelFooter";
|
panelFooter.Name = "panelFooter";
|
||||||
panelFooter.Padding = new Padding(20);
|
panelFooter.Padding = new Padding(20);
|
||||||
@@ -1140,7 +1199,7 @@ namespace GHelper
|
|||||||
panelKeyboard.Controls.Add(tableLayoutKeyboard);
|
panelKeyboard.Controls.Add(tableLayoutKeyboard);
|
||||||
panelKeyboard.Controls.Add(panelKeyboardTitle);
|
panelKeyboard.Controls.Add(panelKeyboardTitle);
|
||||||
panelKeyboard.Dock = DockStyle.Top;
|
panelKeyboard.Dock = DockStyle.Top;
|
||||||
panelKeyboard.Location = new Point(11, 1143);
|
panelKeyboard.Location = new Point(11, 1334);
|
||||||
panelKeyboard.Margin = new Padding(0);
|
panelKeyboard.Margin = new Padding(0);
|
||||||
panelKeyboard.Name = "panelKeyboard";
|
panelKeyboard.Name = "panelKeyboard";
|
||||||
panelKeyboard.Padding = new Padding(20);
|
panelKeyboard.Padding = new Padding(20);
|
||||||
@@ -1316,7 +1375,7 @@ namespace GHelper
|
|||||||
panelVersion.Controls.Add(labelCharge);
|
panelVersion.Controls.Add(labelCharge);
|
||||||
panelVersion.Controls.Add(checkStartup);
|
panelVersion.Controls.Add(checkStartup);
|
||||||
panelVersion.Dock = DockStyle.Top;
|
panelVersion.Dock = DockStyle.Top;
|
||||||
panelVersion.Location = new Point(11, 1604);
|
panelVersion.Location = new Point(11, 1795);
|
||||||
panelVersion.Margin = new Padding(4);
|
panelVersion.Margin = new Padding(4);
|
||||||
panelVersion.Name = "panelVersion";
|
panelVersion.Name = "panelVersion";
|
||||||
panelVersion.Size = new Size(827, 56);
|
panelVersion.Size = new Size(827, 56);
|
||||||
@@ -1341,7 +1400,7 @@ namespace GHelper
|
|||||||
panelPeripherals.Controls.Add(tableLayoutPeripherals);
|
panelPeripherals.Controls.Add(tableLayoutPeripherals);
|
||||||
panelPeripherals.Controls.Add(panelPeripheralsTile);
|
panelPeripherals.Controls.Add(panelPeripheralsTile);
|
||||||
panelPeripherals.Dock = DockStyle.Top;
|
panelPeripherals.Dock = DockStyle.Top;
|
||||||
panelPeripherals.Location = new Point(11, 1287);
|
panelPeripherals.Location = new Point(11, 1478);
|
||||||
panelPeripherals.Margin = new Padding(0);
|
panelPeripherals.Margin = new Padding(0);
|
||||||
panelPeripherals.Name = "panelPeripherals";
|
panelPeripherals.Name = "panelPeripherals";
|
||||||
panelPeripherals.Padding = new Padding(20, 20, 20, 10);
|
panelPeripherals.Padding = new Padding(20, 20, 20, 10);
|
||||||
@@ -1483,7 +1542,7 @@ namespace GHelper
|
|||||||
panelAlly.Controls.Add(tableLayoutAlly);
|
panelAlly.Controls.Add(tableLayoutAlly);
|
||||||
panelAlly.Controls.Add(panelAllyTitle);
|
panelAlly.Controls.Add(panelAllyTitle);
|
||||||
panelAlly.Dock = DockStyle.Top;
|
panelAlly.Dock = DockStyle.Top;
|
||||||
panelAlly.Location = new Point(11, 1003);
|
panelAlly.Location = new Point(11, 1194);
|
||||||
panelAlly.Margin = new Padding(0);
|
panelAlly.Margin = new Padding(0);
|
||||||
panelAlly.Name = "panelAlly";
|
panelAlly.Name = "panelAlly";
|
||||||
panelAlly.Padding = new Padding(20, 20, 20, 0);
|
panelAlly.Padding = new Padding(20, 20, 20, 0);
|
||||||
@@ -1611,20 +1670,135 @@ namespace GHelper
|
|||||||
labelAlly.TabIndex = 26;
|
labelAlly.TabIndex = 26;
|
||||||
labelAlly.Text = "Ally Controller";
|
labelAlly.Text = "Ally Controller";
|
||||||
//
|
//
|
||||||
// comboInterval
|
// panelGamma
|
||||||
//
|
//
|
||||||
comboInterval.BorderColor = Color.White;
|
panelGamma.AutoSize = true;
|
||||||
comboInterval.ButtonColor = Color.FromArgb(255, 255, 255);
|
panelGamma.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||||
comboInterval.Dock = DockStyle.Top;
|
panelGamma.Controls.Add(tableVisual);
|
||||||
comboInterval.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
|
panelGamma.Controls.Add(sliderGamma);
|
||||||
comboInterval.FormattingEnabled = true;
|
panelGamma.Controls.Add(panelGammaTitle);
|
||||||
comboInterval.ItemHeight = 32;
|
panelGamma.Dock = DockStyle.Top;
|
||||||
comboInterval.Location = new Point(7, 75);
|
panelGamma.Location = new Point(11, 827);
|
||||||
comboInterval.Margin = new Padding(7, 11, 7, 8);
|
panelGamma.Margin = new Padding(0);
|
||||||
comboInterval.Name = "comboInterval";
|
panelGamma.Name = "panelGamma";
|
||||||
comboInterval.Size = new Size(248, 40);
|
panelGamma.Padding = new Padding(20, 20, 20, 10);
|
||||||
comboInterval.TabIndex = 19;
|
panelGamma.Size = new Size(827, 173);
|
||||||
comboInterval.Visible = false;
|
panelGamma.TabIndex = 9;
|
||||||
|
panelGamma.Visible = false;
|
||||||
|
//
|
||||||
|
// tableVisual
|
||||||
|
//
|
||||||
|
tableVisual.AutoSize = true;
|
||||||
|
tableVisual.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||||
|
tableVisual.ColumnCount = 3;
|
||||||
|
tableVisual.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33F));
|
||||||
|
tableVisual.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33F));
|
||||||
|
tableVisual.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33F));
|
||||||
|
tableVisual.Controls.Add(comboVisual, 0, 0);
|
||||||
|
tableVisual.Controls.Add(comboGamut, 0, 0);
|
||||||
|
tableVisual.Dock = DockStyle.Top;
|
||||||
|
tableVisual.Location = new Point(20, 104);
|
||||||
|
tableVisual.Margin = new Padding(8);
|
||||||
|
tableVisual.Name = "tableVisual";
|
||||||
|
tableVisual.RowCount = 1;
|
||||||
|
tableVisual.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
|
||||||
|
tableVisual.Size = new Size(787, 59);
|
||||||
|
tableVisual.TabIndex = 41;
|
||||||
|
tableVisual.Visible = false;
|
||||||
|
//
|
||||||
|
// comboVisual
|
||||||
|
//
|
||||||
|
comboVisual.BorderColor = Color.White;
|
||||||
|
comboVisual.ButtonColor = Color.FromArgb(255, 255, 255);
|
||||||
|
comboVisual.Dock = DockStyle.Top;
|
||||||
|
comboVisual.FlatStyle = FlatStyle.Flat;
|
||||||
|
comboVisual.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
|
||||||
|
comboVisual.FormattingEnabled = true;
|
||||||
|
comboVisual.ItemHeight = 32;
|
||||||
|
comboVisual.Items.AddRange(new object[] { "Static", "Breathe", "Rainbow", "Strobe" });
|
||||||
|
comboVisual.Location = new Point(266, 11);
|
||||||
|
comboVisual.Margin = new Padding(4, 11, 4, 8);
|
||||||
|
comboVisual.Name = "comboVisual";
|
||||||
|
comboVisual.Size = new Size(254, 40);
|
||||||
|
comboVisual.TabIndex = 14;
|
||||||
|
comboVisual.Visible = false;
|
||||||
|
//
|
||||||
|
// comboGamut
|
||||||
|
//
|
||||||
|
comboGamut.BorderColor = Color.White;
|
||||||
|
comboGamut.ButtonColor = Color.FromArgb(255, 255, 255);
|
||||||
|
comboGamut.Dock = DockStyle.Top;
|
||||||
|
comboGamut.FlatStyle = FlatStyle.Flat;
|
||||||
|
comboGamut.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
|
||||||
|
comboGamut.FormattingEnabled = true;
|
||||||
|
comboGamut.ItemHeight = 32;
|
||||||
|
comboGamut.Items.AddRange(new object[] { "Static", "Breathe", "Rainbow", "Strobe" });
|
||||||
|
comboGamut.Location = new Point(4, 11);
|
||||||
|
comboGamut.Margin = new Padding(4, 11, 4, 8);
|
||||||
|
comboGamut.Name = "comboGamut";
|
||||||
|
comboGamut.Size = new Size(254, 40);
|
||||||
|
comboGamut.TabIndex = 13;
|
||||||
|
comboGamut.Visible = false;
|
||||||
|
//
|
||||||
|
// sliderGamma
|
||||||
|
//
|
||||||
|
sliderGamma.Dock = DockStyle.Top;
|
||||||
|
sliderGamma.Location = new Point(20, 64);
|
||||||
|
sliderGamma.Margin = new Padding(4);
|
||||||
|
sliderGamma.Max = 100;
|
||||||
|
sliderGamma.Min = 0;
|
||||||
|
sliderGamma.Name = "sliderGamma";
|
||||||
|
sliderGamma.Size = new Size(787, 40);
|
||||||
|
sliderGamma.Step = 10;
|
||||||
|
sliderGamma.TabIndex = 20;
|
||||||
|
sliderGamma.Text = "sliderGamma";
|
||||||
|
sliderGamma.Value = 100;
|
||||||
|
sliderGamma.Visible = false;
|
||||||
|
//
|
||||||
|
// panelGammaTitle
|
||||||
|
//
|
||||||
|
panelGammaTitle.Controls.Add(labelGamma);
|
||||||
|
panelGammaTitle.Controls.Add(pictureGamma);
|
||||||
|
panelGammaTitle.Controls.Add(labelGammaTitle);
|
||||||
|
panelGammaTitle.Dock = DockStyle.Top;
|
||||||
|
panelGammaTitle.Location = new Point(20, 20);
|
||||||
|
panelGammaTitle.Margin = new Padding(4);
|
||||||
|
panelGammaTitle.Name = "panelGammaTitle";
|
||||||
|
panelGammaTitle.Padding = new Padding(0, 0, 0, 4);
|
||||||
|
panelGammaTitle.Size = new Size(787, 44);
|
||||||
|
panelGammaTitle.TabIndex = 40;
|
||||||
|
//
|
||||||
|
// labelGamma
|
||||||
|
//
|
||||||
|
labelGamma.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
||||||
|
labelGamma.Location = new Point(675, 4);
|
||||||
|
labelGamma.Margin = new Padding(8, 0, 8, 0);
|
||||||
|
labelGamma.Name = "labelGamma";
|
||||||
|
labelGamma.Size = new Size(107, 36);
|
||||||
|
labelGamma.TabIndex = 39;
|
||||||
|
labelGamma.Text = " ";
|
||||||
|
labelGamma.TextAlign = ContentAlignment.TopRight;
|
||||||
|
//
|
||||||
|
// pictureGamma
|
||||||
|
//
|
||||||
|
pictureGamma.BackgroundImage = Properties.Resources.icons8_brightness_32;
|
||||||
|
pictureGamma.BackgroundImageLayout = ImageLayout.Zoom;
|
||||||
|
pictureGamma.Location = new Point(4, 2);
|
||||||
|
pictureGamma.Margin = new Padding(4);
|
||||||
|
pictureGamma.Name = "pictureGamma";
|
||||||
|
pictureGamma.Size = new Size(32, 32);
|
||||||
|
pictureGamma.TabIndex = 38;
|
||||||
|
pictureGamma.TabStop = false;
|
||||||
|
//
|
||||||
|
// labelGammaTitle
|
||||||
|
//
|
||||||
|
labelGammaTitle.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||||
|
labelGammaTitle.Location = new Point(43, 0);
|
||||||
|
labelGammaTitle.Margin = new Padding(8, 0, 8, 0);
|
||||||
|
labelGammaTitle.Name = "labelGammaTitle";
|
||||||
|
labelGammaTitle.Size = new Size(506, 32);
|
||||||
|
labelGammaTitle.TabIndex = 37;
|
||||||
|
labelGammaTitle.Text = "Flicker-free Dimming";
|
||||||
//
|
//
|
||||||
// SettingsForm
|
// SettingsForm
|
||||||
//
|
//
|
||||||
@@ -1632,7 +1806,7 @@ namespace GHelper
|
|||||||
AutoScaleMode = AutoScaleMode.Dpi;
|
AutoScaleMode = AutoScaleMode.Dpi;
|
||||||
AutoSize = true;
|
AutoSize = true;
|
||||||
AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||||
ClientSize = new Size(849, 1717);
|
ClientSize = new Size(849, 1759);
|
||||||
Controls.Add(panelFooter);
|
Controls.Add(panelFooter);
|
||||||
Controls.Add(panelVersion);
|
Controls.Add(panelVersion);
|
||||||
Controls.Add(panelBattery);
|
Controls.Add(panelBattery);
|
||||||
@@ -1640,6 +1814,7 @@ namespace GHelper
|
|||||||
Controls.Add(panelKeyboard);
|
Controls.Add(panelKeyboard);
|
||||||
Controls.Add(panelAlly);
|
Controls.Add(panelAlly);
|
||||||
Controls.Add(panelMatrix);
|
Controls.Add(panelMatrix);
|
||||||
|
Controls.Add(panelGamma);
|
||||||
Controls.Add(panelScreen);
|
Controls.Add(panelScreen);
|
||||||
Controls.Add(panelGPU);
|
Controls.Add(panelGPU);
|
||||||
Controls.Add(panelPerformance);
|
Controls.Add(panelPerformance);
|
||||||
@@ -1655,6 +1830,8 @@ namespace GHelper
|
|||||||
Text = "G-Helper";
|
Text = "G-Helper";
|
||||||
panelMatrix.ResumeLayout(false);
|
panelMatrix.ResumeLayout(false);
|
||||||
panelMatrix.PerformLayout();
|
panelMatrix.PerformLayout();
|
||||||
|
panelMatrixAuto.ResumeLayout(false);
|
||||||
|
panelMatrixAuto.PerformLayout();
|
||||||
tableLayoutMatrix.ResumeLayout(false);
|
tableLayoutMatrix.ResumeLayout(false);
|
||||||
panelMatrixTitle.ResumeLayout(false);
|
panelMatrixTitle.ResumeLayout(false);
|
||||||
panelMatrixTitle.PerformLayout();
|
panelMatrixTitle.PerformLayout();
|
||||||
@@ -1708,6 +1885,11 @@ namespace GHelper
|
|||||||
panelAllyTitle.ResumeLayout(false);
|
panelAllyTitle.ResumeLayout(false);
|
||||||
panelAllyTitle.PerformLayout();
|
panelAllyTitle.PerformLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)pictureAlly).EndInit();
|
((System.ComponentModel.ISupportInitialize)pictureAlly).EndInit();
|
||||||
|
panelGamma.ResumeLayout(false);
|
||||||
|
panelGamma.PerformLayout();
|
||||||
|
tableVisual.ResumeLayout(false);
|
||||||
|
panelGammaTitle.ResumeLayout(false);
|
||||||
|
((System.ComponentModel.ISupportInitialize)pictureGamma).EndInit();
|
||||||
ResumeLayout(false);
|
ResumeLayout(false);
|
||||||
PerformLayout();
|
PerformLayout();
|
||||||
}
|
}
|
||||||
@@ -1803,5 +1985,16 @@ namespace GHelper
|
|||||||
private RButton buttonController;
|
private RButton buttonController;
|
||||||
private RButton buttonOverlay;
|
private RButton buttonOverlay;
|
||||||
private RComboBox comboInterval;
|
private RComboBox comboInterval;
|
||||||
|
private Panel panelGamma;
|
||||||
|
private Slider sliderGamma;
|
||||||
|
private Panel panelGammaTitle;
|
||||||
|
private Label labelGamma;
|
||||||
|
private PictureBox pictureGamma;
|
||||||
|
private Label labelGammaTitle;
|
||||||
|
private CheckBox checkMatrixLid;
|
||||||
|
private Panel panelMatrixAuto;
|
||||||
|
private TableLayoutPanel tableVisual;
|
||||||
|
private RComboBox comboVisual;
|
||||||
|
private RComboBox comboGamut;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
123
app/Settings.cs
123
app/Settings.cs
@@ -24,7 +24,6 @@ namespace GHelper
|
|||||||
|
|
||||||
public GPUModeControl gpuControl;
|
public GPUModeControl gpuControl;
|
||||||
public AllyControl allyControl;
|
public AllyControl allyControl;
|
||||||
ScreenControl screenControl = new ScreenControl();
|
|
||||||
AutoUpdateControl updateControl;
|
AutoUpdateControl updateControl;
|
||||||
|
|
||||||
AsusMouseSettings? mouseSettings;
|
AsusMouseSettings? mouseSettings;
|
||||||
@@ -48,6 +47,8 @@ namespace GHelper
|
|||||||
bool batteryMouseOver = false;
|
bool batteryMouseOver = false;
|
||||||
bool batteryFullMouseOver = false;
|
bool batteryFullMouseOver = false;
|
||||||
|
|
||||||
|
bool sliderGammaIgnore = false;
|
||||||
|
|
||||||
public SettingsForm()
|
public SettingsForm()
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -85,6 +86,7 @@ namespace GHelper
|
|||||||
labelPeripherals.Text = Properties.Strings.Peripherals;
|
labelPeripherals.Text = Properties.Strings.Peripherals;
|
||||||
|
|
||||||
checkMatrix.Text = Properties.Strings.TurnOffOnBattery;
|
checkMatrix.Text = Properties.Strings.TurnOffOnBattery;
|
||||||
|
checkMatrixLid.Text = Properties.Strings.DisableOnLidClose;
|
||||||
checkStartup.Text = Properties.Strings.RunOnStartup;
|
checkStartup.Text = Properties.Strings.RunOnStartup;
|
||||||
|
|
||||||
buttonMatrix.Text = Properties.Strings.PictureGif;
|
buttonMatrix.Text = Properties.Strings.PictureGif;
|
||||||
@@ -115,7 +117,7 @@ namespace GHelper
|
|||||||
buttonScreenAuto.AccessibleName = Properties.Strings.AutoMode;
|
buttonScreenAuto.AccessibleName = Properties.Strings.AutoMode;
|
||||||
//button60Hz.AccessibleName = "60Hz Refresh Rate";
|
//button60Hz.AccessibleName = "60Hz Refresh Rate";
|
||||||
//button120Hz.AccessibleName = "Maximum Refresh Rate";
|
//button120Hz.AccessibleName = "Maximum Refresh Rate";
|
||||||
|
|
||||||
panelKeyboard.AccessibleName = Properties.Strings.LaptopKeyboard;
|
panelKeyboard.AccessibleName = Properties.Strings.LaptopKeyboard;
|
||||||
buttonKeyboard.AccessibleName = Properties.Strings.ExtraSettings;
|
buttonKeyboard.AccessibleName = Properties.Strings.ExtraSettings;
|
||||||
buttonKeyboardColor.AccessibleName = Properties.Strings.LaptopKeyboard + " " + Properties.Strings.Color;
|
buttonKeyboardColor.AccessibleName = Properties.Strings.LaptopKeyboard + " " + Properties.Strings.Color;
|
||||||
@@ -218,7 +220,7 @@ namespace GHelper
|
|||||||
sliderBattery.ValueChanged += SliderBattery_ValueChanged;
|
sliderBattery.ValueChanged += SliderBattery_ValueChanged;
|
||||||
Program.trayIcon.MouseMove += TrayIcon_MouseMove;
|
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.Elapsed += OnTimedEvent;
|
||||||
sensorTimer.Enabled = true;
|
sensorTimer.Enabled = true;
|
||||||
|
|
||||||
@@ -254,6 +256,83 @@ namespace GHelper
|
|||||||
buttonFnLock.Click += ButtonFnLock_Click;
|
buttonFnLock.Click += ButtonFnLock_Click;
|
||||||
|
|
||||||
panelPerformance.Focus();
|
panelPerformance.Focus();
|
||||||
|
InitVisual();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void InitVisual()
|
||||||
|
{
|
||||||
|
|
||||||
|
bool dimming = false;
|
||||||
|
|
||||||
|
if (AppConfig.IsOLED())
|
||||||
|
{
|
||||||
|
dimming = true;
|
||||||
|
labelGammaTitle.Text = "Flicker-free Dimming";
|
||||||
|
panelGamma.Visible = true;
|
||||||
|
sliderGamma.Visible = true;
|
||||||
|
VisualiseBrightness();
|
||||||
|
sliderGamma.ValueChanged += SliderGamma_ValueChanged;
|
||||||
|
}
|
||||||
|
|
||||||
|
var gamuts = ScreenControl.GetGamutModes();
|
||||||
|
if (gamuts.Count < 1) return;
|
||||||
|
|
||||||
|
if (!dimming) labelGammaTitle.Text = "Visual Mode";
|
||||||
|
else labelGammaTitle.Text += " / Visual";
|
||||||
|
|
||||||
|
panelGamma.Visible = true;
|
||||||
|
tableVisual.Visible = true;
|
||||||
|
|
||||||
|
comboVisual.DropDownStyle = ComboBoxStyle.DropDownList;
|
||||||
|
comboVisual.DataSource = new BindingSource(ScreenControl.GetVisualModes(), null);
|
||||||
|
comboVisual.DisplayMember = "Value";
|
||||||
|
comboVisual.ValueMember = "Key";
|
||||||
|
comboVisual.SelectedValue = (SplendidCommand)AppConfig.Get("visual", (int)SplendidCommand.Default);
|
||||||
|
|
||||||
|
comboVisual.SelectedValueChanged += ComboVisual_SelectedValueChanged;
|
||||||
|
comboVisual.Visible = true;
|
||||||
|
|
||||||
|
if (gamuts.Count <= 1) return;
|
||||||
|
|
||||||
|
comboGamut.DropDownStyle = ComboBoxStyle.DropDownList;
|
||||||
|
comboGamut.DataSource = new BindingSource(gamuts, null);
|
||||||
|
comboGamut.DisplayMember = "Value";
|
||||||
|
comboGamut.ValueMember = "Key";
|
||||||
|
comboGamut.SelectedValue = (SplendidGamut)AppConfig.Get("gamut", (int)SplendidGamut.Native);
|
||||||
|
|
||||||
|
comboGamut.SelectedValueChanged += ComboGamut_SelectedValueChanged;
|
||||||
|
comboGamut.Visible = true;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ComboGamut_SelectedValueChanged(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
AppConfig.Set("gamut", (int)comboGamut.SelectedValue);
|
||||||
|
ScreenControl.SetGamut((int)comboGamut.SelectedValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ComboVisual_SelectedValueChanged(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
AppConfig.Set("visual", (int)comboVisual.SelectedValue);
|
||||||
|
ScreenControl.SetVisual((SplendidCommand)comboVisual.SelectedValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void VisualiseBrightness()
|
||||||
|
{
|
||||||
|
Invoke(delegate
|
||||||
|
{
|
||||||
|
sliderGammaIgnore = true;
|
||||||
|
sliderGamma.Value = AppConfig.Get("brightness", 100);
|
||||||
|
labelGamma.Text = sliderGamma.Value + "%";
|
||||||
|
sliderGammaIgnore = false;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SliderGamma_ValueChanged(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (sliderGammaIgnore) return;
|
||||||
|
ScreenControl.SetBrightness(sliderGamma.Value);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ButtonOverlay_Click(object? sender, EventArgs e)
|
private void ButtonOverlay_Click(object? sender, EventArgs e)
|
||||||
@@ -327,7 +406,7 @@ namespace GHelper
|
|||||||
|
|
||||||
public void VisualiseBacklight(int backlight)
|
public void VisualiseBacklight(int backlight)
|
||||||
{
|
{
|
||||||
buttonBacklight.Text = Math.Round((double)backlight*33.33).ToString() + "%";
|
buttonBacklight.Text = Math.Round((double)backlight * 33.33).ToString() + "%";
|
||||||
}
|
}
|
||||||
|
|
||||||
public void VisualiseFPSLimit(int limit)
|
public void VisualiseFPSLimit(int limit)
|
||||||
@@ -395,7 +474,7 @@ namespace GHelper
|
|||||||
sensorTimer.Enabled = this.Visible;
|
sensorTimer.Enabled = this.Visible;
|
||||||
if (this.Visible)
|
if (this.Visible)
|
||||||
{
|
{
|
||||||
screenControl.InitScreen();
|
ScreenControl.InitScreen();
|
||||||
VisualizeXGM();
|
VisualizeXGM();
|
||||||
|
|
||||||
Task.Run((Action)RefreshPeripheralsBattery);
|
Task.Run((Action)RefreshPeripheralsBattery);
|
||||||
@@ -445,10 +524,14 @@ namespace GHelper
|
|||||||
case 0:
|
case 0:
|
||||||
Logger.WriteLine("Lid Closed");
|
Logger.WriteLine("Lid Closed");
|
||||||
Aura.ApplyBrightness(0, "Lid");
|
Aura.ApplyBrightness(0, "Lid");
|
||||||
|
AniMatrixControl.lidClose = true;
|
||||||
|
matrixControl.SetLidMode();
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
Logger.WriteLine("Lid Open");
|
Logger.WriteLine("Lid Open");
|
||||||
Aura.ApplyBrightness(InputDispatcher.GetBacklight(), "Lid");
|
Aura.ApplyBrightness(InputDispatcher.GetBacklight(), "Lid");
|
||||||
|
AniMatrixControl.lidClose = false;
|
||||||
|
matrixControl.SetLidMode();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -670,7 +753,7 @@ namespace GHelper
|
|||||||
private void ButtonScreenAuto_Click(object? sender, EventArgs e)
|
private void ButtonScreenAuto_Click(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
AppConfig.Set("screen_auto", 1);
|
AppConfig.Set("screen_auto", 1);
|
||||||
screenControl.AutoScreen();
|
ScreenControl.AutoScreen();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -691,6 +774,11 @@ namespace GHelper
|
|||||||
matrixControl.SetBatteryAuto();
|
matrixControl.SetBatteryAuto();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void CheckMatrixLid_CheckedChanged(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
AppConfig.Set("matrix_lid", checkMatrixLid.Checked ? 1 : 0);
|
||||||
|
matrixControl.SetLidMode(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private void ButtonMatrix_Click(object? sender, EventArgs e)
|
private void ButtonMatrix_Click(object? sender, EventArgs e)
|
||||||
@@ -815,7 +903,7 @@ namespace GHelper
|
|||||||
FansToggle();
|
FansToggle();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SetColorPicker(string colorField = "aura_color")
|
private void SetColorPicker(string colorField = "aura_color")
|
||||||
{
|
{
|
||||||
ColorDialog colorDlg = new ColorDialog();
|
ColorDialog colorDlg = new ColorDialog();
|
||||||
colorDlg.AllowFullOpen = true;
|
colorDlg.AllowFullOpen = true;
|
||||||
@@ -919,6 +1007,7 @@ namespace GHelper
|
|||||||
for (int i = 1; i <= 5; i++) comboInterval.Items.Add($"Interval {i}s");
|
for (int i = 1; i <= 5; i++) comboInterval.Items.Add($"Interval {i}s");
|
||||||
|
|
||||||
buttonMatrix.Visible = false;
|
buttonMatrix.Visible = false;
|
||||||
|
checkMatrixLid.Visible = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
comboMatrix.SelectedIndex = Math.Min(AppConfig.Get("matrix_brightness", 0), comboMatrix.Items.Count - 1);
|
comboMatrix.SelectedIndex = Math.Min(AppConfig.Get("matrix_brightness", 0), comboMatrix.Items.Count - 1);
|
||||||
@@ -928,6 +1017,10 @@ namespace GHelper
|
|||||||
checkMatrix.Checked = AppConfig.Is("matrix_auto");
|
checkMatrix.Checked = AppConfig.Is("matrix_auto");
|
||||||
checkMatrix.CheckedChanged += CheckMatrix_CheckedChanged;
|
checkMatrix.CheckedChanged += CheckMatrix_CheckedChanged;
|
||||||
|
|
||||||
|
checkMatrixLid.Checked = AppConfig.Is("matrix_lid");
|
||||||
|
checkMatrixLid.CheckedChanged += CheckMatrixLid_CheckedChanged;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -960,19 +1053,19 @@ namespace GHelper
|
|||||||
private void Button120Hz_Click(object? sender, EventArgs e)
|
private void Button120Hz_Click(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
AppConfig.Set("screen_auto", 0);
|
AppConfig.Set("screen_auto", 0);
|
||||||
screenControl.SetScreen(ScreenControl.MAX_REFRESH, 1);
|
ScreenControl.SetScreen(ScreenControl.MAX_REFRESH, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Button60Hz_Click(object? sender, EventArgs e)
|
private void Button60Hz_Click(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
AppConfig.Set("screen_auto", 0);
|
AppConfig.Set("screen_auto", 0);
|
||||||
screenControl.SetScreen(60, 0);
|
ScreenControl.SetScreen(60, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void ButtonMiniled_Click(object? sender, EventArgs e)
|
private void ButtonMiniled_Click(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
screenControl.ToogleMiniled();
|
ScreenControl.ToogleMiniled();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -1248,11 +1341,13 @@ namespace GHelper
|
|||||||
{
|
{
|
||||||
if (InvokeRequired)
|
if (InvokeRequired)
|
||||||
{
|
{
|
||||||
Invoke(delegate {
|
Invoke(delegate
|
||||||
|
{
|
||||||
labelPerf.Text = modeText;
|
labelPerf.Text = modeText;
|
||||||
panelPerformance.AccessibleName = labelPerf.Text;
|
panelPerformance.AccessibleName = labelPerf.Text;
|
||||||
});
|
});
|
||||||
} else
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
labelPerf.Text = modeText;
|
labelPerf.Text = modeText;
|
||||||
panelPerformance.AccessibleName = labelPerf.Text;
|
panelPerformance.AccessibleName = labelPerf.Text;
|
||||||
@@ -1427,7 +1522,7 @@ namespace GHelper
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
VisualizeXGM(GPUMode);
|
VisualizeXGM(GPUMode);
|
||||||
|
|
||||||
@@ -1601,7 +1696,7 @@ namespace GHelper
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
mouseSettings = new AsusMouseSettings(am);
|
mouseSettings = new AsusMouseSettings(am);
|
||||||
mouseSettings.TopMost = true;
|
mouseSettings.TopMost = AppConfig.Is("topmost");
|
||||||
mouseSettings.FormClosed += MouseSettings_FormClosed;
|
mouseSettings.FormClosed += MouseSettings_FormClosed;
|
||||||
mouseSettings.Disposed += MouseSettings_Disposed;
|
mouseSettings.Disposed += MouseSettings_Disposed;
|
||||||
if (!mouseSettings.IsDisposed)
|
if (!mouseSettings.IsDisposed)
|
||||||
|
|||||||
@@ -90,18 +90,24 @@ public static class AsusHid
|
|||||||
if (devices is null) return;
|
if (devices is null) return;
|
||||||
|
|
||||||
foreach (var device in devices)
|
foreach (var device in devices)
|
||||||
using (var stream = device.Open())
|
try
|
||||||
foreach (var data in dataList)
|
{
|
||||||
try
|
using (var stream = device.Open())
|
||||||
{
|
foreach (var data in dataList)
|
||||||
stream.Write(data);
|
try
|
||||||
Logger.WriteLine($"{log} {device.ProductID.ToString("X")}: {BitConverter.ToString(data)}");
|
{
|
||||||
}
|
stream.Write(data);
|
||||||
catch (Exception ex)
|
if (log is not null) Logger.WriteLine($"{log} {device.ProductID.ToString("X")}: {BitConverter.ToString(data)}");
|
||||||
{
|
}
|
||||||
Logger.WriteLine($"Error writing {log} {device.ProductID.ToString("X")}: {ex.Message} {BitConverter.ToString(data)} ");
|
catch (Exception ex)
|
||||||
}
|
{
|
||||||
|
if (log is not null) Logger.WriteLine($"Error writing {log} {device.ProductID.ToString("X")}: {ex.Message} {BitConverter.ToString(data)} ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
if (log is not null) Logger.WriteLine($"Error opening {log} {device.ProductID.ToString("X")}: {ex.Message}");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void WriteAura(byte[] data)
|
public static void WriteAura(byte[] data)
|
||||||
|
|||||||
@@ -73,10 +73,13 @@ namespace GHelper.USB
|
|||||||
private static AuraMode mode = AuraMode.AuraStatic;
|
private static AuraMode mode = AuraMode.AuraStatic;
|
||||||
private static AuraSpeed speed = AuraSpeed.Normal;
|
private static AuraSpeed speed = AuraSpeed.Normal;
|
||||||
|
|
||||||
|
private static bool backlight = false;
|
||||||
|
private static bool initDirect = false;
|
||||||
|
|
||||||
public static Color Color1 = Color.White;
|
public static Color Color1 = Color.White;
|
||||||
public static Color Color2 = Color.Black;
|
public static Color Color2 = Color.Black;
|
||||||
|
|
||||||
static bool isACPI = AppConfig.IsTUF() || AppConfig.IsVivobook() || AppConfig.IsProArt();
|
static bool isACPI = AppConfig.IsTUF() || AppConfig.IsVivoZenbook() || AppConfig.IsProArt();
|
||||||
static bool isStrix = AppConfig.IsStrix() && !AppConfig.IsNoDirectRGB();
|
static bool isStrix = AppConfig.IsStrix() && !AppConfig.IsNoDirectRGB();
|
||||||
|
|
||||||
static bool isStrix4Zone = AppConfig.IsStrixLimitedRGB();
|
static bool isStrix4Zone = AppConfig.IsStrixLimitedRGB();
|
||||||
@@ -289,6 +292,8 @@ namespace GHelper.USB
|
|||||||
|
|
||||||
public static void ApplyBrightness(int brightness, string log = "Backlight", bool delay = false)
|
public static void ApplyBrightness(int brightness, string log = "Backlight", bool delay = false)
|
||||||
{
|
{
|
||||||
|
if (brightness == 0) backlight = false;
|
||||||
|
|
||||||
Task.Run(async () =>
|
Task.Run(async () =>
|
||||||
{
|
{
|
||||||
if (delay) await Task.Delay(TimeSpan.FromSeconds(1));
|
if (delay) await Task.Delay(TimeSpan.FromSeconds(1));
|
||||||
@@ -301,6 +306,13 @@ namespace GHelper.USB
|
|||||||
|
|
||||||
if (AppConfig.IsAlly()) ApplyAura();
|
if (AppConfig.IsAlly()) ApplyAura();
|
||||||
|
|
||||||
|
if (brightness > 0)
|
||||||
|
{
|
||||||
|
if (!backlight) initDirect = true;
|
||||||
|
backlight = true;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
@@ -494,6 +506,8 @@ namespace GHelper.USB
|
|||||||
|
|
||||||
public static void ApplyDirect(Color[] color, bool init = false)
|
public static void ApplyDirect(Color[] color, bool init = false)
|
||||||
{
|
{
|
||||||
|
if (!backlight) return;
|
||||||
|
|
||||||
const byte keySet = 167;
|
const byte keySet = 167;
|
||||||
const byte ledCount = 178;
|
const byte ledCount = 178;
|
||||||
const ushort mapSize = 3 * ledCount;
|
const ushort mapSize = 3 * ledCount;
|
||||||
@@ -511,9 +525,9 @@ namespace GHelper.USB
|
|||||||
buffer[6] = 0;
|
buffer[6] = 0;
|
||||||
buffer[7] = 0x10;
|
buffer[7] = 0x10;
|
||||||
|
|
||||||
if (init)
|
if (init || initDirect)
|
||||||
{
|
{
|
||||||
Init();
|
initDirect = false;
|
||||||
AsusHid.WriteAura(new byte[] { AsusHid.AURA_ID, 0xBC });
|
AsusHid.WriteAura(new byte[] { AsusHid.AURA_ID, 0xBC });
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -574,6 +588,8 @@ namespace GHelper.USB
|
|||||||
public static void ApplyDirect(Color color, bool init = false)
|
public static void ApplyDirect(Color color, bool init = false)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
if (!backlight) return;
|
||||||
|
|
||||||
if (isACPI)
|
if (isACPI)
|
||||||
{
|
{
|
||||||
Program.acpi.TUFKeyboardRGB(0, color, 0, null);
|
Program.acpi.TUFKeyboardRGB(0, color, 0, null);
|
||||||
@@ -582,7 +598,7 @@ namespace GHelper.USB
|
|||||||
|
|
||||||
if (AppConfig.IsNoDirectRGB())
|
if (AppConfig.IsNoDirectRGB())
|
||||||
{
|
{
|
||||||
AsusHid.Write(new List<byte[]> { AuraMessage(AuraMode.AuraStatic, color, color, 0xeb, isSingleColor), MESSAGE_SET });
|
AsusHid.Write(new List<byte[]> { AuraMessage(AuraMode.AuraStatic, color, color, 0xeb, isSingleColor), MESSAGE_SET }, null);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -592,9 +608,9 @@ namespace GHelper.USB
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (init)
|
if (init || initDirect)
|
||||||
{
|
{
|
||||||
//Init();
|
initDirect = false;
|
||||||
AsusHid.WriteAura(new byte[] { AsusHid.AURA_ID, 0xbc, 1 });
|
AsusHid.WriteAura(new byte[] { AsusHid.AURA_ID, 0xbc, 1 });
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -654,7 +670,7 @@ namespace GHelper.USB
|
|||||||
{
|
{
|
||||||
CustomRGB.ApplyAmbient(true);
|
CustomRGB.ApplyAmbient(true);
|
||||||
timer.Enabled = true;
|
timer.Enabled = true;
|
||||||
timer.Interval = AppConfig.Get("aura_refresh", AppConfig.ContainsModel("GU604") ? 400 : 120);
|
timer.Interval = AppConfig.Get("aura_refresh", AppConfig.IsStrix() ? 100 : 300);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -721,6 +737,8 @@ namespace GHelper.USB
|
|||||||
|
|
||||||
public static void ApplyAmbient(bool init = false)
|
public static void ApplyAmbient(bool init = false)
|
||||||
{
|
{
|
||||||
|
if (!backlight) return;
|
||||||
|
|
||||||
var bound = Screen.GetBounds(Point.Empty);
|
var bound = Screen.GetBounds(Point.Empty);
|
||||||
bound.Y += bound.Height / 3;
|
bound.Y += bound.Height / 3;
|
||||||
bound.Height -= (int)Math.Round(bound.Height * (0.33f + 0.022f)); // cut 1/3 of the top screen + windows panel
|
bound.Height -= (int)Math.Round(bound.Height * (0.33f + 0.022f)); // cut 1/3 of the top screen + windows panel
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ namespace GHelper
|
|||||||
(bios, model) = AppConfig.GetBiosAndModel();
|
(bios, model) = AppConfig.GetBiosAndModel();
|
||||||
|
|
||||||
buttonRefresh.TabStop = false;
|
buttonRefresh.TabStop = false;
|
||||||
|
|
||||||
updatesCount = 0;
|
updatesCount = 0;
|
||||||
labelUpdates.ForeColor = colorEco;
|
labelUpdates.ForeColor = colorEco;
|
||||||
labelUpdates.Text = Properties.Strings.NoNewUpdates;
|
labelUpdates.Text = Properties.Strings.NoNewUpdates;
|
||||||
@@ -83,13 +83,12 @@ namespace GHelper
|
|||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
InitTheme(true);
|
InitTheme(true);
|
||||||
|
|
||||||
LoadUpdates(true);
|
|
||||||
|
|
||||||
//buttonRefresh.Visible = false;
|
//buttonRefresh.Visible = false;
|
||||||
buttonRefresh.Click += ButtonRefresh_Click;
|
buttonRefresh.Click += ButtonRefresh_Click;
|
||||||
Shown += Updates_Shown;
|
Shown += Updates_Shown;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void ButtonRefresh_Click(object? sender, EventArgs e)
|
private void ButtonRefresh_Click(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
LoadUpdates();
|
LoadUpdates();
|
||||||
@@ -100,7 +99,9 @@ namespace GHelper
|
|||||||
Height = Program.settingsForm.Height;
|
Height = Program.settingsForm.Height;
|
||||||
Top = Program.settingsForm.Top;
|
Top = Program.settingsForm.Top;
|
||||||
Left = Program.settingsForm.Left - Width - 5;
|
Left = Program.settingsForm.Left - Width - 5;
|
||||||
|
LoadUpdates(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
private Dictionary<string, string> GetDeviceVersions()
|
private Dictionary<string, string> GetDeviceVersions()
|
||||||
{
|
{
|
||||||
using (ManagementObjectSearcher objSearcher = new ManagementObjectSearcher("Select * from Win32_PnPSignedDriver"))
|
using (ManagementObjectSearcher objSearcher = new ManagementObjectSearcher("Select * from Win32_PnPSignedDriver"))
|
||||||
@@ -160,24 +161,36 @@ namespace GHelper
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public void VisualiseNewDriver(int position, int newer, TableLayoutPanel table)
|
private void _VisualiseNewDriver(int position, int newer, TableLayoutPanel table)
|
||||||
{
|
{
|
||||||
var label = table.GetControlFromPosition(3, position) as LinkLabel;
|
var label = table.GetControlFromPosition(3, position) as LinkLabel;
|
||||||
if (label != null)
|
if (label != null)
|
||||||
|
{
|
||||||
|
if (newer == DRIVER_NEWER)
|
||||||
|
{
|
||||||
|
label.AccessibleName = label.AccessibleName + Properties.Strings.NewUpdates;
|
||||||
|
label.Font = new Font(label.Font, FontStyle.Underline | FontStyle.Bold);
|
||||||
|
label.LinkColor = colorTurbo;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (newer == DRIVER_NOT_FOUND) label.LinkColor = Color.Gray;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void VisualiseNewDriver(int position, int newer, TableLayoutPanel table)
|
||||||
|
{
|
||||||
|
if (InvokeRequired)
|
||||||
{
|
{
|
||||||
Invoke(delegate
|
Invoke(delegate
|
||||||
{
|
{
|
||||||
if (newer == DRIVER_NEWER)
|
_VisualiseNewDriver(position, newer, table);
|
||||||
{
|
|
||||||
label.AccessibleName = label.AccessibleName + Properties.Strings.NewUpdates;
|
|
||||||
label.Font = new Font(label.Font, FontStyle.Underline | FontStyle.Bold);
|
|
||||||
label.LinkColor = colorTurbo;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (newer == DRIVER_NOT_FOUND) label.LinkColor = Color.Gray;
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
} else
|
||||||
|
{
|
||||||
|
_VisualiseNewDriver(position, newer, table);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void VisualiseNewCount(int updatesCount, TableLayoutPanel table)
|
public void VisualiseNewCount(int updatesCount, TableLayoutPanel table)
|
||||||
@@ -193,7 +206,7 @@ namespace GHelper
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public async void DriversAsync(string url, int type, TableLayoutPanel table)
|
public async void DriversAsync(string url, int type, TableLayoutPanel table)
|
||||||
{
|
{
|
||||||
|
|
||||||
try
|
try
|
||||||
@@ -266,7 +279,7 @@ namespace GHelper
|
|||||||
foreach (var localVersion in localVersions)
|
foreach (var localVersion in localVersions)
|
||||||
{
|
{
|
||||||
newer = Math.Min(newer, new Version(driver.version).CompareTo(new Version(localVersion)));
|
newer = Math.Min(newer, new Version(driver.version).CompareTo(new Version(localVersion)));
|
||||||
Logger.WriteLine(driver.title + " " + deviceID + " "+ driver.version + " vs " + localVersion + " = " + newer);
|
Logger.WriteLine(driver.title + " " + deviceID + " " + driver.version + " vs " + localVersion + " = " + newer);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"sdk": {
|
"sdk": {
|
||||||
"version": "7.0.400"
|
"version": "7.0.406"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
# G-Helper - Lightweight control tool for Asus laptops
|
# G-Helper - Lightweight control tool for Asus laptops
|
||||||
[](https://u24.gov.ua/)
|
[](https://u24.gov.ua/)
|
||||||
[](https://GitHub.com/seerge/g-helper/releases/)
|
[](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/stargazers/)
|
||||||
|
|
||||||
Small and lightweight Armoury Crate alternative for Asus laptops offering almost same functionality without extra bloat and unnecessary services.
|
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)
|
# [:floppy_disk:Download](https://github.com/seerge/g-helper/releases/latest/download/GHelper.zip)
|
||||||
|
|
||||||
@@ -107,13 +107,12 @@ Huge thanks to [@IceStormNG](https://github.com/IceStormNG) 👑 for contributio
|
|||||||
### ⌨️ Keybindings
|
### ⌨️ Keybindings
|
||||||
|
|
||||||
- ``Fn + F5 / Fn + Shift + F5`` - Toggle Performance Modes forwards / backwards
|
- ``Fn + F5 / Fn + Shift + F5`` - Toggle Performance Modes forwards / backwards
|
||||||
- ``Shift + Fn + F7 / F8`` - Set Anime Matrix / Slash Lightning brightness Down / Up
|
|
||||||
- ``Ctrl + Shift + F5 / Ctrl + Shift + Alt + 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 + Shift + F12`` - Open G-Helper window
|
||||||
- ``Ctrl + M1 / M2`` - Screen brightness Down / Up
|
- ``Ctrl + M1 / M2`` - Screen brightness Down / Up
|
||||||
- ``Shift + M1 / M2`` - Backlight brightness Down / Up
|
- ``Shift + M1 / M2`` - Backlight brightness Down / Up
|
||||||
- ``Fn + C`` - Fn-Lock
|
- ``Fn + C`` - Fn-Lock
|
||||||
- ``Fn + Shift + F7 / F8`` - Matrix brightness Down / Up
|
- ``Fn + Shift + F7 / F8`` - Matrix / Slash Lightning brightness Down / Up
|
||||||
- ``Fn + Shift + F7 / F8`` - Screenpad brightness Down / Up
|
- ``Fn + Shift + F7 / F8`` - Screenpad brightness Down / Up
|
||||||
- ``Ctrl + Shift + F20`` - Mute Microphone
|
- ``Ctrl + Shift + F20`` - Mute Microphone
|
||||||
- ``Ctrl + Shift + Alt + F14`` - Eco GPU Mode
|
- ``Ctrl + Shift + Alt + F14`` - Eco GPU Mode
|
||||||
@@ -125,6 +124,14 @@ Huge thanks to [@IceStormNG](https://github.com/IceStormNG) 👑 for contributio
|
|||||||
- ``Ctrl + Shift + Alt + F20`` - Custom 2 (if exists)
|
- ``Ctrl + Shift + Alt + F20`` - Custom 2 (if exists)
|
||||||
- [Custom keybindings / hotkeys](https://github.com/seerge/g-helper/wiki/Power-user-settings#custom-hotkey-actions)
|
- [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
|
#### If you like the app you can make a Donation
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user