Compare commits

...

33 Commits

Author SHA1 Message Date
Serge
f983bdac42 Updates fix 2024-04-15 00:17:00 +02:00
Serge
04143abf7c Updates fix 2024-04-15 00:05:43 +02:00
Serge
b219ff5af4 Updates tweak 2024-04-14 23:25:10 +02:00
Serge
df20fa63a9 Clock reset fix 2024-04-14 22:46:14 +02:00
Serge
501dcb3235 Updates UI tweaks 2024-04-14 15:46:02 +02:00
Serge
322c5dd7c5 Updates section fix 2024-04-14 15:20:47 +02:00
Serge
f68b9218b6 Keyboard control for power sliders 2024-04-14 14:49:11 +02:00
Serge
f35ad1804c Power limits UI tweaks 2024-04-14 14:38:11 +02:00
Serge
5739b63225 Mouse Events support https://github.com/seerge/g-helper/issues/2430 2024-04-14 12:16:35 +02:00
Serge
4cdfb6710b Merge branch 'main' of https://github.com/seerge/g-helper 2024-04-13 15:52:32 +02:00
Serge
db9e4d75cb Power limits improvement for https://github.com/seerge/g-helper/issues/2429 https://github.com/seerge/g-helper/issues/2429 2024-04-13 15:52:29 +02:00
Serge
2d52345f11 Update README.md 2024-04-11 23:49:56 +02:00
Serge
64745ca01e Aura tweaks 2024-04-11 20:05:21 +02:00
Serge
4b42106c31 Added G614J / G814J to the list of devices that require fans curve to be applied in order to make custom power liimits work 2024-04-11 15:06:00 +02:00
Serge
387e869833 UI Tweaks 2024-04-11 13:05:41 +02:00
Serge
2a8e24bc74 Merge branch 'main' of https://github.com/seerge/g-helper 2024-04-11 11:55:19 +02:00
Serge
5c000c0bb0 Typo fix 2024-04-11 11:55:17 +02:00
Serge
1f22887197 Update README.md 2024-04-10 12:17:06 +02:00
Serge
a3913e0ea8 Update README.md 2024-04-10 12:16:40 +02:00
Serge
2aa34edfb2 Version bump 2024-04-07 13:56:02 +02:00
Serge
d7fe4a3bee ModeToggle delay https://github.com/seerge/g-helper/issues/2391 2024-04-05 14:50:21 +02:00
Serge
f072dbe020 Refresh rate hotkey https://github.com/seerge/g-helper/issues/2389 2024-04-05 14:06:59 +02:00
Serge
ccfd514081 Merge branch 'main' of https://github.com/seerge/g-helper 2024-04-05 13:53:28 +02:00
Serge
558f8b2cc0 Slash lightning tweaks https://github.com/seerge/g-helper/issues/2381 2024-04-05 13:53:25 +02:00
Serge
bbf4c10a2e New Crowdin updates (#2383)
* New translations strings.resx (Turkish)

* New translations strings.resx (Turkish)
2024-04-04 17:41:43 +02:00
Serge
fe4e2ea478 New Crowdin updates (#2382)
* New translations strings.resx (Turkish)

* New translations strings.resx (Turkish)
2024-04-04 13:00:03 +02:00
Serge
8d7108bc1e New translations strings.resx (Spanish) (#2374) 2024-04-03 13:23:46 +02:00
Serge
3e28d3f027 New Crowdin updates (#2369)
* New translations strings.resx (Polish)

* New translations strings.resx (French)
2024-04-03 09:52:47 +02:00
Serge
0e42f7955e New translations strings.resx (German) (#2367) 2024-04-02 20:26:11 +02:00
Serge
fff3c2924e Corrected vivobook dimming 2024-04-02 18:15:38 +02:00
Serge
65716048ff Merge branch 'main' of https://github.com/seerge/g-helper 2024-04-02 14:48:30 +02:00
Serge
2e0eed3ab9 Dimming hotkeys for Vivobooks 2024-04-02 14:48:27 +02:00
Serge
bde76ead7e New translations strings.resx (Chinese Simplified) (#2363) 2024-04-02 10:52:34 +02:00
22 changed files with 364 additions and 156 deletions

View File

@@ -61,9 +61,11 @@ namespace GHelper.AnimeMatrix
public void SetLidMode(bool force = false)
{
if (AppConfig.Is("matrix_lid") || force)
bool matrixLid = AppConfig.Is("matrix_lid");
if (matrixLid || force)
{
Logger.WriteLine($"Matrix LidClosed: {lidClose}");
if (deviceSlash is not null) deviceSlash.SetLidMode(matrixLid);
SetDevice(true);
}
}

View File

@@ -135,7 +135,7 @@ namespace GHelper.AnimeMatrix
public void Set(Packet packet, string? log = null)
{
_usbProvider?.Set(packet.Data);
if (log is not null) Logger.WriteLine("Slash:" + BitConverter.ToString(packet.Data));
if (log is not null) Logger.WriteLine($"{log}:" + BitConverter.ToString(packet.Data).Substring(0,48));
}

View File

@@ -553,7 +553,7 @@ public static class AppConfig
public static bool IsFanRequired()
{
return ContainsModel("GA402X") || ContainsModel("G513") || ContainsModel("G713R") || ContainsModel("G713P") || ContainsModel("GU605") || ContainsModel("GA403") || ContainsModel("G634J") || ContainsModel("G834J");
return ContainsModel("GA402X") || ContainsModel("G513") || ContainsModel("G713R") || ContainsModel("G713P") || ContainsModel("GU605") || ContainsModel("GA403") || ContainsModel("G634J") || ContainsModel("G834J") || ContainsModel("G614J") || ContainsModel("G814J") || ContainsModel("FX507V");
}
public static bool IsAMDLight()

View File

@@ -21,6 +21,16 @@
}
}
public void ToggleScreenRate()
{
var laptopScreen = ScreenNative.FindLaptopScreen(true);
var refreshRate = ScreenNative.GetRefreshRate(laptopScreen);
if (refreshRate < 0) return;
ScreenNative.SetRefreshRate(laptopScreen, refreshRate > 60 ? 60 : ScreenNative.GetMaxRefreshRate(laptopScreen));
InitScreen();
}
public void SetScreen(int frequency = -1, int overdrive = -1, int miniled = -1)
{

View File

@@ -25,7 +25,7 @@ namespace GHelper.Display
VivoEycare = 7,
Init = 10,
DimmingAsus = 9,
DimmingVivo = 9,
DimmingVisual = 19,
GamutMode = 200,
@@ -235,14 +235,14 @@ namespace GHelper.Display
private static bool RunSplendid(SplendidCommand command, int? param1 = null, int? param2 = null)
{
var splendid = GetSplendidPath();
bool isGameVisual = Directory.Exists(GetGameVisualPath());
bool isVivo = AppConfig.IsVivoZenbook();
bool isSplenddid = File.Exists(splendid);
if (isSplenddid)
{
if (command == SplendidCommand.DimmingVisual && !isGameVisual) command = SplendidCommand.DimmingAsus;
if (command == SplendidCommand.DimmingVisual && isVivo) command = SplendidCommand.DimmingVivo;
var result = ProcessHelper.RunCMD(splendid, (int)command + " " + param1 + " " + param2);
if (result.Contains("file not exist") || (result.Length == 0 && isGameVisual)) return false;
if (result.Contains("file not exist") || (result.Length == 0 && !isVivo)) return false;
}
return true;

View File

@@ -73,8 +73,6 @@ namespace GHelper
labelTip.Visible = false;
labelTip.BackColor = Color.Transparent;
FormClosing += Fans_FormClosing;
seriesCPU = chartCPU.Series.Add("CPU");
seriesGPU = chartGPU.Series.Add("GPU");
seriesMid = chartMid.Series.Add("Mid");
@@ -120,16 +118,21 @@ namespace GHelper
trackFast.Maximum = AsusACPI.MaxTotal;
trackFast.Minimum = AsusACPI.MinTotal;
trackFast.Scroll += TrackPower_Scroll;
trackCPU.Scroll += TrackPower_Scroll;
trackTotal.Scroll += TrackPower_Scroll;
trackSlow.Scroll += TrackPower_Scroll;
trackTotal.Scroll += TrackTotal_Scroll;
trackSlow.Scroll += TrackSlow_Scroll;
trackFast.Scroll += TrackFast_Scroll;
trackCPU.Scroll += TrackCPU_Scroll;
trackFast.MouseUp += TrackPower_MouseUp;
trackCPU.MouseUp += TrackPower_MouseUp;
trackTotal.MouseUp += TrackPower_MouseUp;
trackSlow.MouseUp += TrackPower_MouseUp;
trackFast.KeyUp += TrackPower_KeyUp;
trackCPU.KeyUp += TrackPower_KeyUp;
trackTotal.KeyUp += TrackPower_KeyUp;
trackSlow.KeyUp += TrackPower_KeyUp;
checkApplyFans.Click += CheckApplyFans_Click;
checkApplyPower.Click += CheckApplyPower_Click;
@@ -232,6 +235,7 @@ namespace GHelper
}
private void ButtonDownload_Click(object? sender, EventArgs e)
{
RyzenControl.DownloadRing();
@@ -799,6 +803,14 @@ namespace GHelper
}
private void TrackPower_KeyUp(object? sender, KeyEventArgs e)
{
Task.Run(() =>
{
modeControl.AutoPower(true);
});
}
public void InitPowerPlan()
{
int boost = PowerNative.GetCPUBoost();
@@ -883,18 +895,8 @@ namespace GHelper
});
}
private void Fans_FormClosing(object? sender, FormClosingEventArgs e)
{
/*
if (e.CloseReason == CloseReason.UserClosing)
{
e.Cancel = true;
Hide();
}*/
}
public void InitPower(bool changed = false)
public void InitPower()
{
bool modeA = Program.acpi.DeviceGet(AsusACPI.PPT_APUA0) >= 0 || RyzenControl.IsAMD();
@@ -921,57 +923,37 @@ namespace GHelper
if (RyzenControl.IsAMD())
{
labelLeftTotal.Text = "CPU Sustained (SPL)";
labelLeftSlow.Text = "CPU Slow (sPPT)";
labelLeftFast.Text = "CPU Fast (fPPT)";
labelLeftTotal.Text = "SPL (CPU sustained)";
labelLeftSlow.Text = "sPPT (CPU 2 min boost)";
labelLeftFast.Text = "fPPT (CPU 2 sec boost)";
panelFast.Visible = modeC1;
}
else
{
labelLeftTotal.Text = "CPU Slow (PL1)";
labelLeftSlow.Text = "CPU Fast (PL2)";
labelLeftTotal.Text = "PL1 (CPU sustained)";
labelLeftSlow.Text = "PL2 (CPU 2 min boost)";
panelFast.Visible = false;
}
}
int limit_total;
int limit_slow;
int limit_cpu;
int limit_fast;
checkApplyPower.Checked = AppConfig.IsMode("auto_apply_power");
bool apply = AppConfig.IsMode("auto_apply_power");
int limit_total = AppConfig.GetMode("limit_total", AsusACPI.DefaultTotal);
int limit_slow = AppConfig.GetMode("limit_slow", limit_total);
int limit_fast = AppConfig.GetMode("limit_fast", limit_total);
int limit_cpu = AppConfig.GetMode("limit_cpu", AsusACPI.DefaultCPU);
if (changed)
{
limit_total = trackTotal.Value;
limit_slow = trackSlow.Value;
limit_cpu = trackCPU.Value;
limit_fast = trackFast.Value;
}
else
{
limit_total = AppConfig.GetMode("limit_total");
limit_slow = AppConfig.GetMode("limit_slow");
limit_cpu = AppConfig.GetMode("limit_cpu");
limit_fast = AppConfig.GetMode("limit_fast");
}
if (limit_total < 0) limit_total = AsusACPI.DefaultTotal;
if (limit_total > AsusACPI.MaxTotal) limit_total = AsusACPI.MaxTotal;
if (limit_total < AsusACPI.MinTotal) limit_total = AsusACPI.MinTotal;
if (limit_cpu < 0) limit_cpu = AsusACPI.DefaultCPU;
if (limit_cpu > AsusACPI.MaxCPU) limit_cpu = AsusACPI.MaxCPU;
if (limit_cpu < AsusACPI.MinCPU) limit_cpu = AsusACPI.MinCPU;
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 > AsusACPI.MaxTotal) limit_fast = AsusACPI.MaxTotal;
if (limit_fast < AsusACPI.MinTotal) limit_fast = AsusACPI.MinTotal;
@@ -980,27 +962,50 @@ namespace GHelper
trackCPU.Value = limit_cpu;
trackFast.Value = limit_fast;
checkApplyPower.Checked = apply;
SavePower();
}
private void SavePower()
{
labelTotal.Text = trackTotal.Value.ToString() + "W";
labelSlow.Text = trackSlow.Value.ToString() + "W";
labelCPU.Text = trackCPU.Value.ToString() + "W";
labelFast.Text = trackFast.Value.ToString() + "W";
AppConfig.SetMode("limit_total", limit_total);
AppConfig.SetMode("limit_slow", limit_slow);
AppConfig.SetMode("limit_cpu", limit_cpu);
AppConfig.SetMode("limit_fast", limit_fast);
AppConfig.SetMode("limit_total", trackTotal.Value);
AppConfig.SetMode("limit_slow", trackSlow.Value);
AppConfig.SetMode("limit_cpu", trackCPU.Value);
AppConfig.SetMode("limit_fast", trackFast.Value);
}
private void TrackPower_Scroll(object? sender, EventArgs e)
private void TrackTotal_Scroll(object? sender, EventArgs e)
{
InitPower(true);
if (trackTotal.Value > trackSlow.Value) trackSlow.Value = trackTotal.Value;
if (trackTotal.Value > trackFast.Value) trackFast.Value = trackTotal.Value;
if (trackTotal.Value < trackCPU.Value) trackCPU.Value = trackTotal.Value;
SavePower();
}
private void TrackSlow_Scroll(object? sender, EventArgs e)
{
if (trackSlow.Value < trackTotal.Value) trackTotal.Value = trackSlow.Value;
if (trackSlow.Value > trackFast.Value) trackFast.Value = trackSlow.Value;
SavePower();
}
private void TrackFast_Scroll(object? sender, EventArgs e)
{
if (trackFast.Value < trackSlow.Value) trackSlow.Value = trackFast.Value;
if (trackFast.Value < trackTotal.Value) trackTotal.Value = trackFast.Value;
SavePower();
}
private void TrackCPU_Scroll(object? sender, EventArgs e)
{
if (trackCPU.Value > trackTotal.Value) trackTotal.Value = trackCPU.Value;
SavePower();
}
public void InitFans()
{
@@ -1161,7 +1166,7 @@ namespace GHelper
InitGPUPower();
VisualiseGPUSettings();
modeControl.SetGPUClocks(true);
modeControl.SetGPUClocks(true, true);
modeControl.SetGPUPower();
}

View File

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

View File

@@ -118,6 +118,8 @@ namespace GHelper.Input
if (!AppConfig.Is("skip_hotkeys"))
{
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F13);
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F14);
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F15);
@@ -128,6 +130,7 @@ namespace GHelper.Input
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F20);
hook.RegisterHotKey(ModifierKeys.Control, Keys.VolumeDown);
hook.RegisterHotKey(ModifierKeys.Control, Keys.VolumeUp);
hook.RegisterHotKey(ModifierKeys.Shift, Keys.VolumeDown);
@@ -385,6 +388,9 @@ namespace GHelper.Input
case Keys.F4:
Program.settingsForm.BeginInvoke(Program.settingsForm.allyControl.ToggleModeHotkey);
break;
case Keys.F13:
ToggleScreenRate();
break;
case Keys.F14:
Program.settingsForm.gpuControl.SetGPUMode(AsusACPI.GPUModeEco);
break;
@@ -691,6 +697,18 @@ namespace GHelper.Input
case 199: // ON Z13 - FN+F11 - cycles backlight
SetBacklight(4);
return;
case 46: // Fn + F4 Vivobook Brightness down
if (Control.ModifierKeys == Keys.Control && AppConfig.IsOLED())
{
SetBrightnessDimming(-10);
}
break;
case 47: // Fn + F5 Vivobook Brightness up
if (Control.ModifierKeys == Keys.Control && AppConfig.IsOLED())
{
SetBrightnessDimming(10);
}
break;
}
}
@@ -824,6 +842,12 @@ namespace GHelper.Input
Program.toast.RunToast($"Screen Pad " + (toggle == 1 ? "On" : "Off"), toggle > 0 ? ToastIcon.BrightnessUp : ToastIcon.BrightnessDown);
}
public static void ToggleScreenRate()
{
AppConfig.Set("screen_auto", 0);
screenControl.ToggleScreenRate();
}
public static void ToggleCamera()
{
if (!ProcessHelper.IsUserAdministrator()) return;

View File

@@ -21,12 +21,35 @@ public sealed class KeyboardHook : IDisposable
private const byte VK_LWIN = 0x5B;
private const byte VK_LCONTROL = 0xA2;
[DllImport("user32.dll")]
public static extern void mouse_event(uint dwFlags, uint dx, uint dy, uint cButtons, uint dwExtraInfo);
//Mouse actions
private const int MOUSEEVENTF_LEFTDOWN = 0x02;
private const int MOUSEEVENTF_LEFTUP = 0x04;
private const int MOUSEEVENTF_RIGHTDOWN = 0x08;
private const int MOUSEEVENTF_RIGHTUP = 0x10;
private const int MOUSEEVENTF_MIDDOWN = 0x20;
private const int MOUSEEVENTF_MIDTUP = 0x40;
public static void KeyPress(Keys key)
{
switch (key)
{
case Keys.LButton:
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, (uint)Cursor.Position.X, (uint)Cursor.Position.Y, 0, 0);
return;
case Keys.RButton:
mouse_event(MOUSEEVENTF_RIGHTDOWN | MOUSEEVENTF_RIGHTUP, (uint)Cursor.Position.X, (uint)Cursor.Position.Y, 0, 0);
return;
case Keys.MButton:
mouse_event(MOUSEEVENTF_MIDDOWN | MOUSEEVENTF_MIDTUP, (uint)Cursor.Position.X, (uint)Cursor.Position.Y, 0, 0);
return;
}
keybd_event((byte)key, 0, KEYEVENTF_EXTENDEDKEY, IntPtr.Zero);
Thread.Sleep(1);
keybd_event((byte)key, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, IntPtr.Zero);
}

