Compare commits

..

6 Commits

Author SHA1 Message Date
Serge
02e700c03c Cleanup 2024-02-29 17:03:48 +01:00
Serge
35977d007e GPU Power UI Tweaks 2024-02-29 16:07:11 +01:00
Serge
3b9f8de0ab GPU Power tweaks 2024-02-29 15:54:09 +01:00
Serge
1e3a16ae45 Merge branch 'main' into gpu_tgp 2024-02-28 23:40:57 +01:00
Serge
a520c438da Version bump 2024-02-28 17:15:15 +01:00
Serge
6b45795888 GPU TGP setting for supported models 2024-02-28 15:43:16 +01:00
36 changed files with 1240 additions and 1560 deletions

View File

@@ -16,10 +16,6 @@ body:
required: true
validations:
required: true
- type: markdown
attributes:
value: |
<b>NOTICE:</b> Issues like "my fans are not working properly" will be closed without answer. Neither G-Helper nor Armoury don't control fans in realtime anyhow. Fans are <b>always</b> controlled by BIOS, even when you set a custom fan curve.
- type: textarea
id: description
attributes:

View File

@@ -365,9 +365,9 @@ public static class AppConfig
return ContainsModel("ProArt");
}
public static bool IsVivoZenbook()
public static bool IsVivobook()
{
return ContainsModel("Vivobook") || ContainsModel("Zenbook");
return ContainsModel("Vivobook");
}
// Devices with bugged bios command to change brightness
@@ -405,12 +405,7 @@ public static class AppConfig
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();
return ContainsModel("OLED") || IsSlash() || ContainsModel("UX64") || ContainsModel("UX34") || ContainsModel("UX53") || ContainsModel("K360") || ContainsModel("X150");
}
public static bool IsStrix()
@@ -436,7 +431,7 @@ public static class AppConfig
public static bool IsNoDirectRGB()
{
return ContainsModel("GA503") || ContainsModel("G533Q") || IsSlash();
return ContainsModel("GA503") || ContainsModel("G533Q");
}
public static bool IsStrixNumpad()
@@ -474,11 +469,6 @@ public static class AppConfig
return ContainsModel("FX507ZC4");
}
public static bool DynamicBoost20()
{
return ContainsModel("GU605");
}
public static bool IsAdvantageEdition()
{
return ContainsModel("13QY");
@@ -524,7 +514,7 @@ public static class AppConfig
try
{
var (bios, model) = GetBiosAndModel();
return (Int32.Parse(bios) == 317 || Int32.Parse(bios) == 316);
return (Int32.Parse(bios) == 317);
}
catch
{
@@ -532,19 +522,9 @@ public static class AppConfig
}
}
public static bool IsResetRequired()
{
return ContainsModel("GA403");
}
public static bool IsFanRequired()
{
return ContainsModel("GA402X") || ContainsModel("G513") || ContainsModel("G713R") || ContainsModel("G713P") || ContainsModel("GU605") || ContainsModel("GA403");
}
public static bool IsAMDLight()
{
return ContainsModel("GA402X") || ContainsModel("GA403") || ContainsModel("FA507N") || ContainsModel("FA507X") || ContainsModel("FA707N") || ContainsModel("FA707X");
return ContainsModel("GA402X") || ContainsModel("G513") || ContainsModel("G713R") || ContainsModel("G713P");
}
public static bool IsPowerRequired()
@@ -582,10 +562,6 @@ public static class AppConfig
return ContainsModel("G834") || ContainsModel("G614") || ContainsModel("G834") || ContainsModel("G634");
}
public static bool IsROG()
{
return ContainsModel("ROG");
}
public static bool IsASUS()
{
return ContainsModel("ROG") || ContainsModel("TUF") || ContainsModel("Vivobook") || ContainsModel("Zenbook");

View File

@@ -154,7 +154,7 @@ public class AsusACPI
public static int MaxGPUBoost = 25;
public static int MinGPUPower = 0;
public static int MaxGPUPower = 70;
public static int MaxGPUPower = 50;
public const int MinGPUTemp = 75;
public const int MaxGPUTemp = 87;
@@ -291,6 +291,7 @@ public class AsusACPI
if (AppConfig.IsIntelHX())
{
MaxTotal = 175;
MaxGPUPower = 70;
}
if (AppConfig.DynamicBoost5())
@@ -302,19 +303,6 @@ public class AsusACPI
{
MaxGPUBoost = 15;
}
if (AppConfig.DynamicBoost20())
{
MaxGPUBoost = 20;
}
if (AppConfig.IsAMDLight())
{
MaxTotal = 90;
}
}
public void Control(uint dwIoControlCode, byte[] lpInBuffer, byte[] lpOutBuffer)
@@ -428,16 +416,9 @@ public class AsusACPI
{
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)
{
int ecoFlag = DeviceGet(GPUEco);
@@ -568,7 +549,7 @@ public class AsusACPI
break;
}
//Logger.WriteLine($"GetFan {device} :" + BitConverter.ToString(result));
Logger.WriteLine($"GetFan {device} :" + BitConverter.ToString(result));
return result;

View File

@@ -152,7 +152,7 @@
//
panelProfiles.Controls.Add(comboProfile);
panelProfiles.Controls.Add(labelProfile);
panelProfiles.Location = new Point(220, 2);
panelProfiles.Location = new Point(212, 2);
panelProfiles.Margin = new Padding(2);
panelProfiles.MinimumSize = new Size(227, 0);
panelProfiles.Name = "panelProfiles";
@@ -197,7 +197,7 @@
panelPerformance.Margin = new Padding(2);
panelPerformance.Name = "panelPerformance";
panelPerformance.Padding = new Padding(0, 7, 0, 17);
panelPerformance.Size = new Size(437, 370);
panelPerformance.Size = new Size(420, 370);
panelPerformance.TabIndex = 1;
//
// panelPerformanceOther
@@ -215,7 +215,7 @@
panelPerformanceOther.Margin = new Padding(2);
panelPerformanceOther.Name = "panelPerformanceOther";
panelPerformanceOther.Padding = new Padding(0, 7, 0, 7);
panelPerformanceOther.Size = new Size(437, 192);
panelPerformanceOther.Size = new Size(420, 192);
panelPerformanceOther.TabIndex = 49;
//
// panelDeceleration
@@ -230,7 +230,7 @@
panelDeceleration.Margin = new Padding(2);
panelDeceleration.Name = "panelDeceleration";
panelDeceleration.Padding = new Padding(3);
panelDeceleration.Size = new Size(437, 31);
panelDeceleration.Size = new Size(420, 31);
panelDeceleration.TabIndex = 58;
//
// labelDeceleration
@@ -279,7 +279,7 @@
panelAcceleration.Margin = new Padding(2);
panelAcceleration.Name = "panelAcceleration";
panelAcceleration.Padding = new Padding(3);
panelAcceleration.Size = new Size(437, 31);
panelAcceleration.Size = new Size(420, 31);
panelAcceleration.TabIndex = 57;
//
// labelAcceleration
@@ -327,7 +327,7 @@
panelLiftOffDistance.Margin = new Padding(2);
panelLiftOffDistance.Name = "panelLiftOffDistance";
panelLiftOffDistance.Padding = new Padding(3);
panelLiftOffDistance.Size = new Size(437, 29);
panelLiftOffDistance.Size = new Size(420, 29);
panelLiftOffDistance.TabIndex = 56;
//
// labelLiftOffDistance
@@ -364,7 +364,7 @@
panelDebounce.Margin = new Padding(2);
panelDebounce.Name = "panelDebounce";
panelDebounce.Padding = new Padding(3);
panelDebounce.Size = new Size(437, 31);
panelDebounce.Size = new Size(420, 31);
panelDebounce.TabIndex = 55;
//
// labelButtonDebounce
@@ -413,7 +413,7 @@
panelAngleSnapping.Margin = new Padding(2);
panelAngleSnapping.Name = "panelAngleSnapping";
panelAngleSnapping.Padding = new Padding(3);
panelAngleSnapping.Size = new Size(437, 29);
panelAngleSnapping.Size = new Size(420, 29);
panelAngleSnapping.TabIndex = 54;
//
// sliderAngleAdjustment
@@ -464,7 +464,7 @@
panelPollingRate.Margin = new Padding(2);
panelPollingRate.Name = "panelPollingRate";
panelPollingRate.Padding = new Padding(3);
panelPollingRate.Size = new Size(437, 27);
panelPollingRate.Size = new Size(420, 27);
panelPollingRate.TabIndex = 53;
//
// labelPollingRate
@@ -500,7 +500,7 @@
panelDPISettings.Location = new Point(0, 91);
panelDPISettings.Margin = new Padding(2);
panelDPISettings.Name = "panelDPISettings";
panelDPISettings.Size = new Size(437, 70);
panelDPISettings.Size = new Size(420, 70);
panelDPISettings.TabIndex = 44;
//
// sliderDPI
@@ -512,7 +512,7 @@
sliderDPI.Max = 35000;
sliderDPI.Min = 100;
sliderDPI.Name = "sliderDPI";
sliderDPI.Size = new Size(437, 20);
sliderDPI.Size = new Size(420, 20);
sliderDPI.Step = 50;
sliderDPI.TabIndex = 43;
sliderDPI.TabStop = false;
@@ -537,7 +537,7 @@
tableLayoutPanel1.Name = "tableLayoutPanel1";
tableLayoutPanel1.RowCount = 1;
tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
tableLayoutPanel1.Size = new Size(437, 23);
tableLayoutPanel1.Size = new Size(420, 23);
tableLayoutPanel1.TabIndex = 47;
//
// labelMinDPI
@@ -547,7 +547,7 @@
labelMinDPI.Location = new Point(4, 0);
labelMinDPI.Margin = new Padding(4, 0, 4, 0);
labelMinDPI.Name = "labelMinDPI";
labelMinDPI.Size = new Size(158, 23);
labelMinDPI.Size = new Size(151, 23);
labelMinDPI.TabIndex = 45;
labelMinDPI.Text = "100";
//
@@ -555,10 +555,10 @@
//
labelMaxDPI.Dock = DockStyle.Fill;
labelMaxDPI.ForeColor = SystemColors.GrayText;
labelMaxDPI.Location = new Point(274, 0);
labelMaxDPI.Location = new Point(263, 0);
labelMaxDPI.Margin = new Padding(4, 0, 4, 0);
labelMaxDPI.Name = "labelMaxDPI";
labelMaxDPI.Size = new Size(159, 23);
labelMaxDPI.Size = new Size(153, 23);
labelMaxDPI.TabIndex = 46;
labelMaxDPI.Text = " 35000";
labelMaxDPI.TextAlign = ContentAlignment.TopRight;
@@ -568,12 +568,12 @@
numericUpDownCurrentDPI.BorderStyle = BorderStyle.None;
numericUpDownCurrentDPI.Dock = DockStyle.Fill;
numericUpDownCurrentDPI.Increment = new decimal(new int[] { 50, 0, 0, 0 });
numericUpDownCurrentDPI.Location = new Point(168, 2);
numericUpDownCurrentDPI.Location = new Point(161, 2);
numericUpDownCurrentDPI.Margin = new Padding(2);
numericUpDownCurrentDPI.Maximum = new decimal(new int[] { 35000, 0, 0, 0 });
numericUpDownCurrentDPI.Minimum = new decimal(new int[] { 100, 0, 0, 0 });
numericUpDownCurrentDPI.Name = "numericUpDownCurrentDPI";
numericUpDownCurrentDPI.Size = new Size(100, 19);
numericUpDownCurrentDPI.Size = new Size(96, 19);
numericUpDownCurrentDPI.TabIndex = 47;
numericUpDownCurrentDPI.TextAlign = HorizontalAlignment.Center;
numericUpDownCurrentDPI.Value = new decimal(new int[] { 2000, 0, 0, 0 });
@@ -588,13 +588,13 @@
panelDPITile.Margin = new Padding(2);
panelDPITile.Name = "panelDPITile";
panelDPITile.Padding = new Padding(0, 3, 0, 3);
panelDPITile.Size = new Size(437, 27);
panelDPITile.Size = new Size(420, 27);
panelDPITile.TabIndex = 48;
//
// pictureDPIColor
//
pictureDPIColor.Anchor = AnchorStyles.Top | AnchorStyles.Right;
pictureDPIColor.Location = new Point(412, 7);
pictureDPIColor.Location = new Point(395, 7);
pictureDPIColor.Margin = new Padding(4);
pictureDPIColor.Name = "pictureDPIColor";
pictureDPIColor.Size = new Size(10, 10);
@@ -612,7 +612,7 @@
buttonDPIColor.BorderRadius = 2;
buttonDPIColor.FlatStyle = FlatStyle.Flat;
buttonDPIColor.ForeColor = SystemColors.ControlText;
buttonDPIColor.Location = new Point(308, 1);
buttonDPIColor.Location = new Point(291, 1);
buttonDPIColor.Margin = new Padding(2, 4, 2, 4);
buttonDPIColor.Name = "buttonDPIColor";
buttonDPIColor.Secondary = false;
@@ -653,7 +653,7 @@
tableDPI.RowCount = 1;
tableDPI.RowStyles.Add(new RowStyle(SizeType.Absolute, 64F));
tableDPI.RowStyles.Add(new RowStyle(SizeType.Absolute, 64F));
tableDPI.Size = new Size(437, 64);
tableDPI.Size = new Size(420, 64);
tableDPI.TabIndex = 42;
//
// buttonDPI2
@@ -669,11 +669,11 @@
buttonDPI2.ForeColor = SystemColors.ControlText;
buttonDPI2.Image = Properties.Resources.lighting_dot_32;
buttonDPI2.ImageAlign = ContentAlignment.BottomCenter;
buttonDPI2.Location = new Point(111, 2);
buttonDPI2.Location = new Point(107, 2);
buttonDPI2.Margin = new Padding(2);
buttonDPI2.Name = "buttonDPI2";
buttonDPI2.Secondary = false;
buttonDPI2.Size = new Size(105, 60);
buttonDPI2.Size = new Size(101, 60);
buttonDPI2.TabIndex = 4;
buttonDPI2.Text = "DPI 2\r\n1000";
buttonDPI2.TextImageRelation = TextImageRelation.ImageAboveText;
@@ -696,7 +696,7 @@
buttonDPI1.Margin = new Padding(2);
buttonDPI1.Name = "buttonDPI1";
buttonDPI1.Secondary = false;
buttonDPI1.Size = new Size(105, 60);
buttonDPI1.Size = new Size(101, 60);
buttonDPI1.TabIndex = 4;
buttonDPI1.Text = "DPI 1\r\n800";
buttonDPI1.TextImageRelation = TextImageRelation.ImageAboveText;
@@ -715,11 +715,11 @@
buttonDPI3.ForeColor = SystemColors.ControlText;
buttonDPI3.Image = Properties.Resources.lighting_dot_32;
buttonDPI3.ImageAlign = ContentAlignment.BottomCenter;
buttonDPI3.Location = new Point(220, 2);
buttonDPI3.Location = new Point(212, 2);
buttonDPI3.Margin = new Padding(2);
buttonDPI3.Name = "buttonDPI3";
buttonDPI3.Secondary = false;
buttonDPI3.Size = new Size(105, 60);
buttonDPI3.Size = new Size(101, 60);
buttonDPI3.TabIndex = 5;
buttonDPI3.Text = "DPI 3\r\n1200";
buttonDPI3.TextImageRelation = TextImageRelation.ImageAboveText;
@@ -738,11 +738,11 @@
buttonDPI4.ForeColor = SystemColors.ControlText;
buttonDPI4.Image = Properties.Resources.lighting_dot_32;
buttonDPI4.ImageAlign = ContentAlignment.BottomCenter;
buttonDPI4.Location = new Point(329, 2);
buttonDPI4.Location = new Point(317, 2);
buttonDPI4.Margin = new Padding(2);
buttonDPI4.Name = "buttonDPI4";
buttonDPI4.Secondary = false;
buttonDPI4.Size = new Size(106, 60);
buttonDPI4.Size = new Size(101, 60);
buttonDPI4.TabIndex = 6;
buttonDPI4.Text = "DPI 4\r\n1400";
buttonDPI4.TextImageRelation = TextImageRelation.ImageAboveText;
@@ -757,7 +757,7 @@
panelPerformanceHeader.Location = new Point(0, 7);
panelPerformanceHeader.Margin = new Padding(2);
panelPerformanceHeader.Name = "panelPerformanceHeader";
panelPerformanceHeader.Size = new Size(437, 20);
panelPerformanceHeader.Size = new Size(420, 20);
panelPerformanceHeader.TabIndex = 41;
//
// pictureKeyboard
@@ -793,7 +793,7 @@
panelLighting.Margin = new Padding(2);
panelLighting.Name = "panelLighting";
panelLighting.Padding = new Padding(0, 0, 0, 17);
panelLighting.Size = new Size(437, 220);
panelLighting.Size = new Size(420, 220);
panelLighting.TabIndex = 42;
//
// panelLightingContent
@@ -814,7 +814,7 @@
panelLightingContent.Margin = new Padding(2);
panelLightingContent.Name = "panelLightingContent";
panelLightingContent.Padding = new Padding(0, 0, 0, 7);
panelLightingContent.Size = new Size(437, 183);
panelLightingContent.Size = new Size(420, 183);
panelLightingContent.TabIndex = 42;
//
// tableLayoutLightingZones
@@ -838,7 +838,7 @@
tableLayoutLightingZones.Name = "tableLayoutLightingZones";
tableLayoutLightingZones.RowCount = 1;
tableLayoutLightingZones.RowStyles.Add(new RowStyle(SizeType.Absolute, 40F));
tableLayoutLightingZones.Size = new Size(437, 40);
tableLayoutLightingZones.Size = new Size(420, 40);
tableLayoutLightingZones.TabIndex = 56;
//
// buttonLightingZoneScroll
@@ -855,11 +855,11 @@
buttonLightingZoneScroll.FlatStyle = FlatStyle.Flat;
buttonLightingZoneScroll.ForeColor = SystemColors.ControlText;
buttonLightingZoneScroll.ImageAlign = ContentAlignment.BottomCenter;
buttonLightingZoneScroll.Location = new Point(176, 2);
buttonLightingZoneScroll.Location = new Point(170, 2);
buttonLightingZoneScroll.Margin = new Padding(2);
buttonLightingZoneScroll.Name = "buttonLightingZoneScroll";
buttonLightingZoneScroll.Secondary = false;
buttonLightingZoneScroll.Size = new Size(83, 36);
buttonLightingZoneScroll.Size = new Size(80, 36);
buttonLightingZoneScroll.TabIndex = 7;
buttonLightingZoneScroll.Text = "Scrollwheel";
buttonLightingZoneScroll.TextImageRelation = TextImageRelation.ImageAboveText;
@@ -879,11 +879,11 @@
buttonLightingZoneLogo.FlatStyle = FlatStyle.Flat;
buttonLightingZoneLogo.ForeColor = SystemColors.ControlText;
buttonLightingZoneLogo.ImageAlign = ContentAlignment.BottomCenter;
buttonLightingZoneLogo.Location = new Point(89, 2);
buttonLightingZoneLogo.Location = new Point(86, 2);
buttonLightingZoneLogo.Margin = new Padding(2);
buttonLightingZoneLogo.Name = "buttonLightingZoneLogo";
buttonLightingZoneLogo.Secondary = false;
buttonLightingZoneLogo.Size = new Size(83, 36);
buttonLightingZoneLogo.Size = new Size(80, 36);
buttonLightingZoneLogo.TabIndex = 4;
buttonLightingZoneLogo.Text = "Logo";
buttonLightingZoneLogo.TextImageRelation = TextImageRelation.ImageAboveText;
@@ -907,7 +907,7 @@
buttonLightingZoneAll.Margin = new Padding(2);
buttonLightingZoneAll.Name = "buttonLightingZoneAll";
buttonLightingZoneAll.Secondary = false;
buttonLightingZoneAll.Size = new Size(83, 36);
buttonLightingZoneAll.Size = new Size(80, 36);
buttonLightingZoneAll.TabIndex = 4;
buttonLightingZoneAll.Text = "All";
buttonLightingZoneAll.TextImageRelation = TextImageRelation.ImageAboveText;
@@ -927,11 +927,11 @@
buttonLightingZoneUnderglow.FlatStyle = FlatStyle.Flat;
buttonLightingZoneUnderglow.ForeColor = SystemColors.ControlText;
buttonLightingZoneUnderglow.ImageAlign = ContentAlignment.BottomCenter;
buttonLightingZoneUnderglow.Location = new Point(263, 2);
buttonLightingZoneUnderglow.Location = new Point(254, 2);
buttonLightingZoneUnderglow.Margin = new Padding(2);
buttonLightingZoneUnderglow.Name = "buttonLightingZoneUnderglow";
buttonLightingZoneUnderglow.Secondary = false;
buttonLightingZoneUnderglow.Size = new Size(83, 36);
buttonLightingZoneUnderglow.Size = new Size(80, 36);
buttonLightingZoneUnderglow.TabIndex = 5;
buttonLightingZoneUnderglow.Text = "Underglow";
buttonLightingZoneUnderglow.TextImageRelation = TextImageRelation.ImageAboveText;
@@ -951,11 +951,11 @@
buttonLightingZoneDock.FlatStyle = FlatStyle.Flat;
buttonLightingZoneDock.ForeColor = SystemColors.ControlText;
buttonLightingZoneDock.ImageAlign = ContentAlignment.BottomCenter;
buttonLightingZoneDock.Location = new Point(350, 2);
buttonLightingZoneDock.Location = new Point(338, 2);
buttonLightingZoneDock.Margin = new Padding(2);
buttonLightingZoneDock.Name = "buttonLightingZoneDock";
buttonLightingZoneDock.Secondary = false;
buttonLightingZoneDock.Size = new Size(85, 36);
buttonLightingZoneDock.Size = new Size(80, 36);
buttonLightingZoneDock.TabIndex = 6;
buttonLightingZoneDock.Text = "Dock";
buttonLightingZoneDock.TextImageRelation = TextImageRelation.ImageAboveText;
@@ -968,10 +968,10 @@
comboBoxAnimationDirection.DropDownStyle = ComboBoxStyle.DropDownList;
comboBoxAnimationDirection.FlatStyle = FlatStyle.Flat;
comboBoxAnimationDirection.FormattingEnabled = true;
comboBoxAnimationDirection.Location = new Point(245, 153);
comboBoxAnimationDirection.Location = new Point(244, 153);
comboBoxAnimationDirection.Margin = new Padding(11, 0, 11, 0);
comboBoxAnimationDirection.Name = "comboBoxAnimationDirection";
comboBoxAnimationDirection.Size = new Size(190, 23);
comboBoxAnimationDirection.Size = new Size(191, 23);
comboBoxAnimationDirection.TabIndex = 54;
//
// labelAnimationDirection
@@ -1000,10 +1000,10 @@
comboBoxAnimationSpeed.DropDownStyle = ComboBoxStyle.DropDownList;
comboBoxAnimationSpeed.FlatStyle = FlatStyle.Flat;
comboBoxAnimationSpeed.FormattingEnabled = true;
comboBoxAnimationSpeed.Location = new Point(245, 125);
comboBoxAnimationSpeed.Location = new Point(244, 125);
comboBoxAnimationSpeed.Margin = new Padding(11, 0, 11, 0);
comboBoxAnimationSpeed.Name = "comboBoxAnimationSpeed";
comboBoxAnimationSpeed.Size = new Size(190, 23);
comboBoxAnimationSpeed.Size = new Size(191, 23);
comboBoxAnimationSpeed.TabIndex = 51;
//
// labelAnimationSpeed
@@ -1018,7 +1018,7 @@
// pictureBoxLightingColor
//
pictureBoxLightingColor.Anchor = AnchorStyles.Top | AnchorStyles.Right;
pictureBoxLightingColor.Location = new Point(321, 80);
pictureBoxLightingColor.Location = new Point(304, 80);
pictureBoxLightingColor.Margin = new Padding(4);
pictureBoxLightingColor.Name = "pictureBoxLightingColor";
pictureBoxLightingColor.Size = new Size(13, 13);
@@ -1035,11 +1035,11 @@
buttonLightingColor.BorderRadius = 2;
buttonLightingColor.FlatStyle = FlatStyle.Flat;
buttonLightingColor.ForeColor = SystemColors.ControlText;
buttonLightingColor.Location = new Point(252, 74);
buttonLightingColor.Location = new Point(233, 74);
buttonLightingColor.Margin = new Padding(2, 4, 2, 4);
buttonLightingColor.Name = "buttonLightingColor";
buttonLightingColor.Secondary = false;
buttonLightingColor.Size = new Size(90, 25);
buttonLightingColor.Size = new Size(94, 25);
buttonLightingColor.TabIndex = 49;
buttonLightingColor.Text = Properties.Strings.Color;
buttonLightingColor.TextAlign = ContentAlignment.MiddleLeft;
@@ -1077,13 +1077,13 @@
panelLightingHeader.Location = new Point(0, 0);
panelLightingHeader.Margin = new Padding(2);
panelLightingHeader.Name = "panelLightingHeader";
panelLightingHeader.Size = new Size(437, 20);
panelLightingHeader.Size = new Size(420, 20);
panelLightingHeader.TabIndex = 41;
//
// sliderBrightness
//
sliderBrightness.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Right;
sliderBrightness.Location = new Point(246, 1);
sliderBrightness.Location = new Point(229, 1);
sliderBrightness.Margin = new Padding(1);
sliderBrightness.Max = 100;
sliderBrightness.Min = 0;
@@ -1131,7 +1131,7 @@
panelEnergy.Margin = new Padding(2);
panelEnergy.Name = "panelEnergy";
panelEnergy.Padding = new Padding(0, 0, 0, 17);
panelEnergy.Size = new Size(437, 96);
panelEnergy.Size = new Size(420, 96);
panelEnergy.TabIndex = 43;
//
// labelLowBatteryWarningValue
@@ -1199,7 +1199,7 @@
panelEnergyHeader.Location = new Point(0, 0);
panelEnergyHeader.Margin = new Padding(2);
panelEnergyHeader.Name = "panelEnergyHeader";
panelEnergyHeader.Size = new Size(437, 20);
panelEnergyHeader.Size = new Size(420, 20);
panelEnergyHeader.TabIndex = 41;
//
// pictureBoxEnergy
@@ -1240,7 +1240,7 @@
tableLayoutProfiles.RowCount = 1;
tableLayoutProfiles.RowStyles.Add(new RowStyle(SizeType.Percent, 50F));
tableLayoutProfiles.RowStyles.Add(new RowStyle(SizeType.Percent, 50F));
tableLayoutProfiles.Size = new Size(437, 38);
tableLayoutProfiles.Size = new Size(420, 38);
tableLayoutProfiles.TabIndex = 44;
//
// panelBatteryState
@@ -1302,11 +1302,11 @@
buttonSync.BorderRadius = 2;
buttonSync.FlatStyle = FlatStyle.Flat;
buttonSync.ForeColor = SystemColors.ControlText;
buttonSync.Location = new Point(5, 37);
buttonSync.Location = new Point(223, 5);
buttonSync.Margin = new Padding(2, 4, 2, 4);
buttonSync.Name = "buttonSync";
buttonSync.Secondary = false;
buttonSync.Size = new Size(431, 25);
buttonSync.Size = new Size(195, 25);
buttonSync.TabIndex = 46;
buttonSync.Text = "Synchronize with Mouse";
buttonSync.UseVisualStyleBackColor = false;
@@ -1322,7 +1322,7 @@
panelBottomButtons.Location = new Point(7, 731);
panelBottomButtons.Margin = new Padding(2);
panelBottomButtons.Name = "panelBottomButtons";
panelBottomButtons.Size = new Size(437, 66);
panelBottomButtons.Size = new Size(420, 45);
panelBottomButtons.TabIndex = 47;
//
// buttonImport
@@ -1335,11 +1335,11 @@
buttonImport.BorderRadius = 2;
buttonImport.FlatStyle = FlatStyle.Flat;
buttonImport.ForeColor = SystemColors.ControlText;
buttonImport.Location = new Point(222, 6);
buttonImport.Location = new Point(106, 6);
buttonImport.Margin = new Padding(2, 4, 2, 4);
buttonImport.Name = "buttonImport";
buttonImport.Secondary = false;
buttonImport.Size = new Size(214, 25);
buttonImport.Size = new Size(102, 25);
buttonImport.TabIndex = 48;
buttonImport.Text = "Import Profile";
buttonImport.UseVisualStyleBackColor = false;
@@ -1355,11 +1355,11 @@
buttonExport.BorderRadius = 2;
buttonExport.FlatStyle = FlatStyle.Flat;
buttonExport.ForeColor = SystemColors.ControlText;
buttonExport.Location = new Point(5, 6);
buttonExport.Location = new Point(2, 6);
buttonExport.Margin = new Padding(2, 4, 2, 4);
buttonExport.Name = "buttonExport";
buttonExport.Secondary = false;
buttonExport.Size = new Size(197, 25);
buttonExport.Size = new Size(103, 25);
buttonExport.TabIndex = 47;
buttonExport.Text = "Export Profile";
buttonExport.UseVisualStyleBackColor = false;
@@ -1433,7 +1433,7 @@
AutoScroll = true;
AutoSize = true;
AutoSizeMode = AutoSizeMode.GrowAndShrink;
ClientSize = new Size(451, 803);
ClientSize = new Size(451, 699);
Controls.Add(panelBottomButtons);
Controls.Add(panelEnergy);
Controls.Add(panelLighting);

