mirror of
https://github.com/jkocon/g-helper.git
synced 2026-02-23 13:00:52 +01:00
Basic key bindings, second keyboard color, minor fixes
This commit is contained in:
6
Aura.cs
6
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;
|
||||
|
||||
12
Fans.Designer.cs
generated
12
Fans.Designer.cs
generated
@@ -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);
|
||||
|
||||
36
Fans.cs
36
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,6 +37,7 @@
|
||||
<PackageReference Include="hidlibrary" Version="3.3.40" />
|
||||
<PackageReference Include="System.Management" Version="7.0.0" />
|
||||
<PackageReference Include="TaskScheduler" Version="2.10.1" />
|
||||
<PackageReference Include="UToolKit" Version="1.1.0.1" />
|
||||
<PackageReference Include="WinForms.DataVisualization" Version="1.7.0" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
139
Keyboard.Designer.cs
generated
Normal file
139
Keyboard.Designer.cs
generated
Normal file
@@ -0,0 +1,139 @@
|
||||
namespace GHelper
|
||||
{
|
||||
partial class Keyboard
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
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;
|
||||
}
|
||||
}
|
||||
72
Keyboard.cs
Normal file
72
Keyboard.cs
Normal file
@@ -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");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
60
Keyboard.resx
Normal file
60
Keyboard.resx
Normal file
@@ -0,0 +1,60 @@
|
||||
<root>
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
@@ -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);
|
||||
|
||||
21
OSDBase.cs
21
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();
|
||||
|
||||
91
Program.cs
91
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();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
96
Settings.Designer.cs
generated
96
Settings.Designer.cs
generated
@@ -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;
|
||||
}
|
||||
}
|
||||
93
Settings.cs
93
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()
|
||||
|
||||
Reference in New Issue
Block a user