GPU Restart

This commit is contained in:
Serge
2023-05-10 18:38:49 +02:00
parent 0142c25929
commit 7a6301328c
6 changed files with 123 additions and 66 deletions

View File

@@ -1,4 +1,5 @@
using HidLibrary; using HidLibrary;
using Microsoft.Win32;
using OSD; using OSD;
using System.Diagnostics; using System.Diagnostics;
using System.Windows.Forms; using System.Windows.Forms;
@@ -56,7 +57,7 @@ namespace GHelper
static byte[] MESSAGE_SET = { 0x5d, 0xb5, 0, 0, 0 }; static byte[] MESSAGE_SET = { 0x5d, 0xb5, 0, 0, 0 };
static byte[] MESSAGE_APPLY = { 0x5d, 0xb4 }; static byte[] MESSAGE_APPLY = { 0x5d, 0xb4 };
static int[] deviceIds = { 0x1a30, 0x1854, 0x1869, 0x1866, 0x19b6, 0x1822, 0x1837, 0x1854, 0x184a, 0x183d, 0x8502, 0x1807, 0x17e0 }; static int[] deviceIds = { 0x1a30, 0x1854, 0x1869, 0x1866, 0x19b6, 0x1822, 0x1837, 0x1854, 0x184a, 0x183d, 0x8502, 0x1807, 0x17e0, 0x18c6 };
private static int mode = 0; private static int mode = 0;
private static int speed = 1; private static int speed = 1;
@@ -287,6 +288,24 @@ namespace GHelper
Program.wmi.TUFKeyboardRGB(Mode, Color1, _speed); Program.wmi.TUFKeyboardRGB(Mode, Color1, _speed);
} }
public static void SetBacklightOffDelay(int value = 60)
{
try
{
RegistryKey myKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\ASUS\ASUS System Control Interface\AsusOptimization\ASUS Keyboard Hotkeys", true);
if (myKey != null)
{
myKey.SetValue("TurnOffKeybdLight", value, RegistryValueKind.DWord);
myKey.Close();
}
} catch (Exception ex)
{
Logger.WriteLine(ex.Message);
}
}
} }
} }

142
app/Extra.Designer.cs generated
View File