View File

@@ -1,549 +0,0 @@
using GHelper.Helpers;
using System.IO.Compression;
namespace GHelper.Display
{
public static class ColorProfileHelper
{
public static string? GetProfileUrl(string model)
{
byte[] data = Convert.FromBase64String("aHR0cHM6Ly9kbGNkbi1yb2dib3hidTEuYXN1cy5jb20vcHViL0FTVVMvQVBTZXJ2aWNlL0dhbWluZy9TWVMvUk9HUy8=");
string baseUrl = System.Text.Encoding.UTF8.GetString(data);
var profiles = new Dictionary<string, string>()
{
{"FA_Series", "2177-APOR41-de476ec68578c865e886ef6872aa56ee.zip"},
{"FA506IC", "7822-ZGQ1KC-bc80be3be7ca585bef60f526b6461c86.zip"},
{"FA506ICB", "13914-2HYCD7-95fabfe5669a204620517f0158c0cea1.zip"},
{"FA506IE", "7828-57N8GH-9fe07a7e4ebde12a8d4682d3ffa66fe4.zip"},
{"FA506IEB", "14661-ZYWH5T-3b45ebeb7fca81d98796d5960e11226c.zip"},
{"FA506IH", "3407-VZBOUN-8a12385fa46e077010677d330e9320d5.zip"},
{"FA506IHR", "7823-15HGA0-44d621a3c0f0dd2c407f67d262871be0.zip"},
{"FA506II", "3410-9ZXQO2-aa08794537699c5dbfcca49b63fb7f8d.zip"},
{"FA506IM", "7824-EKKW9A-21c7e073a81fc868b78e605b17290839.zip"},
{"FA506IR", "7825-G6XND9-c16ea7e98b58e878c61d1071b100ee60.zip"},
{"FA506IU", "3413-AMCR39-2a8b889a8810da4e8692f87e1ae3ea2c.zip"},
{"FA506IV", "3415-VA0CJ6-266febe84bcecc5ed89fdc286f444ce2.zip"},
{"FA506NC", "18359-BM2XCN-3ca9de427310b05afa92dcbe1babf947.zip"},
{"FA506NF", "18361-CU7H6I-55beba8445b9aa0fe9cbeb8ec9a47ccf.zip"},
{"FA506QC", "7829-LBYY5U-b14343c260b738563b69ad0e4f4b88d1.zip"},
{"FA506QE", "7827-75P3DP-b664f4da04e77ed1faa722bf0c781d82.zip"},
{"FA506QM", "9440-87VQKP-48357026f1f3099cfed1161a320587f0.zip"},
{"FA506QR", "7830-KO7FQ6-618480f72c2e68bafc594b5323a5d13c.zip"},
{"FA507NI", "14451-N6AX9R-0bc8e15be5cf889c755aaa7052f6fee8.zip"},
{"FA507NJ", "14454-QXKHOE-d28f2eb001f9b7ce0582cbe33961a6ad.zip"},
{"FA507NU", "14452-EZXLVF-c64dd3d7efede78df653b029888d9d04.zip"},
{"FA507NUR", "18871-WR3YMP-6cbcd0502eb9bf200465e36c4de8c9fd.zip"},
{"FA507NV", "14453-VC333P-41549f64788d59c9711eccec892fa8c1.zip"},
{"FA507NVR", "18872-HVR4UY-220dc7f3f73cf12b2af2505db6ce67ab.zip"},
{"FA507RC", "11448-0TRT8V-7712eb9302300dd82815027efbbe4787.zip"},
{"FA507RE", "11449-ONC7VG-a7ac70468292336f63532c21204d69d4.zip"},
{"FA507RF", "14311-X72FIU-66bf16069a82bdf2cc09f8b92cb25c67.zip"},
{"FA507RH", "11453-W4B8H4-e1645d3ce1e0216a30246ad6a84c3819.zip"},
{"FA507RM", "11452-ZGHOOO-f3bddf2fddd3c027568646bc5afe3c7d.zip"},
{"FA507RR", "11450-UU8KFV-2c718d16687fa3b038e625f504ccd13f.zip"},
{"FA507RW", "11451-XHL0SH-c2702d2047b7b93636cc1372caf25a75.zip"},
{"FA507UI", "17850-4J1GCV-c30e3d47aa82df4e3f0754888903c5dd.zip"},
{"FA507UU", "17851-PIGBD6-45227ab485302ec2cca63f0bbb71d473.zip"},
{"FA507UV", "17852-T32MPT-a2fd989758365b8a04e4dc5bbb146af1.zip"},
{"FA507XI", "14817-A522MM-fad14cb28f00b94735eb55c2b3b7b892.zip"},
{"FA507XJ", "14820-8RT0TF-9d341fae2a290494206deb5fcf1fd427.zip"},
{"FA507XU", "14818-3PA2GD-2d1e2d035309ec7282a1c47e27f7c7fd.zip"},
{"FA507XV", "14819-ET4L73-daf905274776ae9c92a7b74e687dc63d.zip"},
{"FA607PI", "17579-FL63B4-df08bf92fe3c156ce738e43de7824d65.zip"},
{"FA607PU", "17580-WM413K-eff7721ca9ec5b633ef196dbfcd58ff2.zip"},
{"FA607PV", "17581-JNXO2Q-15d026a4ae630d44b28c18aee0a99e51.zip"},
{"FA607RC", "10190-XHDRTQ-0e6c248e3dab6bb07e052edd963c5218.zip"},
{"FA607RE", "10194-AF495K-23a4d74be5132e4babc64bb13237a12b.zip"},
{"FA607RH", "10191-9BS333-c6deb5f9fd5a37d446d2722da54c0ec3.zip"},
{"FA607RM", "10195-4U5EEF-cf98d168cacdd5a60782e881a9c143be.zip"},
{"FA607RR", "10193-FYX2N7-730c76e49ef71a6164804eafd2621dab.zip"},
{"FA607RW", "10192-UFOOP3-f52a50dac189ffa96560f73e04c53a6c.zip"},
{"FA617NS", "15967-YKHJ0B-89095e43578e64c160d2952bb14513f2.zip"},
{"FA617NT", "15970-C1BW39-2ef1c5d5d9a967cf2fc1f511d3db3a43.zip"},
{"FA617XS", "15968-Y9NFXN-cb420fe6e177fc1cf675e9d42a6fd0ea.zip"},
{"FA617XT", "15969-UKYP5L-ad54051ebbad4b17693b65f5bceda799.zip"},
{"FA706IC", "5215-5J3H5Y-d2cdc2f5e03d68e5e5e562581a77c8e6.zip"},
{"FA706IE", "8827-43DTPG-ba6be621f7d0dda88e5391164cbc7a74.zip"},
{"FA706IH", "2610-2EJ0EQ-245d43d7bd14bb3e664fa96e9f5a690e.zip"},
{"FA706IHR", "8828-XBJAQU-5d8064b0fb63ca7866ee4cf821ece676.zip"},
{"FA706II", "2611-HO3IK9-2fb972a395137c940151723b01e9b9cb.zip"},
{"FA706IM", "8829-GWFKN5-5ab773eb09bfb3099137fae3c7d547c1.zip"},
{"FA706IR", "8825-63J2NY-2496ecf21b5fa71e65671531b670cdac.zip"},
{"FA706IU", "2608-EI64MF-64c35bda7789e6e71298e22d793b78d4.zip"},
{"FA706NF", "18362-1V7Z1Z-0bc79f01bdfadc5b39342fba622a5b8d.zip"},
{"FA706QC", "8826-032S4E-868933565b1a7d762bda8cafc1e77458.zip"},
{"FA706QE", "8824-KZNJL9-9d827f4973d4c9787ff050dc1bf35eef.zip"},
{"FA706QM", "8830-6NX7U4-b7bbfe663aa954534d33d2f822181728.zip"},
{"FA706QR", "8823-RXSLAC-a2720365e842af1dd826920fb447fba5.zip"},
{"FA707NI", "14455-19J6WZ-10282c6083ee018a614e75bc809ecf1f.zip"},
{"FA707NJ", "14457-BGJD0K-d963ff94009c9a2a5b99606eac711a95.zip"},
{"FA707NU", "14456-VAZ4LS-1d798d3873c55e9d10b43a3f2b12cd15.zip"},
{"FA707NV", "14458-7G8B40-08117ddb45ed3c6978aa4ad60e3d2c96.zip"},
{"FA707RC", "10196-81D3O0-94ccf4d908c9bcb44f8f9092ef9fa2e2.zip"},
{"FA707RE", "10200-AUS9AW-7f366055be2ae2b4c659aa9590bb4d5e.zip"},
{"FA707RF", "14312-6KGU80-09ba6d3e3b490c3d1dce3d16df62cd8a.zip"},
{"FA707RH", "10197-BB5746-a958ff2eeedcfd1753c2e7151c0a3f96.zip"},
{"FA707RM", "10198-TBWO12-e35e49d79fcc03c5cc84b5b40c222e80.zip"},
{"FA707RR", "10199-LILM59-05448f5e429c6c4be7b531d0b6aa2319.zip"},
{"FA707RW", "10201-0KXC4K-3dca8e95a9e676a1010efc79becde228.zip"},
{"FA707XI", "14821-JO8WIQ-77921f1a7a523fe5674f39f10e66f4a3.zip"},
{"FA707XIN", "14822-7W7Q8W-e2e50358e878b092fc888e8e70575985.zip"},
{"FA707XJ", "14823-MX6CGK-0d0862cd441f96a72b1c8baeaa8aa3b4.zip"},
{"FA707XU", "14824-O2LZZA-f0ea2bf54bbc4fd4e7391048f4a083e4.zip"},
{"FA707XV", "14825-DUSKD1-7d0a055d869a7366105380c44788724b.zip"},
{"FX_Series", "2174-J1XJKV-bd932ade5eebb0b2f1a36eac85bc5c7d.zip"},
{"FX505DD", "3439-CJLCNE-3df3a90619c571de2917a35a402fe6cb.zip"},
{"FX505DT", "3427-H77L9I-2f3f50fbbb1dc4ac6e703b2820acb491.zip"},
{"FX505DU", "3426-9P4PXL-7e640e1e38c6395bc5455bdf838ea83d.zip"},
{"FX505DV", "3425-31OQ2O-3ab11acfb17dca8f339fe0b8a4efa33d.zip"},
{"FX505DY", "162-H1YFBE-1e5c82e28fa35559e5f7a6aa934d7405.zip"},
{"FX505GT", "3423-8CCGEQ-a72ef69d8d5aab7bfd3eb34e2a55cd48.zip"},
{"FX505GU", "3424-9J0I5H-1c209ee72d9f7ba2caa559fddd9f5fdc.zip"},
{"FX506HC", "7821-BDCXZM-23e718ce9f58cbef286e77c7d97752d0.zip"},
{"FX506HCB", "8452-QZYXAU-9385f6b96812173b12dcf23934d2729d.zip"},
{"FX506HE", "7831-C0XU6K-16e393308545bf5fa327997b33edeba9.zip"},
{"FX506HEB", "8453-42FVNT-a7c6b122bb1f2e16340c016d09b43c13.zip"},
{"FX506HF", "14511-KKQA1F-9129e79baf1215ce451e791b51fee304.zip"},
{"FX506HHR", "7832-KJD4ZK-d6e5fcf84caf94be5b312d6233876322.zip"},
{"FX506HM", "7833-2EVLVM-3082377bce59838bf06bd09c3c9911fe.zip"},
{"FX506HMB", "8454-32DRJH-818506f55eef4d13839ea8e8d8765534.zip"},
{"FX506LH", "10917-Y6JJC7-4596433cf10a71242d9a9255c2b31458.zip"},
{"FX506LHB", "16838-WYAR19-d3f87642f6cf12ec77e231b7d405fa61.zip"},
{"FX506LI", "4428-Y7KRBX-df2c328780c4506a2cb2279ddf84ca58.zip"},
{"FX506LU", "4429-34SZ6D-2df0b447ff1dcf6d887cad5c679331de.zip"},
{"FX507VI", "14064-MTRMKH-169de48f4b0b3035315106bde1a1020f.zip"},
{"FX507VI4", "14065-9VTCNA-b5e0ac043ffd3e3ffab879f6401b2e07.zip"},
{"FX507VJ", "14066-W5FPY3-89180f515ba2c785b1f87c895e09cee9.zip"},
{"FX507VJ4", "14067-DKVRHI-bc0fa5ec61259e31536356ec67d27cb5.zip"},
{"FX507VU", "14071-EEJKDG-95e42e7c6ebaea33206a1de566588ae8.zip"},
{"FX507VU4", "14069-1JAF2A-4d328ede6adf0796924734da3e04a18f.zip"},
{"FX507VV", "14068-QO62TU-b6aadf3d84f816a42f111649bb1381ae.zip"},
{"FX507VV4", "14070-WHB99Q-57b4d0c8f9405038db3e298f72474505.zip"},
{"FX507ZC", "11454-8DEVNS-3503e698cf0b56b387bf65ebd0169786.zip"},
{"FX507ZC4", "13785-D9YTVH-2fb9db83c6f04518f230d1d453373e5d.zip"},
{"FX507ZE", "11459-DKP456-c8d8862da76207dc0a3bf2642b98632d.zip"},
{"FX507ZE4", "13786-3YM16F-fa4c0a13c74e6c1253d464bbb035cbc3.zip"},
{"FX507ZH", "11455-OQI6ZD-866eb458d7ab9ac51cb88966b2c4acf1.zip"},
{"FX507ZI4", "14056-D01K4S-bb2cfa4d564b8a6834c78d675aebdd1c.zip"},
{"FX507ZJ4", "14057-YY0XRG-4f7570dee1902f2012b812d50b0d2334.zip"},
{"FX507ZM", "11456-OM12KU-7c91b2d14b093dc2eef17a555e14ada3.zip"},
{"FX507ZR", "11458-P8RTC8-2b3802527c98749fb68397f35c6bb86b.zip"},
{"FX507ZU4", "14058-9ZYS4E-7e244d3e7dc3641d602130563c1c84b7.zip"},
{"FX507ZV4", "14059-VBGCNK-0314facaf02290da1a75d1b00455cb3a.zip"},
{"FX507ZW", "11457-4F1FOO-5f24a98f90735cedf1ad9fb5ac90adbf.zip"},
{"FX516PC", "7788-GJYPET-06cf200d5b8fb92c807de03796535e80.zip"},
{"FX516PE", "7789-WIT1BW-b32fd9546ac9ac5b6878a3f46c30247c.zip"},
{"FX516PH", "7237-G94WZH-30c10f820dcdf03cc661fd9b73c2927a.zip"},
{"FX516PM", "7790-OG0DVJ-e7ad44e2fa38eb4256e09a62a744659a.zip"},
{"FX516PR", "7791-LJ7RQ7-36c58a0b55aeb5c3782302fd58139815.zip"},
{"FX517ZC", "13757-QJDW9D-ab71bd2ecf24d182bf32fbd931b24e58.zip"},
{"FX517ZE", "13758-75WLCE-fac3186e372a6e0e422d3d78de1addb3.zip"},
{"FX517ZH", "11461-A4BH34-2464f8a583b064ab2bdb336dc13d8b2e.zip"},
{"FX517ZM", "13759-694BOG-7b8f61a1d8a387715721fd2b8e0bd766.zip"},
{"FX517ZR", "11463-MCHEWS-7a732705aea49eb663fe1e8930c463de.zip"},
{"FX517ZW", "11464-S41ORA-d99633ecf421ba4ab73800bc9ebf2e5b.zip"},
{"FX607JI", "17739-YJBJMA-59c984b28eeb6c02498190f768b12b52.zip"},
{"FX607JIR", "17740-78V0QP-43bf1ea30f94d3d3a286f42dd90a1816.zip"},
{"FX607JU", "17744-JEFX0I-f1ee2104c17a5cc511efefa3dc7b9601.zip"},
{"FX607JUR", "17743-A2JS5H-224a1f32f7dbfecb0d6b91fdb6ffac8e.zip"},
{"FX607JV", "17741-OWALZC-eb293a03c7b4595270939bccfe891656.zip"},
{"FX607JVR", "17742-3OOC7N-f28635b55ce56f9e32672b2e409a075c.zip"},
{"FX607VI", "14072-0Z0LX5-c3145816b5c9b045a3e829e194425624.zip"},
{"FX607VJ", "14073-H1KA78-95472184994955393ebf635af4a55c71.zip"},
{"FX607VU", "14074-RCMD10-b606bf5fd03bdf6a8aef412202de86ff.zip"},
{"FX607VV", "14075-BX4NJX-a9e24be091f08e6cc3885397f143bdc5.zip"},
{"FX607ZC", "9267-SQXQMT-edf1ee77d7f276d9b2f14fbe80e86459.zip"},
{"FX607ZE", "9268-MI06A0-5f60b76f497adb2c80dc5d34e7ca00ef.zip"},
{"FX607ZH", "9266-75PO51-12f649be993639c1ff986129977bc516.zip"},
{"FX607ZM", "9269-MEPP17-baf25a9abae3ae712da40dc6c4f2de22.zip"},
{"FX607ZR", "9285-7B20C5-9a0ee909d954eda9fd9f334a6b76bdda.zip"},
{"FX607ZW", "9265-9H05OM-5b2735efc15db9c49302451b728338a8.zip"},
{"FX617ZC", "9263-3PLDC1-74d554f08fac5b1689c7dbb581fc97c4.zip"},
{"FX617ZE", "9264-9L5V7F-203b8f8a48d47470aef80dd42bbef60b.zip"},
{"FX617ZH", "9261-DIXTFE-b20887acff77b59a80e62088caf695f3.zip"},
{"FX617ZM", "9262-OXO77E-8476443cfd885a718b915731b9807bc0.zip"},
{"FX617ZR", "9286-VA9VXJ-8c69c08b5812b00656142d93cb5a5013.zip"},
{"FX617ZW", "9260-O8UGYN-9678cab288d9b85ec59961647ca94ff7.zip"},
{"FX705DY", "163-N6IM0Z-3bee0b29abd2d6b419ba322661d64a6a.zip"},
{"FX706HC", "8834-3HMY7W-fb49a16bc9cda208a3acf5f2ea32fc63.zip"},
{"FX706HCB", "8835-FHPH4O-319d35ab96a1eef3b5ae7fefde106cf2.zip"},
{"FX706HE", "8833-SW8GIL-71ae2ebbdb18ec3380cf682be0ca32a3.zip"},
{"FX706HEB", "8836-SUE4HH-55876358bbe39f53ea2010c8f66e9093.zip"},
{"FX706HF", "17052-8B8C18-0c762fb15cd6367d08c954ce5e01f497.zip"},
{"FX706HHR", "7837-S711RT-ed9d8a61e80895a6403dda19ac873f62.zip"},
{"FX706HM", "8832-O7W1D2-853dd8eb62665c369cd2c3b716a53b80.zip"},
{"FX706HMB", "8831-NKXZ56-437ac6d56280dd0734f9f56db3ba6a6f.zip"},
{"FX707VI", "14076-C4CQ2E-0771f0ec46072ac38a7dbb8829783298.zip"},
{"FX707VI4", "14078-UXPPY2-ffe538cd58da15c780e6263c2818f995.zip"},
{"FX707VJ", "14077-6KB0BJ-af4fae81000b0143477091deaca569da.zip"},
{"FX707VJ4", "14080-YBM0VD-bef842b5fcc1b49cb054cfb1eb3d2258.zip"},
{"FX707VU", "14081-I8JRY3-2ab8a5dcab2033a19de169e424da1530.zip"},
{"FX707VU4", "14079-TALDGM-c7d6c6820a223967463a76152e178af4.zip"},
{"FX707VV", "14082-2UYJNX-a21d4e4e856e8a4fe52b30593705d818.zip"},
{"FX707VV4", "14083-79JC8K-74d96cb066ded2d86255755fdc1f3167.zip"},
{"FX707ZC", "9278-7TRFVL-9a0693a78d8d69a265cb7101314dd055.zip"},
{"FX707ZC4", "13358-EPBJ9S-035eca4acee4db9814f693f4aeef0147.zip"},
{"FX707ZE", "9279-QYJXB7-17ff65bda614791358426882d48be6fe.zip"},
{"FX707ZE4", "13357-V3LZL7-64a1ecac6b4657e98a422cd5657cc89b.zip"},
{"FX707ZH", "9280-62FAFQ-3193a4215440ecbe7fece9091fad6205.zip"},
{"FX707ZI4", "14060-EEB7IW-e716f0f9a1f8f91e5ae93d902de96385.zip"},
{"FX707ZJ4", "14061-T7UBPM-91f62b48749f5ed42e3c3d1f2b8bb645.zip"},
{"FX707ZM", "9281-YKO83G-ff6a896b4e055cc6500470636cf9e1ad.zip"},
{"FX707ZR", "9284-GYDQK8-bfdc718699fb7030b0f133402933e12f.zip"},
{"FX707ZU4", "14062-52EB12-8a85d0170af52dfbaf216b98085015d0.zip"},
{"FX707ZV4", "14063-R6EM57-62ad692f855e33bb05aaae1823207415.zip"},
{"FX707ZW", "9282-E6GYQU-5f673e25b2ef5e57c78e36668e9c5e9f.zip"},
{"G_Series", "2176-RS8S2K-e815e5e0be51e1bd76674cd3826cbfec.zip"},
{"G512LH", "3312-AM98EE-e9a32238fa66ffe8683ff0a34019f216.zip"},
{"G512LI", "3310-9MDL49-daee5dd162a699f60f2bb68a3cba7ef7.zip"},
{"G512LU", "4150-SX012C-b6e7d21b645495f57b2fb7bd9734e839.zip"},
{"G512LV", "4151-LUEHCJ-f145d1dd67079a3739a564cb04eaa6ff.zip"},
{"G512LW", "4152-4IMGHN-f0a946d2f21860039a9181b17ca1f1be.zip"},
{"G512LWS", "4153-IZDAY7-3cc48027800d6d123db4f584a5a2e4a4.zip"},
{"G513IC", "7233-I1XU1L-57f580817efeb347c2e64b467b569d48.zip"},
{"G513IE", "7232-7C4QK2-effb8e534fc4639d7fd72e957e1a13fc.zip"},
{"G513IH", "7231-YGY2HL-ef7e448a0e3b2502219c74c2f8a26a72.zip"},
{"G513IM", "7883-JSH1ET-04fb928a7fe54481b8156627d30451ce.zip"},
{"G513IR", "7884-DB01TN-5bdc2457c9a42ad9c0b1ab82139beeac.zip"},
{"G513QC", "7228-I73APA-79e1e7f9582bdc44f510d651e909250b.zip"},
{"G513QE", "7227-9J3H2Y-d222e0119fef169bbe0f20f754743ca7.zip"},
{"G513QH", "7226-MUU2SQ-05a65cada4f1c986b7b2c5e2cf7ea796.zip"},
{"G513QM", "7882-2FWOWK-ca956a4c309edb8cd9d9c24178ec3912.zip"},
{"G513QR", "7885-4VL6WK-6a21c044bb2d69f55febdb6ffcd5b7d8.zip"},
{"G513QY", "7881-S6R4GZ-5832d1de6fc107509803927e4a52ebf7.zip"},
{"G513RC", "14513-WMQ0GS-4018fc7459d96efec72f15f724c33062.zip"},
{"G513RE", "14516-VXJYUR-fbaadee0ba8dea2a24282b2be882d571.zip"},
{"G513RH", "11732-8ODACG-845738811f5dcaee76c7ba113ed0c8bd.zip"},
{"G513RM", "11735-UXEJT9-03457f6d6350f0a860fe6386de27a659.zip"},
{"G513RS", "11733-9SABRD-3a4c8dee5ff96668dc9ff509d626e17e.zip"},
{"G513RW", "11737-VS9IFQ-b9c6657578263ac3ab1062b32ab599bb.zip"},
{"G513RX", "11736-CHOX6M-ca19a5d6e7153102c3825f8b3371b4d7.zip"},
{"G531GD", "3698-YSDO31-352980933199182c587573ecf056711b.zip"},
{"G531GT", "3697-OYLYLQ-4916a89afb3a6964cb2b0ddd8dc45fe1.zip"},
{"G531GU", "744-S7QQP3-8572157fa95e0eb235f29df0227d5064.zip"},
{"G532LU", "4146-NF3MBY-79c262fe416eb469fdff811d501233c9.zip"},
{"G532LV", "4147-F6P59K-328b1796ee854653a1470be865e06d0e.zip"},
{"G532LW", "4148-KUJ0SA-affcc286138b433b9b051dffc8158672.zip"},
{"G532LWS", "4149-RDJKG0-c5f4470225e184cdbc34b9b41c9e2666.zip"},
{"G533QM", "7880-VL41LZ-ea6868a4918e7a2571a169b0b20d53de.zip"},
{"G533QR", "7879-3915UU-cec5ce6e895bc9acf0367b1ae69d7d01.zip"},
{"G533QS", "7878-SLEHTN-4844d16bf258768105873010c17398ea.zip"},
{"G533ZC", "11725-BVSBSP-1f91feb49662e4f4257a27ea081db4ac.zip"},
{"G533ZE", "11730-DEG4Q9-3d77f3901752747e449fdaa5467a250b.zip"},
{"G533ZM", "11726-01FCGK-180459312539e4c38def3c7323a60494.zip"},
{"G533ZS", "11728-KGTOE8-4fe0474fc6e8944dbdcf726bad1a7db1.zip"},
{"G533ZW", "11727-98BKOJ-93e373e64e92c21ff018ba6c66a9de9d.zip"},
{"G533ZX", "11729-XNFMPR-e0aad4e4d4956dba8629f419b1f86026.zip"},
{"G614JF", "14496-NAATJZ-a3847e890e57aa749645b854b28ead79.zip"},
{"G614JI", "14168-4VTU0U-37decb2df809672eccf1156769eda929.zip"},
{"G614JIR", "18120-52TT5M-28a5c8e138ed1660e9eadc81121f789a.zip"},
{"G614JJ", "14497-P0D5PL-abe178509e0316da9ee56b24e15d0384.zip"},
{"G614JU", "14498-5D71EB-2300be03087494ee34356470ca022b7c.zip"},
{"G614JV", "14500-SPJCAL-a8e2e223857c334ba4c20c8122151bb7.zip"},
{"G614JVR", "18121-2WOF0H-4e7045c7a210693fef2b99b8e032316b.zip"},
{"G614JZ", "18199-P9WWOH-093d361358629a2bddd5bff7b5fb7a5f.zip"},
{"G634JY", "14163-JLRBOO-8ea519425efe56cc144e38d22cebd3f0.zip"},
{"G634JYR", "18087-6Z1W8Q-cd92004b6b9392e2cf07317db8ca9c6d.zip"},
{"G634JZ", "15827-MSW5I1-0f39e92313e54afe3e35f5636dc37fd5.zip"},
{"G634JZR", "17891-O7PAGL-5c6e6d059ff7bc1b9245fdf8a8066263.zip"},
{"G703GX", "105-NMT9XG-76a0810ddf16ee376fa049bd179377fc.zip"},
{"G712LU", "3364-3GYELH-a0f545d6a2f5ca2516e91f0495f98110.zip"},
{"G712LV", "3365-UYDEWV-6675727e4e0588b95d9faa2df69b1972.zip"},
{"G712LW", "3366-OK41IE-fc01da1e3d6217e6bce24f3237b5631e.zip"},
{"G712LWS", "3367-N1B9F6-72dd79495de9b660a8b120579c708623.zip"},
{"G713IC", "14187-GKTF5N-c602fb66b48f86aa2ab7b14367dba7b0.zip"},
{"G713IE", "11023-PVEVI5-bfa9a58633213b87629c5117030d54f2.zip"},
{"G713IH", "6317-I3AGUT-a0a1e3b68265d7bd3a2a1657afa0cfb6.zip"},
{"G713IM", "7890-IC1UIL-85b242f2f61aef5cd16166178b6a1adc.zip"},
{"G713IR", "7891-832AOR-104e408922a3f0c4e8d97d03dd000083.zip"},
{"G713PI", "14527-XK0JY1-ffe9b04acfd36ebcf3b1331577515b8c.zip"},
{"G713PU", "14528-AC10R7-ee30e2f76e16c16db44758ac911e9d61.zip"},
{"G713PV", "14530-3ONUVM-abf27eca2271dcdfd150acdf6cc26800.zip"},
{"G713PVN", "14529-YMPI29-b958f3ae6ad8118997c16c87d9840fb9.zip"},
{"G713QC", "5496-KAW7ZL-7a45d99d71ba375d79d047a015c27c2a.zip"},
{"G713QE", "5497-T7QUN2-f5c00e128ed96b9727dcdfb4d857dbb7.zip"},
{"G713QH", "6316-ANOUE8-9b18e7d3aeaeb5cc4520be09df860617.zip"},
{"G713QM", "7892-JCIYF7-acf05d6b34e417efed385e84dc079677.zip"},
{"G713QR", "7888-XIBCC9-d2e608529ce49f0daf90bf3d81cbd69e.zip"},
{"G713QY", "7889-FH9X9W-5c4d00f5506924fc9f29e1c190b1bf51.zip"},
{"G713RC", "14514-8R6TFS-eb95e08804622256fc5be85a1f14301c.zip"},
{"G713RE", "14515-LTB9LQ-a6a522a9d63083e0366d13f40af54ebf.zip"},
{"G713RH", "11305-VO5JTS-7cb1b763f054da29ce2ba1e08c897a60.zip"},
{"G713RM", "11309-GX2AYR-5b172b743c185242080b08dd7e2b7fc7.zip"},
{"G713RS", "11306-E1A3OM-37679d1dfc144d892325420d784f5d8e.zip"},
{"G713RW", "11308-IPZSAB-6c8827c63a27cee6257c755bf0bd9c41.zip"},
{"G713RX", "11307-JGFO1D-cff83a2f34e3c0ed755ed63c20d2905d.zip"},
{"G732LU", "3368-C89MVD-1ecb4a036b697bd4bd027d2bd160d219.zip"},
{"G732LV", "3369-TI19K6-56ca5eb37397117c97e0bae42e82b2b4.zip"},
{"G732LW", "3370-HLPSUS-9c7615d0220bde50de5ecd4c7e51182c.zip"},
{"G732LWS", "3371-B4CG89-c22a9f4deb49d6e1e921ebd5a0cab685.zip"},
{"G732LXS", "3372-OJEP07-c0e21f578660bec502aec19a3645b067.zip"},
{"G733CM", "11332-V8B7E9-2a7f61f88106051be62b57250ed33eaf.zip"},
{"G733CW", "11334-MQ3PJE-f03f2950247ac635dda1b30245d220aa.zip"},
{"G733CX", "11333-XS984I-d48bb5ee3416d47fa203090bc8bce04d.zip"},
{"G733PY", "14531-B4NFUU-4ec97a54081ea4b713975fd1ab7c1b80.zip"},
{"G733PYV", "15178-1CIVEB-5a9d09a4d22d6361992c7cd6ca27fb41.zip"},
{"G733PZ", "14532-4UUM5E-296ee92ca5416a8c59bffd6f101feaa5.zip"},
{"G733PZV", "15179-EDHNHX-ce69d260b1e8077d8d522d3b4326322c.zip"},
{"G733QM", "7893-OW1O2I-a2dcb8ff88cae20c7086bac8d9312dbc.zip"},
{"G733QR", "7887-OA7Z12-bc86110ff0d1f359d9230fca8bbabe51.zip"},
{"G733QS", "7886-V9PIMC-27ca6272c2b093264d88a32f1093a4fe.zip"},
{"G733QSA", "5501-LX7POZ-9289c2079bdb48e2fdd76d7981fb0e5d.zip"},
{"G733ZC", "10077-J3XTHP-525deb09f2ada7dc36dc82772f7a9cce.zip"},
{"G733ZE", "10079-KAW34P-16c4b5e812e10019f21b4d7f879acfaf.zip"},
{"G733ZM", "10078-K6B3CR-63dd00f6ecc3eb61e92439ef5caaea17.zip"},
{"G733ZS", "10081-VM2AN1-517b1e41388f12048ec3a88c780f1d65.zip"},
{"G733ZW", "10080-HY42QH-aa285046069cfe113953b91f1a28d101.zip"},
{"G733ZX", "10082-JS5F1Y-41bccc831aec7bf1c0a59a309bc607c7.zip"},
{"G814JI", "18243-BAU912-671afb033d3b1c44f9852ff608910f42.zip"},
{"G814JIR", "17315-02XE3O-7a00ed5b91bc305aade5a1830691d0d6.zip"},
{"G814JU", "18193-Y5GMF0-843cee9ed982a3d5aba21e99efbc396c.zip"},
{"G814JV", "18194-9Q537I-c5c2ca782d26dcd5346c110767347903.zip"},
{"G814JVR", "17313-P6P61Y-5960dc1d0bd8ba2057bc22aaa8bf89e5.zip"},
{"G814JZ", "18195-V98WBX-19d4c2e52916bf9c96fcaed6f1d9bdda.zip"},
{"G834JY", "15954-HAV3KR-d219c43750d485279e12cf76f5b2569b.zip"},
{"G834JYR", "17314-YYBQF3-a65b1bc3fd1e8de145dc9d606e8c45c8.zip"},
{"G834JZ", "15953-C7XC62-a987058c0a26fa3c929b300d099296a5.zip"},
{"G834JZR", "17316-AFT379-743360d9b36031d91a72fe03e3fafca0.zip"},
{"GA401IC", "5864-KC8TTP-082f9a62dda322ccaed82ff3e3466bf8.zip"},
{"GA401IE", "5866-JO8504-dde5402bdecafc1cef55a7dc3d6167ec.zip"},
{"GA401IHR", "5865-7DV6TB-9833a54c7334dc3aef1b9e99f56b9e95.zip"},
{"GA401QC", "5129-PY283Y-ac372208c57a7f558db6c169cd50d091.zip"},
{"GA401QE", "5130-C2G5CO-8ea0eb1ca537d77d19bad13dee55294c.zip"},
{"GA401QH", "5124-QQ97GA-bbde59c5235d8b72b78059b95e8a23a2.zip"},
{"GA401QM", "4922-222SBA-340a82b955a5f57ff39f6d2d08af365b.zip"},
{"GA402NF", "14160-ORONGT-ca84f0561683e1a07548d0cb7e42c275.zip"},
{"GA402NI", "14159-SDCMA5-300bd29af08b0f5d1527a375f8c326f2.zip"},
{"GA402NJ", "14158-O7H0GR-10db546f9901ac02d3ce8d5a28cb4772.zip"},
{"GA402NU", "14157-QJ4W59-69222faad499f94b4d96f7d85504930d.zip"},
{"GA402NV", "14156-ZKGYBE-ae1ac3947eb8684cabc0cd45f8d4c67e.zip"},
{"GA402NY", "14155-AL3KZU-17ac9e4b88c03ebaf983134f76f9a4b2.zip"},
{"GA402NZ", "14154-SY6J4X-7d8416a09b51e32f856f3353173ccc70.zip"},
{"GA402RI", "10145-9W1623-272e082c57c6e41074b2cace72adc92e.zip"},
{"GA402RJ", "10146-IY7ENY-f6d2d25b5b6b21616ceddc4e9aefa656.zip"},
{"GA402RK", "10151-7RPIER-2588aa83188168f8375ed9bab7bb67d2.zip"},
{"GA402RQ", "10147-9NQMQH-7ff3944c376e91b26c0a1c18122a4262.zip"},
{"GA402RU", "10149-3F10IX-43c96d30b6702261c3cf85467857eec9.zip"},
{"GA402RW", "10150-5H5ISD-1badfa856f0ec8d15d9d5832a8d54fc9.zip"},
{"GA402RX", "10148-QFCU8O-704d371255ae8a72737f5f8eca75eb9d.zip"},
{"GA402XI", "14899-86ZX57-5940ed56b182781334ca2856f6ba0b9e.zip"},
{"GA402XJ", "14901-MDIR3C-5022331539bb187bf041a7e3ab0a46bf.zip"},
{"GA402XU", "14900-KYCOC7-361bb364d26ff834d6bd716d14f70006.zip"},
{"GA402XV", "14902-EL34M9-731ba1cc0d27d2db9a79d872673e7958.zip"},
{"GA402XY", "14903-ICC56W-0456739d8ba5ee543dfba99eb6ad217a.zip"},
{"GA402XZ", "14904-B3K2NR-928b7272790e7da0079c549cd4885d5d.zip"},
{"GA403UI", "18084-XTMSW5-6cad333378f3b1059688a419a8422fc1.zip"},
{"GA403UU", "18086-WXV037-ad90bc3f20ff056c45dbbb848fa72a67.zip"},
{"GA403UV", "18085-G56QVI-3f24b5bd1eaa8dd9086b86092cb62ffb.zip"},
{"GA502II", "3554-REAPZQ-5f94c7ecd52ae2cad50aaac4341bec7b.zip"},
{"GA502IU", "3555-15UWZ4-d1cd040265773efd61bdfd146140a990.zip"},
{"GA502IV", "3556-ULLH3K-1f56134e43e1ffa353256fbeb9840d3f.zip"},
{"GA503IC", "7457-RENJRP-5b833a2bd8e1e13ec41f0acf7ef04fd0.zip"},
{"GA503IE", "7465-QO1Q0F-663f0c9501e649bcb0069413f3081a49.zip"},
{"GA503IH", "7458-D6CHF3-4c6b83cb3efc11713fddd9c41cfd127c.zip"},
{"GA503IM", "7741-F8GHPK-63e17aca55a11e838b1079eb0c6bea16.zip"},
{"GA503QC", "7459-308BEA-bcf2604511112df5fa810faa9cdece89.zip"},
{"GA503QE", "7464-4T2J1D-3920997d2f44d3b40dffd6ba9f028075.zip"},
{"GA503QM", "7739-BSD39S-f9858fd4a68ff8ef60b8abf2cda92dd7.zip"},
{"GA503QN", "7740-QT19P2-33054dbe06ae3baa435a44ce529eddb5.zip"},
{"GA503QR", "7738-QVCIRY-4e612ff997f11448c77068e39ee0681e.zip"},
{"GA503QS", "7737-B5L4LD-4400a4ddc94eebefb0678fb281b63fa0.zip"},
{"GA503RJ", "10630-MSC4Q2-f16f1ef2847069e50aad62083836b220.zip"},
{"GA503RK", "10631-VXWRAN-b2a1aa499bf33f1f9bd3d80e31dd9d69.zip"},
{"GA503RM", "12054-38JGOX-35e7b1afb150daea1eab90ae97f0da7b.zip"},
{"GA503RR", "10632-IOY3C0-bf16d1028f572ede9dd8e1a2fd632ae5.zip"},
{"GA503RS", "11745-689QTC-6c441a7161a34b871918fce5997c4e2e.zip"},
{"GA503RW", "12055-SG6VTH-91cc5782da63cf3dcc16804a47db25a2.zip"},
{"GA503RX", "12056-MR9J0D-b7dad63f751d2e53aeee479524986bdd.zip"},
{"GL_Series", "2167-P7ELNB-44d357ee720a0c48c2eb37eee785316c.zip"},
{"GL503GE", "57-YI7HPS-9ed36ba45ff6398f3648a44ced4e5e61.zip"},
{"GL504GM", "58-JOZ3S5-998677afd41375cb8fd60ace8d11a788.zip"},
{"GL504GS", "59-KS4SJK-b1c9807c7d7dc847fa895516b3b9a8cb.zip"},
{"GL504GV", "167-OX51EF-b8b5c713bff267d315e0255370956e75.zip"},
{"GL504GW", "168-NMGNB6-1f6d79b87d077c235c57d4505ce802e7.zip"},
{"GL703GE", "60-M0UOZ3-1474ef8209bf010de4c6e6ae94ce351d.zip"},
{"GL703GM", "61-WJGLV3-b8005e077aa4825799459412849e346c.zip"},
{"GL703GS", "62-HU12J1-a88023229e3a2dbc5fc1aca1b07e4d76.zip"},
{"GL704GV", "106-3IHGVF-5d15db39c04a44e3503d3536d4f0c132.zip"},
{"GL704GW", "107-NZ7VZL-cae8497c2eb8479f4808d2b61e7c8e70.zip"},
{"GM_Series", "2169-K05CUW-841a5508c96649de28d613e32dfb7fcf.zip"},
{"GM501GM", "63-3CL0UZ-eee6728dd2517d6e3af581f1caef0114.zip"},
{"GM501GS", "64-GH66XC-5e69efa00bbe486efd897414ed329545.zip"},
{"GU_Series", "2170-FYLCER-f45e5d5e38121b7bfe275b780e739a8e.zip"},
{"GU501GM", "65-LSRZXK-658dc6e1c89a7787201ec7c74eebf2d5.zip"},
{"GU502DU", "4004-T40IY1-74f962c9d9d27544c964bdb347074472.zip"},
{"GU603HE", "11674-VGXXML-41035c5f9dbf4e0b64a74eb3f89d95e4.zip"},
{"GU603HM", "11676-GO5KVF-581b4f49e0e12d9d6654ab2c1db9ab11.zip"},
{"GU603HR", "11675-AZPXHF-48a9979ce428acfcc57c4e295f8a9840.zip"},
{"GU603VI", "14579-CUHZFU-ea9e6cf216e1359b0f3e300e137720f7.zip"},
{"GU603VJ", "14580-18G1FP-4456270d80c37a0597b3bfc559222f64.zip"},
{"GU603VQ", "14581-8YY8TX-e7aa10a20a41245500f40841b2298a42.zip"},
{"GU603VU", "14582-9I3GQS-564dd1ba9ee37dc03bef022bd2e29049.zip"},
{"GU603VV", "14583-XH4I69-879293a1a305dc952afb15b481722e09.zip"},
{"GU603ZE", "9817-3EENL9-3187794df7ec8ddef2fe04d0787eff63.zip"},
{"GU603ZEB", "9818-KOP3C1-11ab717fddedafb9066b362d8da5af85.zip"},
{"GU603ZI", "14431-H4XZCU-1c907d4e22bbd5000a6c81cfc2e1dae4.zip"},
{"GU603ZJ", "14432-Y5HC6R-b50edb7a5ad9469b89c35e5cd9fc114f.zip"},
{"GU603ZM", "9819-718DH0-30bf094253e5178aba765436bb8b150f.zip"},
{"GU603ZQ", "14434-3KPJU7-211e518352b0660babc4816fa5dd80bd.zip"},
{"GU603ZR", "9820-LIQ8FP-6a60aee97d7028e7ea63bd2ab6c2b099.zip"},
{"GU603ZU", "14435-2ZW8FL-65ab99a80fe08d8d088d8fdc998076f4.zip"},
{"GU603ZV", "14433-FEY59U-cd0508e779a6b3874a61668f39ff78e0.zip"},
{"GU603ZW", "9822-3R2PGP-f2d24c6931e733a5e0e41dc8560b80cc.zip"},
{"GU603ZX", "9821-AQYG62-f42f167ec7b4f4fe003f05b1c1c61d58.zip"},
{"GU604VI", "14284-R38BM3-e2591bfa2582ce68b2c8aba63beac5e3.zip"},
{"GU604VY", "14282-78N7V4-25e76896744c53317fa41a80788a2241.zip"},
{"GU604VZ", "14283-U4JX5C-f31dff75d52f48ceca0102fd1bc76e31.zip"},
{"GU605MI", "17935-R3OAJH-55a4fbb2be67a37226accd279357268b.zip"},
{"GU605MU", "17936-VBZ5PL-ad3a380f62bc87ee738c09c8e5255f91.zip"},
{"GU605MV", "17938-7DGM0T-caed792b162e94846167888f36fc632e.zip"},
{"GU605MY", "17937-HZWNQ4-72d9c4fed1b31f188874cd6461ffba83.zip"},
{"GU605MZ", "17939-IEJ2X5-fe077100dc4eafbae46d7eb831a791a8.zip"},
{"GV301QC", "5128-RN42GR-9a6049e7adabd1ff2aeed24293fe03a8.zip"},
{"GV301QCZ", "6778-152PHS-7a9ad124aef1059471542dfc8912ed7b.zip"},
{"GV301QE", "5125-PD15GR-9a7f72cbf5bd97d283464d8e407f0231.zip"},
{"GV301QEZ", "6780-N3Y08B-222db095847d99663a575be36fbcf410.zip"},
{"GV301QH", "5077-0BEYRT-ff8e30857ab4af017381f5703b39abed.zip"},
{"GV301QHZ", "6779-9XZE32-329974b938dff4baf3097e3d745839eb.zip"},
{"GV301RA", "10272-1B7YAA-45e3697377ff2e7dd68c57f5919eecd2.zip"},
{"GV301RC", "10273-UJ0Q76-53bdfe00929ccf3f594f813ba235438b.zip"},
{"GV301RE", "10274-1J3P7N-42dabc435e4daa40d4be2fa482624321.zip"},
{"GV302NA", "14663-N4C4U4-1654950fbc1fad0e37a016c4a1e8a934.zip"},
{"GV302NF", "14668-GMKBGC-1bd7957eb1a688f8eb0e6fb85395b839.zip"},
{"GV302NI", "14664-ZQXAM8-1dec6b07c9589698c8cccdbc3a3211a6.zip"},
{"GV302NJ", "14667-OFKJGT-60db594b4af90c481212ee31ffa96d38.zip"},
{"GV302NU", "14666-6M0N3K-3d08325f6c4b3fcacf53a2f863a0e6c5.zip"},
{"GV302NV", "14665-DWLIIQ-9b3b8b0aaca3a071f82cbb30fbbe2fd1.zip"},
{"GV302XA", "14934-AU5P0J-1873c4e95dadcf72b1fad550108a0eb5.zip"},
{"GV302XF", "14935-D5PHI6-aa9715b2328c499c8cd72b4958ba6641.zip"},
{"GV302XI", "14936-CHYX8S-f5fe72833a34f1f002dae6789f2760fe.zip"},
{"GV302XJ", "14937-LMH57E-651161fb27c3ef9904e15fc42e5d8352.zip"},
{"GV302XU", "14938-4DXJJV-82feb9f0156bb914ccbde2de6d59ad14.zip"},
{"GV302XV", "14939-KLW56G-32ffda0b7ee35bbe4ca5789da7210cc9.zip"},
{"GV601RA", "11078-109U4J-33e9d7342819b8a7a534632df659e509.zip"},
{"GV601RE", "11079-U5MUWC-8c22738f13a798376733fead5f091a4b.zip"},
{"GV601RM", "11082-XN5PLH-5c405808680f6bfc36c5069bcd5dc366.zip"},
{"GV601RW", "11081-FK9JFY-b82e25b8f9bcd2ad1d3ae23c7cb327d0.zip"},
{"GV601RX", "11080-45B7E2-b64fdbf32877dc996b4efe274ff51f41.zip"},
{"GV601VI", "14446-JS3QXL-72327a76c47c2ffdeaad392197a4b2ce.zip"},
{"GV601VJ", "14448-TIX8CU-ed84b2ee1d92d2f38a891ed1c684eddf.zip"},
{"GV601VQ", "14447-7C8UIX-13cc4d4632406ca5976358a4080f26af.zip"},
{"GV601VU", "14450-0SP39K-8071216d3c679d013fffe57eca9f790c.zip"},
{"GV601VV", "14449-QZS5FH-6a7771cbbf9bcc641a5418f250ef3b43.zip"},
{"GX_Series", "2171-LHV7R6-bf1d918fd26714f10c3f3de990e30a1b.zip"},
{"GX501GI", "66-U9BQN2-9a12abd42e07169ec6ebf4d4a6d2c148.zip"},
{"GX502LWS", "3552-YRITSK-6f08012703e7718be25477f20ccd4d7e.zip"},
{"GX502LXS", "3553-3ACO9T-20757861512ff920da316c949249b62d.zip"},
{"GX531GM", "67-ER25S2-71ec74e4e8d14fc9c6cc8608d1616e5f.zip"},
{"GX531GS", "68-V9PHXL-3cabb33363337795287458e3b10114f8.zip"},
{"GX531GV", "108-VCV90K-00cec46bd49df326109c060367eaa57c.zip"},
{"GX531GW", "109-0GH5PV-ce1ff55527d5da0b547df776af887276.zip"},
{"GX531GX", "110-A0TZ36-4cf1c1cdeee6e0e27567e317444c62cb.zip"},
{"GX550LWS", "3671-DEEX56-d93255f509e16f740c71e8c358e8ff36.zip"},
{"GX550LXS", "3672-O3V2FT-6572c1aa661e3f406ce6e840075d81ab.zip"},
{"GX551QM", "8108-47QAG6-7d57f542a91fca797f6bad910af5b864.zip"},
{"GX551QR", "8109-ADSI6K-87224022e84f6a6c0ed2820cc4642a66.zip"},
{"GX551QS", "8110-NLPALF-6ec9938f67229be071cdb8c436303734.zip"},
{"GX650PI", "14591-ODJA1G-23aaf98034a279ae87f93f67db9b3b95.zip"},
{"GX650PU", "14592-A6IJIM-e847943987f3cf4f1d0278fe1d5ee984.zip"},
{"GX650PV", "14595-XKP10A-e14bb5df924255dc965bb975e1d64434.zip"},
{"GX650PY", "14593-KC9ZMM-6e519dbcdd0139ed1d8e7649e407d8a8.zip"},
{"GX650PZ", "14594-AETGOJ-4ba96caa5ae0ee68d8b457e0fbc03a17.zip"},
{"GX650RM", "11320-E8SQ6M-5673cb197e000111c0d406b1156d44af.zip"},
{"GX650RS", "11321-UEO888-cbff96301261591d9130980fcc5950e5.zip"},
{"GX650RW", "11322-YIN6KH-2a804a1dd4da59662e6746f83d636452.zip"},
{"GX650RX", "11323-64AK0P-9929933ff3fda3dcabfef096d7242a7c.zip"},
{"GX701GV", "166-EI8VY0-1568b74c5bbf22297720b548ce6bcefa.zip"},
{"GX701GW", "165-C6KON3-9b95db9f024e457420793b4915749fbd.zip"},
{"GX701GX", "164-I4CRXM-b5e8ddc68c884eda5cf4676dd2683624.zip"},
{"GX701LV", "3309-DPFMBZ-ffda0b00117a5f1c69a091158b631bbe.zip"},
{"GX701LWS", "3308-PQVG48-ad364af358f946382f840c969c73d49b.zip"},
{"GX701LXS", "3307-AY5DMD-681ac8295b6f98fda4c66b891f19be4d.zip"},
{"GX703HM", "7962-KBDQY2-ff82594ee47f5c1058bc2115b6a74841.zip"},
{"GX703HMD", "7963-A3TM3L-5f39a856e3f694e9db1ed5a5410baa39.zip"},
{"GX703HR", "7967-5LQ4FV-7b6af6e1dc3a6c0786bec0ec084ee5c2.zip"},
{"GX703HRD", "7964-TFYJ6L-4bec23647da2f9bc8403d060635dbdda.zip"},
{"GX703HS", "7965-3HSRRO-c1869c30564e2db44a97c1e8953093b9.zip"},
{"GX703HSD", "7966-9CCDGL-96f0c0f9e1e50ee66894e7b168e59cc3.zip"},
{"GZ_Series", "2172-Z8OHBD-393c5060aaa27883e2fcbebc7e53997e.zip"},
{"GZ301VF", "13604-50UADT-4df87ac6eab6ac261647875d727db9d4.zip"},
{"GZ301VFC", "13787-WB73LI-b148b7cf3c90bc90fca4938bfc6fbbe5.zip"},
{"GZ301VI", "13601-DPC6YI-17ac748ec814ec3152ad973f3a0cff4b.zip"},
{"GZ301VIC", "13790-Z6V8RW-7a4f735f65c545158c7ba715694aa3c7.zip"},
{"GZ301VJ", "13600-UNQHZ7-e7d0cbf757eeed28dba9295b517ef835.zip"},
{"GZ301VJC", "13788-QVWJWQ-a13027f81094f94eea1d86152fe69ba9.zip"},
{"GZ301VQ", "13789-K6I7SO-4a8594363610c383e39940ff135c0d7e.zip"},
{"GZ301VQC", "13791-DBRKCU-a10ec3e290c5dc93bbb45f52c714a9b8.zip"},
{"GZ301VU", "13602-6JQ2BK-4353d6c0b83589477ff4570b49258217.zip"},
{"GZ301VUC", "13792-009F1L-4ee6b0014eca72c7d0217219ebe9e365.zip"},
{"GZ301VV", "13603-OOLT27-8788c068fdad2a64da9925a5411b30af.zip"},
{"GZ301VVC", "13793-8DIIWY-72aca4ea0f1db6c991b3e24da5a7907c.zip"},
{"GZ301ZA", "10139-YXT5A7-521746c1b4991657abc37999a318219e.zip"},
{"GZ301ZC", "10140-QA59M0-be0cf751aba85c98832f4a0f16456330.zip"},
{"GZ301ZE", "10141-P1OXLB-318b5c3601e0d5c55d3b4307eba08ab2.zip"},
{"GZ301ZH", "10142-ELMX6M-f9c50110ca0a763bf4b6d1e9dd9e3afa.zip"},
{"NR2301L", "14736-3DM4T5-41c1b0b5c2d726da7c66e0c39ea08017.zip"},
{"RC71L", "17126-IIDPFS-718c077a118724bb0045b35e30d5ac4e.zip"},
{"RC71X", "15182-KWVC62-c754d9ea39f9160df7e21e4538ce60df.zip"},
};
if (profiles.ContainsKey(model))
{
return baseUrl + profiles[model];
}
else
{
return null;
}
}
public static bool ProfileExists()
{
(string bios, string model) = AppConfig.GetBiosAndModel();
return (GetProfileUrl(model) is not null);
}
public static async Task InstallProfile()
{
ProcessHelper.RunAsAdmin();
(string bios, string model) = AppConfig.GetBiosAndModel();
string? profileUrl = GetProfileUrl(model);
if (profileUrl == null)
{
Logger.WriteLine($"No ICC Profile found for {model}");
return;
}
await DownloadAndExtractZip(profileUrl, VisualControl.GetGameVisualPath());
}
static async Task DownloadAndExtractZip(string zipUrl, string extractPath)
{
using (HttpClient client = new HttpClient())
{
try
{
Logger.WriteLine($"Getting: {zipUrl}");
byte[] zipData = await client.GetByteArrayAsync(zipUrl);
Directory.CreateDirectory(extractPath);
string tempZipPath = Path.Combine(extractPath, "temp.zip");
await File.WriteAllBytesAsync(tempZipPath, zipData);
ZipFile.ExtractToDirectory(tempZipPath, extractPath, true);
File.Delete(tempZipPath);
}
catch (Exception ex)
{
Logger.WriteLine($"Error: {ex.Message}");
}
}
}
}
}

