diff --git a/app/AsusUSB.cs b/app/AsusUSB.cs
index 2eb8ade9..9cf3bbf6 100644
--- a/app/AsusUSB.cs
+++ b/app/AsusUSB.cs
@@ -1,5 +1,6 @@
using GHelper.Helpers;
using HidLibrary;
+using System.Drawing;
using System.Text;
namespace GHelper
@@ -64,8 +65,8 @@ namespace GHelper
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 = { AURA_HID_ID, 0xb5, 0, 0, 0 };
static byte[] MESSAGE_APPLY = { AURA_HID_ID, 0xb4 };
+ static byte[] MESSAGE_SET = { AURA_HID_ID, 0xb5, 0, 0, 0 };
static int[] deviceIds = { 0x1a30, 0x1854, 0x1869, 0x1866, 0x19b6, 0x1822, 0x1837, 0x1854, 0x184a, 0x183d, 0x8502, 0x1807, 0x17e0, 0x18c6, 0x1abe };
@@ -423,11 +424,33 @@ namespace GHelper
{
Task.Run(async () =>
{
+ if (AppConfig.ContainsModel("TUF"))
+ {
+ Program.acpi.TUFKeyboardRGB(0, color, 0);
+ return;
+ }
+
if (auraDevice is null || !auraDevice.IsConnected) GetAuraDevice();
if (auraDevice is null || !auraDevice.IsConnected) return;
- auraDevice.WriteFeatureData(AuraMessage(0, color, color, 0));
- auraDevice.WriteFeatureData(MESSAGE_SET);
- //auraDevice.WriteFeatureData(MESSAGE_APPLY);
+
+ byte[] msg = new byte[40];
+ int start = 9;
+
+ msg[0] = AURA_HID_ID;
+ msg[1] = 0xBC;
+ msg[2] = 1;
+ msg[3] = 1;
+ msg[4] = 0;
+
+ for (int i = 0; i < 10; i++)
+ {
+ msg[start + i * 3] = color.R; // R
+ msg[start + 1 + i * 3] = color.G; // G
+ msg[start + 2 + i * 3] = color.B; // B
+ }
+
+ //Logger.WriteLine(BitConverter.ToString(msg));
+ auraDevice.WriteFeatureData(msg);
});
}
@@ -478,8 +501,8 @@ namespace GHelper
if (device.ReadFeatureData(out byte[] data, AURA_HID_ID))
{
device.WriteFeatureData(msg);
- device.WriteFeatureData(MESSAGE_SET);
device.WriteFeatureData(MESSAGE_APPLY);
+ device.WriteFeatureData(MESSAGE_SET);
Logger.WriteLine("USB-KB " + device.Capabilities.FeatureReportByteLength + "|" + device.Capabilities.InputReportByteLength + device.Description + device.DevicePath + ":" + BitConverter.ToString(msg));
}
device.CloseDevice();
@@ -513,6 +536,15 @@ namespace GHelper
return 0;
}
+ public static void InitXGM()
+ {
+ SetXGM(LED_INIT1);
+ SetXGM(LED_INIT2);
+ SetXGM(LED_INIT3);
+ SetXGM(LED_INIT4);
+ SetXGM(LED_INIT5);
+ }
+
public static void ApplyXGMLight(bool status)
{
SetXGM(new byte[] { 0x5e, 0xc5, status ? (byte)0x50 : (byte)0 });
@@ -529,6 +561,8 @@ namespace GHelper
if (AsusACPI.IsInvalidCurve(curve)) return -1;
+ InitXGM();
+
byte[] msg = new byte[19];
Array.Copy(new byte[] { 0x5e, 0xd1, 0x01 }, msg, 3);
Array.Copy(curve, 0, msg, 3, curve.Length);
diff --git a/app/Gpu/GPUModeControl.cs b/app/Gpu/GPUModeControl.cs
index 2331fc7f..46c1046d 100644
--- a/app/Gpu/GPUModeControl.cs
+++ b/app/Gpu/GPUModeControl.cs
@@ -304,6 +304,9 @@ namespace GHelper.Gpu
if (AppConfig.IsMode("auto_apply"))
AsusUSB.SetXGMFan(AppConfig.GetFanConfig(AsusFan.XGM));
+
+ HardwareControl.RecreateGpuControl();
+
}
settings.Invoke(delegate
diff --git a/app/Properties/Strings.es.resx b/app/Properties/Strings.es.resx
index e577924d..52a94cc1 100644
--- a/app/Properties/Strings.es.resx
+++ b/app/Properties/Strings.es.resx
@@ -381,7 +381,7 @@
Barra de luz
- Encendiendo
+ Iluminación
Logo
diff --git a/app/Properties/Strings.lt.resx b/app/Properties/Strings.lt.resx
index 77feb260..bb30cbe3 100644
--- a/app/Properties/Strings.lt.resx
+++ b/app/Properties/Strings.lt.resx
@@ -285,7 +285,7 @@ Vis tiek norite tęsti?
NVIDIA ekrano režimas nenustatytas į Optimus
- Energy Settings
+ Energijos nustatymai
Išplėstiniai
@@ -354,7 +354,7 @@ Vis tiek norite tęsti?
Temperatūros tikslas
- High
+ Aukštas
Klavišų priskyrimas
@@ -387,7 +387,7 @@ Vis tiek norite tęsti?
Logotipas
- Low
+ Žemas
Garso vizualizatorius
@@ -435,19 +435,19 @@ Vis tiek norite tęsti?
Auto Power Off After
- Lift Off Distance
+ Pakilimo atstumas
Low Battery Warning at
- Performance
+ Našumas
- Synchronize with mouse
+ Sinchronizuoti su pele
- Daugiazonė
+ Daugiazonis
Mikrofono nutildymas
@@ -507,7 +507,7 @@ Vis tiek norite tęsti?
Ekrano kopija
- Profile
+ Profilis
Išeiti
diff --git a/app/Properties/Strings.zh-TW.resx b/app/Properties/Strings.zh-TW.resx
index e1a7fe6c..bcb730dc 100644
--- a/app/Properties/Strings.zh-TW.resx
+++ b/app/Properties/Strings.zh-TW.resx
@@ -163,22 +163,22 @@
執行中的華碩服務
- Battery State
+ 電池狀態
呼吸
- Clockwise
+ 順時針
循環
- Comet
+ 彗星
- Counterclockwise
+ 逆時針
快速
@@ -190,10 +190,10 @@
彩虹
- Random
+ 隨機
- React
+ 觸發
慢
@@ -285,7 +285,7 @@
Nvidia顯示模式未設置為自動切換
- Energy Settings
+ 電源設定
更多
@@ -354,7 +354,7 @@
GPU溫度上限
- High
+ 高
按鍵綁定
@@ -381,13 +381,13 @@
燈條
- Lighting
+ 亮度
Logo
- Low
+ 低
音效視覺化
@@ -423,28 +423,28 @@
維持60Hz以節省電量
- Minute
+ 分鐘
- Minutes
+ 分鐘
- Angle Snapping
+ 角度修正
- Auto Power Off After
+ 自動關閉電源
- Lift Off Distance
+ 響應高度(LOD)
- Low Battery Warning at
+ 低電量警告
- Performance
+ 性能設定
- Synchronize with mouse
+ 與滑鼠同步
多區域
@@ -453,7 +453,7 @@
麥克風開關
- Never
+ 永不
新的更新
@@ -462,7 +462,7 @@
沒有新的更新
- Not Connected
+ 未連線
開啟G-Helper視窗
@@ -486,7 +486,7 @@
性能模式:
- Peripherals
+ 週邊設備
圖片/動圖
@@ -495,7 +495,7 @@
播放/暫停
- Polling Rate
+ 輪循率
功率限制
@@ -507,7 +507,7 @@
截圖
- Profile
+ 設定檔
退出