mirror of
https://github.com/jkocon/g-helper.git
synced 2026-02-23 13:00:52 +01:00
Compare commits
36 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
77e63f7703 | ||
|
|
8e686aded3 | ||
|
|
f866f724b2 | ||
|
|
29408c4256 | ||
|
|
c77a87f435 | ||
|
|
66a1774d78 | ||
|
|
2532aadb13 | ||
|
|
2ba6c9de20 | ||
|
|
e6938ea5cf | ||
|
|
5bf60e24b5 | ||
|
|
731a6c845f | ||
|
|
af7823ffe9 | ||
|
|
014b107dbe | ||
|
|
7373c60a20 | ||
|
|
9c628b2fe9 | ||
|
|
2a4a2444c1 | ||
|
|
0ef78c7174 | ||
|
|
084a200020 | ||
|
|
41b6955906 | ||
|
|
8daa990b5d | ||
|
|
599d8dd53a | ||
|
|
f3b4fe0e25 | ||
|
|
46adb6bc7f | ||
|
|
69eb0c289f | ||
|
|
4513c9ee9c | ||
|
|
206d33a54c | ||
|
|
88756092e4 | ||
|
|
6e9efb73a3 | ||
|
|
22cede52b9 | ||
|
|
70710fd8ea | ||
|
|
e082932e1d | ||
|
|
e15e0e9c70 | ||
|
|
0960a8db2b | ||
|
|
a7da8505ba | ||
|
|
6f3fb62661 | ||
|
|
37011bbf0c |
@@ -124,6 +124,7 @@ public class AsusACPI
|
||||
public const int ScreenPadBrightness = 0x00050032;
|
||||
|
||||
public const int CameraLed = 0x00060079;
|
||||
public const int StatusLed = 0x000600C2;
|
||||
|
||||
public const int BootSound = 0x00130022;
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ namespace GHelper.Display
|
||||
public class ScreenCCD
|
||||
{
|
||||
|
||||
public static bool GetHDRStatus()
|
||||
public static bool GetHDRStatus(bool log = true)
|
||||
{
|
||||
var err = GetDisplayConfigBufferSizes(QDC.QDC_ONLY_ACTIVE_PATHS, out var pathCount, out var modeCount);
|
||||
if (err != 0)
|
||||
@@ -46,8 +46,8 @@ namespace GHelper.Display
|
||||
info.outputTechnology == DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY.DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EMBEDDED ||
|
||||
info.monitorFriendlyDeviceName == internalName)
|
||||
{
|
||||
Logger.WriteLine(info.monitorFriendlyDeviceName + " HDR: " + colorInfo.advancedColorEnabled);
|
||||
return colorInfo.advancedColorEnabled;
|
||||
if (log) Logger.WriteLine(info.monitorFriendlyDeviceName + " HDR: " + colorInfo.advancedColorEnabled + " " + colorInfo.bitsPerColorChannel + " " + colorInfo.value + " " + colorInfo.wideColorEnforced);
|
||||
return colorInfo.advancedColorEnabled && colorInfo.bitsPerColorChannel > 8;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
using GHelper.Helpers;
|
||||
using System.Management;
|
||||
|
||||
namespace GHelper.Display
|
||||
namespace GHelper.Display
|
||||
{
|
||||
public class ScreenControl
|
||||
{
|
||||
@@ -28,17 +25,16 @@ namespace GHelper.Display
|
||||
public void SetScreen(int frequency = -1, int overdrive = -1, int miniled = -1)
|
||||
{
|
||||
var laptopScreen = ScreenNative.FindLaptopScreen(true);
|
||||
var refreshRate = ScreenNative.GetRefreshRate(laptopScreen);
|
||||
|
||||
if (laptopScreen is null) return;
|
||||
|
||||
if (ScreenNative.GetRefreshRate(laptopScreen) < 0) return;
|
||||
if (refreshRate < 0) return;
|
||||
|
||||
if (frequency >= MAX_REFRESH)
|
||||
{
|
||||
frequency = ScreenNative.GetMaxRefreshRate(laptopScreen);
|
||||
}
|
||||
|
||||
if (frequency > 0)
|
||||
if (frequency > 0 && frequency != refreshRate)
|
||||
{
|
||||
ScreenNative.SetRefreshRate(laptopScreen, frequency);
|
||||
}
|
||||
@@ -46,8 +42,10 @@ namespace GHelper.Display
|
||||
if (overdrive >= 0)
|
||||
{
|
||||
if (AppConfig.IsNoOverdrive()) overdrive = 0;
|
||||
if (!AppConfig.IsOLED()) Program.acpi.DeviceSet(AsusACPI.ScreenOverdrive, overdrive, "ScreenOverdrive");
|
||||
|
||||
if (!AppConfig.IsOLED() && overdrive != Program.acpi.DeviceGet(AsusACPI.ScreenOverdrive))
|
||||
{
|
||||
Program.acpi.DeviceSet(AsusACPI.ScreenOverdrive, overdrive, "ScreenOverdrive");
|
||||
}
|
||||
}
|
||||
|
||||
if (miniled >= 0)
|
||||
@@ -86,14 +84,13 @@ namespace GHelper.Display
|
||||
}
|
||||
|
||||
AppConfig.Set("miniled", miniled);
|
||||
SetScreen(-1, -1, miniled);
|
||||
SetScreen(miniled: miniled);
|
||||
return miniled;
|
||||
}
|
||||
|
||||
public void InitScreen()
|
||||
{
|
||||
var laptopScreen = ScreenNative.FindLaptopScreen();
|
||||
|
||||
int frequency = ScreenNative.GetRefreshRate(laptopScreen);
|
||||
int maxFrequency = ScreenNative.GetMaxRefreshRate(laptopScreen);
|
||||
|
||||
@@ -112,9 +109,10 @@ namespace GHelper.Display
|
||||
{
|
||||
Logger.WriteLine($"Miniled: {miniled1} {miniled2}");
|
||||
AppConfig.Set("miniled", miniled);
|
||||
hdr = ScreenCCD.GetHDRStatus();
|
||||
}
|
||||
|
||||
hdr = ScreenCCD.GetHDRStatus();
|
||||
|
||||
bool screenEnabled = (frequency >= 0);
|
||||
|
||||
AppConfig.Set("frequency", frequency);
|
||||
|
||||
@@ -40,6 +40,8 @@ namespace GHelper.Display
|
||||
private static System.Timers.Timer brightnessTimer = new System.Timers.Timer(200);
|
||||
|
||||
public const int DefaultColorTemp = 50;
|
||||
|
||||
public static bool forceVisual = false;
|
||||
static VisualControl()
|
||||
{
|
||||
brightnessTimer.Elapsed += BrightnessTimerTimer_Elapsed;
|
||||
@@ -129,6 +131,9 @@ namespace GHelper.Display
|
||||
if (mode == SplendidCommand.None) return;
|
||||
if (mode == SplendidCommand.Default && init) return; // Skip default setting on init
|
||||
|
||||
if (!forceVisual && ScreenCCD.GetHDRStatus(true)) return;
|
||||
if (!forceVisual && ScreenNative.GetRefreshRate(ScreenNative.FindLaptopScreen(true)) < 0) return;
|
||||
|
||||
if (whiteBalance != DefaultColorTemp && !init) ProcessHelper.RunAsAdmin();
|
||||
|
||||
int balance = mode == SplendidCommand.Eyecare ? 2 : whiteBalance;
|
||||
|
||||
69
app/Extra.Designer.cs
generated
69
app/Extra.Designer.cs
generated
@@ -108,6 +108,7 @@ namespace GHelper
|
||||
labelSettings = new Label();
|
||||
panelSettings = new Panel();
|
||||
checkAutoToggleClamshellMode = new CheckBox();
|
||||
checkBWIcon = new CheckBox();
|
||||
checkTopmost = new CheckBox();
|
||||
checkNoOverdrive = new CheckBox();
|
||||
checkBootSound = new CheckBox();
|
||||
@@ -115,6 +116,7 @@ namespace GHelper
|
||||
checkVariBright = new CheckBox();
|
||||
checkGpuApps = new CheckBox();
|
||||
checkGPUFix = new CheckBox();
|
||||
checkStatusLed = new CheckBox();
|
||||
panelPower = new Panel();
|
||||
numericHibernateAfter = new NumericUpDown();
|
||||
labelHibernateAfter = new Label();
|
||||
@@ -136,7 +138,6 @@ namespace GHelper
|
||||
buttonACPISend = new RButton();
|
||||
pictureDebug = new PictureBox();
|
||||
labelACPITitle = new Label();
|
||||
checkBWIcon = new CheckBox();
|
||||
panelServices.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)pictureService).BeginInit();
|
||||
panelBindingsHeader.SuspendLayout();
|
||||
@@ -175,7 +176,7 @@ namespace GHelper
|
||||
panelServices.Controls.Add(labelServices);
|
||||
panelServices.Controls.Add(buttonServices);
|
||||
panelServices.Dock = DockStyle.Top;
|
||||
panelServices.Location = new Point(15, 1596);
|
||||
panelServices.Location = new Point(15, 1638);
|
||||
panelServices.Name = "panelServices";
|
||||
panelServices.Size = new Size(949, 75);
|
||||
panelServices.TabIndex = 5;
|
||||
@@ -1134,18 +1135,19 @@ namespace GHelper
|
||||
panelSettings.Controls.Add(checkVariBright);
|
||||
panelSettings.Controls.Add(checkGpuApps);
|
||||
panelSettings.Controls.Add(checkGPUFix);
|
||||
panelSettings.Controls.Add(checkStatusLed);
|
||||
panelSettings.Dock = DockStyle.Top;
|
||||
panelSettings.Location = new Point(15, 1154);
|
||||
panelSettings.Name = "panelSettings";
|
||||
panelSettings.Padding = new Padding(20, 5, 11, 5);
|
||||
panelSettings.Size = new Size(949, 388);
|
||||
panelSettings.Size = new Size(949, 430);
|
||||
panelSettings.TabIndex = 3;
|
||||
//
|
||||
// checkAutoToggleClamshellMode
|
||||
//
|
||||
checkAutoToggleClamshellMode.AutoSize = true;
|
||||
checkAutoToggleClamshellMode.Dock = DockStyle.Top;
|
||||
checkAutoToggleClamshellMode.Location = new Point(20, 341);
|
||||
checkAutoToggleClamshellMode.Location = new Point(20, 383);
|
||||
checkAutoToggleClamshellMode.Name = "checkAutoToggleClamshellMode";
|
||||
checkAutoToggleClamshellMode.Padding = new Padding(3);
|
||||
checkAutoToggleClamshellMode.Size = new Size(918, 42);
|
||||
@@ -1153,11 +1155,24 @@ namespace GHelper
|
||||
checkAutoToggleClamshellMode.Text = "Auto Toggle Clamshell Mode";
|
||||
checkAutoToggleClamshellMode.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// checkBWIcon
|
||||
//
|
||||
checkBWIcon.AutoSize = true;
|
||||
checkBWIcon.Dock = DockStyle.Top;
|
||||
checkBWIcon.Location = new Point(20, 341);
|
||||
checkBWIcon.Margin = new Padding(4, 3, 4, 3);
|
||||
checkBWIcon.Name = "checkBWIcon";
|
||||
checkBWIcon.Padding = new Padding(3);
|
||||
checkBWIcon.Size = new Size(918, 42);
|
||||
checkBWIcon.TabIndex = 11;
|
||||
checkBWIcon.Text = "Black and white tray icon";
|
||||
checkBWIcon.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// checkTopmost
|
||||
//
|
||||
checkTopmost.AutoSize = true;
|
||||
checkTopmost.Dock = DockStyle.Top;
|
||||
checkTopmost.Location = new Point(20, 257);
|
||||
checkTopmost.Location = new Point(20, 299);
|
||||
checkTopmost.Margin = new Padding(4, 3, 4, 3);
|
||||
checkTopmost.Name = "checkTopmost";
|
||||
checkTopmost.Padding = new Padding(3);
|
||||
@@ -1170,7 +1185,7 @@ namespace GHelper
|
||||
//
|
||||
checkNoOverdrive.AutoSize = true;
|
||||
checkNoOverdrive.Dock = DockStyle.Top;
|
||||
checkNoOverdrive.Location = new Point(20, 215);
|
||||
checkNoOverdrive.Location = new Point(20, 257);
|
||||
checkNoOverdrive.Margin = new Padding(4, 3, 4, 3);
|
||||
checkNoOverdrive.Name = "checkNoOverdrive";
|
||||
checkNoOverdrive.Padding = new Padding(3);
|
||||
@@ -1183,7 +1198,7 @@ namespace GHelper
|
||||
//
|
||||
checkBootSound.AutoSize = true;
|
||||
checkBootSound.Dock = DockStyle.Top;
|
||||
checkBootSound.Location = new Point(20, 173);
|
||||
checkBootSound.Location = new Point(20, 215);
|
||||
checkBootSound.Margin = new Padding(4, 3, 4, 3);
|
||||
checkBootSound.Name = "checkBootSound";
|
||||
checkBootSound.Padding = new Padding(3);
|
||||
@@ -1196,7 +1211,7 @@ namespace GHelper
|
||||
//
|
||||
checkUSBC.AutoSize = true;
|
||||
checkUSBC.Dock = DockStyle.Top;
|
||||
checkUSBC.Location = new Point(20, 131);
|
||||
checkUSBC.Location = new Point(20, 173);
|
||||
checkUSBC.Margin = new Padding(4, 3, 4, 3);
|
||||
checkUSBC.Name = "checkUSBC";
|
||||
checkUSBC.Padding = new Padding(3);
|
||||
@@ -1209,7 +1224,7 @@ namespace GHelper
|
||||
//
|
||||
checkVariBright.AutoSize = true;
|
||||
checkVariBright.Dock = DockStyle.Top;
|
||||
checkVariBright.Location = new Point(20, 89);
|
||||
checkVariBright.Location = new Point(20, 131);
|
||||
checkVariBright.Margin = new Padding(4, 3, 4, 3);
|
||||
checkVariBright.Name = "checkVariBright";
|
||||
checkVariBright.Padding = new Padding(3);
|
||||
@@ -1222,7 +1237,7 @@ namespace GHelper
|
||||
//
|
||||
checkGpuApps.AutoSize = true;
|
||||
checkGpuApps.Dock = DockStyle.Top;
|
||||
checkGpuApps.Location = new Point(20, 47);
|
||||
checkGpuApps.Location = new Point(20, 89);
|
||||
checkGpuApps.Margin = new Padding(4, 3, 4, 3);
|
||||
checkGpuApps.Name = "checkGpuApps";
|
||||
checkGpuApps.Padding = new Padding(3);
|
||||
@@ -1235,7 +1250,7 @@ namespace GHelper
|
||||
//
|
||||
checkGPUFix.AutoSize = true;
|
||||
checkGPUFix.Dock = DockStyle.Top;
|
||||
checkGPUFix.Location = new Point(20, 5);
|
||||
checkGPUFix.Location = new Point(20, 47);
|
||||
checkGPUFix.Margin = new Padding(4, 3, 4, 3);
|
||||
checkGPUFix.Name = "checkGPUFix";
|
||||
checkGPUFix.Padding = new Padding(3);
|
||||
@@ -1244,13 +1259,27 @@ namespace GHelper
|
||||
checkGPUFix.Text = "Enable GPU on shutdown (prevents issue with Eco mode)";
|
||||
checkGPUFix.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// checkStatusLed
|
||||
//
|
||||
checkStatusLed.AutoSize = true;
|
||||
checkStatusLed.Dock = DockStyle.Top;
|
||||
checkStatusLed.Location = new Point(20, 5);
|
||||
checkStatusLed.Margin = new Padding(4, 3, 4, 3);
|
||||
checkStatusLed.Name = "checkStatusLed";
|
||||
checkStatusLed.Padding = new Padding(3);
|
||||
checkStatusLed.Size = new Size(918, 42);
|
||||
checkStatusLed.TabIndex = 12;
|
||||
checkStatusLed.Text = "LED Status Indicators";
|
||||
checkStatusLed.UseVisualStyleBackColor = true;
|
||||
checkStatusLed.Visible = false;
|
||||
//
|
||||
// panelPower
|
||||
//
|
||||
panelPower.Controls.Add(numericHibernateAfter);
|
||||
panelPower.Controls.Add(labelHibernateAfter);
|
||||
panelPower.Controls.Add(pictureHibernate);
|
||||
panelPower.Dock = DockStyle.Top;
|
||||
panelPower.Location = new Point(15, 1542);
|
||||
panelPower.Location = new Point(15, 1584);
|
||||
panelPower.Name = "panelPower";
|
||||
panelPower.Size = new Size(949, 54);
|
||||
panelPower.TabIndex = 4;
|
||||
@@ -1496,19 +1525,6 @@ namespace GHelper
|
||||
labelACPITitle.TabIndex = 0;
|
||||
labelACPITitle.Text = "ACPI DEVS Test";
|
||||
//
|
||||
// checkBWIcon
|
||||
//
|
||||
checkBWIcon.AutoSize = true;
|
||||
checkBWIcon.Dock = DockStyle.Top;
|
||||
checkBWIcon.Location = new Point(20, 299);
|
||||
checkBWIcon.Margin = new Padding(4, 3, 4, 3);
|
||||
checkBWIcon.Name = "checkBWIcon";
|
||||
checkBWIcon.Padding = new Padding(3);
|
||||
checkBWIcon.Size = new Size(918, 42);
|
||||
checkBWIcon.TabIndex = 11;
|
||||
checkBWIcon.Text = "Black and white tray icon";
|
||||
checkBWIcon.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// Extra
|
||||
//
|
||||
AutoScaleDimensions = new SizeF(192F, 192F);
|
||||
@@ -1516,7 +1532,7 @@ namespace GHelper
|
||||
AutoScroll = true;
|
||||
AutoSize = true;
|
||||
AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||
ClientSize = new Size(1013, 1668);
|
||||
ClientSize = new Size(1013, 1559);
|
||||
Controls.Add(panelServices);
|
||||
Controls.Add(panelPower);
|
||||
Controls.Add(panelSettings);
|
||||
@@ -1692,5 +1708,6 @@ namespace GHelper
|
||||
private PictureBox pictureDebug;
|
||||
private Label labelACPITitle;
|
||||
private CheckBox checkBWIcon;
|
||||
private CheckBox checkStatusLed;
|
||||
}
|
||||
}
|
||||
12
app/Extra.cs
12
app/Extra.cs
@@ -127,6 +127,7 @@ namespace GHelper
|
||||
checkBoot.Text = Properties.Strings.Boot;
|
||||
checkShutdown.Text = Properties.Strings.Shutdown;
|
||||
checkBootSound.Text = Properties.Strings.BootSound;
|
||||
checkStatusLed.Text = Properties.Strings.LEDStatusIndicators;
|
||||
|
||||
labelSpeed.Text = Properties.Strings.AnimationSpeed;
|
||||
//labelBrightness.Text = Properties.Strings.Brightness;
|
||||
@@ -403,6 +404,12 @@ namespace GHelper
|
||||
checkBootSound.Checked = (Program.acpi.DeviceGet(AsusACPI.BootSound) == 1);
|
||||
checkBootSound.CheckedChanged += CheckBootSound_CheckedChanged;
|
||||
|
||||
var statusLed = Program.acpi.DeviceGet(AsusACPI.StatusLed);
|
||||
checkStatusLed.Visible = statusLed >= 0;
|
||||
checkStatusLed.Checked = (statusLed > 0);
|
||||
checkStatusLed.CheckedChanged += CheckLEDStatus_CheckedChanged; ;
|
||||
|
||||
|
||||
checkBWIcon.Checked = AppConfig.IsBWIcon();
|
||||
checkBWIcon.CheckedChanged += CheckBWIcon_CheckedChanged;
|
||||
|
||||
@@ -426,6 +433,11 @@ namespace GHelper
|
||||
|
||||
}
|
||||
|
||||
private void CheckLEDStatus_CheckedChanged(object? sender, EventArgs e)
|
||||
{
|
||||
Program.acpi.DeviceSet(AsusACPI.StatusLed, (checkStatusLed.Checked ? 7 : 0), "StatusLED");
|
||||
}
|
||||
|
||||
private void CheckBWIcon_CheckedChanged(object? sender, EventArgs e)
|
||||
{
|
||||
AppConfig.Set("bw_icon", (checkBWIcon.Checked ? 1 : 0));
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
||||
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
||||
<AssemblyVersion>0.162</AssemblyVersion>
|
||||
<AssemblyVersion>0.164</AssemblyVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
|
||||
@@ -190,7 +190,7 @@ namespace GHelper.Gpu
|
||||
int chargerMode = Program.acpi.DeviceGet(AsusACPI.ChargerMode);
|
||||
Logger.WriteLine("ChargerStatus: " + chargerMode);
|
||||
|
||||
if (chargerMode < 0) return true;
|
||||
if (chargerMode <= 0) return true;
|
||||
return (chargerMode & AsusACPI.ChargerBarrel) > 0;
|
||||
|
||||
}
|
||||
|
||||
@@ -305,7 +305,8 @@ public static class HardwareControl
|
||||
public static void KillGPUApps()
|
||||
{
|
||||
|
||||
List<string> tokill = new() { "EADesktop", "RadeonSoftware", "epicgameslauncher", "ASUSSmartDisplayControl" };
|
||||
List<string> tokill = new() { "EADesktop", "epicgameslauncher", "ASUSSmartDisplayControl" };
|
||||
|
||||
foreach (string kill in tokill) ProcessHelper.KillByName(kill);
|
||||
|
||||
if (AppConfig.Is("kill_gpu_apps") && GpuControl is not null)
|
||||
|
||||
@@ -809,9 +809,14 @@ namespace GHelper.Input
|
||||
public static void ToggleScreenpad()
|
||||
{
|
||||
int toggle = AppConfig.Is("screenpad_toggle") ? 0 : 1;
|
||||
int brightness = toggle == 0 ? -10 : AppConfig.Get("screenpad", 100);
|
||||
|
||||
Debug.WriteLine($"Screenpad toggle = {toggle}");
|
||||
|
||||
ApplyScreenpadAction(brightness, true);
|
||||
|
||||
Program.acpi.DeviceSet(AsusACPI.ScreenPadToggle, toggle, "ScreenpadToggle");
|
||||
AppConfig.Set("screenpad_toggle", toggle);
|
||||
|
||||
Program.toast.RunToast($"Screen Pad " + (toggle == 1 ? "On" : "Off"), toggle > 0 ? ToastIcon.BrightnessUp : ToastIcon.BrightnessDown);
|
||||
}
|
||||
|
||||
@@ -846,6 +851,37 @@ namespace GHelper.Input
|
||||
|
||||
}
|
||||
|
||||
private static System.Threading.Timer screenpadActionTimer;
|
||||
private static int screenpadBrightnessToSet;
|
||||
public static void ApplyScreenpadAction(int brightness, bool doToggle = false)
|
||||
{
|
||||
var delay = AppConfig.Get("screenpad_delay", 1500);
|
||||
|
||||
//Action
|
||||
Action<int> action = (b) =>
|
||||
{
|
||||
if (b >= 0) Program.acpi.DeviceSet(AsusACPI.ScreenPadToggle, 1, "ScreenpadOn");
|
||||
Program.acpi.DeviceSet(AsusACPI.ScreenPadBrightness, Math.Max(b * 255 / 100, 0), "Screenpad");
|
||||
if (b < 0) Program.acpi.DeviceSet(AsusACPI.ScreenPadToggle, 0, "ScreenpadOff");
|
||||
};
|
||||
|
||||
if(delay <= 0 || (brightness > 0 && brightness < 100 && doToggle == false)) //instant action
|
||||
{
|
||||
action(brightness);
|
||||
}
|
||||
else //delayed action
|
||||
{
|
||||
//Timer Approach
|
||||
if (screenpadActionTimer == null)
|
||||
{
|
||||
screenpadActionTimer = new System.Threading.Timer(_ => action(screenpadBrightnessToSet), null, Timeout.Infinite, Timeout.Infinite);
|
||||
}
|
||||
//Start Timer
|
||||
screenpadBrightnessToSet = brightness;
|
||||
screenpadActionTimer.Change(delay, Timeout.Infinite);
|
||||
}
|
||||
}
|
||||
|
||||
public static void SetScreenpad(int delta)
|
||||
{
|
||||
int brightness = AppConfig.Get("screenpad", 100);
|
||||
@@ -855,7 +891,6 @@ namespace GHelper.Input
|
||||
if (brightness < 0) brightness = 100;
|
||||
else if (brightness >= 100) brightness = 0;
|
||||
else brightness = -10;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -864,11 +899,7 @@ namespace GHelper.Input
|
||||
|
||||
AppConfig.Set("screenpad", brightness);
|
||||
|
||||
if (brightness >= 0) Program.acpi.DeviceSet(AsusACPI.ScreenPadToggle, 1, "ScreenpadOn");
|
||||
|
||||
Program.acpi.DeviceSet(AsusACPI.ScreenPadBrightness, Math.Max(brightness * 255 / 100, 0), "Screenpad");
|
||||
|
||||
if (brightness < 0) Program.acpi.DeviceSet(AsusACPI.ScreenPadToggle, 0, "ScreenpadOff");
|
||||
ApplyScreenpadAction(brightness);
|
||||
|
||||
string toast;
|
||||
|
||||
@@ -877,10 +908,8 @@ namespace GHelper.Input
|
||||
else toast = brightness.ToString() + "%";
|
||||
|
||||
Program.toast.RunToast($"Screen Pad {toast}", delta > 0 ? ToastIcon.BrightnessUp : ToastIcon.BrightnessDown);
|
||||
|
||||
}
|
||||
|
||||
|
||||
static void LaunchProcess(string command = "")
|
||||
{
|
||||
|
||||
|
||||
27
app/Properties/Strings.Designer.cs
generated
27
app/Properties/Strings.Designer.cs
generated
@@ -1187,6 +1187,15 @@ namespace GHelper.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to LED Status Indicators.
|
||||
/// </summary>
|
||||
internal static string LEDStatusIndicators {
|
||||
get {
|
||||
return ResourceManager.GetString("LEDStatusIndicators", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Lid.
|
||||
/// </summary>
|
||||
@@ -2006,6 +2015,24 @@ namespace GHelper.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Visual Modes are not available when HDR is active.
|
||||
/// </summary>
|
||||
internal static string VisualModesHDR {
|
||||
get {
|
||||
return ResourceManager.GetString("VisualModesHDR", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Visual Modes are not available when laptop screen is off.
|
||||
/// </summary>
|
||||
internal static string VisualModesScreen {
|
||||
get {
|
||||
return ResourceManager.GetString("VisualModesScreen", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Volume Down.
|
||||
/// </summary>
|
||||
|
||||
@@ -124,7 +124,7 @@
|
||||
<value>Verbindung zu ASUS ACPI fehlgeschlagen. G-Helper kann nicht ausgeführt werden. Bitte installiere ASUS System Control Interface.</value>
|
||||
</data>
|
||||
<data name="AlertAPUMemoryRestart" xml:space="preserve">
|
||||
<value>Gerät neu starten, um Änderungen anzuwenden</value>
|
||||
<value>Gerät neu starten, um Änderungen anzuwenden?</value>
|
||||
</data>
|
||||
<data name="AlertAPUMemoryRestartTitle" xml:space="preserve">
|
||||
<value>Jetzt neu starten?</value>
|
||||
@@ -494,6 +494,9 @@ Trotzdem fortfahren?</value>
|
||||
<data name="LaptopScreen" xml:space="preserve">
|
||||
<value>Laptopbildschirm</value>
|
||||
</data>
|
||||
<data name="LEDStatusIndicators" xml:space="preserve">
|
||||
<value>LED Status Indicators</value>
|
||||
</data>
|
||||
<data name="Lid" xml:space="preserve">
|
||||
<value>Deckel</value>
|
||||
</data>
|
||||
@@ -767,6 +770,12 @@ Trotzdem fortfahren?</value>
|
||||
<data name="VisualMode" xml:space="preserve">
|
||||
<value>Darstellungsmodus</value>
|
||||
</data>
|
||||
<data name="VisualModesHDR" xml:space="preserve">
|
||||
<value>Darstellungsmodi sind nicht verfügbar, wenn HDR aktiv ist.</value>
|
||||
</data>
|
||||
<data name="VisualModesScreen" xml:space="preserve">
|
||||
<value>Darstellungsmodi sind nicht verfügbar, wenn Laptop-Bildschirm aus ist.</value>
|
||||
</data>
|
||||
<data name="VolumeDown" xml:space="preserve">
|
||||
<value>Lautstärke verringern</value>
|
||||
</data>
|
||||
|
||||
@@ -494,6 +494,9 @@
|
||||
<data name="LaptopScreen" xml:space="preserve">
|
||||
<value>Pantalla del portátil</value>
|
||||
</data>
|
||||
<data name="LEDStatusIndicators" xml:space="preserve">
|
||||
<value>Indicadores de estado LED</value>
|
||||
</data>
|
||||
<data name="Lid" xml:space="preserve">
|
||||
<value>Tapa</value>
|
||||
</data>
|
||||
@@ -767,6 +770,12 @@
|
||||
<data name="VisualMode" xml:space="preserve">
|
||||
<value>Modo visual</value>
|
||||
</data>
|
||||
<data name="VisualModesHDR" xml:space="preserve">
|
||||
<value>Los modos visuales no están disponibles cuando el HDR está activo</value>
|
||||
</data>
|
||||
<data name="VisualModesScreen" xml:space="preserve">
|
||||
<value>Los modos visuales no están disponibles cuando la pantalla portátil está apagada</value>
|
||||
</data>
|
||||
<data name="VolumeDown" xml:space="preserve">
|
||||
<value>Bajar volumen</value>
|
||||
</data>
|
||||
|
||||
@@ -250,16 +250,16 @@
|
||||
<value>Allumé</value>
|
||||
</data>
|
||||
<data name="BacklightLow" xml:space="preserve">
|
||||
<value>Low</value>
|
||||
<value>Faible</value>
|
||||
</data>
|
||||
<data name="BacklightMax" xml:space="preserve">
|
||||
<value>Max</value>
|
||||
<value>Maximum</value>
|
||||
</data>
|
||||
<data name="BacklightMid" xml:space="preserve">
|
||||
<value>Mid</value>
|
||||
<value>Moyen</value>
|
||||
</data>
|
||||
<data name="BacklightOff" xml:space="preserve">
|
||||
<value>Off</value>
|
||||
<value>Désactivé</value>
|
||||
</data>
|
||||
<data name="BacklightTimeout" xml:space="preserve">
|
||||
<value>Délai branché / sur batterie (0 - ON)</value>
|
||||
@@ -313,7 +313,7 @@
|
||||
<value>Augmenter la luminosité</value>
|
||||
</data>
|
||||
<data name="BWTrayIcon" xml:space="preserve">
|
||||
<value>Black and white tray icon</value>
|
||||
<value>Icône de la zone de notification en noir et blanc</value>
|
||||
</data>
|
||||
<data name="Calibrate" xml:space="preserve">
|
||||
<value>Calibrer</value>
|
||||
@@ -420,16 +420,16 @@ Voulez-vous continuer ?</value>
|
||||
<value>Ventilateurs + Puissance</value>
|
||||
</data>
|
||||
<data name="FlickerFreeDimming" xml:space="preserve">
|
||||
<value>Flicker-free Dimming</value>
|
||||
<value>Gradation OLED sans scintillement</value>
|
||||
</data>
|
||||
<data name="FnLock" xml:space="preserve">
|
||||
<value>Traiter les raccourcis clavier Fn+F sans Fn</value>
|
||||
</data>
|
||||
<data name="FnLockOff" xml:space="preserve">
|
||||
<value>FN-Lock Off</value>
|
||||
<value>Verrouillage FN désactivé</value>
|
||||
</data>
|
||||
<data name="FnLockOn" xml:space="preserve">
|
||||
<value>FN-Lock On</value>
|
||||
<value>Verrouillage FN activé</value>
|
||||
</data>
|
||||
<data name="GPUBoost" xml:space="preserve">
|
||||
<value>Dynamic Boost</value>
|
||||
@@ -456,7 +456,7 @@ Voulez-vous continuer ?</value>
|
||||
<value>dGPU exclusif</value>
|
||||
</data>
|
||||
<data name="GPUPower" xml:space="preserve">
|
||||
<value>GPU Power</value>
|
||||
<value>Puissance du GPU</value>
|
||||
</data>
|
||||
<data name="GPUSettings" xml:space="preserve">
|
||||
<value>Paramètres du GPU</value>
|
||||
@@ -494,6 +494,9 @@ Voulez-vous continuer ?</value>
|
||||
<data name="LaptopScreen" xml:space="preserve">
|
||||
<value>Écran</value>
|
||||
</data>
|
||||
<data name="LEDStatusIndicators" xml:space="preserve">
|
||||
<value>LED Status Indicators</value>
|
||||
</data>
|
||||
<data name="Lid" xml:space="preserve">
|
||||
<value>Capot</value>
|
||||
</data>
|
||||
@@ -585,7 +588,7 @@ Voulez-vous continuer ?</value>
|
||||
<value>Multi Zone Strong</value>
|
||||
</data>
|
||||
<data name="Muted" xml:space="preserve">
|
||||
<value>Muted</value>
|
||||
<value>Son désactivé</value>
|
||||
</data>
|
||||
<data name="MuteMic" xml:space="preserve">
|
||||
<value>Désactiver le micro</value>
|
||||
@@ -603,10 +606,10 @@ Voulez-vous continuer ?</value>
|
||||
<value>Non connecté</value>
|
||||
</data>
|
||||
<data name="Off" xml:space="preserve">
|
||||
<value>Off</value>
|
||||
<value>Désactivé</value>
|
||||
</data>
|
||||
<data name="On" xml:space="preserve">
|
||||
<value>On</value>
|
||||
<value>Activé</value>
|
||||
</data>
|
||||
<data name="OneZone" xml:space="preserve">
|
||||
<value>Une zone</value>
|
||||
@@ -753,7 +756,7 @@ Voulez-vous continuer ?</value>
|
||||
<value>L'undervolting est une fonctionnalité expérimentale et risquée. Si les valeurs appliquées sont trop faibles, elles peuvent causer de l'instabilité, éteindre l'ordinateur ou causer une corruption de données. Si vous voulez essayer - commencer avec des petites valeurs, cliquez sur Appliquer et testez ce qui fonctionne pour vous.</value>
|
||||
</data>
|
||||
<data name="Unmuted" xml:space="preserve">
|
||||
<value>Unmuted</value>
|
||||
<value>Son activé</value>
|
||||
</data>
|
||||
<data name="Updates" xml:space="preserve">
|
||||
<value>Mises à jour</value>
|
||||
@@ -767,6 +770,12 @@ Voulez-vous continuer ?</value>
|
||||
<data name="VisualMode" xml:space="preserve">
|
||||
<value>Mode d'affichage</value>
|
||||
</data>
|
||||
<data name="VisualModesHDR" xml:space="preserve">
|
||||
<value>Visual Modes are not available when HDR is active</value>
|
||||
</data>
|
||||
<data name="VisualModesScreen" xml:space="preserve">
|
||||
<value>Visual Modes are not available when laptop screen is off</value>
|
||||
</data>
|
||||
<data name="VolumeDown" xml:space="preserve">
|
||||
<value>Vol-</value>
|
||||
</data>
|
||||
|
||||
@@ -494,6 +494,9 @@ Do you still want to continue?</value>
|
||||
<data name="LaptopScreen" xml:space="preserve">
|
||||
<value>Laptop kijelző</value>
|
||||
</data>
|
||||
<data name="LEDStatusIndicators" xml:space="preserve">
|
||||
<value>LED Status Indicators</value>
|
||||
</data>
|
||||
<data name="Lid" xml:space="preserve">
|
||||
<value>Fedél</value>
|
||||
</data>
|
||||
@@ -767,6 +770,12 @@ Do you still want to continue?</value>
|
||||
<data name="VisualMode" xml:space="preserve">
|
||||
<value>Visual Mode</value>
|
||||
</data>
|
||||
<data name="VisualModesHDR" xml:space="preserve">
|
||||
<value>Visual Modes are not available when HDR is active</value>
|
||||
</data>
|
||||
<data name="VisualModesScreen" xml:space="preserve">
|
||||
<value>Visual Modes are not available when laptop screen is off</value>
|
||||
</data>
|
||||
<data name="VolumeDown" xml:space="preserve">
|
||||
<value>Lehalkítás</value>
|
||||
</data>
|
||||
|
||||
@@ -494,6 +494,9 @@ Apakah Anda masih ingin melanjutkan?</value>
|
||||
<data name="LaptopScreen" xml:space="preserve">
|
||||
<value>Layar Laptop</value>
|
||||
</data>
|
||||
<data name="LEDStatusIndicators" xml:space="preserve">
|
||||
<value>LED Status Indicators</value>
|
||||
</data>
|
||||
<data name="Lid" xml:space="preserve">
|
||||
<value>Lid</value>
|
||||
</data>
|
||||
@@ -767,6 +770,12 @@ Apakah Anda masih ingin melanjutkan?</value>
|
||||
<data name="VisualMode" xml:space="preserve">
|
||||
<value>Visual Mode</value>
|
||||
</data>
|
||||
<data name="VisualModesHDR" xml:space="preserve">
|
||||
<value>Visual Modes are not available when HDR is active</value>
|
||||
</data>
|
||||
<data name="VisualModesScreen" xml:space="preserve">
|
||||
<value>Visual Modes are not available when laptop screen is off</value>
|
||||
</data>
|
||||
<data name="VolumeDown" xml:space="preserve">
|
||||
<value>Volume Turun</value>
|
||||
</data>
|
||||
|
||||
@@ -494,6 +494,9 @@ Sei sicuro di voler continuare?</value>
|
||||
<data name="LaptopScreen" xml:space="preserve">
|
||||
<value>Schermo Laptop</value>
|
||||
</data>
|
||||
<data name="LEDStatusIndicators" xml:space="preserve">
|
||||
<value>LED Status Indicators</value>
|
||||
</data>
|
||||
<data name="Lid" xml:space="preserve">
|
||||
<value>Lid</value>
|
||||
</data>
|
||||
@@ -767,6 +770,12 @@ Sei sicuro di voler continuare?</value>
|
||||
<data name="VisualMode" xml:space="preserve">
|
||||
<value>Visual Mode</value>
|
||||
</data>
|
||||
<data name="VisualModesHDR" xml:space="preserve">
|
||||
<value>Visual Modes are not available when HDR is active</value>
|
||||
</data>
|
||||
<data name="VisualModesScreen" xml:space="preserve">
|
||||
<value>Visual Modes are not available when laptop screen is off</value>
|
||||
</data>
|
||||
<data name="VolumeDown" xml:space="preserve">
|
||||
<value>Diminuisci Volume</value>
|
||||
</data>
|
||||
|
||||
@@ -494,6 +494,9 @@
|
||||
<data name="LaptopScreen" xml:space="preserve">
|
||||
<value>화면</value>
|
||||
</data>
|
||||
<data name="LEDStatusIndicators" xml:space="preserve">
|
||||
<value>LED Status Indicators</value>
|
||||
</data>
|
||||
<data name="Lid" xml:space="preserve">
|
||||
<value>덮개</value>
|
||||
</data>
|
||||
@@ -767,6 +770,12 @@
|
||||
<data name="VisualMode" xml:space="preserve">
|
||||
<value>Visual Mode</value>
|
||||
</data>
|
||||
<data name="VisualModesHDR" xml:space="preserve">
|
||||
<value>Visual Modes are not available when HDR is active</value>
|
||||
</data>
|
||||
<data name="VisualModesScreen" xml:space="preserve">
|
||||
<value>Visual Modes are not available when laptop screen is off</value>
|
||||
</data>
|
||||
<data name="VolumeDown" xml:space="preserve">
|
||||
<value>볼륨 작게</value>
|
||||
</data>
|
||||
|
||||
@@ -494,6 +494,9 @@ Vis tiek norite tęsti?</value>
|
||||
<data name="LaptopScreen" xml:space="preserve">
|
||||
<value>Ekranas</value>
|
||||
</data>
|
||||
<data name="LEDStatusIndicators" xml:space="preserve">
|
||||
<value>LED Status Indicators</value>
|
||||
</data>
|
||||
<data name="Lid" xml:space="preserve">
|
||||
<value>Dangtis</value>
|
||||
</data>
|
||||
@@ -767,6 +770,12 @@ Vis tiek norite tęsti?</value>
|
||||
<data name="VisualMode" xml:space="preserve">
|
||||
<value>Visual Mode</value>
|
||||
</data>
|
||||
<data name="VisualModesHDR" xml:space="preserve">
|
||||
<value>Visual Modes are not available when HDR is active</value>
|
||||
</data>
|
||||
<data name="VisualModesScreen" xml:space="preserve">
|
||||
<value>Visual Modes are not available when laptop screen is off</value>
|
||||
</data>
|
||||
<data name="VolumeDown" xml:space="preserve">
|
||||
<value>Garsumo mažinimas</value>
|
||||
</data>
|
||||
|
||||
@@ -494,6 +494,9 @@ Nadal chcesz kontynuować?</value>
|
||||
<data name="LaptopScreen" xml:space="preserve">
|
||||
<value>Ekran laptopa</value>
|
||||
</data>
|
||||
<data name="LEDStatusIndicators" xml:space="preserve">
|
||||
<value>LED Status Indicators</value>
|
||||
</data>
|
||||
<data name="Lid" xml:space="preserve">
|
||||
<value>Pokrywa</value>
|
||||
</data>
|
||||
@@ -767,6 +770,12 @@ Nadal chcesz kontynuować?</value>
|
||||
<data name="VisualMode" xml:space="preserve">
|
||||
<value>Tryb wyświetlania</value>
|
||||
</data>
|
||||
<data name="VisualModesHDR" xml:space="preserve">
|
||||
<value>Visual Modes are not available when HDR is active</value>
|
||||
</data>
|
||||
<data name="VisualModesScreen" xml:space="preserve">
|
||||
<value>Visual Modes are not available when laptop screen is off</value>
|
||||
</data>
|
||||
<data name="VolumeDown" xml:space="preserve">
|
||||
<value>Zmniejsz głośność</value>
|
||||
</data>
|
||||
|
||||
@@ -494,6 +494,9 @@ Do you still want to continue?</value>
|
||||
<data name="LaptopScreen" xml:space="preserve">
|
||||
<value>Tela</value>
|
||||
</data>
|
||||
<data name="LEDStatusIndicators" xml:space="preserve">
|
||||
<value>LED Status Indicators</value>
|
||||
</data>
|
||||
<data name="Lid" xml:space="preserve">
|
||||
<value>Tampa</value>
|
||||
</data>
|
||||
@@ -767,6 +770,12 @@ Do you still want to continue?</value>
|
||||
<data name="VisualMode" xml:space="preserve">
|
||||
<value>Visual Mode</value>
|
||||
</data>
|
||||
<data name="VisualModesHDR" xml:space="preserve">
|
||||
<value>Visual Modes are not available when HDR is active</value>
|
||||
</data>
|
||||
<data name="VisualModesScreen" xml:space="preserve">
|
||||
<value>Visual Modes are not available when laptop screen is off</value>
|
||||
</data>
|
||||
<data name="VolumeDown" xml:space="preserve">
|
||||
<value>Abaixar o volume</value>
|
||||
</data>
|
||||
|
||||
@@ -494,6 +494,9 @@ Quer prosseguir?</value>
|
||||
<data name="LaptopScreen" xml:space="preserve">
|
||||
<value>Ecrã</value>
|
||||
</data>
|
||||
<data name="LEDStatusIndicators" xml:space="preserve">
|
||||
<value>LED Status Indicators</value>
|
||||
</data>
|
||||
<data name="Lid" xml:space="preserve">
|
||||
<value>Tampa</value>
|
||||
</data>
|
||||
@@ -767,6 +770,12 @@ Quer prosseguir?</value>
|
||||
<data name="VisualMode" xml:space="preserve">
|
||||
<value>Visual Mode</value>
|
||||
</data>
|
||||
<data name="VisualModesHDR" xml:space="preserve">
|
||||
<value>Visual Modes are not available when HDR is active</value>
|
||||
</data>
|
||||
<data name="VisualModesScreen" xml:space="preserve">
|
||||
<value>Visual Modes are not available when laptop screen is off</value>
|
||||
</data>
|
||||
<data name="VolumeDown" xml:space="preserve">
|
||||
<value>Diminuir o volume</value>
|
||||
</data>
|
||||
|
||||
@@ -494,6 +494,9 @@ Do you still want to continue?</value>
|
||||
<data name="LaptopScreen" xml:space="preserve">
|
||||
<value>Laptop Screen</value>
|
||||
</data>
|
||||
<data name="LEDStatusIndicators" xml:space="preserve">
|
||||
<value>LED Status Indicators</value>
|
||||
</data>
|
||||
<data name="Lid" xml:space="preserve">
|
||||
<value>Lid</value>
|
||||
</data>
|
||||
@@ -767,6 +770,12 @@ Do you still want to continue?</value>
|
||||
<data name="VisualMode" xml:space="preserve">
|
||||
<value>Visual Mode</value>
|
||||
</data>
|
||||
<data name="VisualModesHDR" xml:space="preserve">
|
||||
<value>Visual Modes are not available when HDR is active</value>
|
||||
</data>
|
||||
<data name="VisualModesScreen" xml:space="preserve">
|
||||
<value>Visual Modes are not available when laptop screen is off</value>
|
||||
</data>
|
||||
<data name="VolumeDown" xml:space="preserve">
|
||||
<value>Volume Down</value>
|
||||
</data>
|
||||
|
||||
@@ -494,6 +494,9 @@
|
||||
<data name="LaptopScreen" xml:space="preserve">
|
||||
<value>Ecran Laptop</value>
|
||||
</data>
|
||||
<data name="LEDStatusIndicators" xml:space="preserve">
|
||||
<value>LED Status Indicators</value>
|
||||
</data>
|
||||
<data name="Lid" xml:space="preserve">
|
||||
<value>Capac</value>
|
||||
</data>
|
||||
@@ -767,6 +770,12 @@
|
||||
<data name="VisualMode" xml:space="preserve">
|
||||
<value>Visual Mode</value>
|
||||
</data>
|
||||
<data name="VisualModesHDR" xml:space="preserve">
|
||||
<value>Visual Modes are not available when HDR is active</value>
|
||||
</data>
|
||||
<data name="VisualModesScreen" xml:space="preserve">
|
||||
<value>Visual Modes are not available when laptop screen is off</value>
|
||||
</data>
|
||||
<data name="VolumeDown" xml:space="preserve">
|
||||
<value>Buton scădere volum</value>
|
||||
</data>
|
||||
|
||||
@@ -494,6 +494,9 @@ Yine de devam etmek istiyor musunuz?</value>
|
||||
<data name="LaptopScreen" xml:space="preserve">
|
||||
<value>Laptop Ekranı</value>
|
||||
</data>
|
||||
<data name="LEDStatusIndicators" xml:space="preserve">
|
||||
<value>LED Status Indicators</value>
|
||||
</data>
|
||||
<data name="Lid" xml:space="preserve">
|
||||
<value>Kapak</value>
|
||||
</data>
|
||||
@@ -767,6 +770,12 @@ Yine de devam etmek istiyor musunuz?</value>
|
||||
<data name="VisualMode" xml:space="preserve">
|
||||
<value>Görüntü Modu</value>
|
||||
</data>
|
||||
<data name="VisualModesHDR" xml:space="preserve">
|
||||
<value>Visual Modes are not available when HDR is active</value>
|
||||
</data>
|
||||
<data name="VisualModesScreen" xml:space="preserve">
|
||||
<value>Visual Modes are not available when laptop screen is off</value>
|
||||
</data>
|
||||
<data name="VolumeDown" xml:space="preserve">
|
||||
<value>Sesi Azalt</value>
|
||||
</data>
|
||||
|
||||
@@ -59,46 +59,46 @@
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
<xsd:attribute name="name" use="required" type="xsd:string"/>
|
||||
<xsd:attribute name="type" type="xsd:string"/>
|
||||
<xsd:attribute name="mimetype" type="xsd:string"/>
|
||||
<xsd:attribute ref="xml:space"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
<xsd:attribute name="alias" type="xsd:string"/>
|
||||
<xsd:attribute name="name" type="xsd:string"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/>
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/>
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/>
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/>
|
||||
<xsd:attribute ref="xml:space"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
<xsd:attribute name="name" type="xsd:string" use="required"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
@@ -420,7 +420,7 @@
|
||||
<value>Кулери та Потужність</value>
|
||||
</data>
|
||||
<data name="FlickerFreeDimming" xml:space="preserve">
|
||||
<value>Затемнення</value>
|
||||
<value>Безмерехтливе Затемнення</value>
|
||||
</data>
|
||||
<data name="FnLock" xml:space="preserve">
|
||||
<value>Гарячі клавіші Fn+F працюють без натискання Fn</value>
|
||||
@@ -494,6 +494,9 @@
|
||||
<data name="LaptopScreen" xml:space="preserve">
|
||||
<value>Дисплей</value>
|
||||
</data>
|
||||
<data name="LEDStatusIndicators" xml:space="preserve">
|
||||
<value>LED Status Indicators</value>
|
||||
</data>
|
||||
<data name="Lid" xml:space="preserve">
|
||||
<value>Кришка</value>
|
||||
</data>
|
||||
@@ -767,6 +770,12 @@
|
||||
<data name="VisualMode" xml:space="preserve">
|
||||
<value>Візуальний режим</value>
|
||||
</data>
|
||||
<data name="VisualModesHDR" xml:space="preserve">
|
||||
<value>Visual Modes are not available when HDR is active</value>
|
||||
</data>
|
||||
<data name="VisualModesScreen" xml:space="preserve">
|
||||
<value>Visual Modes are not available when laptop screen is off</value>
|
||||
</data>
|
||||
<data name="VolumeDown" xml:space="preserve">
|
||||
<value>Зменшення гучності</value>
|
||||
</data>
|
||||
|
||||
@@ -494,6 +494,9 @@ Do you still want to continue?</value>
|
||||
<data name="LaptopScreen" xml:space="preserve">
|
||||
<value>Màn hình Laptop</value>
|
||||
</data>
|
||||
<data name="LEDStatusIndicators" xml:space="preserve">
|
||||
<value>LED Status Indicators</value>
|
||||
</data>
|
||||
<data name="Lid" xml:space="preserve">
|
||||
<value>Màn gập</value>
|
||||
</data>
|
||||
@@ -767,6 +770,12 @@ Do you still want to continue?</value>
|
||||
<data name="VisualMode" xml:space="preserve">
|
||||
<value>Visual Mode</value>
|
||||
</data>
|
||||
<data name="VisualModesHDR" xml:space="preserve">
|
||||
<value>Visual Modes are not available when HDR is active</value>
|
||||
</data>
|
||||
<data name="VisualModesScreen" xml:space="preserve">
|
||||
<value>Visual Modes are not available when laptop screen is off</value>
|
||||
</data>
|
||||
<data name="VolumeDown" xml:space="preserve">
|
||||
<value>Giảm âm lượng</value>
|
||||
</data>
|
||||
|
||||
@@ -494,6 +494,9 @@
|
||||
<data name="LaptopScreen" xml:space="preserve">
|
||||
<value>笔记本屏幕</value>
|
||||
</data>
|
||||
<data name="LEDStatusIndicators" xml:space="preserve">
|
||||
<value>LED Status Indicators</value>
|
||||
</data>
|
||||
<data name="Lid" xml:space="preserve">
|
||||
<value>盖子</value>
|
||||
</data>
|
||||
@@ -767,6 +770,12 @@
|
||||
<data name="VisualMode" xml:space="preserve">
|
||||
<value>Visual Mode</value>
|
||||
</data>
|
||||
<data name="VisualModesHDR" xml:space="preserve">
|
||||
<value>Visual Modes are not available when HDR is active</value>
|
||||
</data>
|
||||
<data name="VisualModesScreen" xml:space="preserve">
|
||||
<value>Visual Modes are not available when laptop screen is off</value>
|
||||
</data>
|
||||
<data name="VolumeDown" xml:space="preserve">
|
||||
<value>音量降低</value>
|
||||
</data>
|
||||
|
||||
@@ -494,6 +494,9 @@
|
||||
<data name="LaptopScreen" xml:space="preserve">
|
||||
<value>螢幕顯示</value>
|
||||
</data>
|
||||
<data name="LEDStatusIndicators" xml:space="preserve">
|
||||
<value>LED狀態指示器</value>
|
||||
</data>
|
||||
<data name="Lid" xml:space="preserve">
|
||||
<value>螢幕背蓋</value>
|
||||
</data>
|
||||
@@ -767,6 +770,12 @@
|
||||
<data name="VisualMode" xml:space="preserve">
|
||||
<value>色域模式</value>
|
||||
</data>
|
||||
<data name="VisualModesHDR" xml:space="preserve">
|
||||
<value>HDR開啟時不支援色域模式</value>
|
||||
</data>
|
||||
<data name="VisualModesScreen" xml:space="preserve">
|
||||
<value>筆電螢幕闔上時不支援色域模式</value>
|
||||
</data>
|
||||
<data name="VolumeDown" xml:space="preserve">
|
||||
<value>音量降低</value>
|
||||
</data>
|
||||
|
||||
635
app/Settings.Designer.cs
generated
635
app/Settings.Designer.cs
generated
File diff suppressed because it is too large
Load Diff
@@ -256,14 +256,31 @@ namespace GHelper
|
||||
VisualiseFnLock();
|
||||
buttonFnLock.Click += ButtonFnLock_Click;
|
||||
|
||||
labelVisual.Click += LabelVisual_Click;
|
||||
labelCharge.Click += LabelCharge_Click;
|
||||
|
||||
panelPerformance.Focus();
|
||||
InitVisual();
|
||||
}
|
||||
|
||||
private void LabelCharge_Click(object? sender, EventArgs e)
|
||||
{
|
||||
var report = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) + "\\battery-report.html";
|
||||
ProcessHelper.RunCMD("powershell", $"powercfg /batteryreport /output \"{report}\"");
|
||||
ProcessHelper.RunCMD("explorer", $"\"{report}\"");
|
||||
}
|
||||
|
||||
private void LabelVisual_Click(object? sender, EventArgs e)
|
||||
{
|
||||
labelVisual.Visible = false;
|
||||
VisualControl.forceVisual = true;
|
||||
}
|
||||
|
||||
public void InitVisual()
|
||||
{
|
||||
|
||||
if (AppConfig.Is("hide_visual")) return;
|
||||
|
||||
if (AppConfig.IsOLED())
|
||||
{
|
||||
panelGamma.Visible = true;
|
||||
@@ -1203,6 +1220,21 @@ namespace GHelper
|
||||
buttonMiniled.Visible = false;
|
||||
}
|
||||
|
||||
if (hdr) labelVisual.Text = Properties.Strings.VisualModesHDR;
|
||||
if (!screenEnabled) labelVisual.Text = Properties.Strings.VisualModesScreen;
|
||||
|
||||
if (!screenEnabled || hdr)
|
||||
{
|
||||
labelVisual.Location = tableVisual.Location;
|
||||
labelVisual.Width = tableVisual.Width;
|
||||
labelVisual.Height = tableVisual.Height;
|
||||
labelVisual.Visible = true;
|
||||
} else
|
||||
{
|
||||
labelVisual.Visible = false;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void ButtonQuit_Click(object? sender, EventArgs e)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# G-Helper - Lightweight control tool for Asus laptops
|
||||
[](https://u24.gov.ua/)
|
||||
[](https://GitHub.com/seerge/g-helper/releases/)
|
||||
[](https://GitHub.com/seerge/g-helper/releases/) [](https://GitHub.com/seerge/g-helper/stargazers/)
|
||||
[](https://GitHub.com/seerge/g-helper/releases/) [](https://GitHub.com/seerge/g-helper/stargazers/) <sup>[中文版点这里](https://github.com/seerge/g-helper/blob/main/docs/README.zh-CN.md)</sup>
|
||||
|
||||
Small and lightweight Armoury Crate alternative for Asus laptops offering almost same functionality without extra load and unnecessary services.
|
||||
Works with all popular models, such as ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, Flow Z13, TUF Series, Strix / Scar Series, ProArt, Vivobook, Zenbook, ROG Ally and many more!
|
||||
|
||||
@@ -1,14 +1,30 @@
|
||||
# G-Helper (GHelper)
|
||||
|
||||
[](https://GitHub.com/seerge/g-helper/releases/) [](https://GitHub.com/seerge/g-helper/releases/) [](https://GitHub.com/seerge/g-helper/stargazers/)
|
||||
|
||||
# G-Helper——轻量级的华硕笔记本控制中心
|
||||
[](https://u24.gov.ua/)
|
||||
[](https://GitHub.com/seerge/g-helper/releases/)
|
||||
[](https://GitHub.com/seerge/g-helper/releases/) [](https://GitHub.com/seerge/g-helper/stargazers/)
|
||||
|
||||
|
||||
语言: [English](https://github.com/seerge/g-helper#readme) | 中文
|
||||
|
||||
## 为ASUS笔记本打造的、Armoury Crate(奥创控制中心)的轻量化替代品
|
||||
适用于华硕(Asus)笔记本电脑的轻量级 Armoury Crate (奥创控制中心)替代品,在功能几乎相同的同时减少不必要的服务以减轻负载。
|
||||
G-helper兼容所有主流型号,例如 ROG 幻14、幻15、幻16、幻13、幻X、天选(飞行堡垒)系列、枪神/魔霸系列、创系列、灵耀系列、无畏系列、ROG Ally 等!
|
||||
|
||||
这是一个ROG 幻14、幻15,幻13、幻16,飞行堡垒/天选系列,ROG 枪神/魔霸系列或其他ASUS笔记本的控制工具。可以做到几乎所有Armoury Crate(奥创控制中心)能做的事情,而且不需要任何多余的功能或安装不必要的系统服务。
|
||||
|
||||
# [:floppy_disk:下载应用](https://github.com/seerge/g-helper/releases/latest/download/GHelper.zip)
|
||||
|
||||
如果你喜欢这个应用,请[给这个项目⭐️](https://github.com/seerge/g-helper) 或者向别人推荐它!
|
||||
|
||||
[常见问题解答(FAQ)](#常见问题解答)
|
||||
|
||||
[安装指南](#安装指南)
|
||||
|
||||
[高级用户设置](#高级用户设置)
|
||||
|
||||
### 通过paypal支持本项目:[:euro: EUR](https://www.paypal.com/donate/?hosted_button_id=4HMSHS4EBQWTA)或者[💵 USD](https://www.paypal.com/donate/?hosted_button_id=SRM6QUX6ACXDY)
|
||||
|
||||
[](https://github.com/seerge/g-helper/releases/latest/download/GHelper.zip)
|
||||
|
||||
_如果你在别的地方提到这个软件-请记得加上这个项目的网址。十分感谢。_
|
||||
|
||||
## 🎁 主要优点
|
||||
|
||||
@@ -16,17 +32,11 @@
|
||||
2. 可以手动调整所有的性能模式(包括自定义风扇曲线以及PPTs(Platform Power Threshold,即CPU总功耗,下文简称PPTs--译注))
|
||||
3. 极致的轻量化,几乎不消耗任何资源,也不需要安装系统服务。只需要下载一个exe文件就可以运行。
|
||||
4. 简洁的界面设计,可以轻松调整所有设置。
|
||||
5. 运行不需要管理员权限!
|
||||
5. FN 锁定和自定义热键
|
||||
|
||||
## [💾 下载应用](https://github.com/seerge/g-helper/releases/latest/download/GHelper.zip)
|
||||

|
||||
|
||||
如果你喜欢这个应用,请[给这个项目⭐️](https://github.com/seerge/g-helper) 或者向别人推荐它!
|
||||
|
||||
### 💶 [(通过paypal)支持和捐赠G-Helper](https://www.paypal.com/donate/?hosted_button_id=4HMSHS4EBQWTA)
|
||||
|
||||
_如果你在别的地方提到这个软件-请记得加上这个项目的网址。十分感谢。_
|
||||
|
||||

|
||||
|
||||
### ⚡️ 主要功能
|
||||
|
||||
@@ -36,9 +46,16 @@ _如果你在别的地方提到这个软件-请记得加上这个项目的网址
|
||||
4. 可调节的风扇曲线、电源功耗设置(PPTs)(_注:请谨慎调节!_)和CPU超频选项
|
||||
5. ROG Anime matrix 光显矩阵屏控制, 感谢项目 [Starlight](https://github.com/vddCore/Starlight) + 应用侧的一些调整,包括动画GIF图片
|
||||
6. 键盘灯光效果和颜色设置 (包括睡眠模式下的灯光效果和对飞行堡垒/天选系列的键盘支持)
|
||||
7. 对 M3, M4 按键的自定义设置和 FN+F5 快捷键(性能模式切换) FN+F4 快捷键(键盘灯光效果切换)
|
||||
7. 对M按键的自定义设置和 FN+X 快捷键的自定义
|
||||
8. CPU/GPU温度、风扇转速和电池充放电功率显示
|
||||
9. 电池充电上限设置,保护电池健康度
|
||||
10. Nvidia GPU 超频和降压
|
||||
11. XG Mobile 控制
|
||||
12. AMD CPU 的降压
|
||||
13. BIOS和驱动的升级
|
||||
14. 华硕鼠标的配置修改
|
||||
15. Mini-LED 屏幕的多区调光
|
||||
16. 低亮度防闪烁功能和显示风格的修改
|
||||
|
||||
### ⚙️ 当使用电池供电或插上电源时,自动切换:
|
||||
|
||||
@@ -68,7 +85,72 @@ _PPTs 默认在 幻14 2022版上显示, 对于其他型号 PPTs 的显示将会
|
||||
3. 独显直连: 同时启用核显与独显, 但独显直连笔电屏幕 (仅在幻14 2022版等机型上支持)
|
||||
4. 自动切换: 使用电池时关闭独显(集显模式),并在插上电源后重新启用独显(混合输出)
|
||||
|
||||
## ❓ 常见问题解答(FAQ)
|
||||

|
||||
|
||||

|
||||
|
||||
### :mouse: 华硕鼠标和其他外设的支持
|
||||
|
||||
[目前支持的型号](https://github.com/seerge/g-helper/discussions/900)
|
||||
|
||||
*对于中国大陆发行的版本请自行参考
|
||||
- ROG Chakram X (P708)
|
||||
- ROG Chakram Core (P511)
|
||||
- ROG Gladius II and Gladius II Origin (P502 and P504)
|
||||
- ROG Gladius III
|
||||
- ROG Gladius III Wireless
|
||||
- ROG Harpe Ace Aim Lab Edition
|
||||
- ROG Keris Wireless
|
||||
- ROG Strix Carry (P508)
|
||||
- ROG Strix III Gladius III Aimpoint Wireless (P711)
|
||||
- ROG Strix Impact III (P518)
|
||||
- ROG Spatha
|
||||
- ROG Strix Impact II Wireless
|
||||
- TUF Gaming M4 Wireless (P306)
|
||||
- TUF Gaming M3
|
||||
- TUF Gaming M3 Gen II
|
||||
|
||||
特别感谢 [@IceStormNG](https://github.com/IceStormNG) 👑 的贡献和研究!
|
||||
|
||||
### ⌨️ 按键绑定
|
||||
|
||||
- ``Fn + F5 / Fn + Shift + F5`` - 向前/向后切换性能模式
|
||||
- ``Ctrl + Shift + F5 / Ctrl + Shift + Alt + F5`` - 向前/向后切换性能模式
|
||||
- ``Ctrl + Shift + F12`` - 打开G-Helper窗口
|
||||
- ``Ctrl + M1 / M2`` - 屏幕亮度调低/调高
|
||||
- ``Shift + M1 / M2`` - 键盘背光亮度调低/调高
|
||||
- ``Fn + C`` - Fn锁定
|
||||
- ``Fn + Shift + F7 / F8`` - 光显矩阵/光线矩阵亮度调低/调高
|
||||
- ``Fn + Shift + F7 / F8`` - 屏幕亮度调低/调高
|
||||
- ``Ctrl + Shift + F20`` - 麦克风静音
|
||||
- ``Ctrl + Shift + Alt + F14`` - 集显模式
|
||||
- ``Ctrl + Shift + Alt + F15`` - 标准模式
|
||||
- ``Ctrl + Shift + Alt + F16`` - 静音模式
|
||||
- ``Ctrl + Shift + Alt + F17`` - 平衡模式
|
||||
- ``Ctrl + Shift + Alt + F18`` - 增强模式
|
||||
- ``Ctrl + Shift + Alt + F19`` - 自定义 1(如果存在)
|
||||
- ``Ctrl + Shift + Alt + F20`` - 自定义 2(如果存在)
|
||||
- [自定义键绑定/热键](https://github.com/seerge/g-helper/wiki/Power-user-settings#custom-hotkey-actions)
|
||||
|
||||
### 🎮ROG Ally 按键
|
||||
- ``M + DPad Left / Right`` - 显示亮度
|
||||
- ``M + DPad Up`` - 屏幕键盘
|
||||
- ``M + DPad Down`` - 显示桌面
|
||||
- ``M + Y`` - 切换 AMD 覆盖
|
||||
- ``M + X`` - 截屏
|
||||
- ``M + Right Stick Click`` - 控制器模式
|
||||
|
||||
------------------
|
||||
#### 如果您喜欢本项目,可以扫描以下二维码捐赠
|
||||
|
||||
| [Paypal in EUR](https://www.paypal.com/donate/?hosted_button_id=4HMSHS4EBQWTA) | [Paypal in USD](https://www.paypal.com/donate/?hosted_button_id=SRM6QUX6ACXDY) |
|
||||
| ------------------------------------------ | ----------------------------------------------- |
|
||||
| [](https://www.paypal.com/donate/?hosted_button_id=4HMSHS4EBQWTA) | [](https://www.paypal.com/donate/?hosted_button_id=SRM6QUX6ACXDY) |
|
||||
|
||||
------------------
|
||||
|
||||
|
||||
# 常见问题解答
|
||||
|
||||
#### 当我按下 M4 / Rog键的时候总是弹出安装Armoury Crate的弹窗提示,我该如何关闭它?
|
||||
|
||||
@@ -175,15 +257,7 @@ G-helper是一个单文件的exe文件, 而且它不会向系统中安装任何
|
||||
|
||||
---
|
||||
|
||||
## 💶 [支持这个项目](https://www.paypal.com/donate/?hosted_button_id=4HMSHS4EBQWTA)
|
||||
|
||||
#### 如果你喜欢这个项目你可以[通过Paypal捐赠](https://www.paypal.com/donate/?hosted_button_id=4HMSHS4EBQWTA)
|
||||
|
||||
[](https://www.paypal.com/donate/?hosted_button_id=4HMSHS4EBQWTA)
|
||||
|
||||
---
|
||||
|
||||
### 安装指南
|
||||
# 安装指南
|
||||
|
||||
1. 从 [**Releases Page**](https://github.com/seerge/g-helper/releases) 下载最新版本
|
||||
2. 解压到你选择的文件夹
|
||||
@@ -217,7 +291,7 @@ G-helper是一个单文件的exe文件, 而且它不会向系统中安装任何
|
||||
|
||||
---
|
||||
|
||||
## 高级用户设置
|
||||
# 高级用户设置
|
||||
|
||||
### 为每一个模式自定义用户计划
|
||||
|
||||
@@ -236,18 +310,43 @@ Where ``mode = 0 (balanced), 1 (turbo), 2 (silent)``
|
||||
|
||||
### 自定义热键行为
|
||||
|
||||
软件支持为 M3, M4 和 FN+F4 热键自定义配置。如要设置,在按键旁的选项框中选择"自定义设置",然后执行下面的操作(任选其一):
|
||||
软件支持热键自定义配置。如要设置,在按键旁的选项框中选择"自定义设置",然后执行下面的操作(任选其一):
|
||||
|
||||
1. 要想运行任意应用 - 向 "action" 文本框中粘贴应用文件exe的完整路径,例如:
|
||||
``C:\Program Files\EA Games\Battlefield 2042\BF2042.exe``
|
||||
2. 要想模拟任意windows按键 - 向"action"文本框中粘贴相对应的 keycode,例如 ``0x2C`` 为屏幕截图键。
|
||||
Keycodes的完整列表: https://learn.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
_注:请务必参考下方 **免责声明** 原文,以避免或减小错误或不恰当之翻译引起的负面影响。翻译仅为便于阅读之目的,不具有法律效力,亦不作为发生争端时处理之依据。_
|
||||
### 使用的库和项目
|
||||
- [Linux Kernel](https://github.com/torvalds/linux/blob/master/drivers/platform/x86/asus-wmi.c)华硕 ACPI/WMI 接口中一些基本端点的 Linux 内核
|
||||
- [NvAPIWrapper](https://github.com/falahati/NvAPIWrapper) 用于访问 Nvidia API
|
||||
- [Starlight](https://github.com/vddCore/Starlight) 光显矩阵通信协议
|
||||
- [UXTU](https://github.com/JamesCJ60/Universal-x86-Tuning-Utility) 使用 Ryzen 系统管理单元进行降压
|
||||
- [AsusCtl](https://gitlab.com/asus-linux/asusctl) 提供灵感和一些逆向工程
|
||||
|
||||
### 🔖 注意事项
|
||||
|
||||
G-Helper 不是操作系统、固件或驱动程序。它无论如何都不会实时“运行”您的硬件。
|
||||
|
||||
这只是一个应用程序,允许您选择制造商创建的预定义操作模式之一(并存储在 BIOS 中),并可选地(!)设置一些已经存在于您的设备上的设置,与 Armoury Crate 的原理相同。它通过使用 Armoury Crate 所使用的 Asus System Control Interface “驱动程序”来实现所有功能。
|
||||
|
||||
如果您使用的模式/设置与 Armoury Crate 中的相同 - 您设备的性能或行为不会有差异。
|
||||
|
||||
G-Helper 对您笔记本电脑的作用,类似于遥控器对您电视的作用。
|
||||
|
||||
### 免责声明
|
||||
|
||||
"ROG"、"TUF" 和 "Armoury Crate" 是 AsusTek Computer, Inc. 的注册商标。我对这些或任何属于 AsusTek Computer 的资产不提出任何主张,仅出于信息传递目的而使用它们。
|
||||
|
||||
软件按“现状”提供,不提供任何形式的明示或暗示保证,包括但不限于对适销性、特定用途的适用性和非侵权的保证。滥用此软件可能导致系统不稳定或故障。
|
||||
|
||||
_注:请务必参考下方 **免责声明** 原文,以避免或减小错误或不恰当之翻译引起的负面影响。翻译仅为便于阅读之目的,并非专业翻译,可能存在错误,可能与最新版本有所差异。本文不具有法律效力,亦不作为发生争端时处理之依据。_
|
||||
|
||||
**Disclaimers**
|
||||
"ROG", "TUF", and "Armoury Crate" are trademarked by and belong to AsusTek Computer, Inc. I make no claims to these or any assets belonging to AsusTek Computer and use them purely for informational purposes only.
|
||||
|
||||
Reference in New Issue
Block a user