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 + 設定檔 退出