FN-Lock Toggle

This commit is contained in:
Serge
2023-08-11 14:27:38 +02:00
parent 5634d75672
commit 8c3a74a991
8 changed files with 74 additions and 52 deletions

View File

@@ -536,7 +536,7 @@ namespace GHelper
Mode = AppConfig.Get("aura_mode");
Speed = AppConfig.Get("aura_speed");
SetColor(AppConfig.Get("aura_color", Color.Red.ToArgb()));
SetColor(AppConfig.Get("aura_color"));
SetColor2(AppConfig.Get("aura_color2"));
if (Mode == HEATMAP)

47
app/Extra.Designer.cs generated
View File

@@ -110,7 +110,6 @@ namespace GHelper
checkVariBright = new CheckBox();
checkGpuApps = new CheckBox();
checkGPUFix = new CheckBox();
checkFnLock = new CheckBox();
panelPower = new Panel();
numericHibernateAfter = new NumericUpDown();
labelHibernateAfter = new Label();
@@ -147,7 +146,7 @@ namespace GHelper
panelServices.Controls.Add(labelServices);
panelServices.Controls.Add(buttonServices);
panelServices.Dock = DockStyle.Top;
panelServices.Location = new Point(15, 1383);
panelServices.Location = new Point(15, 1321);
panelServices.Name = "panelServices";
panelServices.Size = new Size(983, 75);
panelServices.TabIndex = 5;
@@ -1070,19 +1069,18 @@ namespace GHelper
panelSettings.Controls.Add(checkVariBright);
panelSettings.Controls.Add(checkGpuApps);
panelSettings.Controls.Add(checkGPUFix);
panelSettings.Controls.Add(checkFnLock);
panelSettings.Dock = DockStyle.Top;
panelSettings.Location = new Point(15, 921);
panelSettings.Name = "panelSettings";
panelSettings.Padding = new Padding(20, 5, 11, 5);
panelSettings.Size = new Size(983, 388);
panelSettings.Size = new Size(983, 346);
panelSettings.TabIndex = 3;
//
// checkAutoToggleClamshellMode
//
checkAutoToggleClamshellMode.AutoSize = true;
checkAutoToggleClamshellMode.Dock = DockStyle.Top;
checkAutoToggleClamshellMode.Location = new Point(20, 341);
checkAutoToggleClamshellMode.Location = new Point(20, 299);
checkAutoToggleClamshellMode.Name = "checkAutoToggleClamshellMode";
checkAutoToggleClamshellMode.Padding = new Padding(3);
checkAutoToggleClamshellMode.Size = new Size(952, 42);
@@ -1094,7 +1092,7 @@ namespace GHelper
//
checkAutoApplyWindowsPowerMode.AutoSize = true;
checkAutoApplyWindowsPowerMode.Dock = DockStyle.Top;
checkAutoApplyWindowsPowerMode.Location = new Point(20, 299);
checkAutoApplyWindowsPowerMode.Location = new Point(20, 257);
checkAutoApplyWindowsPowerMode.Margin = new Padding(4, 3, 4, 3);
checkAutoApplyWindowsPowerMode.Name = "checkAutoApplyWindowsPowerMode";
checkAutoApplyWindowsPowerMode.Padding = new Padding(3);
@@ -1107,7 +1105,7 @@ namespace GHelper
//
checkTopmost.AutoSize = true;
checkTopmost.Dock = DockStyle.Top;
checkTopmost.Location = new Point(20, 257);
checkTopmost.Location = new Point(20, 215);
checkTopmost.Margin = new Padding(4, 3, 4, 3);
checkTopmost.Name = "checkTopmost";
checkTopmost.Padding = new Padding(3);
@@ -1120,7 +1118,7 @@ namespace GHelper
//
checkNoOverdrive.AutoSize = true;
checkNoOverdrive.Dock = DockStyle.Top;
checkNoOverdrive.Location = new Point(20, 215);
checkNoOverdrive.Location = new Point(20, 173);
checkNoOverdrive.Margin = new Padding(4, 3, 4, 3);
checkNoOverdrive.Name = "checkNoOverdrive";
checkNoOverdrive.Padding = new Padding(3);
@@ -1133,7 +1131,7 @@ namespace GHelper
//
checkUSBC.AutoSize = true;
checkUSBC.Dock = DockStyle.Top;
checkUSBC.Location = new Point(20, 173);
checkUSBC.Location = new Point(20, 131);
checkUSBC.Margin = new Padding(4, 3, 4, 3);
checkUSBC.Name = "checkUSBC";
checkUSBC.Padding = new Padding(3);
@@ -1146,7 +1144,7 @@ namespace GHelper
//
checkVariBright.AutoSize = true;
checkVariBright.Dock = DockStyle.Top;
checkVariBright.Location = new Point(20, 131);
checkVariBright.Location = new Point(20, 89);
checkVariBright.Margin = new Padding(4, 3, 4, 3);
checkVariBright.Name = "checkVariBright";
checkVariBright.Padding = new Padding(3);
@@ -1159,7 +1157,7 @@ namespace GHelper
//
checkGpuApps.AutoSize = true;
checkGpuApps.Dock = DockStyle.Top;
checkGpuApps.Location = new Point(20, 89);
checkGpuApps.Location = new Point(20, 47);
checkGpuApps.Margin = new Padding(4, 3, 4, 3);
checkGpuApps.Name = "checkGpuApps";
checkGpuApps.Padding = new Padding(3);
@@ -1172,7 +1170,7 @@ namespace GHelper
//
checkGPUFix.AutoSize = true;
checkGPUFix.Dock = DockStyle.Top;
checkGPUFix.Location = new Point(20, 47);
checkGPUFix.Location = new Point(20, 5);
checkGPUFix.Margin = new Padding(4, 3, 4, 3);
checkGPUFix.Name = "checkGPUFix";
checkGPUFix.Padding = new Padding(3);
@@ -1181,29 +1179,15 @@ namespace GHelper
checkGPUFix.Text = "Enable GPU on shutdown (prevents issue with Eco mode)";
checkGPUFix.UseVisualStyleBackColor = true;
//
// checkFnLock
//
checkFnLock.AutoSize = true;
checkFnLock.Dock = DockStyle.Top;
checkFnLock.Location = new Point(20, 5);
checkFnLock.Margin = new Padding(4, 3, 4, 3);
checkFnLock.MaximumSize = new Size(800, 0);
checkFnLock.Name = "checkFnLock";
checkFnLock.Padding = new Padding(3);
checkFnLock.Size = new Size(800, 42);
checkFnLock.TabIndex = 1;
checkFnLock.Text = "Process Fn+F hotkeys without Fn";
checkFnLock.UseVisualStyleBackColor = true;
//
// panelPower
//
panelPower.Controls.Add(numericHibernateAfter);
panelPower.Controls.Add(labelHibernateAfter);
panelPower.Controls.Add(pictureHibernate);
panelPower.Dock = DockStyle.Top;
panelPower.Location = new Point(15, 1309);
panelPower.Location = new Point(15, 1267);
panelPower.Name = "panelPower";
panelPower.Size = new Size(983, 74);
panelPower.Size = new Size(983, 54);
panelPower.TabIndex = 4;
//
// numericHibernateAfter
@@ -1211,7 +1195,7 @@ namespace GHelper
numericHibernateAfter.AccessibleName = "Minutes till Hibernation in sleep";
numericHibernateAfter.Anchor = AnchorStyles.Top | AnchorStyles.Right;
numericHibernateAfter.Increment = new decimal(new int[] { 10, 0, 0, 0 });
numericHibernateAfter.Location = new Point(810, 21);
numericHibernateAfter.Location = new Point(810, 7);
numericHibernateAfter.Margin = new Padding(4, 3, 4, 3);
numericHibernateAfter.Maximum = new decimal(new int[] { 3000000, 0, 0, 0 });
numericHibernateAfter.Name = "numericHibernateAfter";
@@ -1221,7 +1205,7 @@ namespace GHelper
// labelHibernateAfter
//
labelHibernateAfter.AutoSize = true;
labelHibernateAfter.Location = new Point(59, 21);
labelHibernateAfter.Location = new Point(59, 10);
labelHibernateAfter.Margin = new Padding(4, 0, 4, 0);
labelHibernateAfter.Name = "labelHibernateAfter";
labelHibernateAfter.Size = new Size(457, 32);
@@ -1232,7 +1216,7 @@ namespace GHelper
//
pictureHibernate.BackgroundImage = Resources.icons8_hibernate_32;
pictureHibernate.BackgroundImageLayout = ImageLayout.Zoom;
pictureHibernate.Location = new Point(20, 21);
pictureHibernate.Location = new Point(20, 10);
pictureHibernate.Name = "pictureHibernate";
pictureHibernate.Size = new Size(32, 32);
pictureHibernate.TabIndex = 22;
@@ -1370,7 +1354,6 @@ namespace GHelper
private CheckBox checkUSBC;
private CheckBox checkVariBright;
private CheckBox checkGpuApps;
private CheckBox checkFnLock;
private PictureBox pictureBacklight;
private Label labelBacklightTitle;
private PictureBox pictureService;

