Merge branch 'seerge:main' into asus-mouse-support

This commit is contained in:
IceStormNG
2023-07-26 21:02:30 +02:00
committed by GitHub
5 changed files with 74 additions and 37 deletions

View File

@@ -1,5 +1,6 @@
using GHelper.Helpers; using GHelper.Helpers;
using HidLibrary; using HidLibrary;
using System.Drawing;
using System.Text; using System.Text;
namespace GHelper 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_INIT4 = Encoding.ASCII.GetBytes("^ASUS Tech.Inc.");
public static readonly byte[] LED_INIT5 = new byte[] { 0x5e, 0x05, 0x20, 0x31, 0, 0x08 }; 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_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 }; 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 () => 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) GetAuraDevice();
if (auraDevice is null || !auraDevice.IsConnected) return; if (auraDevice is null || !auraDevice.IsConnected) return;
auraDevice.WriteFeatureData(AuraMessage(0, color, color, 0));
auraDevice.WriteFeatureData(MESSAGE_SET); byte[] msg = new byte[40];
//auraDevice.WriteFeatureData(MESSAGE_APPLY); 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)) if (device.ReadFeatureData(out byte[] data, AURA_HID_ID))
{ {
device.WriteFeatureData(msg); device.WriteFeatureData(msg);
device.WriteFeatureData(MESSAGE_SET);
device.WriteFeatureData(MESSAGE_APPLY); 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)); Logger.WriteLine("USB-KB " + device.Capabilities.FeatureReportByteLength + "|" + device.Capabilities.InputReportByteLength + device.Description + device.DevicePath + ":" + BitConverter.ToString(msg));
} }
device.CloseDevice(); device.CloseDevice();
@@ -513,6 +536,15 @@ namespace GHelper
return 0; 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) public static void ApplyXGMLight(bool status)
{ {
SetXGM(new byte[] { 0x5e, 0xc5, status ? (byte)0x50 : (byte)0 }); SetXGM(new byte[] { 0x5e, 0xc5, status ? (byte)0x50 : (byte)0 });
@@ -529,6 +561,8 @@ namespace GHelper
if (AsusACPI.IsInvalidCurve(curve)) return -1; if (AsusACPI.IsInvalidCurve(curve)) return -1;
InitXGM();
byte[] msg = new byte[19]; byte[] msg = new byte[19];
Array.Copy(new byte[] { 0x5e, 0xd1, 0x01 }, msg, 3); Array.Copy(new byte[] { 0x5e, 0xd1, 0x01 }, msg, 3);
Array.Copy(curve, 0, msg, 3, curve.Length); Array.Copy(curve, 0, msg, 3, curve.Length);

View File

@@ -304,6 +304,9 @@ namespace GHelper.Gpu
if (AppConfig.IsMode("auto_apply")) if (AppConfig.IsMode("auto_apply"))
AsusUSB.SetXGMFan(AppConfig.GetFanConfig(AsusFan.XGM)); AsusUSB.SetXGMFan(AppConfig.GetFanConfig(AsusFan.XGM));
HardwareControl.RecreateGpuControl();
} }
settings.Invoke(delegate settings.Invoke(delegate

View File

@@ -381,7 +381,7 @@
<value>Barra de luz</value> <value>Barra de luz</value>
</data> </data>
<data name="Lighting" xml:space="preserve"> <data name="Lighting" xml:space="preserve">
<value>Encendiendo</value> <value>Iluminación</value>
</data> </data>
<data name="Logo" xml:space="preserve"> <data name="Logo" xml:space="preserve">
<value>Logo</value> <value>Logo</value>

View File

@@ -285,7 +285,7 @@ Vis tiek norite tęsti?</value>
<value>NVIDIA ekrano režimas nenustatytas į Optimus</value> <value>NVIDIA ekrano režimas nenustatytas į Optimus</value>
</data> </data>
<data name="EnergySettings" xml:space="preserve"> <data name="EnergySettings" xml:space="preserve">
<value>Energy Settings</value> <value>Energijos nustatymai</value>
</data> </data>
<data name="Extra" xml:space="preserve"> <data name="Extra" xml:space="preserve">
<value>Išplėstiniai</value> <value>Išplėstiniai</value>
@@ -354,7 +354,7 @@ Vis tiek norite tęsti?</value>
<value>Temperatūros tikslas</value> <value>Temperatūros tikslas</value>
</data> </data>
<data name="High" xml:space="preserve"> <data name="High" xml:space="preserve">
<value>High</value> <value>Aukštas</value>
</data> </data>
<data name="KeyBindings" xml:space="preserve"> <data name="KeyBindings" xml:space="preserve">
<value>Klavišų priskyrimas</value> <value>Klavišų priskyrimas</value>
@@ -387,7 +387,7 @@ Vis tiek norite tęsti?</value>
<value>Logotipas</value> <value>Logotipas</value>
</data> </data>
<data name="Low" xml:space="preserve"> <data name="Low" xml:space="preserve">
<value>Low</value> <value>Žemas</value>
</data> </data>
<data name="MatrixAudio" xml:space="preserve"> <data name="MatrixAudio" xml:space="preserve">
<value>Garso vizualizatorius</value> <value>Garso vizualizatorius</value>
@@ -435,19 +435,19 @@ Vis tiek norite tęsti?</value>
<value>Auto Power Off After</value> <value>Auto Power Off After</value>
</data> </data>
<data name="MouseLiftOffDistance" xml:space="preserve"> <data name="MouseLiftOffDistance" xml:space="preserve">
<value>Lift Off Distance</value> <value>Pakilimo atstumas</value>
</data> </data>
<data name="MouseLowBatteryWarning" xml:space="preserve"> <data name="MouseLowBatteryWarning" xml:space="preserve">
<value>Low Battery Warning at</value> <value>Low Battery Warning at</value>
</data> </data>
<data name="MousePerformance" xml:space="preserve"> <data name="MousePerformance" xml:space="preserve">
<value>Performance</value> <value>Našumas</value>
</data> </data>
<data name="MouseSynchronize" xml:space="preserve"> <data name="MouseSynchronize" xml:space="preserve">
<value>Synchronize with mouse</value> <value>Sinchronizuoti su pele</value>
</data> </data>
<data name="Multizone" xml:space="preserve"> <data name="Multizone" xml:space="preserve">
<value>Daugiazonė</value> <value>Daugiazonis</value>
</data> </data>
<data name="MuteMic" xml:space="preserve"> <data name="MuteMic" xml:space="preserve">
<value>Mikrofono nutildymas</value> <value>Mikrofono nutildymas</value>
@@ -507,7 +507,7 @@ Vis tiek norite tęsti?</value>
<value>Ekrano kopija</value> <value>Ekrano kopija</value>
</data> </data>
<data name="Profile" xml:space="preserve"> <data name="Profile" xml:space="preserve">
<value>Profile</value> <value>Profilis</value>
</data> </data>
<data name="Quit" xml:space="preserve"> <data name="Quit" xml:space="preserve">
<value>Išeiti</value> <value>Išeiti</value>

View File

@@ -163,22 +163,22 @@
<value>執行中的華碩服務</value> <value>執行中的華碩服務</value>
</data> </data>
<data name="AuraBatteryState" xml:space="preserve"> <data name="AuraBatteryState" xml:space="preserve">
<value>Battery State</value> <value>電池狀態</value>
</data> </data>
<data name="AuraBreathe" xml:space="preserve"> <data name="AuraBreathe" xml:space="preserve">
<value>呼吸</value> <value>呼吸</value>
</data> </data>
<data name="AuraClockwise" xml:space="preserve"> <data name="AuraClockwise" xml:space="preserve">
<value>Clockwise</value> <value>順時針</value>
</data> </data>
<data name="AuraColorCycle" xml:space="preserve"> <data name="AuraColorCycle" xml:space="preserve">
<value>循環</value> <value>循環</value>
</data> </data>
<data name="AuraComet" xml:space="preserve"> <data name="AuraComet" xml:space="preserve">
<value>Comet</value> <value>彗星</value>
</data> </data>
<data name="AuraCounterClockwise" xml:space="preserve"> <data name="AuraCounterClockwise" xml:space="preserve">
<value>Counterclockwise</value> <value>逆時針</value>
</data> </data>
<data name="AuraFast" xml:space="preserve"> <data name="AuraFast" xml:space="preserve">
<value>快速</value> <value>快速</value>
@@ -190,10 +190,10 @@
<value>彩虹</value> <value>彩虹</value>
</data> </data>
<data name="AuraRandomColor" xml:space="preserve"> <data name="AuraRandomColor" xml:space="preserve">
<value>Random</value> <value>隨機</value>
</data> </data>
<data name="AuraReact" xml:space="preserve"> <data name="AuraReact" xml:space="preserve">
<value>React</value> <value>觸發</value>
</data> </data>
<data name="AuraSlow" xml:space="preserve"> <data name="AuraSlow" xml:space="preserve">
<value>慢</value> <value>慢</value>
@@ -285,7 +285,7 @@
<value>Nvidia顯示模式未設置為自動切換</value> <value>Nvidia顯示模式未設置為自動切換</value>
</data> </data>
<data name="EnergySettings" xml:space="preserve"> <data name="EnergySettings" xml:space="preserve">
<value>Energy Settings</value> <value>電源設定</value>
</data> </data>
<data name="Extra" xml:space="preserve"> <data name="Extra" xml:space="preserve">
<value>更多</value> <value>更多</value>
@@ -354,7 +354,7 @@
<value>GPU溫度上限</value> <value>GPU溫度上限</value>
</data> </data>
<data name="High" xml:space="preserve"> <data name="High" xml:space="preserve">
<value>High</value> <value></value>
</data> </data>
<data name="KeyBindings" xml:space="preserve"> <data name="KeyBindings" xml:space="preserve">
<value>按鍵綁定</value> <value>按鍵綁定</value>
@@ -381,13 +381,13 @@
<value>燈條</value> <value>燈條</value>
</data> </data>
<data name="Lighting" xml:space="preserve"> <data name="Lighting" xml:space="preserve">
<value>Lighting</value> <value>亮度</value>
</data> </data>
<data name="Logo" xml:space="preserve"> <data name="Logo" xml:space="preserve">
<value>Logo</value> <value>Logo</value>
</data> </data>
<data name="Low" xml:space="preserve"> <data name="Low" xml:space="preserve">
<value>Low</value> <value></value>
</data> </data>
<data name="MatrixAudio" xml:space="preserve"> <data name="MatrixAudio" xml:space="preserve">
<value>音效視覺化</value> <value>音效視覺化</value>
@@ -423,28 +423,28 @@
<value>維持60Hz以節省電量</value> <value>維持60Hz以節省電量</value>
</data> </data>
<data name="Minute" xml:space="preserve"> <data name="Minute" xml:space="preserve">
<value>Minute</value> <value>分鐘</value>
</data> </data>
<data name="Minutes" xml:space="preserve"> <data name="Minutes" xml:space="preserve">
<value>Minutes</value> <value>分鐘</value>
</data> </data>
<data name="MouseAngleSnapping" xml:space="preserve"> <data name="MouseAngleSnapping" xml:space="preserve">
<value>Angle Snapping</value> <value>角度修正</value>
</data> </data>
<data name="MouseAutoPowerOff" xml:space="preserve"> <data name="MouseAutoPowerOff" xml:space="preserve">
<value>Auto Power Off After</value> <value>自動關閉電源</value>
</data> </data>
<data name="MouseLiftOffDistance" xml:space="preserve"> <data name="MouseLiftOffDistance" xml:space="preserve">
<value>Lift Off Distance</value> <value>響應高度(LOD)</value>
</data> </data>
<data name="MouseLowBatteryWarning" xml:space="preserve"> <data name="MouseLowBatteryWarning" xml:space="preserve">
<value>Low Battery Warning at</value> <value>低電量警告</value>
</data> </data>
<data name="MousePerformance" xml:space="preserve"> <data name="MousePerformance" xml:space="preserve">
<value>Performance</value> <value>性能設定</value>
</data> </data>
<data name="MouseSynchronize" xml:space="preserve"> <data name="MouseSynchronize" xml:space="preserve">
<value>Synchronize with mouse</value> <value>與滑鼠同步</value>
</data> </data>
<data name="Multizone" xml:space="preserve"> <data name="Multizone" xml:space="preserve">
<value>多區域</value> <value>多區域</value>
@@ -453,7 +453,7 @@
<value>麥克風開關</value> <value>麥克風開關</value>
</data> </data>
<data name="Never" xml:space="preserve"> <data name="Never" xml:space="preserve">
<value>Never</value> <value>永不</value>
</data> </data>
<data name="NewUpdates" xml:space="preserve"> <data name="NewUpdates" xml:space="preserve">
<value>新的更新</value> <value>新的更新</value>
@@ -462,7 +462,7 @@
<value>沒有新的更新</value> <value>沒有新的更新</value>
</data> </data>
<data name="NotConnected" xml:space="preserve"> <data name="NotConnected" xml:space="preserve">
<value>Not Connected</value> <value>未連線</value>
</data> </data>
<data name="OpenGHelper" xml:space="preserve"> <data name="OpenGHelper" xml:space="preserve">
<value>開啟G-Helper視窗</value> <value>開啟G-Helper視窗</value>
@@ -486,7 +486,7 @@
<value>性能模式:</value> <value>性能模式:</value>
</data> </data>
<data name="Peripherals" xml:space="preserve"> <data name="Peripherals" xml:space="preserve">
<value>Peripherals</value> <value>週邊設備</value>
</data> </data>
<data name="PictureGif" xml:space="preserve"> <data name="PictureGif" xml:space="preserve">
<value>圖片/動圖</value> <value>圖片/動圖</value>
@@ -495,7 +495,7 @@
<value>播放/暫停</value> <value>播放/暫停</value>
</data> </data>
<data name="PollingRate" xml:space="preserve"> <data name="PollingRate" xml:space="preserve">
<value>Polling Rate</value> <value>輪循率</value>
</data> </data>
<data name="PowerLimits" xml:space="preserve"> <data name="PowerLimits" xml:space="preserve">
<value>功率限制</value> <value>功率限制</value>
@@ -507,7 +507,7 @@
<value>截圖</value> <value>截圖</value>
</data> </data>
<data name="Profile" xml:space="preserve"> <data name="Profile" xml:space="preserve">
<value>Profile</value> <value>設定檔</value>
</data> </data>
<data name="Quit" xml:space="preserve"> <data name="Quit" xml:space="preserve">
<value>退出</value> <value>退出</value>