View File

@@ -1,5 +1,4 @@
using GHelper.Helpers;
using System.Management;
using System.Runtime.InteropServices;
namespace GHelper.Display
{
@@ -8,6 +7,7 @@ namespace GHelper.Display
public const int MAX_REFRESH = 1000;
public static DisplayGammaRamp? gammaRamp;
public void AutoScreen(bool force = false)
{
@@ -24,6 +24,69 @@ namespace GHelper.Display
}
}
public void SaveGamma()
{
var screenName = ScreenNative.FindLaptopScreen();
if (screenName is null) return;
try
{
var handle = ScreenNative.CreateDC(screenName, screenName, null, IntPtr.Zero);
var gammaRamp = new GammaRamp();
if (ScreenNative.GetDeviceGammaRamp(handle, ref gammaRamp))
{
var gamma = new DisplayGammaRamp(gammaRamp);
Logger.WriteLine("Gamma R: " + string.Join("-", gamma.Red));
Logger.WriteLine("Gamma G: " + string.Join("-", gamma.Green));
Logger.WriteLine("Gamma B: " + string.Join("-", gamma.Blue));
}
}
catch (Exception ex)
{
Logger.WriteLine(ex.ToString());
}
}
public void SetGamma(int brightness = 100)
{
var bright = Math.Round((float)brightness / 200 + 0.5, 2);
var screenName = ScreenNative.FindLaptopScreen();
if (screenName is null) return;
try
{
var handle = ScreenNative.CreateDC(screenName, screenName, null, IntPtr.Zero);
if (gammaRamp is null)
{
var gammaDump = new GammaRamp();
if (ScreenNative.GetDeviceGammaRamp(handle, ref gammaDump))
{
gammaRamp = new DisplayGammaRamp(gammaDump);
Logger.WriteLine("Gamma R: " + string.Join("-", gammaRamp.Red));
Logger.WriteLine("Gamma G: " + string.Join("-", gammaRamp.Green));
Logger.WriteLine("Gamma B: " + string.Join("-", gammaRamp.Blue));
}
}
if (gammaRamp is null || !gammaRamp.IsOriginal())
{
Logger.WriteLine("Default Gamma");
gammaRamp = new DisplayGammaRamp();
}
var ramp = gammaRamp.AsBrightnessRamp(bright);
bool result = ScreenNative.SetDeviceGammaRamp(handle, ref ramp);
Logger.WriteLine("Brightness " + bright.ToString() + ": " + result);
} catch (Exception ex)
{
Logger.WriteLine(ex.ToString());
}
//ScreenBrightness.Set(60 + (int)(40 * bright));
}
public void SetScreen(int frequency = -1, int overdrive = -1, int miniled = -1)
{
@@ -45,8 +108,8 @@ namespace GHelper.Display
if (overdrive >= 0)
{
if (AppConfig.IsNoOverdrive()) overdrive = 0;
if (!AppConfig.IsOLED()) Program.acpi.DeviceSet(AsusACPI.ScreenOverdrive, overdrive, "ScreenOverdrive");
if (AppConfig.Get("no_overdrive") == 1) overdrive = 0;
Program.acpi.DeviceSet(AsusACPI.ScreenOverdrive, overdrive, "ScreenOverdrive");
}
@@ -98,9 +161,9 @@ namespace GHelper.Display
int maxFrequency = ScreenNative.GetMaxRefreshRate(laptopScreen);
bool screenAuto = AppConfig.Is("screen_auto");
bool overdriveSetting = !AppConfig.IsNoOverdrive();
bool overdriveSetting = !AppConfig.Is("no_overdrive");
int overdrive = AppConfig.IsNoOverdrive() ? 0 : Program.acpi.DeviceGet(AsusACPI.ScreenOverdrive);
int overdrive = Program.acpi.DeviceGet(AsusACPI.ScreenOverdrive);
int miniled1 = Program.acpi.DeviceGet(AsusACPI.ScreenMiniled1);
int miniled2 = Program.acpi.DeviceGet(AsusACPI.ScreenMiniled2);

View File

@@ -1,266 +0,0 @@
using GHelper.Helpers;
using System.Management;
namespace GHelper.Display
{
public enum SplendidGamut : int
{
Native = 50,
sRGB = 51,
DCIP3 = 53,
DisplayP3 = 54
}
public enum SplendidCommand : int
{
None = -1,
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 VisualControl
{
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(200);
public const int DefaultColorTemp = 50;
static VisualControl()
{
brightnessTimer.Elapsed += BrightnessTimerTimer_Elapsed;
}
public static string GetGameVisualPath()
{
return Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + "\\ASUS\\GameVisual";
}
public static Dictionary<SplendidGamut, string> GetGamutModes()
{
Dictionary<SplendidGamut, string> _modes = new Dictionary<SplendidGamut, string>();
string gameVisualPath = GetGameVisualPath();
if (!Directory.Exists(gameVisualPath))
{
Logger.WriteLine(gameVisualPath + " doesn't exit");
return _modes;
}
try
{
DirectoryInfo d = new DirectoryInfo(GetGameVisualPath());
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;
}
catch
{
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 Dictionary<int, string> GetTemperatures()
{
return new Dictionary<int, string>
{
{ 0, "Warmest"},
{ 15, "Warmer"},
{ 30, "Warm"},
{ 50, "Neutral"},
{ 70, "Cold"},
{ 85, "Colder"},
{ 100, "Coldest"},
};
}
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 = DefaultColorTemp, bool init = false)
{
if (mode == SplendidCommand.None) return;
if (mode == SplendidCommand.Default && init) return; // Skip default setting on init
if (whiteBalance != DefaultColorTemp && !init) ProcessHelper.RunAsAdmin();
int balance = mode == SplendidCommand.Eyecare ? 2 : whiteBalance;
if (RunSplendid(mode, 0, balance)) return;
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(GetGameVisualPath());
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 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));
}
}
}

View File

@@ -210,11 +210,6 @@ namespace GHelper
checkUSBC.Visible = false;
}
if (AppConfig.IsOLED())
{
checkNoOverdrive.Visible = false;
}
// Change text and hide irrelevant options on the ROG Ally,
// which is a bit of a special case piece of hardware.
if (AppConfig.IsAlly())
@@ -362,7 +357,7 @@ namespace GHelper
checkTopmost.Checked = AppConfig.Is("topmost");
checkTopmost.CheckedChanged += CheckTopmost_CheckedChanged; ;
checkNoOverdrive.Checked = AppConfig.IsNoOverdrive();
checkNoOverdrive.Checked = AppConfig.Is("no_overdrive");
checkNoOverdrive.CheckedChanged += CheckNoOverdrive_CheckedChanged;
checkUSBC.Checked = AppConfig.Is("optimized_usbc");

