From 400b2cd6cbfa5a39423127c89496a73de737d1c7 Mon Sep 17 00:00:00 2001
From: Serge <5920850+seerge@users.noreply.github.com>
Date: Wed, 31 May 2023 17:33:53 +0200
Subject: [PATCH] FN-lock
---
app/Extra.Designer.cs | 28 +++++++++++++++++++++-------
app/Extra.cs | 8 ++++++++
app/GHelper.csproj | 2 +-
app/InputDispatcher.cs | 9 ++-------
4 files changed, 32 insertions(+), 15 deletions(-)
diff --git a/app/Extra.Designer.cs b/app/Extra.Designer.cs
index 32daad53..f9dcd687 100644
--- a/app/Extra.Designer.cs
+++ b/app/Extra.Designer.cs
@@ -89,6 +89,7 @@ namespace GHelper
checkUSBC = new CheckBox();
checkNoOverdrive = new CheckBox();
checkTopmost = new CheckBox();
+ checkFnLock = new CheckBox();
groupBindings.SuspendLayout();
tableKeys.SuspendLayout();
((System.ComponentModel.ISupportInitialize)pictureHelp).BeginInit();
@@ -684,6 +685,7 @@ namespace GHelper
//
// groupOther
//
+ groupOther.Controls.Add(checkFnLock);
groupOther.Controls.Add(checkGpuApps);
groupOther.Controls.Add(checkAutoApplyWindowsPowerMode);
groupOther.Controls.Add(checkKeyboardAuto);
@@ -693,7 +695,7 @@ namespace GHelper
groupOther.Dock = DockStyle.Top;
groupOther.Location = new Point(10, 897);
groupOther.Name = "groupOther";
- groupOther.Size = new Size(954, 319);
+ groupOther.Size = new Size(954, 352);
groupOther.TabIndex = 2;
groupOther.TabStop = false;
groupOther.Text = "Other";
@@ -701,7 +703,7 @@ namespace GHelper
// checkGpuApps
//
checkGpuApps.AutoSize = true;
- checkGpuApps.Location = new Point(25, 92);
+ checkGpuApps.Location = new Point(25, 128);
checkGpuApps.Name = "checkGpuApps";
checkGpuApps.Size = new Size(544, 36);
checkGpuApps.TabIndex = 48;
@@ -711,7 +713,7 @@ namespace GHelper
// checkAutoApplyWindowsPowerMode
//
checkAutoApplyWindowsPowerMode.AutoSize = true;
- checkAutoApplyWindowsPowerMode.Location = new Point(25, 260);
+ checkAutoApplyWindowsPowerMode.Location = new Point(25, 296);
checkAutoApplyWindowsPowerMode.Name = "checkAutoApplyWindowsPowerMode";
checkAutoApplyWindowsPowerMode.Size = new Size(416, 36);
checkAutoApplyWindowsPowerMode.TabIndex = 47;
@@ -732,7 +734,7 @@ namespace GHelper
// checkUSBC
//
checkUSBC.AutoSize = true;
- checkUSBC.Location = new Point(25, 134);
+ checkUSBC.Location = new Point(25, 170);
checkUSBC.Name = "checkUSBC";
checkUSBC.Size = new Size(659, 36);
checkUSBC.TabIndex = 4;
@@ -742,7 +744,7 @@ namespace GHelper
// checkNoOverdrive
//
checkNoOverdrive.AutoSize = true;
- checkNoOverdrive.Location = new Point(25, 176);
+ checkNoOverdrive.Location = new Point(25, 212);
checkNoOverdrive.Name = "checkNoOverdrive";
checkNoOverdrive.Size = new Size(307, 36);
checkNoOverdrive.TabIndex = 3;
@@ -752,20 +754,31 @@ namespace GHelper
// checkTopmost
//
checkTopmost.AutoSize = true;
- checkTopmost.Location = new Point(25, 218);
+ checkTopmost.Location = new Point(25, 254);
checkTopmost.Name = "checkTopmost";
checkTopmost.Size = new Size(390, 36);
checkTopmost.TabIndex = 1;
checkTopmost.Text = Strings.WindowTop;
checkTopmost.UseVisualStyleBackColor = true;
//
+ // checkFnLock
+ //
+ checkFnLock.AutoSize = true;
+ checkFnLock.Location = new Point(25, 89);
+ checkFnLock.MaximumSize = new Size(780, 0);
+ checkFnLock.Name = "checkFnLock";
+ checkFnLock.Size = new Size(401, 36);
+ checkFnLock.TabIndex = 49;
+ checkFnLock.Text = "Process Fn+F hotkeys without FN";
+ checkFnLock.UseVisualStyleBackColor = true;
+ //
// Extra
//
AutoScaleDimensions = new SizeF(13F, 32F);
AutoScaleMode = AutoScaleMode.Font;
AutoSize = true;
AutoSizeMode = AutoSizeMode.GrowAndShrink;
- ClientSize = new Size(974, 1220);
+ ClientSize = new Size(974, 1262);
Controls.Add(groupOther);
Controls.Add(groupLight);
Controls.Add(groupBindings);
@@ -859,5 +872,6 @@ namespace GHelper
private NumericUpDown numericBacklightPluggedTime;
private Label labelBacklightTimeoutPlugged;
private CheckBox checkGpuApps;
+ private CheckBox checkFnLock;
}
}
\ No newline at end of file
diff --git a/app/Extra.cs b/app/Extra.cs
index d6d6dac9..7c3f0ae1 100644
--- a/app/Extra.cs
+++ b/app/Extra.cs
@@ -222,6 +222,14 @@ namespace GHelper
checkGpuApps.Checked = AppConfig.isConfig("kill_gpu_apps");
checkGpuApps.CheckedChanged += CheckGpuApps_CheckedChanged;
+ checkFnLock.Checked = AppConfig.isConfig("fn_lock");
+ checkFnLock.CheckedChanged += CheckFnLock_CheckedChanged; ;
+ }
+
+ private void CheckFnLock_CheckedChanged(object? sender, EventArgs e)
+ {
+ AppConfig.setConfig("fn_lock", (checkFnLock.Checked ? 1 : 0));
+ Program.inputDispatcher.RegisterKeys();
}
private void CheckGpuApps_CheckedChanged(object? sender, EventArgs e)
diff --git a/app/GHelper.csproj b/app/GHelper.csproj
index d7caeaae..3d91fe54 100644
--- a/app/GHelper.csproj
+++ b/app/GHelper.csproj
@@ -16,7 +16,7 @@
AnyCPU
False
True
- 0.73
+ 0.74
diff --git a/app/InputDispatcher.cs b/app/InputDispatcher.cs
index 822172be..22016330 100644
--- a/app/InputDispatcher.cs
+++ b/app/InputDispatcher.cs
@@ -59,7 +59,6 @@ namespace GHelper
public static Keys keyApp = Keys.F12;
KeyboardListener listener;
-
KeyboardHook hook = new KeyboardHook();
public InputDispatcher()
@@ -146,9 +145,8 @@ namespace GHelper
// FN-Lock group
- //for (Keys i = Keys.F1; i < Keys.F12; i++) hook.RegisterHotKey(ModifierKeys.None, i);
- //hook.RegisterHotKey(ModifierKeys.None, Keys.VolumeMute);
- //hook.RegisterHotKey(ModifierKeys.None, Keys.PrintScreen);
+ if (AppConfig.isConfig("fn_lock"))
+ for (Keys i = Keys.F1; i < Keys.F12; i++) hook.RegisterHotKey(ModifierKeys.None, i);
}
@@ -222,9 +220,6 @@ namespace GHelper
case Keys.VolumeUp:
KeyProcess("m2");
break;
- case Keys.VolumeMute:
- KeyboardHook.KeyPress(Keys.F1);
- break;
default:
break;
}