Added M1/M2 keys and keyboard init

This commit is contained in:
Serge
2023-05-21 19:01:43 +02:00
parent e0346a8af8
commit 1e0169a71d
7 changed files with 253 additions and 89 deletions

View File

@@ -1,6 +1,7 @@
using HidLibrary; using HidLibrary;
using Microsoft.Win32; using Microsoft.Win32;
using System.Diagnostics; using System.Diagnostics;
using System.Text;
namespace GHelper namespace GHelper
{ {
@@ -55,6 +56,12 @@ namespace GHelper
public const byte HID_ID = 0x5a; public const byte HID_ID = 0x5a;
public static readonly byte[] LED_INIT1 = new byte[] { 0x5d, 0xb9 };
public static readonly byte[] LED_INIT2 = Encoding.ASCII.GetBytes("]ASUS Tech.Inc.");
public static readonly byte[] LED_INIT3 = new byte[] { 0x5d, 0x05, 0x20, 0x31, 0, 0x08 };
public static readonly byte[] LED_INIT4 = Encoding.ASCII.GetBytes("^ASUS Tech.Inc.");
public static readonly byte[] LED_INIT5 = new byte[] { 0x5e, 0x05, 0x20, 0x31, 0, 0x08 };
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 };
@@ -240,19 +247,42 @@ namespace GHelper
return msg; return msg;
} }
public static void Init()
{
var devices = GetHidDevices(deviceIds);
foreach (HidDevice device in devices)
{
device.OpenDevice();
device.WriteFeatureData(LED_INIT1);
device.WriteFeatureData(LED_INIT2);
device.WriteFeatureData(LED_INIT3);
device.WriteFeatureData(LED_INIT4);
device.WriteFeatureData(LED_INIT5);
device.CloseDevice();
}
}
public static void ApplyBrightness(int brightness) public static void ApplyBrightness(int brightness)
{ {
byte[] msg = { 0x5d, 0xba, 0xc5, 0xc4, (byte)brightness }; byte[] msg = { 0x5d, 0xba, 0xc5, 0xc4, (byte)brightness };
var devices = GetHidDevices(deviceIds); var devices = GetHidDevices(deviceIds);
//Logger.WriteLine("USB-KB = " + BitConverter.ToString(msg));
foreach (HidDevice device in devices) foreach (HidDevice device in devices)
{ {
device.OpenDevice(); device.OpenDevice();
device.Write(msg);
Logger.WriteLine("USB-KB " + device.Attributes.ProductHexId + ":" + BitConverter.ToString(msg)); device.WriteFeatureData(LED_INIT1);
device.WriteFeatureData(LED_INIT2);
device.WriteFeatureData(LED_INIT3);
device.WriteFeatureData(LED_INIT4);
device.WriteFeatureData(LED_INIT5);
device.WriteFeatureData(msg);
Logger.WriteLine("USB-KB " + device.Capabilities.FeatureReportByteLength + ":" + BitConverter.ToString(msg));
device.CloseDevice(); device.CloseDevice();
} }
@@ -273,7 +303,7 @@ namespace GHelper
foreach (HidDevice device in devices) foreach (HidDevice device in devices)
{ {
device.OpenDevice(); device.OpenDevice();
device.Write(msg); device.WriteFeatureData(msg);
Logger.WriteLine("USB-KB " + device.Attributes.ProductHexId + ":" + BitConverter.ToString(msg)); Logger.WriteLine("USB-KB " + device.Attributes.ProductHexId + ":" + BitConverter.ToString(msg));
device.CloseDevice(); device.CloseDevice();
} }
@@ -362,9 +392,9 @@ namespace GHelper
foreach (HidDevice device in devices) foreach (HidDevice device in devices)
{ {
device.OpenDevice(); device.OpenDevice();
device.Write(msg); device.WriteFeatureData(msg);
device.Write(MESSAGE_SET); device.WriteFeatureData(MESSAGE_SET);
device.Write(MESSAGE_APPLY); device.WriteFeatureData(MESSAGE_APPLY);
device.CloseDevice(); device.CloseDevice();
Logger.WriteLine("USB-KB " + device.Capabilities.FeatureReportByteLength + "|" + device.Capabilities.InputReportByteLength + device.Description + device.DevicePath + ":" + BitConverter.ToString(msg)); Logger.WriteLine("USB-KB " + device.Capabilities.FeatureReportByteLength + "|" + device.Capabilities.InputReportByteLength + device.Description + device.DevicePath + ":" + BitConverter.ToString(msg));
} }

241
app/Extra.Designer.cs generated
View File

@@ -32,16 +32,23 @@ namespace GHelper
private void InitializeComponent() private void InitializeComponent()
{ {
groupBindings = new GroupBox(); groupBindings = new GroupBox();
pictureHelp = new PictureBox(); tableKeys = new TableLayoutPanel();
textFNF4 = new TextBox(); textM2 = new TextBox();
comboFNF4 = new RComboBox(); textM1 = new TextBox();
comboM1 = new RComboBox();
labelM1 = new Label();
labelFNF4 = new Label(); labelFNF4 = new Label();
comboFNF4 = new RComboBox();
comboM4 = new RComboBox();
comboM3 = new RComboBox();
textFNF4 = new TextBox();
textM4 = new TextBox(); textM4 = new TextBox();
textM3 = new TextBox(); textM3 = new TextBox();
comboM4 = new RComboBox();
labelM4 = new Label(); labelM4 = new Label();
comboM3 = new RComboBox();
labelM3 = new Label(); labelM3 = new Label();
labelM2 = new Label();
comboM2 = new RComboBox();
pictureHelp = new PictureBox();
groupLight = new GroupBox(); groupLight = new GroupBox();
panelBacklightExtra = new Panel(); panelBacklightExtra = new Panel();
numericBacklightTime = new NumericUpDown(); numericBacklightTime = new NumericUpDown();
@@ -80,6 +87,7 @@ namespace GHelper
checkNoOverdrive = new CheckBox(); checkNoOverdrive = new CheckBox();
checkTopmost = new CheckBox(); checkTopmost = new CheckBox();
groupBindings.SuspendLayout(); groupBindings.SuspendLayout();
tableKeys.SuspendLayout();
((System.ComponentModel.ISupportInitialize)pictureHelp).BeginInit(); ((System.ComponentModel.ISupportInitialize)pictureHelp).BeginInit();
groupLight.SuspendLayout(); groupLight.SuspendLayout();
panelBacklightExtra.SuspendLayout(); panelBacklightExtra.SuspendLayout();
@@ -92,118 +100,199 @@ namespace GHelper
// //
// groupBindings // groupBindings
// //
groupBindings.Controls.Add(tableKeys);
groupBindings.Controls.Add(pictureHelp); groupBindings.Controls.Add(pictureHelp);
groupBindings.Controls.Add(textFNF4);
groupBindings.Controls.Add(comboFNF4);
groupBindings.Controls.Add(labelFNF4);
groupBindings.Controls.Add(textM4);
groupBindings.Controls.Add(textM3);
groupBindings.Controls.Add(comboM4);
groupBindings.Controls.Add(labelM4);
groupBindings.Controls.Add(comboM3);
groupBindings.Controls.Add(labelM3);
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, 242); groupBindings.Size = new Size(954, 324);
groupBindings.TabIndex = 0; groupBindings.TabIndex = 0;
groupBindings.TabStop = false; groupBindings.TabStop = false;
groupBindings.Text = "Key Bindings"; groupBindings.Text = "Key Bindings";
// //
// pictureHelp // tableKeys
// //
pictureHelp.BackgroundImage = Resources.icons8_help_64; tableKeys.ColumnCount = 3;
pictureHelp.BackgroundImageLayout = ImageLayout.Zoom; tableKeys.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 20F));
pictureHelp.Cursor = Cursors.Hand; tableKeys.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 40F));
pictureHelp.Location = new Point(884, 58); tableKeys.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 40F));
pictureHelp.Name = "pictureHelp"; tableKeys.Controls.Add(textM2, 2, 1);
pictureHelp.Size = new Size(32, 32); tableKeys.Controls.Add(textM1, 2, 0);
pictureHelp.TabIndex = 9; tableKeys.Controls.Add(comboM1, 1, 0);
pictureHelp.TabStop = false; 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(comboM3, 1, 2);
tableKeys.Controls.Add(textFNF4, 2, 4);
tableKeys.Controls.Add(textM4, 2, 3);
tableKeys.Controls.Add(textM3, 2, 2);
tableKeys.Controls.Add(labelM4, 0, 3);
tableKeys.Controls.Add(labelM3, 0, 2);
tableKeys.Controls.Add(labelM2, 0, 1);
tableKeys.Controls.Add(comboM2, 1, 1);
tableKeys.Location = new Point(13, 38);
tableKeys.Name = "tableKeys";
tableKeys.Padding = new Padding(10);
tableKeys.RowCount = 5;
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.Size = new Size(897, 266);
tableKeys.TabIndex = 10;
// //
// textFNF4 // textM2
// //
textFNF4.Location = new Point(415, 176); textM2.Location = new Point(538, 63);
textFNF4.Name = "textFNF4"; textM2.Name = "textM2";
textFNF4.PlaceholderText = "action"; textM2.PlaceholderText = "action";
textFNF4.Size = new Size(448, 39); textM2.Size = new Size(346, 39);
textFNF4.TabIndex = 8; textM2.TabIndex = 14;
//
// textM1
//
textM1.Location = new Point(538, 13);
textM1.Name = "textM1";
textM1.PlaceholderText = "action";
textM1.Size = new Size(346, 39);
textM1.TabIndex = 13;
//
// comboM1
//
comboM1.BorderColor = Color.White;
comboM1.ButtonColor = Color.FromArgb(255, 255, 255);
comboM1.FormattingEnabled = true;
comboM1.Items.AddRange(new object[] { Strings.Default, Strings.VolumeMute, Strings.PlayPause, Strings.PrintScreen, Strings.ToggleAura, Strings.Custom });
comboM1.Location = new Point(188, 13);
comboM1.Name = "comboM1";
comboM1.Size = new Size(312, 40);
comboM1.TabIndex = 11;
//
// labelM1
//
labelM1.AutoSize = true;
labelM1.Location = new Point(13, 10);
labelM1.Name = "labelM1";
labelM1.Size = new Size(54, 32);
labelM1.TabIndex = 9;
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
// //
comboFNF4.BorderColor = Color.White; comboFNF4.BorderColor = Color.White;
comboFNF4.ButtonColor = Color.FromArgb(255, 255, 255); comboFNF4.ButtonColor = Color.FromArgb(255, 255, 255);
comboFNF4.FormattingEnabled = true; comboFNF4.FormattingEnabled = true;
comboFNF4.Location = new Point(93, 175); comboFNF4.Location = new Point(188, 213);
comboFNF4.Name = "comboFNF4"; comboFNF4.Name = "comboFNF4";
comboFNF4.Size = new Size(312, 40); comboFNF4.Size = new Size(312, 40);
comboFNF4.TabIndex = 7; comboFNF4.TabIndex = 7;
// //
// labelFNF4
//
labelFNF4.AutoSize = true;
labelFNF4.Location = new Point(2, 178);
labelFNF4.Name = "labelFNF4";
labelFNF4.Size = new Size(90, 32);
labelFNF4.TabIndex = 6;
labelFNF4.Text = "FN+F4:";
//
// textM4
//
textM4.Location = new Point(415, 113);
textM4.Name = "textM4";
textM4.PlaceholderText = "action";
textM4.Size = new Size(448, 39);
textM4.TabIndex = 5;
//
// textM3
//
textM3.Location = new Point(415, 54);
textM3.Name = "textM3";
textM3.PlaceholderText = "notepad /p \"file.txt\"";
textM3.Size = new Size(448, 39);
textM3.TabIndex = 4;
//
// 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(93, 112); comboM4.Location = new Point(188, 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;
// //
// labelM4
//
labelM4.AutoSize = true;
labelM4.Location = new Point(25, 116);
labelM4.Name = "labelM4";
labelM4.Size = new Size(54, 32);
labelM4.TabIndex = 2;
labelM4.Text = "M4:";
//
// comboM3 // comboM3
// //
comboM3.BorderColor = Color.White; comboM3.BorderColor = Color.White;
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(93, 54); comboM3.Location = new Point(188, 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.Location = new Point(538, 163);
textM4.Name = "textM4";
textM4.PlaceholderText = "action";
textM4.Size = new Size(346, 39);
textM4.TabIndex = 5;
//
// textM3
//
textM3.Location = new Point(538, 113);
textM3.Name = "textM3";
textM3.PlaceholderText = "action";
textM3.Size = new Size(346, 39);
textM3.TabIndex = 4;
//
// labelM4
//
labelM4.AutoSize = true;
labelM4.Location = new Point(13, 160);
labelM4.Name = "labelM4";
labelM4.Size = new Size(54, 32);
labelM4.TabIndex = 2;
labelM4.Text = "M4:";
//
// labelM3 // labelM3
// //
labelM3.AutoSize = true; labelM3.AutoSize = true;
labelM3.Location = new Point(25, 58); labelM3.Location = new Point(13, 110);
labelM3.Name = "labelM3"; labelM3.Name = "labelM3";
labelM3.Size = new Size(54, 32); labelM3.Size = new Size(54, 32);
labelM3.TabIndex = 0; labelM3.TabIndex = 0;
labelM3.Text = "M3:"; labelM3.Text = "M3:";
// //
// labelM2
//
labelM2.AutoSize = true;
labelM2.Location = new Point(13, 60);
labelM2.Name = "labelM2";
labelM2.Size = new Size(54, 32);
labelM2.TabIndex = 10;
labelM2.Text = "M2:";
//
// comboM2
//
comboM2.BorderColor = Color.White;
comboM2.ButtonColor = Color.FromArgb(255, 255, 255);
comboM2.FormattingEnabled = true;
comboM2.Items.AddRange(new object[] { Strings.Default, Strings.VolumeMute, Strings.PlayPause, Strings.PrintScreen, Strings.ToggleAura, Strings.Custom });
comboM2.Location = new Point(188, 63);
comboM2.Name = "comboM2";
comboM2.Size = new Size(312, 40);
comboM2.TabIndex = 12;
//
// pictureHelp
//
pictureHelp.BackgroundImage = Resources.icons8_help_64;
pictureHelp.BackgroundImageLayout = ImageLayout.Zoom;
pictureHelp.Cursor = Cursors.Hand;
pictureHelp.Location = new Point(906, 51);
pictureHelp.Name = "pictureHelp";
pictureHelp.Size = new Size(32, 32);
pictureHelp.TabIndex = 9;
pictureHelp.TabStop = false;
//
// groupLight // groupLight
// //
groupLight.AutoSize = true; groupLight.AutoSize = true;
@@ -211,7 +300,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, 252); groupLight.Location = new Point(10, 334);
groupLight.Name = "groupLight"; groupLight.Name = "groupLight";
groupLight.Size = new Size(954, 516); groupLight.Size = new Size(954, 516);
groupLight.TabIndex = 1; groupLight.TabIndex = 1;
@@ -579,7 +668,7 @@ namespace GHelper
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, 768); groupOther.Location = new Point(10, 850);
groupOther.Name = "groupOther"; groupOther.Name = "groupOther";
groupOther.Size = new Size(954, 276); groupOther.Size = new Size(954, 276);
groupOther.TabIndex = 2; groupOther.TabIndex = 2;
@@ -643,7 +732,7 @@ namespace GHelper
AutoScaleMode = AutoScaleMode.Font; AutoScaleMode = AutoScaleMode.Font;
AutoSize = true; AutoSize = true;
AutoSizeMode = AutoSizeMode.GrowAndShrink; AutoSizeMode = AutoSizeMode.GrowAndShrink;
ClientSize = new Size(974, 1059); ClientSize = new Size(974, 1131);
Controls.Add(groupOther); Controls.Add(groupOther);
Controls.Add(groupLight); Controls.Add(groupLight);
Controls.Add(groupBindings); Controls.Add(groupBindings);
@@ -658,7 +747,8 @@ namespace GHelper
ShowInTaskbar = false; ShowInTaskbar = false;
Text = "Extra Settings"; Text = "Extra Settings";
groupBindings.ResumeLayout(false); groupBindings.ResumeLayout(false);
groupBindings.PerformLayout(); tableKeys.ResumeLayout(false);
tableKeys.PerformLayout();
((System.ComponentModel.ISupportInitialize)pictureHelp).EndInit(); ((System.ComponentModel.ISupportInitialize)pictureHelp).EndInit();
groupLight.ResumeLayout(false); groupLight.ResumeLayout(false);
groupLight.PerformLayout(); groupLight.PerformLayout();
@@ -725,5 +815,12 @@ namespace GHelper
private NumericUpDown numericBacklightTime; private NumericUpDown numericBacklightTime;
private CheckBox checkKeyboardAuto; private CheckBox checkKeyboardAuto;
private CheckBox checkAutoApplyWindowsPowerMode; private CheckBox checkAutoApplyWindowsPowerMode;
private TableLayoutPanel tableKeys;
private Label labelM1;
private Label labelM2;
private RComboBox comboM1;
private RComboBox comboM2;
private TextBox textM2;
private TextBox textM1;
} }
} }