View File

@@ -9,7 +9,7 @@ namespace GHelper.Fan
public const int XGM_FAN_MAX = 72;
public const int INADEQUATE_MAX = 104;
public const int INADEQUATE_MAX = 92;
const int FAN_COUNT = 3;
@@ -67,8 +67,6 @@ namespace GHelper.Fan
if (AppConfig.ContainsModel("GV601")) return new int[3] { 78, 59, 85 };
if (AppConfig.ContainsModel("GA403")) return new int[3] { 68, 68, 80 };
return new int[3] { DEFAULT_FAN_MAX, DEFAULT_FAN_MAX, DEFAULT_FAN_MAX };
}

View File

@@ -32,7 +32,6 @@ namespace GHelper
FanSensorControl fanSensorControl;
static int gpuPowerBase = 0;
static bool isGPUPower => gpuPowerBase > 0;
public Fans()
{
@@ -49,7 +48,7 @@ namespace GHelper
labelPowerLimits.Text = Properties.Strings.PowerLimits;
checkApplyPower.Text = Properties.Strings.ApplyPowerLimits;
labelFans.Text = "BIOS " + Properties.Strings.FanCurves;
labelFans.Text = Properties.Strings.FanCurves;
labelBoost.Text = Properties.Strings.CPUBoost;
buttonReset.Text = Properties.Strings.FactoryDefaults;
checkApplyFans.Text = Properties.Strings.ApplyFanCurve;
@@ -524,39 +523,6 @@ namespace GHelper
modeControl.SetGPUClocks(true);
}
private void InitGPUPower()
{
gpuPowerBase = Program.acpi.DeviceGet(AsusACPI.GPU_BASE);
Logger.WriteLine($"ReadGPUPowerBase: {gpuPowerBase}");
panelGPUPower.Visible = isGPUPower;
if (!isGPUPower) return;
int maxGPUPower = NvidiaSmi.GetMaxGPUPower();
if (maxGPUPower > 0)
{
AsusACPI.MaxGPUPower = maxGPUPower - gpuPowerBase - AsusACPI.MaxGPUBoost;
trackGPUPower.Minimum = AsusACPI.MinGPUPower;
trackGPUPower.Maximum = AsusACPI.MaxGPUPower;
}
Task.Run(async () =>
{
await Task.Delay(TimeSpan.FromMilliseconds(200));
int gpuPowerVar = Program.acpi.DeviceGet(AsusACPI.GPU_POWER);
Logger.WriteLine($"ReadGPUPower ({Modes.GetCurrentBase()}): {gpuPowerVar}");
int gpu_power = AppConfig.GetMode("gpu_power");
if (gpu_power < 0) gpu_power = (gpuPowerVar >= 0) ? gpuPowerVar : AsusACPI.MaxGPUPower;
Invoke(delegate
{
trackGPUPower.Value = Math.Max(Math.Min(gpu_power, AsusACPI.MaxGPUPower), AsusACPI.MinGPUPower);
VisualiseGPUSettings();
});
});
}
public void InitGPU()
{
@@ -582,8 +548,12 @@ namespace GHelper
{
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_temp = AppConfig.GetMode("gpu_temp");
int gpu_power = AppConfig.GetMode("gpu_power");
int core = AppConfig.GetMode("gpu_core");
int memory = AppConfig.GetMode("gpu_memory");
@@ -591,6 +561,7 @@ namespace GHelper
if (gpu_boost < 0) gpu_boost = AsusACPI.MaxGPUBoost;
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 (memory == -1) memory = 0;
@@ -627,13 +598,14 @@ namespace GHelper
trackGPUBoost.Value = Math.Max(Math.Min(gpu_boost, AsusACPI.MaxGPUBoost), AsusACPI.MinGPUBoost);
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);
panelGPUTemp.Visible = (Program.acpi.DeviceGet(AsusACPI.PPT_GPUC2) >= 0);
VisualiseGPUSettings();
panelGPUPower.Visible = gpuPowerBase > 0 && gpuPowerVar >= 0;
InitGPUPower();
VisualiseGPUSettings();
}
catch (Exception ex)
@@ -689,8 +661,7 @@ namespace GHelper
{
AppConfig.SetMode("gpu_boost", trackGPUBoost.Value);
AppConfig.SetMode("gpu_temp", trackGPUTemp.Value);
if (isGPUPower) AppConfig.SetMode("gpu_power", trackGPUPower.Value);
AppConfig.SetMode("gpu_power", trackGPUPower.Value);
VisualiseGPUSettings();
}
@@ -791,10 +762,7 @@ namespace GHelper
private void TrackPower_MouseUp(object? sender, MouseEventArgs e)
{
Task.Run(() =>
{
modeControl.AutoPower(true);
});
modeControl.AutoPower();
}
@@ -1037,7 +1005,7 @@ namespace GHelper
try
{
if (chartCount > 2)
Size = MinimumSize = new Size(Size.Width, Math.Max(MinimumSize.Height, (int)(ControlHelper.GetDpiScale(this).Value * (chartCount * 200 + 100))));
Size = MinimumSize = new Size(Size.Width, (int)(ControlHelper.GetDpiScale(this).Value * (chartCount * 200 + 100)));
}
catch (Exception ex)
{
@@ -1108,6 +1076,7 @@ namespace GHelper
}
private void ButtonReset_Click(object? sender, EventArgs e)
{
@@ -1142,23 +1111,25 @@ namespace GHelper
if (gpuVisible)
{
int gpuPowerVar = Program.acpi.DeviceGet(AsusACPI.GPU_POWER);
trackGPUClockLimit.Value = NvidiaGpuControl.MaxClockLimit;
trackGPUCore.Value = 0;
trackGPUMemory.Value = 0;
trackGPUBoost.Value = AsusACPI.MaxGPUBoost;
trackGPUTemp.Value = AsusACPI.MaxGPUTemp;
trackGPUPower.Value = (gpuPowerVar >= 0) ? gpuPowerVar : AsusACPI.MaxGPUPower;
AppConfig.SetMode("gpu_boost", trackGPUBoost.Value);
AppConfig.SetMode("gpu_temp", trackGPUTemp.Value);
AppConfig.RemoveMode("gpu_power");
AppConfig.RemoveMode("gpu_clock_limit");
AppConfig.RemoveMode("gpu_core");
AppConfig.RemoveMode("gpu_memory");
InitGPUPower();
VisualiseGPUSettings();
modeControl.SetGPUClocks(true);
modeControl.SetGPUPower();

View File

@@ -15,7 +15,7 @@
<PlatformTarget>AnyCPU</PlatformTarget>
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
<AssemblyVersion>0.159</AssemblyVersion>
<AssemblyVersion>0.156</AssemblyVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -30,20 +30,6 @@ public static class NvidiaSmi
return false; // Return false if the "Display Active" status is not found
}
public static int GetMaxGPUPower()
{
string output = RunNvidiaSmiCommand("--query-gpu=power.max_limit --format csv,noheader,nounits");
output = output.Trim().Trim('\n', '\r');
if (float.TryParse(output, out float floatValue))
{
int intValue = (int)floatValue;
return intValue;
}
return -1;
}
private static string RunNvidiaSmiCommand(string arguments = "-i 0 -q")
{
ProcessStartInfo startInfo = new ProcessStartInfo

View File

@@ -122,7 +122,7 @@ namespace GHelper.Helpers
}
}
public static string RunCMD(string name, string args)
public static void RunCMD(string name, string args)
{
var cmd = new Process();
cmd.StartInfo.UseShellExecute = false;
@@ -133,13 +133,13 @@ namespace GHelper.Helpers
cmd.StartInfo.Arguments = args;
cmd.Start();
Logger.WriteLine(name + " " + args);
Logger.WriteLine(args);
string result = cmd.StandardOutput.ReadToEnd().Replace(Environment.NewLine, " ").Trim(' ');
Logger.WriteLine(result);
cmd.WaitForExit();
return result;
}

