mirror of
https://github.com/jkocon/g-helper.git
synced 2026-02-23 13:00:52 +01:00
GPU Aura Mode
This commit is contained in:
168
app/AsusUSB.cs
168
app/AsusUSB.cs
@@ -2,6 +2,7 @@
|
|||||||
using GHelper.Helpers;
|
using GHelper.Helpers;
|
||||||
using HidLibrary;
|
using HidLibrary;
|
||||||
using NAudio.Gui;
|
using NAudio.Gui;
|
||||||
|
using System.Diagnostics;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
@@ -389,63 +390,58 @@ namespace GHelper
|
|||||||
public static void ApplyAuraPower()
|
public static void ApplyAuraPower()
|
||||||
{
|
{
|
||||||
|
|
||||||
Task.Run(async () =>
|
AuraPower flags = new();
|
||||||
|
|
||||||
|
// Keyboard
|
||||||
|
flags.AwakeKeyb = AppConfig.IsNotFalse("keyboard_awake");
|
||||||
|
flags.BootKeyb = AppConfig.IsNotFalse("keyboard_boot");
|
||||||
|
flags.SleepKeyb = AppConfig.IsNotFalse("keyboard_sleep");
|
||||||
|
flags.ShutdownKeyb = AppConfig.IsNotFalse("keyboard_shutdown");
|
||||||
|
|
||||||
|
// Logo
|
||||||
|
flags.AwakeLogo = AppConfig.IsNotFalse("keyboard_awake_logo");
|
||||||
|
flags.BootLogo = AppConfig.IsNotFalse("keyboard_boot_logo");
|
||||||
|
flags.SleepLogo = AppConfig.IsNotFalse("keyboard_sleep_logo");
|
||||||
|
flags.ShutdownLogo = AppConfig.IsNotFalse("keyboard_shutdown_logo");
|
||||||
|
|
||||||
|
// Lightbar
|
||||||
|
flags.AwakeBar = AppConfig.IsNotFalse("keyboard_awake_bar");
|
||||||
|
flags.BootBar = AppConfig.IsNotFalse("keyboard_boot_bar");
|
||||||
|
flags.SleepBar = AppConfig.IsNotFalse("keyboard_sleep_bar");
|
||||||
|
flags.ShutdownBar = AppConfig.IsNotFalse("keyboard_shutdown_bar");
|
||||||
|
|
||||||
|
// Lid
|
||||||
|
flags.AwakeLid = AppConfig.IsNotFalse("keyboard_awake_lid");
|
||||||
|
flags.BootLid = AppConfig.IsNotFalse("keyboard_boot_lid");
|
||||||
|
flags.SleepLid = AppConfig.IsNotFalse("keyboard_sleep_lid");
|
||||||
|
flags.ShutdownLid = AppConfig.IsNotFalse("keyboard_shutdown_lid");
|
||||||
|
|
||||||
|
// Rear Bar
|
||||||
|
flags.AwakeRear = AppConfig.IsNotFalse("keyboard_awake_lid");
|
||||||
|
flags.BootRear = AppConfig.IsNotFalse("keyboard_boot_lid");
|
||||||
|
flags.SleepRear = AppConfig.IsNotFalse("keyboard_sleep_lid");
|
||||||
|
flags.ShutdownRear = AppConfig.IsNotFalse("keyboard_shutdown_lid");
|
||||||
|
|
||||||
|
var devices = GetHidDevices(deviceIds);
|
||||||
|
byte[] msg = AuraPowerMessage(flags);
|
||||||
|
|
||||||
|
foreach (HidDevice device in devices)
|
||||||
{
|
{
|
||||||
|
device.OpenDevice();
|
||||||
AuraPower flags = new();
|
if (device.ReadFeatureData(out byte[] data, AURA_HID_ID))
|
||||||
|
|
||||||
// Keyboard
|
|
||||||
flags.AwakeKeyb = AppConfig.IsNotFalse("keyboard_awake");
|
|
||||||
flags.BootKeyb = AppConfig.IsNotFalse("keyboard_boot");
|
|
||||||
flags.SleepKeyb = AppConfig.IsNotFalse("keyboard_sleep");
|
|
||||||
flags.ShutdownKeyb = AppConfig.IsNotFalse("keyboard_shutdown");
|
|
||||||
|
|
||||||
// Logo
|
|
||||||
flags.AwakeLogo = AppConfig.IsNotFalse("keyboard_awake_logo");
|
|
||||||
flags.BootLogo = AppConfig.IsNotFalse("keyboard_boot_logo");
|
|
||||||
flags.SleepLogo = AppConfig.IsNotFalse("keyboard_sleep_logo");
|
|
||||||
flags.ShutdownLogo = AppConfig.IsNotFalse("keyboard_shutdown_logo");
|
|
||||||
|
|
||||||
// Lightbar
|
|
||||||
flags.AwakeBar = AppConfig.IsNotFalse("keyboard_awake_bar");
|
|
||||||
flags.BootBar = AppConfig.IsNotFalse("keyboard_boot_bar");
|
|
||||||
flags.SleepBar = AppConfig.IsNotFalse("keyboard_sleep_bar");
|
|
||||||
flags.ShutdownBar = AppConfig.IsNotFalse("keyboard_shutdown_bar");
|
|
||||||
|
|
||||||
// Lid
|
|
||||||
flags.AwakeLid = AppConfig.IsNotFalse("keyboard_awake_lid");
|
|
||||||
flags.BootLid = AppConfig.IsNotFalse("keyboard_boot_lid");
|
|
||||||
flags.SleepLid = AppConfig.IsNotFalse("keyboard_sleep_lid");
|
|
||||||
flags.ShutdownLid = AppConfig.IsNotFalse("keyboard_shutdown_lid");
|
|
||||||
|
|
||||||
// Rear Bar
|
|
||||||
flags.AwakeRear = AppConfig.IsNotFalse("keyboard_awake_lid");
|
|
||||||
flags.BootRear = AppConfig.IsNotFalse("keyboard_boot_lid");
|
|
||||||
flags.SleepRear = AppConfig.IsNotFalse("keyboard_sleep_lid");
|
|
||||||
flags.ShutdownRear = AppConfig.IsNotFalse("keyboard_shutdown_lid");
|
|
||||||
|
|
||||||
var devices = GetHidDevices(deviceIds);
|
|
||||||
byte[] msg = AuraPowerMessage(flags);
|
|
||||||
|
|
||||||
foreach (HidDevice device in devices)
|
|
||||||
{
|
{
|
||||||
device.OpenDevice();
|
device.WriteFeatureData(msg);
|
||||||
if (device.ReadFeatureData(out byte[] data, AURA_HID_ID))
|
Logger.WriteLine("USB-KB " + device.Attributes.ProductHexId + ":" + BitConverter.ToString(msg));
|
||||||
{
|
|
||||||
device.WriteFeatureData(msg);
|
|
||||||
Logger.WriteLine("USB-KB " + device.Attributes.ProductHexId + ":" + BitConverter.ToString(msg));
|
|
||||||
}
|
|
||||||
device.CloseDevice();
|
|
||||||
}
|
}
|
||||||
|
device.CloseDevice();
|
||||||
|
}
|
||||||
|
|
||||||
if (isTuf)
|
if (isTuf)
|
||||||
Program.acpi.TUFKeyboardPower(
|
Program.acpi.TUFKeyboardPower(
|
||||||
flags.AwakeKeyb,
|
flags.AwakeKeyb,
|
||||||
flags.BootKeyb,
|
flags.BootKeyb,
|
||||||
flags.SleepKeyb,
|
flags.SleepKeyb,
|
||||||
flags.ShutdownKeyb);
|
flags.ShutdownKeyb);
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -533,6 +529,7 @@ namespace GHelper
|
|||||||
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Debug.WriteLine(color.ToString());
|
||||||
auraDevice.Write(AuraMessage(0, color, color, 0));
|
auraDevice.Write(AuraMessage(0, color, color, 0));
|
||||||
auraDevice.Write(MESSAGE_SET);
|
auraDevice.Write(MESSAGE_SET);
|
||||||
}
|
}
|
||||||
@@ -544,7 +541,9 @@ namespace GHelper
|
|||||||
{
|
{
|
||||||
if (AppConfig.Get("aura_mode") != GPUMODE) return;
|
if (AppConfig.Get("aura_mode") != GPUMODE) return;
|
||||||
|
|
||||||
switch (GPUModeControl.GpuMode)
|
Logger.WriteLine(GPUModeControl.gpuMode.ToString());
|
||||||
|
|
||||||
|
switch (GPUModeControl.gpuMode)
|
||||||
{
|
{
|
||||||
case AsusACPI.GPUModeUltimate:
|
case AsusACPI.GPUModeUltimate:
|
||||||
ApplyColor(Color.Red, true);
|
ApplyColor(Color.Red, true);
|
||||||
@@ -582,46 +581,39 @@ namespace GHelper
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int _speed;
|
||||||
Task.Run(async () =>
|
switch (Speed)
|
||||||
{
|
{
|
||||||
|
case 1:
|
||||||
|
_speed = 0xeb;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
_speed = 0xf5;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
_speed = 0xe1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
byte[] msg;
|
||||||
|
var devices = GetHidDevices(deviceIds);
|
||||||
|
|
||||||
int _speed;
|
foreach (HidDevice device in devices)
|
||||||
|
{
|
||||||
switch (Speed)
|
device.OpenDevice();
|
||||||
|
if (device.ReadFeatureData(out byte[] data, AURA_HID_ID))
|
||||||
{
|
{
|
||||||
case 1:
|
msg = AuraMessage(Mode, Color1, Color2, _speed, isSingleColor);
|
||||||
_speed = 0xeb;
|
device.WriteFeatureData(msg);
|
||||||
break;
|
device.WriteFeatureData(MESSAGE_APPLY);
|
||||||
case 2:
|
device.WriteFeatureData(MESSAGE_SET);
|
||||||
_speed = 0xf5;
|
Logger.WriteLine("USB-KB " + device.Attributes.Version + device.Description + device.DevicePath + ":" + BitConverter.ToString(msg));
|
||||||
break;
|
|
||||||
default:
|
|
||||||
_speed = 0xe1;
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
device.CloseDevice();
|
||||||
|
}
|
||||||
|
|
||||||
byte[] msg;
|
if (isTuf)
|
||||||
var devices = GetHidDevices(deviceIds);
|
Program.acpi.TUFKeyboardRGB(Mode, Color1, _speed);
|
||||||
|
|
||||||
foreach (HidDevice device in devices)
|
|
||||||
{
|
|
||||||
device.OpenDevice();
|
|
||||||
if (device.ReadFeatureData(out byte[] data, AURA_HID_ID))
|
|
||||||
{
|
|
||||||
msg = AuraMessage(Mode, Color1, Color2, _speed, isSingleColor);
|
|
||||||
device.WriteFeatureData(msg);
|
|
||||||
device.WriteFeatureData(MESSAGE_APPLY);
|
|
||||||
device.WriteFeatureData(MESSAGE_SET);
|
|
||||||
Logger.WriteLine("USB-KB " + device.Attributes.Version + device.Description + device.DevicePath + ":" + BitConverter.ToString(msg));
|
|
||||||
}
|
|
||||||
device.CloseDevice();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isTuf)
|
|
||||||
Program.acpi.TUFKeyboardRGB(Mode, Color1, _speed);
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ namespace GHelper.Gpu
|
|||||||
SettingsForm settings;
|
SettingsForm settings;
|
||||||
ScreenControl screenControl = new ScreenControl();
|
ScreenControl screenControl = new ScreenControl();
|
||||||
|
|
||||||
public static int GpuMode;
|
public static int gpuMode;
|
||||||
|
|
||||||
public GPUModeControl(SettingsForm settingsForm)
|
public GPUModeControl(SettingsForm settingsForm)
|
||||||
{
|
{
|
||||||
@@ -27,14 +27,14 @@ namespace GHelper.Gpu
|
|||||||
|
|
||||||
if (mux == 0)
|
if (mux == 0)
|
||||||
{
|
{
|
||||||
GpuMode = AsusACPI.GPUModeUltimate;
|
gpuMode = AsusACPI.GPUModeUltimate;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (eco == 1)
|
if (eco == 1)
|
||||||
GpuMode = AsusACPI.GPUModeEco;
|
gpuMode = AsusACPI.GPUModeEco;
|
||||||
else
|
else
|
||||||
GpuMode = AsusACPI.GPUModeStandard;
|
gpuMode = AsusACPI.GPUModeStandard;
|
||||||
|
|
||||||
// Ultimate mode not supported
|
// Ultimate mode not supported
|
||||||
if (mux != 1) settings.HideUltimateMode();
|
if (mux != 1) settings.HideUltimateMode();
|
||||||
@@ -42,10 +42,13 @@ namespace GHelper.Gpu
|
|||||||
if (eco < 0 && mux < 0) settings.HideGPUModes();
|
if (eco < 0 && mux < 0) settings.HideGPUModes();
|
||||||
}
|
}
|
||||||
|
|
||||||
AppConfig.Set("gpu_mode", GpuMode);
|
AppConfig.Set("gpu_mode", gpuMode);
|
||||||
|
|
||||||
InitXGM();
|
InitXGM();
|
||||||
settings.VisualiseGPUMode(GpuMode);
|
settings.VisualiseGPUMode(gpuMode);
|
||||||
|
|
||||||
|
AsusUSB.ApplyGPUColor();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -551,8 +551,7 @@ namespace GHelper
|
|||||||
if (colorDlg.ShowDialog() == DialogResult.OK)
|
if (colorDlg.ShowDialog() == DialogResult.OK)
|
||||||
{
|
{
|
||||||
AppConfig.Set("aura_color2", colorDlg.Color.ToArgb());
|
AppConfig.Set("aura_color2", colorDlg.Color.ToArgb());
|
||||||
AsusUSB.ApplyAura();
|
SetAura();
|
||||||
VisualiseAura();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -625,8 +624,7 @@ namespace GHelper
|
|||||||
if (colorDlg.ShowDialog() == DialogResult.OK)
|
if (colorDlg.ShowDialog() == DialogResult.OK)
|
||||||
{
|
{
|
||||||
AppConfig.Set("aura_color", colorDlg.Color.ToArgb());
|
AppConfig.Set("aura_color", colorDlg.Color.ToArgb());
|
||||||
AsusUSB.ApplyAura();
|
SetAura();
|
||||||
VisualiseAura();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -659,11 +657,23 @@ namespace GHelper
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void SetAura()
|
||||||
|
{
|
||||||
|
Task.Run(() =>
|
||||||
|
{
|
||||||
|
AsusUSB.ApplyAura();
|
||||||
|
VisualiseAura();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
public void VisualiseAura()
|
public void VisualiseAura()
|
||||||
{
|
{
|
||||||
pictureColor.BackColor = AsusUSB.Color1;
|
Invoke(delegate
|
||||||
pictureColor2.BackColor = AsusUSB.Color2;
|
{
|
||||||
pictureColor2.Visible = AsusUSB.HasSecondColor();
|
pictureColor.BackColor = AsusUSB.Color1;
|
||||||
|
pictureColor2.BackColor = AsusUSB.Color2;
|
||||||
|
pictureColor2.Visible = AsusUSB.HasSecondColor();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public void InitMatrix()
|
public void InitMatrix()
|
||||||
@@ -695,8 +705,7 @@ namespace GHelper
|
|||||||
private void ComboKeyboard_SelectedValueChanged(object? sender, EventArgs e)
|
private void ComboKeyboard_SelectedValueChanged(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
AppConfig.Set("aura_mode", (int)comboKeyboard.SelectedValue);
|
AppConfig.Set("aura_mode", (int)comboKeyboard.SelectedValue);
|
||||||
AsusUSB.ApplyAura();
|
SetAura();
|
||||||
VisualiseAura();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user