View File

@@ -22,16 +22,24 @@ namespace GHelper
private void SetKeyCombo(ComboBox combo, TextBox txbox, string name) private void SetKeyCombo(ComboBox combo, TextBox txbox, string name)
{ {
if (name == "m3") switch (name)
customActions[""] = Properties.Strings.MuteMic;
if (name == "m4")
customActions[""] = Properties.Strings.OpenGHelper;
if (name == "fnf4")
{ {
customActions[""] = Properties.Strings.ToggleAura; case "m1":
customActions.Remove("aura"); customActions[""] = Properties.Strings.VolumeDown;
break;
case "m2":
customActions[""] = Properties.Strings.VolumeUp;
break;
case "m3":
customActions[""] = Properties.Strings.MuteMic;
break;
case "m4":
customActions[""] = Properties.Strings.OpenGHelper;
break;
case "fnf4":
customActions[""] = Properties.Strings.ToggleAura;
customActions.Remove("aura");
break;
} }
combo.DropDownStyle = ComboBoxStyle.DropDownList; combo.DropDownStyle = ComboBoxStyle.DropDownList;
@@ -89,6 +97,8 @@ namespace GHelper
InitTheme(); InitTheme();
SetKeyCombo(comboM1, textM1, "m1");
SetKeyCombo(comboM2, textM2, "m2");
SetKeyCombo(comboM3, textM3, "m3"); SetKeyCombo(comboM3, textM3, "m3");
SetKeyCombo(comboM4, textM4, "m4"); SetKeyCombo(comboM4, textM4, "m4");
SetKeyCombo(comboFNF4, textFNF4, "fnf4"); SetKeyCombo(comboFNF4, textFNF4, "fnf4");

View File

@@ -81,6 +81,7 @@ namespace GHelper
settingsForm.InitMatrix(); settingsForm.InitMatrix();
settingsForm.SetStartupCheck(Startup.IsScheduled()); settingsForm.SetStartupCheck(Startup.IsScheduled());
SetAutoModes(); SetAutoModes();
// Subscribing for system power change events // Subscribing for system power change events

View File

@@ -1068,6 +1068,15 @@ namespace GHelper.Properties {
} }
} }
/// <summary>
/// Looks up a localized string similar to Volume Down.
/// </summary>
internal static string VolumeDown {
get {
return ResourceManager.GetString("VolumeDown", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to Volume Mute. /// Looks up a localized string similar to Volume Mute.
/// </summary> /// </summary>
@@ -1077,6 +1086,15 @@ namespace GHelper.Properties {
} }
} }
/// <summary>
/// Looks up a localized string similar to Volume Up.
/// </summary>
internal static string VolumeUp {
get {
return ResourceManager.GetString("VolumeUp", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to Keep app window always on top. /// Looks up a localized string similar to Keep app window always on top.
/// </summary> /// </summary>

View File

@@ -453,9 +453,15 @@
<data name="VersionLabel" xml:space="preserve"> <data name="VersionLabel" xml:space="preserve">
<value>Version</value> <value>Version</value>
</data> </data>
<data name="VolumeDown" xml:space="preserve">
<value>Volume Down</value>
</data>
<data name="VolumeMute" xml:space="preserve"> <data name="VolumeMute" xml:space="preserve">
<value>Volume Mute</value> <value>Volume Mute</value>
</data> </data>
<data name="VolumeUp" xml:space="preserve">
<value>Volume Up</value>
</data>
<data name="WindowTop" xml:space="preserve"> <data name="WindowTop" xml:space="preserve">
<value>Keep app window always on top</value> <value>Keep app window always on top</value>
</data> </data>

View File

@@ -1243,6 +1243,8 @@ namespace GHelper
public void AutoKeyboard() public void AutoKeyboard()
{ {
AsusUSB.Init();
if (AppConfig.getConfig("keyboard_auto") != 1) return; if (AppConfig.getConfig("keyboard_auto") != 1) return;
if (SystemInformation.PowerStatus.PowerLineStatus == PowerLineStatus.Online) if (SystemInformation.PowerStatus.PowerLineStatus == PowerLineStatus.Online)