diff --git a/Aura.cs b/Aura.cs
index 7ad3dcb7..68c12817 100644
--- a/Aura.cs
+++ b/Aura.cs
@@ -12,9 +12,9 @@ public class Aura
public const int Rainbow = 3;
public const int Dingding = 10;
- public const int SpeedSlow = 0;
- public const int SpeedMedium = 1;
- public const int SpeedHigh = 2;
+ public const int SpeedSlow = 0xe1;
+ public const int SpeedMedium = 0xeb;
+ public const int SpeedHigh = 0xf5;
public static int Mode = Static;
public static Color Color1 = Color.White;
diff --git a/Fans.Designer.cs b/Fans.Designer.cs
index 71edd27c..9f92e92b 100644
--- a/Fans.Designer.cs
+++ b/Fans.Designer.cs
@@ -44,13 +44,13 @@
chartCPU.ChartAreas.Add(chartArea1);
chartCPU.Location = new Point(16, 13);
chartCPU.Name = "chartCPU";
- chartCPU.Size = new Size(900, 446);
+ chartCPU.Size = new Size(900, 480);
chartCPU.TabIndex = 0;
chartCPU.Text = "chartCPU";
//
// buttonApply
//
- buttonApply.Location = new Point(662, 944);
+ buttonApply.Location = new Point(661, 1016);
buttonApply.Name = "buttonApply";
buttonApply.Size = new Size(254, 46);
buttonApply.TabIndex = 1;
@@ -59,7 +59,7 @@
//
// buttonReset
//
- buttonReset.Location = new Point(402, 944);
+ buttonReset.Location = new Point(16, 1016);
buttonReset.Name = "buttonReset";
buttonReset.Size = new Size(254, 46);
buttonReset.TabIndex = 2;
@@ -70,9 +70,9 @@
//
chartArea2.Name = "ChartArea1";
chartGPU.ChartAreas.Add(chartArea2);
- chartGPU.Location = new Point(16, 477);
+ chartGPU.Location = new Point(16, 513);
chartGPU.Name = "chartGPU";
- chartGPU.Size = new Size(900, 448);
+ chartGPU.Size = new Size(900, 480);
chartGPU.TabIndex = 3;
chartGPU.Text = "chart1";
//
@@ -80,7 +80,7 @@
//
AutoScaleDimensions = new SizeF(13F, 32F);
AutoScaleMode = AutoScaleMode.Font;
- ClientSize = new Size(940, 1020);
+ ClientSize = new Size(940, 1089);
Controls.Add(chartGPU);
Controls.Add(buttonReset);
Controls.Add(buttonApply);
diff --git a/Fans.cs b/Fans.cs
index c701b293..84c8f6f3 100644
--- a/Fans.cs
+++ b/Fans.cs
@@ -35,6 +35,9 @@ namespace GHelper
chart.ChartAreas[0].AxisY.Minimum = 0;
chart.ChartAreas[0].AxisY.Maximum = 100;
+ chart.ChartAreas[0].AxisX.Interval = 10;
+ chart.ChartAreas[0].AxisY.Interval = 10;
+
if (chart.Legends.Count > 0)
chart.Legends[0].Enabled = false;
@@ -43,7 +46,7 @@ namespace GHelper
private void Fans_Shown(object? sender, EventArgs e)
{
Top = Program.settingsForm.Top;
- Left = Program.settingsForm.Left - Width - 10;
+ Left = Program.settingsForm.Left - Width - 5;
}
public Fans()
@@ -194,18 +197,33 @@ namespace GHelper
if (curPoint != null)
{
+
Series s = hit.Series;
- double dx = ax.PixelPositionToValue(e.X);
- double dy = ay.PixelPositionToValue(e.Y);
+ double dx, dy, dymin;
- if (dx < 0) dx = 0;
- if (dx > 100) dx = 100;
+ try
+ {
+ dx = ax.PixelPositionToValue(e.X);
+ dy = ay.PixelPositionToValue(e.Y);
- if (dy < 0) dy = 0;
- if (dy > 100) dy = 100;
+ if (dx < 20) dx = 20;
+ if (dx > 100) dx = 100;
- curPoint.XValue = dx;
- curPoint.YValues[0] = dy;
+ if (dy < 0) dy = 0;
+ if (dy > 100) dy = 100;
+
+ dymin = (dx - 60) * 1.2;
+
+ if (dy < dymin) dy = dymin;
+
+ curPoint.XValue = dx;
+ curPoint.YValues[0] = dy;
+
+ }
+ catch
+ {
+ Debug.WriteLine(e.Y);
+ }
}
}
}
diff --git a/GHelper.csproj b/GHelper.csproj
index c7c962a3..0c179617 100644
--- a/GHelper.csproj
+++ b/GHelper.csproj
@@ -37,6 +37,7 @@
+
diff --git a/Keyboard.Designer.cs b/Keyboard.Designer.cs
new file mode 100644
index 00000000..e0c58709
--- /dev/null
+++ b/Keyboard.Designer.cs
@@ -0,0 +1,139 @@
+namespace GHelper
+{
+ partial class Keyboard
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ groupBox1 = new GroupBox();
+ textM4 = new TextBox();
+ textM3 = new TextBox();
+ comboM4 = new ComboBox();
+ labelM4 = new Label();
+ comboM3 = new ComboBox();
+ labelM3 = new Label();
+ groupBox1.SuspendLayout();
+ SuspendLayout();
+ //
+ // groupBox1
+ //
+ groupBox1.Controls.Add(textM4);
+ groupBox1.Controls.Add(textM3);
+ groupBox1.Controls.Add(comboM4);
+ groupBox1.Controls.Add(labelM4);
+ groupBox1.Controls.Add(comboM3);
+ groupBox1.Controls.Add(labelM3);
+ groupBox1.Dock = DockStyle.Top;
+ groupBox1.Location = new Point(10, 10);
+ groupBox1.Name = "groupBox1";
+ groupBox1.Size = new Size(751, 196);
+ groupBox1.TabIndex = 0;
+ groupBox1.TabStop = false;
+ groupBox1.Text = "Key Bindings";
+ //
+ // textM4
+ //
+ textM4.Location = new Point(411, 113);
+ textM4.Name = "textM4";
+ textM4.PlaceholderText = "notepad /p \"file.txt\"";
+ textM4.Size = new Size(320, 39);
+ textM4.TabIndex = 5;
+ //
+ // textM3
+ //
+ textM3.Location = new Point(411, 54);
+ textM3.Name = "textM3";
+ textM3.PlaceholderText = "notepad /p \"file.txt\"";
+ textM3.Size = new Size(320, 39);
+ textM3.TabIndex = 4;
+ //
+ // comboM4
+ //
+ comboM4.FormattingEnabled = true;
+ comboM4.Items.AddRange(new object[] { "Performance Mode", "Open G-Helper window", "Custom" });
+ comboM4.Location = new Point(93, 112);
+ comboM4.Name = "comboM4";
+ comboM4.Size = new Size(312, 40);
+ 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.FormattingEnabled = true;
+ comboM3.Items.AddRange(new object[] { "Volume Mute", "Play / Pause", "Toggle Aura", "Custom" });
+ comboM3.Location = new Point(93, 54);
+ comboM3.Name = "comboM3";
+ comboM3.Size = new Size(312, 40);
+ comboM3.TabIndex = 1;
+ //
+ // labelM3
+ //
+ labelM3.AutoSize = true;
+ labelM3.Location = new Point(25, 58);
+ labelM3.Name = "labelM3";
+ labelM3.Size = new Size(54, 32);
+ labelM3.TabIndex = 0;
+ labelM3.Text = "M3:";
+ //
+ // Keyboard
+ //
+ AutoScaleDimensions = new SizeF(13F, 32F);
+ AutoScaleMode = AutoScaleMode.Font;
+ ClientSize = new Size(771, 858);
+ Controls.Add(groupBox1);
+ FormBorderStyle = FormBorderStyle.FixedSingle;
+ MaximizeBox = false;
+ MdiChildrenMinimizedAnchorBottom = false;
+ MinimizeBox = false;
+ Name = "Keyboard";
+ Padding = new Padding(10);
+ ShowIcon = false;
+ ShowInTaskbar = false;
+ Text = "Keyboard";
+ groupBox1.ResumeLayout(false);
+ groupBox1.PerformLayout();
+ ResumeLayout(false);
+ }
+
+ #endregion
+
+ private GroupBox groupBox1;
+ private Label labelM3;
+ private ComboBox comboM3;
+ private ComboBox comboM4;
+ private Label labelM4;
+ private TextBox textM4;
+ private TextBox textM3;
+ }
+}
\ No newline at end of file
diff --git a/Keyboard.cs b/Keyboard.cs
new file mode 100644
index 00000000..da9fc701
--- /dev/null
+++ b/Keyboard.cs
@@ -0,0 +1,72 @@
+namespace GHelper
+{
+ public partial class Keyboard : Form
+ {
+ public Keyboard()
+ {
+ InitializeComponent();
+
+ comboM3.DropDownStyle = ComboBoxStyle.DropDownList;
+ comboM3.SelectedIndex = 0;
+
+ comboM4.DropDownStyle = ComboBoxStyle.DropDownList;
+ comboM4.SelectedIndex = 0;
+
+ comboM3.SelectedValueChanged += ComboM3_SelectedValueChanged;
+ comboM4.SelectedValueChanged += ComboM4_SelectedValueChanged;
+
+ textM3.TextChanged += TextM3_TextChanged;
+ textM4.TextChanged += TextM4_TextChanged;
+
+ Shown += Keyboard_Shown;
+ }
+
+ private void TextM3_TextChanged(object? sender, EventArgs e)
+ {
+ if (sender is null) return;
+ TextBox tb = (TextBox)sender;
+ Program.config.setConfig("m3_custom", tb.Text);
+ }
+
+ private void TextM4_TextChanged(object? sender, EventArgs e)
+ {
+ if (sender is null) return;
+ TextBox tb = (TextBox)sender;
+ Program.config.setConfig("m4_custom", tb.Text);
+ }
+
+ private void ComboM4_SelectedValueChanged(object? sender, EventArgs e)
+ {
+ if (sender is null) return;
+ ComboBox cmb = (ComboBox)sender;
+ Program.config.setConfig("m4", cmb.SelectedIndex);
+ }
+
+ private void ComboM3_SelectedValueChanged(object? sender, EventArgs e)
+ {
+ if (sender is null) return;
+ ComboBox cmb = (ComboBox)sender;
+ Program.config.setConfig("m3", cmb.SelectedIndex);
+ }
+
+ private void Keyboard_Shown(object? sender, EventArgs e)
+ {
+
+ Top = Program.settingsForm.Top;
+ Left = Program.settingsForm.Left - Width - 5;
+
+ int m3 = Program.config.getConfig("m3");
+ int m4 = Program.config.getConfig("m4");
+
+ if (m3 != -1)
+ comboM3.SelectedIndex = m3;
+
+ if (m4 != -1)
+ comboM4.SelectedIndex = m4;
+
+ textM3.Text = Program.config.getConfigString("m3_custom");
+ textM4.Text = Program.config.getConfigString("m4_custom");
+
+ }
+ }
+}
diff --git a/Keyboard.resx b/Keyboard.resx
new file mode 100644
index 00000000..f298a7be
--- /dev/null
+++ b/Keyboard.resx
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/NativeMethods.cs b/NativeMethods.cs
index 4eb9adc3..c8f5b887 100644
--- a/NativeMethods.cs
+++ b/NativeMethods.cs
@@ -4,6 +4,22 @@ using System.Runtime.InteropServices;
public class NativeMethods
{
+ public const int KEYEVENTF_EXTENDEDKEY = 1;
+ public const int KEYEVENTF_KEYUP = 2;
+
+ public const int VK_MEDIA_NEXT_TRACK = 0xB0;
+ public const int VK_MEDIA_PLAY_PAUSE = 0xB3;
+ public const int VK_MEDIA_PREV_TRACK = 0xB1;
+ public const int VK_VOLUME_MUTE = 0xAD;
+
+ [DllImport("user32.dll", SetLastError = true)]
+ public static extern void keybd_event(byte virtualKey, byte scanCode, uint flags, IntPtr extraInfo);
+
+ public static void KeyPress(int key = VK_MEDIA_PLAY_PAUSE)
+ {
+ keybd_event((byte)key, 0, KEYEVENTF_EXTENDEDKEY, IntPtr.Zero);
+ }
+
[DllImport("user32.dll")]
public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow);
diff --git a/OSDBase.cs b/OSDBase.cs
index ba80df7e..f1895ee1 100644
--- a/OSDBase.cs
+++ b/OSDBase.cs
@@ -273,22 +273,7 @@ namespace OSD
}
#region # Win32 #
- internal struct PAINTSTRUCT
- {
- public IntPtr hdc;
- public int fErase;
- public Rectangle rcPaint;
- public int fRestore;
- public int fIncUpdate;
- public int Reserved1;
- public int Reserved2;
- public int Reserved3;
- public int Reserved4;
- public int Reserved5;
- public int Reserved6;
- public int Reserved7;
- public int Reserved8;
- }
+
[StructLayout(LayoutKind.Sequential)]
internal struct POINT
{
@@ -362,16 +347,12 @@ namespace OSD
[DllImport("User32.dll", CharSet = CharSet.Auto)]
internal static extern bool AnimateWindow(IntPtr hWnd, uint dwTime, uint dwFlags);
[DllImport("User32.dll", CharSet = CharSet.Auto)]
- internal static extern IntPtr BeginPaint(IntPtr hWnd, ref PAINTSTRUCT ps);
- [DllImport("User32.dll", CharSet = CharSet.Auto)]
internal static extern bool ClientToScreen(IntPtr hWnd, ref POINT pt);
[DllImport("User32.dll", CharSet = CharSet.Auto)]
internal static extern bool DispatchMessage(ref MSG msg);
[DllImport("User32.dll", CharSet = CharSet.Auto)]
internal static extern bool DrawFocusRect(IntPtr hWnd, ref RECT rect);
[DllImport("User32.dll", CharSet = CharSet.Auto)]
- internal static extern bool EndPaint(IntPtr hWnd, ref PAINTSTRUCT ps);
- [DllImport("User32.dll", CharSet = CharSet.Auto)]
internal static extern IntPtr GetDC(IntPtr hWnd);
[DllImport("User32.dll", CharSet = CharSet.Auto)]
internal static extern IntPtr GetFocus();
diff --git a/Program.cs b/Program.cs
index 988f8171..a9870bc3 100644
--- a/Program.cs
+++ b/Program.cs
@@ -1,8 +1,7 @@
+using System.Reflection;
using Microsoft.Win32;
using System.Diagnostics;
using System.Management;
-using System.Runtime.InteropServices;
-using System.Security.Principal;
using System.Text.Json;
@@ -124,7 +123,7 @@ namespace GHelper
public static ASUSWmi wmi = new ASUSWmi();
public static AppConfig config = new AppConfig();
-
+
public static SettingsForm settingsForm = new SettingsForm();
public static ToastForm toast = new ToastForm();
@@ -162,9 +161,31 @@ namespace GHelper
private static void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)
{
+ bool isPlugged = (System.Windows.Forms.SystemInformation.PowerStatus.PowerLineStatus == PowerLineStatus.Online);
+ settingsForm.AutoGPUMode(isPlugged ? 1 : 0);
+ settingsForm.AutoScreen(isPlugged ? 1 : 0);
+
settingsForm.SetBatteryChargeLimit(config.getConfig("charge_limit"));
}
+
+ static void LaunchProcess(string fileName = "")
+ {
+ ProcessStartInfo start = new ProcessStartInfo();
+ start.FileName = fileName;
+ start.WindowStyle = ProcessWindowStyle.Hidden;
+ start.CreateNoWindow = true;
+ try
+ {
+ Process proc = Process.Start(start);
+ } catch
+ {
+ Debug.WriteLine("Failed to run " + fileName);
+ }
+
+
+ }
+
static void WatcherEventArrived(object sender, EventArrivedEventArgs e)
{
var collection = (ManagementEventWatcher)sender;
@@ -177,14 +198,39 @@ namespace GHelper
switch (EventID)
{
- case 56: // Rog button
- case 174: // FN+F5
-
- settingsForm.BeginInvoke(delegate
+ case 124: // M3
+ switch (config.getConfig("m3"))
{
- settingsForm.CyclePerformanceMode();
- });
-
+ case 1:
+ NativeMethods.KeyPress(NativeMethods.VK_MEDIA_PLAY_PAUSE);
+ break;
+ case 2:
+ settingsForm.BeginInvoke(settingsForm.CycleAuraMode);
+ break;
+ case 3:
+ LaunchProcess(config.getConfigString("m3_custom"));
+ break;
+ default:
+ NativeMethods.KeyPress(NativeMethods.VK_VOLUME_MUTE);
+ break;
+ }
+ return;
+ case 56: // M4 / Rog button
+ switch (config.getConfig("m4"))
+ {
+ case 1:
+ settingsForm.BeginInvoke(SettingsToggle);
+ break;
+ case 2:
+ LaunchProcess(config.getConfigString("m4_custom"));
+ break;
+ default:
+ settingsForm.BeginInvoke(settingsForm.CyclePerformanceMode);
+ break;
+ }
+ return;
+ case 174: // FN+F5
+ settingsForm.BeginInvoke(settingsForm.CyclePerformanceMode);
return;
case 179: // FN+F4
settingsForm.BeginInvoke(delegate
@@ -193,18 +239,22 @@ namespace GHelper
});
return;
case 87: // Battery
+ /*
settingsForm.BeginInvoke(delegate
{
settingsForm.AutoGPUMode(0);
settingsForm.AutoScreen(0);
});
+ */
return;
case 88: // Plugged
+ /*
settingsForm.BeginInvoke(delegate
{
settingsForm.AutoScreen(1);
settingsForm.AutoGPUMode(1);
});
+ */
return;
}
@@ -212,19 +262,22 @@ namespace GHelper
}
+ static void SettingsToggle()
+ {
+ if (settingsForm.Visible)
+ settingsForm.Hide();
+ else
+ {
+ settingsForm.Show();
+ settingsForm.Activate();
+ }
+ }
+
static void TrayIcon_MouseClick(object? sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left || e.Button == MouseButtons.Right)
{
- if (settingsForm.Visible)
- settingsForm.Hide();
- else
- {
- settingsForm.Show();
- settingsForm.Activate();
- }
-
- trayIcon.Icon = trayIcon.Icon; // refreshing icon as it get's blurred when screen resolution changes
+ SettingsToggle();
}
}
diff --git a/Settings.Designer.cs b/Settings.Designer.cs
index 37ed495d..f2d84ef6 100644
--- a/Settings.Designer.cs
+++ b/Settings.Designer.cs
@@ -62,6 +62,10 @@
buttonKeyboardColor = new Button();
labelBattery = new Label();
buttonFans = new Button();
+ buttonKeyboard = new Button();
+ pictureColor = new PictureBox();
+ pictureColor2 = new PictureBox();
+ labelVersion = new Label();
((System.ComponentModel.ISupportInitialize)trackBattery).BeginInit();
((System.ComponentModel.ISupportInitialize)pictureBattery).BeginInit();
tableGPU.SuspendLayout();
@@ -71,12 +75,14 @@
((System.ComponentModel.ISupportInitialize)pictureScreen).BeginInit();
tableScreen.SuspendLayout();
((System.ComponentModel.ISupportInitialize)pictureBox1).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)pictureColor).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)pictureColor2).BeginInit();
SuspendLayout();
//
// checkStartup
//
checkStartup.AutoSize = true;
- checkStartup.Location = new Point(40, 1016);
+ checkStartup.Location = new Point(33, 1016);
checkStartup.Margin = new Padding(4, 2, 4, 2);
checkStartup.Name = "checkStartup";
checkStartup.Size = new Size(206, 36);
@@ -105,7 +111,7 @@
//
labelBatteryTitle.AutoSize = true;
labelBatteryTitle.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
- labelBatteryTitle.Location = new Point(76, 870);
+ labelBatteryTitle.Location = new Point(78, 870);
labelBatteryTitle.Margin = new Padding(4, 0, 4, 0);
labelBatteryTitle.Name = "labelBatteryTitle";
labelBatteryTitle.Size = new Size(248, 32);
@@ -116,7 +122,7 @@
//
pictureBattery.BackgroundImage = (Image)resources.GetObject("pictureBattery.BackgroundImage");
pictureBattery.BackgroundImageLayout = ImageLayout.Zoom;
- pictureBattery.Location = new Point(32, 868);
+ pictureBattery.Location = new Point(36, 868);
pictureBattery.Margin = new Padding(4, 2, 4, 2);
pictureBattery.Name = "pictureBattery";
pictureBattery.Size = new Size(36, 38);
@@ -199,7 +205,7 @@
//
labelGPU.AutoSize = true;
labelGPU.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
- labelGPU.Location = new Point(76, 264);
+ labelGPU.Location = new Point(78, 264);
labelGPU.Margin = new Padding(4, 0, 4, 0);
labelGPU.Name = "labelGPU";
labelGPU.Size = new Size(136, 32);
@@ -210,7 +216,7 @@
//
pictureGPU.BackgroundImage = (Image)resources.GetObject("pictureGPU.BackgroundImage");
pictureGPU.BackgroundImageLayout = ImageLayout.Zoom;
- pictureGPU.Location = new Point(32, 262);
+ pictureGPU.Location = new Point(36, 262);
pictureGPU.Margin = new Padding(4, 2, 4, 2);
pictureGPU.Name = "pictureGPU";
pictureGPU.Size = new Size(36, 38);
@@ -297,7 +303,7 @@
picturePerf.BackgroundImage = (Image)resources.GetObject("picturePerf.BackgroundImage");
picturePerf.BackgroundImageLayout = ImageLayout.Zoom;
picturePerf.InitialImage = null;
- picturePerf.Location = new Point(32, 36);
+ picturePerf.Location = new Point(36, 36);
picturePerf.Margin = new Padding(4, 2, 4, 2);
picturePerf.Name = "picturePerf";
picturePerf.Size = new Size(36, 38);
@@ -308,7 +314,7 @@
//
labelPerf.AutoSize = true;
labelPerf.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
- labelPerf.Location = new Point(76, 38);
+ labelPerf.Location = new Point(78, 38);
labelPerf.Margin = new Padding(4, 0, 4, 0);
labelPerf.Name = "labelPerf";
labelPerf.Size = new Size(234, 32);
@@ -344,7 +350,7 @@
//
pictureScreen.BackgroundImage = (Image)resources.GetObject("pictureScreen.BackgroundImage");
pictureScreen.BackgroundImageLayout = ImageLayout.Zoom;
- pictureScreen.Location = new Point(32, 496);
+ pictureScreen.Location = new Point(36, 496);
pictureScreen.Margin = new Padding(4, 2, 4, 2);
pictureScreen.Name = "pictureScreen";
pictureScreen.Size = new Size(36, 38);
@@ -355,7 +361,7 @@
//
labelSreen.AutoSize = true;
labelSreen.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
- labelSreen.Location = new Point(76, 496);
+ labelSreen.Location = new Point(78, 496);
labelSreen.Margin = new Padding(4, 0, 4, 0);
labelSreen.Name = "labelSreen";
labelSreen.Size = new Size(176, 32);
@@ -439,7 +445,7 @@
//
pictureBox1.BackgroundImage = Properties.Resources.icons8_keyboard_48;
pictureBox1.BackgroundImageLayout = ImageLayout.Zoom;
- pictureBox1.Location = new Point(32, 724);
+ pictureBox1.Location = new Point(36, 724);
pictureBox1.Margin = new Padding(4, 2, 4, 2);
pictureBox1.Name = "pictureBox1";
pictureBox1.Size = new Size(36, 36);
@@ -450,7 +456,7 @@
//
label1.AutoSize = true;
label1.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
- label1.Location = new Point(76, 724);
+ label1.Location = new Point(78, 724);
label1.Margin = new Padding(4, 0, 4, 0);
label1.Name = "label1";
label1.Size = new Size(210, 32);
@@ -459,15 +465,14 @@
//
// comboKeyboard
//
- comboKeyboard.FlatStyle = FlatStyle.Flat;
- comboKeyboard.Font = new Font("Segoe UI", 10F, FontStyle.Regular, GraphicsUnit.Point);
+ comboKeyboard.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
comboKeyboard.FormattingEnabled = true;
- comboKeyboard.ItemHeight = 37;
+ comboKeyboard.ItemHeight = 32;
comboKeyboard.Items.AddRange(new object[] { "Static", "Breathe", "Strobe", "Rainbow" });
- comboKeyboard.Location = new Point(36, 777);
+ comboKeyboard.Location = new Point(32, 778);
comboKeyboard.Margin = new Padding(0);
comboKeyboard.Name = "comboKeyboard";
- comboKeyboard.Size = new Size(200, 45);
+ comboKeyboard.Size = new Size(200, 40);
comboKeyboard.TabIndex = 24;
comboKeyboard.TabStop = false;
//
@@ -477,14 +482,13 @@
buttonKeyboardColor.BackColor = SystemColors.ButtonHighlight;
buttonKeyboardColor.FlatAppearance.BorderColor = Color.Red;
buttonKeyboardColor.FlatAppearance.BorderSize = 2;
- buttonKeyboardColor.FlatStyle = FlatStyle.Flat;
buttonKeyboardColor.ForeColor = SystemColors.ControlText;
- buttonKeyboardColor.Location = new Point(256, 775);
+ buttonKeyboardColor.Location = new Point(255, 774);
buttonKeyboardColor.Margin = new Padding(0);
buttonKeyboardColor.Name = "buttonKeyboardColor";
- buttonKeyboardColor.Size = new Size(212, 50);
+ buttonKeyboardColor.Size = new Size(209, 48);
buttonKeyboardColor.TabIndex = 25;
- buttonKeyboardColor.Text = "Color";
+ buttonKeyboardColor.Text = "Color ";
buttonKeyboardColor.UseVisualStyleBackColor = false;
//
// labelBattery
@@ -511,11 +515,55 @@
buttonFans.Text = "Fan Profile";
buttonFans.UseVisualStyleBackColor = false;
//
+ // buttonKeyboard
+ //
+ buttonKeyboard.Anchor = AnchorStyles.Top | AnchorStyles.Right;
+ buttonKeyboard.BackColor = SystemColors.ButtonFace;
+ buttonKeyboard.FlatAppearance.BorderSize = 0;
+ buttonKeyboard.Location = new Point(480, 773);
+ buttonKeyboard.Margin = new Padding(4, 2, 4, 2);
+ buttonKeyboard.Name = "buttonKeyboard";
+ buttonKeyboard.Size = new Size(209, 48);
+ buttonKeyboard.TabIndex = 29;
+ buttonKeyboard.Text = "Extra";
+ buttonKeyboard.UseVisualStyleBackColor = false;
+ //
+ // pictureColor
+ //
+ pictureColor.Location = new Point(431, 789);
+ pictureColor.Name = "pictureColor";
+ pictureColor.Size = new Size(20, 20);
+ pictureColor.TabIndex = 30;
+ pictureColor.TabStop = false;
+ //
+ // pictureColor2
+ //
+ pictureColor2.Location = new Point(405, 789);
+ pictureColor2.Name = "pictureColor2";
+ pictureColor2.Size = new Size(20, 20);
+ pictureColor2.TabIndex = 31;
+ pictureColor2.TabStop = false;
+ //
+ // labelVersion
+ //
+ labelVersion.AutoSize = true;
+ labelVersion.Font = new Font("Segoe UI", 9F, FontStyle.Underline, GraphicsUnit.Point);
+ labelVersion.ForeColor = SystemColors.ControlDark;
+ labelVersion.Location = new Point(34, 966);
+ labelVersion.Name = "labelVersion";
+ labelVersion.Size = new Size(44, 32);
+ labelVersion.TabIndex = 32;
+ labelVersion.Text = "v.0";
+ //
// SettingsForm
//
AutoScaleDimensions = new SizeF(192F, 192F);
AutoScaleMode = AutoScaleMode.Dpi;
- ClientSize = new Size(730, 1086);
+ ClientSize = new Size(730, 1089);
+ Controls.Add(labelVersion);
+ Controls.Add(pictureColor2);
+ Controls.Add(pictureColor);
+ Controls.Add(buttonKeyboard);
Controls.Add(buttonFans);
Controls.Add(labelBattery);
Controls.Add(buttonKeyboardColor);
@@ -561,6 +609,8 @@
((System.ComponentModel.ISupportInitialize)pictureScreen).EndInit();
tableScreen.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)pictureBox1).EndInit();
+ ((System.ComponentModel.ISupportInitialize)pictureColor).EndInit();
+ ((System.ComponentModel.ISupportInitialize)pictureColor2).EndInit();
ResumeLayout(false);
PerformLayout();
}
@@ -599,5 +649,9 @@
private Button buttonKeyboardColor;
private Label labelBattery;
private Button buttonFans;
+ private Button buttonKeyboard;
+ private PictureBox pictureColor;
+ private PictureBox pictureColor2;
+ private Label labelVersion;
}
}
\ No newline at end of file
diff --git a/Settings.cs b/Settings.cs
index 055546fb..9d8b85e4 100644
--- a/Settings.cs
+++ b/Settings.cs
@@ -1,6 +1,7 @@
using System.Diagnostics;
+using System.Reflection;
using System.Timers;
-
+using System.Windows.Forms.DataVisualization.Charting;
namespace GHelper
{
@@ -17,9 +18,10 @@ namespace GHelper
static System.Timers.Timer aTimer = default!;
- public string perfName;
+ public string perfName = "Balanced";
Fans fans;
+ Keyboard keyb;
public SettingsForm()
{
@@ -65,6 +67,13 @@ namespace GHelper
buttonKeyboardColor.Click += ButtonKeyboardColor_Click;
buttonFans.Click += ButtonFans_Click;
+ buttonKeyboard.Click += ButtonKeyboard_Click;
+
+ pictureColor.Click += PictureColor_Click;
+ pictureColor2.Click += PictureColor2_Click;
+
+ labelVersion.Text = "Version " + Assembly.GetExecutingAssembly().GetName().Version.ToString();
+ labelVersion.Click += LabelVersion_Click;
SetTimer();
@@ -72,6 +81,42 @@ namespace GHelper
}
+ private void LabelVersion_Click(object? sender, EventArgs e)
+ {
+ Process.Start(new ProcessStartInfo("http://github.com/seerge/g-helper/releases") { UseShellExecute = true });
+ }
+
+ private void PictureColor2_Click(object? sender, EventArgs e)
+ {
+
+ ColorDialog colorDlg = new ColorDialog();
+ colorDlg.AllowFullOpen = false;
+ colorDlg.Color = pictureColor2.BackColor;
+
+ if (colorDlg.ShowDialog() == DialogResult.OK)
+ {
+ SetAuraColor(color2: colorDlg.Color);
+ }
+ }
+
+ private void PictureColor_Click(object? sender, EventArgs e)
+ {
+ buttonKeyboardColor.PerformClick();
+ }
+
+ private void ButtonKeyboard_Click(object? sender, EventArgs e)
+ {
+ if (keyb == null || keyb.Text == "")
+ {
+ keyb = new Keyboard();
+ keyb.Show();
+ }
+ else
+ {
+ keyb.Close();
+ }
+ }
+
private void ButtonFans_Click(object? sender, EventArgs e)
{
if (fans == null || fans.Text == "")
@@ -96,11 +141,11 @@ namespace GHelper
ColorDialog colorDlg = new ColorDialog();
colorDlg.AllowFullOpen = false;
- colorDlg.Color = but.FlatAppearance.BorderColor;
+ colorDlg.Color = pictureColor.BackColor;
if (colorDlg.ShowDialog() == DialogResult.OK)
{
- SetAuraColor(colorDlg.Color);
+ SetAuraColor(color1: colorDlg.Color);
}
}
@@ -108,9 +153,12 @@ namespace GHelper
{
int mode = Program.config.getConfig("aura_mode");
int colorCode = Program.config.getConfig("aura_color");
+ int colorCode2 = Program.config.getConfig("aura_color2");
+
int speed = Program.config.getConfig("aura_speed");
Color color = Color.FromArgb(255, 255, 255);
+ Color color2 = Color.FromArgb(0, 0, 0);
if (mode == -1)
mode = 0;
@@ -118,8 +166,10 @@ namespace GHelper
if (colorCode != -1)
color = Color.FromArgb(colorCode);
+ if (colorCode2 != -1)
+ color2 = Color.FromArgb(colorCode2);
- SetAuraColor(color, false);
+ SetAuraColor(color, color2, false);
SetAuraMode(mode, false);
Aura.Mode = mode;
@@ -127,15 +177,27 @@ namespace GHelper
}
- public void SetAuraColor(Color color, bool apply = true)
+ public void SetAuraColor(Color? color1 = null, Color? color2 = null, bool apply = true)
{
- Aura.Color1 = color;
- Program.config.setConfig("aura_color", color.ToArgb());
+
+ if (color1 is not null)
+ {
+ Aura.Color1 = (Color)color1;
+ Program.config.setConfig("aura_color", Aura.Color1.ToArgb());
+
+ }
+
+ if (color2 is not null)
+ {
+ Aura.Color2 = (Color)color2;
+ Program.config.setConfig("aura_color2", Aura.Color2.ToArgb());
+ }
if (apply)
Aura.ApplyAura();
- buttonKeyboardColor.FlatAppearance.BorderColor = color;
+ pictureColor.BackColor = Aura.Color1;
+ pictureColor2.BackColor = Aura.Color2;
}
public void SetAuraMode(int mode = 0, bool apply = true)
@@ -145,8 +207,11 @@ namespace GHelper
if (mode > 3) mode = 0;
+ pictureColor2.Visible = (mode == Aura.Breathe);
+
if (Aura.Mode == mode) return; // same mode
+
Aura.Mode = mode;
Program.config.setConfig("aura_mode", mode);
@@ -181,7 +246,7 @@ namespace GHelper
CheckBox chk = (CheckBox)sender;
if (chk.Checked)
- NativeMethods.SetCPUBoost(3);
+ NativeMethods.SetCPUBoost(2);
else
NativeMethods.SetCPUBoost(0);
}
@@ -421,17 +486,19 @@ namespace GHelper
if (fans != null && fans.Text != "")
fans.LoadFans();
- if (notify) {
+ if (notify)
+ {
try
{
Program.toast.RunToast(perfName);
- } catch
+ }
+ catch
{
Debug.WriteLine("Toast error");
}
}
-}
+ }
public void CyclePerformanceMode()