@@ -44,6 +44,8 @@ namespace GHelper
labelM3 = new Label(); labelM3 = new Label();
groupLight = new GroupBox(); groupLight = new GroupBox();
panelBacklightExtra = new Panel(); panelBacklightExtra = new Panel();
numericBacklightTime = new NumericUpDown();
labelBacklightTimeout = new Label();
labelBrightness = new Label(); labelBrightness = new Label();
trackBrightness = new TrackBar(); trackBrightness = new TrackBar();
labelSpeed = new Label(); labelSpeed = new Label();
@@ -72,14 +74,15 @@ namespace GHelper
checkSleepLid = new CheckBox(); checkSleepLid = new CheckBox();
checkShutdownLid = new CheckBox(); checkShutdownLid = new CheckBox();
groupOther = new GroupBox(); groupOther = new GroupBox();
checkKeyboardAuto = new CheckBox();
checkUSBC = new CheckBox(); checkUSBC = new CheckBox();
checkNoOverdrive = new CheckBox(); checkNoOverdrive = new CheckBox();
checkKeyboardAuto = new CheckBox();
checkTopmost = new CheckBox(); checkTopmost = new CheckBox();
groupBindings.SuspendLayout(); groupBindings.SuspendLayout();
((System.ComponentModel.ISupportInitialize)pictureHelp).BeginInit(); ((System.ComponentModel.ISupportInitialize)pictureHelp).BeginInit();
groupLight.SuspendLayout(); groupLight.SuspendLayout();
panelBacklightExtra.SuspendLayout(); panelBacklightExtra.SuspendLayout();
((System.ComponentModel.ISupportInitialize)numericBacklightTime).BeginInit();
((System.ComponentModel.ISupportInitialize)trackBrightness).BeginInit(); ((System.ComponentModel.ISupportInitialize)trackBrightness).BeginInit();
panelXMG.SuspendLayout(); panelXMG.SuspendLayout();
tableBacklight.SuspendLayout(); tableBacklight.SuspendLayout();
@@ -101,7 +104,7 @@ namespace GHelper
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(934, 242); groupBindings.Size = new Size(954, 242);
groupBindings.TabIndex = 0; groupBindings.TabIndex = 0;
groupBindings.TabStop = false; groupBindings.TabStop = false;
groupBindings.Text = "Key Bindings"; groupBindings.Text = "Key Bindings";
@@ -209,14 +212,15 @@ namespace GHelper
groupLight.Dock = DockStyle.Top; groupLight.Dock = DockStyle.Top;
groupLight.Location = new Point(10, 252); groupLight.Location = new Point(10, 252);
groupLight.Name = "groupLight"; groupLight.Name = "groupLight";
groupLight.Size = new Size(934, 475); groupLight.Size = new Size(954, 516);
groupLight.TabIndex = 1; groupLight.TabIndex = 1;
groupLight.TabStop = false; groupLight.TabStop = false;
groupLight.Text = "Keyboard Backlight"; groupLight.Text = "Keyboard Backlight";
// //
// panelBacklightExtra // panelBacklightExtra
// //
panelBacklightExtra.AutoSize = true; panelBacklightExtra.Controls.Add(numericBacklightTime);
panelBacklightExtra.Controls.Add(labelBacklightTimeout);
panelBacklightExtra.Controls.Add(labelBrightness); panelBacklightExtra.Controls.Add(labelBrightness);
panelBacklightExtra.Controls.Add(trackBrightness); panelBacklightExtra.Controls.Add(trackBrightness);
panelBacklightExtra.Controls.Add(labelSpeed); panelBacklightExtra.Controls.Add(labelSpeed);
@@ -224,9 +228,24 @@ namespace GHelper
panelBacklightExtra.Dock = DockStyle.Top; panelBacklightExtra.Dock = DockStyle.Top;
panelBacklightExtra.Location = new Point(3, 319); panelBacklightExtra.Location = new Point(3, 319);
panelBacklightExtra.Name = "panelBacklightExtra"; panelBacklightExtra.Name = "panelBacklightExtra";
panelBacklightExtra.Size = new Size(928, 153); panelBacklightExtra.Size = new Size(948, 194);
panelBacklightExtra.TabIndex = 43; panelBacklightExtra.TabIndex = 43;
// //
// numericBacklightTime
//
numericBacklightTime.Location = new Point(477, 131);
numericBacklightTime.Name = "numericBacklightTime";
numericBacklightTime.Size = new Size(240, 39);
numericBacklightTime.TabIndex = 47;
//
// labelBacklightTimeout
//
labelBacklightTimeout.Location = new Point(13, 133);
labelBacklightTimeout.Name = "labelBacklightTimeout";
labelBacklightTimeout.Size = new Size(489, 45);
labelBacklightTimeout.TabIndex = 46;
labelBacklightTimeout.Text = "Seconds to turn off backlight on battery";
//
// labelBrightness // labelBrightness
// //
labelBrightness.Location = new Point(13, 76); labelBrightness.Location = new Point(13, 76);
@@ -237,6 +256,7 @@ namespace GHelper
// //
// trackBrightness // trackBrightness
// //
trackBrightness.LargeChange = 1;
trackBrightness.Location = new Point(216, 60); trackBrightness.Location = new Point(216, 60);
trackBrightness.Maximum = 3; trackBrightness.Maximum = 3;
trackBrightness.Name = "trackBrightness"; trackBrightness.Name = "trackBrightness";
@@ -276,7 +296,7 @@ namespace GHelper
panelXMG.Dock = DockStyle.Top; panelXMG.Dock = DockStyle.Top;
panelXMG.Location = new Point(3, 261); panelXMG.Location = new Point(3, 261);
panelXMG.Name = "panelXMG"; panelXMG.Name = "panelXMG";
panelXMG.Size = new Size(928, 58); panelXMG.Size = new Size(948, 58);
panelXMG.TabIndex = 42; panelXMG.TabIndex = 42;
// //
// checkXMG // checkXMG
@@ -328,7 +348,7 @@ namespace GHelper
tableBacklight.RowStyles.Add(new RowStyle()); tableBacklight.RowStyles.Add(new RowStyle());
tableBacklight.RowStyles.Add(new RowStyle()); tableBacklight.RowStyles.Add(new RowStyle());
tableBacklight.RowStyles.Add(new RowStyle()); tableBacklight.RowStyles.Add(new RowStyle());
tableBacklight.Size = new Size(928, 226); tableBacklight.Size = new Size(948, 226);
tableBacklight.TabIndex = 41; tableBacklight.TabIndex = 41;
// //
// labelBacklight // labelBacklight
@@ -338,7 +358,7 @@ namespace GHelper
labelBacklight.Location = new Point(3, 0); labelBacklight.Location = new Point(3, 0);
labelBacklight.Name = "labelBacklight"; labelBacklight.Name = "labelBacklight";
labelBacklight.Padding = new Padding(10, 5, 5, 5); labelBacklight.Padding = new Padding(10, 5, 5, 5);
labelBacklight.Size = new Size(226, 42); labelBacklight.Size = new Size(231, 42);
labelBacklight.TabIndex = 6; labelBacklight.TabIndex = 6;
labelBacklight.Text = "Keyboard"; labelBacklight.Text = "Keyboard";
// //
@@ -348,7 +368,7 @@ namespace GHelper
checkAwake.Location = new Point(3, 45); checkAwake.Location = new Point(3, 45);
checkAwake.Name = "checkAwake"; checkAwake.Name = "checkAwake";
checkAwake.Padding = new Padding(15, 2, 5, 2); checkAwake.Padding = new Padding(15, 2, 5, 2);
checkAwake.Size = new Size(226, 40); checkAwake.Size = new Size(231, 40);
checkAwake.TabIndex = 1; checkAwake.TabIndex = 1;
checkAwake.Text = Strings.Awake; checkAwake.Text = Strings.Awake;
checkAwake.UseVisualStyleBackColor = true; checkAwake.UseVisualStyleBackColor = true;
@@ -359,7 +379,7 @@ namespace GHelper
checkBoot.Location = new Point(3, 91); checkBoot.Location = new Point(3, 91);
checkBoot.Name = "checkBoot"; checkBoot.Name = "checkBoot";
checkBoot.Padding = new Padding(15, 2, 5, 2); checkBoot.Padding = new Padding(15, 2, 5, 2);
checkBoot.Size = new Size(226, 40); checkBoot.Size = new Size(231, 40);
checkBoot.TabIndex = 2; checkBoot.TabIndex = 2;
checkBoot.Text = Strings.Boot; checkBoot.Text = Strings.Boot;
checkBoot.UseVisualStyleBackColor = true; checkBoot.UseVisualStyleBackColor = true;
@@ -370,7 +390,7 @@ namespace GHelper
checkSleep.Location = new Point(3, 137); checkSleep.Location = new Point(3, 137);
checkSleep.Name = "checkSleep"; checkSleep.Name = "checkSleep";
checkSleep.Padding = new Padding(15, 2, 5, 2); checkSleep.Padding = new Padding(15, 2, 5, 2);
checkSleep.Size = new Size(226, 40); checkSleep.Size = new Size(231, 40);
checkSleep.TabIndex = 3; checkSleep.TabIndex = 3;
checkSleep.Text = "Sleep"; checkSleep.Text = "Sleep";
checkSleep.UseVisualStyleBackColor = true; checkSleep.UseVisualStyleBackColor = true;
@@ -381,7 +401,7 @@ namespace GHelper
checkShutdown.Location = new Point(3, 183); checkShutdown.Location = new Point(3, 183);
checkShutdown.Name = "checkShutdown"; checkShutdown.Name = "checkShutdown";
checkShutdown.Padding = new Padding(15, 2, 5, 2); checkShutdown.Padding = new Padding(15, 2, 5, 2);
checkShutdown.Size = new Size(226, 40); checkShutdown.Size = new Size(231, 40);
checkShutdown.TabIndex = 4; checkShutdown.TabIndex = 4;
checkShutdown.Text = Strings.Shutdown; checkShutdown.Text = Strings.Shutdown;
checkShutdown.UseVisualStyleBackColor = true; checkShutdown.UseVisualStyleBackColor = true;
@@ -390,20 +410,20 @@ namespace GHelper
// //
labelBacklightLogo.Dock = DockStyle.Fill; labelBacklightLogo.Dock = DockStyle.Fill;
labelBacklightLogo.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point); labelBacklightLogo.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
labelBacklightLogo.Location = new Point(235, 0); labelBacklightLogo.Location = new Point(240, 0);
labelBacklightLogo.Name = "labelBacklightLogo"; labelBacklightLogo.Name = "labelBacklightLogo";
labelBacklightLogo.Padding = new Padding(10, 5, 5, 5); labelBacklightLogo.Padding = new Padding(10, 5, 5, 5);
labelBacklightLogo.Size = new Size(226, 42); labelBacklightLogo.Size = new Size(231, 42);
labelBacklightLogo.TabIndex = 21; labelBacklightLogo.TabIndex = 21;
labelBacklightLogo.Text = "Logo"; labelBacklightLogo.Text = "Logo";
// //
// checkAwakeLogo // checkAwakeLogo
// //
checkAwakeLogo.Dock = DockStyle.Fill; checkAwakeLogo.Dock = DockStyle.Fill;
checkAwakeLogo.Location = new Point(235, 45); checkAwakeLogo.Location = new Point(240, 45);
checkAwakeLogo.Name = "checkAwakeLogo"; checkAwakeLogo.Name = "checkAwakeLogo";
checkAwakeLogo.Padding = new Padding(15, 2, 5, 2); checkAwakeLogo.Padding = new Padding(15, 2, 5, 2);
checkAwakeLogo.Size = new Size(226, 40); checkAwakeLogo.Size = new Size(231, 40);
checkAwakeLogo.TabIndex = 17; checkAwakeLogo.TabIndex = 17;
checkAwakeLogo.Text = Strings.Awake; checkAwakeLogo.Text = Strings.Awake;
checkAwakeLogo.UseVisualStyleBackColor = true; checkAwakeLogo.UseVisualStyleBackColor = true;
@@ -411,10 +431,10 @@ namespace GHelper
// checkBootLogo // checkBootLogo
// //
checkBootLogo.Dock = DockStyle.Fill; checkBootLogo.Dock = DockStyle.Fill;
checkBootLogo.Location = new Point(235, 91); checkBootLogo.Location = new Point(240, 91);
checkBootLogo.Name = "checkBootLogo"; checkBootLogo.Name = "checkBootLogo";
checkBootLogo.Padding = new Padding(15, 2, 5, 2); checkBootLogo.Padding = new Padding(15, 2, 5, 2);
checkBootLogo.Size = new Size(226, 40); checkBootLogo.Size = new Size(231, 40);
checkBootLogo.TabIndex = 18; checkBootLogo.TabIndex = 18;
checkBootLogo.Text = Strings.Boot; checkBootLogo.Text = Strings.Boot;
checkBootLogo.UseVisualStyleBackColor = true; checkBootLogo.UseVisualStyleBackColor = true;
@@ -422,10 +442,10 @@ namespace GHelper
// checkSleepLogo // checkSleepLogo
// //
checkSleepLogo.Dock = DockStyle.Fill; checkSleepLogo.Dock = DockStyle.Fill;
checkSleepLogo.Location = new Point(235, 137); checkSleepLogo.Location = new Point(240, 137);
checkSleepLogo.Name = "checkSleepLogo"; checkSleepLogo.Name = "checkSleepLogo";
checkSleepLogo.Padding = new Padding(15, 2, 5, 2); checkSleepLogo.Padding = new Padding(15, 2, 5, 2);
checkSleepLogo.Size = new Size(226, 40); checkSleepLogo.Size = new Size(231, 40);
checkSleepLogo.TabIndex = 19; checkSleepLogo.TabIndex = 19;
checkSleepLogo.Text = Strings.Sleep; checkSleepLogo.Text = Strings.Sleep;
checkSleepLogo.UseVisualStyleBackColor = true; checkSleepLogo.UseVisualStyleBackColor = true;
@@ -433,10 +453,10 @@ namespace GHelper
// checkShutdownLogo // checkShutdownLogo
// //
checkShutdownLogo.Dock = DockStyle.Fill; checkShutdownLogo.Dock = DockStyle.Fill;
checkShutdownLogo.Location = new Point(235, 183); checkShutdownLogo.Location = new Point(240, 183);
checkShutdownLogo.Name = "checkShutdownLogo"; checkShutdownLogo.Name = "checkShutdownLogo";
checkShutdownLogo.Padding = new Padding(15, 2, 5, 2); checkShutdownLogo.Padding = new Padding(15, 2, 5, 2);
checkShutdownLogo.Size = new Size(226, 40); checkShutdownLogo.Size = new Size(231, 40);
checkShutdownLogo.TabIndex = 20; checkShutdownLogo.TabIndex = 20;
checkShutdownLogo.Text = Strings.Shutdown; checkShutdownLogo.Text = Strings.Shutdown;
checkShutdownLogo.UseVisualStyleBackColor = true; checkShutdownLogo.UseVisualStyleBackColor = true;
@@ -445,20 +465,20 @@ namespace GHelper
// //
labelBacklightBar.Dock = DockStyle.Fill; labelBacklightBar.Dock = DockStyle.Fill;
labelBacklightBar.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point); labelBacklightBar.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
labelBacklightBar.Location = new Point(467, 0); labelBacklightBar.Location = new Point(477, 0);
labelBacklightBar.Name = "labelBacklightBar"; labelBacklightBar.Name = "labelBacklightBar";
labelBacklightBar.Padding = new Padding(10, 5, 5, 5); labelBacklightBar.Padding = new Padding(10, 5, 5, 5);
labelBacklightBar.Size = new Size(226, 42); labelBacklightBar.Size = new Size(231, 42);
labelBacklightBar.TabIndex = 11; labelBacklightBar.TabIndex = 11;
labelBacklightBar.Text = "Lightbar"; labelBacklightBar.Text = "Lightbar";
// //
// checkAwakeBar // checkAwakeBar
// //
checkAwakeBar.Dock = DockStyle.Fill; checkAwakeBar.Dock = DockStyle.Fill;
checkAwakeBar.Location = new Point(467, 45); checkAwakeBar.Location = new Point(477, 45);
checkAwakeBar.Name = "checkAwakeBar"; checkAwakeBar.Name = "checkAwakeBar";
checkAwakeBar.Padding = new Padding(15, 2, 5, 2); checkAwakeBar.Padding = new Padding(15, 2, 5, 2);
checkAwakeBar.Size = new Size(226, 40); checkAwakeBar.Size = new Size(231, 40);
checkAwakeBar.TabIndex = 7; checkAwakeBar.TabIndex = 7;
checkAwakeBar.Text = Strings.Awake; checkAwakeBar.Text = Strings.Awake;
checkAwakeBar.UseVisualStyleBackColor = true; checkAwakeBar.UseVisualStyleBackColor = true;
@@ -466,10 +486,10 @@ namespace GHelper
// checkBootBar // checkBootBar
// //
checkBootBar.Dock = DockStyle.Fill; checkBootBar.Dock = DockStyle.Fill;
checkBootBar.Location = new Point(467, 91); checkBootBar.Location = new Point(477, 91);
checkBootBar.Name = "checkBootBar"; checkBootBar.Name = "checkBootBar";
checkBootBar.Padding = new Padding(15, 2, 5, 2); checkBootBar.Padding = new Padding(15, 2, 5, 2);
checkBootBar.Size = new Size(226, 40); checkBootBar.Size = new Size(231, 40);
checkBootBar.TabIndex = 8; checkBootBar.TabIndex = 8;
checkBootBar.Text = Strings.Boot; checkBootBar.Text = Strings.Boot;
checkBootBar.UseVisualStyleBackColor = true; checkBootBar.UseVisualStyleBackColor = true;
@@ -477,10 +497,10 @@ namespace GHelper
// checkSleepBar // checkSleepBar
// //
checkSleepBar.Dock = DockStyle.Fill; checkSleepBar.Dock = DockStyle.Fill;
checkSleepBar.Location = new Point(467, 137); checkSleepBar.Location = new Point(477, 137);
checkSleepBar.Name = "checkSleepBar"; checkSleepBar.Name = "checkSleepBar";
checkSleepBar.Padding = new Padding(15, 2, 5, 2); checkSleepBar.Padding = new Padding(15, 2, 5, 2);
checkSleepBar.Size = new Size(226, 40); checkSleepBar.Size = new Size(231, 40);
checkSleepBar.TabIndex = 9; checkSleepBar.TabIndex = 9;
checkSleepBar.Text = Strings.Sleep; checkSleepBar.Text = Strings.Sleep;
checkSleepBar.UseVisualStyleBackColor = true; checkSleepBar.UseVisualStyleBackColor = true;
@@ -488,10 +508,10 @@ namespace GHelper
// checkShutdownBar // checkShutdownBar
// //
checkShutdownBar.Dock = DockStyle.Fill; checkShutdownBar.Dock = DockStyle.Fill;
checkShutdownBar.Location = new Point(467, 183); checkShutdownBar.Location = new Point(477, 183);
checkShutdownBar.Name = "checkShutdownBar"; checkShutdownBar.Name = "checkShutdownBar";
checkShutdownBar.Padding = new Padding(15, 2, 5, 2); checkShutdownBar.Padding = new Padding(15, 2, 5, 2);
checkShutdownBar.Size = new Size(226, 40); checkShutdownBar.Size = new Size(231, 40);
checkShutdownBar.TabIndex = 10; checkShutdownBar.TabIndex = 10;
checkShutdownBar.Text = Strings.Shutdown; checkShutdownBar.Text = Strings.Shutdown;
checkShutdownBar.UseVisualStyleBackColor = true; checkShutdownBar.UseVisualStyleBackColor = true;
@@ -500,20 +520,20 @@ namespace GHelper
// //
labelBacklightLid.Dock = DockStyle.Fill; labelBacklightLid.Dock = DockStyle.Fill;
labelBacklightLid.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point); labelBacklightLid.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
labelBacklightLid.Location = new Point(699, 0); labelBacklightLid.Location = new Point(714, 0);
labelBacklightLid.Name = "labelBacklightLid"; labelBacklightLid.Name = "labelBacklightLid";
labelBacklightLid.Padding = new Padding(10, 5, 5, 5); labelBacklightLid.Padding = new Padding(10, 5, 5, 5);
labelBacklightLid.Size = new Size(226, 42); labelBacklightLid.Size = new Size(231, 42);
labelBacklightLid.TabIndex = 16; labelBacklightLid.TabIndex = 16;
labelBacklightLid.Text = "Lid"; labelBacklightLid.Text = "Lid";
// //
// checkAwakeLid // checkAwakeLid
// //
checkAwakeLid.Dock = DockStyle.Fill; checkAwakeLid.Dock = DockStyle.Fill;
checkAwakeLid.Location = new Point(699, 45); checkAwakeLid.Location = new Point(714, 45);
checkAwakeLid.Name = "checkAwakeLid"; checkAwakeLid.Name = "checkAwakeLid";
checkAwakeLid.Padding = new Padding(15, 2, 5, 2); checkAwakeLid.Padding = new Padding(15, 2, 5, 2);
checkAwakeLid.Size = new Size(226, 40); checkAwakeLid.Size = new Size(231, 40);
checkAwakeLid.TabIndex = 12; checkAwakeLid.TabIndex = 12;
checkAwakeLid.Text = Strings.Awake; checkAwakeLid.Text = Strings.Awake;
checkAwakeLid.UseVisualStyleBackColor = true; checkAwakeLid.UseVisualStyleBackColor = true;
@@ -521,10 +541,10 @@ namespace GHelper
// checkBootLid // checkBootLid
// //
checkBootLid.Dock = DockStyle.Fill; checkBootLid.Dock = DockStyle.Fill;
checkBootLid.Location = new Point(699, 91); checkBootLid.Location = new Point(714, 91);
checkBootLid.Name = "checkBootLid"; checkBootLid.Name = "checkBootLid";
checkBootLid.Padding = new Padding(15, 2, 5, 2); checkBootLid.Padding = new Padding(15, 2, 5, 2);
checkBootLid.Size = new Size(226, 40); checkBootLid.Size = new Size(231, 40);
checkBootLid.TabIndex = 13; checkBootLid.TabIndex = 13;
checkBootLid.Text = Strings.Boot; checkBootLid.Text = Strings.Boot;
checkBootLid.UseVisualStyleBackColor = true; checkBootLid.UseVisualStyleBackColor = true;
@@ -532,10 +552,10 @@ namespace GHelper
// checkSleepLid // checkSleepLid
// //
checkSleepLid.Dock = DockStyle.Fill; checkSleepLid.Dock = DockStyle.Fill;
checkSleepLid.Location = new Point(699, 137); checkSleepLid.Location = new Point(714, 137);
checkSleepLid.Name = "checkSleepLid"; checkSleepLid.Name = "checkSleepLid";
checkSleepLid.Padding = new Padding(15, 2, 5, 2); checkSleepLid.Padding = new Padding(15, 2, 5, 2);
checkSleepLid.Size = new Size(226, 40); checkSleepLid.Size = new Size(231, 40);
checkSleepLid.TabIndex = 14; checkSleepLid.TabIndex = 14;
checkSleepLid.Text = Strings.Sleep; checkSleepLid.Text = Strings.Sleep;
checkSleepLid.UseVisualStyleBackColor = true; checkSleepLid.UseVisualStyleBackColor = true;
@@ -543,28 +563,39 @@ namespace GHelper
// checkShutdownLid // checkShutdownLid
// //
checkShutdownLid.Dock = DockStyle.Fill; checkShutdownLid.Dock = DockStyle.Fill;
checkShutdownLid.Location = new Point(699, 183); checkShutdownLid.Location = new Point(714, 183);
checkShutdownLid.Name = "checkShutdownLid"; checkShutdownLid.Name = "checkShutdownLid";
checkShutdownLid.Padding = new Padding(15, 2, 5, 2); checkShutdownLid.Padding = new Padding(15, 2, 5, 2);
checkShutdownLid.Size = new Size(226, 40); checkShutdownLid.Size = new Size(231, 40);
checkShutdownLid.TabIndex = 15; checkShutdownLid.TabIndex = 15;
checkShutdownLid.Text = Strings.Shutdown; checkShutdownLid.Text = Strings.Shutdown;
checkShutdownLid.UseVisualStyleBackColor = true; checkShutdownLid.UseVisualStyleBackColor = true;
// //
// groupOther // groupOther
// //
groupOther.Controls.Add(checkKeyboardAuto);
groupOther.Controls.Add(checkUSBC); groupOther.Controls.Add(checkUSBC);
groupOther.Controls.Add(checkNoOverdrive); groupOther.Controls.Add(checkNoOverdrive);
groupOther.Controls.Add(checkKeyboardAuto);
groupOther.Controls.Add(checkTopmost); groupOther.Controls.Add(checkTopmost);
groupOther.Dock = DockStyle.Top; groupOther.Dock = DockStyle.Top;
groupOther.Location = new Point(10, 727); groupOther.Location = new Point(10, 768);
groupOther.Name = "groupOther"; groupOther.Name = "groupOther";
groupOther.Size = new Size(934, 276); groupOther.Size = new Size(954, 276);
groupOther.TabIndex = 2; groupOther.TabIndex = 2;
groupOther.TabStop = false; groupOther.TabStop = false;
groupOther.Text = "Other"; groupOther.Text = "Other";
// //
// checkKeyboardAuto
//
checkKeyboardAuto.AutoSize = true;
checkKeyboardAuto.Location = new Point(25, 53);
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;
@@ -585,17 +616,6 @@ namespace GHelper
checkNoOverdrive.Text = Strings.DisableOverdrive; checkNoOverdrive.Text = Strings.DisableOverdrive;
checkNoOverdrive.UseVisualStyleBackColor = true; checkNoOverdrive.UseVisualStyleBackColor = true;
// //
// checkKeyboardAuto
//
checkKeyboardAuto.AutoSize = true;
checkKeyboardAuto.Location = new Point(25, 52);
checkKeyboardAuto.MaximumSize = new Size(780, 0);
checkKeyboardAuto.Name = "checkKeyboardAuto";
checkKeyboardAuto.Size = new Size(712, 36);
checkKeyboardAuto.TabIndex = 2;
checkKeyboardAuto.Text = Strings.KeyboardAuto;
checkKeyboardAuto.UseVisualStyleBackColor = true;
//
// checkTopmost // checkTopmost
// //
checkTopmost.AutoSize = true; checkTopmost.AutoSize = true;
@@ -610,7 +630,9 @@ namespace GHelper
// //
AutoScaleDimensions = new SizeF(13F, 32F); AutoScaleDimensions = new SizeF(13F, 32F);
AutoScaleMode = AutoScaleMode.Font; AutoScaleMode = AutoScaleMode.Font;
ClientSize = new Size(954, 1013); AutoSize = true;
AutoSizeMode = AutoSizeMode.GrowAndShrink;
ClientSize = new Size(974, 1059);
Controls.Add(groupOther); Controls.Add(groupOther);
Controls.Add(groupLight); Controls.Add(groupLight);
Controls.Add(groupBindings); Controls.Add(groupBindings);
@@ -618,6 +640,7 @@ namespace GHelper
MaximizeBox = false; MaximizeBox = false;
MdiChildrenMinimizedAnchorBottom = false; MdiChildrenMinimizedAnchorBottom = false;
MinimizeBox = false; MinimizeBox = false;
MinimumSize = new Size(1000, 0);
Name = "Extra"; Name = "Extra";
Padding = new Padding(10); Padding = new Padding(10);
ShowIcon = false; ShowIcon = false;
@@ -630,6 +653,7 @@ namespace GHelper
groupLight.PerformLayout(); groupLight.PerformLayout();
panelBacklightExtra.ResumeLayout(false); panelBacklightExtra.ResumeLayout(false);
panelBacklightExtra.PerformLayout(); panelBacklightExtra.PerformLayout();
((System.ComponentModel.ISupportInitialize)numericBacklightTime).EndInit();
((System.ComponentModel.ISupportInitialize)trackBrightness).EndInit(); ((System.ComponentModel.ISupportInitialize)trackBrightness).EndInit();
panelXMG.ResumeLayout(false); panelXMG.ResumeLayout(false);
panelXMG.PerformLayout(); panelXMG.PerformLayout();
@@ -655,7 +679,6 @@ namespace GHelper
private GroupBox groupLight; private GroupBox groupLight;
private GroupBox groupOther; private GroupBox groupOther;
private CheckBox checkTopmost; private CheckBox checkTopmost;
private CheckBox checkKeyboardAuto;
private CheckBox checkNoOverdrive; private CheckBox checkNoOverdrive;
private PictureBox pictureHelp; private PictureBox pictureHelp;
private CheckBox checkUSBC; private CheckBox checkUSBC;
@@ -687,5 +710,8 @@ namespace GHelper
private RComboBox comboKeyboardSpeed; private RComboBox comboKeyboardSpeed;
private Panel panelXMG; private Panel panelXMG;
private CheckBox checkXMG; private CheckBox checkXMG;
private Label labelBacklightTimeout;
private NumericUpDown numericBacklightTime;
private CheckBox checkKeyboardAuto;
} }
} }

