mirror of
https://github.com/jkocon/g-helper.git
synced 2026-02-23 13:00:52 +01:00
Compare commits
49 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
65b4192393 | ||
|
|
846cc6e867 | ||
|
|
ddac5a23be | ||
|
|
4f6db4ae0a | ||
|
|
14dd96dee3 | ||
|
|
79ff24bbb7 | ||
|
|
b715bd0391 | ||
|
|
b97a06eb56 | ||
|
|
e69845e858 | ||
|
|
b832ba6e8b | ||
|
|
314d25c751 | ||
|
|
b52163949c | ||
|
|
f0ee2b8aac | ||
|
|
1603f625ed | ||
|
|
8f66006791 | ||
|
|
39387041fe | ||
|
|
400b2cd6cb | ||
|
|
b20442e61f | ||
|
|
6d219511fc | ||
|
|
2282820453 | ||
|
|
d4fcfe8895 | ||
|
|
8eb923a703 | ||
|
|
59548be543 | ||
|
|
1596ce84e8 | ||
|
|
f670b9e0dc | ||
|
|
52c2987c88 | ||
|
|
c9aa910035 | ||
|
|
22f648a23f | ||
|
|
9255a8554d | ||
|
|
859f4f55c3 | ||
|
|
7e3872939b | ||
|
|
2556583451 | ||
|
|
20e7d220e5 | ||
|
|
2f5543ce84 | ||
|
|
4c55e16f2e | ||
|
|
30544e74d7 | ||
|
|
f5925accb3 | ||
|
|
842ea2a92d | ||
|
|
1ca97bd3f4 | ||
|
|
8a1dd9f137 | ||
|
|
325f16cf55 | ||
|
|
42cc1bdb98 | ||
|
|
83a2d1dc9f | ||
|
|
3aae223b15 | ||
|
|
b22d2f8ceb | ||
|
|
2041861a14 | ||
|
|
dfc3c0e515 | ||
|
|
796ec34284 | ||
|
|
50894a59d3 |
@@ -60,7 +60,7 @@ public static class AppConfig
|
|||||||
{
|
{
|
||||||
|
|
||||||
GetModel();
|
GetModel();
|
||||||
return (_model is not null && _model.Contains(contains));
|
return (_model is not null && _model.ToLower().Contains(contains.ToLower()));
|
||||||
|
|
||||||
}
|
}
|
||||||
private static void initConfig()
|
private static void initConfig()
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using System.Diagnostics;
|
using GHelper;
|
||||||
using System.Management;
|
using System.Management;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
@@ -66,16 +66,16 @@ public class AsusACPI
|
|||||||
public const int Temp_CPU = 0x00120094;
|
public const int Temp_CPU = 0x00120094;
|
||||||
public const int Temp_GPU = 0x00120097;
|
public const int Temp_GPU = 0x00120097;
|
||||||
|
|
||||||
public const int PPT_TotalA0 = 0x001200A0; // Total PPT on 2022 (PPT_LIMIT_SLOW ) and CPU PPT on 2021
|
public const int PPT_TotalA0 = 0x001200A0; // SPL (Total limit for all-AMD models)
|
||||||
public const int PPT_EDCA1 = 0x001200A1; // CPU EDC
|
public const int PPT_EDCA1 = 0x001200A1; // CPU EDC
|
||||||
public const int PPT_TDCA2 = 0x001200A2; // CPU TDC
|
public const int PPT_TDCA2 = 0x001200A2; // CPU TDC
|
||||||
public const int PPT_APUA3 = 0x001200A3; // APU PPT ON 2021, doesn't work on 2022
|
public const int PPT_APUA3 = 0x001200A3; // sPPT (long boost limit)
|
||||||
|
|
||||||
public const int PPT_CPUB0 = 0x001200B0; // CPU PPT on 2022 (PPT_LIMIT_APU)
|
public const int PPT_CPUB0 = 0x001200B0; // CPU PPT on 2022 (PPT_LIMIT_APU)
|
||||||
public const int PPT_CPUB1 = 0x001200B1; // Total PPT on 2022 (PPT_LIMIT_SLOW)
|
public const int PPT_CPUB1 = 0x001200B1; // Total PPT on 2022 (PPT_LIMIT_SLOW)
|
||||||
|
|
||||||
public const int PPT_GPUC0 = 0x001200C0; // NVIDIA GPU Boost
|
public const int PPT_GPUC0 = 0x001200C0; // NVIDIA GPU Boost
|
||||||
public const int PPT_APUC1 = 0x001200C1; // Actual Power Limit (PPT_LIMIT_FAST) AND Sustained Power Limit (STAPM_LIMIT)
|
public const int PPT_APUC1 = 0x001200C1; // fPPT (fast boost limit)
|
||||||
public const int PPT_GPUC2 = 0x001200C2; // NVIDIA GPU Temp Target (75.. 87 C)
|
public const int PPT_GPUC2 = 0x001200C2; // NVIDIA GPU Temp Target (75.. 87 C)
|
||||||
|
|
||||||
public const int TUF_KB_BRIGHTNESS = 0x00050021;
|
public const int TUF_KB_BRIGHTNESS = 0x00050021;
|
||||||
@@ -83,6 +83,7 @@ public class AsusACPI
|
|||||||
public const int TUF_KB_STATE = 0x00100057;
|
public const int TUF_KB_STATE = 0x00100057;
|
||||||
|
|
||||||
public const int TabletState = 0x00060077;
|
public const int TabletState = 0x00060077;
|
||||||
|
public const int FnLock = 0x00100023;
|
||||||
|
|
||||||
public const int Tablet_Notebook = 0;
|
public const int Tablet_Notebook = 0;
|
||||||
public const int Tablet_Tablet = 1;
|
public const int Tablet_Tablet = 1;
|
||||||
@@ -171,8 +172,8 @@ public class AsusACPI
|
|||||||
data[0] = BitConverter.GetBytes(eventHandle.ToInt32())[0];
|
data[0] = BitConverter.GetBytes(eventHandle.ToInt32())[0];
|
||||||
data[1] = BitConverter.GetBytes(eventHandle.ToInt32())[1];
|
data[1] = BitConverter.GetBytes(eventHandle.ToInt32())[1];
|
||||||
|
|
||||||
result = Control(0x222400, data, outBuffer);
|
Control(0x222400, data, outBuffer);
|
||||||
Logger.WriteLine("ACPI " + result + ":" + BitConverter.ToString(data) + "|" + BitConverter.ToString(outBuffer));
|
Logger.WriteLine("ACPI :" + BitConverter.ToString(data) + "|" + BitConverter.ToString(outBuffer));
|
||||||
|
|
||||||
while (true)
|
while (true)
|
||||||
{
|
{
|
||||||
@@ -203,10 +204,11 @@ public class AsusACPI
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool Control(uint dwIoControlCode, byte[] lpInBuffer, byte[] lpOutBuffer)
|
public void Control(uint dwIoControlCode, byte[] lpInBuffer, byte[] lpOutBuffer)
|
||||||
{
|
{
|
||||||
|
|
||||||
uint lpBytesReturned = 0;
|
uint lpBytesReturned = 0;
|
||||||
return DeviceIoControl(
|
DeviceIoControl(
|
||||||
handle,
|
handle,
|
||||||
dwIoControlCode,
|
dwIoControlCode,
|
||||||
lpInBuffer,
|
lpInBuffer,
|
||||||
@@ -413,6 +415,11 @@ public class AsusACPI
|
|||||||
return DeviceGet(GPUXGConnected) == 1;
|
return DeviceGet(GPUXGConnected) == 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool IsAllAmdPPT()
|
||||||
|
{
|
||||||
|
return DeviceGet(PPT_CPUB0) >= 0 && DeviceGet(PPT_GPUC0) < 0;
|
||||||
|
}
|
||||||
|
|
||||||
public void TUFKeyboardBrightness(int brightness)
|
public void TUFKeyboardBrightness(int brightness)
|
||||||
{
|
{
|
||||||
int param = 0x80 | (brightness & 0x7F);
|
int param = 0x80 | (brightness & 0x7F);
|
||||||
|
|||||||
141
app/AsusUSB.cs
141
app/AsusUSB.cs
@@ -1,5 +1,4 @@
|
|||||||
using HidLibrary;
|
using HidLibrary;
|
||||||
using Microsoft.Win32;
|
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
namespace GHelper
|
namespace GHelper
|
||||||
@@ -125,6 +124,10 @@ namespace GHelper
|
|||||||
_modes.Remove(3);
|
_modes.Remove(3);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (AppConfig.ContainsModel("G513")) {
|
||||||
|
return _modes;
|
||||||
|
}
|
||||||
|
|
||||||
if (AppConfig.ContainsModel("Strix") || AppConfig.ContainsModel("Scar"))
|
if (AppConfig.ContainsModel("Strix") || AppConfig.ContainsModel("Scar"))
|
||||||
{
|
{
|
||||||
return _modesStrix;
|
return _modesStrix;
|
||||||
@@ -175,13 +178,13 @@ namespace GHelper
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private static IEnumerable<HidDevice> GetHidDevices(int[] deviceIds, int minInput = 18)
|
private static IEnumerable<HidDevice> GetHidDevices(int[] deviceIds, int minInput = 18, int minFeatures = 1)
|
||||||
{
|
{
|
||||||
HidDevice[] HidDeviceList = HidDevices.Enumerate(ASUS_ID, deviceIds).ToArray();
|
HidDevice[] HidDeviceList = HidDevices.Enumerate(ASUS_ID, deviceIds).ToArray();
|
||||||
foreach (HidDevice device in HidDeviceList)
|
foreach (HidDevice device in HidDeviceList)
|
||||||
if (device.IsConnected
|
if (device.IsConnected
|
||||||
&& device.Capabilities.FeatureReportByteLength > 0
|
&& device.Capabilities.FeatureReportByteLength >= minFeatures
|
||||||
&& device.Capabilities.InputReportByteLength >= minInput)
|
&& device.Capabilities.InputReportByteLength >= minInput)
|
||||||
yield return device;
|
yield return device;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -246,35 +249,43 @@ namespace GHelper
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static void ApplyBrightness(int brightness)
|
public static void ApplyBrightness(int brightness, string log = "Backlight")
|
||||||
{
|
{
|
||||||
|
|
||||||
if (AppConfig.ContainsModel("TUF"))
|
if (AppConfig.ContainsModel("TUF"))
|
||||||
Program.acpi.TUFKeyboardBrightness(brightness);
|
Program.acpi.TUFKeyboardBrightness(brightness);
|
||||||
|
|
||||||
byte[] msg = { AURA_HID_ID, 0xba, 0xc5, 0xc4, (byte)brightness };
|
|
||||||
|
|
||||||
var devices = GetHidDevices(deviceIds);
|
Task.Run(async () =>
|
||||||
foreach (HidDevice device in devices)
|
|
||||||
{
|
{
|
||||||
device.OpenDevice();
|
|
||||||
device.WriteFeatureData(msg);
|
|
||||||
Logger.WriteLine("KB Backlight:" + BitConverter.ToString(msg));
|
|
||||||
device.CloseDevice();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Backup payload for old models
|
byte[] msg = { AURA_HID_ID, 0xba, 0xc5, 0xc4, (byte)brightness };
|
||||||
if (AppConfig.ContainsModel("503"))
|
|
||||||
{
|
|
||||||
byte[] msgBackup = { INPUT_HID_ID, 0xba, 0xc5, 0xc4, (byte)brightness };
|
|
||||||
|
|
||||||
var devicesBackup = GetHidDevices(deviceIds, 0);
|
var devices = GetHidDevices(deviceIds);
|
||||||
foreach (HidDevice device in devicesBackup)
|
foreach (HidDevice device in devices)
|
||||||
{
|
{
|
||||||
device.OpenDevice();
|
device.OpenDevice();
|
||||||
device.WriteFeatureData(msgBackup);
|
device.WriteFeatureData(msg);
|
||||||
|
Logger.WriteLine(log + ":" + BitConverter.ToString(msg));
|
||||||
device.CloseDevice();
|
device.CloseDevice();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
// Backup payload for old models
|
||||||
|
if (AppConfig.ContainsModel("503"))
|
||||||
|
{
|
||||||
|
byte[] msgBackup = { INPUT_HID_ID, 0xba, 0xc5, 0xc4, (byte)brightness };
|
||||||
|
|
||||||
|
var devicesBackup = GetHidDevices(deviceIds, 0);
|
||||||
|
foreach (HidDevice device in devicesBackup)
|
||||||
|
{
|
||||||
|
device.OpenDevice();
|
||||||
|
device.WriteFeatureData(msgBackup);
|
||||||
|
device.CloseDevice();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -305,49 +316,6 @@ namespace GHelper
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int SetXGM(byte[] msg)
|
|
||||||
{
|
|
||||||
|
|
||||||
//Logger.WriteLine("XGM Payload :" + BitConverter.ToString(msg));
|
|
||||||
|
|
||||||
var payload = new byte[300];
|
|
||||||
Array.Copy(msg, payload, msg.Length);
|
|
||||||
|
|
||||||
foreach (HidDevice device in GetHidDevices(new int[] { 0x1970 }, 0))
|
|
||||||
{
|
|
||||||
device.OpenDevice();
|
|
||||||
Logger.WriteLine("XGM " + device.Attributes.ProductHexId + "|" + device.Capabilities.FeatureReportByteLength + ":" + BitConverter.ToString(msg));
|
|
||||||
device.WriteFeatureData(payload);
|
|
||||||
device.CloseDevice();
|
|
||||||
//return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void ApplyXGMLight(bool status)
|
|
||||||
{
|
|
||||||
SetXGM(new byte[] { 0x5e, 0xc5, status ? (byte)0x50 : (byte)0 });
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public static int ResetXGM()
|
|
||||||
{
|
|
||||||
return SetXGM(new byte[] { 0x5e, 0xd1, 0x02 });
|
|
||||||
}
|
|
||||||
|
|
||||||
public static int SetXGMFan(byte[] curve)
|
|
||||||
{
|
|
||||||
|
|
||||||
if (AsusACPI.IsInvalidCurve(curve)) return -1;
|
|
||||||
|
|
||||||
byte[] msg = new byte[19];
|
|
||||||
Array.Copy(new byte[] { 0x5e, 0xd1, 0x01 }, msg, 3);
|
|
||||||
Array.Copy(curve, 0, msg, 3, curve.Length);
|
|
||||||
|
|
||||||
return SetXGM(msg);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public static void ApplyAura()
|
public static void ApplyAura()
|
||||||
{
|
{
|
||||||
@@ -393,6 +361,51 @@ namespace GHelper
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Reference : thanks to https://github.com/RomanYazvinsky/ for initial discovery of XGM payloads
|
||||||
|
public static int SetXGM(byte[] msg)
|
||||||
|
{
|
||||||
|
|
||||||
|
//Logger.WriteLine("XGM Payload :" + BitConverter.ToString(msg));
|
||||||
|
|
||||||
|
var payload = new byte[300];
|
||||||
|
Array.Copy(msg, payload, msg.Length);
|
||||||
|
|
||||||
|
foreach (HidDevice device in GetHidDevices(new int[] { 0x1970 }, 0, 300))
|
||||||
|
{
|
||||||
|
device.OpenDevice();
|
||||||
|
Logger.WriteLine("XGM " + device.Attributes.ProductHexId + "|" + device.Capabilities.FeatureReportByteLength + ":" + BitConverter.ToString(msg));
|
||||||
|
device.WriteFeatureData(payload);
|
||||||
|
device.CloseDevice();
|
||||||
|
//return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void ApplyXGMLight(bool status)
|
||||||
|
{
|
||||||
|
SetXGM(new byte[] { 0x5e, 0xc5, status ? (byte)0x50 : (byte)0 });
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static int ResetXGM()
|
||||||
|
{
|
||||||
|
return SetXGM(new byte[] { 0x5e, 0xd1, 0x02 });
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int SetXGMFan(byte[] curve)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (AsusACPI.IsInvalidCurve(curve)) return -1;
|
||||||
|
|
||||||
|
byte[] msg = new byte[19];
|
||||||
|
Array.Copy(new byte[] { 0x5e, 0xd1, 0x01 }, msg, 3);
|
||||||
|
Array.Copy(curve, 0, msg, 3, curve.Length);
|
||||||
|
|
||||||
|
return SetXGM(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
227
app/Extra.Designer.cs
generated
227
app/Extra.Designer.cs
generated
@@ -33,24 +33,29 @@ namespace GHelper
|
|||||||
{
|
{
|
||||||
groupBindings = new GroupBox();
|
groupBindings = new GroupBox();
|
||||||
tableKeys = new TableLayoutPanel();
|
tableKeys = new TableLayoutPanel();
|
||||||
|
labelFNC = new Label();
|
||||||
textM2 = new TextBox();
|
textM2 = new TextBox();
|
||||||
textM1 = new TextBox();
|
textM1 = new TextBox();
|
||||||
comboM1 = new RComboBox();
|
comboM1 = new RComboBox();
|
||||||
labelM1 = new Label();
|
labelM1 = new Label();
|
||||||
labelFNF4 = new Label();
|
|
||||||
comboFNF4 = new RComboBox();
|
|
||||||
comboM4 = new RComboBox();
|
comboM4 = new RComboBox();
|
||||||
comboM3 = new RComboBox();
|
comboM3 = new RComboBox();
|
||||||
textFNF4 = new TextBox();
|
|
||||||
textM4 = new TextBox();
|
textM4 = new TextBox();
|
||||||
textM3 = new TextBox();
|
textM3 = new TextBox();
|
||||||
labelM4 = new Label();
|
labelM4 = new Label();
|
||||||
labelM3 = new Label();
|
labelM3 = new Label();
|
||||||
labelM2 = new Label();
|
labelM2 = new Label();
|
||||||
comboM2 = new RComboBox();
|
comboM2 = new RComboBox();
|
||||||
|
labelFNF4 = new Label();
|
||||||
|
comboFNF4 = new RComboBox();
|
||||||
|
textFNF4 = new TextBox();
|
||||||
|
comboFNC = new RComboBox();
|
||||||
|
textFNC = new TextBox();
|
||||||
pictureHelp = new PictureBox();
|
pictureHelp = new PictureBox();
|
||||||
groupLight = new GroupBox();
|
groupLight = new GroupBox();
|
||||||
panelBacklightExtra = new Panel();
|
panelBacklightExtra = new Panel();
|
||||||
|
numericBacklightPluggedTime = new NumericUpDown();
|
||||||
|
labelBacklightTimeoutPlugged = new Label();
|
||||||
numericBacklightTime = new NumericUpDown();
|
numericBacklightTime = new NumericUpDown();
|
||||||
labelBacklightTimeout = new Label();
|
labelBacklightTimeout = new Label();
|
||||||
labelBrightness = new Label();
|
labelBrightness = new Label();
|
||||||
@@ -81,34 +86,34 @@ namespace GHelper
|
|||||||
checkSleepLid = new CheckBox();
|
checkSleepLid = new CheckBox();
|
||||||
checkShutdownLid = new CheckBox();
|
checkShutdownLid = new CheckBox();
|
||||||
groupOther = new GroupBox();
|
groupOther = new GroupBox();
|
||||||
|
checkFnLock = new CheckBox();
|
||||||
|
checkGpuApps = new CheckBox();
|
||||||
checkAutoApplyWindowsPowerMode = new CheckBox();
|
checkAutoApplyWindowsPowerMode = new CheckBox();
|
||||||
checkKeyboardAuto = new CheckBox();
|
|
||||||
checkUSBC = new CheckBox();
|
checkUSBC = new CheckBox();
|
||||||
checkNoOverdrive = new CheckBox();
|
checkNoOverdrive = new CheckBox();
|
||||||
checkTopmost = new CheckBox();
|
checkTopmost = new CheckBox();
|
||||||
numericBacklightPluggedTime = new NumericUpDown();
|
|
||||||
labelBacklightTimeoutPlugged = new Label();
|
|
||||||
groupBindings.SuspendLayout();
|
groupBindings.SuspendLayout();
|
||||||
tableKeys.SuspendLayout();
|
tableKeys.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)pictureHelp).BeginInit();
|
((System.ComponentModel.ISupportInitialize)pictureHelp).BeginInit();
|
||||||
groupLight.SuspendLayout();
|
groupLight.SuspendLayout();
|
||||||
panelBacklightExtra.SuspendLayout();
|
panelBacklightExtra.SuspendLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)numericBacklightPluggedTime).BeginInit();
|
||||||
((System.ComponentModel.ISupportInitialize)numericBacklightTime).BeginInit();
|
((System.ComponentModel.ISupportInitialize)numericBacklightTime).BeginInit();
|
||||||
((System.ComponentModel.ISupportInitialize)trackBrightness).BeginInit();
|
((System.ComponentModel.ISupportInitialize)trackBrightness).BeginInit();
|
||||||
panelXMG.SuspendLayout();
|
panelXMG.SuspendLayout();
|
||||||
tableBacklight.SuspendLayout();
|
tableBacklight.SuspendLayout();
|
||||||
groupOther.SuspendLayout();
|
groupOther.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)numericBacklightPluggedTime).BeginInit();
|
|
||||||
SuspendLayout();
|
SuspendLayout();
|
||||||
//
|
//
|
||||||
// groupBindings
|
// groupBindings
|
||||||
//
|
//
|
||||||
|
groupBindings.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||||
groupBindings.Controls.Add(tableKeys);
|
groupBindings.Controls.Add(tableKeys);
|
||||||
groupBindings.Controls.Add(pictureHelp);
|
groupBindings.Controls.Add(pictureHelp);
|
||||||
groupBindings.Dock = DockStyle.Top;
|
groupBindings.Dock = DockStyle.Top;
|
||||||
groupBindings.Location = new Point(10, 10);
|
groupBindings.Location = new Point(10, 10);
|
||||||
groupBindings.Name = "groupBindings";
|
groupBindings.Name = "groupBindings";
|
||||||
groupBindings.Size = new Size(954, 324);
|
groupBindings.Size = new Size(954, 360);
|
||||||
groupBindings.TabIndex = 0;
|
groupBindings.TabIndex = 0;
|
||||||
groupBindings.TabStop = false;
|
groupBindings.TabStop = false;
|
||||||
groupBindings.Text = "Key Bindings";
|
groupBindings.Text = "Key Bindings";
|
||||||
@@ -119,36 +124,49 @@ namespace GHelper
|
|||||||
tableKeys.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 20F));
|
tableKeys.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 20F));
|
||||||
tableKeys.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 40F));
|
tableKeys.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 40F));
|
||||||
tableKeys.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 40F));
|
tableKeys.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 40F));
|
||||||
|
tableKeys.Controls.Add(labelFNC, 0, 5);
|
||||||
tableKeys.Controls.Add(textM2, 2, 1);
|
tableKeys.Controls.Add(textM2, 2, 1);
|
||||||
tableKeys.Controls.Add(textM1, 2, 0);
|
tableKeys.Controls.Add(textM1, 2, 0);
|
||||||
tableKeys.Controls.Add(comboM1, 1, 0);
|
tableKeys.Controls.Add(comboM1, 1, 0);
|
||||||
tableKeys.Controls.Add(labelM1, 0, 0);
|
tableKeys.Controls.Add(labelM1, 0, 0);
|
||||||
tableKeys.Controls.Add(labelFNF4, 0, 4);
|
|
||||||
tableKeys.Controls.Add(comboFNF4, 1, 4);
|
|
||||||
tableKeys.Controls.Add(comboM4, 1, 3);
|
tableKeys.Controls.Add(comboM4, 1, 3);
|
||||||
tableKeys.Controls.Add(comboM3, 1, 2);
|
tableKeys.Controls.Add(comboM3, 1, 2);
|
||||||
tableKeys.Controls.Add(textFNF4, 2, 4);
|
|
||||||
tableKeys.Controls.Add(textM4, 2, 3);
|
tableKeys.Controls.Add(textM4, 2, 3);
|
||||||
tableKeys.Controls.Add(textM3, 2, 2);
|
tableKeys.Controls.Add(textM3, 2, 2);
|
||||||
tableKeys.Controls.Add(labelM4, 0, 3);
|
tableKeys.Controls.Add(labelM4, 0, 3);
|
||||||
tableKeys.Controls.Add(labelM3, 0, 2);
|
tableKeys.Controls.Add(labelM3, 0, 2);
|
||||||
tableKeys.Controls.Add(labelM2, 0, 1);
|
tableKeys.Controls.Add(labelM2, 0, 1);
|
||||||
tableKeys.Controls.Add(comboM2, 1, 1);
|
tableKeys.Controls.Add(comboM2, 1, 1);
|
||||||
|
tableKeys.Controls.Add(labelFNF4, 0, 4);
|
||||||
|
tableKeys.Controls.Add(comboFNF4, 1, 4);
|
||||||
|
tableKeys.Controls.Add(textFNF4, 2, 4);
|
||||||
|
tableKeys.Controls.Add(comboFNC, 1, 5);
|
||||||
|
tableKeys.Controls.Add(textFNC, 2, 5);
|
||||||
tableKeys.Location = new Point(13, 38);
|
tableKeys.Location = new Point(13, 38);
|
||||||
tableKeys.Name = "tableKeys";
|
tableKeys.Name = "tableKeys";
|
||||||
tableKeys.Padding = new Padding(10);
|
tableKeys.Padding = new Padding(10);
|
||||||
tableKeys.RowCount = 5;
|
tableKeys.RowCount = 6;
|
||||||
tableKeys.RowStyles.Add(new RowStyle(SizeType.Absolute, 50F));
|
tableKeys.RowStyles.Add(new RowStyle(SizeType.Absolute, 50F));
|
||||||
tableKeys.RowStyles.Add(new RowStyle(SizeType.Absolute, 50F));
|
tableKeys.RowStyles.Add(new RowStyle(SizeType.Absolute, 50F));
|
||||||
tableKeys.RowStyles.Add(new RowStyle(SizeType.Absolute, 50F));
|
tableKeys.RowStyles.Add(new RowStyle(SizeType.Absolute, 50F));
|
||||||
tableKeys.RowStyles.Add(new RowStyle(SizeType.Absolute, 50F));
|
tableKeys.RowStyles.Add(new RowStyle(SizeType.Absolute, 50F));
|
||||||
tableKeys.RowStyles.Add(new RowStyle(SizeType.Absolute, 50F));
|
tableKeys.RowStyles.Add(new RowStyle(SizeType.Absolute, 48F));
|
||||||
tableKeys.Size = new Size(897, 266);
|
tableKeys.RowStyles.Add(new RowStyle(SizeType.Absolute, 22F));
|
||||||
|
tableKeys.Size = new Size(900, 308);
|
||||||
tableKeys.TabIndex = 10;
|
tableKeys.TabIndex = 10;
|
||||||
//
|
//
|
||||||
|
// labelFNC
|
||||||
|
//
|
||||||
|
labelFNC.AutoSize = true;
|
||||||
|
labelFNC.Location = new Point(13, 258);
|
||||||
|
labelFNC.Name = "labelFNC";
|
||||||
|
labelFNC.Size = new Size(80, 32);
|
||||||
|
labelFNC.TabIndex = 15;
|
||||||
|
labelFNC.Text = "FN+C:";
|
||||||
|
//
|
||||||
// textM2
|
// textM2
|
||||||
//
|
//
|
||||||
textM2.Location = new Point(538, 63);
|
textM2.Location = new Point(541, 63);
|
||||||
textM2.Name = "textM2";
|
textM2.Name = "textM2";
|
||||||
textM2.PlaceholderText = "action";
|
textM2.PlaceholderText = "action";
|
||||||
textM2.Size = new Size(346, 39);
|
textM2.Size = new Size(346, 39);
|
||||||
@@ -156,7 +174,7 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
// textM1
|
// textM1
|
||||||
//
|
//
|
||||||
textM1.Location = new Point(538, 13);
|
textM1.Location = new Point(541, 13);
|
||||||
textM1.Name = "textM1";
|
textM1.Name = "textM1";
|
||||||
textM1.PlaceholderText = "action";
|
textM1.PlaceholderText = "action";
|
||||||
textM1.Size = new Size(346, 39);
|
textM1.Size = new Size(346, 39);
|
||||||
@@ -168,7 +186,7 @@ namespace GHelper
|
|||||||
comboM1.ButtonColor = Color.FromArgb(255, 255, 255);
|
comboM1.ButtonColor = Color.FromArgb(255, 255, 255);
|
||||||
comboM1.FormattingEnabled = true;
|
comboM1.FormattingEnabled = true;
|
||||||
comboM1.Items.AddRange(new object[] { Strings.Default, Strings.VolumeMute, Strings.PlayPause, Strings.PrintScreen, Strings.ToggleAura, Strings.Custom });
|
comboM1.Items.AddRange(new object[] { Strings.Default, Strings.VolumeMute, Strings.PlayPause, Strings.PrintScreen, Strings.ToggleAura, Strings.Custom });
|
||||||
comboM1.Location = new Point(188, 13);
|
comboM1.Location = new Point(189, 13);
|
||||||
comboM1.Name = "comboM1";
|
comboM1.Name = "comboM1";
|
||||||
comboM1.Size = new Size(312, 40);
|
comboM1.Size = new Size(312, 40);
|
||||||
comboM1.TabIndex = 11;
|
comboM1.TabIndex = 11;
|
||||||
@@ -182,32 +200,13 @@ namespace GHelper
|
|||||||
labelM1.TabIndex = 9;
|
labelM1.TabIndex = 9;
|
||||||
labelM1.Text = "M1:";
|
labelM1.Text = "M1:";
|
||||||
//
|
//
|
||||||
// labelFNF4
|
|
||||||
//
|
|
||||||
labelFNF4.AutoSize = true;
|
|
||||||
labelFNF4.Location = new Point(13, 210);
|
|
||||||
labelFNF4.Name = "labelFNF4";
|
|
||||||
labelFNF4.Size = new Size(90, 32);
|
|
||||||
labelFNF4.TabIndex = 6;
|
|
||||||
labelFNF4.Text = "FN+F4:";
|
|
||||||
//
|
|
||||||
// comboFNF4
|
|
||||||
//
|
|
||||||
comboFNF4.BorderColor = Color.White;
|
|
||||||
comboFNF4.ButtonColor = Color.FromArgb(255, 255, 255);
|
|
||||||
comboFNF4.FormattingEnabled = true;
|
|
||||||
comboFNF4.Location = new Point(188, 213);
|
|
||||||
comboFNF4.Name = "comboFNF4";
|
|
||||||
comboFNF4.Size = new Size(312, 40);
|
|
||||||
comboFNF4.TabIndex = 7;
|
|
||||||
//
|
|
||||||
// comboM4
|
// comboM4
|
||||||
//
|
//
|
||||||
comboM4.BorderColor = Color.White;
|
comboM4.BorderColor = Color.White;
|
||||||
comboM4.ButtonColor = Color.FromArgb(255, 255, 255);
|
comboM4.ButtonColor = Color.FromArgb(255, 255, 255);
|
||||||
comboM4.FormattingEnabled = true;
|
comboM4.FormattingEnabled = true;
|
||||||
comboM4.Items.AddRange(new object[] { Strings.PerformanceMode, Strings.OpenGHelper, Strings.Custom });
|
comboM4.Items.AddRange(new object[] { Strings.PerformanceMode, Strings.OpenGHelper, Strings.Custom });
|
||||||
comboM4.Location = new Point(188, 163);
|
comboM4.Location = new Point(189, 163);
|
||||||
comboM4.Name = "comboM4";
|
comboM4.Name = "comboM4";
|
||||||
comboM4.Size = new Size(312, 40);
|
comboM4.Size = new Size(312, 40);
|
||||||
comboM4.TabIndex = 3;
|
comboM4.TabIndex = 3;
|
||||||
@@ -218,22 +217,14 @@ namespace GHelper
|
|||||||
comboM3.ButtonColor = Color.FromArgb(255, 255, 255);
|
comboM3.ButtonColor = Color.FromArgb(255, 255, 255);
|
||||||
comboM3.FormattingEnabled = true;
|
comboM3.FormattingEnabled = true;
|
||||||
comboM3.Items.AddRange(new object[] { Strings.Default, Strings.VolumeMute, Strings.PlayPause, Strings.PrintScreen, Strings.ToggleAura, Strings.Custom });
|
comboM3.Items.AddRange(new object[] { Strings.Default, Strings.VolumeMute, Strings.PlayPause, Strings.PrintScreen, Strings.ToggleAura, Strings.Custom });
|
||||||
comboM3.Location = new Point(188, 113);
|
comboM3.Location = new Point(189, 113);
|
||||||
comboM3.Name = "comboM3";
|
comboM3.Name = "comboM3";
|
||||||
comboM3.Size = new Size(312, 40);
|
comboM3.Size = new Size(312, 40);
|
||||||
comboM3.TabIndex = 1;
|
comboM3.TabIndex = 1;
|
||||||
//
|
//
|
||||||
// textFNF4
|
|
||||||
//
|
|
||||||
textFNF4.Location = new Point(538, 213);
|
|
||||||
textFNF4.Name = "textFNF4";
|
|
||||||
textFNF4.PlaceholderText = "action";
|
|
||||||
textFNF4.Size = new Size(346, 39);
|
|
||||||
textFNF4.TabIndex = 8;
|
|
||||||
//
|
|
||||||
// textM4
|
// textM4
|
||||||
//
|
//
|
||||||
textM4.Location = new Point(538, 163);
|
textM4.Location = new Point(541, 163);
|
||||||
textM4.Name = "textM4";
|
textM4.Name = "textM4";
|
||||||
textM4.PlaceholderText = "action";
|
textM4.PlaceholderText = "action";
|
||||||
textM4.Size = new Size(346, 39);
|
textM4.Size = new Size(346, 39);
|
||||||
@@ -241,7 +232,7 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
// textM3
|
// textM3
|
||||||
//
|
//
|
||||||
textM3.Location = new Point(538, 113);
|
textM3.Location = new Point(541, 113);
|
||||||
textM3.Name = "textM3";
|
textM3.Name = "textM3";
|
||||||
textM3.PlaceholderText = "action";
|
textM3.PlaceholderText = "action";
|
||||||
textM3.Size = new Size(346, 39);
|
textM3.Size = new Size(346, 39);
|
||||||
@@ -280,17 +271,62 @@ namespace GHelper
|
|||||||
comboM2.ButtonColor = Color.FromArgb(255, 255, 255);
|
comboM2.ButtonColor = Color.FromArgb(255, 255, 255);
|
||||||
comboM2.FormattingEnabled = true;
|
comboM2.FormattingEnabled = true;
|
||||||
comboM2.Items.AddRange(new object[] { Strings.Default, Strings.VolumeMute, Strings.PlayPause, Strings.PrintScreen, Strings.ToggleAura, Strings.Custom });
|
comboM2.Items.AddRange(new object[] { Strings.Default, Strings.VolumeMute, Strings.PlayPause, Strings.PrintScreen, Strings.ToggleAura, Strings.Custom });
|
||||||
comboM2.Location = new Point(188, 63);
|
comboM2.Location = new Point(189, 63);
|
||||||
comboM2.Name = "comboM2";
|
comboM2.Name = "comboM2";
|
||||||
comboM2.Size = new Size(312, 40);
|
comboM2.Size = new Size(312, 40);
|
||||||
comboM2.TabIndex = 12;
|
comboM2.TabIndex = 12;
|
||||||
//
|
//
|
||||||
|
// labelFNF4
|
||||||
|
//
|
||||||
|
labelFNF4.AutoSize = true;
|
||||||
|
labelFNF4.Location = new Point(13, 210);
|
||||||
|
labelFNF4.Name = "labelFNF4";
|
||||||
|
labelFNF4.Size = new Size(90, 32);
|
||||||
|
labelFNF4.TabIndex = 6;
|
||||||
|
labelFNF4.Text = "FN+F4:";
|
||||||
|
//
|
||||||
|
// comboFNF4
|
||||||
|
//
|
||||||
|
comboFNF4.BorderColor = Color.White;
|
||||||
|
comboFNF4.ButtonColor = Color.FromArgb(255, 255, 255);
|
||||||
|
comboFNF4.FormattingEnabled = true;
|
||||||
|
comboFNF4.Location = new Point(189, 213);
|
||||||
|
comboFNF4.Name = "comboFNF4";
|
||||||
|
comboFNF4.Size = new Size(312, 40);
|
||||||
|
comboFNF4.TabIndex = 7;
|
||||||
|
//
|
||||||
|
// textFNF4
|
||||||
|
//
|
||||||
|
textFNF4.Location = new Point(541, 213);
|
||||||
|
textFNF4.Name = "textFNF4";
|
||||||
|
textFNF4.PlaceholderText = "action";
|
||||||
|
textFNF4.Size = new Size(346, 39);
|
||||||
|
textFNF4.TabIndex = 8;
|
||||||
|
//
|
||||||
|
// comboFNC
|
||||||
|
//
|
||||||
|
comboFNC.BorderColor = Color.White;
|
||||||
|
comboFNC.ButtonColor = Color.FromArgb(255, 255, 255);
|
||||||
|
comboFNC.FormattingEnabled = true;
|
||||||
|
comboFNC.Location = new Point(189, 261);
|
||||||
|
comboFNC.Name = "comboFNC";
|
||||||
|
comboFNC.Size = new Size(312, 40);
|
||||||
|
comboFNC.TabIndex = 16;
|
||||||
|
//
|
||||||
|
// textFNC
|
||||||
|
//
|
||||||
|
textFNC.Location = new Point(541, 261);
|
||||||
|
textFNC.Name = "textFNC";
|
||||||
|
textFNC.PlaceholderText = "action";
|
||||||
|
textFNC.Size = new Size(346, 39);
|
||||||
|
textFNC.TabIndex = 17;
|
||||||
|
//
|
||||||
// pictureHelp
|
// pictureHelp
|
||||||
//
|
//
|
||||||
pictureHelp.BackgroundImage = Resources.icons8_help_64;
|
pictureHelp.BackgroundImage = Resources.icons8_help_64;
|
||||||
pictureHelp.BackgroundImageLayout = ImageLayout.Zoom;
|
pictureHelp.BackgroundImageLayout = ImageLayout.Zoom;
|
||||||
pictureHelp.Cursor = Cursors.Hand;
|
pictureHelp.Cursor = Cursors.Hand;
|
||||||
pictureHelp.Location = new Point(906, 51);
|
pictureHelp.Location = new Point(912, 51);
|
||||||
pictureHelp.Name = "pictureHelp";
|
pictureHelp.Name = "pictureHelp";
|
||||||
pictureHelp.Size = new Size(32, 32);
|
pictureHelp.Size = new Size(32, 32);
|
||||||
pictureHelp.TabIndex = 9;
|
pictureHelp.TabIndex = 9;
|
||||||
@@ -303,7 +339,7 @@ namespace GHelper
|
|||||||
groupLight.Controls.Add(panelXMG);
|
groupLight.Controls.Add(panelXMG);
|
||||||
groupLight.Controls.Add(tableBacklight);
|
groupLight.Controls.Add(tableBacklight);
|
||||||
groupLight.Dock = DockStyle.Top;
|
groupLight.Dock = DockStyle.Top;
|
||||||
groupLight.Location = new Point(10, 334);
|
groupLight.Location = new Point(10, 370);
|
||||||
groupLight.Name = "groupLight";
|
groupLight.Name = "groupLight";
|
||||||
groupLight.Size = new Size(954, 563);
|
groupLight.Size = new Size(954, 563);
|
||||||
groupLight.TabIndex = 1;
|
groupLight.TabIndex = 1;
|
||||||
@@ -326,6 +362,22 @@ namespace GHelper
|
|||||||
panelBacklightExtra.Size = new Size(948, 241);
|
panelBacklightExtra.Size = new Size(948, 241);
|
||||||
panelBacklightExtra.TabIndex = 43;
|
panelBacklightExtra.TabIndex = 43;
|
||||||
//
|
//
|
||||||
|
// numericBacklightPluggedTime
|
||||||
|
//
|
||||||
|
numericBacklightPluggedTime.Location = new Point(655, 181);
|
||||||
|
numericBacklightPluggedTime.Maximum = new decimal(new int[] { 3600, 0, 0, 0 });
|
||||||
|
numericBacklightPluggedTime.Name = "numericBacklightPluggedTime";
|
||||||
|
numericBacklightPluggedTime.Size = new Size(240, 39);
|
||||||
|
numericBacklightPluggedTime.TabIndex = 49;
|
||||||
|
//
|
||||||
|
// labelBacklightTimeoutPlugged
|
||||||
|
//
|
||||||
|
labelBacklightTimeoutPlugged.Location = new Point(13, 183);
|
||||||
|
labelBacklightTimeoutPlugged.Name = "labelBacklightTimeoutPlugged";
|
||||||
|
labelBacklightTimeoutPlugged.Size = new Size(636, 45);
|
||||||
|
labelBacklightTimeoutPlugged.TabIndex = 48;
|
||||||
|
labelBacklightTimeoutPlugged.Text = "Seconds to turn off backlight when plugged";
|
||||||
|
//
|
||||||
// numericBacklightTime
|
// numericBacklightTime
|
||||||
//
|
//
|
||||||
numericBacklightTime.Location = new Point(655, 133);
|
numericBacklightTime.Location = new Point(655, 133);
|
||||||
@@ -667,44 +719,55 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
// groupOther
|
// groupOther
|
||||||
//
|
//
|
||||||
|
groupOther.Controls.Add(checkFnLock);
|
||||||
|
groupOther.Controls.Add(checkGpuApps);
|
||||||
groupOther.Controls.Add(checkAutoApplyWindowsPowerMode);
|
groupOther.Controls.Add(checkAutoApplyWindowsPowerMode);
|
||||||
groupOther.Controls.Add(checkKeyboardAuto);
|
|
||||||
groupOther.Controls.Add(checkUSBC);
|
groupOther.Controls.Add(checkUSBC);
|
||||||
groupOther.Controls.Add(checkNoOverdrive);
|
groupOther.Controls.Add(checkNoOverdrive);
|
||||||
groupOther.Controls.Add(checkTopmost);
|
groupOther.Controls.Add(checkTopmost);
|
||||||
groupOther.Dock = DockStyle.Top;
|
groupOther.Dock = DockStyle.Top;
|
||||||
groupOther.Location = new Point(10, 897);
|
groupOther.Location = new Point(10, 933);
|
||||||
groupOther.Name = "groupOther";
|
groupOther.Name = "groupOther";
|
||||||
groupOther.Size = new Size(954, 276);
|
groupOther.Size = new Size(954, 300);
|
||||||
groupOther.TabIndex = 2;
|
groupOther.TabIndex = 2;
|
||||||
groupOther.TabStop = false;
|
groupOther.TabStop = false;
|
||||||
groupOther.Text = "Other";
|
groupOther.Text = "Other";
|
||||||
//
|
//
|
||||||
|
// checkFnLock
|
||||||
|
//
|
||||||
|
checkFnLock.AutoSize = true;
|
||||||
|
checkFnLock.Location = new Point(25, 44);
|
||||||
|
checkFnLock.MaximumSize = new Size(780, 0);
|
||||||
|
checkFnLock.Name = "checkFnLock";
|
||||||
|
checkFnLock.Size = new Size(397, 36);
|
||||||
|
checkFnLock.TabIndex = 49;
|
||||||
|
checkFnLock.Text = "Process Fn+F hotkeys without Fn";
|
||||||
|
checkFnLock.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// checkGpuApps
|
||||||
|
//
|
||||||
|
checkGpuApps.AutoSize = true;
|
||||||
|
checkGpuApps.Location = new Point(25, 83);
|
||||||
|
checkGpuApps.Name = "checkGpuApps";
|
||||||
|
checkGpuApps.Size = new Size(544, 36);
|
||||||
|
checkGpuApps.TabIndex = 48;
|
||||||
|
checkGpuApps.Text = "Stop all apps using GPU when switching to Eco";
|
||||||
|
checkGpuApps.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
// checkAutoApplyWindowsPowerMode
|
// checkAutoApplyWindowsPowerMode
|
||||||
//
|
//
|
||||||
checkAutoApplyWindowsPowerMode.AutoSize = true;
|
checkAutoApplyWindowsPowerMode.AutoSize = true;
|
||||||
checkAutoApplyWindowsPowerMode.Location = new Point(25, 220);
|
checkAutoApplyWindowsPowerMode.Location = new Point(25, 251);
|
||||||
checkAutoApplyWindowsPowerMode.Name = "checkAutoApplyWindowsPowerMode";
|
checkAutoApplyWindowsPowerMode.Name = "checkAutoApplyWindowsPowerMode";
|
||||||
checkAutoApplyWindowsPowerMode.Size = new Size(416, 36);
|
checkAutoApplyWindowsPowerMode.Size = new Size(416, 36);
|
||||||
checkAutoApplyWindowsPowerMode.TabIndex = 47;
|
checkAutoApplyWindowsPowerMode.TabIndex = 47;
|
||||||
checkAutoApplyWindowsPowerMode.Text = "Auto Adjust Windows Power Mode";
|
checkAutoApplyWindowsPowerMode.Text = "Auto Adjust Windows Power Mode";
|
||||||
checkAutoApplyWindowsPowerMode.UseVisualStyleBackColor = true;
|
checkAutoApplyWindowsPowerMode.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
// checkKeyboardAuto
|
|
||||||
//
|
|
||||||
checkKeyboardAuto.AutoSize = true;
|
|
||||||
checkKeyboardAuto.Location = new Point(25, 40);
|
|
||||||
checkKeyboardAuto.MaximumSize = new Size(780, 0);
|
|
||||||
checkKeyboardAuto.Name = "checkKeyboardAuto";
|
|
||||||
checkKeyboardAuto.Size = new Size(712, 36);
|
|
||||||
checkKeyboardAuto.TabIndex = 46;
|
|
||||||
checkKeyboardAuto.Text = Strings.KeyboardAuto;
|
|
||||||
checkKeyboardAuto.UseVisualStyleBackColor = true;
|
|
||||||
//
|
|
||||||
// checkUSBC
|
// checkUSBC
|
||||||
//
|
//
|
||||||
checkUSBC.AutoSize = true;
|
checkUSBC.AutoSize = true;
|
||||||
checkUSBC.Location = new Point(25, 85);
|
checkUSBC.Location = new Point(25, 125);
|
||||||
checkUSBC.Name = "checkUSBC";
|
checkUSBC.Name = "checkUSBC";
|
||||||
checkUSBC.Size = new Size(659, 36);
|
checkUSBC.Size = new Size(659, 36);
|
||||||
checkUSBC.TabIndex = 4;
|
checkUSBC.TabIndex = 4;
|
||||||
@@ -714,7 +777,7 @@ namespace GHelper
|
|||||||
// checkNoOverdrive
|
// checkNoOverdrive
|
||||||
//
|
//
|
||||||
checkNoOverdrive.AutoSize = true;
|
checkNoOverdrive.AutoSize = true;
|
||||||
checkNoOverdrive.Location = new Point(25, 130);
|
checkNoOverdrive.Location = new Point(25, 167);
|
||||||
checkNoOverdrive.Name = "checkNoOverdrive";
|
checkNoOverdrive.Name = "checkNoOverdrive";
|
||||||
checkNoOverdrive.Size = new Size(307, 36);
|
checkNoOverdrive.Size = new Size(307, 36);
|
||||||
checkNoOverdrive.TabIndex = 3;
|
checkNoOverdrive.TabIndex = 3;
|
||||||
@@ -724,36 +787,20 @@ namespace GHelper
|
|||||||
// checkTopmost
|
// checkTopmost
|
||||||
//
|
//
|
||||||
checkTopmost.AutoSize = true;
|
checkTopmost.AutoSize = true;
|
||||||
checkTopmost.Location = new Point(25, 175);
|
checkTopmost.Location = new Point(25, 209);
|
||||||
checkTopmost.Name = "checkTopmost";
|
checkTopmost.Name = "checkTopmost";
|
||||||
checkTopmost.Size = new Size(390, 36);
|
checkTopmost.Size = new Size(390, 36);
|
||||||
checkTopmost.TabIndex = 1;
|
checkTopmost.TabIndex = 1;
|
||||||
checkTopmost.Text = Strings.WindowTop;
|
checkTopmost.Text = Strings.WindowTop;
|
||||||
checkTopmost.UseVisualStyleBackColor = true;
|
checkTopmost.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
// numericBacklightPluggedTime
|
|
||||||
//
|
|
||||||
numericBacklightPluggedTime.Location = new Point(655, 181);
|
|
||||||
numericBacklightPluggedTime.Maximum = new decimal(new int[] { 3600, 0, 0, 0 });
|
|
||||||
numericBacklightPluggedTime.Name = "numericBacklightPluggedTime";
|
|
||||||
numericBacklightPluggedTime.Size = new Size(240, 39);
|
|
||||||
numericBacklightPluggedTime.TabIndex = 49;
|
|
||||||
//
|
|
||||||
// labelBacklightTimeoutPlugged
|
|
||||||
//
|
|
||||||
labelBacklightTimeoutPlugged.Location = new Point(13, 183);
|
|
||||||
labelBacklightTimeoutPlugged.Name = "labelBacklightTimeoutPlugged";
|
|
||||||
labelBacklightTimeoutPlugged.Size = new Size(636, 45);
|
|
||||||
labelBacklightTimeoutPlugged.TabIndex = 48;
|
|
||||||
labelBacklightTimeoutPlugged.Text = "Seconds to turn off backlight when plugged";
|
|
||||||
//
|
|
||||||
// Extra
|
// Extra
|
||||||
//
|
//
|
||||||
AutoScaleDimensions = new SizeF(13F, 32F);
|
AutoScaleDimensions = new SizeF(13F, 32F);
|
||||||
AutoScaleMode = AutoScaleMode.Font;
|
AutoScaleMode = AutoScaleMode.Font;
|
||||||
AutoSize = true;
|
AutoSize = true;
|
||||||
AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||||
ClientSize = new Size(974, 1131);
|
ClientSize = new Size(974, 1247);
|
||||||
Controls.Add(groupOther);
|
Controls.Add(groupOther);
|
||||||
Controls.Add(groupLight);
|
Controls.Add(groupLight);
|
||||||
Controls.Add(groupBindings);
|
Controls.Add(groupBindings);
|
||||||
@@ -775,6 +822,7 @@ namespace GHelper
|
|||||||
groupLight.PerformLayout();
|
groupLight.PerformLayout();
|
||||||
panelBacklightExtra.ResumeLayout(false);
|
panelBacklightExtra.ResumeLayout(false);
|
||||||
panelBacklightExtra.PerformLayout();
|
panelBacklightExtra.PerformLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)numericBacklightPluggedTime).EndInit();
|
||||||
((System.ComponentModel.ISupportInitialize)numericBacklightTime).EndInit();
|
((System.ComponentModel.ISupportInitialize)numericBacklightTime).EndInit();
|
||||||
((System.ComponentModel.ISupportInitialize)trackBrightness).EndInit();
|
((System.ComponentModel.ISupportInitialize)trackBrightness).EndInit();
|
||||||
panelXMG.ResumeLayout(false);
|
panelXMG.ResumeLayout(false);
|
||||||
@@ -782,7 +830,6 @@ namespace GHelper
|
|||||||
tableBacklight.ResumeLayout(false);
|
tableBacklight.ResumeLayout(false);
|
||||||
groupOther.ResumeLayout(false);
|
groupOther.ResumeLayout(false);
|
||||||
groupOther.PerformLayout();
|
groupOther.PerformLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)numericBacklightPluggedTime).EndInit();
|
|
||||||
ResumeLayout(false);
|
ResumeLayout(false);
|
||||||
PerformLayout();
|
PerformLayout();
|
||||||
}
|
}
|
||||||
@@ -835,7 +882,6 @@ namespace GHelper
|
|||||||
private CheckBox checkXMG;
|
private CheckBox checkXMG;
|
||||||
private Label labelBacklightTimeout;
|
private Label labelBacklightTimeout;
|
||||||
private NumericUpDown numericBacklightTime;
|
private NumericUpDown numericBacklightTime;
|
||||||
private CheckBox checkKeyboardAuto;
|
|
||||||
private CheckBox checkAutoApplyWindowsPowerMode;
|
private CheckBox checkAutoApplyWindowsPowerMode;
|
||||||
private TableLayoutPanel tableKeys;
|
private TableLayoutPanel tableKeys;
|
||||||
private Label labelM1;
|
private Label labelM1;
|
||||||
@@ -846,5 +892,10 @@ namespace GHelper
|
|||||||
private TextBox textM1;
|
private TextBox textM1;
|
||||||
private NumericUpDown numericBacklightPluggedTime;
|
private NumericUpDown numericBacklightPluggedTime;
|
||||||
private Label labelBacklightTimeoutPlugged;
|
private Label labelBacklightTimeoutPlugged;
|
||||||
|
private CheckBox checkGpuApps;
|
||||||
|
private CheckBox checkFnLock;
|
||||||
|
private Label labelFNC;
|
||||||
|
private RComboBox comboFNC;
|
||||||
|
private TextBox textFNC;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
47
app/Extra.cs
47
app/Extra.cs
@@ -1,4 +1,5 @@
|
|||||||
using CustomControls;
|
using CustomControls;
|
||||||
|
using Microsoft.VisualBasic.Devices;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
|
|
||||||
namespace GHelper
|
namespace GHelper
|
||||||
@@ -16,6 +17,7 @@ namespace GHelper
|
|||||||
{"performance", Properties.Strings.PerformanceMode},
|
{"performance", Properties.Strings.PerformanceMode},
|
||||||
{"screen", Properties.Strings.ToggleScreen},
|
{"screen", Properties.Strings.ToggleScreen},
|
||||||
{"miniled", Properties.Strings.ToggleMiniled},
|
{"miniled", Properties.Strings.ToggleMiniled},
|
||||||
|
{"fnlock", Properties.Strings.ToggleFnLock},
|
||||||
{"custom", Properties.Strings.Custom}
|
{"custom", Properties.Strings.Custom}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -40,6 +42,10 @@ namespace GHelper
|
|||||||
customActions[""] = Properties.Strings.ToggleAura;
|
customActions[""] = Properties.Strings.ToggleAura;
|
||||||
customActions.Remove("aura");
|
customActions.Remove("aura");
|
||||||
break;
|
break;
|
||||||
|
case "fnc":
|
||||||
|
customActions[""] = Properties.Strings.ToggleFnLock;
|
||||||
|
customActions.Remove("fnlock");
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
combo.DropDownStyle = ComboBoxStyle.DropDownList;
|
combo.DropDownStyle = ComboBoxStyle.DropDownList;
|
||||||
@@ -88,17 +94,19 @@ namespace GHelper
|
|||||||
labelBacklightTimeout.Text = Properties.Strings.BacklightTimeout;
|
labelBacklightTimeout.Text = Properties.Strings.BacklightTimeout;
|
||||||
labelBacklightTimeoutPlugged.Text = Properties.Strings.BacklightTimeoutPlugged;
|
labelBacklightTimeoutPlugged.Text = Properties.Strings.BacklightTimeoutPlugged;
|
||||||
|
|
||||||
checkKeyboardAuto.Text = Properties.Strings.KeyboardAuto;
|
|
||||||
checkNoOverdrive.Text = Properties.Strings.DisableOverdrive;
|
checkNoOverdrive.Text = Properties.Strings.DisableOverdrive;
|
||||||
checkTopmost.Text = Properties.Strings.WindowTop;
|
checkTopmost.Text = Properties.Strings.WindowTop;
|
||||||
checkUSBC.Text = Properties.Strings.OptimizedUSBC;
|
checkUSBC.Text = Properties.Strings.OptimizedUSBC;
|
||||||
checkAutoApplyWindowsPowerMode.Text = Properties.Strings.ApplyWindowsPowerPlan;
|
checkAutoApplyWindowsPowerMode.Text = Properties.Strings.ApplyWindowsPowerPlan;
|
||||||
|
checkFnLock.Text = Properties.Strings.FnLock;
|
||||||
|
|
||||||
labelBacklight.Text = Properties.Strings.Keyboard;
|
labelBacklight.Text = Properties.Strings.Keyboard;
|
||||||
labelBacklightBar.Text = Properties.Strings.Lightbar;
|
labelBacklightBar.Text = Properties.Strings.Lightbar;
|
||||||
labelBacklightLid.Text = Properties.Strings.Lid;
|
labelBacklightLid.Text = Properties.Strings.Lid;
|
||||||
labelBacklightLogo.Text = Properties.Strings.Logo;
|
labelBacklightLogo.Text = Properties.Strings.Logo;
|
||||||
|
|
||||||
|
checkGpuApps.Text = Properties.Strings.KillGpuApps;
|
||||||
|
|
||||||
Text = Properties.Strings.ExtraSettings;
|
Text = Properties.Strings.ExtraSettings;
|
||||||
|
|
||||||
InitTheme();
|
InitTheme();
|
||||||
@@ -108,6 +116,7 @@ namespace GHelper
|
|||||||
SetKeyCombo(comboM3, textM3, "m3");
|
SetKeyCombo(comboM3, textM3, "m3");
|
||||||
SetKeyCombo(comboM4, textM4, "m4");
|
SetKeyCombo(comboM4, textM4, "m4");
|
||||||
SetKeyCombo(comboFNF4, textFNF4, "fnf4");
|
SetKeyCombo(comboFNF4, textFNF4, "fnf4");
|
||||||
|
SetKeyCombo(comboFNC, textFNC, "fnc");
|
||||||
|
|
||||||
Shown += Keyboard_Shown;
|
Shown += Keyboard_Shown;
|
||||||
|
|
||||||
@@ -189,9 +198,6 @@ namespace GHelper
|
|||||||
checkTopmost.Checked = (AppConfig.getConfig("topmost") == 1);
|
checkTopmost.Checked = (AppConfig.getConfig("topmost") == 1);
|
||||||
checkTopmost.CheckedChanged += CheckTopmost_CheckedChanged; ;
|
checkTopmost.CheckedChanged += CheckTopmost_CheckedChanged; ;
|
||||||
|
|
||||||
checkKeyboardAuto.Checked = (AppConfig.getConfig("keyboard_auto") == 1);
|
|
||||||
checkKeyboardAuto.CheckedChanged += CheckKeyboardAuto_CheckedChanged;
|
|
||||||
|
|
||||||
checkNoOverdrive.Checked = (AppConfig.getConfig("no_overdrive") == 1);
|
checkNoOverdrive.Checked = (AppConfig.getConfig("no_overdrive") == 1);
|
||||||
checkNoOverdrive.CheckedChanged += CheckNoOverdrive_CheckedChanged;
|
checkNoOverdrive.CheckedChanged += CheckNoOverdrive_CheckedChanged;
|
||||||
|
|
||||||
@@ -201,10 +207,7 @@ namespace GHelper
|
|||||||
checkAutoApplyWindowsPowerMode.Checked = (AppConfig.getConfig("auto_apply_power_plan") != 0);
|
checkAutoApplyWindowsPowerMode.Checked = (AppConfig.getConfig("auto_apply_power_plan") != 0);
|
||||||
checkAutoApplyWindowsPowerMode.CheckedChanged += checkAutoApplyWindowsPowerMode_CheckedChanged;
|
checkAutoApplyWindowsPowerMode.CheckedChanged += checkAutoApplyWindowsPowerMode_CheckedChanged;
|
||||||
|
|
||||||
int kb_brightness = AppConfig.getConfig("keyboard_brightness");
|
trackBrightness.Value = InputDispatcher.GetBacklight();
|
||||||
trackBrightness.Value = (kb_brightness >= 0 && kb_brightness <= 3) ? kb_brightness : 3;
|
|
||||||
|
|
||||||
pictureHelp.Click += PictureHelp_Click;
|
|
||||||
trackBrightness.Scroll += TrackBrightness_Scroll;
|
trackBrightness.Scroll += TrackBrightness_Scroll;
|
||||||
|
|
||||||
panelXMG.Visible = (Program.acpi.DeviceGet(AsusACPI.GPUXGConnected) == 1);
|
panelXMG.Visible = (Program.acpi.DeviceGet(AsusACPI.GPUXGConnected) == 1);
|
||||||
@@ -217,6 +220,27 @@ namespace GHelper
|
|||||||
numericBacklightTime.ValueChanged += NumericBacklightTime_ValueChanged;
|
numericBacklightTime.ValueChanged += NumericBacklightTime_ValueChanged;
|
||||||
numericBacklightPluggedTime.ValueChanged += NumericBacklightTime_ValueChanged;
|
numericBacklightPluggedTime.ValueChanged += NumericBacklightTime_ValueChanged;
|
||||||
|
|
||||||
|
checkGpuApps.Checked = AppConfig.isConfig("kill_gpu_apps");
|
||||||
|
checkGpuApps.CheckedChanged += CheckGpuApps_CheckedChanged;
|
||||||
|
|
||||||
|
checkFnLock.Checked = AppConfig.isConfig("fn_lock");
|
||||||
|
checkFnLock.CheckedChanged += CheckFnLock_CheckedChanged; ;
|
||||||
|
|
||||||
|
pictureHelp.Click += PictureHelp_Click;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CheckFnLock_CheckedChanged(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
int fnLock = checkFnLock.Checked ? 1 : 0;
|
||||||
|
AppConfig.setConfig("fn_lock", fnLock);
|
||||||
|
Program.acpi.DeviceSet(AsusACPI.FnLock, (fnLock == 1) ? 0 : 1, "FnLock");
|
||||||
|
|
||||||
|
Program.inputDispatcher.RegisterKeys();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CheckGpuApps_CheckedChanged(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
AppConfig.setConfig("kill_gpu_apps", (checkGpuApps.Checked ? 1 : 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void NumericBacklightTime_ValueChanged(object? sender, EventArgs e)
|
private void NumericBacklightTime_ValueChanged(object? sender, EventArgs e)
|
||||||
@@ -240,7 +264,8 @@ namespace GHelper
|
|||||||
private void TrackBrightness_Scroll(object? sender, EventArgs e)
|
private void TrackBrightness_Scroll(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
AppConfig.setConfig("keyboard_brightness", trackBrightness.Value);
|
AppConfig.setConfig("keyboard_brightness", trackBrightness.Value);
|
||||||
AsusUSB.ApplyBrightness(trackBrightness.Value);
|
AppConfig.setConfig("keyboard_brightness_ac", trackBrightness.Value);
|
||||||
|
AsusUSB.ApplyBrightness(trackBrightness.Value, "Slider");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void PictureHelp_Click(object? sender, EventArgs e)
|
private void PictureHelp_Click(object? sender, EventArgs e)
|
||||||
@@ -254,10 +279,6 @@ namespace GHelper
|
|||||||
Program.settingsForm.AutoScreen(true);
|
Program.settingsForm.AutoScreen(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void CheckKeyboardAuto_CheckedChanged(object? sender, EventArgs e)
|
|
||||||
{
|
|
||||||
AppConfig.setConfig("keyboard_auto", (checkKeyboardAuto.Checked ? 1 : 0));
|
|
||||||
}
|
|
||||||
|
|
||||||
private void CheckTopmost_CheckedChanged(object? sender, EventArgs e)
|
private void CheckTopmost_CheckedChanged(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
|||||||
368
app/Fans.Designer.cs
generated
368
app/Fans.Designer.cs
generated
@@ -31,14 +31,14 @@ namespace GHelper
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private void InitializeComponent()
|
private void InitializeComponent()
|
||||||
{
|
{
|
||||||
ChartArea chartArea9 = new ChartArea();
|
ChartArea chartArea5 = new ChartArea();
|
||||||
Title title9 = new Title();
|
Title title5 = new Title();
|
||||||
ChartArea chartArea10 = new ChartArea();
|
ChartArea chartArea6 = new ChartArea();
|
||||||
Title title10 = new Title();
|
Title title6 = new Title();
|
||||||
ChartArea chartArea11 = new ChartArea();
|
ChartArea chartArea7 = new ChartArea();
|
||||||
Title title11 = new Title();
|
Title title7 = new Title();
|
||||||
ChartArea chartArea12 = new ChartArea();
|
ChartArea chartArea8 = new ChartArea();
|
||||||
Title title12 = new Title();
|
Title title8 = new Title();
|
||||||
panelFans = new Panel();
|
panelFans = new Panel();
|
||||||
labelTip = new Label();
|
labelTip = new Label();
|
||||||
tableFanCharts = new TableLayoutPanel();
|
tableFanCharts = new TableLayoutPanel();
|
||||||
@@ -60,14 +60,18 @@ namespace GHelper
|
|||||||
panelApplyPower = new Panel();
|
panelApplyPower = new Panel();
|
||||||
checkApplyPower = new RCheckBox();
|
checkApplyPower = new RCheckBox();
|
||||||
labelInfo = new Label();
|
labelInfo = new Label();
|
||||||
panelCPU = new Panel();
|
panelB0 = new Panel();
|
||||||
labelCPU = new Label();
|
labelB0 = new Label();
|
||||||
label2 = new Label();
|
labelLeftB0 = new Label();
|
||||||
trackCPU = new TrackBar();
|
trackB0 = new TrackBar();
|
||||||
panelTotal = new Panel();
|
panelC1 = new Panel();
|
||||||
labelTotal = new Label();
|
labelC1 = new Label();
|
||||||
labelPlatform = new Label();
|
labelLeftC1 = new Label();
|
||||||
trackTotal = new TrackBar();
|
trackC1 = new TrackBar();
|
||||||
|
panelA0 = new Panel();
|
||||||
|
labelA0 = new Label();
|
||||||
|
labelLeftA0 = new Label();
|
||||||
|
trackA0 = new TrackBar();
|
||||||
panelTitleCPU = new Panel();
|
panelTitleCPU = new Panel();
|
||||||
pictureBox1 = new PictureBox();
|
pictureBox1 = new PictureBox();
|
||||||
labelPowerLimits = new Label();
|
labelPowerLimits = new Label();
|
||||||
@@ -103,10 +107,12 @@ namespace GHelper
|
|||||||
panelSliders.SuspendLayout();
|
panelSliders.SuspendLayout();
|
||||||
panelPower.SuspendLayout();
|
panelPower.SuspendLayout();
|
||||||
panelApplyPower.SuspendLayout();
|
panelApplyPower.SuspendLayout();
|
||||||
panelCPU.SuspendLayout();
|
panelB0.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)trackCPU).BeginInit();
|
((System.ComponentModel.ISupportInitialize)trackB0).BeginInit();
|
||||||
panelTotal.SuspendLayout();
|
panelC1.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)trackTotal).BeginInit();
|
((System.ComponentModel.ISupportInitialize)trackC1).BeginInit();
|
||||||
|
panelA0.SuspendLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)trackA0).BeginInit();
|
||||||
panelTitleCPU.SuspendLayout();
|
panelTitleCPU.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)pictureBox1).BeginInit();
|
((System.ComponentModel.ISupportInitialize)pictureBox1).BeginInit();
|
||||||
panelGPU.SuspendLayout();
|
panelGPU.SuspendLayout();
|
||||||
@@ -137,7 +143,7 @@ namespace GHelper
|
|||||||
panelFans.MinimumSize = new Size(815, 0);
|
panelFans.MinimumSize = new Size(815, 0);
|
||||||
panelFans.Name = "panelFans";
|
panelFans.Name = "panelFans";
|
||||||
panelFans.Padding = new Padding(0, 0, 10, 0);
|
panelFans.Padding = new Padding(0, 0, 10, 0);
|
||||||
panelFans.Size = new Size(815, 1189);
|
panelFans.Size = new Size(815, 1310);
|
||||||
panelFans.TabIndex = 12;
|
panelFans.TabIndex = 12;
|
||||||
//
|
//
|
||||||
// labelTip
|
// labelTip
|
||||||
@@ -170,65 +176,65 @@ namespace GHelper
|
|||||||
tableFanCharts.RowStyles.Add(new RowStyle(SizeType.Percent, 25F));
|
tableFanCharts.RowStyles.Add(new RowStyle(SizeType.Percent, 25F));
|
||||||
tableFanCharts.RowStyles.Add(new RowStyle(SizeType.Percent, 25F));
|
tableFanCharts.RowStyles.Add(new RowStyle(SizeType.Percent, 25F));
|
||||||
tableFanCharts.RowStyles.Add(new RowStyle(SizeType.Percent, 25F));
|
tableFanCharts.RowStyles.Add(new RowStyle(SizeType.Percent, 25F));
|
||||||
tableFanCharts.Size = new Size(805, 1007);
|
tableFanCharts.Size = new Size(805, 1128);
|
||||||
tableFanCharts.TabIndex = 36;
|
tableFanCharts.TabIndex = 36;
|
||||||
//
|
//
|
||||||
// chartGPU
|
// chartGPU
|
||||||
//
|
//
|
||||||
chartArea9.Name = "ChartArea1";
|
chartArea5.Name = "ChartArea1";
|
||||||
chartGPU.ChartAreas.Add(chartArea9);
|
chartGPU.ChartAreas.Add(chartArea5);
|
||||||
chartGPU.Dock = DockStyle.Fill;
|
chartGPU.Dock = DockStyle.Fill;
|
||||||
chartGPU.Location = new Point(12, 259);
|
chartGPU.Location = new Point(12, 289);
|
||||||
chartGPU.Margin = new Padding(2, 10, 2, 10);
|
chartGPU.Margin = new Padding(2, 10, 2, 10);
|
||||||
chartGPU.Name = "chartGPU";
|
chartGPU.Name = "chartGPU";
|
||||||
chartGPU.Size = new Size(781, 229);
|
chartGPU.Size = new Size(781, 259);
|
||||||
chartGPU.TabIndex = 17;
|
chartGPU.TabIndex = 17;
|
||||||
chartGPU.Text = "chartGPU";
|
chartGPU.Text = "chartGPU";
|
||||||
title9.Name = "Title1";
|
title5.Name = "Title1";
|
||||||
chartGPU.Titles.Add(title9);
|
chartGPU.Titles.Add(title5);
|
||||||
//
|
//
|
||||||
// chartCPU
|
// chartCPU
|
||||||
//
|
//
|
||||||
chartArea10.Name = "ChartArea1";
|
chartArea6.Name = "ChartArea1";
|
||||||
chartCPU.ChartAreas.Add(chartArea10);
|
chartCPU.ChartAreas.Add(chartArea6);
|
||||||
chartCPU.Dock = DockStyle.Fill;
|
chartCPU.Dock = DockStyle.Fill;
|
||||||
chartCPU.Location = new Point(12, 10);
|
chartCPU.Location = new Point(12, 10);
|
||||||
chartCPU.Margin = new Padding(2, 10, 2, 10);
|
chartCPU.Margin = new Padding(2, 10, 2, 10);
|
||||||
chartCPU.Name = "chartCPU";
|
chartCPU.Name = "chartCPU";
|
||||||
chartCPU.Size = new Size(781, 229);
|
chartCPU.Size = new Size(781, 259);
|
||||||
chartCPU.TabIndex = 14;
|
chartCPU.TabIndex = 14;
|
||||||
chartCPU.Text = "chartCPU";
|
chartCPU.Text = "chartCPU";
|
||||||
title10.Name = "Title1";
|
title6.Name = "Title1";
|
||||||
chartCPU.Titles.Add(title10);
|
chartCPU.Titles.Add(title6);
|
||||||
//
|
//
|
||||||
// chartXGM
|
// chartXGM
|
||||||
//
|
//
|
||||||
chartArea11.Name = "ChartAreaXGM";
|
chartArea7.Name = "ChartAreaXGM";
|
||||||
chartXGM.ChartAreas.Add(chartArea11);
|
chartXGM.ChartAreas.Add(chartArea7);
|
||||||
chartXGM.Dock = DockStyle.Fill;
|
chartXGM.Dock = DockStyle.Fill;
|
||||||
chartXGM.Location = new Point(12, 757);
|
chartXGM.Location = new Point(12, 847);
|
||||||
chartXGM.Margin = new Padding(2, 10, 2, 10);
|
chartXGM.Margin = new Padding(2, 10, 2, 10);
|
||||||
chartXGM.Name = "chartXGM";
|
chartXGM.Name = "chartXGM";
|
||||||
chartXGM.Size = new Size(781, 230);
|
chartXGM.Size = new Size(781, 261);
|
||||||
chartXGM.TabIndex = 14;
|
chartXGM.TabIndex = 14;
|
||||||
chartXGM.Text = "chartXGM";
|
chartXGM.Text = "chartXGM";
|
||||||
title11.Name = "Title4";
|
title7.Name = "Title4";
|
||||||
chartXGM.Titles.Add(title11);
|
chartXGM.Titles.Add(title7);
|
||||||
chartXGM.Visible = false;
|
chartXGM.Visible = false;
|
||||||
//
|
//
|
||||||
// chartMid
|
// chartMid
|
||||||
//
|
//
|
||||||
chartArea12.Name = "ChartArea3";
|
chartArea8.Name = "ChartArea3";
|
||||||
chartMid.ChartAreas.Add(chartArea12);
|
chartMid.ChartAreas.Add(chartArea8);
|
||||||
chartMid.Dock = DockStyle.Fill;
|
chartMid.Dock = DockStyle.Fill;
|
||||||
chartMid.Location = new Point(12, 508);
|
chartMid.Location = new Point(12, 568);
|
||||||
chartMid.Margin = new Padding(2, 10, 2, 10);
|
chartMid.Margin = new Padding(2, 10, 2, 10);
|
||||||
chartMid.Name = "chartMid";
|
chartMid.Name = "chartMid";
|
||||||
chartMid.Size = new Size(781, 229);
|
chartMid.Size = new Size(781, 259);
|
||||||
chartMid.TabIndex = 14;
|
chartMid.TabIndex = 14;
|
||||||
chartMid.Text = "chartMid";
|
chartMid.Text = "chartMid";
|
||||||
title12.Name = "Title3";
|
title8.Name = "Title3";
|
||||||
chartMid.Titles.Add(title12);
|
chartMid.Titles.Add(title8);
|
||||||
chartMid.Visible = false;
|
chartMid.Visible = false;
|
||||||
//
|
//
|
||||||
// panelTitleFans
|
// panelTitleFans
|
||||||
@@ -295,7 +301,7 @@ namespace GHelper
|
|||||||
panelApplyFans.Controls.Add(checkApplyFans);
|
panelApplyFans.Controls.Add(checkApplyFans);
|
||||||
panelApplyFans.Controls.Add(buttonReset);
|
panelApplyFans.Controls.Add(buttonReset);
|
||||||
panelApplyFans.Dock = DockStyle.Bottom;
|
panelApplyFans.Dock = DockStyle.Bottom;
|
||||||
panelApplyFans.Location = new Point(0, 1073);
|
panelApplyFans.Location = new Point(0, 1194);
|
||||||
panelApplyFans.Name = "panelApplyFans";
|
panelApplyFans.Name = "panelApplyFans";
|
||||||
panelApplyFans.Size = new Size(805, 116);
|
panelApplyFans.Size = new Size(805, 116);
|
||||||
panelApplyFans.TabIndex = 43;
|
panelApplyFans.TabIndex = 43;
|
||||||
@@ -337,7 +343,7 @@ namespace GHelper
|
|||||||
buttonReset.Margin = new Padding(4, 2, 4, 2);
|
buttonReset.Margin = new Padding(4, 2, 4, 2);
|
||||||
buttonReset.Name = "buttonReset";
|
buttonReset.Name = "buttonReset";
|
||||||
buttonReset.Secondary = true;
|
buttonReset.Secondary = true;
|
||||||
buttonReset.Size = new Size(232, 54);
|
buttonReset.Size = new Size(274, 54);
|
||||||
buttonReset.TabIndex = 18;
|
buttonReset.TabIndex = 18;
|
||||||
buttonReset.Text = Properties.Strings.FactoryDefaults;
|
buttonReset.Text = Properties.Strings.FactoryDefaults;
|
||||||
buttonReset.UseVisualStyleBackColor = false;
|
buttonReset.UseVisualStyleBackColor = false;
|
||||||
@@ -351,7 +357,7 @@ namespace GHelper
|
|||||||
panelSliders.Margin = new Padding(0);
|
panelSliders.Margin = new Padding(0);
|
||||||
panelSliders.Name = "panelSliders";
|
panelSliders.Name = "panelSliders";
|
||||||
panelSliders.Padding = new Padding(10, 0, 0, 0);
|
panelSliders.Padding = new Padding(10, 0, 0, 0);
|
||||||
panelSliders.Size = new Size(533, 1189);
|
panelSliders.Size = new Size(533, 1310);
|
||||||
panelSliders.TabIndex = 13;
|
panelSliders.TabIndex = 13;
|
||||||
//
|
//
|
||||||
// panelPower
|
// panelPower
|
||||||
@@ -360,20 +366,21 @@ namespace GHelper
|
|||||||
panelPower.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
panelPower.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||||
panelPower.Controls.Add(panelApplyPower);
|
panelPower.Controls.Add(panelApplyPower);
|
||||||
panelPower.Controls.Add(labelInfo);
|
panelPower.Controls.Add(labelInfo);
|
||||||
panelPower.Controls.Add(panelCPU);
|
panelPower.Controls.Add(panelB0);
|
||||||
panelPower.Controls.Add(panelTotal);
|
panelPower.Controls.Add(panelC1);
|
||||||
|
panelPower.Controls.Add(panelA0);
|
||||||
panelPower.Controls.Add(panelTitleCPU);
|
panelPower.Controls.Add(panelTitleCPU);
|
||||||
panelPower.Dock = DockStyle.Fill;
|
panelPower.Dock = DockStyle.Fill;
|
||||||
panelPower.Location = new Point(10, 652);
|
panelPower.Location = new Point(10, 652);
|
||||||
panelPower.Name = "panelPower";
|
panelPower.Name = "panelPower";
|
||||||
panelPower.Size = new Size(523, 537);
|
panelPower.Size = new Size(523, 658);
|
||||||
panelPower.TabIndex = 43;
|
panelPower.TabIndex = 43;
|
||||||
//
|
//
|
||||||
// panelApplyPower
|
// panelApplyPower
|
||||||
//
|
//
|
||||||
panelApplyPower.Controls.Add(checkApplyPower);
|
panelApplyPower.Controls.Add(checkApplyPower);
|
||||||
panelApplyPower.Dock = DockStyle.Bottom;
|
panelApplyPower.Dock = DockStyle.Bottom;
|
||||||
panelApplyPower.Location = new Point(0, 447);
|
panelApplyPower.Location = new Point(0, 568);
|
||||||
panelApplyPower.Name = "panelApplyPower";
|
panelApplyPower.Name = "panelApplyPower";
|
||||||
panelApplyPower.Padding = new Padding(10);
|
panelApplyPower.Padding = new Padding(10);
|
||||||
panelApplyPower.Size = new Size(523, 90);
|
panelApplyPower.Size = new Size(523, 90);
|
||||||
@@ -396,7 +403,7 @@ namespace GHelper
|
|||||||
// labelInfo
|
// labelInfo
|
||||||
//
|
//
|
||||||
labelInfo.Dock = DockStyle.Top;
|
labelInfo.Dock = DockStyle.Top;
|
||||||
labelInfo.Location = new Point(0, 342);
|
labelInfo.Location = new Point(0, 482);
|
||||||
labelInfo.Margin = new Padding(4, 0, 4, 0);
|
labelInfo.Margin = new Padding(4, 0, 4, 0);
|
||||||
labelInfo.Name = "labelInfo";
|
labelInfo.Name = "labelInfo";
|
||||||
labelInfo.Padding = new Padding(5);
|
labelInfo.Padding = new Padding(5);
|
||||||
@@ -404,105 +411,155 @@ namespace GHelper
|
|||||||
labelInfo.TabIndex = 43;
|
labelInfo.TabIndex = 43;
|
||||||
labelInfo.Text = "Experimental Feature";
|
labelInfo.Text = "Experimental Feature";
|
||||||
//
|
//
|
||||||
// panelCPU
|
// panelB0
|
||||||
//
|
//
|
||||||
panelCPU.AutoSize = true;
|
panelB0.AutoSize = true;
|
||||||
panelCPU.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
panelB0.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||||
panelCPU.Controls.Add(labelCPU);
|
panelB0.Controls.Add(labelB0);
|
||||||
panelCPU.Controls.Add(label2);
|
panelB0.Controls.Add(labelLeftB0);
|
||||||
panelCPU.Controls.Add(trackCPU);
|
panelB0.Controls.Add(trackB0);
|
||||||
panelCPU.Dock = DockStyle.Top;
|
panelB0.Dock = DockStyle.Top;
|
||||||
panelCPU.Location = new Point(0, 206);
|
panelB0.Location = new Point(0, 346);
|
||||||
panelCPU.Margin = new Padding(4);
|
panelB0.Margin = new Padding(4);
|
||||||
panelCPU.Name = "panelCPU";
|
panelB0.Name = "panelB0";
|
||||||
panelCPU.Size = new Size(523, 136);
|
panelB0.Size = new Size(523, 136);
|
||||||
panelCPU.TabIndex = 41;
|
panelB0.TabIndex = 41;
|
||||||
//
|
//
|
||||||
// labelCPU
|
// labelB0
|
||||||
//
|
//
|
||||||
labelCPU.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
labelB0.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
||||||
labelCPU.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
labelB0.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||||
labelCPU.Location = new Point(398, 8);
|
labelB0.Location = new Point(398, 8);
|
||||||
labelCPU.Margin = new Padding(4, 0, 4, 0);
|
labelB0.Margin = new Padding(4, 0, 4, 0);
|
||||||
labelCPU.Name = "labelCPU";
|
labelB0.Name = "labelB0";
|
||||||
labelCPU.Size = new Size(120, 32);
|
labelB0.Size = new Size(120, 32);
|
||||||
labelCPU.TabIndex = 13;
|
labelB0.TabIndex = 13;
|
||||||
labelCPU.Text = "CPU";
|
labelB0.Text = "CPU";
|
||||||
labelCPU.TextAlign = ContentAlignment.TopRight;
|
labelB0.TextAlign = ContentAlignment.TopRight;
|
||||||
//
|
//
|
||||||
// label2
|
// labelLeftB0
|
||||||
//
|
//
|
||||||
label2.AutoSize = true;
|
labelLeftB0.AutoSize = true;
|
||||||
label2.Location = new Point(10, 8);
|
labelLeftB0.Location = new Point(10, 8);
|
||||||
label2.Margin = new Padding(4, 0, 4, 0);
|
labelLeftB0.Margin = new Padding(4, 0, 4, 0);
|
||||||
label2.Name = "label2";
|
labelLeftB0.Name = "labelLeftB0";
|
||||||
label2.Size = new Size(58, 32);
|
labelLeftB0.Size = new Size(58, 32);
|
||||||
label2.TabIndex = 12;
|
labelLeftB0.TabIndex = 12;
|
||||||
label2.Text = "CPU";
|
labelLeftB0.Text = "CPU";
|
||||||
//
|
//
|
||||||
// trackCPU
|
// trackB0
|
||||||
//
|
//
|
||||||
trackCPU.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
|
trackB0.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
|
||||||
trackCPU.Location = new Point(6, 44);
|
trackB0.Location = new Point(6, 44);
|
||||||
trackCPU.Margin = new Padding(4, 2, 4, 2);
|
trackB0.Margin = new Padding(4, 2, 4, 2);
|
||||||
trackCPU.Maximum = 85;
|
trackB0.Maximum = 85;
|
||||||
trackCPU.Minimum = 5;
|
trackB0.Minimum = 5;
|
||||||
trackCPU.Name = "trackCPU";
|
trackB0.Name = "trackB0";
|
||||||
trackCPU.Size = new Size(513, 90);
|
trackB0.Size = new Size(513, 90);
|
||||||
trackCPU.TabIndex = 11;
|
trackB0.TabIndex = 11;
|
||||||
trackCPU.TickFrequency = 5;
|
trackB0.TickFrequency = 5;
|
||||||
trackCPU.TickStyle = TickStyle.TopLeft;
|
trackB0.TickStyle = TickStyle.TopLeft;
|
||||||
trackCPU.Value = 80;
|
trackB0.Value = 80;
|
||||||
//
|
//
|
||||||
// panelTotal
|
// panelC1
|
||||||
//
|
//
|
||||||
panelTotal.AutoSize = true;
|
panelC1.AutoSize = true;
|
||||||
panelTotal.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
panelC1.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||||
panelTotal.Controls.Add(labelTotal);
|
panelC1.Controls.Add(labelC1);
|
||||||
panelTotal.Controls.Add(labelPlatform);
|
panelC1.Controls.Add(labelLeftC1);
|
||||||
panelTotal.Controls.Add(trackTotal);
|
panelC1.Controls.Add(trackC1);
|
||||||
panelTotal.Dock = DockStyle.Top;
|
panelC1.Dock = DockStyle.Top;
|
||||||
panelTotal.Location = new Point(0, 66);
|
panelC1.Location = new Point(0, 206);
|
||||||
panelTotal.Margin = new Padding(4);
|
panelC1.Margin = new Padding(4);
|
||||||
panelTotal.Name = "panelTotal";
|
panelC1.Name = "panelC1";
|
||||||
panelTotal.Size = new Size(523, 140);
|
panelC1.Size = new Size(523, 140);
|
||||||
panelTotal.TabIndex = 40;
|
panelC1.TabIndex = 45;
|
||||||
//
|
//
|
||||||
// labelTotal
|
// labelC1
|
||||||
//
|
//
|
||||||
labelTotal.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
labelC1.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
||||||
labelTotal.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
labelC1.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||||
labelTotal.Location = new Point(396, 10);
|
labelC1.Location = new Point(396, 8);
|
||||||
labelTotal.Margin = new Padding(4, 0, 4, 0);
|
labelC1.Margin = new Padding(4, 0, 4, 0);
|
||||||
labelTotal.Name = "labelTotal";
|
labelC1.Name = "labelC1";
|
||||||
labelTotal.Size = new Size(122, 32);
|
labelC1.Size = new Size(119, 32);
|
||||||
labelTotal.TabIndex = 12;
|
labelC1.TabIndex = 13;
|
||||||
labelTotal.Text = "Platform";
|
labelC1.Text = "APU";
|
||||||
labelTotal.TextAlign = ContentAlignment.TopRight;
|
labelC1.TextAlign = ContentAlignment.TopRight;
|
||||||
//
|
//
|
||||||
// labelPlatform
|
// labelLeftC1
|
||||||
//
|
//
|
||||||
labelPlatform.AutoSize = true;
|
labelLeftC1.AutoSize = true;
|
||||||
labelPlatform.Location = new Point(10, 10);
|
labelLeftC1.Location = new Point(10, 8);
|
||||||
labelPlatform.Margin = new Padding(4, 0, 4, 0);
|
labelLeftC1.Margin = new Padding(4, 0, 4, 0);
|
||||||
labelPlatform.Name = "labelPlatform";
|
labelLeftC1.Name = "labelLeftC1";
|
||||||
labelPlatform.Size = new Size(104, 32);
|
labelLeftC1.Size = new Size(58, 32);
|
||||||
labelPlatform.TabIndex = 11;
|
labelLeftC1.TabIndex = 12;
|
||||||
labelPlatform.Text = "Platform";
|
labelLeftC1.Text = "APU";
|
||||||
//
|
//
|
||||||
// trackTotal
|
// trackC1
|
||||||
//
|
//
|
||||||
trackTotal.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
|
trackC1.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
|
||||||
trackTotal.Location = new Point(6, 48);
|
trackC1.Location = new Point(6, 48);
|
||||||
trackTotal.Margin = new Padding(4, 2, 4, 2);
|
trackC1.Margin = new Padding(4, 2, 4, 2);
|
||||||
trackTotal.Maximum = 180;
|
trackC1.Maximum = 85;
|
||||||
trackTotal.Minimum = 10;
|
trackC1.Minimum = 5;
|
||||||
trackTotal.Name = "trackTotal";
|
trackC1.Name = "trackC1";
|
||||||
trackTotal.Size = new Size(513, 90);
|
trackC1.Size = new Size(513, 90);
|
||||||
trackTotal.TabIndex = 10;
|
trackC1.TabIndex = 11;
|
||||||
trackTotal.TickFrequency = 5;
|
trackC1.TickFrequency = 5;
|
||||||
trackTotal.TickStyle = TickStyle.TopLeft;
|
trackC1.TickStyle = TickStyle.TopLeft;
|
||||||
trackTotal.Value = 125;
|
trackC1.Value = 80;
|
||||||
|
//
|
||||||
|
// panelA0
|
||||||
|
//
|
||||||
|
panelA0.AutoSize = true;
|
||||||
|
panelA0.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||||
|
panelA0.Controls.Add(labelA0);
|
||||||
|
panelA0.Controls.Add(labelLeftA0);
|
||||||
|
panelA0.Controls.Add(trackA0);
|
||||||
|
panelA0.Dock = DockStyle.Top;
|
||||||
|
panelA0.Location = new Point(0, 66);
|
||||||
|
panelA0.Margin = new Padding(4);
|
||||||
|
panelA0.Name = "panelA0";
|
||||||
|
panelA0.Size = new Size(523, 140);
|
||||||
|
panelA0.TabIndex = 40;
|
||||||
|
//
|
||||||
|
// labelA0
|
||||||
|
//
|
||||||
|
labelA0.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
||||||
|
labelA0.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||||
|
labelA0.Location = new Point(396, 10);
|
||||||
|
labelA0.Margin = new Padding(4, 0, 4, 0);
|
||||||
|
labelA0.Name = "labelA0";
|
||||||
|
labelA0.Size = new Size(122, 32);
|
||||||
|
labelA0.TabIndex = 12;
|
||||||
|
labelA0.Text = "Platform";
|
||||||
|
labelA0.TextAlign = ContentAlignment.TopRight;
|
||||||
|
//
|
||||||
|
// labelLeftA0
|
||||||
|
//
|
||||||
|
labelLeftA0.AutoSize = true;
|
||||||
|
labelLeftA0.Location = new Point(10, 10);
|
||||||
|
labelLeftA0.Margin = new Padding(4, 0, 4, 0);
|
||||||
|
labelLeftA0.Name = "labelLeftA0";
|
||||||
|
labelLeftA0.Size = new Size(104, 32);
|
||||||
|
labelLeftA0.TabIndex = 11;
|
||||||
|
labelLeftA0.Text = "Platform";
|
||||||
|
//
|
||||||
|
// trackA0
|
||||||
|
//
|
||||||
|
trackA0.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
|
||||||
|
trackA0.Location = new Point(6, 48);
|
||||||
|
trackA0.Margin = new Padding(4, 2, 4, 2);
|
||||||
|
trackA0.Maximum = 180;
|
||||||
|
trackA0.Minimum = 10;
|
||||||
|
trackA0.Name = "trackA0";
|
||||||
|
trackA0.Size = new Size(513, 90);
|
||||||
|
trackA0.TabIndex = 10;
|
||||||
|
trackA0.TickFrequency = 5;
|
||||||
|
trackA0.TickStyle = TickStyle.TopLeft;
|
||||||
|
trackA0.Value = 125;
|
||||||
//
|
//
|
||||||
// panelTitleCPU
|
// panelTitleCPU
|
||||||
//
|
//
|
||||||
@@ -785,7 +842,7 @@ namespace GHelper
|
|||||||
AutoScaleMode = AutoScaleMode.Dpi;
|
AutoScaleMode = AutoScaleMode.Dpi;
|
||||||
AutoSize = true;
|
AutoSize = true;
|
||||||
AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||||
ClientSize = new Size(1340, 1189);
|
ClientSize = new Size(1340, 1310);
|
||||||
Controls.Add(panelFans);
|
Controls.Add(panelFans);
|
||||||
Controls.Add(panelSliders);
|
Controls.Add(panelSliders);
|
||||||
Margin = new Padding(4, 2, 4, 2);
|
Margin = new Padding(4, 2, 4, 2);
|
||||||
@@ -816,12 +873,15 @@ namespace GHelper
|
|||||||
panelPower.PerformLayout();
|
panelPower.PerformLayout();
|
||||||
panelApplyPower.ResumeLayout(false);
|
panelApplyPower.ResumeLayout(false);
|
||||||
panelApplyPower.PerformLayout();
|
panelApplyPower.PerformLayout();
|
||||||
panelCPU.ResumeLayout(false);
|
panelB0.ResumeLayout(false);
|
||||||
panelCPU.PerformLayout();
|
panelB0.PerformLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)trackCPU).EndInit();
|
((System.ComponentModel.ISupportInitialize)trackB0).EndInit();
|
||||||
panelTotal.ResumeLayout(false);
|
panelC1.ResumeLayout(false);
|
||||||
panelTotal.PerformLayout();
|
panelC1.PerformLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)trackTotal).EndInit();
|
((System.ComponentModel.ISupportInitialize)trackC1).EndInit();
|
||||||
|
panelA0.ResumeLayout(false);
|
||||||
|
panelA0.PerformLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)trackA0).EndInit();
|
||||||
panelTitleCPU.ResumeLayout(false);
|
panelTitleCPU.ResumeLayout(false);
|
||||||
panelTitleCPU.PerformLayout();
|
panelTitleCPU.PerformLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)pictureBox1).EndInit();
|
((System.ComponentModel.ISupportInitialize)pictureBox1).EndInit();
|
||||||
@@ -857,14 +917,14 @@ namespace GHelper
|
|||||||
private Label labelTip;
|
private Label labelTip;
|
||||||
private Panel panelPower;
|
private Panel panelPower;
|
||||||
private Label labelInfo;
|
private Label labelInfo;
|
||||||
private Panel panelCPU;
|
private Panel panelB0;
|
||||||
private Label labelCPU;
|
private Label labelB0;
|
||||||
private Label label2;
|
private Label labelLeftB0;
|
||||||
private TrackBar trackCPU;
|
private TrackBar trackB0;
|
||||||
private Panel panelTotal;
|
private Panel panelA0;
|
||||||
private Label labelTotal;
|
private Label labelA0;
|
||||||
private Label labelPlatform;
|
private Label labelLeftA0;
|
||||||
private TrackBar trackTotal;
|
private TrackBar trackA0;
|
||||||
private Panel panelTitleCPU;
|
private Panel panelTitleCPU;
|
||||||
private PictureBox pictureBox1;
|
private PictureBox pictureBox1;
|
||||||
private Label labelPowerLimits;
|
private Label labelPowerLimits;
|
||||||
@@ -899,5 +959,9 @@ namespace GHelper
|
|||||||
private RComboBox comboBoost;
|
private RComboBox comboBoost;
|
||||||
private PictureBox picturePerf;
|
private PictureBox picturePerf;
|
||||||
private Label labelFans;
|
private Label labelFans;
|
||||||
|
private Panel panelC1;
|
||||||
|
private Label labelC1;
|
||||||
|
private Label labelLeftC1;
|
||||||
|
private TrackBar trackC1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
93
app/Fans.cs
93
app/Fans.cs
@@ -77,17 +77,22 @@ namespace GHelper
|
|||||||
|
|
||||||
buttonReset.Click += ButtonReset_Click;
|
buttonReset.Click += ButtonReset_Click;
|
||||||
|
|
||||||
trackTotal.Maximum = AsusACPI.MaxTotal;
|
trackA0.Maximum = AsusACPI.MaxTotal;
|
||||||
trackTotal.Minimum = AsusACPI.MinTotal;
|
trackA0.Minimum = AsusACPI.MinTotal;
|
||||||
|
|
||||||
trackCPU.Maximum = AsusACPI.MaxCPU;
|
trackB0.Maximum = AsusACPI.MaxCPU;
|
||||||
trackCPU.Minimum = AsusACPI.MinCPU;
|
trackB0.Minimum = AsusACPI.MinCPU;
|
||||||
|
|
||||||
trackCPU.Scroll += TrackPower_Scroll;
|
trackC1.Maximum = AsusACPI.MaxTotal;
|
||||||
trackTotal.Scroll += TrackPower_Scroll;
|
trackC1.Minimum = AsusACPI.MinTotal;
|
||||||
|
|
||||||
trackCPU.MouseUp += TrackPower_MouseUp;
|
trackC1.Scroll += TrackPower_Scroll;
|
||||||
trackTotal.MouseUp += TrackPower_MouseUp;
|
trackB0.Scroll += TrackPower_Scroll;
|
||||||
|
trackA0.Scroll += TrackPower_Scroll;
|
||||||
|
|
||||||
|
trackC1.MouseUp += TrackPower_MouseUp;
|
||||||
|
trackB0.MouseUp += TrackPower_MouseUp;
|
||||||
|
trackA0.MouseUp += TrackPower_MouseUp;
|
||||||
|
|
||||||
checkApplyFans.Click += CheckApplyFans_Click;
|
checkApplyFans.Click += CheckApplyFans_Click;
|
||||||
checkApplyPower.Click += CheckApplyPower_Click;
|
checkApplyPower.Click += CheckApplyPower_Click;
|
||||||
@@ -140,6 +145,15 @@ namespace GHelper
|
|||||||
|
|
||||||
public void InitGPU(bool readClocks = false)
|
public void InitGPU(bool readClocks = false)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
if (Program.acpi.DeviceGet(AsusACPI.GPUEco) == 1)
|
||||||
|
{
|
||||||
|
gpuVisible = panelGPU.Visible = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (HardwareControl.GpuControl is null) HardwareControl.RecreateGpuControl();
|
||||||
|
|
||||||
if (HardwareControl.GpuControl is not null && HardwareControl.GpuControl.IsNvidia)
|
if (HardwareControl.GpuControl is not null && HardwareControl.GpuControl.IsNvidia)
|
||||||
{
|
{
|
||||||
nvControl = (NvidiaGpuControl)HardwareControl.GpuControl;
|
nvControl = (NvidiaGpuControl)HardwareControl.GpuControl;
|
||||||
@@ -303,7 +317,7 @@ namespace GHelper
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
MinimumSize = new Size(0, Program.settingsForm.Height);
|
Size = MinimumSize = new Size(0, Program.settingsForm.Height);
|
||||||
Height = Program.settingsForm.Height;
|
Height = Program.settingsForm.Height;
|
||||||
Top = Program.settingsForm.Top;
|
Top = Program.settingsForm.Top;
|
||||||
}
|
}
|
||||||
@@ -397,31 +411,45 @@ namespace GHelper
|
|||||||
public void InitPower(bool changed = false)
|
public void InitPower(bool changed = false)
|
||||||
{
|
{
|
||||||
|
|
||||||
bool cpuBmode = (Program.acpi.DeviceGet(AsusACPI.PPT_CPUB0) >= 0); // 2022 model +
|
bool modeA0 = Program.acpi.DeviceGet(AsusACPI.PPT_TotalA0) >= 0;
|
||||||
bool cpuAmode = (Program.acpi.DeviceGet(AsusACPI.PPT_TotalA0) >= 0); // 2021 model +
|
bool modeB0 = Program.acpi.IsAllAmdPPT();
|
||||||
|
bool modeC1 = Program.acpi.DeviceGet(AsusACPI.PPT_APUC1) >= 0;
|
||||||
|
|
||||||
powerVisible = panelPower.Visible = cpuAmode;
|
powerVisible = panelPower.Visible = modeA0;
|
||||||
panelCPU.Visible = cpuBmode;
|
panelB0.Visible = modeB0;
|
||||||
|
|
||||||
// Yes, that's stupid, but Total slider on 2021 model actually adjusts CPU PPT
|
|
||||||
if (!cpuBmode)
|
// All AMD version has B0 but doesn't have C0 (Nvidia GPU) settings
|
||||||
|
if (modeB0)
|
||||||
{
|
{
|
||||||
labelPlatform.Text = "CPU PPT";
|
labelLeftA0.Text = "Platform (CPU + GPU)";
|
||||||
|
labelLeftB0.Text = "CPU";
|
||||||
|
panelC1.Visible = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
labelLeftA0.Text = "CPU Slow (SPL + sPPT)";
|
||||||
|
labelLeftC1.Text = "CPU Fast (fPPT)";
|
||||||
|
panelC1.Visible = modeC1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int limit_total;
|
int limit_total;
|
||||||
int limit_cpu;
|
int limit_cpu;
|
||||||
|
int limit_fast;
|
||||||
|
|
||||||
bool apply = AppConfig.getConfigPerf("auto_apply_power") == 1;
|
bool apply = AppConfig.getConfigPerf("auto_apply_power") == 1;
|
||||||
|
|
||||||
if (changed)
|
if (changed)
|
||||||
{
|
{
|
||||||
limit_total = trackTotal.Value;
|
limit_total = trackA0.Value;
|
||||||
limit_cpu = trackCPU.Value;
|
limit_cpu = trackB0.Value;
|
||||||
|
limit_fast = trackC1.Value;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
limit_total = AppConfig.getConfigPerf("limit_total");
|
limit_total = AppConfig.getConfigPerf("limit_total");
|
||||||
limit_cpu = AppConfig.getConfigPerf("limit_cpu");
|
limit_cpu = AppConfig.getConfigPerf("limit_cpu");
|
||||||
|
limit_fast = AppConfig.getConfigPerf("limit_fast");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (limit_total < 0) limit_total = AsusACPI.DefaultTotal;
|
if (limit_total < 0) limit_total = AsusACPI.DefaultTotal;
|
||||||
@@ -433,15 +461,23 @@ namespace GHelper
|
|||||||
if (limit_cpu < AsusACPI.MinCPU) limit_cpu = AsusACPI.MinCPU;
|
if (limit_cpu < AsusACPI.MinCPU) limit_cpu = AsusACPI.MinCPU;
|
||||||
if (limit_cpu > limit_total) limit_cpu = limit_total;
|
if (limit_cpu > limit_total) limit_cpu = limit_total;
|
||||||
|
|
||||||
trackTotal.Value = limit_total;
|
if (limit_fast < 0) limit_fast = AsusACPI.DefaultTotal;
|
||||||
trackCPU.Value = limit_cpu;
|
if (limit_fast > AsusACPI.MaxTotal) limit_fast = AsusACPI.MaxTotal;
|
||||||
|
if (limit_fast < AsusACPI.MinTotal) limit_fast = AsusACPI.MinTotal;
|
||||||
|
|
||||||
|
trackA0.Value = limit_total;
|
||||||
|
trackB0.Value = limit_cpu;
|
||||||
|
trackC1.Value = limit_fast;
|
||||||
|
|
||||||
checkApplyPower.Checked = apply;
|
checkApplyPower.Checked = apply;
|
||||||
|
|
||||||
labelTotal.Text = trackTotal.Value.ToString() + "W";
|
labelA0.Text = trackA0.Value.ToString() + "W";
|
||||||
labelCPU.Text = trackCPU.Value.ToString() + "W";
|
labelB0.Text = trackB0.Value.ToString() + "W";
|
||||||
|
labelC1.Text = trackC1.Value.ToString() + "W";
|
||||||
|
|
||||||
AppConfig.setConfigPerf("limit_total", limit_total);
|
AppConfig.setConfigPerf("limit_total", limit_total);
|
||||||
AppConfig.setConfigPerf("limit_cpu", limit_cpu);
|
AppConfig.setConfigPerf("limit_cpu", limit_cpu);
|
||||||
|
AppConfig.setConfigPerf("limit_fast", limit_fast);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -466,7 +502,6 @@ namespace GHelper
|
|||||||
chartMid.Visible = true;
|
chartMid.Visible = true;
|
||||||
SetChart(chartMid, AsusFan.Mid);
|
SetChart(chartMid, AsusFan.Mid);
|
||||||
LoadProfile(seriesMid, AsusFan.Mid);
|
LoadProfile(seriesMid, AsusFan.Mid);
|
||||||
MinimumSize = new Size(0, chartCount * 400 + 200);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -481,13 +516,23 @@ namespace GHelper
|
|||||||
chartXGM.Visible = true;
|
chartXGM.Visible = true;
|
||||||
SetChart(chartXGM, AsusFan.XGM);
|
SetChart(chartXGM, AsusFan.XGM);
|
||||||
LoadProfile(seriesXGM, AsusFan.XGM);
|
LoadProfile(seriesXGM, AsusFan.XGM);
|
||||||
MinimumSize = new Size(0, chartCount * 400 + 200);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
AppConfig.setConfig("xgm_fan", 0);
|
AppConfig.setConfig("xgm_fan", 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (chartCount > 2)
|
||||||
|
Size = MinimumSize = new Size(0, (int)(ControlHelper.GetDpiScale(this).Value * (chartCount * 200 + 100)));
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Debug.WriteLine(ex);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
SetChart(chartCPU, AsusFan.CPU);
|
SetChart(chartCPU, AsusFan.CPU);
|
||||||
SetChart(chartGPU, AsusFan.GPU);
|
SetChart(chartGPU, AsusFan.GPU);
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
||||||
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
||||||
<AssemblyVersion>0.70</AssemblyVersion>
|
<AssemblyVersion>0.76</AssemblyVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||||
|
|||||||
@@ -1,12 +1,9 @@
|
|||||||
using NvAPIWrapper.GPU;
|
using NvAPIWrapper.GPU;
|
||||||
using NvAPIWrapper.Native;
|
using NvAPIWrapper.Native;
|
||||||
using NvAPIWrapper.Native.Delegates;
|
|
||||||
using NvAPIWrapper.Native.GPU;
|
using NvAPIWrapper.Native.GPU;
|
||||||
using NvAPIWrapper.Native.GPU.Structures;
|
using NvAPIWrapper.Native.GPU.Structures;
|
||||||
using NvAPIWrapper.Native.Interfaces.GPU;
|
using NvAPIWrapper.Native.Interfaces.GPU;
|
||||||
using System;
|
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Management;
|
|
||||||
using static NvAPIWrapper.Native.GPU.Structures.PerformanceStates20InfoV1;
|
using static NvAPIWrapper.Native.GPU.Structures.PerformanceStates20InfoV1;
|
||||||
|
|
||||||
namespace GHelper.Gpu;
|
namespace GHelper.Gpu;
|
||||||
@@ -35,8 +32,7 @@ public class NvidiaGpuControl : IGpuControl
|
|||||||
|
|
||||||
public int? GetCurrentTemperature()
|
public int? GetCurrentTemperature()
|
||||||
{
|
{
|
||||||
if (!IsValid)
|
if (!IsValid) return null;
|
||||||
return null;
|
|
||||||
|
|
||||||
PhysicalGPU internalGpu = _internalGpu!;
|
PhysicalGPU internalGpu = _internalGpu!;
|
||||||
IThermalSensor? gpuSensor =
|
IThermalSensor? gpuSensor =
|
||||||
@@ -50,6 +46,38 @@ public class NvidiaGpuControl : IGpuControl
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void KillGPUApps()
|
||||||
|
{
|
||||||
|
|
||||||
|
if (!IsValid) return;
|
||||||
|
PhysicalGPU internalGpu = _internalGpu!;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Process[] processes = internalGpu.GetActiveApplications();
|
||||||
|
foreach (Process process in processes)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
process?.Kill();
|
||||||
|
Logger.WriteLine("Stopped: " + process.ProcessName);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Logger.WriteLine(ex.Message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Logger.WriteLine(ex.Message);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//NVIDIA.RestartDisplayDriver();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public int GetClocks(out int core, out int memory)
|
public int GetClocks(out int core, out int memory)
|
||||||
{
|
{
|
||||||
@@ -66,10 +94,11 @@ public class NvidiaGpuControl : IGpuControl
|
|||||||
Logger.WriteLine($"GET GPU CLOCKS: {core}, {memory}");
|
Logger.WriteLine($"GET GPU CLOCKS: {core}, {memory}");
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
} catch (Exception ex)
|
}
|
||||||
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Logger.WriteLine("GET GPU CLOCKS:" + ex.Message);
|
Logger.WriteLine("GET GPU CLOCKS:" + ex.Message);
|
||||||
core = memory = 0;
|
core = memory = 0;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -123,7 +152,7 @@ public class NvidiaGpuControl : IGpuControl
|
|||||||
//Thread.Sleep(2000);
|
//Thread.Sleep(2000);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
catch (Exception ex )
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Logger.WriteLine(ex.ToString());
|
Logger.WriteLine(ex.ToString());
|
||||||
return false;
|
return false;
|
||||||
@@ -163,7 +192,7 @@ public class NvidiaGpuControl : IGpuControl
|
|||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Logger.WriteLine("SET GPU CLOCKS: "+ex.Message);
|
Logger.WriteLine("SET GPU CLOCKS: " + ex.Message);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -19,9 +19,12 @@ public static class HardwareControl
|
|||||||
public static int GetFanMax()
|
public static int GetFanMax()
|
||||||
{
|
{
|
||||||
int max = 58;
|
int max = 58;
|
||||||
|
int configMax = AppConfig.getConfig("fan_max");
|
||||||
|
if (configMax > 100) configMax = 0; // skipping inadvequate settings
|
||||||
|
|
||||||
if (AppConfig.ContainsModel("401")) max = 72;
|
if (AppConfig.ContainsModel("401")) max = 72;
|
||||||
else if (AppConfig.ContainsModel("503")) max = 68;
|
else if (AppConfig.ContainsModel("503")) max = 68;
|
||||||
return Math.Max(max, AppConfig.getConfig("fan_max"));
|
return Math.Max(max, configMax);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void SetFanMax(int fan)
|
public static void SetFanMax(int fan)
|
||||||
@@ -179,4 +182,38 @@ public static class HardwareControl
|
|||||||
Debug.WriteLine(ex.ToString());
|
Debug.WriteLine(ex.ToString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static void KillGPUApps()
|
||||||
|
{
|
||||||
|
|
||||||
|
List<string> tokill = new() { "EADesktop", "RadeonSoftware", "epicgameslauncher" };
|
||||||
|
|
||||||
|
if (AppConfig.isConfig("kill_gpu_apps"))
|
||||||
|
{
|
||||||
|
tokill.Add("nvdisplay.container");
|
||||||
|
tokill.Add("nvcontainer");
|
||||||
|
tokill.Add("nvcplui");
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (string kill in tokill)
|
||||||
|
foreach (var process in Process.GetProcessesByName(kill))
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
process.Kill();
|
||||||
|
Logger.WriteLine($"Stopped: {process.ProcessName}");
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Logger.WriteLine($"Failed to stop: {process.ProcessName} {ex.Message}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (AppConfig.isConfig("kill_gpu_apps") && GpuControl is not null && GpuControl.IsNvidia)
|
||||||
|
{
|
||||||
|
NvidiaGpuControl nvControl = (NvidiaGpuControl)GpuControl;
|
||||||
|
nvControl.KillGPUApps();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,8 @@
|
|||||||
using HidLibrary;
|
using HidLibrary;
|
||||||
using Microsoft.Win32;
|
using Microsoft.Win32;
|
||||||
using NAudio.CoreAudioApi;
|
using NAudio.CoreAudioApi;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Management;
|
using System.Management;
|
||||||
using Tools;
|
|
||||||
|
|
||||||
namespace GHelper
|
namespace GHelper
|
||||||
{
|
{
|
||||||
@@ -55,34 +53,24 @@ namespace GHelper
|
|||||||
public class InputDispatcher
|
public class InputDispatcher
|
||||||
{
|
{
|
||||||
System.Timers.Timer timer = new System.Timers.Timer(1000);
|
System.Timers.Timer timer = new System.Timers.Timer(1000);
|
||||||
public bool backlight = true;
|
public bool backlightActivity = true;
|
||||||
|
|
||||||
private static nint windowHandle;
|
|
||||||
|
|
||||||
public static Keys keyProfile = Keys.F5;
|
public static Keys keyProfile = Keys.F5;
|
||||||
|
public static Keys keyApp = Keys.F12;
|
||||||
|
|
||||||
KeyboardListener listener;
|
KeyboardListener listener;
|
||||||
|
KeyboardHook hook = new KeyboardHook();
|
||||||
|
|
||||||
KeyHandler m1, m2, togggle;
|
public InputDispatcher()
|
||||||
|
|
||||||
public InputDispatcher(nint handle)
|
|
||||||
{
|
{
|
||||||
|
|
||||||
windowHandle = handle;
|
|
||||||
|
|
||||||
byte[] result = Program.acpi.DeviceInit();
|
byte[] result = Program.acpi.DeviceInit();
|
||||||
Debug.WriteLine($"Init: {BitConverter.ToString(result)}");
|
Debug.WriteLine($"Init: {BitConverter.ToString(result)}");
|
||||||
|
|
||||||
Program.acpi.SubscribeToEvents(WatcherEventArrived);
|
Program.acpi.SubscribeToEvents(WatcherEventArrived);
|
||||||
//Task.Run(Program.acpi.RunListener);
|
//Task.Run(Program.acpi.RunListener);
|
||||||
|
|
||||||
|
hook.KeyPressed += new EventHandler<KeyPressedEventArgs>(KeyPressed);
|
||||||
// CTRL + SHIFT + F5 to cycle profiles
|
|
||||||
if (AppConfig.getConfig("keybind_profile") != -1) keyProfile = (Keys)AppConfig.getConfig("keybind_profile");
|
|
||||||
|
|
||||||
togggle = new KeyHandler(KeyHandler.SHIFT | KeyHandler.CTRL, keyProfile, windowHandle);
|
|
||||||
m1 = new KeyHandler(KeyHandler.NOMOD, Keys.VolumeDown, windowHandle);
|
|
||||||
m2 = new KeyHandler(KeyHandler.NOMOD, Keys.VolumeUp, windowHandle);
|
|
||||||
|
|
||||||
RegisterKeys();
|
RegisterKeys();
|
||||||
|
|
||||||
@@ -92,30 +80,31 @@ namespace GHelper
|
|||||||
|
|
||||||
private void Timer_Elapsed(object? sender, System.Timers.ElapsedEventArgs e)
|
private void Timer_Elapsed(object? sender, System.Timers.ElapsedEventArgs e)
|
||||||
{
|
{
|
||||||
TimeSpan iddle = NativeMethods.GetIdleTime();
|
if (GetBacklight() == 0) return;
|
||||||
|
|
||||||
|
TimeSpan iddle = NativeMethods.GetIdleTime();
|
||||||
int kb_timeout;
|
int kb_timeout;
|
||||||
|
|
||||||
if (SystemInformation.PowerStatus.PowerLineStatus == PowerLineStatus.Online)
|
if (SystemInformation.PowerStatus.PowerLineStatus == PowerLineStatus.Online)
|
||||||
kb_timeout = AppConfig.getConfig("keyboard_ac_timeout", 0);
|
kb_timeout = AppConfig.getConfig("keyboard_ac_timeout", 0);
|
||||||
else
|
else
|
||||||
kb_timeout = AppConfig.getConfig("keyboard_timeout", 60);
|
kb_timeout = AppConfig.getConfig("keyboard_timeout", 60);
|
||||||
|
|
||||||
if (kb_timeout == 0) return;
|
if (kb_timeout == 0) return;
|
||||||
|
|
||||||
if (backlight && iddle.TotalSeconds > kb_timeout)
|
if (backlightActivity && iddle.TotalSeconds > kb_timeout)
|
||||||
{
|
{
|
||||||
backlight = false;
|
backlightActivity = false;
|
||||||
AsusUSB.ApplyBrightness(0);
|
AsusUSB.ApplyBrightness(0, "Timeout");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!backlight && iddle.TotalSeconds < kb_timeout)
|
if (!backlightActivity && iddle.TotalSeconds < kb_timeout)
|
||||||
{
|
{
|
||||||
backlight = true;
|
backlightActivity = true;
|
||||||
AsusUSB.ApplyBrightness(AppConfig.getConfig("keyboard_brightness"));
|
SetBacklight();
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.WriteLine(iddle.TotalSeconds);
|
//Debug.WriteLine(iddle.TotalSeconds);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Init()
|
public void Init()
|
||||||
@@ -140,28 +129,26 @@ namespace GHelper
|
|||||||
|
|
||||||
public void RegisterKeys()
|
public void RegisterKeys()
|
||||||
{
|
{
|
||||||
|
hook.UnregisterAll();
|
||||||
|
|
||||||
|
// CTRL + SHIFT + F5 to cycle profiles
|
||||||
|
if (AppConfig.getConfig("keybind_profile") != -1) keyProfile = (Keys)AppConfig.getConfig("keybind_profile");
|
||||||
|
if (AppConfig.getConfig("keybind_app") != -1) keyApp = (Keys)AppConfig.getConfig("keybind_app");
|
||||||
|
|
||||||
string actionM1 = AppConfig.getConfigString("m1");
|
string actionM1 = AppConfig.getConfigString("m1");
|
||||||
string actionM2 = AppConfig.getConfigString("m2");
|
string actionM2 = AppConfig.getConfigString("m2");
|
||||||
|
|
||||||
togggle.Unregiser();
|
if (keyProfile != Keys.None) hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control, keyProfile);
|
||||||
m1.Unregiser();
|
if (keyApp != Keys.None) hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control, keyApp);
|
||||||
m2.Unregiser();
|
|
||||||
|
|
||||||
if (keyProfile != Keys.None)
|
if (!AppConfig.ContainsModel("Z13"))
|
||||||
{
|
if (actionM1 is not null && actionM1.Length > 0) hook.RegisterHotKey(ModifierKeys.None, Keys.VolumeDown);
|
||||||
togggle.Register();
|
if (actionM2 is not null && actionM2.Length > 0) hook.RegisterHotKey(ModifierKeys.None, Keys.VolumeUp);
|
||||||
}
|
|
||||||
|
|
||||||
if (actionM1 is not null && actionM1.Length > 0)
|
// FN-Lock group
|
||||||
{
|
|
||||||
m1.Register();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (actionM2 is not null && actionM2.Length > 0)
|
if (AppConfig.isConfig("fn_lock") && !AppConfig.ContainsModel("VivoBook"))
|
||||||
{
|
for (Keys i = Keys.F1; i <= Keys.F11; i++) hook.RegisterHotKey(ModifierKeys.None, i);
|
||||||
m2.Register();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -181,12 +168,118 @@ namespace GHelper
|
|||||||
|
|
||||||
|
|
||||||
if (intKey > 0)
|
if (intKey > 0)
|
||||||
NativeMethods.KeyPress(intKey);
|
KeyboardHook.KeyPress((Keys)intKey);
|
||||||
else
|
else
|
||||||
LaunchProcess(command);
|
LaunchProcess(command);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void KeyPressed(object sender, KeyPressedEventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (e.Modifier == ModifierKeys.None)
|
||||||
|
{
|
||||||
|
Logger.WriteLine(e.Key.ToString());
|
||||||
|
|
||||||
|
if (AppConfig.ContainsModel("Z13"))
|
||||||
|
{
|
||||||
|
switch (e.Key)
|
||||||
|
{
|
||||||
|
case Keys.F2:
|
||||||
|
KeyboardHook.KeyPress(Keys.VolumeDown);
|
||||||
|
return;
|
||||||
|
case Keys.F3:
|
||||||
|
KeyboardHook.KeyPress(Keys.VolumeUp);
|
||||||
|
return;
|
||||||
|
case Keys.F4:
|
||||||
|
KeyProcess("m3");
|
||||||
|
return;
|
||||||
|
case Keys.F11:
|
||||||
|
OptimizationEvent(199);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (AppConfig.ContainsModel("GA401I"))
|
||||||
|
{
|
||||||
|
switch (e.Key)
|
||||||
|
{
|
||||||
|
case Keys.F2:
|
||||||
|
KeyboardHook.KeyPress(Keys.MediaPreviousTrack);
|
||||||
|
return;
|
||||||
|
case Keys.F3:
|
||||||
|
KeyboardHook.KeyPress(Keys.MediaPlayPause);
|
||||||
|
return;
|
||||||
|
case Keys.F4:
|
||||||
|
KeyboardHook.KeyPress(Keys.MediaNextTrack);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
switch (e.Key)
|
||||||
|
{
|
||||||
|
case Keys.F1:
|
||||||
|
KeyboardHook.KeyPress(Keys.VolumeMute);
|
||||||
|
break;
|
||||||
|
case Keys.F2:
|
||||||
|
OptimizationEvent(197);
|
||||||
|
break;
|
||||||
|
case Keys.F3:
|
||||||
|
OptimizationEvent(196);
|
||||||
|
break;
|
||||||
|
case Keys.F4:
|
||||||
|
KeyProcess("fnf4");
|
||||||
|
break;
|
||||||
|
case Keys.F5:
|
||||||
|
KeyProcess("fnf5");
|
||||||
|
break;
|
||||||
|
case Keys.F6:
|
||||||
|
KeyboardHook.KeyPress(Keys.Snapshot);
|
||||||
|
break;
|
||||||
|
case Keys.F7:
|
||||||
|
if (AppConfig.ContainsModel("TUF"))
|
||||||
|
Program.settingsForm.BeginInvoke(Program.settingsForm.RunToast, ScreenBrightness.Adjust(-10) + "%", ToastIcon.BrightnessDown);
|
||||||
|
OptimizationEvent(16);
|
||||||
|
break;
|
||||||
|
case Keys.F8:
|
||||||
|
if (AppConfig.ContainsModel("TUF"))
|
||||||
|
Program.settingsForm.BeginInvoke(Program.settingsForm.RunToast, ScreenBrightness.Adjust(+10) + "%", ToastIcon.BrightnessUp);
|
||||||
|
OptimizationEvent(32);
|
||||||
|
break;
|
||||||
|
case Keys.F9:
|
||||||
|
KeyboardHook.KeyWinPress(Keys.P);
|
||||||
|
break;
|
||||||
|
case Keys.F10:
|
||||||
|
OptimizationEvent(107);
|
||||||
|
break;
|
||||||
|
case Keys.F11:
|
||||||
|
OptimizationEvent(108);
|
||||||
|
break;
|
||||||
|
case Keys.F12:
|
||||||
|
KeyboardHook.KeyWinPress(Keys.A);
|
||||||
|
break;
|
||||||
|
case Keys.VolumeDown:
|
||||||
|
KeyProcess("m1");
|
||||||
|
break;
|
||||||
|
case Keys.VolumeUp:
|
||||||
|
KeyProcess("m2");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (e.Modifier == (ModifierKeys.Control | ModifierKeys.Shift))
|
||||||
|
{
|
||||||
|
if (e.Key == keyProfile) Program.settingsForm.CyclePerformanceMode();
|
||||||
|
if (e.Key == keyApp) Program.SettingsToggle();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public static void KeyProcess(string name = "m3")
|
public static void KeyProcess(string name = "m3")
|
||||||
{
|
{
|
||||||
string action = AppConfig.getConfigString(name);
|
string action = AppConfig.getConfigString(name);
|
||||||
@@ -201,18 +294,20 @@ namespace GHelper
|
|||||||
action = "performance";
|
action = "performance";
|
||||||
if (name == "m3" && !OptimizationService.IsRunning())
|
if (name == "m3" && !OptimizationService.IsRunning())
|
||||||
action = "micmute";
|
action = "micmute";
|
||||||
|
if (name == "fnc")
|
||||||
|
action = "fnlock";
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (action)
|
switch (action)
|
||||||
{
|
{
|
||||||
case "mute":
|
case "mute":
|
||||||
NativeMethods.KeyPress(NativeMethods.VK_VOLUME_MUTE);
|
KeyboardHook.KeyPress(Keys.VolumeMute);
|
||||||
break;
|
break;
|
||||||
case "play":
|
case "play":
|
||||||
NativeMethods.KeyPress(NativeMethods.VK_MEDIA_PLAY_PAUSE);
|
KeyboardHook.KeyPress(Keys.MediaPlayPause);
|
||||||
break;
|
break;
|
||||||
case "screenshot":
|
case "screenshot":
|
||||||
NativeMethods.KeyPress(NativeMethods.VK_SNAPSHOT);
|
KeyboardHook.KeyPress(Keys.Snapshot);
|
||||||
break;
|
break;
|
||||||
case "screen":
|
case "screen":
|
||||||
NativeMethods.TurnOffScreen(Program.settingsForm.Handle);
|
NativeMethods.TurnOffScreen(Program.settingsForm.Handle);
|
||||||
@@ -232,8 +327,8 @@ namespace GHelper
|
|||||||
Program.SettingsToggle();
|
Program.SettingsToggle();
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
case "custom":
|
case "fnlock":
|
||||||
CustomKey(name);
|
ToggleFnLock();
|
||||||
break;
|
break;
|
||||||
case "micmute":
|
case "micmute":
|
||||||
using (var enumerator = new MMDeviceEnumerator())
|
using (var enumerator = new MMDeviceEnumerator())
|
||||||
@@ -244,6 +339,9 @@ namespace GHelper
|
|||||||
Program.settingsForm.BeginInvoke(Program.settingsForm.RunToast, muteStatus ? "Muted" : "Unmuted", muteStatus ? ToastIcon.MicrophoneMute : ToastIcon.Microphone);
|
Program.settingsForm.BeginInvoke(Program.settingsForm.RunToast, muteStatus ? "Muted" : "Unmuted", muteStatus ? ToastIcon.MicrophoneMute : ToastIcon.Microphone);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case "custom":
|
||||||
|
CustomKey(name);
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@@ -258,6 +356,19 @@ namespace GHelper
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void ToggleFnLock()
|
||||||
|
{
|
||||||
|
int fnLock = AppConfig.isConfig("fn_lock") ? 0 : 1;
|
||||||
|
AppConfig.setConfig("fn_lock", fnLock);
|
||||||
|
|
||||||
|
if (AppConfig.ContainsModel("VivoBook"))
|
||||||
|
Program.acpi.DeviceSet(AsusACPI.FnLock, (fnLock == 1) ? 0 : 1, "FnLock");
|
||||||
|
else
|
||||||
|
Program.settingsForm.BeginInvoke(Program.inputDispatcher.RegisterKeys);
|
||||||
|
|
||||||
|
Program.settingsForm.BeginInvoke(Program.settingsForm.RunToast, "Fn-Lock "+(fnLock==1?"On":"Off"), ToastIcon.FnLock);
|
||||||
|
}
|
||||||
|
|
||||||
static void TabletMode()
|
static void TabletMode()
|
||||||
{
|
{
|
||||||
bool touchpadState = GetTouchpadState();
|
bool touchpadState = GetTouchpadState();
|
||||||
@@ -286,37 +397,83 @@ namespace GHelper
|
|||||||
case 178: // FN+F4
|
case 178: // FN+F4
|
||||||
KeyProcess("fnf4");
|
KeyProcess("fnf4");
|
||||||
return;
|
return;
|
||||||
|
case 158: // Fn + C
|
||||||
|
KeyProcess("fnc");
|
||||||
|
return;
|
||||||
|
case 78: // Fn + ESC
|
||||||
|
ToggleFnLock();
|
||||||
|
return;
|
||||||
case 189: // Tablet mode
|
case 189: // Tablet mode
|
||||||
TabletMode();
|
TabletMode();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (OptimizationService.IsRunning()) return;
|
if (!OptimizationService.IsRunning()) OptimizationEvent(EventID);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static int GetBacklight(bool auto = false)
|
||||||
|
{
|
||||||
|
int backlight_power = AppConfig.getConfig("keyboard_brightness", 1);
|
||||||
|
int backlight_battery = AppConfig.getConfig("keyboard_brightness_ac", 1);
|
||||||
|
bool onBattery = SystemInformation.PowerStatus.PowerLineStatus != PowerLineStatus.Online;
|
||||||
|
|
||||||
|
int backlight;
|
||||||
|
|
||||||
|
if (auto)
|
||||||
|
backlight = onBattery ? Math.Min(backlight_battery, backlight_power) : Math.Max(backlight_battery, backlight_power);
|
||||||
|
else
|
||||||
|
backlight = onBattery ? backlight_battery : backlight_power;
|
||||||
|
|
||||||
|
return Math.Max(Math.Min(3, backlight), 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void SetBacklight(bool auto = false)
|
||||||
|
{
|
||||||
|
if (auto) AsusUSB.Init();
|
||||||
|
AsusUSB.ApplyBrightness(GetBacklight(auto), "Auto");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void SetBacklight(int delta)
|
||||||
|
{
|
||||||
|
int backlight_power = AppConfig.getConfig("keyboard_brightness", 1);
|
||||||
|
int backlight_battery = AppConfig.getConfig("keyboard_brightness_ac", 1);
|
||||||
|
bool onBattery = SystemInformation.PowerStatus.PowerLineStatus != PowerLineStatus.Online;
|
||||||
|
|
||||||
|
int backlight = onBattery ? backlight_battery : backlight_power;
|
||||||
|
|
||||||
|
if (delta >= 4)
|
||||||
|
backlight = (++backlight % 4);
|
||||||
|
else
|
||||||
|
backlight = Math.Max(Math.Min(3, backlight + delta), 0);
|
||||||
|
|
||||||
|
if (onBattery)
|
||||||
|
AppConfig.setConfig("keyboard_brightness_ac", backlight);
|
||||||
|
else
|
||||||
|
AppConfig.setConfig("keyboard_brightness", backlight);
|
||||||
|
|
||||||
|
AsusUSB.ApplyBrightness(backlight, "HotKey");
|
||||||
|
|
||||||
|
string[] backlightNames = new string[] { "Off", "Low", "Mid", "Max" };
|
||||||
|
Program.settingsForm.BeginInvoke(Program.settingsForm.RunToast, backlightNames[backlight], delta > 0 ? ToastIcon.BacklightUp : ToastIcon.BacklightDown);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
static void OptimizationEvent(int EventID)
|
||||||
|
{
|
||||||
|
|
||||||
// Asus Optimization service Events
|
// Asus Optimization service Events
|
||||||
|
|
||||||
int backlight = AppConfig.getConfig("keyboard_brightness");
|
|
||||||
string[] backlightNames = new string[] { "Off", "Low", "Mid", "Max" };
|
|
||||||
|
|
||||||
switch (EventID)
|
switch (EventID)
|
||||||
{
|
{
|
||||||
case 197: // FN+F2
|
case 197: // FN+F2
|
||||||
backlight = Math.Max(0, backlight - 1);
|
SetBacklight(-1);
|
||||||
AppConfig.setConfig("keyboard_brightness", backlight);
|
|
||||||
AsusUSB.ApplyBrightness(backlight);
|
|
||||||
Program.settingsForm.BeginInvoke(Program.settingsForm.RunToast, backlightNames[backlight], ToastIcon.BacklightDown);
|
|
||||||
break;
|
break;
|
||||||
case 196: // FN+F3
|
case 196: // FN+F3
|
||||||
backlight = Math.Min(3, backlight + 1);
|
SetBacklight(1);
|
||||||
AppConfig.setConfig("keyboard_brightness", backlight);
|
|
||||||
AsusUSB.ApplyBrightness(backlight);
|
|
||||||
Program.settingsForm.BeginInvoke(Program.settingsForm.RunToast, backlightNames[backlight], ToastIcon.BacklightUp);
|
|
||||||
break;
|
break;
|
||||||
case 199: // ON Z13 - FN+F11 - cycles backlight
|
case 199: // ON Z13 - FN+F11 - cycles backlight
|
||||||
if (++backlight > 3) backlight = 0;
|
SetBacklight(4);
|
||||||
AppConfig.setConfig("keyboard_brightness", backlight);
|
|
||||||
AsusUSB.ApplyBrightness(backlight);
|
|
||||||
Program.settingsForm.BeginInvoke(Program.settingsForm.RunToast, backlightNames[backlight], ToastIcon.BacklightUp);
|
|
||||||
break;
|
break;
|
||||||
case 16: // FN+F7
|
case 16: // FN+F7
|
||||||
Program.acpi.DeviceSet(AsusACPI.UniversalControl, 0x10, "Brightness");
|
Program.acpi.DeviceSet(AsusACPI.UniversalControl, 0x10, "Brightness");
|
||||||
|
|||||||
173
app/KeyboardHook.cs
Normal file
173
app/KeyboardHook.cs
Normal file
@@ -0,0 +1,173 @@
|
|||||||
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
|
public sealed class KeyboardHook : IDisposable
|
||||||
|
{
|
||||||
|
// Registers a hot key with Windows.
|
||||||
|
[DllImport("user32.dll")]
|
||||||
|
private static extern bool RegisterHotKey(IntPtr hWnd, int id, uint fsModifiers, uint vk);
|
||||||
|
// Unregisters the hot key with Windows.
|
||||||
|
[DllImport("user32.dll")]
|
||||||
|
private static extern bool UnregisterHotKey(IntPtr hWnd, int id);
|
||||||
|
|
||||||
|
[DllImport("user32.dll")]
|
||||||
|
private static extern IntPtr CallNextHookEx(IntPtr hhk, int nCode, IntPtr wParam, IntPtr lParam);
|
||||||
|
|
||||||
|
[DllImport("user32.dll", SetLastError = true)]
|
||||||
|
public static extern void keybd_event(byte virtualKey, byte scanCode, uint flags, IntPtr extraInfo);
|
||||||
|
|
||||||
|
public const int KEYEVENTF_EXTENDEDKEY = 1;
|
||||||
|
public const int KEYEVENTF_KEYUP = 2;
|
||||||
|
private const byte VK_LWIN = 0x5B;
|
||||||
|
|
||||||
|
public static void KeyPress(Keys key)
|
||||||
|
{
|
||||||
|
keybd_event((byte)key, 0, KEYEVENTF_EXTENDEDKEY, IntPtr.Zero);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void KeyWinPress(Keys key)
|
||||||
|
{
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Represents the window that is used internally to get the messages.
|
||||||
|
/// </summary>
|
||||||
|
private class Window : NativeWindow, IDisposable
|
||||||
|
{
|
||||||
|
private static int WM_HOTKEY = 0x0312;
|
||||||
|
public static Keys? fakeKey;
|
||||||
|
|
||||||
|
public Window()
|
||||||
|
{
|
||||||
|
// create the handle for the window.
|
||||||
|
this.CreateHandle(new CreateParams());
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Overridden to get the notifications.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="m"></param>
|
||||||
|
protected override void WndProc(ref Message m)
|
||||||
|
{
|
||||||
|
base.WndProc(ref m);
|
||||||
|
|
||||||
|
// check if we got a hot key pressed.
|
||||||
|
if (m.Msg == WM_HOTKEY)
|
||||||
|
{
|
||||||
|
// get the keys.
|
||||||
|
Keys key = (Keys)(((int)m.LParam >> 16) & 0xFFFF);
|
||||||
|
ModifierKeys modifier = (ModifierKeys)((int)m.LParam & 0xFFFF);
|
||||||
|
|
||||||
|
// invoke the event to notify the parent.
|
||||||
|
if (KeyPressed != null)
|
||||||
|
KeyPressed(this, new KeyPressedEventArgs(modifier, key));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public event EventHandler<KeyPressedEventArgs> KeyPressed;
|
||||||
|
|
||||||
|
#region IDisposable Members
|
||||||
|
|
||||||
|
public void Dispose()
|
||||||
|
{
|
||||||
|
this.DestroyHandle();
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
|
||||||
|
private Window _window = new Window();
|
||||||
|
private int _currentId;
|
||||||
|
|
||||||
|
public KeyboardHook()
|
||||||
|
{
|
||||||
|
// register the event of the inner native window.
|
||||||
|
_window.KeyPressed += delegate (object sender, KeyPressedEventArgs args)
|
||||||
|
{
|
||||||
|
if (KeyPressed != null)
|
||||||
|
KeyPressed(this, args);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Registers a hot key in the system.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="modifier">The modifiers that are associated with the hot key.</param>
|
||||||
|
/// <param name="key">The key itself that is associated with the hot key.</param>
|
||||||
|
public void RegisterHotKey(ModifierKeys modifier, Keys key)
|
||||||
|
{
|
||||||
|
// increment the counter.
|
||||||
|
_currentId = _currentId + 1;
|
||||||
|
|
||||||
|
// register the hot key.
|
||||||
|
if (!RegisterHotKey(_window.Handle, _currentId, (uint)modifier, (uint)key))
|
||||||
|
Logger.WriteLine("Couldn’t register " + key);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// A hot key has been pressed.
|
||||||
|
/// </summary>
|
||||||
|
public event EventHandler<KeyPressedEventArgs> KeyPressed;
|
||||||
|
|
||||||
|
#region IDisposable Members
|
||||||
|
|
||||||
|
public void UnregisterAll()
|
||||||
|
{
|
||||||
|
// unregister all the registered hot keys.
|
||||||
|
for (int i = _currentId; i > 0; i--)
|
||||||
|
{
|
||||||
|
UnregisterHotKey(_window.Handle, i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Dispose()
|
||||||
|
{
|
||||||
|
UnregisterAll();
|
||||||
|
// dispose the inner native window.
|
||||||
|
_window.Dispose();
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Event Args for the event that is fired after the hot key has been pressed.
|
||||||
|
/// </summary>
|
||||||
|
public class KeyPressedEventArgs : EventArgs
|
||||||
|
{
|
||||||
|
private ModifierKeys _modifier;
|
||||||
|
private Keys _key;
|
||||||
|
|
||||||
|
internal KeyPressedEventArgs(ModifierKeys modifier, Keys key)
|
||||||
|
{
|
||||||
|
_modifier = modifier;
|
||||||
|
_key = key;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ModifierKeys Modifier
|
||||||
|
{
|
||||||
|
get { return _modifier; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public Keys Key
|
||||||
|
{
|
||||||
|
get { return _key; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The enumeration of possible modifiers.
|
||||||
|
/// </summary>
|
||||||
|
[Flags]
|
||||||
|
public enum ModifierKeys : uint
|
||||||
|
{
|
||||||
|
None = 0,
|
||||||
|
Alt = 1,
|
||||||
|
Control = 2,
|
||||||
|
Shift = 4,
|
||||||
|
Win = 8
|
||||||
|
}
|
||||||
@@ -1,54 +1,11 @@
|
|||||||
using GHelper;
|
using System.ComponentModel;
|
||||||
using System.ComponentModel;
|
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
using static System.Windows.Forms.VisualStyles.VisualStyleElement.TrackBar;
|
|
||||||
using static Tools.ScreenInterrogatory;
|
using static Tools.ScreenInterrogatory;
|
||||||
|
|
||||||
namespace Tools
|
namespace Tools
|
||||||
{
|
{
|
||||||
|
|
||||||
public class KeyHandler
|
|
||||||
{
|
|
||||||
|
|
||||||
public const int NOMOD = 0x0000;
|
|
||||||
public const int ALT = 0x0001;
|
|
||||||
public const int CTRL = 0x0002;
|
|
||||||
public const int SHIFT = 0x0004;
|
|
||||||
public const int WIN = 0x0008;
|
|
||||||
|
|
||||||
public const int WM_HOTKEY_MSG_ID = 0x0312;
|
|
||||||
|
|
||||||
|
|
||||||
[DllImport("user32.dll")]
|
|
||||||
private static extern bool RegisterHotKey(IntPtr hWnd, int id, int fsModifiers, int vk);
|
|
||||||
[DllImport("user32.dll")]
|
|
||||||
private static extern bool UnregisterHotKey(IntPtr hWnd, int id);
|
|
||||||
|
|
||||||
private int modifier;
|
|
||||||
private int key;
|
|
||||||
private IntPtr hWnd;
|
|
||||||
private int id;
|
|
||||||
public KeyHandler(int modifier, Keys key, nint handle)
|
|
||||||
{
|
|
||||||
this.modifier = modifier;
|
|
||||||
this.key = (int)key;
|
|
||||||
this.hWnd = handle;
|
|
||||||
id = this.GetHashCode();
|
|
||||||
}
|
|
||||||
public override int GetHashCode()
|
|
||||||
{
|
|
||||||
return modifier ^ key ^ hWnd.ToInt32();
|
|
||||||
}
|
|
||||||
public bool Register()
|
|
||||||
{
|
|
||||||
return RegisterHotKey(hWnd, id, modifier, key);
|
|
||||||
}
|
|
||||||
public bool Unregiser()
|
|
||||||
{
|
|
||||||
return UnregisterHotKey(hWnd, id);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static class ScreenInterrogatory
|
public static class ScreenInterrogatory
|
||||||
{
|
{
|
||||||
@@ -459,24 +416,6 @@ public class NativeMethods
|
|||||||
public static extern bool SetSuspendState(bool hiberate, bool forceCritical, bool disableWakeEvent);
|
public static extern bool SetSuspendState(bool hiberate, bool forceCritical, bool disableWakeEvent);
|
||||||
|
|
||||||
|
|
||||||
public const int KEYEVENTF_EXTENDEDKEY = 1;
|
|
||||||
public const int KEYEVENTF_KEYUP = 2;
|
|
||||||
|
|
||||||
public const int VK_MEDIA_NEXT_TRACK = 0xB0;
|
|
||||||
public const int VK_MEDIA_PLAY_PAUSE = 0xB3;
|
|
||||||
public const int VK_MEDIA_PREV_TRACK = 0xB1;
|
|
||||||
public const int VK_VOLUME_MUTE = 0xAD;
|
|
||||||
public const int VK_SNAPSHOT = 0x2C;
|
|
||||||
|
|
||||||
[DllImport("user32.dll", SetLastError = true)]
|
|
||||||
public static extern void keybd_event(byte virtualKey, byte scanCode, uint flags, IntPtr extraInfo);
|
|
||||||
|
|
||||||
public static void KeyPress(int key = VK_MEDIA_PLAY_PAUSE)
|
|
||||||
{
|
|
||||||
keybd_event((byte)key, 0, KEYEVENTF_EXTENDEDKEY, IntPtr.Zero);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[DllImport("user32.dll")]
|
[DllImport("user32.dll")]
|
||||||
public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow);
|
public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow);
|
||||||
public const int SW_RESTORE = 9;
|
public const int SW_RESTORE = 9;
|
||||||
@@ -763,6 +702,8 @@ public class NativeMethods
|
|||||||
{
|
{
|
||||||
Guid activeSchemeGuid = GetActiveScheme();
|
Guid activeSchemeGuid = GetActiveScheme();
|
||||||
|
|
||||||
|
if (boost == GetCPUBoost()) return;
|
||||||
|
|
||||||
var hrAC = PowerWriteACValueIndex(
|
var hrAC = PowerWriteACValueIndex(
|
||||||
IntPtr.Zero,
|
IntPtr.Zero,
|
||||||
activeSchemeGuid,
|
activeSchemeGuid,
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ namespace GHelper
|
|||||||
|
|
||||||
trayIcon.MouseClick += TrayIcon_MouseClick;
|
trayIcon.MouseClick += TrayIcon_MouseClick;
|
||||||
|
|
||||||
inputDispatcher = new InputDispatcher(ds);
|
inputDispatcher = new InputDispatcher();
|
||||||
|
|
||||||
settingsForm.InitAura();
|
settingsForm.InitAura();
|
||||||
settingsForm.InitMatrix();
|
settingsForm.InitMatrix();
|
||||||
|
|||||||
10
app/Properties/Resources.Designer.cs
generated
10
app/Properties/Resources.Designer.cs
generated
@@ -180,6 +180,16 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap icons8_function {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("icons8_function", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -232,4 +232,7 @@
|
|||||||
<data name="icons8_mute_unmute_96" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="icons8_mute_unmute_96" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\icons8-mute-unmute-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\icons8-mute-unmute-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="icons8_function" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\icons8-function-mac-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
27
app/Properties/Strings.Designer.cs
generated
27
app/Properties/Strings.Designer.cs
generated
@@ -510,6 +510,15 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Process Fn+F hotkeys without Fn.
|
||||||
|
/// </summary>
|
||||||
|
internal static string FnLock {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("FnLock", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Dynamic Boost.
|
/// Looks up a localized string similar to Dynamic Boost.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -627,6 +636,15 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Stop all apps using GPU when switching to Eco.
|
||||||
|
/// </summary>
|
||||||
|
internal static string KillGpuApps {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("KillGpuApps", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Laptop Backlight.
|
/// Looks up a localized string similar to Laptop Backlight.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -1005,6 +1023,15 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Toggle Fn-Lock.
|
||||||
|
/// </summary>
|
||||||
|
internal static string ToggleFnLock {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("ToggleFnLock", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Toggle Miniled (if supported).
|
/// Looks up a localized string similar to Toggle Miniled (if supported).
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -190,7 +190,10 @@
|
|||||||
<value>Encendida</value>
|
<value>Encendida</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BacklightTimeout" xml:space="preserve">
|
<data name="BacklightTimeout" xml:space="preserve">
|
||||||
<value>Apagar retroiluminación con batería (segundos)</value>
|
<value>Apagar con batería tras (segundos)</value>
|
||||||
|
</data>
|
||||||
|
<data name="BacklightTimeoutPlugged" xml:space="preserve">
|
||||||
|
<value>Apagar cuando está enchufado tras (0 - nunca)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Balanced" xml:space="preserve">
|
<data name="Balanced" xml:space="preserve">
|
||||||
<value>Equilibrado</value>
|
<value>Equilibrado</value>
|
||||||
@@ -303,6 +306,9 @@
|
|||||||
<data name="KeyboardAuto" xml:space="preserve">
|
<data name="KeyboardAuto" xml:space="preserve">
|
||||||
<value>Bajar retroiluminación con batería</value>
|
<value>Bajar retroiluminación con batería</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="KillGpuApps" xml:space="preserve">
|
||||||
|
<value>Detener todas las aplicaciones que usan la dGPU cuando se cambia a Eco</value>
|
||||||
|
</data>
|
||||||
<data name="LaptopBacklight" xml:space="preserve">
|
<data name="LaptopBacklight" xml:space="preserve">
|
||||||
<value>Retroiluminación</value>
|
<value>Retroiluminación</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
471
app/Properties/Strings.pl.resx
Normal file
471
app/Properties/Strings.pl.resx
Normal file
@@ -0,0 +1,471 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: 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: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: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:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<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: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:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="ACPIError" xml:space="preserve">
|
||||||
|
<value>Nie można odnaleźć sterownika ASUS ACPI. Aplikacja nie może bez niego funkcjonować. Spróbuj zainstalować Asus System Control Interface</value>
|
||||||
|
</data>
|
||||||
|
<data name="AlertDGPU" xml:space="preserve">
|
||||||
|
<value>Wygląda na to, że GPU jest mocno obciążone. Wyłączyć?</value>
|
||||||
|
</data>
|
||||||
|
<data name="AlertDGPUTitle" xml:space="preserve">
|
||||||
|
<value>Tryb Eco</value>
|
||||||
|
</data>
|
||||||
|
<data name="AlertUltimateOff" xml:space="preserve">
|
||||||
|
<value>Wyłączenie trybu Ultimate wymaga ponownego uruchomienia</value>
|
||||||
|
</data>
|
||||||
|
<data name="AlertUltimateOn" xml:space="preserve">
|
||||||
|
<value>Tryb Ultimate wymaga ponownego uruchomienia</value>
|
||||||
|
</data>
|
||||||
|
<data name="AlertUltimateTitle" xml:space="preserve">
|
||||||
|
<value>Uruchomić ponownie teraz?</value>
|
||||||
|
</data>
|
||||||
|
<data name="AnimationSpeed" xml:space="preserve">
|
||||||
|
<value>Prędkość animacji</value>
|
||||||
|
</data>
|
||||||
|
<data name="AnimeMatrix" xml:space="preserve">
|
||||||
|
<value>Anime Matrix</value>
|
||||||
|
</data>
|
||||||
|
<data name="AppAlreadyRunning" xml:space="preserve">
|
||||||
|
<value>Aplikacja jest już uruchomiona</value>
|
||||||
|
</data>
|
||||||
|
<data name="AppAlreadyRunningText" xml:space="preserve">
|
||||||
|
<value>G-Helper jest już uruchomiony. Sprawdź obszar powiadomień na pasku zadań.</value>
|
||||||
|
</data>
|
||||||
|
<data name="ApplyFanCurve" xml:space="preserve">
|
||||||
|
<value>Zastosuj krzywe</value>
|
||||||
|
</data>
|
||||||
|
<data name="ApplyPowerLimits" xml:space="preserve">
|
||||||
|
<value>Zastosuj limity</value>
|
||||||
|
</data>
|
||||||
|
<data name="ApplyWindowsPowerPlan" xml:space="preserve">
|
||||||
|
<value>Automatycznie dostosuj Plan Zasilania Windows</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraBreathe" xml:space="preserve">
|
||||||
|
<value>Oddychanie</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraColorCycle" xml:space="preserve">
|
||||||
|
<value>Pętla kolorów</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraFast" xml:space="preserve">
|
||||||
|
<value>Szybka</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraNormal" xml:space="preserve">
|
||||||
|
<value>Normalna</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraRainbow" xml:space="preserve">
|
||||||
|
<value>Tęcza</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraSlow" xml:space="preserve">
|
||||||
|
<value>Powolna</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraStatic" xml:space="preserve">
|
||||||
|
<value>Statyczny</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraStrobe" xml:space="preserve">
|
||||||
|
<value>Stroboskop</value>
|
||||||
|
</data>
|
||||||
|
<data name="AutoMode" xml:space="preserve">
|
||||||
|
<value>Auto</value>
|
||||||
|
</data>
|
||||||
|
<data name="AutoRefreshTooltip" xml:space="preserve">
|
||||||
|
<value>Automatycznie ustaw odświeżanie 60 Hz w czasie pracy na baterii</value>
|
||||||
|
</data>
|
||||||
|
<data name="Awake" xml:space="preserve">
|
||||||
|
<value>Aktywność</value>
|
||||||
|
</data>
|
||||||
|
<data name="BacklightTimeout" xml:space="preserve">
|
||||||
|
<value>Wyłączenie podświetlenia na baterii</value>
|
||||||
|
</data>
|
||||||
|
<data name="BacklightTimeoutPlugged" xml:space="preserve">
|
||||||
|
<value>Wyłączenie podświetlenia po podłączeniu (0 - nigdy)</value>
|
||||||
|
</data>
|
||||||
|
<data name="Balanced" xml:space="preserve">
|
||||||
|
<value>Balans</value>
|
||||||
|
</data>
|
||||||
|
<data name="BatteryChargeLimit" xml:space="preserve">
|
||||||
|
<value>Limit ładowania baterii</value>
|
||||||
|
</data>
|
||||||
|
<data name="Boot" xml:space="preserve">
|
||||||
|
<value>Podczas uruchamiania</value>
|
||||||
|
</data>
|
||||||
|
<data name="Brightness" xml:space="preserve">
|
||||||
|
<value>Jasność</value>
|
||||||
|
</data>
|
||||||
|
<data name="Color" xml:space="preserve">
|
||||||
|
<value>Kolor</value>
|
||||||
|
</data>
|
||||||
|
<data name="CPUBoost" xml:space="preserve">
|
||||||
|
<value>CPU Boost</value>
|
||||||
|
</data>
|
||||||
|
<data name="Custom" xml:space="preserve">
|
||||||
|
<value>Niestandardowy</value>
|
||||||
|
</data>
|
||||||
|
<data name="Default" xml:space="preserve">
|
||||||
|
<value>Domyślny</value>
|
||||||
|
</data>
|
||||||
|
<data name="DisableOverdrive" xml:space="preserve">
|
||||||
|
<value>Wyłącz funkcję Overdrive monitora</value>
|
||||||
|
</data>
|
||||||
|
<data name="Discharging" xml:space="preserve">
|
||||||
|
<value>Zużycie mocy</value>
|
||||||
|
</data>
|
||||||
|
<data name="DownloadUpdate" xml:space="preserve">
|
||||||
|
<value>Pobierz aktualizację</value>
|
||||||
|
</data>
|
||||||
|
<data name="EcoGPUTooltip" xml:space="preserve">
|
||||||
|
<value>Wyłącza dedykowane GPU aby oszczędzić baterię</value>
|
||||||
|
</data>
|
||||||
|
<data name="EcoMode" xml:space="preserve">
|
||||||
|
<value>Eco</value>
|
||||||
|
</data>
|
||||||
|
<data name="Extra" xml:space="preserve">
|
||||||
|
<value>Ustawienia</value>
|
||||||
|
</data>
|
||||||
|
<data name="ExtraSettings" xml:space="preserve">
|
||||||
|
<value>Dodatkowe ustawienia</value>
|
||||||
|
</data>
|
||||||
|
<data name="FactoryDefaults" xml:space="preserve">
|
||||||
|
<value>Ustawienia fabryczne</value>
|
||||||
|
</data>
|
||||||
|
<data name="FanCurves" xml:space="preserve">
|
||||||
|
<value>Krzywe wentylatorów</value>
|
||||||
|
</data>
|
||||||
|
<data name="FanProfileCPU" xml:space="preserve">
|
||||||
|
<value>Krzywa wentylatora CPU</value>
|
||||||
|
</data>
|
||||||
|
<data name="FanProfileGPU" xml:space="preserve">
|
||||||
|
<value>Krzywa wentylatora GPU</value>
|
||||||
|
</data>
|
||||||
|
<data name="FanProfileMid" xml:space="preserve">
|
||||||
|
<value>Krzywa wentylatora centralnego</value>
|
||||||
|
</data>
|
||||||
|
<data name="FanProfiles" xml:space="preserve">
|
||||||
|
<value>Tryb krzywych</value>
|
||||||
|
</data>
|
||||||
|
<data name="FansAndPower" xml:space="preserve">
|
||||||
|
<value>Wentylatory i moc</value>
|
||||||
|
</data>
|
||||||
|
<data name="FanSpeed" xml:space="preserve">
|
||||||
|
<value>Obroty: </value>
|
||||||
|
</data>
|
||||||
|
<data name="FansPower" xml:space="preserve">
|
||||||
|
<value>Dostosuj</value>
|
||||||
|
</data>
|
||||||
|
<data name="GPUBoost" xml:space="preserve">
|
||||||
|
<value>Dynamic Boost</value>
|
||||||
|
</data>
|
||||||
|
<data name="GPUChanging" xml:space="preserve">
|
||||||
|
<value>Przełączanie</value>
|
||||||
|
</data>
|
||||||
|
<data name="GPUCoreClockOffset" xml:space="preserve">
|
||||||
|
<value>Przesunięcie zegara rdzenia</value>
|
||||||
|
</data>
|
||||||
|
<data name="GPUMemoryClockOffset" xml:space="preserve">
|
||||||
|
<value>Przesunięcie zegara pamięci</value>
|
||||||
|
</data>
|
||||||
|
<data name="GPUMode" xml:space="preserve">
|
||||||
|
<value>Tryb GPU</value>
|
||||||
|
</data>
|
||||||
|
<data name="GPUModeEco" xml:space="preserve">
|
||||||
|
<value>tylko iGPU</value>
|
||||||
|
</data>
|
||||||
|
<data name="GPUModeStandard" xml:space="preserve">
|
||||||
|
<value>iGPU + dGPU</value>
|
||||||
|
</data>
|
||||||
|
<data name="GPUModeUltimate" xml:space="preserve">
|
||||||
|
<value>tylko dGPU</value>
|
||||||
|
</data>
|
||||||
|
<data name="GPUSettings" xml:space="preserve">
|
||||||
|
<value>Ustawienia GPU</value>
|
||||||
|
</data>
|
||||||
|
<data name="GPUTempTarget" xml:space="preserve">
|
||||||
|
<value>Temperatura docelowa</value>
|
||||||
|
</data>
|
||||||
|
<data name="KeyBindings" xml:space="preserve">
|
||||||
|
<value>Ustawienia klawiszy skrótów</value>
|
||||||
|
</data>
|
||||||
|
<data name="Keyboard" xml:space="preserve">
|
||||||
|
<value>Klawiatura</value>
|
||||||
|
</data>
|
||||||
|
<data name="KeyboardAuto" xml:space="preserve">
|
||||||
|
<value>Automatycznie zmniejsz jasność w czasie pracy na baterii</value>
|
||||||
|
</data>
|
||||||
|
<data name="LaptopBacklight" xml:space="preserve">
|
||||||
|
<value>Podświetlenie</value>
|
||||||
|
</data>
|
||||||
|
<data name="LaptopKeyboard" xml:space="preserve">
|
||||||
|
<value>Klawiatura laptopa</value>
|
||||||
|
</data>
|
||||||
|
<data name="LaptopScreen" xml:space="preserve">
|
||||||
|
<value>Ekran laptopa</value>
|
||||||
|
</data>
|
||||||
|
<data name="Lid" xml:space="preserve">
|
||||||
|
<value>Pokrywa</value>
|
||||||
|
</data>
|
||||||
|
<data name="Lightbar" xml:space="preserve">
|
||||||
|
<value>Lightbar</value>
|
||||||
|
</data>
|
||||||
|
<data name="Logo" xml:space="preserve">
|
||||||
|
<value>Logo</value>
|
||||||
|
</data>
|
||||||
|
<data name="MatrixAudio" xml:space="preserve">
|
||||||
|
<value>Wizualizer muzyki</value>
|
||||||
|
</data>
|
||||||
|
<data name="MatrixBanner" xml:space="preserve">
|
||||||
|
<value>Binarny</value>
|
||||||
|
</data>
|
||||||
|
<data name="MatrixBright" xml:space="preserve">
|
||||||
|
<value>Jasny</value>
|
||||||
|
</data>
|
||||||
|
<data name="MatrixClock" xml:space="preserve">
|
||||||
|
<value>Clock</value>
|
||||||
|
</data>
|
||||||
|
<data name="MatrixDim" xml:space="preserve">
|
||||||
|
<value>Ciemny</value>
|
||||||
|
</data>
|
||||||
|
<data name="MatrixLogo" xml:space="preserve">
|
||||||
|
<value>Logo ROG</value>
|
||||||
|
</data>
|
||||||
|
<data name="MatrixMedium" xml:space="preserve">
|
||||||
|
<value>Średni</value>
|
||||||
|
</data>
|
||||||
|
<data name="MatrixOff" xml:space="preserve">
|
||||||
|
<value>Wyłączony</value>
|
||||||
|
</data>
|
||||||
|
<data name="MatrixPicture" xml:space="preserve">
|
||||||
|
<value>Obraz</value>
|
||||||
|
</data>
|
||||||
|
<data name="MaxRefreshTooltip" xml:space="preserve">
|
||||||
|
<value>Maksymalna częstotliwość odświeżania dla mniejszych opóźnień</value>
|
||||||
|
</data>
|
||||||
|
<data name="MinRefreshTooltip" xml:space="preserve">
|
||||||
|
<value>Częstotliwość odświeżania 60 Hz dla oszczędzania baterii</value>
|
||||||
|
</data>
|
||||||
|
<data name="Multizone" xml:space="preserve">
|
||||||
|
<value>Multizone</value>
|
||||||
|
</data>
|
||||||
|
<data name="MuteMic" xml:space="preserve">
|
||||||
|
<value>Wyciszenie mikrofonu</value>
|
||||||
|
</data>
|
||||||
|
<data name="OpenGHelper" xml:space="preserve">
|
||||||
|
<value>Otwórz okno G-Helper</value>
|
||||||
|
</data>
|
||||||
|
<data name="Optimized" xml:space="preserve">
|
||||||
|
<value>Optymalny</value>
|
||||||
|
</data>
|
||||||
|
<data name="OptimizedGPUTooltip" xml:space="preserve">
|
||||||
|
<value>Przełącza na Eco w czasie pracy na baterii i na Standard po podłączeniu</value>
|
||||||
|
</data>
|
||||||
|
<data name="OptimizedUSBC" xml:space="preserve">
|
||||||
|
<value>W trybie Optymalnym wyłącz GPU podczas ładowania przez USB-C</value>
|
||||||
|
</data>
|
||||||
|
<data name="Other" xml:space="preserve">
|
||||||
|
<value>Inne</value>
|
||||||
|
</data>
|
||||||
|
<data name="Overdrive" xml:space="preserve">
|
||||||
|
<value>Overdrive</value>
|
||||||
|
</data>
|
||||||
|
<data name="PerformanceMode" xml:space="preserve">
|
||||||
|
<value>Tryb zasilania</value>
|
||||||
|
</data>
|
||||||
|
<data name="PictureGif" xml:space="preserve">
|
||||||
|
<value>Obraz / GIF</value>
|
||||||
|
</data>
|
||||||
|
<data name="PlayPause" xml:space="preserve">
|
||||||
|
<value>Odtwórz / Pauza</value>
|
||||||
|
</data>
|
||||||
|
<data name="PowerLimits" xml:space="preserve">
|
||||||
|
<value>Limit mocy (PPT)</value>
|
||||||
|
</data>
|
||||||
|
<data name="PPTExperimental" xml:space="preserve">
|
||||||
|
<value>Ustawienie limitu mocy (PPT) jest funkcją eksperymentalną. Używaj ostrożnie, na własną odpowiedzialność!</value>
|
||||||
|
</data>
|
||||||
|
<data name="PrintScreen" xml:space="preserve">
|
||||||
|
<value>Zrzut ekranu</value>
|
||||||
|
</data>
|
||||||
|
<data name="Quit" xml:space="preserve">
|
||||||
|
<value>Zamknij</value>
|
||||||
|
</data>
|
||||||
|
<data name="RestartGPU" xml:space="preserve">
|
||||||
|
<value>Coś korzysta z dedykowanego GPU i uniemożliwia włączenie trybu Eco. Zresetować dedykowany GPU w Menadżerze Urządzeń? * Używaj na własną odpowiedzialność</value>
|
||||||
|
</data>
|
||||||
|
<data name="RPM" xml:space="preserve">
|
||||||
|
<value>RPM</value>
|
||||||
|
</data>
|
||||||
|
<data name="RunOnStartup" xml:space="preserve">
|
||||||
|
<value>Uruchom przy starcie systemu</value>
|
||||||
|
</data>
|
||||||
|
<data name="Shutdown" xml:space="preserve">
|
||||||
|
<value>Zamknij</value>
|
||||||
|
</data>
|
||||||
|
<data name="Silent" xml:space="preserve">
|
||||||
|
<value>Cichy</value>
|
||||||
|
</data>
|
||||||
|
<data name="Sleep" xml:space="preserve">
|
||||||
|
<value>Uśpij</value>
|
||||||
|
</data>
|
||||||
|
<data name="StandardGPUTooltip" xml:space="preserve">
|
||||||
|
<value>Enables dGPU for standard use</value>
|
||||||
|
</data>
|
||||||
|
<data name="StandardMode" xml:space="preserve">
|
||||||
|
<value>Standard</value>
|
||||||
|
</data>
|
||||||
|
<data name="StartupError" xml:space="preserve">
|
||||||
|
<value>Błąd uruchamiania</value>
|
||||||
|
</data>
|
||||||
|
<data name="ToggleAura" xml:space="preserve">
|
||||||
|
<value>Przełącz Aura</value>
|
||||||
|
</data>
|
||||||
|
<data name="ToggleMiniled" xml:space="preserve">
|
||||||
|
<value>Przełącz MiniLED</value>
|
||||||
|
</data>
|
||||||
|
<data name="ToggleScreen" xml:space="preserve">
|
||||||
|
<value>Przełącz ekran</value>
|
||||||
|
</data>
|
||||||
|
<data name="Turbo" xml:space="preserve">
|
||||||
|
<value>Turbo</value>
|
||||||
|
</data>
|
||||||
|
<data name="TurnedOff" xml:space="preserve">
|
||||||
|
<value>Wyłączony</value>
|
||||||
|
</data>
|
||||||
|
<data name="TurnOffOnBattery" xml:space="preserve">
|
||||||
|
<value>Wyłączony na baterii</value>
|
||||||
|
</data>
|
||||||
|
<data name="UltimateGPUTooltip" xml:space="preserve">
|
||||||
|
<value>Podłącza ekran laptopa bezpośrednio do dedykowanego GPU</value>
|
||||||
|
</data>
|
||||||
|
<data name="UltimateMode" xml:space="preserve">
|
||||||
|
<value>Ultimate</value>
|
||||||
|
</data>
|
||||||
|
<data name="VersionLabel" xml:space="preserve">
|
||||||
|
<value>Wersja</value>
|
||||||
|
</data>
|
||||||
|
<data name="VolumeDown" xml:space="preserve">
|
||||||
|
<value>Zmniejsz głośność</value>
|
||||||
|
</data>
|
||||||
|
<data name="VolumeMute" xml:space="preserve">
|
||||||
|
<value>Wyciszenie</value>
|
||||||
|
</data>
|
||||||
|
<data name="VolumeUp" xml:space="preserve">
|
||||||
|
<value>Zwiększ głośność</value>
|
||||||
|
</data>
|
||||||
|
<data name="WindowTop" xml:space="preserve">
|
||||||
|
<value>Zachowaj okno aplikacji zawsze na wierzchu</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
@@ -267,6 +267,9 @@
|
|||||||
<data name="FansPower" xml:space="preserve">
|
<data name="FansPower" xml:space="preserve">
|
||||||
<value>Fans + Power</value>
|
<value>Fans + Power</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="FnLock" xml:space="preserve">
|
||||||
|
<value>Process Fn+F hotkeys without Fn</value>
|
||||||
|
</data>
|
||||||
<data name="GPUBoost" xml:space="preserve">
|
<data name="GPUBoost" xml:space="preserve">
|
||||||
<value>Dynamic Boost</value>
|
<value>Dynamic Boost</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -306,6 +309,9 @@
|
|||||||
<data name="KeyboardAuto" xml:space="preserve">
|
<data name="KeyboardAuto" xml:space="preserve">
|
||||||
<value>Lower backlight brightness on battery and back when plugged</value>
|
<value>Lower backlight brightness on battery and back when plugged</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="KillGpuApps" xml:space="preserve">
|
||||||
|
<value>Stop all apps using GPU when switching to Eco</value>
|
||||||
|
</data>
|
||||||
<data name="LaptopBacklight" xml:space="preserve">
|
<data name="LaptopBacklight" xml:space="preserve">
|
||||||
<value>Laptop Backlight</value>
|
<value>Laptop Backlight</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -432,6 +438,9 @@
|
|||||||
<data name="ToggleAura" xml:space="preserve">
|
<data name="ToggleAura" xml:space="preserve">
|
||||||
<value>Toggle Aura</value>
|
<value>Toggle Aura</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="ToggleFnLock" xml:space="preserve">
|
||||||
|
<value>Toggle Fn-Lock</value>
|
||||||
|
</data>
|
||||||
<data name="ToggleMiniled" xml:space="preserve">
|
<data name="ToggleMiniled" xml:space="preserve">
|
||||||
<value>Toggle Miniled (if supported)</value>
|
<value>Toggle Miniled (if supported)</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -288,6 +288,9 @@
|
|||||||
<data name="KeyboardAuto" xml:space="preserve">
|
<data name="KeyboardAuto" xml:space="preserve">
|
||||||
<value>Вимкнути підсвітку на батареї та увімкнути на зарядці</value>
|
<value>Вимкнути підсвітку на батареї та увімкнути на зарядці</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="KillGpuApps" xml:space="preserve">
|
||||||
|
<value>Закривати додатки, що використовують GPU, під час переходу в режим Eco</value>
|
||||||
|
</data>
|
||||||
<data name="LaptopBacklight" xml:space="preserve">
|
<data name="LaptopBacklight" xml:space="preserve">
|
||||||
<value>Підсвітка</value>
|
<value>Підсвітка</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -297,6 +300,9 @@
|
|||||||
<data name="LaptopScreen" xml:space="preserve">
|
<data name="LaptopScreen" xml:space="preserve">
|
||||||
<value>Дисплей</value>
|
<value>Дисплей</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="MatrixAudio" xml:space="preserve">
|
||||||
|
<value>Аудіо візуалізатор</value>
|
||||||
|
</data>
|
||||||
<data name="MatrixBanner" xml:space="preserve">
|
<data name="MatrixBanner" xml:space="preserve">
|
||||||
<value>Бінарний банер</value>
|
<value>Бінарний банер</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -400,7 +406,7 @@
|
|||||||
<value>Аура</value>
|
<value>Аура</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleMiniled" xml:space="preserve">
|
<data name="ToggleMiniled" xml:space="preserve">
|
||||||
<value>Міні-лед (якщо підтримується)</value>
|
<value>Міні-лед (якщо є)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleScreen" xml:space="preserve">
|
<data name="ToggleScreen" xml:space="preserve">
|
||||||
<value>Вимкнути екран</value>
|
<value>Вимкнути екран</value>
|
||||||
|
|||||||
@@ -127,10 +127,10 @@
|
|||||||
<value>Chế độ Tiết kiệm</value>
|
<value>Chế độ Tiết kiệm</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AlertUltimateOff" xml:space="preserve">
|
<data name="AlertUltimateOff" xml:space="preserve">
|
||||||
<value>Chuyển sang Chế độ Ultimate cần phải khởi động lại</value>
|
<value>Chuyển sang Chế độ Tối thượng cần phải khởi động lại</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AlertUltimateOn" xml:space="preserve">
|
<data name="AlertUltimateOn" xml:space="preserve">
|
||||||
<value>Chế độ Ultimate yêu cầu phải khởi động lại</value>
|
<value>Chế độ Tối thượng yêu cầu phải khởi động lại</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AlertUltimateTitle" xml:space="preserve">
|
<data name="AlertUltimateTitle" xml:space="preserve">
|
||||||
<value>Khởi động lại ngay?</value>
|
<value>Khởi động lại ngay?</value>
|
||||||
@@ -148,13 +148,13 @@
|
|||||||
<value>G-Helper đã chạy. Hãy kiểm tra khay hệ thống</value>
|
<value>G-Helper đã chạy. Hãy kiểm tra khay hệ thống</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ApplyFanCurve" xml:space="preserve">
|
<data name="ApplyFanCurve" xml:space="preserve">
|
||||||
<value>Áp dụng Chế độ quạt tuỳ chỉnh</value>
|
<value>Áp dụng Đường cong quạt tuỳ chỉnh</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ApplyPowerLimits" xml:space="preserve">
|
<data name="ApplyPowerLimits" xml:space="preserve">
|
||||||
<value>Áp dụng Giới hạn nguồn</value>
|
<value>Áp dụng Giới hạn công suất</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ApplyWindowsPowerPlan" xml:space="preserve">
|
<data name="ApplyWindowsPowerPlan" xml:space="preserve">
|
||||||
<value>Tự động điều chỉnh Chế độ nguồn của Windows</value>
|
<value>Tự động điều chỉnh Kế hoạch nguồn của Windows</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraBreathe" xml:space="preserve">
|
<data name="AuraBreathe" xml:space="preserve">
|
||||||
<value>Hơi thở</value>
|
<value>Hơi thở</value>
|
||||||
@@ -184,7 +184,7 @@
|
|||||||
<value>Tự động</value>
|
<value>Tự động</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AutoRefreshTooltip" xml:space="preserve">
|
<data name="AutoRefreshTooltip" xml:space="preserve">
|
||||||
<value>Chuyển về 60Hz để tiết kiệm pin, và chuyển lại tần số quét cao khi cắm sạc</value>
|
<value>Chuyển về 60Hz khi không cắm sạc và 120Hz khi cắm sạc</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Awake" xml:space="preserve">
|
<data name="Awake" xml:space="preserve">
|
||||||
<value>Đang bật</value>
|
<value>Đang bật</value>
|
||||||
@@ -223,7 +223,7 @@
|
|||||||
<value>Đang không sạc</value>
|
<value>Đang không sạc</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DownloadUpdate" xml:space="preserve">
|
<data name="DownloadUpdate" xml:space="preserve">
|
||||||
<value>Tải xuống Bản cập nhật</value>
|
<value>Tải xuống bản cập nhật</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="EcoGPUTooltip" xml:space="preserve">
|
<data name="EcoGPUTooltip" xml:space="preserve">
|
||||||
<value>Tắt GPU rời để tiết kiệm pin</value>
|
<value>Tắt GPU rời để tiết kiệm pin</value>
|
||||||
@@ -238,7 +238,7 @@
|
|||||||
<value>Cài đặt bổ sung</value>
|
<value>Cài đặt bổ sung</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FactoryDefaults" xml:space="preserve">
|
<data name="FactoryDefaults" xml:space="preserve">
|
||||||
<value>Đặt về Mặc định</value>
|
<value>Đặt về mặc định</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FanCurves" xml:space="preserve">
|
<data name="FanCurves" xml:space="preserve">
|
||||||
<value>Chế độ Quạt</value>
|
<value>Chế độ Quạt</value>
|
||||||
@@ -256,16 +256,16 @@
|
|||||||
<value>Cấu hình Quạt</value>
|
<value>Cấu hình Quạt</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FansAndPower" xml:space="preserve">
|
<data name="FansAndPower" xml:space="preserve">
|
||||||
<value>Quạt và Nguồn điện</value>
|
<value>Quạt và Công suất</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FanSpeed" xml:space="preserve">
|
<data name="FanSpeed" xml:space="preserve">
|
||||||
<value> Quạt: </value>
|
<value>Quạt: </value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FansPower" xml:space="preserve">
|
<data name="FansPower" xml:space="preserve">
|
||||||
<value>Quạt + Nguồn</value>
|
<value>Quạt + Công suất</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GPUBoost" xml:space="preserve">
|
<data name="GPUBoost" xml:space="preserve">
|
||||||
<value>Dynamic Boost</value>
|
<value>Tăng tốc năng động</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GPUChanging" xml:space="preserve">
|
<data name="GPUChanging" xml:space="preserve">
|
||||||
<value>Đang đổi GPU</value>
|
<value>Đang đổi GPU</value>
|
||||||
@@ -280,13 +280,13 @@
|
|||||||
<value>Chế độ GPU</value>
|
<value>Chế độ GPU</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GPUModeEco" xml:space="preserve">
|
<data name="GPUModeEco" xml:space="preserve">
|
||||||
<value>Chỉ GPU tích hợp</value>
|
<value>Chỉ dùng GPU tích hợp</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GPUModeStandard" xml:space="preserve">
|
<data name="GPUModeStandard" xml:space="preserve">
|
||||||
<value>GPU tích hợp + GPU rời</value>
|
<value>GPU tích hợp + GPU rời</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GPUModeUltimate" xml:space="preserve">
|
<data name="GPUModeUltimate" xml:space="preserve">
|
||||||
<value>Độc quyền của GPU rời</value>
|
<value>Chỉ dùng GPU rời</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GPUSettings" xml:space="preserve">
|
<data name="GPUSettings" xml:space="preserve">
|
||||||
<value>Cài đặt GPU</value>
|
<value>Cài đặt GPU</value>
|
||||||
@@ -349,10 +349,10 @@
|
|||||||
<value>Hình ảnh</value>
|
<value>Hình ảnh</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MaxRefreshTooltip" xml:space="preserve">
|
<data name="MaxRefreshTooltip" xml:space="preserve">
|
||||||
<value>Tốc độ làm mới tối đa để có độ trễ thấp</value>
|
<value>Tần số quét tối đa để có độ trễ thấp</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MinRefreshTooltip" xml:space="preserve">
|
<data name="MinRefreshTooltip" xml:space="preserve">
|
||||||
<value>Tốc độ làm mới 60Hz để tiết kiệm pin</value>
|
<value>Tần số quét 60Hz để tiết kiệm pin</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Multizone" xml:space="preserve">
|
<data name="Multizone" xml:space="preserve">
|
||||||
<value>Đèn nền Đa vùng(Multi-Zone)</value>
|
<value>Đèn nền Đa vùng(Multi-Zone)</value>
|
||||||
@@ -367,7 +367,7 @@
|
|||||||
<value>Tối ưu</value>
|
<value>Tối ưu</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="OptimizedGPUTooltip" xml:space="preserve">
|
<data name="OptimizedGPUTooltip" xml:space="preserve">
|
||||||
<value>Chuyển về Chế độ Tiết kiệm khi dùng pin và Chế độ Tiêu chuẩn khi cắm sạc</value>
|
<value>Chuyển về Tiết kiệm khi dùng pin và Tiêu chuẩn khi cắm sạc</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="OptimizedUSBC" xml:space="preserve">
|
<data name="OptimizedUSBC" xml:space="preserve">
|
||||||
<value>Tắt GPU khi dùng sạc Type-C ở Chế độ Tối ưu</value>
|
<value>Tắt GPU khi dùng sạc Type-C ở Chế độ Tối ưu</value>
|
||||||
@@ -382,16 +382,16 @@
|
|||||||
<value>Chế độ Hiệu suất</value>
|
<value>Chế độ Hiệu suất</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="PictureGif" xml:space="preserve">
|
<data name="PictureGif" xml:space="preserve">
|
||||||
<value>Ảnh tĩnh / Ảnh Động</value>
|
<value>Ảnh tĩnh / Ảnh động</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="PlayPause" xml:space="preserve">
|
<data name="PlayPause" xml:space="preserve">
|
||||||
<value>Phát / Dừng</value>
|
<value>Phát / Dừng</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="PowerLimits" xml:space="preserve">
|
<data name="PowerLimits" xml:space="preserve">
|
||||||
<value>Giới hạn Nguồn (PPT)</value>
|
<value>Giới hạn công suất (PPT)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="PPTExperimental" xml:space="preserve">
|
<data name="PPTExperimental" xml:space="preserve">
|
||||||
<value>Giới hạn Nguồn (PPT) là tính năng thử nghiệm. Sử dụng nó cẩn thận và tự chịu mọi rủi ro!</value>
|
<value>Giới hạn công suất (PPT) là tính năng thử nghiệm. Sử dụng nó cẩn thận và tự chịu mọi rủi ro!</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="PrintScreen" xml:space="preserve">
|
<data name="PrintScreen" xml:space="preserve">
|
||||||
<value>Chụp màn hình</value>
|
<value>Chụp màn hình</value>
|
||||||
@@ -400,10 +400,10 @@
|
|||||||
<value>Thoát</value>
|
<value>Thoát</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RestartGPU" xml:space="preserve">
|
<data name="RestartGPU" xml:space="preserve">
|
||||||
<value>Không thể chuyển về Chế độ Tiết kiệm do có gì đó đang dùng GPU. Khởi động lại GPU rời trong Quản lý Thiết bị? * Bạn sẽ chịu mọi rủi ro.</value>
|
<value>Không thể chuyển về Chế độ Tiết kiệm do có gì đó đang dùng GPU rời. Khởi động lại GPU rời trong Quản lý Thiết bị? * Bạn sẽ chịu mọi rủi ro.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RPM" xml:space="preserve">
|
<data name="RPM" xml:space="preserve">
|
||||||
<value>RPM</value>
|
<value>VTP</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RunOnStartup" xml:space="preserve">
|
<data name="RunOnStartup" xml:space="preserve">
|
||||||
<value>Chạy khi khởi động</value>
|
<value>Chạy khi khởi động</value>
|
||||||
@@ -418,7 +418,7 @@
|
|||||||
<value>Ngủ</value>
|
<value>Ngủ</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="StandardGPUTooltip" xml:space="preserve">
|
<data name="StandardGPUTooltip" xml:space="preserve">
|
||||||
<value>Bật GPU rời cho khi cho mức độ dùng tiêu chuẩn</value>
|
<value>Bật GPU rời song song với GPU tích hợp</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="StandardMode" xml:space="preserve">
|
<data name="StandardMode" xml:space="preserve">
|
||||||
<value>Tiêu chuẩn</value>
|
<value>Tiêu chuẩn</value>
|
||||||
@@ -445,10 +445,10 @@
|
|||||||
<value>Tắt khi không cắm sạc</value>
|
<value>Tắt khi không cắm sạc</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="UltimateGPUTooltip" xml:space="preserve">
|
<data name="UltimateGPUTooltip" xml:space="preserve">
|
||||||
<value>Định tuyến màn hình laptop đến Card rời, tối đa hóa FPS</value>
|
<value>Chỉ dùng GPU rời, tối đa hóa FPS</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="UltimateMode" xml:space="preserve">
|
<data name="UltimateMode" xml:space="preserve">
|
||||||
<value>Ultimate</value>
|
<value>Tối thượng</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="VersionLabel" xml:space="preserve">
|
<data name="VersionLabel" xml:space="preserve">
|
||||||
<value>Phiên bản</value>
|
<value>Phiên bản</value>
|
||||||
|
|||||||
@@ -189,6 +189,12 @@
|
|||||||
<data name="Awake" xml:space="preserve">
|
<data name="Awake" xml:space="preserve">
|
||||||
<value>唤醒时</value>
|
<value>唤醒时</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BacklightTimeout" xml:space="preserve">
|
||||||
|
<value>使用电池时的背光超时时间</value>
|
||||||
|
</data>
|
||||||
|
<data name="BacklightTimeoutPlugged" xml:space="preserve">
|
||||||
|
<value>插入电源时的背光超时时间 (0 - 始终开启)</value>
|
||||||
|
</data>
|
||||||
<data name="Balanced" xml:space="preserve">
|
<data name="Balanced" xml:space="preserve">
|
||||||
<value>平衡模式</value>
|
<value>平衡模式</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -258,6 +264,9 @@
|
|||||||
<data name="FansPower" xml:space="preserve">
|
<data name="FansPower" xml:space="preserve">
|
||||||
<value>风扇与电源设置</value>
|
<value>风扇与电源设置</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="FnLock" xml:space="preserve">
|
||||||
|
<value>无需FN处理 Fn+F 热键</value>
|
||||||
|
</data>
|
||||||
<data name="GPUChanging" xml:space="preserve">
|
<data name="GPUChanging" xml:space="preserve">
|
||||||
<value>切换中...</value>
|
<value>切换中...</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -282,6 +291,9 @@
|
|||||||
<data name="KeyboardAuto" xml:space="preserve">
|
<data name="KeyboardAuto" xml:space="preserve">
|
||||||
<value>电池模式下降低键盘亮度以省电,并在插上电源时恢复</value>
|
<value>电池模式下降低键盘亮度以省电,并在插上电源时恢复</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="KillGpuApps" xml:space="preserve">
|
||||||
|
<value>当切换到集显模式时,停止所有正在使用dGPU的应用</value>
|
||||||
|
</data>
|
||||||
<data name="LaptopBacklight" xml:space="preserve">
|
<data name="LaptopBacklight" xml:space="preserve">
|
||||||
<value>背光</value>
|
<value>背光</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -324,6 +336,9 @@
|
|||||||
<data name="Multizone" xml:space="preserve">
|
<data name="Multizone" xml:space="preserve">
|
||||||
<value>多区域设置</value>
|
<value>多区域设置</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="MuteMic" xml:space="preserve">
|
||||||
|
<value>静音麦克风</value>
|
||||||
|
</data>
|
||||||
<data name="OpenGHelper" xml:space="preserve">
|
<data name="OpenGHelper" xml:space="preserve">
|
||||||
<value>打开G-Helper窗口</value>
|
<value>打开G-Helper窗口</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -333,6 +348,9 @@
|
|||||||
<data name="OptimizedGPUTooltip" xml:space="preserve">
|
<data name="OptimizedGPUTooltip" xml:space="preserve">
|
||||||
<value>使用电池时切换到集显模式,并在插上电源后重新启用标准模式</value>
|
<value>使用电池时切换到集显模式,并在插上电源后重新启用标准模式</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="OptimizedUSBC" xml:space="preserve">
|
||||||
|
<value>在自动切换模式下,使用USB-C充电器时禁用GPU</value>
|
||||||
|
</data>
|
||||||
<data name="Other" xml:space="preserve">
|
<data name="Other" xml:space="preserve">
|
||||||
<value>其他</value>
|
<value>其他</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -405,10 +423,16 @@
|
|||||||
<data name="VersionLabel" xml:space="preserve">
|
<data name="VersionLabel" xml:space="preserve">
|
||||||
<value>版本</value>
|
<value>版本</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="VolumeDown" xml:space="preserve">
|
||||||
|
<value>音量降低</value>
|
||||||
|
</data>
|
||||||
<data name="VolumeMute" xml:space="preserve">
|
<data name="VolumeMute" xml:space="preserve">
|
||||||
<value>静音</value>
|
<value>静音</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="VolumeUp" xml:space="preserve">
|
||||||
|
<value>音量增加</value>
|
||||||
|
</data>
|
||||||
<data name="WindowTop" xml:space="preserve">
|
<data name="WindowTop" xml:space="preserve">
|
||||||
<value>窗口置顶</value>
|
<value>窗口置顶</value>
|
||||||
</data>
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -190,7 +190,10 @@
|
|||||||
<value>喚醒時</value>
|
<value>喚醒時</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BacklightTimeout" xml:space="preserve">
|
<data name="BacklightTimeout" xml:space="preserve">
|
||||||
<value>電池模式下自動關閉背光的秒數</value>
|
<value>電池模式下自動關閉鍵盤背光的秒數(0 = 不關閉)</value>
|
||||||
|
</data>
|
||||||
|
<data name="BacklightTimeoutPlugged" xml:space="preserve">
|
||||||
|
<value>插電模式下自動關閉鍵盤背光的秒數(0 = 不關閉)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Balanced" xml:space="preserve">
|
<data name="Balanced" xml:space="preserve">
|
||||||
<value>平衡模式</value>
|
<value>平衡模式</value>
|
||||||
@@ -263,6 +266,9 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="FansPower" xml:space="preserve">
|
<data name="FansPower" xml:space="preserve">
|
||||||
<value>自定義設置</value>
|
<value>自定義設置</value>
|
||||||
|
</data>
|
||||||
|
<data name="FnLock" xml:space="preserve">
|
||||||
|
<value>使用Fn+F1~F12的功能時不須按下Fn鍵</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GPUBoost" xml:space="preserve">
|
<data name="GPUBoost" xml:space="preserve">
|
||||||
<value>Dynamic Boost</value>
|
<value>Dynamic Boost</value>
|
||||||
@@ -301,10 +307,13 @@
|
|||||||
<value>鍵盤</value>
|
<value>鍵盤</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="KeyboardAuto" xml:space="preserve">
|
<data name="KeyboardAuto" xml:space="preserve">
|
||||||
<value>電池模式時自動降低鍵盤背光亮度以省電</value>
|
<value>電池模式時自動降低鍵盤背光亮度以節省電量</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="LaptopBacklight" xml:space="preserve">
|
<data name="LaptopBacklight" xml:space="preserve">
|
||||||
<value>背光</value>
|
<value>背光</value>
|
||||||
|
</data>
|
||||||
|
<data name="KillGpuApps" xml:space="preserve">
|
||||||
|
<value>切換至節能模式時,關閉所有正在使用獨顯的程式</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="LaptopKeyboard" xml:space="preserve">
|
<data name="LaptopKeyboard" xml:space="preserve">
|
||||||
<value>鍵盤背光:</value>
|
<value>鍵盤背光:</value>
|
||||||
@@ -452,9 +461,15 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="VersionLabel" xml:space="preserve">
|
<data name="VersionLabel" xml:space="preserve">
|
||||||
<value>版本</value>
|
<value>版本</value>
|
||||||
|
</data>
|
||||||
|
<data name="VolumeDown" xml:space="preserve">
|
||||||
|
<value>音量降低</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="VolumeMute" xml:space="preserve">
|
<data name="VolumeMute" xml:space="preserve">
|
||||||
<value>靜音</value>
|
<value>靜音</value>
|
||||||
|
</data>
|
||||||
|
<data name="VolumeUp" xml:space="preserve">
|
||||||
|
<value>音量增加</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="WindowTop" xml:space="preserve">
|
<data name="WindowTop" xml:space="preserve">
|
||||||
<value>視窗置頂</value>
|
<value>視窗置頂</value>
|
||||||
|
|||||||
BIN
app/Resources/icons8-function-mac-96.png
Normal file
BIN
app/Resources/icons8-function-mac-96.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 815 B |
162
app/Settings.Designer.cs
generated
162
app/Settings.Designer.cs
generated
@@ -66,9 +66,9 @@ namespace GHelper
|
|||||||
tableGPU = new TableLayoutPanel();
|
tableGPU = new TableLayoutPanel();
|
||||||
buttonEco = new RButton();
|
buttonEco = new RButton();
|
||||||
buttonStandard = new RButton();
|
buttonStandard = new RButton();
|
||||||
|
buttonXGM = new RButton();
|
||||||
buttonOptimized = new RButton();
|
buttonOptimized = new RButton();
|
||||||
buttonUltimate = new RButton();
|
buttonUltimate = new RButton();
|
||||||
buttonXGM = new RButton();
|
|
||||||
panelScreen = new Panel();
|
panelScreen = new Panel();
|
||||||
labelMidFan = new Label();
|
labelMidFan = new Label();
|
||||||
labelTipScreen = new Label();
|
labelTipScreen = new Label();
|
||||||
@@ -81,12 +81,12 @@ namespace GHelper
|
|||||||
labelSreen = new Label();
|
labelSreen = new Label();
|
||||||
panelKeyboard = new Panel();
|
panelKeyboard = new Panel();
|
||||||
tableLayoutKeyboard = new TableLayoutPanel();
|
tableLayoutKeyboard = new TableLayoutPanel();
|
||||||
comboKeyboard = new RComboBox();
|
buttonKeyboard = new RButton();
|
||||||
panelColor = new Panel();
|
panelColor = new Panel();
|
||||||
pictureColor2 = new PictureBox();
|
pictureColor2 = new PictureBox();
|
||||||
pictureColor = new PictureBox();
|
pictureColor = new PictureBox();
|
||||||
buttonKeyboardColor = new RButton();
|
buttonKeyboardColor = new RButton();
|
||||||
buttonKeyboard = new RButton();
|
comboKeyboard = new RComboBox();
|
||||||
pictureKeyboard = new PictureBox();
|
pictureKeyboard = new PictureBox();
|
||||||
labelKeyboard = new Label();
|
labelKeyboard = new Label();
|
||||||
panelMatrix.SuspendLayout();
|
panelMatrix.SuspendLayout();
|
||||||
@@ -121,7 +121,7 @@ namespace GHelper
|
|||||||
panelMatrix.Controls.Add(pictureMatrix);
|
panelMatrix.Controls.Add(pictureMatrix);
|
||||||
panelMatrix.Controls.Add(labelMatrix);
|
panelMatrix.Controls.Add(labelMatrix);
|
||||||
panelMatrix.Dock = DockStyle.Top;
|
panelMatrix.Dock = DockStyle.Top;
|
||||||
panelMatrix.Location = new Point(10, 758);
|
panelMatrix.Location = new Point(10, 795);
|
||||||
panelMatrix.Margin = new Padding(8);
|
panelMatrix.Margin = new Padding(8);
|
||||||
panelMatrix.Name = "panelMatrix";
|
panelMatrix.Name = "panelMatrix";
|
||||||
panelMatrix.Padding = new Padding(0, 0, 0, 12);
|
panelMatrix.Padding = new Padding(0, 0, 0, 12);
|
||||||
@@ -158,7 +158,7 @@ namespace GHelper
|
|||||||
tableLayoutMatrix.Name = "tableLayoutMatrix";
|
tableLayoutMatrix.Name = "tableLayoutMatrix";
|
||||||
tableLayoutMatrix.RowCount = 1;
|
tableLayoutMatrix.RowCount = 1;
|
||||||
tableLayoutMatrix.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
|
tableLayoutMatrix.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
|
||||||
tableLayoutMatrix.Size = new Size(771, 60);
|
tableLayoutMatrix.Size = new Size(771, 59);
|
||||||
tableLayoutMatrix.TabIndex = 43;
|
tableLayoutMatrix.TabIndex = 43;
|
||||||
//
|
//
|
||||||
// comboMatrix
|
// comboMatrix
|
||||||
@@ -202,7 +202,7 @@ namespace GHelper
|
|||||||
buttonMatrix.Dock = DockStyle.Top;
|
buttonMatrix.Dock = DockStyle.Top;
|
||||||
buttonMatrix.FlatAppearance.BorderSize = 0;
|
buttonMatrix.FlatAppearance.BorderSize = 0;
|
||||||
buttonMatrix.FlatStyle = FlatStyle.Flat;
|
buttonMatrix.FlatStyle = FlatStyle.Flat;
|
||||||
buttonMatrix.Location = new Point(518, 8);
|
buttonMatrix.Location = new Point(518, 7);
|
||||||
buttonMatrix.Margin = new Padding(4, 7, 4, 7);
|
buttonMatrix.Margin = new Padding(4, 7, 4, 7);
|
||||||
buttonMatrix.Name = "buttonMatrix";
|
buttonMatrix.Name = "buttonMatrix";
|
||||||
buttonMatrix.Secondary = true;
|
buttonMatrix.Secondary = true;
|
||||||
@@ -231,7 +231,7 @@ namespace GHelper
|
|||||||
labelMatrix.Name = "labelMatrix";
|
labelMatrix.Name = "labelMatrix";
|
||||||
labelMatrix.Size = new Size(170, 32);
|
labelMatrix.Size = new Size(170, 32);
|
||||||
labelMatrix.TabIndex = 38;
|
labelMatrix.TabIndex = 38;
|
||||||
labelMatrix.Text = Properties.Strings.AnimeMatrix;
|
labelMatrix.Text = "Anime Matrix";
|
||||||
//
|
//
|
||||||
// panelBattery
|
// panelBattery
|
||||||
//
|
//
|
||||||
@@ -244,7 +244,7 @@ namespace GHelper
|
|||||||
panelBattery.Controls.Add(pictureBattery);
|
panelBattery.Controls.Add(pictureBattery);
|
||||||
panelBattery.Controls.Add(labelBatteryTitle);
|
panelBattery.Controls.Add(labelBatteryTitle);
|
||||||
panelBattery.Dock = DockStyle.Top;
|
panelBattery.Dock = DockStyle.Top;
|
||||||
panelBattery.Location = new Point(10, 926);
|
panelBattery.Location = new Point(10, 963);
|
||||||
panelBattery.Margin = new Padding(8);
|
panelBattery.Margin = new Padding(8);
|
||||||
panelBattery.Name = "panelBattery";
|
panelBattery.Name = "panelBattery";
|
||||||
panelBattery.Padding = new Padding(0, 0, 0, 12);
|
panelBattery.Padding = new Padding(0, 0, 0, 12);
|
||||||
@@ -276,7 +276,7 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
// labelVersion
|
// labelVersion
|
||||||
//
|
//
|
||||||
labelVersion.AutoSize = false;
|
labelVersion.Cursor = Cursors.Hand;
|
||||||
labelVersion.Font = new Font("Segoe UI", 9F, FontStyle.Underline, GraphicsUnit.Point);
|
labelVersion.Font = new Font("Segoe UI", 9F, FontStyle.Underline, GraphicsUnit.Point);
|
||||||
labelVersion.ForeColor = SystemColors.ControlDark;
|
labelVersion.ForeColor = SystemColors.ControlDark;
|
||||||
labelVersion.Location = new Point(25, 119);
|
labelVersion.Location = new Point(25, 119);
|
||||||
@@ -285,7 +285,6 @@ namespace GHelper
|
|||||||
labelVersion.Size = new Size(300, 32);
|
labelVersion.Size = new Size(300, 32);
|
||||||
labelVersion.TabIndex = 37;
|
labelVersion.TabIndex = 37;
|
||||||
labelVersion.Text = "v.0";
|
labelVersion.Text = "v.0";
|
||||||
labelVersion.Cursor = Cursors.Hand;
|
|
||||||
//
|
//
|
||||||
// labelBattery
|
// labelBattery
|
||||||
//
|
//
|
||||||
@@ -317,7 +316,7 @@ namespace GHelper
|
|||||||
labelBatteryTitle.Name = "labelBatteryTitle";
|
labelBatteryTitle.Name = "labelBatteryTitle";
|
||||||
labelBatteryTitle.Size = new Size(393, 36);
|
labelBatteryTitle.Size = new Size(393, 36);
|
||||||
labelBatteryTitle.TabIndex = 34;
|
labelBatteryTitle.TabIndex = 34;
|
||||||
labelBatteryTitle.Text = Properties.Strings.BatteryChargeLimit;
|
labelBatteryTitle.Text = "Battery Charge Limit";
|
||||||
//
|
//
|
||||||
// panelFooter
|
// panelFooter
|
||||||
//
|
//
|
||||||
@@ -326,7 +325,7 @@ namespace GHelper
|
|||||||
panelFooter.Controls.Add(buttonQuit);
|
panelFooter.Controls.Add(buttonQuit);
|
||||||
panelFooter.Controls.Add(checkStartup);
|
panelFooter.Controls.Add(checkStartup);
|
||||||
panelFooter.Dock = DockStyle.Top;
|
panelFooter.Dock = DockStyle.Top;
|
||||||
panelFooter.Location = new Point(10, 1089);
|
panelFooter.Location = new Point(10, 1126);
|
||||||
panelFooter.Margin = new Padding(8);
|
panelFooter.Margin = new Padding(8);
|
||||||
panelFooter.Name = "panelFooter";
|
panelFooter.Name = "panelFooter";
|
||||||
panelFooter.Padding = new Padding(0, 0, 0, 10);
|
panelFooter.Padding = new Padding(0, 0, 0, 10);
|
||||||
@@ -398,7 +397,7 @@ namespace GHelper
|
|||||||
labelPerf.Name = "labelPerf";
|
labelPerf.Name = "labelPerf";
|
||||||
labelPerf.Size = new Size(234, 32);
|
labelPerf.Size = new Size(234, 32);
|
||||||
labelPerf.TabIndex = 31;
|
labelPerf.TabIndex = 31;
|
||||||
labelPerf.Text = Properties.Strings.PerformanceMode;
|
labelPerf.Text = "Performance Mode";
|
||||||
//
|
//
|
||||||
// labelCPUFan
|
// labelCPUFan
|
||||||
//
|
//
|
||||||
@@ -572,7 +571,7 @@ namespace GHelper
|
|||||||
labelGPU.Name = "labelGPU";
|
labelGPU.Name = "labelGPU";
|
||||||
labelGPU.Size = new Size(136, 32);
|
labelGPU.Size = new Size(136, 32);
|
||||||
labelGPU.TabIndex = 18;
|
labelGPU.TabIndex = 18;
|
||||||
labelGPU.Text = Properties.Strings.GPUMode;
|
labelGPU.Text = "GPU Mode";
|
||||||
//
|
//
|
||||||
// labelGPUFan
|
// labelGPUFan
|
||||||
//
|
//
|
||||||
@@ -653,6 +652,29 @@ namespace GHelper
|
|||||||
buttonStandard.TextImageRelation = TextImageRelation.ImageAboveText;
|
buttonStandard.TextImageRelation = TextImageRelation.ImageAboveText;
|
||||||
buttonStandard.UseVisualStyleBackColor = false;
|
buttonStandard.UseVisualStyleBackColor = false;
|
||||||
//
|
//
|
||||||
|
// buttonXGM
|
||||||
|
//
|
||||||
|
buttonXGM.Activated = false;
|
||||||
|
buttonXGM.BackColor = SystemColors.ControlLightLight;
|
||||||
|
buttonXGM.BorderColor = Color.Transparent;
|
||||||
|
buttonXGM.BorderRadius = 5;
|
||||||
|
buttonXGM.Dock = DockStyle.Top;
|
||||||
|
buttonXGM.FlatAppearance.BorderSize = 0;
|
||||||
|
buttonXGM.FlatStyle = FlatStyle.Flat;
|
||||||
|
buttonXGM.ForeColor = SystemColors.ControlText;
|
||||||
|
buttonXGM.Image = Properties.Resources.icons8_video_48;
|
||||||
|
buttonXGM.ImageAlign = ContentAlignment.BottomCenter;
|
||||||
|
buttonXGM.Location = new Point(4, 132);
|
||||||
|
buttonXGM.Margin = new Padding(4);
|
||||||
|
buttonXGM.Name = "buttonXGM";
|
||||||
|
buttonXGM.Secondary = false;
|
||||||
|
buttonXGM.Size = new Size(185, 120);
|
||||||
|
buttonXGM.TabIndex = 2;
|
||||||
|
buttonXGM.Text = "XG Mobile";
|
||||||
|
buttonXGM.TextImageRelation = TextImageRelation.ImageAboveText;
|
||||||
|
buttonXGM.UseVisualStyleBackColor = false;
|
||||||
|
buttonXGM.Visible = false;
|
||||||
|
//
|
||||||
// buttonOptimized
|
// buttonOptimized
|
||||||
//
|
//
|
||||||
buttonOptimized.Activated = false;
|
buttonOptimized.Activated = false;
|
||||||
@@ -696,30 +718,6 @@ namespace GHelper
|
|||||||
buttonUltimate.Text = Properties.Strings.UltimateMode;
|
buttonUltimate.Text = Properties.Strings.UltimateMode;
|
||||||
buttonUltimate.TextImageRelation = TextImageRelation.ImageAboveText;
|
buttonUltimate.TextImageRelation = TextImageRelation.ImageAboveText;
|
||||||
buttonUltimate.UseVisualStyleBackColor = false;
|
buttonUltimate.UseVisualStyleBackColor = false;
|
||||||
//
|
|
||||||
// buttonXGM
|
|
||||||
//
|
|
||||||
buttonXGM.Activated = false;
|
|
||||||
buttonXGM.BackColor = SystemColors.ControlLightLight;
|
|
||||||
buttonXGM.BorderColor = Color.Transparent;
|
|
||||||
buttonXGM.BorderRadius = 5;
|
|
||||||
buttonXGM.Dock = DockStyle.Top;
|
|
||||||
buttonXGM.FlatAppearance.BorderSize = 0;
|
|
||||||
buttonXGM.FlatStyle = FlatStyle.Flat;
|
|
||||||
buttonXGM.ForeColor = SystemColors.ControlText;
|
|
||||||
buttonXGM.Image = Properties.Resources.icons8_video_48;
|
|
||||||
buttonXGM.ImageAlign = ContentAlignment.BottomCenter;
|
|
||||||
buttonXGM.Location = new Point(390, 4);
|
|
||||||
buttonXGM.Margin = new Padding(4);
|
|
||||||
buttonXGM.Name = "buttonXGM";
|
|
||||||
buttonXGM.Secondary = false;
|
|
||||||
buttonXGM.Size = new Size(185, 120);
|
|
||||||
buttonXGM.TabIndex = 2;
|
|
||||||
buttonXGM.Text = "XG Mobile";
|
|
||||||
buttonXGM.TextImageRelation = TextImageRelation.ImageAboveText;
|
|
||||||
buttonXGM.UseVisualStyleBackColor = false;
|
|
||||||
buttonXGM.Visible = false;
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// panelScreen
|
// panelScreen
|
||||||
//
|
//
|
||||||
@@ -731,7 +729,7 @@ namespace GHelper
|
|||||||
panelScreen.Controls.Add(pictureScreen);
|
panelScreen.Controls.Add(pictureScreen);
|
||||||
panelScreen.Controls.Add(labelSreen);
|
panelScreen.Controls.Add(labelSreen);
|
||||||
panelScreen.Dock = DockStyle.Top;
|
panelScreen.Dock = DockStyle.Top;
|
||||||
panelScreen.Location = new Point(10, 447);
|
panelScreen.Location = new Point(10, 485);
|
||||||
panelScreen.Margin = new Padding(8);
|
panelScreen.Margin = new Padding(8);
|
||||||
panelScreen.Name = "panelScreen";
|
panelScreen.Name = "panelScreen";
|
||||||
panelScreen.Padding = new Padding(0, 0, 0, 10);
|
panelScreen.Padding = new Padding(0, 0, 0, 10);
|
||||||
@@ -878,7 +876,7 @@ namespace GHelper
|
|||||||
labelSreen.Name = "labelSreen";
|
labelSreen.Name = "labelSreen";
|
||||||
labelSreen.Size = new Size(176, 32);
|
labelSreen.Size = new Size(176, 32);
|
||||||
labelSreen.TabIndex = 21;
|
labelSreen.TabIndex = 21;
|
||||||
labelSreen.Text = Properties.Strings.LaptopScreen;
|
labelSreen.Text = "Laptop Screen";
|
||||||
//
|
//
|
||||||
// panelKeyboard
|
// panelKeyboard
|
||||||
//
|
//
|
||||||
@@ -888,11 +886,11 @@ namespace GHelper
|
|||||||
panelKeyboard.Controls.Add(pictureKeyboard);
|
panelKeyboard.Controls.Add(pictureKeyboard);
|
||||||
panelKeyboard.Controls.Add(labelKeyboard);
|
panelKeyboard.Controls.Add(labelKeyboard);
|
||||||
panelKeyboard.Dock = DockStyle.Top;
|
panelKeyboard.Dock = DockStyle.Top;
|
||||||
panelKeyboard.Location = new Point(10, 628);
|
panelKeyboard.Location = new Point(10, 666);
|
||||||
panelKeyboard.Margin = new Padding(8);
|
panelKeyboard.Margin = new Padding(8);
|
||||||
panelKeyboard.Name = "panelKeyboard";
|
panelKeyboard.Name = "panelKeyboard";
|
||||||
panelKeyboard.Padding = new Padding(0, 0, 0, 12);
|
panelKeyboard.Padding = new Padding(0, 0, 0, 12);
|
||||||
panelKeyboard.Size = new Size(810, 130);
|
panelKeyboard.Size = new Size(810, 129);
|
||||||
panelKeyboard.TabIndex = 39;
|
panelKeyboard.TabIndex = 39;
|
||||||
//
|
//
|
||||||
// tableLayoutKeyboard
|
// tableLayoutKeyboard
|
||||||
@@ -901,37 +899,37 @@ namespace GHelper
|
|||||||
tableLayoutKeyboard.AutoSize = true;
|
tableLayoutKeyboard.AutoSize = true;
|
||||||
tableLayoutKeyboard.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
tableLayoutKeyboard.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||||
tableLayoutKeyboard.ColumnCount = 3;
|
tableLayoutKeyboard.ColumnCount = 3;
|
||||||
tableLayoutKeyboard.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25F));
|
tableLayoutKeyboard.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33F));
|
||||||
tableLayoutKeyboard.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25F));
|
tableLayoutKeyboard.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33F));
|
||||||
tableLayoutKeyboard.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25F));
|
tableLayoutKeyboard.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33F));
|
||||||
tableLayoutKeyboard.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25F));
|
tableLayoutKeyboard.Controls.Add(buttonKeyboard, 0, 0);
|
||||||
|
tableLayoutKeyboard.Controls.Add(panelColor, 0, 0);
|
||||||
tableLayoutKeyboard.Controls.Add(comboKeyboard, 0, 0);
|
tableLayoutKeyboard.Controls.Add(comboKeyboard, 0, 0);
|
||||||
tableLayoutKeyboard.Controls.Add(panelColor, 1, 0);
|
|
||||||
tableLayoutKeyboard.Controls.Add(buttonKeyboard, 2, 0);
|
|
||||||
tableLayoutKeyboard.Location = new Point(16, 50);
|
tableLayoutKeyboard.Location = new Point(16, 50);
|
||||||
tableLayoutKeyboard.Margin = new Padding(8);
|
tableLayoutKeyboard.Margin = new Padding(8);
|
||||||
tableLayoutKeyboard.Name = "tableLayoutKeyboard";
|
tableLayoutKeyboard.Name = "tableLayoutKeyboard";
|
||||||
tableLayoutKeyboard.RowCount = 1;
|
tableLayoutKeyboard.RowCount = 1;
|
||||||
tableLayoutKeyboard.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
|
tableLayoutKeyboard.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
|
||||||
tableLayoutKeyboard.Size = new Size(771, 60);
|
tableLayoutKeyboard.Size = new Size(771, 59);
|
||||||
tableLayoutKeyboard.TabIndex = 39;
|
tableLayoutKeyboard.TabIndex = 39;
|
||||||
//
|
//
|
||||||
// comboKeyboard
|
// buttonKeyboard
|
||||||
//
|
//
|
||||||
comboKeyboard.BorderColor = Color.White;
|
buttonKeyboard.Activated = false;
|
||||||
comboKeyboard.ButtonColor = Color.FromArgb(255, 255, 255);
|
buttonKeyboard.BackColor = SystemColors.ControlLight;
|
||||||
comboKeyboard.Dock = DockStyle.Top;
|
buttonKeyboard.BorderColor = Color.Transparent;
|
||||||
comboKeyboard.FlatStyle = FlatStyle.Flat;
|
buttonKeyboard.BorderRadius = 2;
|
||||||
comboKeyboard.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
|
buttonKeyboard.Dock = DockStyle.Top;
|
||||||
comboKeyboard.FormattingEnabled = true;
|
buttonKeyboard.FlatAppearance.BorderSize = 0;
|
||||||
comboKeyboard.ItemHeight = 32;
|
buttonKeyboard.FlatStyle = FlatStyle.Flat;
|
||||||
comboKeyboard.Items.AddRange(new object[] { "Static", "Breathe", "Rainbow", "Strobe" });
|
buttonKeyboard.Location = new Point(518, 7);
|
||||||
comboKeyboard.Location = new Point(4, 10);
|
buttonKeyboard.Margin = new Padding(4, 7, 4, 7);
|
||||||
comboKeyboard.Margin = new Padding(4, 10, 4, 8);
|
buttonKeyboard.Name = "buttonKeyboard";
|
||||||
comboKeyboard.Name = "comboKeyboard";
|
buttonKeyboard.Secondary = true;
|
||||||
comboKeyboard.Size = new Size(249, 44);
|
buttonKeyboard.Size = new Size(249, 45);
|
||||||
comboKeyboard.TabIndex = 35;
|
buttonKeyboard.TabIndex = 37;
|
||||||
comboKeyboard.TabStop = false;
|
buttonKeyboard.Text = Properties.Strings.Extra;
|
||||||
|
buttonKeyboard.UseVisualStyleBackColor = false;
|
||||||
//
|
//
|
||||||
// panelColor
|
// panelColor
|
||||||
//
|
//
|
||||||
@@ -940,7 +938,7 @@ namespace GHelper
|
|||||||
panelColor.Controls.Add(pictureColor);
|
panelColor.Controls.Add(pictureColor);
|
||||||
panelColor.Controls.Add(buttonKeyboardColor);
|
panelColor.Controls.Add(buttonKeyboardColor);
|
||||||
panelColor.Dock = DockStyle.Fill;
|
panelColor.Dock = DockStyle.Fill;
|
||||||
panelColor.Location = new Point(261, 8);
|
panelColor.Location = new Point(261, 7);
|
||||||
panelColor.Margin = new Padding(4, 7, 4, 7);
|
panelColor.Margin = new Padding(4, 7, 4, 7);
|
||||||
panelColor.Name = "panelColor";
|
panelColor.Name = "panelColor";
|
||||||
panelColor.Size = new Size(249, 45);
|
panelColor.Size = new Size(249, 45);
|
||||||
@@ -984,23 +982,22 @@ namespace GHelper
|
|||||||
buttonKeyboardColor.Text = Properties.Strings.Color;
|
buttonKeyboardColor.Text = Properties.Strings.Color;
|
||||||
buttonKeyboardColor.UseVisualStyleBackColor = false;
|
buttonKeyboardColor.UseVisualStyleBackColor = false;
|
||||||
//
|
//
|
||||||
// buttonKeyboard
|
// comboKeyboard
|
||||||
//
|
//
|
||||||
buttonKeyboard.Activated = false;
|
comboKeyboard.BorderColor = Color.White;
|
||||||
buttonKeyboard.BackColor = SystemColors.ControlLight;
|
comboKeyboard.ButtonColor = Color.FromArgb(255, 255, 255);
|
||||||
buttonKeyboard.BorderColor = Color.Transparent;
|
comboKeyboard.Dock = DockStyle.Top;
|
||||||
buttonKeyboard.BorderRadius = 2;
|
comboKeyboard.FlatStyle = FlatStyle.Flat;
|
||||||
buttonKeyboard.Dock = DockStyle.Top;
|
comboKeyboard.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
|
||||||
buttonKeyboard.FlatAppearance.BorderSize = 0;
|
comboKeyboard.FormattingEnabled = true;
|
||||||
buttonKeyboard.FlatStyle = FlatStyle.Flat;
|
comboKeyboard.ItemHeight = 32;
|
||||||
buttonKeyboard.Location = new Point(518, 8);
|
comboKeyboard.Items.AddRange(new object[] { "Static", "Breathe", "Rainbow", "Strobe" });
|
||||||
buttonKeyboard.Margin = new Padding(4, 7, 4, 7);
|
comboKeyboard.Location = new Point(4, 10);
|
||||||
buttonKeyboard.Name = "buttonKeyboard";
|
comboKeyboard.Margin = new Padding(4, 10, 4, 8);
|
||||||
buttonKeyboard.Secondary = true;
|
comboKeyboard.Name = "comboKeyboard";
|
||||||
buttonKeyboard.Size = new Size(249, 45);
|
comboKeyboard.Size = new Size(249, 40);
|
||||||
buttonKeyboard.TabIndex = 37;
|
comboKeyboard.TabIndex = 35;
|
||||||
buttonKeyboard.Text = Properties.Strings.Extra;
|
comboKeyboard.TabStop = false;
|
||||||
buttonKeyboard.UseVisualStyleBackColor = false;
|
|
||||||
//
|
//
|
||||||
// pictureKeyboard
|
// pictureKeyboard
|
||||||
//
|
//
|
||||||
@@ -1022,7 +1019,7 @@ namespace GHelper
|
|||||||
labelKeyboard.Name = "labelKeyboard";
|
labelKeyboard.Name = "labelKeyboard";
|
||||||
labelKeyboard.Size = new Size(210, 32);
|
labelKeyboard.Size = new Size(210, 32);
|
||||||
labelKeyboard.TabIndex = 32;
|
labelKeyboard.TabIndex = 32;
|
||||||
labelKeyboard.Text = Properties.Strings.LaptopKeyboard;
|
labelKeyboard.Text = "Laptop Keyboard";
|
||||||
//
|
//
|
||||||
// SettingsForm
|
// SettingsForm
|
||||||
//
|
//
|
||||||
@@ -1054,7 +1051,6 @@ namespace GHelper
|
|||||||
tableLayoutMatrix.ResumeLayout(false);
|
tableLayoutMatrix.ResumeLayout(false);
|
||||||
((System.ComponentModel.ISupportInitialize)pictureMatrix).EndInit();
|
((System.ComponentModel.ISupportInitialize)pictureMatrix).EndInit();
|
||||||
panelBattery.ResumeLayout(false);
|
panelBattery.ResumeLayout(false);
|
||||||
panelBattery.PerformLayout();
|
|
||||||
((System.ComponentModel.ISupportInitialize)pictureBattery).EndInit();
|
((System.ComponentModel.ISupportInitialize)pictureBattery).EndInit();
|
||||||
panelFooter.ResumeLayout(false);
|
panelFooter.ResumeLayout(false);
|
||||||
panelFooter.PerformLayout();
|
panelFooter.PerformLayout();
|
||||||
|
|||||||
183
app/Settings.cs
183
app/Settings.cs
@@ -41,6 +41,36 @@ namespace GHelper
|
|||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
InitTheme(true);
|
InitTheme(true);
|
||||||
|
|
||||||
|
buttonSilent.Text = Properties.Strings.Silent;
|
||||||
|
buttonBalanced.Text = Properties.Strings.Balanced;
|
||||||
|
buttonTurbo.Text = Properties.Strings.Turbo;
|
||||||
|
buttonFans.Text = Properties.Strings.FansPower;
|
||||||
|
|
||||||
|
buttonEco.Text = Properties.Strings.EcoMode;
|
||||||
|
buttonUltimate.Text = Properties.Strings.UltimateMode;
|
||||||
|
buttonStandard.Text = Properties.Strings.StandardMode;
|
||||||
|
buttonOptimized.Text = Properties.Strings.Optimized;
|
||||||
|
|
||||||
|
|
||||||
|
buttonScreenAuto.Text = Properties.Strings.AutoMode;
|
||||||
|
buttonMiniled.Text = Properties.Strings.Multizone;
|
||||||
|
|
||||||
|
buttonKeyboardColor.Text = Properties.Strings.Color;
|
||||||
|
buttonKeyboard.Text = Properties.Strings.Extra;
|
||||||
|
|
||||||
|
labelPerf.Text = Properties.Strings.PerformanceMode;
|
||||||
|
labelGPU.Text = Properties.Strings.GPUMode;
|
||||||
|
labelSreen.Text = Properties.Strings.LaptopScreen;
|
||||||
|
labelKeyboard.Text = Properties.Strings.LaptopKeyboard;
|
||||||
|
labelMatrix.Text = Properties.Strings.AnimeMatrix;
|
||||||
|
labelBatteryTitle.Text = Properties.Strings.BatteryChargeLimit;
|
||||||
|
|
||||||
|
checkMatrix.Text = Properties.Strings.TurnOffOnBattery;
|
||||||
|
checkStartup.Text = Properties.Strings.RunOnStartup;
|
||||||
|
|
||||||
|
buttonMatrix.Text = Properties.Strings.PictureGif;
|
||||||
|
buttonQuit.Text = Properties.Strings.Quit;
|
||||||
|
|
||||||
FormClosing += SettingsForm_FormClosing;
|
FormClosing += SettingsForm_FormClosing;
|
||||||
|
|
||||||
buttonSilent.BorderColor = colorEco;
|
buttonSilent.BorderColor = colorEco;
|
||||||
@@ -58,7 +88,6 @@ namespace GHelper
|
|||||||
buttonScreenAuto.BorderColor = SystemColors.ActiveBorder;
|
buttonScreenAuto.BorderColor = SystemColors.ActiveBorder;
|
||||||
buttonMiniled.BorderColor = colorTurbo;
|
buttonMiniled.BorderColor = colorTurbo;
|
||||||
|
|
||||||
buttonOptimized.Click += ButtonOptimized_Click;
|
|
||||||
buttonSilent.Click += ButtonSilent_Click;
|
buttonSilent.Click += ButtonSilent_Click;
|
||||||
buttonBalanced.Click += ButtonBalanced_Click;
|
buttonBalanced.Click += ButtonBalanced_Click;
|
||||||
buttonTurbo.Click += ButtonTurbo_Click;
|
buttonTurbo.Click += ButtonTurbo_Click;
|
||||||
@@ -66,6 +95,7 @@ namespace GHelper
|
|||||||
buttonEco.Click += ButtonEco_Click;
|
buttonEco.Click += ButtonEco_Click;
|
||||||
buttonStandard.Click += ButtonStandard_Click;
|
buttonStandard.Click += ButtonStandard_Click;
|
||||||
buttonUltimate.Click += ButtonUltimate_Click;
|
buttonUltimate.Click += ButtonUltimate_Click;
|
||||||
|
buttonOptimized.Click += ButtonOptimized_Click;
|
||||||
|
|
||||||
VisibleChanged += SettingsForm_VisibleChanged;
|
VisibleChanged += SettingsForm_VisibleChanged;
|
||||||
|
|
||||||
@@ -151,6 +181,13 @@ namespace GHelper
|
|||||||
CheckForUpdatesAsync();
|
CheckForUpdatesAsync();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Activated += SettingsForm_Activated;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SettingsForm_Activated(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (fans != null && fans.Text != "") fans.BringToFront();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void WndProc(ref Message m)
|
protected override void WndProc(ref Message m)
|
||||||
@@ -179,31 +216,13 @@ namespace GHelper
|
|||||||
}
|
}
|
||||||
m.Result = (IntPtr)1;
|
m.Result = (IntPtr)1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case KeyHandler.WM_HOTKEY_MSG_ID:
|
|
||||||
|
|
||||||
Keys key = (Keys)(((int)m.LParam >> 16) & 0xFFFF);
|
|
||||||
|
|
||||||
switch (key)
|
|
||||||
{
|
|
||||||
case Keys.VolumeDown:
|
|
||||||
InputDispatcher.KeyProcess("m1");
|
|
||||||
break;
|
|
||||||
case Keys.VolumeUp:
|
|
||||||
InputDispatcher.KeyProcess("m2");
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
if (key == InputDispatcher.keyProfile) CyclePerformanceMode();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
base.WndProc(ref m);
|
base.WndProc(ref m);
|
||||||
} catch (Exception ex)
|
}
|
||||||
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.WriteLine(ex.ToString());
|
Debug.WriteLine(ex.ToString());
|
||||||
}
|
}
|
||||||
@@ -306,7 +325,7 @@ namespace GHelper
|
|||||||
|
|
||||||
if (Program.acpi.DeviceGet(AsusACPI.GPUXG) == 1)
|
if (Program.acpi.DeviceGet(AsusACPI.GPUXG) == 1)
|
||||||
{
|
{
|
||||||
KillGPUApps();
|
HardwareControl.KillGPUApps();
|
||||||
DialogResult dialogResult = MessageBox.Show("Did you close all applications running on XG Mobile?", "Disabling XG Mobile", MessageBoxButtons.YesNo);
|
DialogResult dialogResult = MessageBox.Show("Did you close all applications running on XG Mobile?", "Disabling XG Mobile", MessageBoxButtons.YesNo);
|
||||||
if (dialogResult == DialogResult.Yes)
|
if (dialogResult == DialogResult.Yes)
|
||||||
{
|
{
|
||||||
@@ -351,7 +370,17 @@ namespace GHelper
|
|||||||
var json = await httpClient.GetStringAsync("https://api.github.com/repos/seerge/g-helper/releases/latest");
|
var json = await httpClient.GetStringAsync("https://api.github.com/repos/seerge/g-helper/releases/latest");
|
||||||
var config = JsonSerializer.Deserialize<JsonElement>(json);
|
var config = JsonSerializer.Deserialize<JsonElement>(json);
|
||||||
var tag = config.GetProperty("tag_name").ToString().Replace("v", "");
|
var tag = config.GetProperty("tag_name").ToString().Replace("v", "");
|
||||||
var url = config.GetProperty("assets")[0].GetProperty("browser_download_url").ToString();
|
var assets = config.GetProperty("assets");
|
||||||
|
|
||||||
|
string url = null;
|
||||||
|
|
||||||
|
for (int i = 0; i < assets.GetArrayLength(); i++) {
|
||||||
|
if (assets[i].GetProperty("browser_download_url").ToString().Contains(".zip"))
|
||||||
|
url = assets[i].GetProperty("browser_download_url").ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (url is null)
|
||||||
|
url = assets[0].GetProperty("browser_download_url").ToString();
|
||||||
|
|
||||||
var gitVersion = new Version(tag);
|
var gitVersion = new Version(tag);
|
||||||
var appVersion = new Version(Assembly.GetExecutingAssembly().GetName().Version.ToString());
|
var appVersion = new Version(Assembly.GetExecutingAssembly().GetName().Version.ToString());
|
||||||
@@ -413,21 +442,21 @@ namespace GHelper
|
|||||||
using (WebClient client = new WebClient())
|
using (WebClient client = new WebClient())
|
||||||
{
|
{
|
||||||
client.DownloadFile(uri, zipLocation);
|
client.DownloadFile(uri, zipLocation);
|
||||||
|
|
||||||
|
Logger.WriteLine(requestUri);
|
||||||
|
Logger.WriteLine(zipLocation);
|
||||||
|
Logger.WriteLine(exeLocation);
|
||||||
|
|
||||||
|
var cmd = new Process();
|
||||||
|
cmd.StartInfo.UseShellExecute = false;
|
||||||
|
cmd.StartInfo.CreateNoWindow = true;
|
||||||
|
cmd.StartInfo.FileName = "powershell";
|
||||||
|
cmd.StartInfo.Arguments = $"Start-Sleep -Seconds 1; Expand-Archive {zipLocation} -DestinationPath {exeDir} -Force; Remove-Item {zipLocation} -Force; {exeLocation}";
|
||||||
|
cmd.Start();
|
||||||
|
|
||||||
|
Application.Exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
var cmd = new Process();
|
|
||||||
cmd.StartInfo.UseShellExecute = false;
|
|
||||||
cmd.StartInfo.CreateNoWindow = true;
|
|
||||||
cmd.StartInfo.FileName = "powershell";
|
|
||||||
cmd.StartInfo.Arguments = $"Start-Sleep -Seconds 1; Expand-Archive {zipLocation} -DestinationPath {exeDir} -Force; Remove-Item {zipLocation} -Force; {exeLocation}";
|
|
||||||
cmd.Start();
|
|
||||||
|
|
||||||
Debug.WriteLine(requestUri);
|
|
||||||
Debug.WriteLine(zipLocation);
|
|
||||||
|
|
||||||
Application.Exit();
|
|
||||||
return;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -686,6 +715,17 @@ namespace GHelper
|
|||||||
pictureColor.BackColor = AsusUSB.Color1;
|
pictureColor.BackColor = AsusUSB.Color1;
|
||||||
pictureColor2.BackColor = AsusUSB.Color2;
|
pictureColor2.BackColor = AsusUSB.Color2;
|
||||||
pictureColor2.Visible = AsusUSB.HasSecondColor();
|
pictureColor2.Visible = AsusUSB.HasSecondColor();
|
||||||
|
|
||||||
|
if (AppConfig.ContainsModel("GA401"))
|
||||||
|
{
|
||||||
|
panelColor.Visible = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (AppConfig.ContainsModel("GA401I"))
|
||||||
|
{
|
||||||
|
comboKeyboard.Visible = false;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void InitMatrix()
|
public void InitMatrix()
|
||||||
@@ -909,29 +949,29 @@ namespace GHelper
|
|||||||
HardwareControl.ReadSensors();
|
HardwareControl.ReadSensors();
|
||||||
|
|
||||||
if (HardwareControl.cpuTemp > 0)
|
if (HardwareControl.cpuTemp > 0)
|
||||||
cpuTemp = ": " + Math.Round((decimal)HardwareControl.cpuTemp).ToString() + "°C ";
|
cpuTemp = ": " + Math.Round((decimal)HardwareControl.cpuTemp).ToString() + "°C";
|
||||||
|
|
||||||
if (HardwareControl.batteryDischarge > 0)
|
if (HardwareControl.batteryDischarge > 0)
|
||||||
battery = Properties.Strings.Discharging + ": " + Math.Round((decimal)HardwareControl.batteryDischarge, 1).ToString() + "W";
|
battery = Properties.Strings.Discharging + ": " + Math.Round((decimal)HardwareControl.batteryDischarge, 1).ToString() + "W";
|
||||||
|
|
||||||
if (HardwareControl.gpuTemp > 0)
|
if (HardwareControl.gpuTemp > 0)
|
||||||
{
|
{
|
||||||
gpuTemp = $": {HardwareControl.gpuTemp}°C ";
|
gpuTemp = $": {HardwareControl.gpuTemp}°C";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Program.settingsForm.BeginInvoke(delegate
|
Program.settingsForm.BeginInvoke(delegate
|
||||||
{
|
{
|
||||||
labelCPUFan.Text = "CPU" + cpuTemp + HardwareControl.cpuFan;
|
labelCPUFan.Text = "CPU" + cpuTemp + " " + HardwareControl.cpuFan;
|
||||||
labelGPUFan.Text = "GPU" + gpuTemp + HardwareControl.gpuFan;
|
labelGPUFan.Text = "GPU" + gpuTemp + " " + HardwareControl.gpuFan;
|
||||||
if (HardwareControl.midFan is not null)
|
if (HardwareControl.midFan is not null)
|
||||||
labelMidFan.Text = "Mid" + HardwareControl.midFan;
|
labelMidFan.Text = "Mid" + HardwareControl.midFan;
|
||||||
|
|
||||||
labelBattery.Text = battery;
|
labelBattery.Text = battery;
|
||||||
});
|
});
|
||||||
|
|
||||||
string trayTip = "CPU" + cpuTemp + HardwareControl.cpuFan;
|
string trayTip = "CPU" + cpuTemp + " " + HardwareControl.cpuFan;
|
||||||
if (gpuTemp.Length > 0) trayTip += "\nGPU" + gpuTemp + HardwareControl.gpuFan;
|
if (gpuTemp.Length > 0) trayTip += "\nGPU" + gpuTemp + " " + HardwareControl.gpuFan;
|
||||||
if (battery.Length > 0) trayTip += "\n" + battery;
|
if (battery.Length > 0) trayTip += "\n" + battery;
|
||||||
|
|
||||||
Program.trayIcon.Text = trayTip;
|
Program.trayIcon.Text = trayTip;
|
||||||
@@ -970,6 +1010,7 @@ namespace GHelper
|
|||||||
|
|
||||||
int limit_total = AppConfig.getConfigPerf("limit_total");
|
int limit_total = AppConfig.getConfigPerf("limit_total");
|
||||||
int limit_cpu = AppConfig.getConfigPerf("limit_cpu");
|
int limit_cpu = AppConfig.getConfigPerf("limit_cpu");
|
||||||
|
int limit_fast = AppConfig.getConfigPerf("limit_fast");
|
||||||
|
|
||||||
if (limit_total > AsusACPI.MaxTotal) return;
|
if (limit_total > AsusACPI.MaxTotal) return;
|
||||||
if (limit_total < AsusACPI.MinTotal) return;
|
if (limit_total < AsusACPI.MinTotal) return;
|
||||||
@@ -977,6 +1018,10 @@ namespace GHelper
|
|||||||
if (limit_cpu > AsusACPI.MaxCPU) return;
|
if (limit_cpu > AsusACPI.MaxCPU) return;
|
||||||
if (limit_cpu < AsusACPI.MinCPU) return;
|
if (limit_cpu < AsusACPI.MinCPU) return;
|
||||||
|
|
||||||
|
if (limit_fast > AsusACPI.MaxTotal) return;
|
||||||
|
if (limit_fast < AsusACPI.MinTotal) return;
|
||||||
|
|
||||||
|
// SPL + SPPT togeher in one slider
|
||||||
if (Program.acpi.DeviceGet(AsusACPI.PPT_TotalA0) >= 0)
|
if (Program.acpi.DeviceGet(AsusACPI.PPT_TotalA0) >= 0)
|
||||||
{
|
{
|
||||||
Program.acpi.DeviceSet(AsusACPI.PPT_TotalA0, limit_total, "PowerLimit A0");
|
Program.acpi.DeviceSet(AsusACPI.PPT_TotalA0, limit_total, "PowerLimit A0");
|
||||||
@@ -984,11 +1029,17 @@ namespace GHelper
|
|||||||
customPower = limit_total;
|
customPower = limit_total;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Program.acpi.DeviceGet(AsusACPI.PPT_CPUB0) >= 0)
|
if (Program.acpi.IsAllAmdPPT()) // CPU limit all amd models
|
||||||
{
|
{
|
||||||
Program.acpi.DeviceSet(AsusACPI.PPT_CPUB0, limit_cpu, "PowerLimit B0");
|
Program.acpi.DeviceSet(AsusACPI.PPT_CPUB0, limit_cpu, "PowerLimit B0");
|
||||||
customPower = limit_cpu;
|
customPower = limit_cpu;
|
||||||
}
|
}
|
||||||
|
else if (Program.acpi.DeviceGet(AsusACPI.PPT_APUC1) >= 0) // FPPT boost for non all-amd models
|
||||||
|
{
|
||||||
|
Program.acpi.DeviceSet(AsusACPI.PPT_APUC1, limit_fast, "PowerLimit C1");
|
||||||
|
customPower = limit_fast;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
Program.settingsForm.BeginInvoke(SetPerformanceLabel);
|
Program.settingsForm.BeginInvoke(SetPerformanceLabel);
|
||||||
|
|
||||||
@@ -1063,14 +1114,21 @@ namespace GHelper
|
|||||||
|
|
||||||
if (AppConfig.getConfigPerf("auto_apply") == 1 || force)
|
if (AppConfig.getConfigPerf("auto_apply") == 1 || force)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
bool xgmFan = false;
|
||||||
|
if (AppConfig.isConfig("xgm_fan") && Program.acpi.IsXGConnected())
|
||||||
|
{
|
||||||
|
AsusUSB.SetXGMFan(AppConfig.getFanConfig(AsusFan.XGM));
|
||||||
|
xgmFan = true;
|
||||||
|
}
|
||||||
|
|
||||||
int cpuResult = Program.acpi.SetFanCurve(AsusFan.CPU, AppConfig.getFanConfig(AsusFan.CPU));
|
int cpuResult = Program.acpi.SetFanCurve(AsusFan.CPU, AppConfig.getFanConfig(AsusFan.CPU));
|
||||||
int gpuResult = Program.acpi.SetFanCurve(AsusFan.GPU, AppConfig.getFanConfig(AsusFan.GPU));
|
int gpuResult = Program.acpi.SetFanCurve(AsusFan.GPU, AppConfig.getFanConfig(AsusFan.GPU));
|
||||||
|
|
||||||
|
|
||||||
if (AppConfig.isConfig("mid_fan"))
|
if (AppConfig.isConfig("mid_fan"))
|
||||||
Program.acpi.SetFanCurve(AsusFan.Mid, AppConfig.getFanConfig(AsusFan.Mid));
|
Program.acpi.SetFanCurve(AsusFan.Mid, AppConfig.getFanConfig(AsusFan.Mid));
|
||||||
|
|
||||||
if (AppConfig.isConfig("xgm_fan") && Program.acpi.IsXGConnected())
|
|
||||||
AsusUSB.SetXGMFan(AppConfig.getFanConfig(AsusFan.XGM));
|
|
||||||
|
|
||||||
// something went wrong, resetting to default profile
|
// something went wrong, resetting to default profile
|
||||||
if (cpuResult != 1 || gpuResult != 1)
|
if (cpuResult != 1 || gpuResult != 1)
|
||||||
@@ -1087,7 +1145,7 @@ namespace GHelper
|
|||||||
}
|
}
|
||||||
|
|
||||||
// fix for misbehaving bios on intell based TUF 2022
|
// fix for misbehaving bios on intell based TUF 2022
|
||||||
if ((AppConfig.ContainsModel("FX507") || AppConfig.ContainsModel("FX517")) && AppConfig.getConfigPerf("auto_apply_power") != 1)
|
if ((AppConfig.ContainsModel("FX507") || AppConfig.ContainsModel("FX517") || xgmFan) && AppConfig.getConfigPerf("auto_apply_power") != 1)
|
||||||
{
|
{
|
||||||
Task.Run(async () =>
|
Task.Run(async () =>
|
||||||
{
|
{
|
||||||
@@ -1237,15 +1295,7 @@ namespace GHelper
|
|||||||
|
|
||||||
public void AutoKeyboard()
|
public void AutoKeyboard()
|
||||||
{
|
{
|
||||||
AsusUSB.Init();
|
InputDispatcher.SetBacklight(true);
|
||||||
|
|
||||||
int backlight = AppConfig.getConfig("keyboard_brightness");
|
|
||||||
|
|
||||||
if (AppConfig.isConfig("keyboard_auto") && SystemInformation.PowerStatus.PowerLineStatus != PowerLineStatus.Online)
|
|
||||||
AsusUSB.ApplyBrightness(0);
|
|
||||||
else if (backlight >= 0)
|
|
||||||
AsusUSB.ApplyBrightness(backlight);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AutoPerformance()
|
public void AutoPerformance()
|
||||||
@@ -1414,7 +1464,7 @@ namespace GHelper
|
|||||||
if (eco < 0)
|
if (eco < 0)
|
||||||
{
|
{
|
||||||
tableGPU.Visible = false;
|
tableGPU.Visible = false;
|
||||||
if (Program.acpi.DeviceGet(AsusACPI.GPU_Fan) < 0 ) panelGPU.Visible = false;
|
if (Program.acpi.DeviceGet(AsusACPI.GPU_Fan) < 0) panelGPU.Visible = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1474,13 +1524,6 @@ namespace GHelper
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected static void KillGPUApps()
|
|
||||||
{
|
|
||||||
string[] tokill = { "EADesktop", "RadeonSoftware", "epicgameslauncher" };
|
|
||||||
foreach (string kill in tokill)
|
|
||||||
foreach (var process in Process.GetProcessesByName(kill)) process.Kill();
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void SetGPUEco(int eco, bool hardWay = false)
|
public void SetGPUEco(int eco, bool hardWay = false)
|
||||||
{
|
{
|
||||||
@@ -1496,19 +1539,17 @@ namespace GHelper
|
|||||||
Task.Run(async () =>
|
Task.Run(async () =>
|
||||||
{
|
{
|
||||||
|
|
||||||
int status;
|
int status = 1;
|
||||||
|
|
||||||
if (eco == 1) KillGPUApps();
|
if (eco == 1) HardwareControl.KillGPUApps();
|
||||||
|
|
||||||
|
Logger.WriteLine($"Running eco command {eco}");
|
||||||
|
|
||||||
//if (eco == 1) status = 0; else
|
|
||||||
status = Program.acpi.SetGPUEco(eco);
|
status = Program.acpi.SetGPUEco(eco);
|
||||||
|
|
||||||
if (status == 0 && eco == 1 && hardWay)
|
if (status == 0 && eco == 1 && hardWay) RestartGPU();
|
||||||
{
|
|
||||||
RestartGPU();
|
|
||||||
}
|
|
||||||
|
|
||||||
await Task.Delay(TimeSpan.FromMilliseconds(500));
|
await Task.Delay(TimeSpan.FromMilliseconds(100));
|
||||||
Program.settingsForm.BeginInvoke(delegate
|
Program.settingsForm.BeginInvoke(delegate
|
||||||
{
|
{
|
||||||
InitGPUMode();
|
InitGPUMode();
|
||||||
|
|||||||
@@ -1,4 +1,64 @@
|
|||||||
<root>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing"">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: 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: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:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
<xsd:element name="root" msdata:IsDataSet="true">
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
|||||||
@@ -51,7 +51,8 @@ namespace GHelper
|
|||||||
BacklightDown,
|
BacklightDown,
|
||||||
Touchpad,
|
Touchpad,
|
||||||
Microphone,
|
Microphone,
|
||||||
MicrophoneMute
|
MicrophoneMute,
|
||||||
|
FnLock
|
||||||
}
|
}
|
||||||
|
|
||||||
public class ToastForm : OSDNativeForm
|
public class ToastForm : OSDNativeForm
|
||||||
@@ -103,6 +104,9 @@ namespace GHelper
|
|||||||
case ToastIcon.Touchpad:
|
case ToastIcon.Touchpad:
|
||||||
icon = Properties.Resources.icons8_touchpad_96;
|
icon = Properties.Resources.icons8_touchpad_96;
|
||||||
break;
|
break;
|
||||||
|
case ToastIcon.FnLock:
|
||||||
|
icon = Properties.Resources.icons8_function;
|
||||||
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ sc config ASUSSwitch start= auto
|
|||||||
sc config ASUSSystemAnalysis start= auto
|
sc config ASUSSystemAnalysis start= auto
|
||||||
sc config ASUSSystemDiagnosis start= auto
|
sc config ASUSSystemDiagnosis start= auto
|
||||||
sc config ArmouryCrateControlInterface start= auto
|
sc config ArmouryCrateControlInterface start= auto
|
||||||
|
sc config AsusCertService start= auto
|
||||||
|
sc config ASUSOptimization start= auto
|
||||||
|
|
||||||
sc START AsusAppService
|
sc START AsusAppService
|
||||||
sc START ASUSLinkNear
|
sc START ASUSLinkNear
|
||||||
@@ -14,6 +16,8 @@ sc START ASUSSoftwareManager
|
|||||||
sc START ASUSSwitch
|
sc START ASUSSwitch
|
||||||
sc START ASUSSystemAnalysis
|
sc START ASUSSystemAnalysis
|
||||||
sc START ASUSSystemDiagnosis
|
sc START ASUSSystemDiagnosis
|
||||||
sc START ArmouryCrateControlInterface
|
sc START ArmouryCrateControlInterface
|
||||||
|
sc START AsusCertService
|
||||||
|
sc START ASUSOptimization
|
||||||
|
|
||||||
set /p asd="Hit enter to finish"
|
set /p asd="Hit enter to finish"
|
||||||
|
|||||||
@@ -5,7 +5,9 @@ sc STOP ASUSSoftwareManager
|
|||||||
sc STOP ASUSSwitch
|
sc STOP ASUSSwitch
|
||||||
sc STOP ASUSSystemAnalysis
|
sc STOP ASUSSystemAnalysis
|
||||||
sc STOP ASUSSystemDiagnosis
|
sc STOP ASUSSystemDiagnosis
|
||||||
sc STOP ArmouryCrateControlInterface
|
sc STOP ArmouryCrateControlInterface
|
||||||
|
sc STOP AsusCertService
|
||||||
|
sc STOP ASUSOptimization
|
||||||
|
|
||||||
sc config AsusAppService start= disabled
|
sc config AsusAppService start= disabled
|
||||||
sc config ASUSLinkNear start= disabled
|
sc config ASUSLinkNear start= disabled
|
||||||
@@ -15,5 +17,7 @@ sc config ASUSSwitch start= disabled
|
|||||||
sc config ASUSSystemAnalysis start= disabled
|
sc config ASUSSystemAnalysis start= disabled
|
||||||
sc config ASUSSystemDiagnosis start= disabled
|
sc config ASUSSystemDiagnosis start= disabled
|
||||||
sc config ArmouryCrateControlInterface start= disabled
|
sc config ArmouryCrateControlInterface start= disabled
|
||||||
|
sc config AsusCertService start= disabled
|
||||||
|
sc config ASUSOptimization start= disabled
|
||||||
|
|
||||||
set /p asd="Hit enter to finish"
|
set /p asd="Hit enter to finish"
|
||||||
|
|||||||
@@ -1,13 +1,11 @@
|
|||||||
# G-Helper (GHelper)
|
# G-Helper (GHelper)
|
||||||
|
|
||||||
[](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/releases/) [](https://GitHub.com/seerge/g-helper/stargazers/)
|
||||||
|
|
||||||
Language: English | [中文](https://github.com/seerge/g-helper/blob/main/docs/README.zh-CN.md)
|
Language: English | [中文](https://github.com/seerge/g-helper/blob/main/docs/README.zh-CN.md)
|
||||||
|
|
||||||
## Control tool for Asus laptops
|
## Control tool for Asus laptops
|
||||||
|
|
||||||
Lightweight Armoury Crate alternative for Asus lapopts. A small utility that allows you to do almost everything you could do with Armoury Crate but without extra bloat and unnecessary services. Works on all popular models, such as ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, TUF, Strix, Scar, ProArt and many more! Feel free to try :)
|
Lightweight Armoury Crate alternative for Asus laptops. A small utility that allows you to do almost everything you could do with Armoury Crate but without extra bloat and unnecessary services. Works on all popular models, such as ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, TUF, Strix, Scar, ProArt and many more! Feel free to try :)
|
||||||
|
|
||||||
|
|
||||||
## :gift: Main advantages
|
## :gift: Main advantages
|
||||||
|
|
||||||
@@ -20,7 +18,7 @@ Lightweight Armoury Crate alternative for Asus lapopts. A small utility that all
|
|||||||
## [:floppy_disk: Download App](https://github.com/seerge/g-helper/releases/latest/download/GHelper.zip)
|
## [:floppy_disk: Download App](https://github.com/seerge/g-helper/releases/latest/download/GHelper.zip)
|
||||||
|
|
||||||
If you like this app, please [star :star: it on Github](https://github.com/seerge/g-helper) and spread a word about it!
|
If you like this app, please [star :star: it on Github](https://github.com/seerge/g-helper) and spread a word about it!
|
||||||
### [:euro: Donate EUR](https://www.paypal.com/donate/?hosted_button_id=4HMSHS4EBQWTA) | [💵 Donate USD](https://www.paypal.com/donate/?hosted_button_id=SRM6QUX6ACXDY) | [:coin: Donate via Stripe](https://buy.stripe.com/00gaFJ9Lf79v7WobII)
|
### [:euro: Donate EUR](https://www.paypal.com/donate/?hosted_button_id=4HMSHS4EBQWTA) | [💵 Donate USD](https://www.paypal.com/donate/?hosted_button_id=SRM6QUX6ACXDY) | [:credit_card: Donate via Stripe](https://buy.stripe.com/00gaFJ9Lf79v7WobII)
|
||||||
|
|
||||||
_If you post about the app - please include a link. Thanks._
|
_If you post about the app - please include a link. Thanks._
|
||||||
|
|
||||||
@@ -40,6 +38,8 @@ _If you post about the app - please include a link. Thanks._
|
|||||||
10. NVidia GPU overclocking
|
10. NVidia GPU overclocking
|
||||||
11. XG Mobile Control
|
11. XG Mobile Control
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
### :gear: Automatic switching when on battery or plugged in
|
### :gear: Automatic switching when on battery or plugged in
|
||||||
- Performance modes (app remembers last mode used on battery or when plugged)
|
- Performance modes (app remembers last mode used on battery or when plugged)
|
||||||
- Optimized GPU mode - disables dGPU on battery and enables when plugged
|
- Optimized GPU mode - disables dGPU on battery and enables when plugged
|
||||||
@@ -48,8 +48,6 @@ _If you post about the app - please include a link. Thanks._
|
|||||||
|
|
||||||
To keep auto switching and hotkeys working the app needs to stay running in the tray. It doesn't consume any resources.
|
To keep auto switching and hotkeys working the app needs to stay running in the tray. It doesn't consume any resources.
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
### :rocket: Performance Modes
|
### :rocket: Performance Modes
|
||||||
|
|
||||||
Modes are **same** as in Armoury Crate as they are stored in bios including default fan curves
|
Modes are **same** as in Armoury Crate as they are stored in bios including default fan curves
|
||||||
@@ -67,7 +65,7 @@ _PPTs are shown for G14 2022, for other models PPTs will be different as they ar
|
|||||||
3. Ultimate mode: iGPU and dGPU enabled, but dGPU drives built in display (supported only on G14 2022 model)
|
3. Ultimate mode: iGPU and dGPU enabled, but dGPU drives built in display (supported only on G14 2022 model)
|
||||||
4. Optimized: disables dGPU on battery (Eco) and enables when plugged (Standard)
|
4. Optimized: disables dGPU on battery (Eco) and enables when plugged (Standard)
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## :question: FAQ
|
## :question: FAQ
|
||||||
|
|
||||||
@@ -153,6 +151,9 @@ It's a lightweight Armoury Crate alternative for Asus laptops. A small utility t
|
|||||||
|
|
||||||
- Also, it's not recommended to have "ASUS Smart Display Control" app running, as it will try to change refresh rates and fight with g-helper for the same function. You can safely uninstall it.
|
- Also, it's not recommended to have "ASUS Smart Display Control" app running, as it will try to change refresh rates and fight with g-helper for the same function. You can safely uninstall it.
|
||||||
|
|
||||||
|
- It is recommended to run app with windows default "balanced" power plan
|
||||||
|

|
||||||
|
|
||||||
-------------------------------
|
-------------------------------
|
||||||
|
|
||||||
Designed and developed for Asus Zephyrus G14 2022 (with AMD Radeon iGPU and dGPU). But could and should potentially work for G14 of 2021 and 2020, G15, X FLOW, and other ROG models for relevant and supported features.
|
Designed and developed for Asus Zephyrus G14 2022 (with AMD Radeon iGPU and dGPU). But could and should potentially work for G14 of 2021 and 2020, G15, X FLOW, and other ROG models for relevant and supported features.
|
||||||
|
|||||||
Reference in New Issue
Block a user