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; }