diff --git a/app/Display/ScreenControl.cs b/app/Display/ScreenControl.cs index 7180bcdc..3e52fcd5 100644 --- a/app/Display/ScreenControl.cs +++ b/app/Display/ScreenControl.cs @@ -59,7 +59,7 @@ namespace GHelper.Display public void ToogleMiniled() { - int miniled = (AppConfig.Get("miniled") == 1) ? 0 : 1; + int miniled = (Program.acpi.DeviceGet(AsusACPI.ScreenMiniled) == 1) ? 0 : 1; AppConfig.Set("miniled", miniled); SetScreen(-1, -1, miniled); } diff --git a/app/Fan/FanSensorControl.cs b/app/Fan/FanSensorControl.cs index 6b9da019..f1e62747 100644 --- a/app/Fan/FanSensorControl.cs +++ b/app/Fan/FanSensorControl.cs @@ -9,7 +9,7 @@ namespace GHelper.Fan public const int XGM_FAN_MAX = 72; - public const int INADEQUATE_MAX = 90; + public const int INADEQUATE_MAX = 92; const int FAN_COUNT = 3; diff --git a/app/Input/InputDispatcher.cs b/app/Input/InputDispatcher.cs index b7978b34..23f1d4e8 100644 --- a/app/Input/InputDispatcher.cs +++ b/app/Input/InputDispatcher.cs @@ -168,7 +168,7 @@ namespace GHelper.Input static void SetBrightness(int delta) { int brightness = -1; - + if (isTUF) brightness = ScreenBrightness.Get(); if (AppConfig.SwappedBrightness()) delta = -delta; @@ -182,7 +182,7 @@ namespace GHelper.Input Thread.Sleep(100); if (brightness == ScreenBrightness.Get()) - Program.toast.RunToast(ScreenBrightness.Adjust(delta) + "%", (delta < 0 ) ? ToastIcon.BrightnessDown : ToastIcon.BrightnessUp); + Program.toast.RunToast(ScreenBrightness.Adjust(delta) + "%", (delta < 0) ? ToastIcon.BrightnessDown : ToastIcon.BrightnessUp); } } @@ -388,10 +388,17 @@ namespace GHelper.Input modeControl.CyclePerformanceMode(Control.ModifierKeys == Keys.Shift); break; case "ghelper": - Program.settingsForm.BeginInvoke(delegate + try { - Program.SettingsToggle(); - }); + Program.settingsForm.BeginInvoke(delegate + { + Program.SettingsToggle(); + }); + } + catch (Exception ex) + { + Debug.WriteLine(ex); + } break; case "fnlock": ToggleFnLock(); @@ -433,6 +440,11 @@ namespace GHelper.Input } } + static void ToggleTouchpad() + { + KeyboardHook.KeyCtrlWinPress(Keys.F24); + } + public static void ToggleArrowLock() { int arLock = AppConfig.Is("arrow_lock") ? 0 : 1; @@ -476,7 +488,7 @@ namespace GHelper.Input // We'll special-case the translation of those. if (AppConfig.IsAlly()) { - switch(EventID) + switch (EventID) { // This is both the M1 and M2 keys. @@ -566,7 +578,7 @@ namespace GHelper.Input Program.acpi.DeviceSet(AsusACPI.UniversalControl, AsusACPI.Brightness_Up, "Brightness"); break; case 107: // FN+F10 - AsusUSB.TouchpadToggle(); + ToggleTouchpad(); Thread.Sleep(200); Program.toast.RunToast(GetTouchpadState() ? "On" : "Off", ToastIcon.Touchpad); break; @@ -643,7 +655,8 @@ namespace GHelper.Input else if (brightness >= 100) brightness = 0; else brightness = -10; - } else + } + else { brightness = Math.Max(Math.Min(100, brightness + delta), -10); } @@ -652,9 +665,9 @@ namespace GHelper.Input if (brightness >= 0) Program.acpi.DeviceSet(AsusACPI.ScreenPadToggle, 1, "ScreenpadOn"); - Program.acpi.DeviceSet(AsusACPI.ScreenPadBrightness, Math.Max(brightness * 255 / 100, 0 ), "Screenpad"); + Program.acpi.DeviceSet(AsusACPI.ScreenPadBrightness, Math.Max(brightness * 255 / 100, 0), "Screenpad"); - if (brightness < 0) Program.acpi.DeviceSet(AsusACPI.ScreenPadToggle, 0, "ScreenpadOff"); + if (brightness < 0) Program.acpi.DeviceSet(AsusACPI.ScreenPadToggle, 0, "ScreenpadOff"); string toast; diff --git a/app/Input/KeyboardHook.cs b/app/Input/KeyboardHook.cs index e6496ee0..87ab9965 100644 --- a/app/Input/KeyboardHook.cs +++ b/app/Input/KeyboardHook.cs @@ -17,7 +17,9 @@ public sealed class KeyboardHook : IDisposable public const int KEYEVENTF_EXTENDEDKEY = 1; public const int KEYEVENTF_KEYUP = 2; + private const byte VK_LWIN = 0x5B; + private const byte VK_LCONTROL = 0xA2; public static void KeyPress(Keys key) { @@ -32,6 +34,16 @@ public sealed class KeyboardHook : IDisposable keybd_event(VK_LWIN, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, IntPtr.Zero); } + public static void KeyCtrlWinPress(Keys key) + { + keybd_event(VK_LCONTROL, 0, KEYEVENTF_EXTENDEDKEY, IntPtr.Zero); + keybd_event(VK_LWIN, 0, KEYEVENTF_EXTENDEDKEY, IntPtr.Zero); + keybd_event((byte)key, 0, KEYEVENTF_EXTENDEDKEY, IntPtr.Zero); + + keybd_event((byte)key, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, IntPtr.Zero); + keybd_event(VK_LWIN, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, IntPtr.Zero); + keybd_event(VK_LCONTROL, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, IntPtr.Zero); + } /// /// Represents the window that is used internally to get the messages.