From 1603f625ed70b90671a5fc692ccc579e8eea653a Mon Sep 17 00:00:00 2001 From: Serge <5920850+seerge@users.noreply.github.com> Date: Thu, 1 Jun 2023 14:19:43 +0200 Subject: [PATCH] FN-Lock support for case when optimization service is running --- app/GHelper.csproj | 2 +- app/InputDispatcher.cs | 20 ++++++++++++-------- app/NativeMethods.cs | 2 ++ 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/app/GHelper.csproj b/app/GHelper.csproj index 3d91fe54..95ee8d90 100644 --- a/app/GHelper.csproj +++ b/app/GHelper.csproj @@ -16,7 +16,7 @@ AnyCPU False True - 0.74 + 0.75 diff --git a/app/InputDispatcher.cs b/app/InputDispatcher.cs index 28f7319a..9d81ee1a 100644 --- a/app/InputDispatcher.cs +++ b/app/InputDispatcher.cs @@ -195,7 +195,7 @@ namespace GHelper KeyProcess("m3"); return; case Keys.F11: - HandleEvent(199); + OptimizationEvent(199); return; } } @@ -207,10 +207,10 @@ namespace GHelper KeyboardHook.KeyPress(Keys.VolumeMute); break; case Keys.F2: - HandleEvent(197); + OptimizationEvent(197); break; case Keys.F3: - HandleEvent(196); + OptimizationEvent(196); break; case Keys.F4: KeyProcess("fnf4"); @@ -224,21 +224,21 @@ namespace GHelper case Keys.F7: if (AppConfig.ContainsModel("TUF")) Program.settingsForm.BeginInvoke(Program.settingsForm.RunToast, ScreenBrightness.Adjust(-10) + "%", ToastIcon.BrightnessDown); - HandleEvent(16); + OptimizationEvent(16); break; case Keys.F8: if (AppConfig.ContainsModel("TUF")) Program.settingsForm.BeginInvoke(Program.settingsForm.RunToast, ScreenBrightness.Adjust(+10) + "%", ToastIcon.BrightnessUp); - HandleEvent(32); + OptimizationEvent(32); break; case Keys.F9: KeyboardHook.KeyWinPress(Keys.P); break; case Keys.F10: - HandleEvent(107); + OptimizationEvent(107); break; case Keys.F11: - HandleEvent(108); + OptimizationEvent(108); break; case Keys.F12: KeyboardHook.KeyWinPress(Keys.A); @@ -378,7 +378,11 @@ namespace GHelper return; } - if (OptimizationService.IsRunning()) return; + if (!OptimizationService.IsRunning()) OptimizationEvent(EventID); + } + + static void OptimizationEvent(int EventID) + { // Asus Optimization service Events diff --git a/app/NativeMethods.cs b/app/NativeMethods.cs index e69da088..97c63428 100644 --- a/app/NativeMethods.cs +++ b/app/NativeMethods.cs @@ -702,6 +702,8 @@ public class NativeMethods { Guid activeSchemeGuid = GetActiveScheme(); + if (boost == GetCPUBoost()) return; + var hrAC = PowerWriteACValueIndex( IntPtr.Zero, activeSchemeGuid,