mirror of
https://github.com/jkocon/g-helper.git
synced 2026-02-23 13:00:52 +01:00
Compare commits
36 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
77f8d34d13 | ||
|
|
02aef7f2f3 | ||
|
|
edc434a890 | ||
|
|
b337a226da | ||
|
|
03e6e69fb4 | ||
|
|
f852fbadb6 | ||
|
|
b95d676285 | ||
|
|
fafa27b2a0 | ||
|
|
e7ceb2feaf | ||
|
|
62f280b0b9 | ||
|
|
d179fe6b86 | ||
|
|
291909749a | ||
|
|
883ec1828b | ||
|
|
55a75f79b0 | ||
|
|
5c6deb902c | ||
|
|
fac634b460 | ||
|
|
41e74084ac | ||
|
|
bc8084f3e0 | ||
|
|
e8d0030444 | ||
|
|
4cf4e2eb66 | ||
|
|
ece5606c27 | ||
|
|
e115e0f82b | ||
|
|
d6fe7f41c1 | ||
|
|
4a0e9d2e41 | ||
|
|
e59142140c | ||
|
|
8ca043de7d | ||
|
|
9543cd400e | ||
|
|
b808aa7619 | ||
|
|
6ca63bb9c5 | ||
|
|
4ba11f1f9f | ||
|
|
382080922d | ||
|
|
d439d20c13 | ||
|
|
24199b3036 | ||
|
|
d45ce23d9a | ||
|
|
34ae2e536d | ||
|
|
64e3b3bbd6 |
@@ -347,7 +347,10 @@ namespace GHelper.AnimeMatrix
|
|||||||
|
|
||||||
int matrixX = AppConfig.Get("matrix_x", 0);
|
int matrixX = AppConfig.Get("matrix_x", 0);
|
||||||
int matrixY = AppConfig.Get("matrix_y", 0);
|
int matrixY = AppConfig.Get("matrix_y", 0);
|
||||||
|
|
||||||
int matrixZoom = AppConfig.Get("matrix_zoom", 100);
|
int matrixZoom = AppConfig.Get("matrix_zoom", 100);
|
||||||
|
int matrixContrast = AppConfig.Get("matrix_contrast", 100);
|
||||||
|
|
||||||
int matrixSpeed = AppConfig.Get("matrix_speed", 50);
|
int matrixSpeed = AppConfig.Get("matrix_speed", 50);
|
||||||
|
|
||||||
MatrixRotation rotation = (MatrixRotation)AppConfig.Get("matrix_rotation", 0);
|
MatrixRotation rotation = (MatrixRotation)AppConfig.Get("matrix_rotation", 0);
|
||||||
@@ -368,9 +371,9 @@ namespace GHelper.AnimeMatrix
|
|||||||
image.SelectActiveFrame(dimension, i);
|
image.SelectActiveFrame(dimension, i);
|
||||||
|
|
||||||
if (rotation == MatrixRotation.Planar)
|
if (rotation == MatrixRotation.Planar)
|
||||||
device.GenerateFrame(image, matrixZoom, matrixX, matrixY, matrixQuality);
|
device.GenerateFrame(image, matrixZoom, matrixX, matrixY, matrixQuality, matrixContrast);
|
||||||
else
|
else
|
||||||
device.GenerateFrameDiagonal(image, matrixZoom, matrixX, matrixY, matrixQuality);
|
device.GenerateFrameDiagonal(image, matrixZoom, matrixX, matrixY, matrixQuality, matrixContrast);
|
||||||
|
|
||||||
device.AddFrame();
|
device.AddFrame();
|
||||||
}
|
}
|
||||||
@@ -385,9 +388,9 @@ namespace GHelper.AnimeMatrix
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (rotation == MatrixRotation.Planar)
|
if (rotation == MatrixRotation.Planar)
|
||||||
device.GenerateFrame(image, matrixZoom, matrixX, matrixY, matrixQuality);
|
device.GenerateFrame(image, matrixZoom, matrixX, matrixY, matrixQuality, matrixContrast);
|
||||||
else
|
else
|
||||||
device.GenerateFrameDiagonal(image, matrixZoom, matrixX, matrixY, matrixQuality);
|
device.GenerateFrameDiagonal(image, matrixZoom, matrixX, matrixY, matrixQuality, matrixContrast);
|
||||||
|
|
||||||
device.Present();
|
device.Present();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -399,21 +399,21 @@ namespace Starlight.AnimeMatrix
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void SetBitmapDiagonal(Bitmap bmp, int deltaX = 0, int deltaY = 0)
|
private void SetBitmapDiagonal(Bitmap bmp, int deltaX = 0, int deltaY = 0, int contrast = 100)
|
||||||
{
|
{
|
||||||
for (int y = 0; y < bmp.Height; y++)
|
for (int y = 0; y < bmp.Height; y++)
|
||||||
{
|
{
|
||||||
for (int x = 0; x < bmp.Width; x++)
|
for (int x = 0; x < bmp.Width; x++)
|
||||||
{
|
{
|
||||||
var pixel = bmp.GetPixel(x, y);
|
var pixel = bmp.GetPixel(x, y);
|
||||||
var color = (pixel.R + pixel.G + pixel.B) / 3;
|
var color = Math.Min((pixel.R + pixel.G + pixel.B) * contrast / 300, 255);
|
||||||
if (color > 20)
|
if (color > 20)
|
||||||
SetLedDiagonal(x, y, (byte)color, deltaX + (FullRows / 2) + 1, deltaY - (FullRows / 2) - 1);
|
SetLedDiagonal(x, y, (byte)color, deltaX + (FullRows / 2) + 1, deltaY - (FullRows / 2) - 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SetBitmapLinear(Bitmap bmp)
|
private void SetBitmapLinear(Bitmap bmp, int contrast = 100)
|
||||||
{
|
{
|
||||||
for (int y = 0; y < bmp.Height; y++)
|
for (int y = 0; y < bmp.Height; y++)
|
||||||
{
|
{
|
||||||
@@ -421,7 +421,7 @@ namespace Starlight.AnimeMatrix
|
|||||||
if (x % 2 == y % 2)
|
if (x % 2 == y % 2)
|
||||||
{
|
{
|
||||||
var pixel = bmp.GetPixel(x, y);
|
var pixel = bmp.GetPixel(x, y);
|
||||||
var color = (pixel.R + pixel.G + pixel.B) / 3;
|
var color = Math.Min((pixel.R + pixel.G + pixel.B) * contrast / 300, 255);
|
||||||
if (color > 20)
|
if (color > 20)
|
||||||
SetLedPlanar(x / 2, y, (byte)color);
|
SetLedPlanar(x / 2, y, (byte)color);
|
||||||
}
|
}
|
||||||
@@ -468,7 +468,7 @@ namespace Starlight.AnimeMatrix
|
|||||||
Present();
|
Present();
|
||||||
|
|
||||||
}
|
}
|
||||||
public void GenerateFrame(Image image, float zoom = 100, int panX = 0, int panY = 0, InterpolationMode quality = InterpolationMode.Default)
|
public void GenerateFrame(Image image, float zoom = 100, int panX = 0, int panY = 0, InterpolationMode quality = InterpolationMode.Default, int contrast = 100)
|
||||||
{
|
{
|
||||||
int width = MaxColumns / 2 * 6;
|
int width = MaxColumns / 2 * 6;
|
||||||
int height = MaxRows;
|
int height = MaxRows;
|
||||||
@@ -495,11 +495,11 @@ namespace Starlight.AnimeMatrix
|
|||||||
}
|
}
|
||||||
|
|
||||||
Clear();
|
Clear();
|
||||||
SetBitmapLinear(bmp);
|
SetBitmapLinear(bmp, contrast);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void GenerateFrameDiagonal(Image image, float zoom = 100, int panX = 0, int panY = 0, InterpolationMode quality = InterpolationMode.Default)
|
public void GenerateFrameDiagonal(Image image, float zoom = 100, int panX = 0, int panY = 0, InterpolationMode quality = InterpolationMode.Default, int contrast = 100)
|
||||||
{
|
{
|
||||||
int width = MaxRows - FullRows;
|
int width = MaxRows - FullRows;
|
||||||
int height = MaxRows - FullRows*2;
|
int height = MaxRows - FullRows*2;
|
||||||
@@ -523,7 +523,7 @@ namespace Starlight.AnimeMatrix
|
|||||||
}
|
}
|
||||||
|
|
||||||
Clear();
|
Clear();
|
||||||
SetBitmapDiagonal(bmp, -panX, height + panY);
|
SetBitmapDiagonal(bmp, -panX, height + panY, contrast);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -345,7 +345,7 @@ public static class AppConfig
|
|||||||
|
|
||||||
public static bool IsSingleColor()
|
public static bool IsSingleColor()
|
||||||
{
|
{
|
||||||
return ContainsModel("GA401") || ContainsModel("FX517Z") || ContainsModel("FX516P") || ContainsModel("X13");
|
return ContainsModel("GA401") || ContainsModel("FX517Z") || ContainsModel("FX516P") || ContainsModel("X13") || IsARCNM() || ContainsModel("GA502IU");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsStrix()
|
public static bool IsStrix()
|
||||||
@@ -355,7 +355,7 @@ public static class AppConfig
|
|||||||
|
|
||||||
public static bool IsStrixLimitedRGB()
|
public static bool IsStrixLimitedRGB()
|
||||||
{
|
{
|
||||||
return ContainsModel("G614JV") || ContainsModel("G614JZ") || ContainsModel("G512LI") || ContainsModel("G513RS") || ContainsModel("G513RM") || ContainsModel("G713PV") || ContainsModel("G513IE") || ContainsModel("G513QM") || ContainsModel("G713RC");
|
return ContainsModel("G614JV") || ContainsModel("G614JZ") || ContainsModel("G512LI") || ContainsModel("G513R") || ContainsModel("G713PV") || ContainsModel("G513IE") || ContainsModel("G513QM") || ContainsModel("G713RC");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsStrixNumpad()
|
public static bool IsStrixNumpad()
|
||||||
@@ -386,7 +386,7 @@ public static class AppConfig
|
|||||||
|
|
||||||
public static bool NoAutoUltimate()
|
public static bool NoAutoUltimate()
|
||||||
{
|
{
|
||||||
return ContainsModel("G614") || ContainsModel("GU604") || ContainsModel("FX507") || ContainsModel("G513");
|
return ContainsModel("G614") || ContainsModel("GU604") || ContainsModel("FX507") || ContainsModel("G513") || ContainsModel("FA617");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -428,7 +428,7 @@ public static class AppConfig
|
|||||||
|
|
||||||
public static bool IsGPUFixNeeded()
|
public static bool IsGPUFixNeeded()
|
||||||
{
|
{
|
||||||
return ContainsModel("GA402X") || ContainsModel("GV302") || ContainsModel("GV301") || ContainsModel("GZ301") || ContainsModel("FX506") || ContainsModel("GU603V") || ContainsModel("GU603Z");
|
return ContainsModel("GA402X") || ContainsModel("GV302") || ContainsModel("GV301") || ContainsModel("GZ301") || ContainsModel("FX506") || ContainsModel("FA506") || ContainsModel("GU603") || ContainsModel("GU604") || ContainsModel("G614J") || ContainsModel("GA503");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsGPUFix()
|
public static bool IsGPUFix()
|
||||||
|
|||||||
@@ -536,6 +536,7 @@ public class AsusACPI
|
|||||||
|
|
||||||
public bool IsAllAmdPPT()
|
public bool IsAllAmdPPT()
|
||||||
{
|
{
|
||||||
|
//return false;
|
||||||
return DeviceGet(PPT_CPUB0) >= 0 && DeviceGet(PPT_GPUC0) < 0;
|
return DeviceGet(PPT_CPUB0) >= 0 && DeviceGet(PPT_GPUC0) < 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -293,7 +293,7 @@ namespace GHelper
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((!AppConfig.IsStrix() && !AppConfig.IsZ13()) || AppConfig.IsStrixLimitedRGB())
|
if ((!AppConfig.IsStrix() && !AppConfig.IsZ13()) || AppConfig.IsStrixLimitedRGB() || AppConfig.IsARCNM())
|
||||||
{
|
{
|
||||||
labelBacklightLid.Visible = false;
|
labelBacklightLid.Visible = false;
|
||||||
checkAwakeLid.Visible = false;
|
checkAwakeLid.Visible = false;
|
||||||
|
|||||||
127
app/Fans.Designer.cs
generated
127
app/Fans.Designer.cs
generated
@@ -31,14 +31,14 @@ namespace GHelper
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private void InitializeComponent()
|
private void InitializeComponent()
|
||||||
{
|
{
|
||||||
ChartArea chartArea1 = new ChartArea();
|
ChartArea chartArea17 = new ChartArea();
|
||||||
Title title1 = new Title();
|
Title title17 = new Title();
|
||||||
ChartArea chartArea2 = new ChartArea();
|
ChartArea chartArea18 = new ChartArea();
|
||||||
Title title2 = new Title();
|
Title title18 = new Title();
|
||||||
ChartArea chartArea3 = new ChartArea();
|
ChartArea chartArea19 = new ChartArea();
|
||||||
Title title3 = new Title();
|
Title title19 = new Title();
|
||||||
ChartArea chartArea4 = new ChartArea();
|
ChartArea chartArea20 = new ChartArea();
|
||||||
Title title4 = new Title();
|
Title title20 = new Title();
|
||||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Fans));
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Fans));
|
||||||
panelFans = new Panel();
|
panelFans = new Panel();
|
||||||
labelTip = new Label();
|
labelTip = new Label();
|
||||||
@@ -141,6 +141,10 @@ namespace GHelper
|
|||||||
buttonAdvanced = new RButton();
|
buttonAdvanced = new RButton();
|
||||||
buttonGPU = new RButton();
|
buttonGPU = new RButton();
|
||||||
buttonCPU = new RButton();
|
buttonCPU = new RButton();
|
||||||
|
panelA3 = new Panel();
|
||||||
|
labelA3 = new Label();
|
||||||
|
labelLeftA3 = new Label();
|
||||||
|
trackA3 = new TrackBar();
|
||||||
panelFans.SuspendLayout();
|
panelFans.SuspendLayout();
|
||||||
tableFanCharts.SuspendLayout();
|
tableFanCharts.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)chartGPU).BeginInit();
|
((System.ComponentModel.ISupportInitialize)chartGPU).BeginInit();
|
||||||
@@ -195,6 +199,8 @@ namespace GHelper
|
|||||||
((System.ComponentModel.ISupportInitialize)pictureGPU).BeginInit();
|
((System.ComponentModel.ISupportInitialize)pictureGPU).BeginInit();
|
||||||
panelNav.SuspendLayout();
|
panelNav.SuspendLayout();
|
||||||
tableNav.SuspendLayout();
|
tableNav.SuspendLayout();
|
||||||
|
panelA3.SuspendLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)trackA3).BeginInit();
|
||||||
SuspendLayout();
|
SuspendLayout();
|
||||||
//
|
//
|
||||||
// panelFans
|
// panelFans
|
||||||
@@ -251,8 +257,8 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
// chartGPU
|
// chartGPU
|
||||||
//
|
//
|
||||||
chartArea1.Name = "ChartArea1";
|
chartArea17.Name = "ChartArea1";
|
||||||
chartGPU.ChartAreas.Add(chartArea1);
|
chartGPU.ChartAreas.Add(chartArea17);
|
||||||
chartGPU.Dock = DockStyle.Fill;
|
chartGPU.Dock = DockStyle.Fill;
|
||||||
chartGPU.Location = new Point(12, 493);
|
chartGPU.Location = new Point(12, 493);
|
||||||
chartGPU.Margin = new Padding(2, 10, 2, 10);
|
chartGPU.Margin = new Padding(2, 10, 2, 10);
|
||||||
@@ -260,13 +266,13 @@ namespace GHelper
|
|||||||
chartGPU.Size = new Size(782, 463);
|
chartGPU.Size = new Size(782, 463);
|
||||||
chartGPU.TabIndex = 17;
|
chartGPU.TabIndex = 17;
|
||||||
chartGPU.Text = "chartGPU";
|
chartGPU.Text = "chartGPU";
|
||||||
title1.Name = "Title1";
|
title17.Name = "Title1";
|
||||||
chartGPU.Titles.Add(title1);
|
chartGPU.Titles.Add(title17);
|
||||||
//
|
//
|
||||||
// chartCPU
|
// chartCPU
|
||||||
//
|
//
|
||||||
chartArea2.Name = "ChartArea1";
|
chartArea18.Name = "ChartArea1";
|
||||||
chartCPU.ChartAreas.Add(chartArea2);
|
chartCPU.ChartAreas.Add(chartArea18);
|
||||||
chartCPU.Dock = DockStyle.Fill;
|
chartCPU.Dock = DockStyle.Fill;
|
||||||
chartCPU.Location = new Point(12, 10);
|
chartCPU.Location = new Point(12, 10);
|
||||||
chartCPU.Margin = new Padding(2, 10, 2, 10);
|
chartCPU.Margin = new Padding(2, 10, 2, 10);
|
||||||
@@ -274,13 +280,13 @@ namespace GHelper
|
|||||||
chartCPU.Size = new Size(782, 463);
|
chartCPU.Size = new Size(782, 463);
|
||||||
chartCPU.TabIndex = 14;
|
chartCPU.TabIndex = 14;
|
||||||
chartCPU.Text = "chartCPU";
|
chartCPU.Text = "chartCPU";
|
||||||
title2.Name = "Title1";
|
title18.Name = "Title1";
|
||||||
chartCPU.Titles.Add(title2);
|
chartCPU.Titles.Add(title18);
|
||||||
//
|
//
|
||||||
// chartXGM
|
// chartXGM
|
||||||
//
|
//
|
||||||
chartArea3.Name = "ChartAreaXGM";
|
chartArea19.Name = "ChartAreaXGM";
|
||||||
chartXGM.ChartAreas.Add(chartArea3);
|
chartXGM.ChartAreas.Add(chartArea19);
|
||||||
chartXGM.Dock = DockStyle.Fill;
|
chartXGM.Dock = DockStyle.Fill;
|
||||||
chartXGM.Location = new Point(12, 1459);
|
chartXGM.Location = new Point(12, 1459);
|
||||||
chartXGM.Margin = new Padding(2, 10, 2, 10);
|
chartXGM.Margin = new Padding(2, 10, 2, 10);
|
||||||
@@ -288,14 +294,14 @@ namespace GHelper
|
|||||||
chartXGM.Size = new Size(782, 463);
|
chartXGM.Size = new Size(782, 463);
|
||||||
chartXGM.TabIndex = 14;
|
chartXGM.TabIndex = 14;
|
||||||
chartXGM.Text = "chartXGM";
|
chartXGM.Text = "chartXGM";
|
||||||
title3.Name = "Title4";
|
title19.Name = "Title4";
|
||||||
chartXGM.Titles.Add(title3);
|
chartXGM.Titles.Add(title19);
|
||||||
chartXGM.Visible = false;
|
chartXGM.Visible = false;
|
||||||
//
|
//
|
||||||
// chartMid
|
// chartMid
|
||||||
//
|
//
|
||||||
chartArea4.Name = "ChartArea3";
|
chartArea20.Name = "ChartArea3";
|
||||||
chartMid.ChartAreas.Add(chartArea4);
|
chartMid.ChartAreas.Add(chartArea20);
|
||||||
chartMid.Dock = DockStyle.Fill;
|
chartMid.Dock = DockStyle.Fill;
|
||||||
chartMid.Location = new Point(12, 976);
|
chartMid.Location = new Point(12, 976);
|
||||||
chartMid.Margin = new Padding(2, 10, 2, 10);
|
chartMid.Margin = new Padding(2, 10, 2, 10);
|
||||||
@@ -303,8 +309,8 @@ namespace GHelper
|
|||||||
chartMid.Size = new Size(782, 463);
|
chartMid.Size = new Size(782, 463);
|
||||||
chartMid.TabIndex = 14;
|
chartMid.TabIndex = 14;
|
||||||
chartMid.Text = "chartMid";
|
chartMid.Text = "chartMid";
|
||||||
title4.Name = "Title3";
|
title20.Name = "Title3";
|
||||||
chartMid.Titles.Add(title4);
|
chartMid.Titles.Add(title20);
|
||||||
chartMid.Visible = false;
|
chartMid.Visible = false;
|
||||||
//
|
//
|
||||||
// panelTitleFans
|
// panelTitleFans
|
||||||
@@ -523,7 +529,7 @@ namespace GHelper
|
|||||||
panelAdvanced.Controls.Add(panelTemperature);
|
panelAdvanced.Controls.Add(panelTemperature);
|
||||||
panelAdvanced.Controls.Add(panelTitleTemp);
|
panelAdvanced.Controls.Add(panelTitleTemp);
|
||||||
panelAdvanced.Dock = DockStyle.Top;
|
panelAdvanced.Dock = DockStyle.Top;
|
||||||
panelAdvanced.Location = new Point(10, 1520);
|
panelAdvanced.Location = new Point(10, 1644);
|
||||||
panelAdvanced.Name = "panelAdvanced";
|
panelAdvanced.Name = "panelAdvanced";
|
||||||
panelAdvanced.Size = new Size(520, 888);
|
panelAdvanced.Size = new Size(520, 888);
|
||||||
panelAdvanced.TabIndex = 14;
|
panelAdvanced.TabIndex = 14;
|
||||||
@@ -814,6 +820,7 @@ namespace GHelper
|
|||||||
panelPower.Controls.Add(panelApplyPower);
|
panelPower.Controls.Add(panelApplyPower);
|
||||||
panelPower.Controls.Add(panelB0);
|
panelPower.Controls.Add(panelB0);
|
||||||
panelPower.Controls.Add(panelC1);
|
panelPower.Controls.Add(panelC1);
|
||||||
|
panelPower.Controls.Add(panelA3);
|
||||||
panelPower.Controls.Add(panelA0);
|
panelPower.Controls.Add(panelA0);
|
||||||
panelPower.Controls.Add(panelTitleCPU);
|
panelPower.Controls.Add(panelTitleCPU);
|
||||||
panelPower.Controls.Add(panelBoost);
|
panelPower.Controls.Add(panelBoost);
|
||||||
@@ -824,7 +831,7 @@ namespace GHelper
|
|||||||
panelPower.Location = new Point(10, 764);
|
panelPower.Location = new Point(10, 764);
|
||||||
panelPower.Margin = new Padding(4);
|
panelPower.Margin = new Padding(4);
|
||||||
panelPower.Name = "panelPower";
|
panelPower.Name = "panelPower";
|
||||||
panelPower.Size = new Size(520, 756);
|
panelPower.Size = new Size(520, 880);
|
||||||
panelPower.TabIndex = 43;
|
panelPower.TabIndex = 43;
|
||||||
//
|
//
|
||||||
// panelApplyPower
|
// panelApplyPower
|
||||||
@@ -832,7 +839,7 @@ namespace GHelper
|
|||||||
panelApplyPower.AutoSize = true;
|
panelApplyPower.AutoSize = true;
|
||||||
panelApplyPower.Controls.Add(checkApplyPower);
|
panelApplyPower.Controls.Add(checkApplyPower);
|
||||||
panelApplyPower.Dock = DockStyle.Top;
|
panelApplyPower.Dock = DockStyle.Top;
|
||||||
panelApplyPower.Location = new Point(0, 680);
|
panelApplyPower.Location = new Point(0, 804);
|
||||||
panelApplyPower.Name = "panelApplyPower";
|
panelApplyPower.Name = "panelApplyPower";
|
||||||
panelApplyPower.Padding = new Padding(15);
|
panelApplyPower.Padding = new Padding(15);
|
||||||
panelApplyPower.Size = new Size(520, 76);
|
panelApplyPower.Size = new Size(520, 76);
|
||||||
@@ -859,7 +866,7 @@ namespace GHelper
|
|||||||
panelB0.Controls.Add(labelLeftB0);
|
panelB0.Controls.Add(labelLeftB0);
|
||||||
panelB0.Controls.Add(trackB0);
|
panelB0.Controls.Add(trackB0);
|
||||||
panelB0.Dock = DockStyle.Top;
|
panelB0.Dock = DockStyle.Top;
|
||||||
panelB0.Location = new Point(0, 556);
|
panelB0.Location = new Point(0, 680);
|
||||||
panelB0.Margin = new Padding(4);
|
panelB0.Margin = new Padding(4);
|
||||||
panelB0.MaximumSize = new Size(0, 124);
|
panelB0.MaximumSize = new Size(0, 124);
|
||||||
panelB0.Name = "panelB0";
|
panelB0.Name = "panelB0";
|
||||||
@@ -908,7 +915,7 @@ namespace GHelper
|
|||||||
panelC1.Controls.Add(labelLeftC1);
|
panelC1.Controls.Add(labelLeftC1);
|
||||||
panelC1.Controls.Add(trackC1);
|
panelC1.Controls.Add(trackC1);
|
||||||
panelC1.Dock = DockStyle.Top;
|
panelC1.Dock = DockStyle.Top;
|
||||||
panelC1.Location = new Point(0, 432);
|
panelC1.Location = new Point(0, 556);
|
||||||
panelC1.Margin = new Padding(4);
|
panelC1.Margin = new Padding(4);
|
||||||
panelC1.MaximumSize = new Size(0, 124);
|
panelC1.MaximumSize = new Size(0, 124);
|
||||||
panelC1.Name = "panelC1";
|
panelC1.Name = "panelC1";
|
||||||
@@ -972,7 +979,7 @@ namespace GHelper
|
|||||||
labelA0.Name = "labelA0";
|
labelA0.Name = "labelA0";
|
||||||
labelA0.Size = new Size(116, 32);
|
labelA0.Size = new Size(116, 32);
|
||||||
labelA0.TabIndex = 12;
|
labelA0.TabIndex = 12;
|
||||||
labelA0.Text = "SPPT";
|
labelA0.Text = "SPL";
|
||||||
labelA0.TextAlign = ContentAlignment.TopRight;
|
labelA0.TextAlign = ContentAlignment.TopRight;
|
||||||
//
|
//
|
||||||
// labelLeftA0
|
// labelLeftA0
|
||||||
@@ -981,9 +988,9 @@ namespace GHelper
|
|||||||
labelLeftA0.Location = new Point(10, 10);
|
labelLeftA0.Location = new Point(10, 10);
|
||||||
labelLeftA0.Margin = new Padding(4, 0, 4, 0);
|
labelLeftA0.Margin = new Padding(4, 0, 4, 0);
|
||||||
labelLeftA0.Name = "labelLeftA0";
|
labelLeftA0.Name = "labelLeftA0";
|
||||||
labelLeftA0.Size = new Size(66, 32);
|
labelLeftA0.Size = new Size(51, 32);
|
||||||
labelLeftA0.TabIndex = 11;
|
labelLeftA0.TabIndex = 11;
|
||||||
labelLeftA0.Text = "SPPT";
|
labelLeftA0.Text = "SPL";
|
||||||
//
|
//
|
||||||
// trackA0
|
// trackA0
|
||||||
//
|
//
|
||||||
@@ -1527,6 +1534,55 @@ namespace GHelper
|
|||||||
buttonCPU.TextImageRelation = TextImageRelation.ImageBeforeText;
|
buttonCPU.TextImageRelation = TextImageRelation.ImageBeforeText;
|
||||||
buttonCPU.UseVisualStyleBackColor = false;
|
buttonCPU.UseVisualStyleBackColor = false;
|
||||||
//
|
//
|
||||||
|
// panelA3
|
||||||
|
//
|
||||||
|
panelA3.AutoSize = true;
|
||||||
|
panelA3.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||||
|
panelA3.Controls.Add(labelA3);
|
||||||
|
panelA3.Controls.Add(labelLeftA3);
|
||||||
|
panelA3.Controls.Add(trackA3);
|
||||||
|
panelA3.Dock = DockStyle.Top;
|
||||||
|
panelA3.Location = new Point(0, 432);
|
||||||
|
panelA3.Margin = new Padding(4);
|
||||||
|
panelA3.MaximumSize = new Size(0, 124);
|
||||||
|
panelA3.Name = "panelA3";
|
||||||
|
panelA3.Size = new Size(520, 124);
|
||||||
|
panelA3.TabIndex = 51;
|
||||||
|
//
|
||||||
|
// labelA3
|
||||||
|
//
|
||||||
|
labelA3.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||||
|
labelA3.Location = new Point(396, 10);
|
||||||
|
labelA3.Margin = new Padding(4, 0, 4, 0);
|
||||||
|
labelA3.Name = "labelA3";
|
||||||
|
labelA3.Size = new Size(116, 32);
|
||||||
|
labelA3.TabIndex = 12;
|
||||||
|
labelA3.Text = "SPPT";
|
||||||
|
labelA3.TextAlign = ContentAlignment.TopRight;
|
||||||
|
//
|
||||||
|
// labelLeftA3
|
||||||
|
//
|
||||||
|
labelLeftA3.AutoSize = true;
|
||||||
|
labelLeftA3.Location = new Point(10, 10);
|
||||||
|
labelLeftA3.Margin = new Padding(4, 0, 4, 0);
|
||||||
|
labelLeftA3.Name = "labelLeftA3";
|
||||||
|
labelLeftA3.Size = new Size(66, 32);
|
||||||
|
labelLeftA3.TabIndex = 11;
|
||||||
|
labelLeftA3.Text = "SPPT";
|
||||||
|
//
|
||||||
|
// trackA3
|
||||||
|
//
|
||||||
|
trackA3.Location = new Point(6, 48);
|
||||||
|
trackA3.Margin = new Padding(4, 2, 4, 2);
|
||||||
|
trackA3.Maximum = 180;
|
||||||
|
trackA3.Minimum = 10;
|
||||||
|
trackA3.Name = "trackA3";
|
||||||
|
trackA3.Size = new Size(508, 90);
|
||||||
|
trackA3.TabIndex = 10;
|
||||||
|
trackA3.TickFrequency = 5;
|
||||||
|
trackA3.TickStyle = TickStyle.TopLeft;
|
||||||
|
trackA3.Value = 125;
|
||||||
|
//
|
||||||
// Fans
|
// Fans
|
||||||
//
|
//
|
||||||
AutoScaleDimensions = new SizeF(192F, 192F);
|
AutoScaleDimensions = new SizeF(192F, 192F);
|
||||||
@@ -1623,6 +1679,9 @@ namespace GHelper
|
|||||||
((System.ComponentModel.ISupportInitialize)pictureGPU).EndInit();
|
((System.ComponentModel.ISupportInitialize)pictureGPU).EndInit();
|
||||||
panelNav.ResumeLayout(false);
|
panelNav.ResumeLayout(false);
|
||||||
tableNav.ResumeLayout(false);
|
tableNav.ResumeLayout(false);
|
||||||
|
panelA3.ResumeLayout(false);
|
||||||
|
panelA3.PerformLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)trackA3).EndInit();
|
||||||
ResumeLayout(false);
|
ResumeLayout(false);
|
||||||
PerformLayout();
|
PerformLayout();
|
||||||
}
|
}
|
||||||
@@ -1730,5 +1789,9 @@ namespace GHelper
|
|||||||
private TrackBar trackGPUClockLimit;
|
private TrackBar trackGPUClockLimit;
|
||||||
private Label labelGPUClockLimitTitle;
|
private Label labelGPUClockLimitTitle;
|
||||||
private RButton buttonCalibrate;
|
private RButton buttonCalibrate;
|
||||||
|
private Panel panelA3;
|
||||||
|
private Label labelA3;
|
||||||
|
private Label labelLeftA3;
|
||||||
|
private TrackBar trackA3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
43
app/Fans.cs
43
app/Fans.cs
@@ -106,6 +106,9 @@ namespace GHelper
|
|||||||
trackA0.Maximum = AsusACPI.MaxTotal;
|
trackA0.Maximum = AsusACPI.MaxTotal;
|
||||||
trackA0.Minimum = AsusACPI.MinTotal;
|
trackA0.Minimum = AsusACPI.MinTotal;
|
||||||
|
|
||||||
|
trackA3.Maximum = AsusACPI.MaxTotal;
|
||||||
|
trackA3.Minimum = AsusACPI.MinTotal;
|
||||||
|
|
||||||
trackB0.Maximum = AsusACPI.MaxCPU;
|
trackB0.Maximum = AsusACPI.MaxCPU;
|
||||||
trackB0.Minimum = AsusACPI.MinCPU;
|
trackB0.Minimum = AsusACPI.MinCPU;
|
||||||
|
|
||||||
@@ -115,10 +118,12 @@ namespace GHelper
|
|||||||
trackC1.Scroll += TrackPower_Scroll;
|
trackC1.Scroll += TrackPower_Scroll;
|
||||||
trackB0.Scroll += TrackPower_Scroll;
|
trackB0.Scroll += TrackPower_Scroll;
|
||||||
trackA0.Scroll += TrackPower_Scroll;
|
trackA0.Scroll += TrackPower_Scroll;
|
||||||
|
trackA3.Scroll += TrackPower_Scroll;
|
||||||
|
|
||||||
trackC1.MouseUp += TrackPower_MouseUp;
|
trackC1.MouseUp += TrackPower_MouseUp;
|
||||||
trackB0.MouseUp += TrackPower_MouseUp;
|
trackB0.MouseUp += TrackPower_MouseUp;
|
||||||
trackA0.MouseUp += TrackPower_MouseUp;
|
trackA0.MouseUp += TrackPower_MouseUp;
|
||||||
|
trackA3.MouseUp += TrackPower_MouseUp;
|
||||||
|
|
||||||
checkApplyFans.Click += CheckApplyFans_Click;
|
checkApplyFans.Click += CheckApplyFans_Click;
|
||||||
checkApplyPower.Click += CheckApplyPower_Click;
|
checkApplyPower.Click += CheckApplyPower_Click;
|
||||||
@@ -594,7 +599,7 @@ namespace GHelper
|
|||||||
int Max = FanSensorControl.GetFanMax(device);
|
int Max = FanSensorControl.GetFanMax(device);
|
||||||
|
|
||||||
if (fanRpm)
|
if (fanRpm)
|
||||||
return (200 * Math.Round((float)(Min * 100 + (Max - Min) * percentage) / 200)).ToString() + unit;
|
return (200 * Math.Floor((float)(Min * 100 + (Max - Min) * percentage) / 200)).ToString() + unit;
|
||||||
else
|
else
|
||||||
return percentage + "%";
|
return percentage + "%";
|
||||||
}
|
}
|
||||||
@@ -785,6 +790,7 @@ namespace GHelper
|
|||||||
{
|
{
|
||||||
|
|
||||||
bool modeA0 = (Program.acpi.DeviceGet(AsusACPI.PPT_TotalA0) >= 0 || RyzenControl.IsAMD());
|
bool modeA0 = (Program.acpi.DeviceGet(AsusACPI.PPT_TotalA0) >= 0 || RyzenControl.IsAMD());
|
||||||
|
bool modeA3 = Program.acpi.DeviceGet(AsusACPI.PPT_APUA3) >= 0;
|
||||||
bool modeB0 = Program.acpi.IsAllAmdPPT();
|
bool modeB0 = Program.acpi.IsAllAmdPPT();
|
||||||
bool modeC1 = Program.acpi.DeviceGet(AsusACPI.PPT_APUC1) >= 0;
|
bool modeC1 = Program.acpi.DeviceGet(AsusACPI.PPT_APUC1) >= 0;
|
||||||
|
|
||||||
@@ -800,19 +806,31 @@ namespace GHelper
|
|||||||
labelLeftA0.Text = "Platform (CPU + GPU)";
|
labelLeftA0.Text = "Platform (CPU + GPU)";
|
||||||
labelLeftB0.Text = "CPU";
|
labelLeftB0.Text = "CPU";
|
||||||
panelC1.Visible = false;
|
panelC1.Visible = false;
|
||||||
|
panelA3.Visible = false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (RyzenControl.IsAMD())
|
panelA3.Visible = modeA3;
|
||||||
labelLeftA0.Text = "CPU Slow (SPL + sPPT)";
|
|
||||||
else
|
if (RyzenControl.IsAMD())
|
||||||
labelLeftA0.Text = "CPU (PL1 + PL2)";
|
{
|
||||||
|
labelLeftA0.Text = "CPU Sustained (SPL)";
|
||||||
|
labelLeftA3.Text = "CPU Slow (sPPT)";
|
||||||
|
labelLeftC1.Text = "CPU Fast (fPPT)";
|
||||||
|
panelC1.Visible = modeC1;
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
labelLeftA0.Text = "CPU Slow (PL1)";
|
||||||
|
labelLeftA3.Text = "CPU Fast (PL2)";
|
||||||
|
panelC1.Visible = false;
|
||||||
|
}
|
||||||
|
|
||||||
labelLeftC1.Text = "CPU Fast (fPPT)";
|
|
||||||
panelC1.Visible = modeC1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int limit_total;
|
int limit_total;
|
||||||
|
int limit_slow;
|
||||||
int limit_cpu;
|
int limit_cpu;
|
||||||
int limit_fast;
|
int limit_fast;
|
||||||
|
|
||||||
@@ -821,12 +839,14 @@ namespace GHelper
|
|||||||
if (changed)
|
if (changed)
|
||||||
{
|
{
|
||||||
limit_total = trackA0.Value;
|
limit_total = trackA0.Value;
|
||||||
|
limit_slow = trackA3.Value;
|
||||||
limit_cpu = trackB0.Value;
|
limit_cpu = trackB0.Value;
|
||||||
limit_fast = trackC1.Value;
|
limit_fast = trackC1.Value;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
limit_total = AppConfig.GetMode("limit_total");
|
limit_total = AppConfig.GetMode("limit_total");
|
||||||
|
limit_slow = AppConfig.GetMode("limit_slow");
|
||||||
limit_cpu = AppConfig.GetMode("limit_cpu");
|
limit_cpu = AppConfig.GetMode("limit_cpu");
|
||||||
limit_fast = AppConfig.GetMode("limit_fast");
|
limit_fast = AppConfig.GetMode("limit_fast");
|
||||||
}
|
}
|
||||||
@@ -840,21 +860,28 @@ namespace GHelper
|
|||||||
if (limit_cpu < AsusACPI.MinCPU) limit_cpu = AsusACPI.MinCPU;
|
if (limit_cpu < AsusACPI.MinCPU) limit_cpu = AsusACPI.MinCPU;
|
||||||
if (limit_cpu > limit_total) limit_cpu = limit_total;
|
if (limit_cpu > limit_total) limit_cpu = limit_total;
|
||||||
|
|
||||||
|
if (limit_slow < 0) limit_slow = limit_total;
|
||||||
|
if (limit_slow > AsusACPI.MaxTotal) limit_slow = AsusACPI.MaxTotal;
|
||||||
|
if (limit_slow < AsusACPI.MinTotal) limit_slow = AsusACPI.MinTotal;
|
||||||
|
|
||||||
if (limit_fast < 0) limit_fast = AsusACPI.DefaultTotal;
|
if (limit_fast < 0) limit_fast = AsusACPI.DefaultTotal;
|
||||||
if (limit_fast > AsusACPI.MaxTotal) limit_fast = AsusACPI.MaxTotal;
|
if (limit_fast > AsusACPI.MaxTotal) limit_fast = AsusACPI.MaxTotal;
|
||||||
if (limit_fast < AsusACPI.MinTotal) limit_fast = AsusACPI.MinTotal;
|
if (limit_fast < AsusACPI.MinTotal) limit_fast = AsusACPI.MinTotal;
|
||||||
|
|
||||||
trackA0.Value = limit_total;
|
trackA0.Value = limit_total;
|
||||||
|
trackA3.Value = limit_slow;
|
||||||
trackB0.Value = limit_cpu;
|
trackB0.Value = limit_cpu;
|
||||||
trackC1.Value = limit_fast;
|
trackC1.Value = limit_fast;
|
||||||
|
|
||||||
checkApplyPower.Checked = apply;
|
checkApplyPower.Checked = apply;
|
||||||
|
|
||||||
labelA0.Text = trackA0.Value.ToString() + "W";
|
labelA0.Text = trackA0.Value.ToString() + "W";
|
||||||
|
labelA3.Text = trackA3.Value.ToString() + "W";
|
||||||
labelB0.Text = trackB0.Value.ToString() + "W";
|
labelB0.Text = trackB0.Value.ToString() + "W";
|
||||||
labelC1.Text = trackC1.Value.ToString() + "W";
|
labelC1.Text = trackC1.Value.ToString() + "W";
|
||||||
|
|
||||||
AppConfig.SetMode("limit_total", limit_total);
|
AppConfig.SetMode("limit_total", limit_total);
|
||||||
|
AppConfig.SetMode("limit_slow", limit_slow);
|
||||||
AppConfig.SetMode("limit_cpu", limit_cpu);
|
AppConfig.SetMode("limit_cpu", limit_cpu);
|
||||||
AppConfig.SetMode("limit_fast", limit_fast);
|
AppConfig.SetMode("limit_fast", limit_fast);
|
||||||
|
|
||||||
@@ -1123,7 +1150,7 @@ namespace GHelper
|
|||||||
tip = true;
|
tip = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
labelTip.Text = Math.Round(curPoint.XValue) + "C, " + ChartYLabel((int)curPoint.YValues[0], device, " " + Properties.Strings.RPM);
|
labelTip.Text = Math.Floor(curPoint.XValue) + "C, " + ChartYLabel((int)curPoint.YValues[0], device, " " + Properties.Strings.RPM);
|
||||||
labelTip.Top = e.Y + ((Control)sender).Top;
|
labelTip.Top = e.Y + ((Control)sender).Top;
|
||||||
labelTip.Left = e.X - 50;
|
labelTip.Left = e.X - 50;
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
||||||
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
||||||
<AssemblyVersion>0.136</AssemblyVersion>
|
<AssemblyVersion>0.140</AssemblyVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||||
|
|||||||
@@ -26,6 +26,38 @@ namespace GHelper.Helpers
|
|||||||
(color1.B + color2.B) / 2);
|
(color1.B + color2.B) / 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Color GetDominantColor(Bitmap bmp)
|
||||||
|
{
|
||||||
|
|
||||||
|
//Used for tally
|
||||||
|
int r = 0;
|
||||||
|
int g = 0;
|
||||||
|
int b = 0;
|
||||||
|
|
||||||
|
int total = 0;
|
||||||
|
|
||||||
|
for (int x = 0; x < bmp.Width; x++)
|
||||||
|
{
|
||||||
|
for (int y = 0; y < bmp.Height; y++)
|
||||||
|
{
|
||||||
|
Color clr = bmp.GetPixel(x, y);
|
||||||
|
|
||||||
|
r += clr.R;
|
||||||
|
g += clr.G;
|
||||||
|
b += clr.B;
|
||||||
|
|
||||||
|
total++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//Calculate average
|
||||||
|
r /= total;
|
||||||
|
g /= total;
|
||||||
|
b /= total;
|
||||||
|
|
||||||
|
return Color.FromArgb(r, g, b);
|
||||||
|
}
|
||||||
|
|
||||||
public class HSV
|
public class HSV
|
||||||
{
|
{
|
||||||
public double Hue { get; set; }
|
public double Hue { get; set; }
|
||||||
|
|||||||
@@ -634,13 +634,19 @@ namespace GHelper.Input
|
|||||||
{
|
{
|
||||||
case 16: // FN+F7
|
case 16: // FN+F7
|
||||||
if (Control.ModifierKeys == Keys.Shift)
|
if (Control.ModifierKeys == Keys.Shift)
|
||||||
SetScreenpad(-10);
|
{
|
||||||
|
if (AppConfig.IsDUO()) SetScreenpad(-10);
|
||||||
|
else Program.settingsForm.BeginInvoke(Program.settingsForm.CycleMatrix, -1);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
Program.acpi.DeviceSet(AsusACPI.UniversalControl, AsusACPI.Brightness_Down, "Brightness");
|
Program.acpi.DeviceSet(AsusACPI.UniversalControl, AsusACPI.Brightness_Down, "Brightness");
|
||||||
break;
|
break;
|
||||||
case 32: // FN+F8
|
case 32: // FN+F8
|
||||||
if (Control.ModifierKeys == Keys.Shift)
|
if (Control.ModifierKeys == Keys.Shift)
|
||||||
SetScreenpad(10);
|
{
|
||||||
|
if (AppConfig.IsDUO()) SetScreenpad(10);
|
||||||
|
else Program.settingsForm.BeginInvoke(Program.settingsForm.CycleMatrix, 1);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
Program.acpi.DeviceSet(AsusACPI.UniversalControl, AsusACPI.Brightness_Up, "Brightness");
|
Program.acpi.DeviceSet(AsusACPI.UniversalControl, AsusACPI.Brightness_Up, "Brightness");
|
||||||
break;
|
break;
|
||||||
|
|||||||
67
app/Matrix.Designer.cs
generated
67
app/Matrix.Designer.cs
generated
@@ -35,6 +35,10 @@
|
|||||||
panelMain = new Panel();
|
panelMain = new Panel();
|
||||||
panelButtons = new Panel();
|
panelButtons = new Panel();
|
||||||
buttonReset = new UI.RButton();
|
buttonReset = new UI.RButton();
|
||||||
|
panelContrast = new Panel();
|
||||||
|
labelContrast = new Label();
|
||||||
|
labelContrastTitle = new Label();
|
||||||
|
trackContrast = new TrackBar();
|
||||||
panelRotation = new Panel();
|
panelRotation = new Panel();
|
||||||
comboRotation = new UI.RComboBox();
|
comboRotation = new UI.RComboBox();
|
||||||
labelRotation = new Label();
|
labelRotation = new Label();
|
||||||
@@ -49,6 +53,8 @@
|
|||||||
panelPicture.SuspendLayout();
|
panelPicture.SuspendLayout();
|
||||||
panelMain.SuspendLayout();
|
panelMain.SuspendLayout();
|
||||||
panelButtons.SuspendLayout();
|
panelButtons.SuspendLayout();
|
||||||
|
panelContrast.SuspendLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)trackContrast).BeginInit();
|
||||||
panelRotation.SuspendLayout();
|
panelRotation.SuspendLayout();
|
||||||
panelScaling.SuspendLayout();
|
panelScaling.SuspendLayout();
|
||||||
panelZoom.SuspendLayout();
|
panelZoom.SuspendLayout();
|
||||||
@@ -111,6 +117,7 @@
|
|||||||
//
|
//
|
||||||
panelMain.AutoSize = true;
|
panelMain.AutoSize = true;
|
||||||
panelMain.Controls.Add(panelButtons);
|
panelMain.Controls.Add(panelButtons);
|
||||||
|
panelMain.Controls.Add(panelContrast);
|
||||||
panelMain.Controls.Add(panelRotation);
|
panelMain.Controls.Add(panelRotation);
|
||||||
panelMain.Controls.Add(panelScaling);
|
panelMain.Controls.Add(panelScaling);
|
||||||
panelMain.Controls.Add(panelZoom);
|
panelMain.Controls.Add(panelZoom);
|
||||||
@@ -118,7 +125,7 @@
|
|||||||
panelMain.Dock = DockStyle.Top;
|
panelMain.Dock = DockStyle.Top;
|
||||||
panelMain.Location = new Point(20, 20);
|
panelMain.Location = new Point(20, 20);
|
||||||
panelMain.Name = "panelMain";
|
panelMain.Name = "panelMain";
|
||||||
panelMain.Size = new Size(834, 814);
|
panelMain.Size = new Size(834, 959);
|
||||||
panelMain.TabIndex = 5;
|
panelMain.TabIndex = 5;
|
||||||
//
|
//
|
||||||
// panelButtons
|
// panelButtons
|
||||||
@@ -126,7 +133,7 @@
|
|||||||
panelButtons.Controls.Add(buttonReset);
|
panelButtons.Controls.Add(buttonReset);
|
||||||
panelButtons.Controls.Add(buttonPicture);
|
panelButtons.Controls.Add(buttonPicture);
|
||||||
panelButtons.Dock = DockStyle.Top;
|
panelButtons.Dock = DockStyle.Top;
|
||||||
panelButtons.Location = new Point(0, 720);
|
panelButtons.Location = new Point(0, 865);
|
||||||
panelButtons.Name = "panelButtons";
|
panelButtons.Name = "panelButtons";
|
||||||
panelButtons.Size = new Size(834, 94);
|
panelButtons.Size = new Size(834, 94);
|
||||||
panelButtons.TabIndex = 6;
|
panelButtons.TabIndex = 6;
|
||||||
@@ -150,6 +157,53 @@
|
|||||||
buttonReset.TextImageRelation = TextImageRelation.ImageBeforeText;
|
buttonReset.TextImageRelation = TextImageRelation.ImageBeforeText;
|
||||||
buttonReset.UseVisualStyleBackColor = false;
|
buttonReset.UseVisualStyleBackColor = false;
|
||||||
//
|
//
|
||||||
|
// panelContrast
|
||||||
|
//
|
||||||
|
panelContrast.AutoSize = true;
|
||||||
|
panelContrast.Controls.Add(labelContrast);
|
||||||
|
panelContrast.Controls.Add(labelContrastTitle);
|
||||||
|
panelContrast.Controls.Add(trackContrast);
|
||||||
|
panelContrast.Dock = DockStyle.Top;
|
||||||
|
panelContrast.Location = new Point(0, 720);
|
||||||
|
panelContrast.Name = "panelContrast";
|
||||||
|
panelContrast.Size = new Size(834, 145);
|
||||||
|
panelContrast.TabIndex = 6;
|
||||||
|
//
|
||||||
|
// labelContrast
|
||||||
|
//
|
||||||
|
labelContrast.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
||||||
|
labelContrast.AutoSize = true;
|
||||||
|
labelContrast.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
|
||||||
|
labelContrast.Location = new Point(705, 17);
|
||||||
|
labelContrast.Name = "labelContrast";
|
||||||
|
labelContrast.Size = new Size(103, 32);
|
||||||
|
labelContrast.TabIndex = 4;
|
||||||
|
labelContrast.Text = "Contrast";
|
||||||
|
//
|
||||||
|
// labelContrastTitle
|
||||||
|
//
|
||||||
|
labelContrastTitle.AutoSize = true;
|
||||||
|
labelContrastTitle.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||||
|
labelContrastTitle.Location = new Point(16, 17);
|
||||||
|
labelContrastTitle.Name = "labelContrastTitle";
|
||||||
|
labelContrastTitle.Size = new Size(111, 32);
|
||||||
|
labelContrastTitle.TabIndex = 3;
|
||||||
|
labelContrastTitle.Text = "Contrast";
|
||||||
|
//
|
||||||
|
// trackContrast
|
||||||
|
//
|
||||||
|
trackContrast.LargeChange = 50;
|
||||||
|
trackContrast.Location = new Point(16, 52);
|
||||||
|
trackContrast.Maximum = 200;
|
||||||
|
trackContrast.Minimum = 10;
|
||||||
|
trackContrast.Name = "trackContrast";
|
||||||
|
trackContrast.Size = new Size(782, 90);
|
||||||
|
trackContrast.SmallChange = 10;
|
||||||
|
trackContrast.TabIndex = 2;
|
||||||
|
trackContrast.TickFrequency = 20;
|
||||||
|
trackContrast.TickStyle = TickStyle.TopLeft;
|
||||||
|
trackContrast.Value = 100;
|
||||||
|
//
|
||||||
// panelRotation
|
// panelRotation
|
||||||
//
|
//
|
||||||
panelRotation.Controls.Add(comboRotation);
|
panelRotation.Controls.Add(comboRotation);
|
||||||
@@ -256,7 +310,7 @@
|
|||||||
AutoScaleDimensions = new SizeF(192F, 192F);
|
AutoScaleDimensions = new SizeF(192F, 192F);
|
||||||
AutoScaleMode = AutoScaleMode.Dpi;
|
AutoScaleMode = AutoScaleMode.Dpi;
|
||||||
AutoSize = true;
|
AutoSize = true;
|
||||||
ClientSize = new Size(874, 978);
|
ClientSize = new Size(874, 1006);
|
||||||
Controls.Add(panelMain);
|
Controls.Add(panelMain);
|
||||||
MaximizeBox = false;
|
MaximizeBox = false;
|
||||||
MinimizeBox = false;
|
MinimizeBox = false;
|
||||||
@@ -272,6 +326,9 @@
|
|||||||
panelMain.ResumeLayout(false);
|
panelMain.ResumeLayout(false);
|
||||||
panelMain.PerformLayout();
|
panelMain.PerformLayout();
|
||||||
panelButtons.ResumeLayout(false);
|
panelButtons.ResumeLayout(false);
|
||||||
|
panelContrast.ResumeLayout(false);
|
||||||
|
panelContrast.PerformLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)trackContrast).EndInit();
|
||||||
panelRotation.ResumeLayout(false);
|
panelRotation.ResumeLayout(false);
|
||||||
panelRotation.PerformLayout();
|
panelRotation.PerformLayout();
|
||||||
panelScaling.ResumeLayout(false);
|
panelScaling.ResumeLayout(false);
|
||||||
@@ -300,5 +357,9 @@
|
|||||||
private Panel panelRotation;
|
private Panel panelRotation;
|
||||||
private UI.RComboBox comboRotation;
|
private UI.RComboBox comboRotation;
|
||||||
private Label labelRotation;
|
private Label labelRotation;
|
||||||
|
private Panel panelContrast;
|
||||||
|
private Label labelContrast;
|
||||||
|
private Label labelContrastTitle;
|
||||||
|
private TrackBar trackContrast;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -37,9 +37,13 @@ namespace GHelper
|
|||||||
|
|
||||||
trackZoom.MouseUp += TrackZoom_MouseUp;
|
trackZoom.MouseUp += TrackZoom_MouseUp;
|
||||||
trackZoom.ValueChanged += TrackZoom_Changed;
|
trackZoom.ValueChanged += TrackZoom_Changed;
|
||||||
|
|
||||||
trackZoom.Value = Math.Min(trackZoom.Maximum, AppConfig.Get("matrix_zoom", 100));
|
trackZoom.Value = Math.Min(trackZoom.Maximum, AppConfig.Get("matrix_zoom", 100));
|
||||||
VisualiseZoom();
|
|
||||||
|
trackContrast.MouseUp += TrackContrast_MouseUp; ;
|
||||||
|
trackContrast.ValueChanged += TrackContrast_ValueChanged; ;
|
||||||
|
trackContrast.Value = Math.Min(trackContrast.Maximum, AppConfig.Get("matrix_contrast", 100));
|
||||||
|
|
||||||
|
VisualiseMatrix();
|
||||||
|
|
||||||
comboScaling.DropDownStyle = ComboBoxStyle.DropDownList;
|
comboScaling.DropDownStyle = ComboBoxStyle.DropDownList;
|
||||||
comboScaling.SelectedIndex = AppConfig.Get("matrix_quality", 0);
|
comboScaling.SelectedIndex = AppConfig.Get("matrix_quality", 0);
|
||||||
@@ -55,6 +59,17 @@ namespace GHelper
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void TrackContrast_ValueChanged(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
VisualiseMatrix();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void TrackContrast_MouseUp(object? sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
AppConfig.Set("matrix_contrast", trackContrast.Value);
|
||||||
|
SetMatrixPicture();
|
||||||
|
}
|
||||||
|
|
||||||
private void ComboRotation_SelectedValueChanged(object? sender, EventArgs e)
|
private void ComboRotation_SelectedValueChanged(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
AppConfig.Set("matrix_rotation", comboRotation.SelectedIndex);
|
AppConfig.Set("matrix_rotation", comboRotation.SelectedIndex);
|
||||||
@@ -77,18 +92,21 @@ namespace GHelper
|
|||||||
GC.Collect(GC.MaxGeneration, GCCollectionMode.Forced);
|
GC.Collect(GC.MaxGeneration, GCCollectionMode.Forced);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void VisualiseZoom()
|
private void VisualiseMatrix()
|
||||||
{
|
{
|
||||||
labelZoom.Text = trackZoom.Value + "%";
|
labelZoom.Text = trackZoom.Value + "%";
|
||||||
|
labelContrast.Text = trackContrast.Value + "%";
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ButtonReset_Click(object? sender, EventArgs e)
|
private void ButtonReset_Click(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
AppConfig.Set("matrix_contrast", 100);
|
||||||
AppConfig.Set("matrix_zoom", 100);
|
AppConfig.Set("matrix_zoom", 100);
|
||||||
AppConfig.Set("matrix_x", 0);
|
AppConfig.Set("matrix_x", 0);
|
||||||
AppConfig.Set("matrix_y", 0);
|
AppConfig.Set("matrix_y", 0);
|
||||||
|
|
||||||
trackZoom.Value = 100;
|
trackZoom.Value = 100;
|
||||||
|
trackContrast.Value = 100;
|
||||||
|
|
||||||
SetMatrixPicture();
|
SetMatrixPicture();
|
||||||
|
|
||||||
@@ -102,7 +120,7 @@ namespace GHelper
|
|||||||
|
|
||||||
private void TrackZoom_Changed(object? sender, EventArgs e)
|
private void TrackZoom_Changed(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
VisualiseZoom();
|
VisualiseMatrix();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -195,7 +213,6 @@ namespace GHelper
|
|||||||
int matrixY = AppConfig.Get("matrix_y", 0);
|
int matrixY = AppConfig.Get("matrix_y", 0);
|
||||||
int matrixZoom = AppConfig.Get("matrix_zoom", 100);
|
int matrixZoom = AppConfig.Get("matrix_zoom", 100);
|
||||||
|
|
||||||
|
|
||||||
float scale = Math.Min((float)panelPicture.Width / (float)width, (float)panelPicture.Height / (float)height) * matrixZoom / 100;
|
float scale = Math.Min((float)panelPicture.Width / (float)width, (float)panelPicture.Height / (float)height) * matrixZoom / 100;
|
||||||
|
|
||||||
pictureMatrix.Width = (int)(width * scale);
|
pictureMatrix.Width = (int)(width * scale);
|
||||||
|
|||||||
@@ -239,10 +239,15 @@ namespace GHelper.Mode
|
|||||||
public void SetPower(bool launchAsAdmin = false)
|
public void SetPower(bool launchAsAdmin = false)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
bool allAMD = Program.acpi.IsAllAmdPPT();
|
||||||
|
|
||||||
int limit_total = AppConfig.GetMode("limit_total");
|
int limit_total = AppConfig.GetMode("limit_total");
|
||||||
int limit_cpu = AppConfig.GetMode("limit_cpu");
|
int limit_cpu = AppConfig.GetMode("limit_cpu");
|
||||||
|
int limit_slow = AppConfig.GetMode("limit_slow");
|
||||||
int limit_fast = AppConfig.GetMode("limit_fast");
|
int limit_fast = AppConfig.GetMode("limit_fast");
|
||||||
|
|
||||||
|
if (limit_slow < 0 || allAMD) limit_slow = limit_total;
|
||||||
|
|
||||||
if (limit_total > AsusACPI.MaxTotal) return;
|
if (limit_total > AsusACPI.MaxTotal) return;
|
||||||
if (limit_total < AsusACPI.MinTotal) return;
|
if (limit_total < AsusACPI.MinTotal) return;
|
||||||
|
|
||||||
@@ -252,11 +257,14 @@ namespace GHelper.Mode
|
|||||||
if (limit_fast > AsusACPI.MaxTotal) return;
|
if (limit_fast > AsusACPI.MaxTotal) return;
|
||||||
if (limit_fast < AsusACPI.MinTotal) return;
|
if (limit_fast < AsusACPI.MinTotal) return;
|
||||||
|
|
||||||
// SPL + SPPT togeher in one slider
|
if (limit_slow > AsusACPI.MaxTotal) return;
|
||||||
|
if (limit_slow < AsusACPI.MinTotal) return;
|
||||||
|
|
||||||
|
// SPL and SPPT
|
||||||
if (Program.acpi.DeviceGet(AsusACPI.PPT_TotalA0) >= 0)
|
if (Program.acpi.DeviceGet(AsusACPI.PPT_TotalA0) >= 0)
|
||||||
{
|
{
|
||||||
Program.acpi.DeviceSet(AsusACPI.PPT_TotalA0, limit_total, "PowerLimit A0");
|
Program.acpi.DeviceSet(AsusACPI.PPT_TotalA0, limit_total, "PowerLimit A0");
|
||||||
Program.acpi.DeviceSet(AsusACPI.PPT_APUA3, limit_total, "PowerLimit A3");
|
Program.acpi.DeviceSet(AsusACPI.PPT_APUA3, limit_slow, "PowerLimit A3");
|
||||||
customPower = limit_total;
|
customPower = limit_total;
|
||||||
}
|
}
|
||||||
else if (RyzenControl.IsAMD())
|
else if (RyzenControl.IsAMD())
|
||||||
|
|||||||
@@ -39,9 +39,9 @@
|
|||||||
"mode_base",
|
"mode_base",
|
||||||
"mode_name",
|
"mode_name",
|
||||||
"limit_total",
|
"limit_total",
|
||||||
|
"limit_slow",
|
||||||
"limit_fast",
|
"limit_fast",
|
||||||
"limit_cpu",
|
"limit_cpu",
|
||||||
"limit_total",
|
|
||||||
"fan_profile_cpu",
|
"fan_profile_cpu",
|
||||||
"fan_profile_gpu",
|
"fan_profile_gpu",
|
||||||
"fan_profile_mid",
|
"fan_profile_mid",
|
||||||
|
|||||||
@@ -7,6 +7,10 @@
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public TUFM3(ushort productId, string path) : base(0x0B05, productId, path, false)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public override int DPIProfileCount()
|
public override int DPIProfileCount()
|
||||||
{
|
{
|
||||||
return 4;
|
return 4;
|
||||||
@@ -109,4 +113,16 @@
|
|||||||
|| lightingMode == LightingMode.React;
|
|| lightingMode == LightingMode.React;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class TUFM3GenII : TUFM3
|
||||||
|
{
|
||||||
|
public TUFM3GenII() : base(0x1A9B, "mi_02")
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string GetDisplayName()
|
||||||
|
{
|
||||||
|
return "TUF GAMING M3 (Gen II)";
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -200,6 +200,7 @@ namespace GHelper.Peripherals
|
|||||||
DetectMouse(new HarpeAceAimLabEditionWired());
|
DetectMouse(new HarpeAceAimLabEditionWired());
|
||||||
DetectMouse(new HarpeAceAimLabEditionOmni());
|
DetectMouse(new HarpeAceAimLabEditionOmni());
|
||||||
DetectMouse(new TUFM3());
|
DetectMouse(new TUFM3());
|
||||||
|
DetectMouse(new TUFM3GenII());
|
||||||
DetectMouse(new TUFM5());
|
DetectMouse(new TUFM5());
|
||||||
DetectMouse(new KerisWirelssAimpoint());
|
DetectMouse(new KerisWirelssAimpoint());
|
||||||
DetectMouse(new KerisWirelssAimpointWired());
|
DetectMouse(new KerisWirelssAimpointWired());
|
||||||
|
|||||||
@@ -124,10 +124,10 @@
|
|||||||
<value>Connexion impossible avec ASUS ACPI. L'application ne peut fonctionner sans. Veuillez installer Asus System Control Interface</value>
|
<value>Connexion impossible avec ASUS ACPI. L'application ne peut fonctionner sans. Veuillez installer Asus System Control Interface</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AlertAPUMemoryRestart" xml:space="preserve">
|
<data name="AlertAPUMemoryRestart" xml:space="preserve">
|
||||||
<value>Restart your device to apply changes</value>
|
<value>Redémarrez votre appareil pour appliquer les modifications</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AlertAPUMemoryRestartTitle" xml:space="preserve">
|
<data name="AlertAPUMemoryRestartTitle" xml:space="preserve">
|
||||||
<value>Restart now?</value>
|
<value>Redémarrer maintenant ?</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AlertDGPU" xml:space="preserve">
|
<data name="AlertDGPU" xml:space="preserve">
|
||||||
<value>Le GPU semble être surchargé, voulez vous le désactiver ?</value>
|
<value>Le GPU semble être surchargé, voulez vous le désactiver ?</value>
|
||||||
@@ -169,7 +169,7 @@
|
|||||||
<value>Ajustement auto des modes de gestion alim. Windows</value>
|
<value>Ajustement auto des modes de gestion alim. Windows</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="APUMemory" xml:space="preserve">
|
<data name="APUMemory" xml:space="preserve">
|
||||||
<value>Memory Assigned to GPU</value>
|
<value>Mémoire attribuée au GPU</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AsusServicesRunning" xml:space="preserve">
|
<data name="AsusServicesRunning" xml:space="preserve">
|
||||||
<value>Services Asus actifs</value>
|
<value>Services Asus actifs</value>
|
||||||
@@ -247,7 +247,7 @@
|
|||||||
<value>Allumé</value>
|
<value>Allumé</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BacklightTimeout" xml:space="preserve">
|
<data name="BacklightTimeout" xml:space="preserve">
|
||||||
<value>Délai d'activation de la batterie (0 - ON)</value>
|
<value>Délai branché / sur batterie (0 - ON)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Balanced" xml:space="preserve">
|
<data name="Balanced" xml:space="preserve">
|
||||||
<value>Équilibré</value>
|
<value>Équilibré</value>
|
||||||
@@ -354,7 +354,7 @@ Voulez-vous continuer ?</value>
|
|||||||
<value>Profil du ventilateur central</value>
|
<value>Profil du ventilateur central</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FanProfiles" xml:space="preserve">
|
<data name="FanProfiles" xml:space="preserve">
|
||||||
<value>Profil</value>
|
<value>Profil des ventilateurs</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FansAndPower" xml:space="preserve">
|
<data name="FansAndPower" xml:space="preserve">
|
||||||
<value>Ventilateurs + Puissance</value>
|
<value>Ventilateurs + Puissance</value>
|
||||||
@@ -399,7 +399,7 @@ Voulez-vous continuer ?</value>
|
|||||||
<value>Température cible</value>
|
<value>Température cible</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="HibernateAfter" xml:space="preserve">
|
<data name="HibernateAfter" xml:space="preserve">
|
||||||
<value>Minutes jusqu'à la mise en veille prolongée sur la batterie (0 - OFF)</value>
|
<value>Minutes avant mise en veille prolongée sur batterie (0 - OFF)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="High" xml:space="preserve">
|
<data name="High" xml:space="preserve">
|
||||||
<value>Élevé</value>
|
<value>Élevé</value>
|
||||||
@@ -414,7 +414,7 @@ Voulez-vous continuer ?</value>
|
|||||||
<value>Arrêter toutes les applications utilisant la dGPU lors du passage au mode Eco</value>
|
<value>Arrêter toutes les applications utilisant la dGPU lors du passage au mode Eco</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="LaptopBacklight" xml:space="preserve">
|
<data name="LaptopBacklight" xml:space="preserve">
|
||||||
<value>Rétroéclairage de l'ordinateur</value>
|
<value>Rétroéclairage du clavier</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="LaptopKeyboard" xml:space="preserve">
|
<data name="LaptopKeyboard" xml:space="preserve">
|
||||||
<value>Clavier de l'ordinateur</value>
|
<value>Clavier de l'ordinateur</value>
|
||||||
|
|||||||
@@ -124,10 +124,10 @@
|
|||||||
<value>无法连接到ASUS ACPI。 没有它应用程序将无法运行。 请尝试安装Asus System Control Interface驱动。</value>
|
<value>无法连接到ASUS ACPI。 没有它应用程序将无法运行。 请尝试安装Asus System Control Interface驱动。</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AlertAPUMemoryRestart" xml:space="preserve">
|
<data name="AlertAPUMemoryRestart" xml:space="preserve">
|
||||||
<value>Restart your device to apply changes</value>
|
<value>重新启动您的设备以应用更改</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AlertAPUMemoryRestartTitle" xml:space="preserve">
|
<data name="AlertAPUMemoryRestartTitle" xml:space="preserve">
|
||||||
<value>Restart now?</value>
|
<value>现在重启?</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AlertDGPU" xml:space="preserve">
|
<data name="AlertDGPU" xml:space="preserve">
|
||||||
<value>看起来 GPU 正在被重度使用,是否禁用?</value>
|
<value>看起来 GPU 正在被重度使用,是否禁用?</value>
|
||||||
@@ -169,7 +169,7 @@
|
|||||||
<value>自动调整Windows电源模式</value>
|
<value>自动调整Windows电源模式</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="APUMemory" xml:space="preserve">
|
<data name="APUMemory" xml:space="preserve">
|
||||||
<value>Memory Assigned to GPU</value>
|
<value>分配给 GPU 的内存</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AsusServicesRunning" xml:space="preserve">
|
<data name="AsusServicesRunning" xml:space="preserve">
|
||||||
<value>正在运行的 Asus 服务</value>
|
<value>正在运行的 Asus 服务</value>
|
||||||
|
|||||||
@@ -604,16 +604,7 @@ namespace GHelper
|
|||||||
|
|
||||||
private void PictureColor2_Click(object? sender, EventArgs e)
|
private void PictureColor2_Click(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
SetColorPicker("aura_color2");
|
||||||
ColorDialog colorDlg = new ColorDialog();
|
|
||||||
colorDlg.AllowFullOpen = true;
|
|
||||||
colorDlg.Color = pictureColor2.BackColor;
|
|
||||||
|
|
||||||
if (colorDlg.ShowDialog() == DialogResult.OK)
|
|
||||||
{
|
|
||||||
AppConfig.Set("aura_color2", colorDlg.Color.ToArgb());
|
|
||||||
SetAura();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void PictureColor_Click(object? sender, EventArgs e)
|
private void PictureColor_Click(object? sender, EventArgs e)
|
||||||
@@ -681,20 +672,31 @@ namespace GHelper
|
|||||||
FansToggle();
|
FansToggle();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ButtonKeyboardColor_Click(object? sender, EventArgs e)
|
private void SetColorPicker(string colorField = "aura_color")
|
||||||
{
|
{
|
||||||
|
|
||||||
ColorDialog colorDlg = new ColorDialog();
|
ColorDialog colorDlg = new ColorDialog();
|
||||||
colorDlg.AllowFullOpen = true;
|
colorDlg.AllowFullOpen = true;
|
||||||
colorDlg.Color = pictureColor.BackColor;
|
colorDlg.Color = pictureColor.BackColor;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
colorDlg.CustomColors = AppConfig.GetString("aura_color_custom", "").Split('-').Select(int.Parse).ToArray();
|
||||||
|
}
|
||||||
|
catch (Exception ex) { }
|
||||||
|
|
||||||
if (colorDlg.ShowDialog() == DialogResult.OK)
|
if (colorDlg.ShowDialog() == DialogResult.OK)
|
||||||
{
|
{
|
||||||
AppConfig.Set("aura_color", colorDlg.Color.ToArgb());
|
AppConfig.Set("aura_color_custom", string.Join("-", colorDlg.CustomColors));
|
||||||
|
AppConfig.Set(colorField, colorDlg.Color.ToArgb());
|
||||||
SetAura();
|
SetAura();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void ButtonKeyboardColor_Click(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
SetColorPicker("aura_color");
|
||||||
|
}
|
||||||
|
|
||||||
public void InitAura()
|
public void InitAura()
|
||||||
{
|
{
|
||||||
Aura.Mode = (AuraMode)AppConfig.Get("aura_mode");
|
Aura.Mode = (AuraMode)AppConfig.Get("aura_mode");
|
||||||
@@ -761,6 +763,15 @@ namespace GHelper
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void CycleMatrix(int delta)
|
||||||
|
{
|
||||||
|
comboMatrix.SelectedIndex = Math.Min(Math.Max(0, comboMatrix.SelectedIndex + delta), comboMatrix.Items.Count - 1);
|
||||||
|
AppConfig.Set("matrix_brightness", comboMatrix.SelectedIndex);
|
||||||
|
matrixControl.SetMatrix();
|
||||||
|
Program.toast.RunToast(comboMatrix.GetItemText(comboMatrix.SelectedItem), delta > 0 ? ToastIcon.BacklightUp : ToastIcon.BacklightDown);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public void CycleAuraMode()
|
public void CycleAuraMode()
|
||||||
{
|
{
|
||||||
if (comboKeyboard.SelectedIndex < comboKeyboard.Items.Count - 1)
|
if (comboKeyboard.SelectedIndex < comboKeyboard.Items.Count - 1)
|
||||||
|
|||||||
@@ -134,7 +134,8 @@ namespace GHelper.USB
|
|||||||
{
|
{
|
||||||
var device = AsusHid.FindDevices(AsusHid.AURA_ID).FirstOrDefault();
|
var device = AsusHid.FindDevices(AsusHid.AURA_ID).FirstOrDefault();
|
||||||
if (device is null) return;
|
if (device is null) return;
|
||||||
Logger.WriteLine($"GA402: {device.ReleaseNumberBcd} {device.ReleaseNumber}");
|
Logger.WriteLine($"USB Version: {device.ReleaseNumberBcd} {device.ReleaseNumber}");
|
||||||
|
|
||||||
if (device.ReleaseNumberBcd >= 22 && device.ReleaseNumberBcd <= 25) isSingleColor = true;
|
if (device.ReleaseNumberBcd >= 22 && device.ReleaseNumberBcd <= 25) isSingleColor = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -531,7 +532,7 @@ namespace GHelper.USB
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isStrix && !isOldHeatmap)
|
if (isStrix)
|
||||||
{
|
{
|
||||||
ApplyDirect(Enumerable.Repeat(color, AURA_ZONES).ToArray(), init);
|
ApplyDirect(Enumerable.Repeat(color, AURA_ZONES).ToArray(), init);
|
||||||
return;
|
return;
|
||||||
@@ -539,8 +540,18 @@ namespace GHelper.USB
|
|||||||
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
AsusHid.WriteAura(AuraMessage(0, color, color, 0));
|
if (init) AsusHid.WriteAura(new byte[] { AsusHid.AURA_ID, 0xbc });
|
||||||
AsusHid.WriteAura(MESSAGE_SET);
|
|
||||||
|
byte[] buffer = new byte[64];
|
||||||
|
buffer[0] = AsusHid.AURA_ID;
|
||||||
|
buffer[1] = 0xbc;
|
||||||
|
buffer[2] = 1;
|
||||||
|
buffer[3] = 1;
|
||||||
|
buffer[9] = color.R;
|
||||||
|
buffer[10] = color.G;
|
||||||
|
buffer[11] = color.B;
|
||||||
|
|
||||||
|
AsusHid.WriteAura(buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -632,14 +643,13 @@ namespace GHelper.USB
|
|||||||
bound.Y += bound.Height / 3;
|
bound.Y += bound.Height / 3;
|
||||||
bound.Height -= (int)Math.Round(bound.Height * (0.33f + 0.022f)); // cut 1/3 of the top screen + windows panel
|
bound.Height -= (int)Math.Round(bound.Height * (0.33f + 0.022f)); // cut 1/3 of the top screen + windows panel
|
||||||
|
|
||||||
Bitmap screen_low = screen_low = AmbientData.CamptureScreen(bound, 512, 288); //quality decreases greatly if it is less 512 ;
|
Bitmap screen_low = AmbientData.CamptureScreen(bound, 512, 288); //quality decreases greatly if it is less 512 ;
|
||||||
Bitmap screeb_pxl;
|
Bitmap screeb_pxl = AmbientData.ResizeImage(screen_low, 4, 2); // 4x2 zone. top for keyboard and bot for lightbar;
|
||||||
|
|
||||||
int zones = AURA_ZONES;
|
int zones = AURA_ZONES;
|
||||||
|
|
||||||
if (isStrix) // laptop with lightbar
|
if (isStrix) // laptop with lightbar
|
||||||
{
|
{
|
||||||
screeb_pxl = AmbientData.ResizeImage(screen_low, 4, 2); // 4x2 zone. top for keyboard and bot for lightbar
|
|
||||||
var mid_left = ColorUtils.GetMidColor(screeb_pxl.GetPixel(0, 1), screeb_pxl.GetPixel(1, 1));
|
var mid_left = ColorUtils.GetMidColor(screeb_pxl.GetPixel(0, 1), screeb_pxl.GetPixel(1, 1));
|
||||||
var mid_right = ColorUtils.GetMidColor(screeb_pxl.GetPixel(2, 1), screeb_pxl.GetPixel(3, 1));
|
var mid_right = ColorUtils.GetMidColor(screeb_pxl.GetPixel(2, 1), screeb_pxl.GetPixel(3, 1));
|
||||||
|
|
||||||
@@ -654,12 +664,12 @@ namespace GHelper.USB
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
zones = 1;
|
zones = 1;
|
||||||
screeb_pxl = AmbientData.ResizeImage(screen_low, 1, 1);
|
AmbientData.Colors[0].RGB = ColorUtils.HSV.UpSaturation(ColorUtils.GetDominantColor(screeb_pxl), (float)0.3);
|
||||||
AmbientData.Colors[0].RGB = ColorUtils.HSV.UpSaturation(screeb_pxl.GetPixel(0, 0), (float)0.3);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//screen_low.Save("big.jpg", ImageFormat.Jpeg);
|
||||||
|
//screeb_pxl.Save("small.jpg", ImageFormat.Jpeg);
|
||||||
|
|
||||||
//screeb_pxl.Save("test.jpg", ImageFormat.Jpeg);
|
|
||||||
screen_low.Dispose();
|
screen_low.Dispose();
|
||||||
screeb_pxl.Dispose();
|
screeb_pxl.Dispose();
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ Small and lightweight Armoury Crate alternative for Asus laptops offering almost
|
|||||||
|
|
||||||
- Don't forget to [**Check Requirements**](#requirements-mandatory) and [**Read FAQ**](#question-faq)
|
- Don't forget to [**Check Requirements**](#requirements-mandatory) and [**Read FAQ**](#question-faq)
|
||||||
- If you like this app, please give it a star :star: and spread the word about it!
|
- If you like this app, please give it a star :star: and spread the word about it!
|
||||||
|
- If you have general problems, you may check [**Troubleshooting section**](https://github.com/seerge/g-helper?tab=readme-ov-file#wrench-troubleshooting)
|
||||||
|
|
||||||
#### Support project in [:euro: EUR](https://www.paypal.com/donate/?hosted_button_id=4HMSHS4EBQWTA) | [💵 USD](https://www.paypal.com/donate/?hosted_button_id=SRM6QUX6ACXDY)
|
#### Support project in [:euro: EUR](https://www.paypal.com/donate/?hosted_button_id=4HMSHS4EBQWTA) | [💵 USD](https://www.paypal.com/donate/?hosted_button_id=SRM6QUX6ACXDY)
|
||||||
|
|
||||||
@@ -80,6 +81,7 @@ Each BIOS mode is paired with matching Windows Power Mode. You can adjust this s
|
|||||||
- ROG Harpe Ace Aim Lab Edition
|
- ROG Harpe Ace Aim Lab Edition
|
||||||
- ROG Keris Wireless
|
- ROG Keris Wireless
|
||||||
- ROG Chakram X (P708)
|
- ROG Chakram X (P708)
|
||||||
|
- ROG Chakram Core (P511)
|
||||||
- ROG Strix III Gladius III Aimpoint Wireless (P711)
|
- ROG Strix III Gladius III Aimpoint Wireless (P711)
|
||||||
- ROG Gladius III
|
- ROG Gladius III
|
||||||
- ROG Gladius III Wireless
|
- ROG Gladius III Wireless
|
||||||
@@ -96,7 +98,7 @@ Stop ``ArmouryCrateControlInterface`` service under windows Services app or you
|
|||||||
|
|
||||||
#### Battery charge limiter is not working
|
#### Battery charge limiter is not working
|
||||||
It could be that Asus services are overwriting this limit after. You may want to stop them by clicking "Stop" in the Asus Services section (under Extra).
|
It could be that Asus services are overwriting this limit after. You may want to stop them by clicking "Stop" in the Asus Services section (under Extra).
|
||||||
Please note: For some devices not every charge limit % may be working. Try to set standard **80%** to be sure.
|
Please note: For some devices not every charge limit % may be working. Some models support only 80% limit, so try to set standard **80%** to be sure.
|
||||||
|
|
||||||
#### I don't see GPU modes section
|
#### I don't see GPU modes section
|
||||||
Some older models (for example G14 2020) don't support disabling GPU on hardware level, therefore GPU section makes no sense for them and will be hidden
|
Some older models (for example G14 2020) don't support disabling GPU on hardware level, therefore GPU section makes no sense for them and will be hidden
|
||||||
@@ -179,6 +181,23 @@ Turn OFF laptop. Press and hold the "power" button for 30-40 seconds. Then boot
|
|||||||
Small and lightweight Armoury Crate alternative for Asus laptops offering almost same functionality without extra bloat and unnecessary services. Works on ROG G14, G15, G16, M16, X13, Z13, X16, TUF, Scar, Vivobook, ProArt and all other popular models.
|
Small and lightweight Armoury Crate alternative for Asus laptops offering almost same functionality without extra bloat and unnecessary services. Works on ROG G14, G15, G16, M16, X13, Z13, X16, TUF, Scar, Vivobook, ProArt and all other popular models.
|
||||||
|
|
||||||
-----------------------------
|
-----------------------------
|
||||||
|
## :wrench: Troubleshooting
|
||||||
|
|
||||||
|
_NOTE: This section is not related to G-Helper anyhow, but since people often come to this repository asking about general problems with their laptops I have listed the most frequent troubleshooting advice that I can give._
|
||||||
|
|
||||||
|
### Hardware reset / CMOS reset
|
||||||
|
All Asus laptops have an option to do a hardware reset that can be handy sometimes. It doesn't touch your data, but resets all main hardware-related things (enables your dGPU, wakes up wifi/bt adapter if it hangs for some reason, etc.).
|
||||||
|
Turn OFF laptop. Press and hold the "power" button for 30-40 seconds. Then boot normally (it will take a bit longer to boot)
|
||||||
|
|
||||||
|
### Resetting windows power plan to defaults
|
||||||
|
Copy and paste the command below into Windows Terminal, and press Enter.
|
||||||
|
```
|
||||||
|
powercfg -restoredefaultschemes
|
||||||
|
```
|
||||||
|
### Reinstalling GPU drivers
|
||||||
|
- For AMD devices (including ones who use integrated graphics) you can use [AMD official cleanup utility](https://www.amd.com/en/support/kb/faq/gpu-601) to completely uninstall existing drivers from safe mode. After that you can download and install latest official drivers from [AMD website](https://www.amd.com/en/support)
|
||||||
|
|
||||||
|
- For NVidia / Intel devices you can use the [Display Driver Uninstaller](https://www.guru3d.com/download/display-driver-uninstaller-download/) app to completely uninstall existing drivers. After that you can download and install latest official drivers from [Nvidia website](https://www.nvidia.com/download/index.aspx)
|
||||||
|
|
||||||
## :euro: [Support Project](https://www.paypal.com/donate/?hosted_button_id=4HMSHS4EBQWTA)
|
## :euro: [Support Project](https://www.paypal.com/donate/?hosted_button_id=4HMSHS4EBQWTA)
|
||||||
#### If you like the app you can make a Donation
|
#### If you like the app you can make a Donation
|
||||||
|
|||||||
Reference in New Issue
Block a user