View File

@@ -85,7 +85,7 @@ namespace GHelper.Input
InitBacklightTimer();
if (AppConfig.IsVivoZenbook()) Program.acpi.DeviceSet(AsusACPI.FnLock, AppConfig.Is("fn_lock") ? 1 : 0, "FnLock");
if (AppConfig.ContainsModel("VivoBook")) Program.acpi.DeviceSet(AsusACPI.FnLock, AppConfig.Is("fn_lock") ? 1 : 0, "FnLock");
}
@@ -151,7 +151,7 @@ namespace GHelper.Input
// FN-Lock group
if (AppConfig.Is("fn_lock") && !AppConfig.IsVivoZenbook())
if (AppConfig.Is("fn_lock") && !AppConfig.ContainsModel("VivoBook"))
for (Keys i = Keys.F1; i <= Keys.F11; i++) hook.RegisterHotKey(ModifierKeys.None, i);
// Arrow-lock group
@@ -244,13 +244,6 @@ namespace GHelper.Input
}
static void SetBrightnessDimming(int delta)
{
int brightness = VisualControl.SetBrightness(delta: delta);
if (brightness >= 0)
Program.toast.RunToast(brightness + "%", (delta < 0) ? ToastIcon.BrightnessDown : ToastIcon.BrightnessUp);
}
public void KeyPressed(object sender, KeyPressedEventArgs e)
{
@@ -507,7 +500,7 @@ namespace GHelper.Input
case "micmute":
bool muteStatus = Audio.ToggleMute();
Program.toast.RunToast(muteStatus ? "Muted" : "Unmuted", muteStatus ? ToastIcon.MicrophoneMute : ToastIcon.Microphone);
if (AppConfig.IsVivoZenbook()) Program.acpi.DeviceSet(AsusACPI.MicMuteLed, muteStatus ? 1 : 0, "MicmuteLed");
if (AppConfig.IsVivobook()) Program.acpi.DeviceSet(AsusACPI.MicMuteLed, muteStatus ? 1 : 0, "MicmuteLed");
break;
case "brightness_up":
SetBrightness(+10);
@@ -575,7 +568,7 @@ namespace GHelper.Input
int fnLock = AppConfig.Is("fn_lock") ? 0 : 1;
AppConfig.Set("fn_lock", fnLock);
if (AppConfig.IsVivoZenbook())
if (AppConfig.ContainsModel("VivoBook"))
Program.acpi.DeviceSet(AsusACPI.FnLock, fnLock == 1 ? 1 : 0, "FnLock");
else
Program.settingsForm.BeginInvoke(Program.inputDispatcher.RegisterKeys);
@@ -683,8 +676,7 @@ namespace GHelper.Input
return;
case 51: // Fn+F6 on old TUFs
case 53: // Fn+F6 on GA-502DU model
SleepEvent();
//NativeMethods.TurnOffScreen();
NativeMethods.TurnOffScreen();
return;
}
}
@@ -705,14 +697,8 @@ namespace GHelper.Input
if (AppConfig.IsDUO()) SetScreenpad(-10);
else Program.settingsForm.BeginInvoke(Program.settingsForm.CycleMatrix, -1);
}
else if (Control.ModifierKeys == Keys.Control && AppConfig.IsOLED())
{
SetBrightnessDimming(-10);
}
else
{
Program.acpi.DeviceSet(AsusACPI.UniversalControl, AsusACPI.Brightness_Down, "Brightness");
}
break;
case 32: // FN+F8
if (Control.ModifierKeys == Keys.Shift)
@@ -720,14 +706,8 @@ namespace GHelper.Input
if (AppConfig.IsDUO()) SetScreenpad(10);
else Program.settingsForm.BeginInvoke(Program.settingsForm.CycleMatrix, 1);
}
else if (Control.ModifierKeys == Keys.Control && AppConfig.IsOLED())
{
SetBrightnessDimming(10);
}
else
{
Program.acpi.DeviceSet(AsusACPI.UniversalControl, AsusACPI.Brightness_Up, "Brightness");
}
break;
case 133: // Camera Toggle
ToggleCamera();