View File

@@ -18,14 +18,16 @@ namespace GHelper.Mode
private bool _ryzenPower = false;
static System.Timers.Timer reapplyTimer = default!;
static System.Timers.Timer modeToggleTimer = default!;
public ModeControl()
{
reapplyTimer = new System.Timers.Timer(AppConfig.GetMode("reapply_time", 30) * 1000);
reapplyTimer.Elapsed += ReapplyTimer_Elapsed;
reapplyTimer.Enabled = false;
reapplyTimer.Elapsed += ReapplyTimer_Elapsed;
}
private void ReapplyTimer_Elapsed(object? sender, System.Timers.ElapsedEventArgs e)
{
SetCPUTemp(AppConfig.GetMode("cpu_temp"));
@@ -56,6 +58,11 @@ namespace GHelper.Mode
PowerNative.SetPowerMode(Modes.GetCurrentBase());
}
public void Toast()
{
Program.toast.RunToast(Modes.GetCurrentName(), SystemInformation.PowerStatus.PowerLineStatus == PowerLineStatus.Online ? ToastIcon.Charger : ToastIcon.Battery);
}
public void SetPerformanceMode(int mode = -1, bool notify = false)
{
@@ -101,10 +108,7 @@ namespace GHelper.Mode
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);
if (notify) Toast();
// Power plan from config or defaulting to balanced
if (AppConfig.GetModeString("scheme") is not null)
@@ -135,9 +139,34 @@ namespace GHelper.Mode
}
private void ModeToggleTimer_Elapsed(object? sender, System.Timers.ElapsedEventArgs e)
{
modeToggleTimer.Stop();
Logger.WriteLine($"Timed mode: {Modes.GetCurrent()}");
SetPerformanceMode();
}
public void CyclePerformanceMode(bool back = false)
{
SetPerformanceMode(Modes.GetNext(back), true);
int delay = AppConfig.Get("mode_delay");
if (delay > 0)
{
if (modeToggleTimer is null)
{
modeToggleTimer = new System.Timers.Timer(delay);
modeToggleTimer.Elapsed += ModeToggleTimer_Elapsed;
}
modeToggleTimer.Stop();
modeToggleTimer.Start();
Modes.SetCurrent(Modes.GetNext(back));
Toast();
} else
{
SetPerformanceMode(Modes.GetNext(back), true);
}
}
public void AutoFans(bool force = false)
@@ -313,7 +342,7 @@ namespace GHelper.Mode
}
public void SetGPUClocks(bool launchAsAdmin = true)
public void SetGPUClocks(bool launchAsAdmin = true, bool reset = false)
{
Task.Run(() =>
{
@@ -322,6 +351,8 @@ namespace GHelper.Mode
int memory = AppConfig.GetMode("gpu_memory");
int clock_limit = AppConfig.GetMode("gpu_clock_limit");
if (reset) core = memory = clock_limit = 0;
if (core == -1 && memory == -1 && clock_limit == -1) return;
//if ((gpu_core > -5 && gpu_core < 5) && (gpu_memory > -5 && gpu_memory < 5)) launchAsAdmin = false;

View File

@@ -495,7 +495,7 @@ Trotzdem fortfahren?</value>
<value>Laptopbildschirm</value>
</data>
<data name="LEDStatusIndicators" xml:space="preserve">
<value>LED Status Indicators</value>
<value>LED-Statusanzeige</value>
</data>
<data name="Lid" xml:space="preserve">
<value>Deckel</value>

View File

@@ -507,7 +507,7 @@
<value>Iluminación</value>
</data>
<data name="LockScreen" xml:space="preserve">
<value>Lock Screen</value>
<value>Pantalla de bloqueo</value>
</data>
<data name="Logo" xml:space="preserve">
<value>Logo</value>

View File

@@ -774,10 +774,10 @@ Voulez-vous continuer ?</value>
<value>Mode d'affichage</value>
</data>
<data name="VisualModesHDR" xml:space="preserve">
<value>Visual Modes are not available when HDR is active</value>
<value>Les modes visuels ne sont pas disponibles lorsque le HDR est actif</value>
</data>
<data name="VisualModesScreen" xml:space="preserve">
<value>Visual Modes are not available when laptop screen is off</value>
<value>Les modes visuels ne sont pas disponibles lorsque l'écran de l'ordinateur portable est éteint</value>
</data>
<data name="VolumeDown" xml:space="preserve">
<value>Vol-</value>

View File

@@ -507,7 +507,7 @@ Nadal chcesz kontynuować?</value>
<value>Oświetlenie</value>
</data>
<data name="LockScreen" xml:space="preserve">
<value>Lock Screen</value>
<value>Ekran blokady</value>
</data>
<data name="Logo" xml:space="preserve">
<value>Logo</value>

View File

@@ -121,7 +121,7 @@
<value>Hızlandırma</value>
</data>
<data name="ACPIError" xml:space="preserve">
<value>ASUS ACPI'ye bağlanılamıyor. Uygulama o olmadan çalışamaz. Asus Sistem Kontrol Arayüzü'yüklemeyi deneyin.</value>
<value>ASUS ACPI bağlanılamıyor. Uygulama onsuz çalışamaz. Asus Sistem Kontrol Arayüzünü kurmayı deneyin</value>
</data>
<data name="AlertAPUMemoryRestart" xml:space="preserve">
<value>Değişiklikleri uygulamak için cihazınızı yeniden başlatın</value>
@@ -130,7 +130,7 @@
<value>Şimdi yeniden başlatılsın mı?</value>
</data>
<data name="AlertDGPU" xml:space="preserve">
<value>Görünüşe göre GPU yoğun bir şekilde kullanılıyor, devre dışı bırakılsın mı?</value>
<value>GPU yoğun kullanımda gibi, devre dışı bırakılsın mı?</value>
</data>
<data name="AlertDGPUTitle" xml:space="preserve">
<value>Eko Modu</value>
@@ -169,10 +169,10 @@
<value>Güç Sınırlarını Uygula</value>
</data>
<data name="ApplyWindowsPowerPlan" xml:space="preserve">
<value>Windows Güç Modunu otomatik ayarla</value>
<value>Windows Güç Modlarını otomatik ayarla</value>
</data>
<data name="APUMemory" xml:space="preserve">
<value>GPU'ya Atanan Bellek</value>
<value>GPU için Atanan Bellek</value>
</data>
<data name="AsusServicesRunning" xml:space="preserve">
<value>Çalışan Asus Hizmetleri</value>
@@ -244,7 +244,7 @@
<value>Otomatik</value>
</data>
<data name="AutoRefreshTooltip" xml:space="preserve">
<value>Pil tasarrufu için 60Hz kullanılır ve şarja takıldığında eski haline getirir</value>
<value>Pil tasarrufu için 60Hz kullanılır, şarja takıldığında eski haline gelir</value>
</data>
<data name="Awake" xml:space="preserve">
<value>Uyanırken</value>
@@ -262,7 +262,7 @@
<value>Kapalı</value>
</data>
<data name="BacklightTimeout" xml:space="preserve">
<value>Pildeyken klavye ışığının kapanma süresi</value>
<value>Pilde klavye ışığı kapanma süresi</value>
</data>
<data name="BacklightTimeoutBattery" xml:space="preserve">
<value>Pildeyken Arka Işık Zaman Aşımı</value>
@@ -283,7 +283,7 @@
<value>Pil Sağlığı</value>
</data>
<data name="BatteryLimitFull" xml:space="preserve">
<value>Bir seferlik %100 şarj etme</value>
<value>Tek seferlik %100'e kadar şarj</value>
</data>
<data name="Binding" xml:space="preserve">
<value>Tuş Atamaları</value>
@@ -298,13 +298,13 @@
<value>BIOS ve Sürücü Güncellemeleri</value>
</data>
<data name="Boot" xml:space="preserve">
<value>Boot</value>
<value>ılışta</value>
</data>
<data name="BootSound" xml:space="preserve">
<value>Boot Sesi</value>
<value>Önyükleme Sesi</value>
</data>
<data name="Brightness" xml:space="preserve">
<value>Parlaklığı</value>
<value>Parlaklık</value>
</data>
<data name="BrightnessDown" xml:space="preserve">
<value>Parlaklığı Azalt</value>
@@ -313,10 +313,10 @@
<value>Parlaklığı Artır</value>
</data>
<data name="BWTrayIcon" xml:space="preserve">
<value>Siyah-beyaz tepsi simgesi</value>
<value>Siyah ve beyaz tepsi simgesi</value>
</data>
<data name="Calibrate" xml:space="preserve">
<value>Kalibre Et</value>
<value>Kalibrasyon</value>
</data>
<data name="Charging" xml:space="preserve">
<value>Şarj oluyor</value>
@@ -331,7 +331,7 @@
<value>Kontrolcü</value>
</data>
<data name="CPUBoost" xml:space="preserve">
<value>CPU Desteği</value>
<value>CPU Artışı</value>
</data>
<data name="Custom" xml:space="preserve">
<value>Özel</value>
@@ -352,7 +352,7 @@
<value>Ekran overdrive özelliğini devre dışı bırak</value>
</data>
<data name="Discharging" xml:space="preserve">
<value>Şarj azalıyor</value>
<value>Şarj Azalıyor</value>
</data>
<data name="DownloadColorProfiles" xml:space="preserve">
<value>Renk Profillerini İndir</value>
@@ -364,13 +364,13 @@
<value>Sürücüler ve Yazılımlar</value>
</data>
<data name="EcoGPUTooltip" xml:space="preserve">
<value>Pil tasarrufu için harici GPU'yu devre dışı bırakır</value>
<value>Pil tasarrufu için dGPU devre dışı bırakılır</value>
</data>
<data name="EcoMode" xml:space="preserve">
<value>Eko</value>
</data>
<data name="EnableGPUOnShutdown" xml:space="preserve">
<value>Kapanma sırasında harici GPU'yu etkinleştir (Eco moduyla ilgili sorunları önler)</value>
<value>Kapatma sırasında GPU'yu etkinleştir (Eco modundaki sorunları önler)</value>
</data>
<data name="EnableOptimusText" xml:space="preserve">
<value>NVIDIA Denetim Masası'ndaki Görüntü Modu Optimus olarak ayarlı değilken Eko moduna geçilerek harici GPU'nun devre dışı bırakılması, bir sonraki yeniden başlatmaya kadar parlaklık ayarlarında sorunlara neden olabilir.
@@ -390,7 +390,7 @@ Yine de devam etmek istiyor musunuz?</value>
<value>Ekstra</value>
</data>
<data name="ExtraSettings" xml:space="preserve">
<value>Ekstra Ayarlar</value>
<value>Ek Ayarlar</value>
</data>
<data name="FactoryDefaults" xml:space="preserve">
<value>Fabrika Ayarları</value>
@@ -447,13 +447,13 @@ Yine de devam etmek istiyor musunuz?</value>
<value>GPU Modu</value>
</data>
<data name="GPUModeEco" xml:space="preserve">
<value>sadece dahili GPU</value>
<value>Sadece iGPU</value>
</data>
<data name="GPUModeStandard" xml:space="preserve">
<value>dahili + harici GPU</value>
<value>iGPU + dGPU</value>
</data>
<data name="GPUModeUltimate" xml:space="preserve">
<value>sadece harici GPU</value>
<value>Ayrıcalıklı dGPU</value>
</data>
<data name="GPUPower" xml:space="preserve">
<value>GPU Gücü</value>
@@ -471,7 +471,7 @@ Yine de devam etmek istiyor musunuz?</value>
<value>Yüksek</value>
</data>
<data name="ImageRotation" xml:space="preserve">
<value>Görüntü Rotasyonu</value>
<value>Görüntü Döndürme</value>
</data>
<data name="Import" xml:space="preserve">
<value>Profili İçe Aktar</value>
@@ -483,7 +483,7 @@ Yine de devam etmek istiyor musunuz?</value>
<value>Klavye</value>
</data>
<data name="KillGpuApps" xml:space="preserve">
<value>Eco'ya geçerken harici GPU'yu kullanan tüm uygulamaları durdur</value>
<value>Eco moda geçerken GPU kullanan tüm uygulamaları durdur</value>
</data>
<data name="LaptopBacklight" xml:space="preserve">
<value>Laptop Aydınlatması</value>
@@ -495,7 +495,7 @@ Yine de devam etmek istiyor musunuz?</value>
<value>Laptop Ekranı</value>
</data>
<data name="LEDStatusIndicators" xml:space="preserve">
<value>LED Status Indicators</value>
<value>LED Durum Göstergeleri</value>
</data>
<data name="Lid" xml:space="preserve">
<value>Kapak</value>
@@ -507,7 +507,7 @@ Yine de devam etmek istiyor musunuz?</value>
<value>Işıklandırma</value>
</data>
<data name="LockScreen" xml:space="preserve">
<value>Lock Screen</value>
<value>Kilit Ekranı</value>
</data>
<data name="Logo" xml:space="preserve">
<value>Logo</value>
@@ -516,7 +516,7 @@ Yine de devam etmek istiyor musunuz?</value>
<value>Düşük</value>
</data>
<data name="LSDeadzones" xml:space="preserve">
<value>Sol Joystick Ölü Bölgeleri</value>
<value>Sol Çubuk Ölü Bölgeleri</value>
</data>
<data name="LTDeadzones" xml:space="preserve">
<value>Sol Tetik Ölü Bölgeleri</value>
@@ -525,7 +525,7 @@ Yine de devam etmek istiyor musunuz?</value>
<value>Ses Görselleştirici</value>
</data>
<data name="MatrixBanner" xml:space="preserve">
<value>Binary Banner</value>
<value>İkili Afiş</value>
</data>
<data name="MatrixBright" xml:space="preserve">
<value>Parlak</value>
@@ -549,7 +549,7 @@ Yine de devam etmek istiyor musunuz?</value>
<value>Resim</value>
</data>
<data name="MaxRefreshTooltip" xml:space="preserve">
<value>Daha düşük gecikme için maksimum yenileme hızı</value>
<value>En düşük gecikme için en yüksek yenileme hızı</value>
</data>
<data name="MinRefreshTooltip" xml:space="preserve">
<value>Pil tasarrufu için 60Hz yenileme hızı</value>
@@ -561,7 +561,7 @@ Yine de devam etmek istiyor musunuz?</value>
<value>Dakika</value>
</data>
<data name="MouseAngleSnapping" xml:space="preserve">
<value>Angle Snapping</value>
<value>Açılı Yakalama</value>
</data>
<data name="MouseAutoPowerOff" xml:space="preserve">
<value>Sonrasında Otomatik Kapat</value>
@@ -582,7 +582,7 @@ Yine de devam etmek istiyor musunuz?</value>
<value>Performans</value>
</data>
<data name="MouseSynchronize" xml:space="preserve">
<value>Fare ile senkronize edin</value>
<value>Fare ile eşitle</value>
</data>
<data name="Multizone" xml:space="preserve">
<value>Çok Bölgeli</value>
@@ -591,7 +591,7 @@ Yine de devam etmek istiyor musunuz?</value>
<value>Çok Bölgeli (Güçlü)</value>
</data>
<data name="Muted" xml:space="preserve">
<value>Ses kapalı</value>
<value>Susturuldu</value>
</data>
<data name="MuteMic" xml:space="preserve">
<value>Mikrofonu Sustur</value>
@@ -606,7 +606,7 @@ Yine de devam etmek istiyor musunuz?</value>
<value>Güncelleme yok</value>
</data>
<data name="NotConnected" xml:space="preserve">
<value>Bağlantı Yok</value>
<value>Bağlı Değil</value>
</data>
<data name="Off" xml:space="preserve">
<value>Kapalı</value>
@@ -621,13 +621,13 @@ Yine de devam etmek istiyor musunuz?</value>
<value>G-Helper penceresini aç</value>
</data>
<data name="Optimized" xml:space="preserve">
<value>Optimize edilmiş</value>
<value>İyileştirilmiş</value>
</data>
<data name="OptimizedGPUTooltip" xml:space="preserve">
<value>Pille çalışırken Eko moda ve şarjdayken Standart moda geçiş yapın</value>
<value>Pil ile çalışırken Eko moda, şarjda Standart moda geçiş yap</value>
</data>
<data name="OptimizedUSBC" xml:space="preserve">
<value>Optimize edilmiş modda USB-c şarj cihazında GPU'yu devre dışı bırak</value>
<value>İyileştirilmiş modda USB-C şarj cihazı bağlıyken, GPU devre dışı kalsın</value>
</data>
<data name="Other" xml:space="preserve">
<value>Diğer</value>
@@ -657,13 +657,13 @@ Yine de devam etmek istiyor musunuz?</value>
<value>Güç Sınırları deneysel bir özelliktir. Riski göze alarak dikkatli kullanın!</value>
</data>
<data name="PrintScreen" xml:space="preserve">
<value>Ekran Görüntüsü Al</value>
<value>PrintScreen</value>
</data>
<data name="Profile" xml:space="preserve">
<value>Profil</value>
</data>
<data name="Quit" xml:space="preserve">
<value>Çıkış Yap</value>
<value>Çıkış</value>
</data>
<data name="Reset" xml:space="preserve">
<value>Sıfırla</value>
@@ -693,7 +693,7 @@ Yine de devam etmek istiyor musunuz?</value>
<value>Screenpad Parlaklığını Artır</value>
</data>
<data name="Shutdown" xml:space="preserve">
<value>Kapatma</value>
<value>Kapanış</value>
</data>
<data name="Silent" xml:space="preserve">
<value>Sessiz</value>
@@ -702,7 +702,7 @@ Yine de devam etmek istiyor musunuz?</value>
<value>Uyku</value>
</data>
<data name="StandardGPUTooltip" xml:space="preserve">
<value>Standart kullanım için harici GPU'yu etkinleştirir</value>
<value>Standart kullanım için dGPU etkinleştirilir</value>
</data>
<data name="StandardMode" xml:space="preserve">
<value>Standart</value>
@@ -750,13 +750,13 @@ Yine de devam etmek istiyor musunuz?</value>
<value>Pille çalışırken kapat</value>
</data>
<data name="UltimateGPUTooltip" xml:space="preserve">
<value>Dizüstü ekranını harici GPU'ya yönlendirerek FPS'yi maksimize eder</value>
<value>Dizüstü ekranını dGPU üstüne yönlendirerek FPS en üst düzeye çıkar</value>
</data>
<data name="UltimateMode" xml:space="preserve">
<value>Ultimate</value>
</data>
<data name="UndervoltingRisky" xml:space="preserve">
<value>Undervolting deneysel ve riskli bir özelliktir. Uygulanan değerler cihazınız için çok düşükse, cihazınız stabil çalışmayabilir, kapanabilir veya veri kaybına uğrayabilir. Yine de denemek istiyorsanız, önce küçük değerlerden başlayıp Uygula'ya tıklayın ve sizin için uygun olanı test edin.</value>
<value>Düşük voltaj deneysel ve riskli bir özelliktir. Uygulanan değerler cihaz için çok düşükse, cihazı stabil çalışmayabilir, kapanabilir veya veri kaybına uğrayabilir. Yine de denemek istiyorsanız, önce küçük değerlerden başlayın ve sizin için uygun olanı test edin.</value>
</data>
<data name="Unmuted" xml:space="preserve">
<value>Ses açık</value>
@@ -768,16 +768,16 @@ Yine de devam etmek istiyor musunuz?</value>
<value>Sürüm</value>
</data>
<data name="VibrationStrength" xml:space="preserve">
<value>Titreşim Şiddeti</value>
<value>Titreşim Yoğunluğu</value>
</data>
<data name="VisualMode" xml:space="preserve">
<value>Görüntü Modu</value>
<value>Görsel Mod</value>
</data>
<data name="VisualModesHDR" xml:space="preserve">
<value>Visual Modes are not available when HDR is active</value>
<value>HDR etkin olduğunda Görsel Modlar kullanılamaz</value>
</data>
<data name="VisualModesScreen" xml:space="preserve">
<value>Visual Modes are not available when laptop screen is off</value>
<value>Bilgisayar ekranı kapalı olduğunda Görsel Modlar kullanılamaz</value>
</data>
<data name="VolumeDown" xml:space="preserve">
<value>Sesi Azalt</value>
@@ -792,6 +792,6 @@ Yine de devam etmek istiyor musunuz?</value>
<value>Uygulama penceresini her zaman en üstte tut</value>
</data>
<data name="Zoom" xml:space="preserve">
<value>Yakınlaştırma</value>
<value>Yakınlaştır</value>
</data>
</root>

View File

@@ -495,7 +495,7 @@
<value>笔记本屏幕</value>
</data>
<data name="LEDStatusIndicators" xml:space="preserve">
<value>LED Status Indicators</value>
<value>LED 状态指示器</value>
</data>
<data name="Lid" xml:space="preserve">
<value>盖子</value>
@@ -507,7 +507,7 @@
<value>背光</value>
</data>
<data name="LockScreen" xml:space="preserve">
<value>Lock Screen</value>
<value>锁定屏幕</value>
</data>
<data name="Logo" xml:space="preserve">
<value>徽标</value>
@@ -585,10 +585,10 @@
<value>和鼠标同步</value>
</data>
<data name="Multizone" xml:space="preserve">
<value>Multi Zone</value>
<value>多区</value>
</data>
<data name="MultizoneStrong" xml:space="preserve">
<value>Multi Zone Strong</value>
<value>多区强化</value>
</data>
<data name="Muted" xml:space="preserve">
<value>麦克风关闭</value>
@@ -615,7 +615,7 @@
<value>开</value>
</data>
<data name="OneZone" xml:space="preserve">
<value>One Zone</value>
<value>单区</value>
</data>
<data name="OpenGHelper" xml:space="preserve">
<value>打开G-Helper窗口</value>
@@ -771,13 +771,13 @@
<value>震动强度</value>
</data>
<data name="VisualMode" xml:space="preserve">
<value>Visual Mode</value>
<value>色域模式</value>
</data>
<data name="VisualModesHDR" xml:space="preserve">
<value>Visual Modes are not available when HDR is active</value>
<value>HDR 开启时不支持色域模式</value>
</data>
<data name="VisualModesScreen" xml:space="preserve">
<value>Visual Modes are not available when laptop screen is off</value>
<value>笔记本自带屏幕关闭时不支持色域模式</value>
</data>
<data name="VolumeDown" xml:space="preserve">
<value>音量降低</value>
@@ -792,6 +792,6 @@
<value>窗口置顶</value>
</data>
<data name="Zoom" xml:space="preserve">
<value>Zoom</value>
<value>缩放</value>
</data>
</root>

View File

@@ -1368,7 +1368,7 @@ namespace GHelper
//
pictureKeyboard.BackgroundImage = Properties.Resources.icons8_keyboard_32__1_;
pictureKeyboard.BackgroundImageLayout = ImageLayout.Zoom;
pictureKeyboard.Location = new Point(8, 3);
pictureKeyboard.Location = new Point(8, 0);
pictureKeyboard.Margin = new Padding(4);
pictureKeyboard.Name = "pictureKeyboard";
pictureKeyboard.Size = new Size(32, 32);
@@ -1379,7 +1379,7 @@ namespace GHelper
//
labelKeyboard.AutoSize = true;
labelKeyboard.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
labelKeyboard.Location = new Point(40, 0);
labelKeyboard.Location = new Point(43, 0);
labelKeyboard.Margin = new Padding(4, 0, 4, 0);
labelKeyboard.Name = "labelKeyboard";
labelKeyboard.Size = new Size(210, 32);
@@ -1399,6 +1399,7 @@ namespace GHelper
//
// labelCharge
//
labelCharge.Cursor = Cursors.Hand;
labelCharge.Dock = DockStyle.Right;
labelCharge.ForeColor = SystemColors.ControlDark;
labelCharge.Location = new Point(366, 0);
@@ -1408,7 +1409,6 @@ namespace GHelper
labelCharge.Size = new Size(461, 56);
labelCharge.TabIndex = 40;
labelCharge.TextAlign = ContentAlignment.MiddleRight;
labelCharge.Cursor = Cursors.Hand;
//
// panelPeripherals
//

View File

@@ -1067,7 +1067,7 @@ namespace GHelper
if (matrixControl.IsSlash)
{
labelMatrix.Text = "Slash Lightning";
labelMatrix.Text = "Slash Lighting";
comboMatrixRunning.Items.Clear();
foreach (var item in SlashDevice.Modes)

View File

@@ -611,6 +611,7 @@ namespace GHelper.USB
if (init || initDirect)
{
initDirect = false;
Init();
AsusHid.WriteAura(new byte[] { AsusHid.AURA_ID, 0xbc, 1 });
}

112
app/Updates.Designer.cs generated
View File

@@ -42,12 +42,18 @@ namespace GHelper
panelDriversTitle = new Panel();
labelDrivers = new Label();
pictureDrivers = new PictureBox();
tableLayoutLegend = new TableLayoutPanel();
labelLegendGreen = new Label();
labelLegendGray = new Label();
labelLegendRed = new Label();
labelLegend = new Label();
((System.ComponentModel.ISupportInitialize)pictureBios).BeginInit();
panelBiosTitle.SuspendLayout();
panelBios.SuspendLayout();
panelDrivers.SuspendLayout();
panelDriversTitle.SuspendLayout();
((System.ComponentModel.ISupportInitialize)pictureDrivers).BeginInit();
tableLayoutLegend.SuspendLayout();
SuspendLayout();
//
// tableBios
@@ -99,14 +105,14 @@ namespace GHelper
panelBiosTitle.Location = new Point(0, 0);
panelBiosTitle.Margin = new Padding(4);
panelBiosTitle.Name = "panelBiosTitle";
panelBiosTitle.Size = new Size(1294, 62);
panelBiosTitle.Size = new Size(1236, 60);
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(848, 23);
labelUpdates.Location = new Point(919, 19);
labelUpdates.Name = "labelUpdates";
labelUpdates.Size = new Size(245, 32);
labelUpdates.TabIndex = 4;
@@ -122,7 +128,7 @@ namespace GHelper
buttonRefresh.FlatAppearance.BorderSize = 0;
buttonRefresh.FlatStyle = FlatStyle.Flat;
buttonRefresh.Image = Properties.Resources.icons8_refresh_32;
buttonRefresh.Location = new Point(1221, 14);
buttonRefresh.Location = new Point(1172, 11);
buttonRefresh.Name = "buttonRefresh";
buttonRefresh.Secondary = true;
buttonRefresh.Size = new Size(52, 46);
@@ -134,11 +140,11 @@ namespace GHelper
panelBios.AutoSize = true;
panelBios.Controls.Add(tableBios);
panelBios.Dock = DockStyle.Top;
panelBios.Location = new Point(0, 62);
panelBios.Location = new Point(0, 60);
panelBios.Margin = new Padding(4);
panelBios.Name = "panelBios";
panelBios.Padding = new Padding(20);
panelBios.Size = new Size(1294, 40);
panelBios.Size = new Size(1236, 40);
panelBios.TabIndex = 4;
//
// panelDrivers
@@ -146,11 +152,11 @@ namespace GHelper
panelDrivers.AutoSize = true;
panelDrivers.Controls.Add(tableDrivers);
panelDrivers.Dock = DockStyle.Top;
panelDrivers.Location = new Point(0, 146);
panelDrivers.Location = new Point(0, 144);
panelDrivers.Margin = new Padding(4);
panelDrivers.Name = "panelDrivers";
panelDrivers.Padding = new Padding(20);
panelDrivers.Size = new Size(1294, 40);
panelDrivers.Size = new Size(1236, 40);
panelDrivers.TabIndex = 6;
//
// tableDrivers
@@ -175,10 +181,10 @@ namespace GHelper
panelDriversTitle.Controls.Add(labelDrivers);
panelDriversTitle.Controls.Add(pictureDrivers);
panelDriversTitle.Dock = DockStyle.Top;
panelDriversTitle.Location = new Point(0, 102);
panelDriversTitle.Location = new Point(0, 100);
panelDriversTitle.Margin = new Padding(4);
panelDriversTitle.Name = "panelDriversTitle";
panelDriversTitle.Size = new Size(1294, 44);
panelDriversTitle.Size = new Size(1236, 44);
panelDriversTitle.TabIndex = 5;
//
// labelDrivers
@@ -203,12 +209,91 @@ namespace GHelper
pictureDrivers.TabIndex = 2;
pictureDrivers.TabStop = false;
//
// tableLayoutLegend
//
tableLayoutLegend.AutoSize = true;
tableLayoutLegend.AutoSizeMode = AutoSizeMode.GrowAndShrink;
tableLayoutLegend.ColumnCount = 4;
tableLayoutLegend.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 15.151515F));
tableLayoutLegend.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 28.2828274F));
tableLayoutLegend.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 28.2828274F));
tableLayoutLegend.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 28.2828274F));
tableLayoutLegend.Controls.Add(labelLegendGreen, 0, 0);
tableLayoutLegend.Controls.Add(labelLegendGray, 0, 0);
tableLayoutLegend.Controls.Add(labelLegendRed, 1, 0);
tableLayoutLegend.Controls.Add(labelLegend, 0, 0);
tableLayoutLegend.Dock = DockStyle.Bottom;
tableLayoutLegend.Location = new Point(0, 608);
tableLayoutLegend.Margin = new Padding(0);
tableLayoutLegend.Name = "tableLayoutLegend";
tableLayoutLegend.Padding = new Padding(10, 0, 10, 20);
tableLayoutLegend.RowCount = 1;
tableLayoutLegend.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
tableLayoutLegend.Size = new Size(1236, 82);
tableLayoutLegend.TabIndex = 7;
//
// labelLegendGreen
//
labelLegendGreen.AutoSize = true;
labelLegendGreen.BackColor = Color.Green;
labelLegendGreen.Dock = DockStyle.Top;
labelLegendGreen.ForeColor = Color.White;
labelLegendGreen.Location = new Point(547, 10);
labelLegendGreen.Margin = new Padding(10);
labelLegendGreen.Name = "labelLegendGreen";
labelLegendGreen.Padding = new Padding(5);
labelLegendGreen.Size = new Size(323, 42);
labelLegendGreen.TabIndex = 4;
labelLegendGreen.Text = "Updated";
//
// labelLegendGray
//
labelLegendGray.AutoSize = true;
labelLegendGray.BackColor = Color.Gray;
labelLegendGray.Dock = DockStyle.Top;
labelLegendGray.ForeColor = Color.White;
labelLegendGray.Location = new Point(204, 10);
labelLegendGray.Margin = new Padding(10);
labelLegendGray.Name = "labelLegendGray";
labelLegendGray.Padding = new Padding(5);
labelLegendGray.Size = new Size(323, 42);
labelLegendGray.TabIndex = 3;
labelLegendGray.Text = "Can't check local version";
//
// labelLegendRed
//
labelLegendRed.AutoSize = true;
labelLegendRed.BackColor = Color.Red;
labelLegendRed.Dock = DockStyle.Top;
labelLegendRed.ForeColor = Color.White;
labelLegendRed.Location = new Point(890, 10);
labelLegendRed.Margin = new Padding(10);
labelLegendRed.Name = "labelLegendRed";
labelLegendRed.Padding = new Padding(5);
labelLegendRed.Size = new Size(326, 42);
labelLegendRed.TabIndex = 1;
labelLegendRed.Text = "Update Available";
//
// labelLegend
//
labelLegend.AutoSize = true;
labelLegend.Dock = DockStyle.Top;
labelLegend.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
labelLegend.Location = new Point(20, 10);
labelLegend.Margin = new Padding(10);
labelLegend.Name = "labelLegend";
labelLegend.Padding = new Padding(5);
labelLegend.Size = new Size(164, 42);
labelLegend.TabIndex = 0;
labelLegend.Text = "Legend";
//
// Updates
//
AutoScaleDimensions = new SizeF(192F, 192F);
AutoScaleMode = AutoScaleMode.Dpi;
AutoScroll = true;
ClientSize = new Size(1294, 690);
ClientSize = new Size(1236, 690);
Controls.Add(tableLayoutLegend);
Controls.Add(panelDrivers);
Controls.Add(panelDriversTitle);
Controls.Add(panelBios);
@@ -229,6 +314,8 @@ namespace GHelper
panelDriversTitle.ResumeLayout(false);
panelDriversTitle.PerformLayout();
((System.ComponentModel.ISupportInitialize)pictureDrivers).EndInit();
tableLayoutLegend.ResumeLayout(false);
tableLayoutLegend.PerformLayout();
ResumeLayout(false);
PerformLayout();
}
@@ -247,5 +334,10 @@ namespace GHelper
private PictureBox pictureDrivers;
private RButton buttonRefresh;
private Label labelUpdates;
private TableLayoutPanel tableLayoutLegend;
private Label labelLegend;
private Label labelLegendRed;
private Label labelLegendGray;
private Label labelLegendGreen;
}
}

