From e593fa3a763f8d426f1bd9f728c170cb7bff3cc7 Mon Sep 17 00:00:00 2001
From: Serge <5920850+seerge@users.noreply.github.com>
Date: Sun, 16 Jul 2023 14:48:21 +0200
Subject: [PATCH] ScreenPad brightness control
---
app/AsusACPI.cs | 3 +++
app/Extra.cs | 6 ++++++
app/Input/InputDispatcher.cs | 21 +++++++++++++++++++++
app/Properties/Strings.Designer.cs | 18 ++++++++++++++++++
app/Properties/Strings.resx | 6 ++++++
5 files changed, 54 insertions(+)
diff --git a/app/AsusACPI.cs b/app/AsusACPI.cs
index 2d4b64e2..5ce295e4 100644
--- a/app/AsusACPI.cs
+++ b/app/AsusACPI.cs
@@ -92,6 +92,9 @@ public class AsusACPI
public const int TabletState = 0x00060077;
public const int FnLock = 0x00100023;
+ public const int ScreenPadToggle = 0x00050031;
+ public const int ScreenPadBrightness = 0x00050032;
+
public const int Tablet_Notebook = 0;
public const int Tablet_Tablet = 1;
public const int Tablet_Tent = 2;
diff --git a/app/Extra.cs b/app/Extra.cs
index d2369b30..f9529725 100644
--- a/app/Extra.cs
+++ b/app/Extra.cs
@@ -116,6 +116,12 @@ namespace GHelper
Text = Properties.Strings.ExtraSettings;
+ if (AppConfig.ContainsModel("Duo"))
+ {
+ customActions.Add("screenpad_down", Properties.Strings.ScreenPadDown);
+ customActions.Add("screenpad_up", Properties.Strings.ScreenPadUp);
+ }
+
InitTheme();
SetKeyCombo(comboM1, textM1, "m1");
diff --git a/app/Input/InputDispatcher.cs b/app/Input/InputDispatcher.cs
index 05bb655a..14aa2b55 100644
--- a/app/Input/InputDispatcher.cs
+++ b/app/Input/InputDispatcher.cs
@@ -315,6 +315,12 @@ namespace GHelper.Input
case "brightness_down":
HandleOptimizationEvent(16);
break;
+ case "screenpad_up":
+ SetScreenpad(10);
+ break;
+ case "screenpad_down":
+ SetScreenpad(-10);
+ break;
case "custom":
CustomKey(name);
break;
@@ -479,6 +485,21 @@ namespace GHelper.Input
}
+ public static void SetScreenpad(int delta)
+ {
+ int brightness = AppConfig.Get("screenpad", 100);
+ brightness = Math.Max(Math.Min(100, brightness + delta), 0);
+
+ AppConfig.Set("screenpad", brightness);
+
+ Program.acpi.DeviceSet(AsusACPI.ScreenPadBrightness, (brightness*255/100), "Screenpad");
+ if (brightness == 0) Program.acpi.DeviceSet(AsusACPI.ScreenPadToggle, brightness, "ScreenpadToggle");
+
+ Program.toast.RunToast($"Screen Pad {brightness}", delta > 0 ? ToastIcon.BrightnessUp : ToastIcon.BrightnessDown);
+
+ }
+
+
static void LaunchProcess(string command = "")
{
diff --git a/app/Properties/Strings.Designer.cs b/app/Properties/Strings.Designer.cs
index c9c8d157..fe49bb90 100644
--- a/app/Properties/Strings.Designer.cs
+++ b/app/Properties/Strings.Designer.cs
@@ -1043,6 +1043,24 @@ namespace GHelper.Properties {
}
}
+ ///
+ /// Looks up a localized string similar to Screenpad Brightness Down.
+ ///
+ internal static string ScreenPadDown {
+ get {
+ return ResourceManager.GetString("ScreenPadDown", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Screenpad Brightness Up.
+ ///
+ internal static string ScreenPadUp {
+ get {
+ return ResourceManager.GetString("ScreenPadUp", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Shutdown.
///
diff --git a/app/Properties/Strings.resx b/app/Properties/Strings.resx
index 20c61c38..61b5e0af 100644
--- a/app/Properties/Strings.resx
+++ b/app/Properties/Strings.resx
@@ -446,6 +446,12 @@ Do you still want to continue?
Run on Startup
+
+ Screenpad Brightness Down
+
+
+ Screenpad Brightness Up
+
Shutdown