mirror of
https://github.com/jkocon/g-helper.git
synced 2026-02-23 13:00:52 +01:00
UI tweaks
This commit is contained in:
@@ -1,5 +1,4 @@
|
|||||||
using System.Diagnostics;
|
using System.Management;
|
||||||
using System.Management;
|
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
public enum AsusFan
|
public enum AsusFan
|
||||||
|
|||||||
131
app/AsusUSB.cs
131
app/AsusUSB.cs
@@ -1,5 +1,4 @@
|
|||||||
using HidLibrary;
|
using HidLibrary;
|
||||||
using Microsoft.Win32;
|
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
namespace GHelper
|
namespace GHelper
|
||||||
@@ -181,7 +180,7 @@ namespace GHelper
|
|||||||
foreach (HidDevice device in HidDeviceList)
|
foreach (HidDevice device in HidDeviceList)
|
||||||
if (device.IsConnected
|
if (device.IsConnected
|
||||||
&& device.Capabilities.FeatureReportByteLength >= minFeatures
|
&& device.Capabilities.FeatureReportByteLength >= minFeatures
|
||||||
&& device.Capabilities.InputReportByteLength >= minInput)
|
&& device.Capabilities.InputReportByteLength >= minInput)
|
||||||
yield return device;
|
yield return device;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -248,33 +247,41 @@ namespace GHelper
|
|||||||
|
|
||||||
public static void ApplyBrightness(int brightness)
|
public static void ApplyBrightness(int brightness)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (AppConfig.ContainsModel("TUF"))
|
if (AppConfig.ContainsModel("TUF"))
|
||||||
Program.acpi.TUFKeyboardBrightness(brightness);
|
Program.acpi.TUFKeyboardBrightness(brightness);
|
||||||
|
|
||||||
byte[] msg = { AURA_HID_ID, 0xba, 0xc5, 0xc4, (byte)brightness };
|
|
||||||
|
|
||||||
var devices = GetHidDevices(deviceIds);
|
Task.Run(async () =>
|
||||||
foreach (HidDevice device in devices)
|
|
||||||
{
|
{
|
||||||
device.OpenDevice();
|
|
||||||
device.WriteFeatureData(msg);
|
|
||||||
Logger.WriteLine("KB Backlight:" + BitConverter.ToString(msg));
|
|
||||||
device.CloseDevice();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Backup payload for old models
|
byte[] msg = { AURA_HID_ID, 0xba, 0xc5, 0xc4, (byte)brightness };
|
||||||
if (AppConfig.ContainsModel("503"))
|
|
||||||
{
|
|
||||||
byte[] msgBackup = { INPUT_HID_ID, 0xba, 0xc5, 0xc4, (byte)brightness };
|
|
||||||
|
|
||||||
var devicesBackup = GetHidDevices(deviceIds, 0);
|
var devices = GetHidDevices(deviceIds);
|
||||||
foreach (HidDevice device in devicesBackup)
|
foreach (HidDevice device in devices)
|
||||||
{
|
{
|
||||||
device.OpenDevice();
|
device.OpenDevice();
|
||||||
device.WriteFeatureData(msgBackup);
|
device.WriteFeatureData(msg);
|
||||||
|
Logger.WriteLine("KB Backlight:" + BitConverter.ToString(msg));
|
||||||
device.CloseDevice();
|
device.CloseDevice();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
// Backup payload for old models
|
||||||
|
if (AppConfig.ContainsModel("503"))
|
||||||
|
{
|
||||||
|
byte[] msgBackup = { INPUT_HID_ID, 0xba, 0xc5, 0xc4, (byte)brightness };
|
||||||
|
|
||||||
|
var devicesBackup = GetHidDevices(deviceIds, 0);
|
||||||
|
foreach (HidDevice device in devicesBackup)
|
||||||
|
{
|
||||||
|
device.OpenDevice();
|
||||||
|
device.WriteFeatureData(msgBackup);
|
||||||
|
device.CloseDevice();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -305,49 +312,6 @@ namespace GHelper
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int SetXGM(byte[] msg)
|
|
||||||
{
|
|
||||||
|
|
||||||
//Logger.WriteLine("XGM Payload :" + BitConverter.ToString(msg));
|
|
||||||
|
|
||||||
var payload = new byte[300];
|
|
||||||
Array.Copy(msg, payload, msg.Length);
|
|
||||||
|
|
||||||
foreach (HidDevice device in GetHidDevices(new int[] { 0x1970 }, 0, 64))
|
|
||||||
{
|
|
||||||
device.OpenDevice();
|
|
||||||
Logger.WriteLine("XGM " + device.Attributes.ProductHexId + "|" + device.Capabilities.FeatureReportByteLength + ":" + BitConverter.ToString(msg));
|
|
||||||
device.WriteFeatureData(payload);
|
|
||||||
device.CloseDevice();
|
|
||||||
//return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void ApplyXGMLight(bool status)
|
|
||||||
{
|
|
||||||
SetXGM(new byte[] { 0x5e, 0xc5, status ? (byte)0x50 : (byte)0 });
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public static int ResetXGM()
|
|
||||||
{
|
|
||||||
return SetXGM(new byte[] { 0x5e, 0xd1, 0x02 });
|
|
||||||
}
|
|
||||||
|
|
||||||
public static int SetXGMFan(byte[] curve)
|
|
||||||
{
|
|
||||||
|
|
||||||
if (AsusACPI.IsInvalidCurve(curve)) return -1;
|
|
||||||
|
|
||||||
byte[] msg = new byte[19];
|
|
||||||
Array.Copy(new byte[] { 0x5e, 0xd1, 0x01 }, msg, 3);
|
|
||||||
Array.Copy(curve, 0, msg, 3, curve.Length);
|
|
||||||
|
|
||||||
return SetXGM(msg);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public static void ApplyAura()
|
public static void ApplyAura()
|
||||||
{
|
{
|
||||||
@@ -393,6 +357,51 @@ namespace GHelper
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Reference : thanks to https://github.com/RomanYazvinsky/ for initial discovery of XGM payloads
|
||||||
|
public static int SetXGM(byte[] msg)
|
||||||
|
{
|
||||||
|
|
||||||
|
//Logger.WriteLine("XGM Payload :" + BitConverter.ToString(msg));
|
||||||
|
|
||||||
|
var payload = new byte[300];
|
||||||
|
Array.Copy(msg, payload, msg.Length);
|
||||||
|
|
||||||
|
foreach (HidDevice device in GetHidDevices(new int[] { 0x1970 }, 0, 300))
|
||||||
|
{
|
||||||
|
device.OpenDevice();
|
||||||
|
Logger.WriteLine("XGM " + device.Attributes.ProductHexId + "|" + device.Capabilities.FeatureReportByteLength + ":" + BitConverter.ToString(msg));
|
||||||
|
device.WriteFeatureData(payload);
|
||||||
|
device.CloseDevice();
|
||||||
|
//return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void ApplyXGMLight(bool status)
|
||||||
|
{
|
||||||
|
SetXGM(new byte[] { 0x5e, 0xc5, status ? (byte)0x50 : (byte)0 });
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static int ResetXGM()
|
||||||
|
{
|
||||||
|
return SetXGM(new byte[] { 0x5e, 0xd1, 0x02 });
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int SetXGMFan(byte[] curve)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (AsusACPI.IsInvalidCurve(curve)) return -1;
|
||||||
|
|
||||||
|
byte[] msg = new byte[19];
|
||||||
|
Array.Copy(new byte[] { 0x5e, 0xd1, 0x01 }, msg, 3);
|
||||||
|
Array.Copy(curve, 0, msg, 3, curve.Length);
|
||||||
|
|
||||||
|
return SetXGM(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -303,7 +303,7 @@ namespace GHelper
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
MinimumSize = new Size(0, Program.settingsForm.Height);
|
Size = MinimumSize = new Size(0, Program.settingsForm.Height);
|
||||||
Height = Program.settingsForm.Height;
|
Height = Program.settingsForm.Height;
|
||||||
Top = Program.settingsForm.Top;
|
Top = Program.settingsForm.Top;
|
||||||
}
|
}
|
||||||
@@ -466,7 +466,7 @@ namespace GHelper
|
|||||||
chartMid.Visible = true;
|
chartMid.Visible = true;
|
||||||
SetChart(chartMid, AsusFan.Mid);
|
SetChart(chartMid, AsusFan.Mid);
|
||||||
LoadProfile(seriesMid, AsusFan.Mid);
|
LoadProfile(seriesMid, AsusFan.Mid);
|
||||||
MinimumSize = new Size(0, chartCount * 400 + 200);
|
Size = MinimumSize = new Size(0, chartCount * 400 + 200);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -481,7 +481,7 @@ namespace GHelper
|
|||||||
chartXGM.Visible = true;
|
chartXGM.Visible = true;
|
||||||
SetChart(chartXGM, AsusFan.XGM);
|
SetChart(chartXGM, AsusFan.XGM);
|
||||||
LoadProfile(seriesXGM, AsusFan.XGM);
|
LoadProfile(seriesXGM, AsusFan.XGM);
|
||||||
MinimumSize = new Size(0, chartCount * 400 + 200);
|
Size = MinimumSize = new Size(0, chartCount * 400 + 200);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -115,7 +115,7 @@ namespace GHelper
|
|||||||
AsusUSB.ApplyBrightness(AppConfig.getConfig("keyboard_brightness"));
|
AsusUSB.ApplyBrightness(AppConfig.getConfig("keyboard_brightness"));
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.WriteLine(iddle.TotalSeconds);
|
//Debug.WriteLine(iddle.TotalSeconds);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Init()
|
public void Init()
|
||||||
|
|||||||
Reference in New Issue
Block a user