View File

@@ -1,4 +1,5 @@
using GHelper.UI;
using Ryzen;
using System.Diagnostics;
using System.Management;
using System.Net;
@@ -54,17 +55,20 @@ namespace GHelper
tableBios.Visible = false;
tableDrivers.Visible = false;
labelLegendGreen.BackColor = colorEco;
labelLegendRed.BackColor = colorTurbo;
ClearTable(tableBios);
ClearTable(tableDrivers);
Task.Run(async () =>
{
DriversAsync($"https://rog.asus.com/support/webapi/product/GetPDBIOS?website=global&model={model}&cpu=", 1, tableBios);
DriversAsync($"https://rog.asus.com/support/webapi/product/GetPDBIOS?website=global&model={model}&cpu=CPUNAME", model, 1, tableBios);
});
Task.Run(async () =>
{
DriversAsync($"https://rog.asus.com/support/webapi/product/GetPDDrivers?website=global&model={model}&cpu={model}&osid=52", 0, tableDrivers);
DriversAsync($"https://rog.asus.com/support/webapi/product/GetPDDrivers?website=global&model={model}&cpu=CPUNAME&osid=52", model, 0, tableDrivers);
});
}
@@ -220,7 +224,7 @@ namespace GHelper
return input;
}
public async void DriversAsync(string url, int type, TableLayoutPanel table)
public async void DriversAsync(string url, string model, int type, TableLayoutPanel table)
{
try
@@ -230,11 +234,26 @@ namespace GHelper
AutomaticDecompression = DecompressionMethods.All
}))
{
var urlNormal = url.Replace("CPUNAME", model);
Logger.WriteLine(urlNormal);
httpClient.DefaultRequestHeaders.AcceptEncoding.ParseAdd("gzip, deflate, br");
httpClient.DefaultRequestHeaders.Add("User-Agent", "C# App");
var json = await httpClient.GetStringAsync(url);
var json = await httpClient.GetStringAsync(urlNormal);
var data = JsonSerializer.Deserialize<JsonElement>(json);
var result = data.GetProperty("Result");
// fallback for bugged API
if (result.ToString() == "" || result.GetProperty("Obj").GetArrayLength() == 0)
{
Random rnd = new Random();
var urlFallback = url.Replace("CPUNAME", model + rnd.Next(10, 99));
Logger.WriteLine(urlFallback);
json = await httpClient.GetStringAsync(urlFallback);
data = JsonSerializer.Deserialize<JsonElement>(json);
}
var groups = data.GetProperty("Result").GetProperty("Obj");

View File

@@ -13,7 +13,7 @@ Works with all popular models, such as ROG Zephyrus G14, G15, G16, M16, Flow X13
- [Troubleshooting](https://github.com/seerge/g-helper/wiki/Troubleshooting)
- [Power User Settings](https://github.com/seerge/g-helper/wiki/Power-user-settings)
### Support project in [:euro: EUR](https://www.paypal.com/donate/?hosted_button_id=4HMSHS4EBQWTA) or [💵 USD](https://www.paypal.com/donate/?hosted_button_id=SRM6QUX6ACXDY)
### Support project : [:euro: Paypal EUR](https://www.paypal.com/donate/?hosted_button_id=4HMSHS4EBQWTA) | [💵 Paypal USD](https://www.paypal.com/donate/?hosted_button_id=SRM6QUX6ACXDY) | [🪙 Stripe](https://buy.stripe.com/00gaFJ9Lf79v7WobII)
[![G-Helper Download](https://github.com/seerge/g-helper/assets/5920850/4d98465a-63a5-4498-ae14-afb3e67e7e82)](https://github.com/seerge/g-helper/releases/latest/download/GHelper.zip)
@@ -38,7 +38,7 @@ Works with all popular models, such as ROG Zephyrus G14, G15, G16, M16, Flow X13
2. GPU modes: Eco - Standard - Ultimate - Optimized
3. Screen refresh rate control with display overdrive (OD)
4. Custom fan curve editor, power limits and turbo boost selection for every performance mode
5. Anime Matrix or Slash Lightning control including animated GIFs, clock and Audio visualizer
5. Anime Matrix or Slash Lighting control including animated GIFs, clock and Audio visualizer
6. Backlight animation modes and colors
7. Custom hotkeys (M-keys, FN+X keys)
8. Monitor CPU and GPU temperature, fan speeds and battery status
@@ -113,9 +113,10 @@ Huge thanks to [@IceStormNG](https://github.com/IceStormNG) 👑 for contributio
- ``Ctrl + M1 / M2`` - Screen brightness Down / Up
- ``Shift + M1 / M2`` - Backlight brightness Down / Up
- ``Fn + C`` - Fn-Lock
- ``Fn + Shift + F7 / F8`` - Matrix / Slash Lightning brightness Down / Up
- ``Fn + Shift + F7 / F8`` - Matrix / Slash Lighting brightness Down / Up
- ``Fn + Shift + F7 / F8`` - Screenpad brightness Down / Up
- ``Ctrl + Shift + F20`` - Mute Microphone
- ``Ctrl + Shift + Alt + F13`` - Toggle Display Refresh Rate
- ``Ctrl + Shift + Alt + F14`` - Eco GPU Mode
- ``Ctrl + Shift + Alt + F15`` - Standard GPU Mode
- ``Ctrl + Shift + Alt + F16`` - Silent