View File

@@ -62,47 +62,33 @@ namespace GHelper.Mode
if (!Modes.Exists(mode)) mode = 0;
customFans = false;
customPower = 0;
settings.ShowMode(mode);
SetModeLabel();
Modes.SetCurrent(mode);
int status = Program.acpi.DeviceSet(AsusACPI.PerformanceMode, AppConfig.IsManualModeRequired() ? AsusACPI.PerformanceManual : Modes.GetBase(mode), "Mode");
Task.Run(async () =>
// Vivobook fallback
if (status != 1)
{
bool reset = AppConfig.IsResetRequired() && (Modes.GetBase(oldMode) == Modes.GetBase(mode)) && customPower > 0;
customFans = false;
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();
await Task.Delay(TimeSpan.FromMilliseconds(100));
AutoFans();
await Task.Delay(TimeSpan.FromMilliseconds(1000));
AutoPower();
});
int vivoMode = Modes.GetBase(mode);
if (vivoMode == 1) vivoMode = 2;
else if (vivoMode == 2) vivoMode = 1;
Program.acpi.DeviceSet(AsusACPI.VivoBookMode, vivoMode, "VivoMode");
}
if (AppConfig.Is("xgm_fan") && Program.acpi.IsXGConnected()) XGM.Reset();
if (notify)
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
if (AppConfig.GetModeString("scheme") is not null)
@@ -159,17 +145,18 @@ namespace GHelper.Mode
Program.acpi.SetFanCurve(AsusFan.Mid, AppConfig.GetFanConfig(AsusFan.Mid));
// Alternative way to set fan curve
// something went wrong, resetting to default profile
if (cpuResult != 1 || gpuResult != 1)
{
cpuResult = Program.acpi.SetFanRange(AsusFan.CPU, AppConfig.GetFanConfig(AsusFan.CPU));
gpuResult = Program.acpi.SetFanRange(AsusFan.GPU, AppConfig.GetFanConfig(AsusFan.GPU));
// Something went wrong, resetting to default profile
if (cpuResult != 1 || gpuResult != 1)
{
Program.acpi.DeviceSet(AsusACPI.PerformanceMode, Modes.GetCurrentBase(), "Reset Mode");
settings.LabelFansResult("Model doesn't support custom fan curves");
int mode = Modes.GetCurrentBase();
Logger.WriteLine("ASUS BIOS rejected fan curve, resetting mode to " + mode);
Program.acpi.DeviceSet(AsusACPI.PerformanceMode, mode, "Reset Mode");
settings.LabelFansResult("ASUS BIOS rejected fan curve");
}
}
else
@@ -195,25 +182,52 @@ namespace GHelper.Mode
}
public void AutoPower(bool launchAsAdmin = false)
public void AutoPower(int delay = 0)
{
customPower = 0;
bool applyPower = AppConfig.IsMode("auto_apply_power");
bool applyFans = AppConfig.IsMode("auto_apply");
//bool applyGPU = true;
if (applyPower && !applyFans && (AppConfig.IsFanRequired() || AppConfig.IsManualModeRequired()))
if (applyPower && !applyFans)
{
AutoFans(true);
Thread.Sleep(500);
// force fan curve for misbehaving bios PPTs on some models
if (AppConfig.IsFanRequired())
{
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 (applyPower) SetPower(launchAsAdmin);
if (delay > 0)
{
var timer = new System.Timers.Timer(delay);
timer.Elapsed += delegate
{
timer.Stop();
timer.Dispose();
Thread.Sleep(500);
SetGPUPower();
AutoRyzen();
if (applyPower) SetPower();
Thread.Sleep(500);
SetGPUPower();
AutoRyzen();
};
timer.Start();
}
else
{
if (applyPower) SetPower(true);
SetGPUPower();
AutoRyzen();
}
}

View File

@@ -37,12 +37,7 @@
}
public override int DPIIncrements()
{
return 50;
}
public override int MinDPI()
{
return 50;
return 100;
}
public override bool HasDebounceSetting()

View File

@@ -7,10 +7,6 @@
{
}
public StrixImpactII(ushort pid) : base(0x0B05, pid, "mi_00", false)
{
}
public override int DPIProfileCount()
{
return 4;
@@ -178,19 +174,4 @@
}
}
}
public class StrixImpactIIElectroPunk : StrixImpactII
{
public StrixImpactIIElectroPunk() : base(0x1956)
{
}
public override string GetDisplayName()
{
return "ROG Strix Impact II Electro Punk";
}
}
}

View File

@@ -209,7 +209,6 @@ namespace GHelper.Peripherals
DetectMouse(new PugioII());
DetectMouse(new PugioIIWired());
DetectMouse(new StrixImpactII());
DetectMouse(new StrixImpactIIElectroPunk());
DetectMouse(new Chakram());
DetectMouse(new ChakramWired());
DetectMouse(new ChakramCore());

View File

@@ -32,7 +32,7 @@ namespace GHelper
public static ModeControl modeControl = new ModeControl();
public static GPUModeControl gpuControl = new GPUModeControl(settingsForm);
public static AllyControl allyControl = new AllyControl(settingsForm);
public static ScreenControl screenControl = new ScreenControl();
public static ScreenControl screenControl = new ScreenControl();
public static ClamshellModeControl clamshellControl = new ClamshellModeControl();
public static ToastForm toast = new ToastForm();
@@ -215,8 +215,6 @@ namespace GHelper
isPlugged = SystemInformation.PowerStatus.PowerLineStatus;
Logger.WriteLine("AutoSetting for " + isPlugged.ToString());
BatteryControl.AutoBattery(init);
inputDispatcher.Init();
modeControl.AutoPerformance(powerChanged);
@@ -229,6 +227,8 @@ namespace GHelper
screenControl.AutoScreen();
}
BatteryControl.AutoBattery(init);
settingsForm.matrixControl.SetDevice(true);
if (AppConfig.IsAlly())

View File