View File

@@ -119,7 +119,6 @@ namespace GHelper
checkTopmost.Text = Properties.Strings.WindowTop;
checkUSBC.Text = Properties.Strings.OptimizedUSBC;
checkAutoApplyWindowsPowerMode.Text = Properties.Strings.ApplyWindowsPowerPlan;
checkFnLock.Text = Properties.Strings.FnLock;
checkAutoToggleClamshellMode.Text = Properties.Strings.ToggleClamshellMode;
labelBacklightKeyboard.Text = Properties.Strings.Keyboard;
@@ -313,11 +312,7 @@ namespace GHelper
checkGpuApps.Checked = AppConfig.Is("kill_gpu_apps");
checkGpuApps.CheckedChanged += CheckGpuApps_CheckedChanged;
checkFnLock.Checked = AppConfig.Is("fn_lock");
checkFnLock.CheckedChanged += CheckFnLock_CheckedChanged; ;
pictureHelp.Click += PictureHelp_Click;
buttonServices.Click += ButtonServices_Click;
pictureLog.Click += PictureLog_Click;
@@ -480,15 +475,6 @@ namespace GHelper
}
}
private void CheckFnLock_CheckedChanged(object? sender, EventArgs e)
{
int fnLock = checkFnLock.Checked ? 1 : 0;
AppConfig.Set("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.Set("kill_gpu_apps", (checkGpuApps.Checked ? 1 : 0));

View File

@@ -401,7 +401,7 @@ namespace GHelper.Input
}
}
static void ToggleFnLock()
public static void ToggleFnLock()
{
int fnLock = AppConfig.Is("fn_lock") ? 0 : 1;
AppConfig.Set("fn_lock", fnLock);
@@ -411,6 +411,8 @@ namespace GHelper.Input
else
Program.settingsForm.BeginInvoke(Program.inputDispatcher.RegisterKeys);
Program.settingsForm.BeginInvoke(Program.settingsForm.VisualiseFnLock);
Program.toast.RunToast("Fn-Lock " + (fnLock == 1 ? "On" : "Off"), ToastIcon.FnLock);
}