View File

@@ -186,7 +186,18 @@ namespace GHelper
checkXMG.Checked = !(Program.config.getConfig("xmg_light") == 0); checkXMG.Checked = !(Program.config.getConfig("xmg_light") == 0);
checkXMG.CheckedChanged += CheckXMG_CheckedChanged; checkXMG.CheckedChanged += CheckXMG_CheckedChanged;
int kb_timeout = Program.config.getConfig("keyboard_light_tiomeout");
numericBacklightTime.Value = (kb_timeout >= 0) ? kb_timeout : 60;
numericBacklightTime.ValueChanged += NumericBacklightTime_ValueChanged;
}
private void NumericBacklightTime_ValueChanged(object? sender, EventArgs e)
{
Program.RunAsAdmin("extra");
Program.config.setConfig("keyboard_light_tiomeout", (int)numericBacklightTime.Value);
Aura.SetBacklightOffDelay((int)numericBacklightTime.Value);
} }
private void CheckXMG_CheckedChanged(object? sender, EventArgs e) private void CheckXMG_CheckedChanged(object? sender, EventArgs e)

View File

@@ -101,8 +101,9 @@ public class NvidiaGpuControl : IGpuControl
var pnpDeviceId = internalGpu.BusInformation.PCIIdentifiers.ToString(); var pnpDeviceId = internalGpu.BusInformation.PCIIdentifiers.ToString();
Logger.WriteLine("Device ID:"+ pnpDeviceId); Logger.WriteLine("Device ID:"+ pnpDeviceId);
RunCMD("pnputil", $"/disable-device /deviceid \"{pnpDeviceId}\""); RunCMD("pnputil", $"/disable-device /deviceid \"{pnpDeviceId}\"");
Thread.Sleep(1000); Thread.Sleep(2000);
RunCMD("pnputil", $"/enable-device /deviceid \"{pnpDeviceId}\""); RunCMD("pnputil", $"/enable-device /deviceid \"{pnpDeviceId}\"");
Thread.Sleep(1000);
} }
catch (Exception ex ) catch (Exception ex )
{ {

View File

@@ -629,8 +629,8 @@ public class NativeMethods
displayNum = count; displayNum = count;
} }
count++; count++;
//Logger.WriteLine(device.outputTechnology.ToString()); Logger.WriteLine(device.outputTechnology.ToString());
//Logger.WriteLine(device.monitorFriendlyDeviceName); Logger.WriteLine(device.monitorFriendlyDeviceName);
} }
var screens = Screen.AllScreens; var screens = Screen.AllScreens;
@@ -644,7 +644,7 @@ public class NativeMethods
{ {
laptopScreen = screen.DeviceName; laptopScreen = screen.DeviceName;
} }
//Logger.WriteLine(screen.DeviceName); Logger.WriteLine(screen.DeviceName);
count++; count++;
} }
} }
@@ -652,7 +652,7 @@ public class NativeMethods
{ {
Logger.WriteLine(ex.ToString()); Logger.WriteLine(ex.ToString());
Logger.WriteLine("Can't detect internal screen"); Logger.WriteLine("Can't detect internal screen");
//laptopScreen = Screen.PrimaryScreen.DeviceName; laptopScreen = Screen.PrimaryScreen.DeviceName;
} }

View File

@@ -1064,6 +1064,7 @@ namespace GHelper
{ {
int getStatus = nvControl.GetClocks(out int current_core, out int current_memory, out string gpuName); int getStatus = nvControl.GetClocks(out int current_core, out int current_memory, out string gpuName);
if (getStatus == -1) return; if (getStatus == -1) return;
if (Math.Abs(gpu_core - current_core) < 5 && Math.Abs(gpu_memory - current_memory) < 5) return; if (Math.Abs(gpu_core - current_core) < 5 && Math.Abs(gpu_memory - current_memory) < 5) return;
int setStatus = nvControl.SetClocks(gpu_core, gpu_memory); int setStatus = nvControl.SetClocks(gpu_core, gpu_memory);
@@ -1490,8 +1491,7 @@ namespace GHelper
if (status == 0 && eco == 1 && hardWay) if (status == 0 && eco == 1 && hardWay)
{ {
RestartGPUHardWay(); RestartGPUHardWay();
await Task.Delay(TimeSpan.FromSeconds(2)); Program.wmi.SetGPUEco(eco);
Program.wmi.SetGPUEco(0);
} }