@@ -250,16 +250,6 @@ namespace GHelper.Properties {
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap icons8_color_32 {
get {
object obj = ResourceManager.GetObject("icons8-color-32", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>

View File

@@ -124,9 +124,6 @@
<data name="icons8_charged_battery_96" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\icons8-charged-battery-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="icons8-search-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\icons8-search-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="icons8_edit_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\icons8-edit-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@@ -139,9 +136,6 @@
<data name="icons8-bicycle-48 (1)" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\icons8-bicycle-48 (1).png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="standard" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\standard.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="eco" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\eco.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@@ -199,6 +193,9 @@
<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>
</data>
<data name="icons8_share_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\icons8-share-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="icons8_function" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\icons8-function-mac-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@@ -277,8 +274,8 @@
<data name="icons8_rocket_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\icons8-rocket-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="icons8-fiat-500-48" 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>
<data name="icons8-project-management-48 (1)" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\icons8-project-management-48 (1).png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="icons8_mauszeiger_50" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\icons8-mauszeiger-50.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@@ -292,6 +289,9 @@
<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>
</data>
<data name="icons8-fiat-500-48" 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>
</data>
<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>
</data>
@@ -307,9 +307,6 @@
<data name="icons8_voltage_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\icons8-voltage-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="icons8-project-management-48 (1)" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\icons8-project-management-48 (1).png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="icons8-software-32-white" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\icons8-software-32-white.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@@ -328,8 +325,8 @@
<data name="icons8_software_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\icons8-software-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="icons8_share_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\icons8-share-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="standard" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\standard.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="icons8-soonvibes-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\icons8-soonvibes-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@@ -340,7 +337,7 @@
<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>
</data>
<data name="icons8-color-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\icons8-color-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="icons8-search-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\icons8-search-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

View File

@@ -726,15 +726,6 @@ namespace GHelper.Properties {
}
}
/// <summary>
/// Looks up a localized string similar to Download Color Profiles.
/// </summary>
internal static string DownloadColorProfiles {
get {
return ResourceManager.GetString("DownloadColorProfiles", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Download.
/// </summary>
@@ -917,15 +908,6 @@ namespace GHelper.Properties {
}
}
/// <summary>
/// Looks up a localized string similar to Flicker-free Dimming.
/// </summary>
internal static string FlickerFreeDimming {
get {
return ResourceManager.GetString("FlickerFreeDimming", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Process Fn+F hotkeys without Fn.
/// </summary>
@@ -1889,15 +1871,6 @@ namespace GHelper.Properties {
}
}
/// <summary>
/// Looks up a localized string similar to Visual Mode.
/// </summary>
internal static string ViualMode {
get {
return ResourceManager.GetString("ViualMode", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Volume Down.
/// </summary>

View File

@@ -124,10 +124,10 @@
<value>Verbindung zu ASUS ACPI fehlgeschlagen. G-Helper kann nicht ausgeführt werden. Bitte installiere ASUS System Control Interface.</value>
</data>
<data name="AlertAPUMemoryRestart" xml:space="preserve">
<value>Gerät neu starten, um Änderungen anzuwenden</value>
<value>Restart your device to apply changes</value>
</data>
<data name="AlertAPUMemoryRestartTitle" xml:space="preserve">
<value>Jetzt neu starten?</value>
<value>Restart now?</value>
</data>
<data name="AlertDGPU" xml:space="preserve">
<value>Die GPU wird gerade verwendet. Trotzdem deaktivieren?</value>
@@ -250,7 +250,7 @@
<value>Im Betrieb</value>
</data>
<data name="BacklightTimeout" xml:space="preserve">
<value>Timeout angeschlossen / bei Akku (0 = An)</value>
<value>Timeout angeschlossen / bei Akku (0 - AN)</value>
</data>
<data name="BacklightTimeoutBattery" xml:space="preserve">
<value>Backlight Timeout when on battery</value>
@@ -289,7 +289,7 @@
<value>Hochfahren</value>
</data>
<data name="BootSound" xml:space="preserve">
<value>Boot-Sound</value>
<value>Boot Sound</value>
</data>
<data name="Brightness" xml:space="preserve">
<value>Helligkeit</value>
@@ -310,7 +310,7 @@
<value>Farbe</value>
</data>
<data name="Contrast" xml:space="preserve">
<value>Kontrast</value>
<value>Contrast</value>
</data>
<data name="Controller" xml:space="preserve">
<value>Controller</value>
@@ -328,7 +328,7 @@
<value>Standard</value>
</data>
<data name="DisableController" xml:space="preserve">
<value>Controller deaktivieren</value>
<value>Disable Controller</value>
</data>
<data name="DisableOnLidClose" xml:space="preserve">
<value>Disable on lid close</value>
@@ -352,7 +352,7 @@
<value>Eco</value>
</data>
<data name="EnableGPUOnShutdown" xml:space="preserve">
<value>Aktiviere GPU beim Herunterfahren (verhindert Problem im Eco-Modus)</value>
<value>Enable GPU on shutdown (prevents issue with Eco mode)</value>
</data>
<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.
@@ -366,7 +366,7 @@ Trotzdem fortfahren?</value>
<value>Energieeinstellungen</value>
</data>
<data name="Export" xml:space="preserve">
<value>Profil exportieren</value>
<value>Export Profile</value>
</data>
<data name="Extra" xml:space="preserve">
<value>Extra</value>
@@ -441,10 +441,10 @@ Trotzdem fortfahren?</value>
<value>Hoch</value>
</data>
<data name="ImageRotation" xml:space="preserve">
<value>Bilddrehung</value>
<value>Image Rotation</value>
</data>
<data name="Import" xml:space="preserve">
<value>Profil importieren</value>
<value>Import Profile</value>
</data>
<data name="KeyBindings" xml:space="preserve">
<value>Tastenbelegung</value>
@@ -534,7 +534,7 @@ Trotzdem fortfahren?</value>
<value>Tastenreaktionsgeschwindigkeit</value>
</data>
<data name="MouseImportFailed" xml:space="preserve">
<value>Import fehlgeschlagen. Die ausgewählte Datei ist kein gültiges Mausprofil oder beschädigt.</value>
<value>Import failed. Selected file is not a valid mouse profile or corrutpted.</value>
</data>
<data name="MouseLiftOffDistance" xml:space="preserve">
<value>Lift Off Distance</value>
@@ -621,7 +621,7 @@ Trotzdem fortfahren?</value>
<value>Schließen</value>
</data>
<data name="Reset" xml:space="preserve">
<value>Zurücksetzen</value>
<value>Reset</value>
</data>
<data name="RestartGPU" xml:space="preserve">
<value>Ein Prozess verhindert den Wechsel in den Eco-Modus. dGPU neu starten? Fortfahren auf eigene Gefahr.</value>
@@ -639,7 +639,7 @@ Trotzdem fortfahren?</value>
<value>Beim Start ausführen</value>
</data>
<data name="ScalingQuality" xml:space="preserve">
<value>Skalierungsqualität</value>
<value>Scaling Quality</value>
</data>
<data name="ScreenPadDown" xml:space="preserve">
<value>Screenpad Helligkeit verringern</value>
@@ -720,7 +720,7 @@ Trotzdem fortfahren?</value>
<value>Version</value>
</data>
<data name="VibrationStrength" xml:space="preserve">
<value>Vibrationsstärke</value>
<value>Vibration Strength</value>
</data>
<data name="VolumeDown" xml:space="preserve">
<value>Lautstärke verringern</value>

View File

@@ -339,9 +339,6 @@
<data name="Discharging" xml:space="preserve">
<value>Discharging</value>
</data>
<data name="DownloadColorProfiles" xml:space="preserve">
<value>Download Color Profiles</value>
</data>
<data name="DownloadUpdate" xml:space="preserve">
<value>Download</value>
</data>
@@ -404,9 +401,6 @@ Do you still want to continue?</value>
<data name="FansPower" xml:space="preserve">
<value>Fans + Power</value>
</data>
<data name="FlickerFreeDimming" xml:space="preserve">
<value>Flicker-free Dimming</value>
</data>
<data name="FnLock" xml:space="preserve">
<value>Process Fn+F hotkeys without Fn</value>
</data>
@@ -728,9 +722,6 @@ Do you still want to continue?</value>
<data name="VibrationStrength" xml:space="preserve">
<value>Vibration Strength</value>
</data>
<data name="ViualMode" xml:space="preserve">
<value>Visual Mode</value>
</data>
<data name="VolumeDown" xml:space="preserve">
<value>Volume Down</value>
</data>

View File

@@ -352,7 +352,7 @@
<value>集显模式</value>
</data>
<data name="EnableGPUOnShutdown" xml:space="preserve">
<value>在关闭时启用 GPU (防止与 Eco 模式出现问题)</value>
<value>Enable GPU on shutdown (prevents issue with Eco mode)</value>
</data>
<data name="EnableOptimusText" xml:space="preserve">
<value>NVIDIA 控制面板中的显示模式未设置为 Optimus 时,通过集显模式禁用独立显卡可能会使亮度控制出现问题,直到下次重启后才能恢复。

Binary file not shown.

Before

Width:  |  Height:  |  Size: 408 B

View File

@@ -13,7 +13,7 @@ namespace Ryzen
internal class RyzenControl
{
public static int MinCPUUV => AppConfig.Get("min_uv", -40);
public static int MinCPUUV => AppConfig.Get("min_uv", -30);
public const int MaxCPUUV = 0;
public const int MinIGPUUV = -20;

File diff suppressed because it is too large Load Diff

152
app/Settings.Designer.cs generated
View File

@@ -123,11 +123,6 @@ namespace GHelper
pictureAlly = new PictureBox();
labelAlly = new Label();
panelGamma = new Panel();
tableVisual = new TableLayoutPanel();
buttonInstallColor = new RButton();
comboVisual = new RComboBox();
comboColorTemp = new RComboBox();
comboGamut = new RComboBox();
sliderGamma = new Slider();
panelGammaTitle = new Panel();
labelGamma = new Label();
@@ -173,7 +168,6 @@ namespace GHelper
panelAllyTitle.SuspendLayout();
((System.ComponentModel.ISupportInitialize)pictureAlly).BeginInit();
panelGamma.SuspendLayout();
tableVisual.SuspendLayout();
panelGammaTitle.SuspendLayout();
((System.ComponentModel.ISupportInitialize)pictureGamma).BeginInit();
SuspendLayout();
@@ -187,7 +181,7 @@ namespace GHelper
panelMatrix.Controls.Add(tableLayoutMatrix);
panelMatrix.Controls.Add(panelMatrixTitle);
panelMatrix.Dock = DockStyle.Top;
panelMatrix.Location = new Point(11, 1007);
panelMatrix.Location = new Point(11, 950);
panelMatrix.Margin = new Padding(0);
panelMatrix.Name = "panelMatrix";
panelMatrix.Padding = new Padding(20, 20, 20, 10);
@@ -362,7 +356,7 @@ namespace GHelper
panelBattery.Controls.Add(sliderBattery);
panelBattery.Controls.Add(panelBatteryTitle);
panelBattery.Dock = DockStyle.Top;
panelBattery.Location = new Point(11, 1683);
panelBattery.Location = new Point(11, 1626);
panelBattery.Margin = new Padding(0);
panelBattery.Name = "panelBattery";
panelBattery.Padding = new Padding(20, 20, 20, 10);
@@ -454,7 +448,7 @@ namespace GHelper
panelFooter.AutoSizeMode = AutoSizeMode.GrowAndShrink;
panelFooter.Controls.Add(tableButtons);
panelFooter.Dock = DockStyle.Top;
panelFooter.Location = new Point(11, 1858);
panelFooter.Location = new Point(11, 1801);
panelFooter.Margin = new Padding(0);
panelFooter.Name = "panelFooter";
panelFooter.Padding = new Padding(20);
@@ -1033,8 +1027,8 @@ namespace GHelper
panelScreen.Location = new Point(11, 651);
panelScreen.Margin = new Padding(0);
panelScreen.Name = "panelScreen";
panelScreen.Padding = new Padding(20, 10, 20, 0);
panelScreen.Size = new Size(827, 166);
panelScreen.Padding = new Padding(20, 20, 20, 0);
panelScreen.Size = new Size(827, 176);
panelScreen.TabIndex = 2;
panelScreen.TabStop = true;
//
@@ -1042,7 +1036,7 @@ namespace GHelper
//
labelTipScreen.Dock = DockStyle.Top;
labelTipScreen.ForeColor = SystemColors.GrayText;
labelTipScreen.Location = new Point(20, 130);
labelTipScreen.Location = new Point(20, 140);
labelTipScreen.Margin = new Padding(4, 0, 4, 0);
labelTipScreen.Name = "labelTipScreen";
labelTipScreen.Size = new Size(787, 36);
@@ -1062,7 +1056,7 @@ namespace GHelper
tableScreen.Controls.Add(button120Hz, 2, 0);
tableScreen.Controls.Add(buttonMiniled, 3, 0);
tableScreen.Dock = DockStyle.Top;
tableScreen.Location = new Point(20, 50);
tableScreen.Location = new Point(20, 60);
tableScreen.Margin = new Padding(8, 4, 8, 4);
tableScreen.Name = "tableScreen";
tableScreen.RowCount = 1;
@@ -1154,7 +1148,7 @@ namespace GHelper
panelScreenTitle.Controls.Add(pictureScreen);
panelScreenTitle.Controls.Add(labelSreen);
panelScreenTitle.Dock = DockStyle.Top;
panelScreenTitle.Location = new Point(20, 10);
panelScreenTitle.Location = new Point(20, 20);
panelScreenTitle.Margin = new Padding(4);
panelScreenTitle.Name = "panelScreenTitle";
panelScreenTitle.Size = new Size(787, 40);
@@ -1201,7 +1195,7 @@ namespace GHelper
panelKeyboard.Controls.Add(tableLayoutKeyboard);
panelKeyboard.Controls.Add(panelKeyboardTitle);
panelKeyboard.Dock = DockStyle.Top;
panelKeyboard.Location = new Point(11, 1341);
panelKeyboard.Location = new Point(11, 1284);
panelKeyboard.Margin = new Padding(0);
panelKeyboard.Name = "panelKeyboard";
panelKeyboard.Padding = new Padding(20);
@@ -1377,7 +1371,7 @@ namespace GHelper
panelVersion.Controls.Add(labelCharge);
panelVersion.Controls.Add(checkStartup);
panelVersion.Dock = DockStyle.Top;
panelVersion.Location = new Point(11, 1802);
panelVersion.Location = new Point(11, 1745);
panelVersion.Margin = new Padding(4);
panelVersion.Name = "panelVersion";
panelVersion.Size = new Size(827, 56);
@@ -1402,7 +1396,7 @@ namespace GHelper
panelPeripherals.Controls.Add(tableLayoutPeripherals);
panelPeripherals.Controls.Add(panelPeripheralsTile);
panelPeripherals.Dock = DockStyle.Top;
panelPeripherals.Location = new Point(11, 1485);
panelPeripherals.Location = new Point(11, 1428);
panelPeripherals.Margin = new Padding(0);
panelPeripherals.Name = "panelPeripherals";
panelPeripherals.Padding = new Padding(20, 20, 20, 10);
@@ -1544,7 +1538,7 @@ namespace GHelper
panelAlly.Controls.Add(tableLayoutAlly);
panelAlly.Controls.Add(panelAllyTitle);
panelAlly.Dock = DockStyle.Top;
panelAlly.Location = new Point(11, 1201);
panelAlly.Location = new Point(11, 1144);
panelAlly.Margin = new Padding(0);
panelAlly.Name = "panelAlly";
panelAlly.Padding = new Padding(20, 20, 20, 0);
@@ -1676,125 +1670,30 @@ namespace GHelper
//
panelGamma.AutoSize = true;
panelGamma.AutoSizeMode = AutoSizeMode.GrowAndShrink;
panelGamma.Controls.Add(tableVisual);
panelGamma.Controls.Add(sliderGamma);
panelGamma.Controls.Add(panelGammaTitle);
panelGamma.Dock = DockStyle.Top;
panelGamma.Location = new Point(11, 817);
panelGamma.Location = new Point(11, 827);
panelGamma.Margin = new Padding(0);
panelGamma.Name = "panelGamma";
panelGamma.Padding = new Padding(20, 10, 20, 10);
panelGamma.Size = new Size(827, 190);
panelGamma.Padding = new Padding(20, 20, 20, 10);
panelGamma.Size = new Size(827, 123);
panelGamma.TabIndex = 9;
panelGamma.Visible = false;
//
// tableVisual
//
tableVisual.AutoSize = true;
tableVisual.AutoSizeMode = AutoSizeMode.GrowAndShrink;
tableVisual.ColumnCount = 3;
tableVisual.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33.3333321F));
tableVisual.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33.3333321F));
tableVisual.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33.3333321F));
tableVisual.Controls.Add(buttonInstallColor, 0, 0);
tableVisual.Controls.Add(comboVisual, 0, 0);
tableVisual.Controls.Add(comboColorTemp, 1, 0);
tableVisual.Controls.Add(comboGamut, 2, 0);
tableVisual.Dock = DockStyle.Top;
tableVisual.Location = new Point(20, 94);
tableVisual.Margin = new Padding(8);
tableVisual.Name = "tableVisual";
tableVisual.RowCount = 1;
tableVisual.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
tableVisual.RowStyles.Add(new RowStyle(SizeType.Absolute, 20F));
tableVisual.Size = new Size(787, 86);
tableVisual.TabIndex = 41;
tableVisual.Visible = false;
//
// buttonInstallColor
//
buttonInstallColor.Activated = false;
buttonInstallColor.BackColor = SystemColors.ControlLight;
buttonInstallColor.BorderColor = Color.Transparent;
buttonInstallColor.BorderRadius = 2;
buttonInstallColor.Dock = DockStyle.Top;
buttonInstallColor.FlatAppearance.BorderSize = 0;
buttonInstallColor.FlatStyle = FlatStyle.Flat;
buttonInstallColor.Image = Properties.Resources.icons8_color_32;
buttonInstallColor.ImageAlign = ContentAlignment.MiddleRight;
buttonInstallColor.Location = new Point(266, 8);
buttonInstallColor.Margin = new Padding(4, 8, 4, 8);
buttonInstallColor.Name = "buttonInstallColor";
buttonInstallColor.Secondary = true;
buttonInstallColor.Size = new Size(254, 50);
buttonInstallColor.TabIndex = 38;
buttonInstallColor.Text = "Install Colors";
buttonInstallColor.TextImageRelation = TextImageRelation.ImageBeforeText;
buttonInstallColor.UseVisualStyleBackColor = false;
buttonInstallColor.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.Location = new Point(4, 11);
comboVisual.Margin = new Padding(4, 11, 4, 8);
comboVisual.Name = "comboVisual";
comboVisual.Size = new Size(254, 40);
comboVisual.TabIndex = 14;
comboVisual.Visible = false;
//
// comboColorTemp
//
comboColorTemp.BorderColor = Color.White;
comboColorTemp.ButtonColor = Color.FromArgb(255, 255, 255);
comboColorTemp.Dock = DockStyle.Top;
comboColorTemp.FlatStyle = FlatStyle.Flat;
comboColorTemp.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
comboColorTemp.FormattingEnabled = true;
comboColorTemp.ItemHeight = 32;
comboColorTemp.Location = new Point(531, 11);
comboColorTemp.Margin = new Padding(7, 11, 7, 8);
comboColorTemp.Name = "comboColorTemp";
comboColorTemp.Size = new Size(249, 40);
comboColorTemp.TabIndex = 15;
comboColorTemp.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.Location = new Point(4, 77);
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, 54);
sliderGamma.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
sliderGamma.Location = new Point(40, 69);
sliderGamma.Margin = new Padding(4);
sliderGamma.Max = 100;
sliderGamma.Min = 0;
sliderGamma.Name = "sliderGamma";
sliderGamma.Size = new Size(787, 40);
sliderGamma.Step = 5;
sliderGamma.Size = new Size(752, 40);
sliderGamma.Step = 10;
sliderGamma.TabIndex = 20;
sliderGamma.Text = "sliderGamma";
sliderGamma.Value = 100;
sliderGamma.Visible = false;
//
// panelGammaTitle
//
@@ -1802,7 +1701,7 @@ namespace GHelper
panelGammaTitle.Controls.Add(pictureGamma);
panelGammaTitle.Controls.Add(labelGammaTitle);
panelGammaTitle.Dock = DockStyle.Top;
panelGammaTitle.Location = new Point(20, 10);
panelGammaTitle.Location = new Point(20, 20);
panelGammaTitle.Margin = new Padding(4);
panelGammaTitle.Name = "panelGammaTitle";
panelGammaTitle.Padding = new Padding(0, 0, 0, 4);
@@ -1837,7 +1736,7 @@ namespace GHelper
labelGammaTitle.Location = new Point(43, 0);
labelGammaTitle.Margin = new Padding(8, 0, 8, 0);
labelGammaTitle.Name = "labelGammaTitle";
labelGammaTitle.Size = new Size(506, 32);
labelGammaTitle.Size = new Size(307, 32);
labelGammaTitle.TabIndex = 37;
labelGammaTitle.Text = "Flicker-free Dimming";
//
@@ -1847,7 +1746,7 @@ namespace GHelper
AutoScaleMode = AutoScaleMode.Dpi;
AutoSize = true;
AutoSizeMode = AutoSizeMode.GrowAndShrink;
ClientSize = new Size(849, 1759);
ClientSize = new Size(849, 2119);
Controls.Add(panelFooter);
Controls.Add(panelVersion);
Controls.Add(panelBattery);
@@ -1927,8 +1826,6 @@ namespace GHelper
panelAllyTitle.PerformLayout();
((System.ComponentModel.ISupportInitialize)pictureAlly).EndInit();
panelGamma.ResumeLayout(false);
panelGamma.PerformLayout();
tableVisual.ResumeLayout(false);
panelGammaTitle.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)pictureGamma).EndInit();
ResumeLayout(false);
@@ -2034,10 +1931,5 @@ namespace GHelper
private Label labelGammaTitle;
private CheckBox checkMatrixLid;
private Panel panelMatrixAuto;
private TableLayoutPanel tableVisual;
private RComboBox comboVisual;
private RComboBox comboGamut;
private RComboBox comboColorTemp;
private RButton buttonInstallColor;
}
}