View File

@@ -128,6 +128,7 @@ namespace GHelper
private static void SystemEvents_SessionEnding(object sender, SessionEndingEventArgs e)
{
gpuControl.StandardModeFix();
BatteryControl.SetBatteryChargeLimit();
}
private static void SystemEvents_SessionSwitch(object sender, SessionSwitchEventArgs e)

View File

@@ -94,6 +94,7 @@ namespace GHelper
buttonKeyboardColor = new RButton();
comboKeyboard = new RComboBox();
panelKeyboardTitle = new Panel();
buttonFnLock = new RButton();
pictureKeyboard = new PictureBox();
labelKeyboard = new Label();
panelVersion = new Panel();
@@ -1173,15 +1174,37 @@ namespace GHelper
//
// panelKeyboardTitle
//
panelKeyboardTitle.Controls.Add(buttonFnLock);
panelKeyboardTitle.Controls.Add(pictureKeyboard);
panelKeyboardTitle.Controls.Add(labelKeyboard);
panelKeyboardTitle.Dock = DockStyle.Top;
panelKeyboardTitle.Location = new Point(20, 20);
panelKeyboardTitle.Margin = new Padding(4);
panelKeyboardTitle.Margin = new Padding(0);
panelKeyboardTitle.Name = "panelKeyboardTitle";
panelKeyboardTitle.Padding = new Padding(0, 2, 4, 2);
panelKeyboardTitle.Size = new Size(787, 40);
panelKeyboardTitle.TabIndex = 40;
//
// buttonFnLock
//
buttonFnLock.Activated = false;
buttonFnLock.BackColor = SystemColors.ControlLight;
buttonFnLock.BorderColor = Color.Transparent;
buttonFnLock.BorderRadius = 2;
buttonFnLock.Dock = DockStyle.Right;
buttonFnLock.FlatAppearance.BorderSize = 0;
buttonFnLock.FlatStyle = FlatStyle.Flat;
buttonFnLock.Font = new Font("Segoe UI", 7.125F, FontStyle.Bold, GraphicsUnit.Point);
buttonFnLock.ForeColor = SystemColors.ControlDark;
buttonFnLock.Location = new Point(676, 2);
buttonFnLock.Margin = new Padding(0);
buttonFnLock.Name = "buttonFnLock";
buttonFnLock.Secondary = true;
buttonFnLock.Size = new Size(107, 36);
buttonFnLock.TabIndex = 4;
buttonFnLock.Text = "FN-Lock";
buttonFnLock.UseVisualStyleBackColor = false;
//
// pictureKeyboard
//
pictureKeyboard.BackgroundImage = Properties.Resources.icons8_keyboard_32__1_;
@@ -1197,7 +1220,7 @@ namespace GHelper
//
labelKeyboard.AutoSize = true;
labelKeyboard.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
labelKeyboard.Location = new Point(44, 0);
labelKeyboard.Location = new Point(40, -2);
labelKeyboard.Margin = new Padding(8, 0, 8, 0);
labelKeyboard.Name = "labelKeyboard";
labelKeyboard.Size = new Size(210, 32);
@@ -1526,5 +1549,6 @@ namespace GHelper
private RButton buttonKeyboard;
private RButton buttonUpdates;
private Label labelCharge;
private RButton buttonFnLock;
}
}

