mirror of
https://github.com/jkocon/g-helper.git
synced 2026-02-23 13:00:52 +01:00
Compare commits
15 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5e9b002013 | ||
|
|
5077c30704 | ||
|
|
d6363dee85 | ||
|
|
359575d00d | ||
|
|
9dc444fd33 | ||
|
|
a5b8885ff6 | ||
|
|
56676005a5 | ||
|
|
0e59f9318e | ||
|
|
21a2dca271 | ||
|
|
e265a78b4f | ||
|
|
18b6dd794f | ||
|
|
9fd9506177 | ||
|
|
a30b202022 | ||
|
|
b9534fdfe5 | ||
|
|
cb3bf3ea90 |
@@ -114,6 +114,7 @@ namespace GHelper.AnimeMatrix
|
||||
switch ((SlashMode)running)
|
||||
{
|
||||
case SlashMode.Static:
|
||||
Logger.WriteLine("Slash: Static");
|
||||
var custom = AppConfig.GetString("slash_custom");
|
||||
if (custom is not null && custom.Length > 0)
|
||||
{
|
||||
@@ -126,6 +127,7 @@ namespace GHelper.AnimeMatrix
|
||||
break;
|
||||
case SlashMode.BatteryLevel:
|
||||
// call tick to immediately update the pattern
|
||||
Logger.WriteLine("Slash: Battery Level");
|
||||
SlashTimer_start();
|
||||
SlashTimer_tick();
|
||||
break;
|
||||
@@ -278,7 +280,7 @@ namespace GHelper.AnimeMatrix
|
||||
}
|
||||
|
||||
|
||||
private void SlashTimer_start(int interval = 60000)
|
||||
private void SlashTimer_start(int interval = 180000)
|
||||
{
|
||||
// 100% to 0% in 1hr = 1% every 36 seconds
|
||||
// 1 bracket every 14.2857 * 36s = 514s ~ 8m 30s
|
||||
|
||||
@@ -182,17 +182,17 @@ namespace GHelper.AnimeMatrix
|
||||
|
||||
public void SetBatteryPattern(int brightness)
|
||||
{
|
||||
SetCustom(GetBatteryPattern(brightness, 100 * (GetBatteryChargePercentage() / AppConfig.Get("charge_limit", 100))));
|
||||
SetCustom(GetBatteryPattern(brightness, 100 * (GetBatteryChargePercentage() / AppConfig.Get("charge_limit", 100))), null);
|
||||
}
|
||||
|
||||
public void SetCustom(byte[] data)
|
||||
public void SetCustom(byte[] data, string? log = "Static Data")
|
||||
{
|
||||
Set(CreatePacket([0xD2, 0x02, 0x01, 0x08, 0xAC]), "Static");
|
||||
Set(CreatePacket([0xD3, 0x03, 0x01, 0x08, 0xAC, 0xFF, 0xFF, 0x01, 0x05, 0xFF, 0xFF]), "StaticSettings");
|
||||
Set(CreatePacket([0xD4, 0x00, 0x00, 0x01, 0xAC]), "StaticSave");
|
||||
Set(CreatePacket([0xD2, 0x02, 0x01, 0x08, 0xAC]), null);
|
||||
Set(CreatePacket([0xD3, 0x03, 0x01, 0x08, 0xAC, 0xFF, 0xFF, 0x01, 0x05, 0xFF, 0xFF]), null);
|
||||
Set(CreatePacket([0xD4, 0x00, 0x00, 0x01, 0xAC]), null);
|
||||
|
||||
byte[] payload = new byte[] { 0xD3, 0x00, 0x00, 0x07 };
|
||||
Set(CreatePacket(payload.Concat(data.Take(7)).ToArray()), "Static Data");
|
||||
Set(CreatePacket(payload.Concat(data.Take(7)).ToArray()), log);
|
||||
}
|
||||
|
||||
public void SetOptions(bool status, int brightness = 0, int interval = 0)
|
||||
|
||||
@@ -391,10 +391,15 @@ public static class AppConfig
|
||||
return ContainsModel("Vivobook") || ContainsModel("Zenbook") || ContainsModel("ProArt");
|
||||
}
|
||||
|
||||
public static bool IsHardwareFnLock()
|
||||
{
|
||||
return IsVivoZenPro();
|
||||
}
|
||||
|
||||
// Devices with bugged bios command to change brightness
|
||||
public static bool SwappedBrightness()
|
||||
{
|
||||
return ContainsModel("FA506IH") || ContainsModel("FA506IC") || ContainsModel("FX506LU") || ContainsModel("FX506IC") || ContainsModel("FX506LH") || ContainsModel("FA506IV") || ContainsModel("FA706IC");
|
||||
return ContainsModel("FA506IH") || ContainsModel("FA506IC") || ContainsModel("FX506LU") || ContainsModel("FX506IC") || ContainsModel("FX506LH") || ContainsModel("FA506IV") || ContainsModel("FA706IC") || ContainsModel("FA706IH");
|
||||
}
|
||||
|
||||
|
||||
@@ -406,17 +411,17 @@ public static class AppConfig
|
||||
// G14 2020 has no aura, but media keys instead
|
||||
public static bool NoAura()
|
||||
{
|
||||
return ContainsModel("GA401I") && !ContainsModel("GA401IHR");
|
||||
return (ContainsModel("GA401I") && !ContainsModel("GA401IHR")) || ContainsModel("HN7306");
|
||||
}
|
||||
|
||||
public static bool MediaKeys()
|
||||
{
|
||||
return NoAura() || ContainsModel("G712L");
|
||||
return (ContainsModel("GA401I") && !ContainsModel("GA401IHR")) || ContainsModel("G712L");
|
||||
}
|
||||
|
||||
public static bool IsSingleColor()
|
||||
{
|
||||
return ContainsModel("GA401") || ContainsModel("FX517Z") || ContainsModel("FX516P") || ContainsModel("X13") || IsARCNM() || ContainsModel("GA502IU") || ContainsModel("FA617N") || ContainsModel("FA617X");
|
||||
return ContainsModel("GA401") || ContainsModel("FX517Z") || ContainsModel("FX516P") || ContainsModel("X13") || IsARCNM() || ContainsModel("GA502IU") || ContainsModel("FA617N") || ContainsModel("FA617X") || NoAura();
|
||||
}
|
||||
|
||||
public static bool IsSlash()
|
||||
@@ -441,7 +446,7 @@ public static class AppConfig
|
||||
|
||||
public static bool IsOLED()
|
||||
{
|
||||
return ContainsModel("OLED") || IsSlash() || ContainsModel("M7600") || ContainsModel("UX64") || ContainsModel("UX34") || ContainsModel("UX53") || ContainsModel("K360") || ContainsModel("X150") || ContainsModel("M350") || ContainsModel("K650") || ContainsModel("UM53") || ContainsModel("K660") || ContainsModel("UX84") || ContainsModel("M650") || ContainsModel("K340") || ContainsModel("K350") || ContainsModel("M140") || ContainsModel("UM340") || ContainsModel("S540") || ContainsModel("M7400") || ContainsModel("N650");
|
||||
return ContainsModel("OLED") || IsSlash() || ContainsModel("M7600") || ContainsModel("UX64") || ContainsModel("UX34") || ContainsModel("UX53") || ContainsModel("K360") || ContainsModel("X150") || ContainsModel("M350") || ContainsModel("K650") || ContainsModel("UM53") || ContainsModel("K660") || ContainsModel("UX84") || ContainsModel("M650") || ContainsModel("M550") || ContainsModel("K340") || ContainsModel("K350") || ContainsModel("M140") || ContainsModel("UM340") || ContainsModel("S540") || ContainsModel("M7400") || ContainsModel("N650") || ContainsModel("HN7306") || ContainsModel("H7606");
|
||||
}
|
||||
|
||||
public static bool IsNoOverdrive()
|
||||
@@ -607,12 +612,12 @@ public static class AppConfig
|
||||
|
||||
public static bool IsFanRequired()
|
||||
{
|
||||
return ContainsModel("GA402X") || ContainsModel("G513") || ContainsModel("G713R") || ContainsModel("G713P") || ContainsModel("GU605") || ContainsModel("GA403") || ContainsModel("G634J") || ContainsModel("G834J") || ContainsModel("G614J") || ContainsModel("G814J") || ContainsModel("FX507V");
|
||||
return ContainsModel("GA402X") || ContainsModel("G513") || ContainsModel("G713R") || ContainsModel("G713P") || ContainsModel("GU605") || ContainsModel("GA605") || ContainsModel("GA403") || ContainsModel("G634J") || ContainsModel("G834J") || ContainsModel("G614J") || ContainsModel("G814J") || ContainsModel("FX507V");
|
||||
}
|
||||
|
||||
public static bool IsAMDLight()
|
||||
{
|
||||
return ContainsModel("GA402X") || ContainsModel("GA403") || ContainsModel("FA507N") || ContainsModel("FA507X") || ContainsModel("FA707N") || ContainsModel("FA707X");
|
||||
return ContainsModel("GA402X") || ContainsModel("GA605") || ContainsModel("GA403") || ContainsModel("FA507N") || ContainsModel("FA507X") || ContainsModel("FA707N") || ContainsModel("FA707X");
|
||||
}
|
||||
|
||||
public static bool IsPowerRequired()
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
||||
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
||||
<AssemblyVersion>0.185</AssemblyVersion>
|
||||
<AssemblyVersion>0.186</AssemblyVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
|
||||
@@ -85,8 +85,7 @@ namespace GHelper.Input
|
||||
|
||||
InitBacklightTimer();
|
||||
|
||||
if (AppConfig.IsVivoZenbook())
|
||||
Program.acpi.DeviceSet(AsusACPI.FnLock, AppConfig.Is("fn_lock") ^ AppConfig.IsInvertedFNLock() ? 1 : 0, "FnLock");
|
||||
if (AppConfig.IsHardwareFnLock()) HardwareFnLock(AppConfig.Is("fn_lock"));
|
||||
|
||||
}
|
||||
|
||||
@@ -155,7 +154,7 @@ namespace GHelper.Input
|
||||
|
||||
// FN-Lock group
|
||||
|
||||
if (AppConfig.Is("fn_lock") && !AppConfig.IsVivoZenbook())
|
||||
if (AppConfig.Is("fn_lock") && !AppConfig.IsHardwareFnLock())
|
||||
for (Keys i = Keys.F1; i <= Keys.F11; i++) hook.RegisterHotKey(ModifierKeys.None, i);
|
||||
|
||||
// Arrow-lock group
|
||||
@@ -629,13 +628,19 @@ namespace GHelper.Input
|
||||
Program.toast.RunToast("Arrow-Lock " + (arLock == 1 ? Properties.Strings.On : Properties.Strings.Off), ToastIcon.FnLock);
|
||||
}
|
||||
|
||||
public static void HardwareFnLock(bool fnLock)
|
||||
{
|
||||
Program.acpi.DeviceSet(AsusACPI.FnLock, fnLock ^ AppConfig.IsInvertedFNLock() ? 1 : 0, "FnLock");
|
||||
AsusHid.WriteInput([AsusHid.INPUT_ID, 0xD0, 0x4E, fnLock ? (byte)0x00 : (byte)0x01], "USB FnLock");
|
||||
}
|
||||
|
||||
public static void ToggleFnLock()
|
||||
{
|
||||
bool fnLock = !AppConfig.Is("fn_lock");
|
||||
AppConfig.Set("fn_lock", fnLock ? 1 : 0);
|
||||
|
||||
if (AppConfig.IsVivoZenbook())
|
||||
Program.acpi.DeviceSet(AsusACPI.FnLock, fnLock ^ AppConfig.IsInvertedFNLock() ? 1 : 0, "FnLock");
|
||||
if (AppConfig.IsHardwareFnLock())
|
||||
HardwareFnLock(fnLock);
|
||||
else
|
||||
Program.settingsForm.BeginInvoke(Program.inputDispatcher.RegisterKeys);
|
||||
|
||||
|
||||
@@ -741,7 +741,7 @@
|
||||
<value>关闭屏幕</value>
|
||||
</data>
|
||||
<data name="ToggleTouchscreen" xml:space="preserve">
|
||||
<value>Toggle Touchscreen</value>
|
||||
<value>切换触摸屏</value>
|
||||
</data>
|
||||
<data name="Touchscreen" xml:space="preserve">
|
||||
<value/>
|
||||
|
||||
@@ -40,7 +40,7 @@ namespace Ryzen
|
||||
//PHEONIX - 9
|
||||
//RAPHAEL/DRAGON RANGE - 10
|
||||
//MENDOCINO - 11
|
||||
//HAWKPOINT - 12
|
||||
//HAWKPOINT/STRIXPOINT - 12
|
||||
|
||||
public static void Init()
|
||||
{
|
||||
@@ -77,7 +77,7 @@ namespace Ryzen
|
||||
FAMID = 1; //PICASSO
|
||||
}
|
||||
|
||||
if (CPUModel.Contains("Model " + Convert.ToString(32)))
|
||||
if (CPUModel.Contains("Family " + Convert.ToString(23)) && CPUModel.Contains("Model " + Convert.ToString(32)))
|
||||
{
|
||||
FAMID = 2; //DALI
|
||||
}
|
||||
@@ -127,6 +127,11 @@ namespace Ryzen
|
||||
FAMID = 12; //HAWKPOINT
|
||||
}
|
||||
|
||||
if (CPUModel.Contains("Family " + Convert.ToString(26)) && CPUModel.Contains("Model " + Convert.ToString(36)))
|
||||
{
|
||||
FAMID = 12; //STRIXPOINT
|
||||
}
|
||||
|
||||
Logger.WriteLine($"CPU: {FAMID} - {CPUName} - {CPUModel}");
|
||||
|
||||
SetAddresses();
|
||||
@@ -141,7 +146,7 @@ namespace Ryzen
|
||||
public static bool IsSupportedUV()
|
||||
{
|
||||
if (CPUName.Length == 0) Init();
|
||||
return CPUName.Contains("Ryzen 9") || CPUName.Contains("4900H") || CPUName.Contains("4800H") || CPUName.Contains("4600H");
|
||||
return CPUName.Contains("Ryzen AI 9") || CPUName.Contains("Ryzen 9") || CPUName.Contains("4900H") || CPUName.Contains("4800H") || CPUName.Contains("4600H");
|
||||
}
|
||||
|
||||
public static bool IsSupportedUViGPU()
|
||||
|
||||
@@ -21,7 +21,7 @@ namespace Ryzen
|
||||
//PHEONIX - 9
|
||||
//RAPHAEL/DRAGON RANGE - 10
|
||||
//MENDOCINO - 11
|
||||
//HAWKPOINT - 12
|
||||
//HAWKPOINT/STRIXPOINT - 12
|
||||
|
||||
public static Smu RyzenAccess = new Smu(false);
|
||||
public static int FAMID = RyzenControl.FAMID;
|
||||
|
||||
@@ -268,6 +268,16 @@ namespace GHelper.USB
|
||||
Encoding.ASCII.GetBytes("]ASUS Tech.Inc."),
|
||||
new byte[] { AsusHid.AURA_ID, 0x05, 0x20, 0x31, 0, 0x1A },
|
||||
}, "Init");
|
||||
|
||||
if (AppConfig.IsProArt())
|
||||
{
|
||||
AsusHid.WriteInput([AsusHid.INPUT_ID, 0x05, 0x20, 0x31, 0x00, 0x08], "ProArt Init");
|
||||
//AsusHid.WriteInput([AsusHid.INPUT_ID, 0xD0, 0x4E], "ProArt Init");
|
||||
AsusHid.WriteInput([AsusHid.INPUT_ID, 0xBA, 0xC5, 0xC4], "ProArt Init");
|
||||
AsusHid.WriteInput([AsusHid.INPUT_ID, 0xD0, 0x8F, 0x01], "ProArt Init");
|
||||
AsusHid.WriteInput([AsusHid.INPUT_ID, 0xD0, 0x85, 0xFF], "ProArt Init");
|
||||
//AsusHid.WriteInput([AsusHid.INPUT_ID, 0xD0, 0x4E], "ProArt Init");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user