mirror of
https://github.com/jkocon/g-helper.git
synced 2026-02-23 13:00:52 +01:00
Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f3fd590be4 | ||
|
|
6a9d47a61d | ||
|
|
3848ef9a43 | ||
|
|
84c7fdb3bf | ||
|
|
013c83fd60 | ||
|
|
b31ed8338a | ||
|
|
6f9eb1e9c5 | ||
|
|
f19ea5eaf6 |
@@ -355,7 +355,7 @@ public static class AppConfig
|
||||
|
||||
public static bool IsStrixLimitedRGB()
|
||||
{
|
||||
return ContainsModel("G614JV") || ContainsModel("G614JZ") || ContainsModel("G512LI") || ContainsModel("G513RS") || ContainsModel("G513RM") || ContainsModel("G713PV") || ContainsModel("G513IE") || ContainsModel("G513QM");
|
||||
return ContainsModel("G614JV") || ContainsModel("G614JZ") || ContainsModel("G512LI") || ContainsModel("G513RS") || ContainsModel("G513RM") || ContainsModel("G713PV") || ContainsModel("G513IE") || ContainsModel("G513QM") || ContainsModel("G713RC");
|
||||
}
|
||||
|
||||
public static bool IsStrixNumpad()
|
||||
@@ -451,4 +451,8 @@ public static class AppConfig
|
||||
return ContainsModel("FA507");
|
||||
}
|
||||
|
||||
public static bool IsASUS()
|
||||
{
|
||||
return ContainsModel("ROG") || ContainsModel("TUF") || ContainsModel("Vivobook") || ContainsModel("Zenbook");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using FftSharp;
|
||||
using GHelper;
|
||||
using GHelper;
|
||||
using GHelper.USB;
|
||||
using System.Management;
|
||||
using System.Runtime.InteropServices;
|
||||
@@ -37,7 +36,7 @@ public class AsusACPI
|
||||
const uint INIT = 0x54494E49;
|
||||
|
||||
public const uint UniversalControl = 0x00100021;
|
||||
|
||||
|
||||
public const int KB_Light_Up = 0xc4;
|
||||
public const int KB_Light_Down = 0xc5;
|
||||
public const int Brightness_Down = 0x10;
|
||||
@@ -186,6 +185,7 @@ public class AsusACPI
|
||||
private static extern bool WaitForSingleObject(IntPtr hHandle, int dwMilliseconds);
|
||||
|
||||
private IntPtr eventHandle;
|
||||
private bool _connected = false;
|
||||
|
||||
// still works only with asus optimization service on , if someone knows how to get ACPI events from asus without that - let me know
|
||||
public void RunListener()
|
||||
@@ -212,22 +212,33 @@ public class AsusACPI
|
||||
}
|
||||
}
|
||||
|
||||
public bool IsConnected()
|
||||
{
|
||||
return _connected;
|
||||
}
|
||||
|
||||
public AsusACPI()
|
||||
{
|
||||
handle = CreateFile(
|
||||
FILE_NAME,
|
||||
GENERIC_READ | GENERIC_WRITE,
|
||||
FILE_SHARE_READ | FILE_SHARE_WRITE,
|
||||
IntPtr.Zero,
|
||||
OPEN_EXISTING,
|
||||
FILE_ATTRIBUTE_NORMAL,
|
||||
IntPtr.Zero
|
||||
);
|
||||
|
||||
if (handle == new IntPtr(-1))
|
||||
try
|
||||
{
|
||||
throw new Exception("Can't connect to ACPI");
|
||||
handle = CreateFile(
|
||||
FILE_NAME,
|
||||
GENERIC_READ | GENERIC_WRITE,
|
||||
FILE_SHARE_READ | FILE_SHARE_WRITE,
|
||||
IntPtr.Zero,
|
||||
OPEN_EXISTING,
|
||||
FILE_ATTRIBUTE_NORMAL,
|
||||
IntPtr.Zero
|
||||
);
|
||||
|
||||
//handle = new IntPtr(-1);
|
||||
//throw new Exception("ERROR");
|
||||
_connected = true;
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Logger.WriteLine($"Can't connect to ACPI: {ex.Message}");
|
||||
}
|
||||
|
||||
if (AppConfig.IsAdvantageEdition()) MaxTotal = 250;
|
||||
@@ -390,7 +401,7 @@ public class AsusACPI
|
||||
|
||||
byte min = (byte)(curve[8] * 255 / 100);
|
||||
byte max = (byte)(curve[15] * 255 / 100);
|
||||
byte[] range = { min, max};
|
||||
byte[] range = { min, max };
|
||||
|
||||
int result;
|
||||
switch (device)
|
||||
@@ -422,7 +433,7 @@ public class AsusACPI
|
||||
|
||||
// it seems to be a bug, when some old model's bios can go nuts if fan is set to 100%
|
||||
|
||||
for (int i = 8; i < curve.Length; i++) curve[i] = (byte)(Math.Max((byte)0, Math.Min((byte)100, curve[i])) * fanScale / 100);
|
||||
for (int i = 8; i < curve.Length; i++) curve[i] = (byte)(Math.Max((byte)0, Math.Min((byte)100, curve[i])) * fanScale / 100);
|
||||
|
||||
switch (device)
|
||||
{
|
||||
@@ -575,7 +586,7 @@ public class AsusACPI
|
||||
|
||||
switch (memory)
|
||||
{
|
||||
case 256:
|
||||
case 256:
|
||||
return 0;
|
||||
case 258:
|
||||
return 1;
|
||||
@@ -626,7 +637,7 @@ public class AsusACPI
|
||||
{
|
||||
|
||||
byte[] setting = new byte[6];
|
||||
|
||||
|
||||
setting[0] = (byte)0xb4;
|
||||
setting[1] = (byte)mode;
|
||||
setting[2] = color.R;
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
||||
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
||||
<AssemblyVersion>0.135</AssemblyVersion>
|
||||
<AssemblyVersion>0.136</AssemblyVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
|
||||
@@ -181,6 +181,12 @@ namespace GHelper.Gpu
|
||||
Program.modeControl.SetGPUClocks(false);
|
||||
}
|
||||
|
||||
if (AppConfig.Is("mode_reapply"))
|
||||
{
|
||||
await Task.Delay(TimeSpan.FromMilliseconds(3000));
|
||||
Program.modeControl.AutoPerformance();
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
@@ -64,11 +64,12 @@ namespace GHelper
|
||||
|
||||
ProcessHelper.CheckAlreadyRunning();
|
||||
|
||||
try
|
||||
{
|
||||
acpi = new AsusACPI();
|
||||
}
|
||||
catch
|
||||
Logger.WriteLine("------------");
|
||||
Logger.WriteLine("App launched: " + AppConfig.GetModel() + " :" + Assembly.GetExecutingAssembly().GetName().Version.ToString() + CultureInfo.CurrentUICulture + (ProcessHelper.IsUserAdministrator() ? "." : ""));
|
||||
|
||||
acpi = new AsusACPI();
|
||||
|
||||
if (!acpi.IsConnected() && AppConfig.IsASUS())
|
||||
{
|
||||
DialogResult dialogResult = MessageBox.Show(Properties.Strings.ACPIError, Properties.Strings.StartupError, MessageBoxButtons.YesNo);
|
||||
if (dialogResult == DialogResult.Yes)
|
||||
@@ -80,9 +81,6 @@ namespace GHelper
|
||||
return;
|
||||
}
|
||||
|
||||
Logger.WriteLine("------------");
|
||||
Logger.WriteLine("App launched: " + AppConfig.GetModel() + " :" + Assembly.GetExecutingAssembly().GetName().Version.ToString() + CultureInfo.CurrentUICulture + (ProcessHelper.IsUserAdministrator() ? "." : ""));
|
||||
|
||||
Application.EnableVisualStyles();
|
||||
|
||||
HardwareControl.RecreateGpuControl();
|
||||
@@ -154,6 +152,7 @@ namespace GHelper
|
||||
|
||||
}
|
||||
|
||||
|
||||
private static void SystemEvents_SessionEnding(object sender, SessionEndingEventArgs e)
|
||||
{
|
||||
gpuControl.StandardModeFix();
|
||||
|
||||
@@ -124,10 +124,10 @@
|
||||
<value>No se pudo conectar con ASUS ACPI. La aplicación no puede funcionar sin el recurso. Instale Asus System Control Interface</value>
|
||||
</data>
|
||||
<data name="AlertAPUMemoryRestart" xml:space="preserve">
|
||||
<value>Restart your device to apply changes</value>
|
||||
<value>Reinicia el dispositivo para aplicar los cambios</value>
|
||||
</data>
|
||||
<data name="AlertAPUMemoryRestartTitle" xml:space="preserve">
|
||||
<value>Restart now?</value>
|
||||
<value>¿Reiniciar ahora?</value>
|
||||
</data>
|
||||
<data name="AlertDGPU" xml:space="preserve">
|
||||
<value>Detectado uso intensivo de la GPU, ¿deshabilitarla?</value>
|
||||
@@ -169,7 +169,7 @@
|
||||
<value>Autoajustar plan de energía Windows</value>
|
||||
</data>
|
||||
<data name="APUMemory" xml:space="preserve">
|
||||
<value>Memory Assigned to GPU</value>
|
||||
<value>Memoria asignada a GPU</value>
|
||||
</data>
|
||||
<data name="AsusServicesRunning" xml:space="preserve">
|
||||
<value>Servicios de Asus en ejecución</value>
|
||||
|
||||
@@ -124,10 +124,10 @@
|
||||
<value>Nie można odnaleźć sterownika ASUS ACPI. Aplikacja nie może bez niego funkcjonować. Spróbuj zainstalować Asus System Control Interface</value>
|
||||
</data>
|
||||
<data name="AlertAPUMemoryRestart" xml:space="preserve">
|
||||
<value>Restart your device to apply changes</value>
|
||||
<value>Uruchom ponownie, aby zastosować ustawienia</value>
|
||||
</data>
|
||||
<data name="AlertAPUMemoryRestartTitle" xml:space="preserve">
|
||||
<value>Restart now?</value>
|
||||
<value>Uruchomić ponownie teraz?</value>
|
||||
</data>
|
||||
<data name="AlertDGPU" xml:space="preserve">
|
||||
<value>Wygląda na to, że GPU jest mocno obciążone. Wyłączyć?</value>
|
||||
@@ -169,7 +169,7 @@
|
||||
<value>Dostosuj systemowy Tryb Zasilania</value>
|
||||
</data>
|
||||
<data name="APUMemory" xml:space="preserve">
|
||||
<value>Memory Assigned to GPU</value>
|
||||
<value>Pamięć przypisana do GPU</value>
|
||||
</data>
|
||||
<data name="AsusServicesRunning" xml:space="preserve">
|
||||
<value>Uruchomione usługi Asus</value>
|
||||
|
||||
@@ -135,7 +135,7 @@ namespace GHelper.USB
|
||||
var device = AsusHid.FindDevices(AsusHid.AURA_ID).FirstOrDefault();
|
||||
if (device is null) return;
|
||||
Logger.WriteLine($"GA402: {device.ReleaseNumberBcd} {device.ReleaseNumber}");
|
||||
if (device.ReleaseNumberBcd >= 22) isSingleColor = true;
|
||||
if (device.ReleaseNumberBcd >= 22 && device.ReleaseNumberBcd <= 25) isSingleColor = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
22
app/Updates.Designer.cs
generated
22
app/Updates.Designer.cs
generated
@@ -55,10 +55,10 @@ namespace GHelper
|
||||
tableBios.AutoSize = true;
|
||||
tableBios.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||
tableBios.ColumnCount = 4;
|
||||
tableBios.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 20F));
|
||||
tableBios.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 23F));
|
||||
tableBios.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 40F));
|
||||
tableBios.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 15F));
|
||||
tableBios.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25F));
|
||||
tableBios.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 22F));
|
||||
tableBios.Dock = DockStyle.Top;
|
||||
tableBios.Location = new Point(20, 20);
|
||||
tableBios.Margin = new Padding(4);
|
||||
@@ -99,14 +99,14 @@ namespace GHelper
|
||||
panelBiosTitle.Location = new Point(0, 0);
|
||||
panelBiosTitle.Margin = new Padding(4);
|
||||
panelBiosTitle.Name = "panelBiosTitle";
|
||||
panelBiosTitle.Size = new Size(1256, 62);
|
||||
panelBiosTitle.Size = new Size(1294, 62);
|
||||
panelBiosTitle.TabIndex = 3;
|
||||
//
|
||||
// labelUpdates
|
||||
//
|
||||
labelUpdates.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
||||
labelUpdates.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||
labelUpdates.Location = new Point(810, 23);
|
||||
labelUpdates.Location = new Point(848, 23);
|
||||
labelUpdates.Name = "labelUpdates";
|
||||
labelUpdates.Size = new Size(245, 32);
|
||||
labelUpdates.TabIndex = 4;
|
||||
@@ -122,7 +122,7 @@ namespace GHelper
|
||||
buttonRefresh.FlatAppearance.BorderSize = 0;
|
||||
buttonRefresh.FlatStyle = FlatStyle.Flat;
|
||||
buttonRefresh.Image = Properties.Resources.icons8_refresh_32;
|
||||
buttonRefresh.Location = new Point(1183, 14);
|
||||
buttonRefresh.Location = new Point(1221, 14);
|
||||
buttonRefresh.Name = "buttonRefresh";
|
||||
buttonRefresh.Secondary = true;
|
||||
buttonRefresh.Size = new Size(52, 46);
|
||||
@@ -138,7 +138,7 @@ namespace GHelper
|
||||
panelBios.Margin = new Padding(4);
|
||||
panelBios.Name = "panelBios";
|
||||
panelBios.Padding = new Padding(20);
|
||||
panelBios.Size = new Size(1256, 40);
|
||||
panelBios.Size = new Size(1294, 40);
|
||||
panelBios.TabIndex = 4;
|
||||
//
|
||||
// panelDrivers
|
||||
@@ -150,7 +150,7 @@ namespace GHelper
|
||||
panelDrivers.Margin = new Padding(4);
|
||||
panelDrivers.Name = "panelDrivers";
|
||||
panelDrivers.Padding = new Padding(20);
|
||||
panelDrivers.Size = new Size(1256, 40);
|
||||
panelDrivers.Size = new Size(1294, 40);
|
||||
panelDrivers.TabIndex = 6;
|
||||
//
|
||||
// tableDrivers
|
||||
@@ -158,10 +158,10 @@ namespace GHelper
|
||||
tableDrivers.AutoSize = true;
|
||||
tableDrivers.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||
tableDrivers.ColumnCount = 4;
|
||||
tableDrivers.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 20F));
|
||||
tableDrivers.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 23F));
|
||||
tableDrivers.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 40F));
|
||||
tableDrivers.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 15F));
|
||||
tableDrivers.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25F));
|
||||
tableDrivers.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 22F));
|
||||
tableDrivers.Dock = DockStyle.Top;
|
||||
tableDrivers.Location = new Point(20, 20);
|
||||
tableDrivers.Margin = new Padding(4);
|
||||
@@ -178,7 +178,7 @@ namespace GHelper
|
||||
panelDriversTitle.Location = new Point(0, 102);
|
||||
panelDriversTitle.Margin = new Padding(4);
|
||||
panelDriversTitle.Name = "panelDriversTitle";
|
||||
panelDriversTitle.Size = new Size(1256, 44);
|
||||
panelDriversTitle.Size = new Size(1294, 44);
|
||||
panelDriversTitle.TabIndex = 5;
|
||||
//
|
||||
// labelDrivers
|
||||
@@ -208,7 +208,7 @@ namespace GHelper
|
||||
AutoScaleDimensions = new SizeF(192F, 192F);
|
||||
AutoScaleMode = AutoScaleMode.Dpi;
|
||||
AutoScroll = true;
|
||||
ClientSize = new Size(1256, 690);
|
||||
ClientSize = new Size(1294, 690);
|
||||
Controls.Add(panelDrivers);
|
||||
Controls.Add(panelDriversTitle);
|
||||
Controls.Add(panelBios);
|
||||
|
||||
Reference in New Issue
Block a user