View File

@@ -196,9 +196,13 @@ namespace GHelper
this.Resize += SettingsForm_Resize;
SetContextMenu();
VisualiseFnLock();
buttonFnLock.Click += ButtonFnLock_Click;
panelPerformance.Focus();
}
private void SettingsForm_Resize(object? sender, EventArgs e)
{
Left = Screen.FromControl(this).WorkingArea.Width - 10 - Width;
@@ -622,7 +626,7 @@ namespace GHelper
{
AsusUSB.Mode = AppConfig.Get("aura_mode");
AsusUSB.Speed = AppConfig.Get("aura_speed");
AsusUSB.SetColor(AppConfig.Get("aura_color", Color.Red.ToArgb()));
AsusUSB.SetColor(AppConfig.Get("aura_color"));
AsusUSB.SetColor2(AppConfig.Get("aura_color2"));
comboKeyboard.DropDownStyle = ComboBoxStyle.DropDownList;
@@ -1194,6 +1198,28 @@ namespace GHelper
}
public void VisualiseFnLock()
{
if (AppConfig.Is("fn_lock"))
{
buttonFnLock.BackColor = colorStandard;
buttonFnLock.ForeColor = SystemColors.ControlLightLight;
}
else
{
buttonFnLock.BackColor = buttonSecond;
buttonFnLock.ForeColor = SystemColors.ControlDark;
}
}
private void ButtonFnLock_Click(object? sender, EventArgs e)
{
InputDispatcher.ToggleFnLock();
}
}

View File

@@ -18,7 +18,7 @@
<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="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>