View File

@@ -24,7 +24,7 @@ namespace GHelper
public GPUModeControl gpuControl;
public AllyControl allyControl;
ScreenControl screenControl = new ScreenControl();
ScreenControl screenControl = new ScreenControl();
AutoUpdateControl updateControl;
AsusMouseSettings? mouseSettings;
@@ -48,8 +48,6 @@ namespace GHelper
bool batteryMouseOver = false;
bool batteryFullMouseOver = false;
bool sliderGammaIgnore = false;
public SettingsForm()
{
@@ -118,7 +116,7 @@ namespace GHelper
buttonScreenAuto.AccessibleName = Properties.Strings.AutoMode;
//button60Hz.AccessibleName = "60Hz Refresh Rate";
//button120Hz.AccessibleName = "Maximum Refresh Rate";
panelKeyboard.AccessibleName = Properties.Strings.LaptopKeyboard;
buttonKeyboard.AccessibleName = Properties.Strings.ExtraSettings;
buttonKeyboardColor.AccessibleName = Properties.Strings.LaptopKeyboard + " " + Properties.Strings.Color;
@@ -221,7 +219,7 @@ namespace GHelper
sliderBattery.ValueChanged += SliderBattery_ValueChanged;
Program.trayIcon.MouseMove += TrayIcon_MouseMove;
sensorTimer = new System.Timers.Timer(AppConfig.Get("sensor_timer", 1000));
sensorTimer = new System.Timers.Timer(AppConfig.Get("sensor_timer",1000));
sensorTimer.Elapsed += OnTimedEvent;
sensorTimer.Enabled = true;
@@ -256,125 +254,17 @@ namespace GHelper
VisualiseFnLock();
buttonFnLock.Click += ButtonFnLock_Click;
panelGamma.Visible = AppConfig.IsOLED();
sliderGamma.ValueChanged += SliderGamma_ValueChanged;
labelGamma.Text = "100%";
panelPerformance.Focus();
InitVisual();
}
public void InitVisual()
{
bool dimming = false;
if (AppConfig.IsOLED())
{
dimming = true;
labelGammaTitle.Text = Properties.Strings.FlickerFreeDimming;
panelGamma.Visible = true;
sliderGamma.Visible = true;
VisualiseBrightness();
sliderGamma.ValueChanged += SliderGamma_ValueChanged;
sliderGamma.MouseUp += SliderGamma_ValueChanged;
}
if (!dimming) labelGammaTitle.Text = Properties.Strings.ViualMode;
else labelGammaTitle.Text += " / " + Properties.Strings.ViualMode;
var gamuts = VisualControl.GetGamutModes();
if (gamuts.Count < 1)
{
if (ColorProfileHelper.ProfileExists())
{
tableVisual.ColumnCount = 2;
buttonInstallColor.Text = Properties.Strings.DownloadColorProfiles;
buttonInstallColor.Visible = true;
buttonInstallColor.Click += ButtonInstallColorProfile_Click;
panelGamma.Visible = true;
tableVisual.Visible = true;
}
return;
} else
{
tableVisual.ColumnCount = 3;
buttonInstallColor.Visible = false;
}
panelGamma.Visible = true;
tableVisual.Visible = true;
var visualValue = (SplendidCommand)AppConfig.Get("visual", (int)SplendidCommand.Default);
var colorTempValue = AppConfig.Get("color_temp", VisualControl.DefaultColorTemp);
comboVisual.DropDownStyle = ComboBoxStyle.DropDownList;
comboVisual.DataSource = new BindingSource(VisualControl.GetVisualModes(), null);
comboVisual.DisplayMember = "Value";
comboVisual.ValueMember = "Key";
comboVisual.SelectedValue = visualValue;
comboColorTemp.DropDownStyle = ComboBoxStyle.DropDownList;
comboColorTemp.DataSource = new BindingSource(VisualControl.GetTemperatures(), null);
comboColorTemp.DisplayMember = "Value";
comboColorTemp.ValueMember = "Key";
comboColorTemp.SelectedValue = colorTempValue;
VisualControl.SetVisual(visualValue, colorTempValue, true);
comboVisual.SelectedValueChanged += ComboVisual_SelectedValueChanged;
comboVisual.Visible = true;
comboColorTemp.SelectedValueChanged += ComboVisual_SelectedValueChanged;
comboColorTemp.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 async void ButtonInstallColorProfile_Click(object? sender, EventArgs e)
{
await ColorProfileHelper.InstallProfile();
InitVisual();
}
private void ComboGamut_SelectedValueChanged(object? sender, EventArgs e)
{
AppConfig.Set("gamut", (int)comboGamut.SelectedValue);
VisualControl.SetGamut((int)comboGamut.SelectedValue);
}
private void ComboVisual_SelectedValueChanged(object? sender, EventArgs e)
{
AppConfig.Set("visual", (int)comboVisual.SelectedValue);
AppConfig.Set("color_temp", (int)comboColorTemp.SelectedValue);
VisualControl.SetVisual((SplendidCommand)comboVisual.SelectedValue, (int)comboColorTemp.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;
VisualControl.SetBrightness(sliderGamma.Value);
screenControl.SetGamma(sliderGamma.Value);
labelGamma.Text = sliderGamma.Value + "%";
}
private void ButtonOverlay_Click(object? sender, EventArgs e)
@@ -448,7 +338,7 @@ namespace GHelper
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)
@@ -945,7 +835,7 @@ namespace GHelper
FansToggle();
}
private void SetColorPicker(string colorField = "aura_color")
private void SetColorPicker(string colorField = "aura_color")
{
ColorDialog colorDlg = new ColorDialog();
colorDlg.AllowFullOpen = true;
@@ -1050,7 +940,7 @@ namespace GHelper
buttonMatrix.Visible = false;
checkMatrixLid.Visible = true;
}
}
comboMatrix.SelectedIndex = Math.Min(AppConfig.Get("matrix_brightness", 0), comboMatrix.Items.Count - 1);
comboMatrixRunning.SelectedIndex = Math.Min(AppConfig.Get("matrix_running", 0), comboMatrixRunning.Items.Count - 1);
@@ -1383,13 +1273,11 @@ namespace GHelper
{
if (InvokeRequired)
{
Invoke(delegate
{
Invoke(delegate {
labelPerf.Text = modeText;
panelPerformance.AccessibleName = labelPerf.Text;
});
}
else
} else
{
labelPerf.Text = modeText;
panelPerformance.AccessibleName = labelPerf.Text;
@@ -1564,7 +1452,7 @@ namespace GHelper
break;
}
VisualizeXGM(GPUMode);
@@ -1738,7 +1626,7 @@ namespace GHelper
return;
}
mouseSettings = new AsusMouseSettings(am);
mouseSettings.TopMost = AppConfig.Is("topmost");
mouseSettings.TopMost = true;
mouseSettings.FormClosed += MouseSettings_FormClosed;
mouseSettings.Disposed += MouseSettings_Disposed;
if (!mouseSettings.IsDisposed)

View File

@@ -1,12 +1,10 @@
using System.ComponentModel;
using System.Drawing.Drawing2D;
using System.Runtime.InteropServices;
namespace GHelper.UI
{
public class RComboBox : ComboBox
{
private Color borderColor = Color.Gray;
[DefaultValue(typeof(Color), "Gray")]
public Color BorderColor
@@ -54,67 +52,6 @@ namespace GHelper.UI
}
public static GraphicsPath RoundedRect(Rectangle bounds, int radiusL, int radiusR)
{
int diameterL = radiusL * 2;
int diameterR = radiusR * 2;
Size sizeL = new Size(diameterL, diameterL);
Size sizeR = new Size(diameterR, diameterR);
Rectangle arcL = new Rectangle(bounds.Location, sizeL);
Rectangle arcR = new Rectangle(bounds.Location, sizeR);
GraphicsPath path = new GraphicsPath();
// top left arc
path.AddArc(arcL, 180, 90);
// top right arc
arcR.X = bounds.Right - diameterR;
arcR.Y = bounds.Top;
path.AddArc(arcR, 270, 90);
// bottom right arc
arcR.Y = bounds.Bottom - diameterR;
arcR.X = bounds.Right - diameterR;
path.AddArc(arcR, 0, 90);
// bottom left arc
arcL.X = bounds.Left;
arcL.Y = bounds.Bottom - diameterL;
path.AddArc(arcL, 90, 90);
path.CloseFigure();
return path;
}
public static void DrawRoundedRectangle(Graphics graphics, Pen pen, Rectangle bounds, int cornerRadiusL = 5, int cornerRadiusR = 5)
{
if (graphics == null)
throw new ArgumentNullException(nameof(graphics));
if (pen == null)
throw new ArgumentNullException(nameof(pen));
using (GraphicsPath path = RoundedRect(bounds, cornerRadiusL, cornerRadiusR))
{
graphics.DrawPath(pen, path);
}
}
public static void FillRoundedRectangle(Graphics graphics, Brush brush, Rectangle bounds, int cornerRadiusL = 5, int cornerRadiusR = 5)
{
if (graphics == null)
throw new ArgumentNullException(nameof(graphics));
if (brush == null)
throw new ArgumentNullException(nameof(brush));
using (GraphicsPath path = RoundedRect(bounds, cornerRadiusL, cornerRadiusR))
{
graphics.FillPath(brush, path);
}
}
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_PAINT && DropDownStyle != ComboBoxStyle.Simple)
@@ -174,25 +111,20 @@ namespace GHelper.UI
{
using (var b = new SolidBrush(buttonColor))
{
//FillRoundedRectangle(g, b, dropDownRect, 1, 3);
g.FillRectangle(b, dropDownRect);
}
using (var b = new SolidBrush(arrowColor))
{
g.FillPolygon(b, arrow);
}
using (var p = new Pen(innerBorderColor, 2))
using (var p = new Pen(innerBorderColor))
{
DrawRoundedRectangle(g, p, innerBorder, 3, 1);
//DrawRoundedRectangle(g, p, innerInnerBorder, 3, 1);
//g.DrawRectangle(p, innerBorder);
//g.DrawRectangle(p, innerInnerBorder);
g.DrawRectangle(p, innerBorder);
g.DrawRectangle(p, innerInnerBorder);
}
using (var p = new Pen(outerBorderColor))
{
DrawRoundedRectangle(g, p, outerBorder, 4, 4);
//g.DrawRectangle(p, outerBorder);
g.DrawRectangle(p, outerBorder);
}
}
if (shoulEndPaint)

View File

@@ -97,16 +97,16 @@ public static class AsusHid
try
{
stream.Write(data);
if (log is not null) Logger.WriteLine($"{log} {device.ProductID.ToString("X")}: {BitConverter.ToString(data)}");
Logger.WriteLine($"{log} {device.ProductID.ToString("X")}: {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)} ");
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}");
Logger.WriteLine($"Error opening {log} {device.ProductID.ToString("X")}: {ex.Message}");
}
}

View File

@@ -79,7 +79,7 @@ namespace GHelper.USB
public static Color Color1 = Color.White;
public static Color Color2 = Color.Black;
static bool isACPI = AppConfig.IsTUF() || AppConfig.IsVivoZenbook() || AppConfig.IsProArt();
static bool isACPI = AppConfig.IsTUF() || AppConfig.IsVivobook() || AppConfig.IsProArt();
static bool isStrix = AppConfig.IsStrix() && !AppConfig.IsNoDirectRGB();
static bool isStrix4Zone = AppConfig.IsStrixLimitedRGB();
@@ -598,7 +598,7 @@ namespace GHelper.USB
if (AppConfig.IsNoDirectRGB())
{
AsusHid.Write(new List<byte[]> { AuraMessage(AuraMode.AuraStatic, color, color, 0xeb, isSingleColor), MESSAGE_SET }, null);
AsusHid.Write(new List<byte[]> { AuraMessage(AuraMode.AuraStatic, color, color, 0xeb, isSingleColor), MESSAGE_SET });
return;
}
@@ -670,7 +670,7 @@ namespace GHelper.USB
{
CustomRGB.ApplyAmbient(true);
timer.Enabled = true;
timer.Interval = AppConfig.Get("aura_refresh", AppConfig.IsStrix() ? 100 : 300);
timer.Interval = AppConfig.Get("aura_refresh", AppConfig.ContainsModel("GU604") ? 400 : 120);
return;
}

View File

@@ -36,7 +36,7 @@ namespace GHelper
(bios, model) = AppConfig.GetBiosAndModel();
buttonRefresh.TabStop = false;
updatesCount = 0;
labelUpdates.ForeColor = colorEco;
labelUpdates.Text = Properties.Strings.NoNewUpdates;
@@ -161,36 +161,24 @@ namespace GHelper
});
}
private void _VisualiseNewDriver(int position, int newer, TableLayoutPanel table)
public void VisualiseNewDriver(int position, int newer, TableLayoutPanel table)
{
var label = table.GetControlFromPosition(3, position) as LinkLabel;
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
{
_VisualiseNewDriver(position, newer, table);
});
} else
{
_VisualiseNewDriver(position, newer, table);
}
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 VisualiseNewCount(int updatesCount, TableLayoutPanel table)
@@ -206,7 +194,7 @@ namespace GHelper
});
}
public async void DriversAsync(string url, int type, TableLayoutPanel table)
public async void DriversAsync(string url, int type, TableLayoutPanel table)
{
try
@@ -279,7 +267,7 @@ namespace GHelper
foreach (var localVersion in localVersions)
{
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);
}
}

View File

@@ -1,5 +1,5 @@
{
"sdk": {
"version": "7.0.406"
"version": "7.0.400"
}
}

View File

@@ -6,7 +6,7 @@
Small and lightweight Armoury Crate alternative for Asus laptops offering almost same functionality without extra bloat and unnecessary services.
Works with all popular models, such as ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, Flow Z13, TUF Series, Strix / Scar Series, ProArt, VivoBook, Ally and many more!
# [:floppy_disk:Download](https://github.com/seerge/g-helper/releases/download/v0.158/GHelper.zip)
# [:floppy_disk:Download](https://github.com/seerge/g-helper/releases/latest/download/GHelper.zip)
- [FAQ](https://github.com/seerge/g-helper/wiki/FAQ)
- [Setup and Requirements](https://github.com/seerge/g-helper/wiki/Requirements)