Merge branch 'main' into AllyTDP

This commit is contained in:
Serge
2024-04-19 11:56:26 +02:00
6 changed files with 56 additions and 26 deletions

View File

@@ -59,18 +59,6 @@ namespace GHelper.AnimeMatrix
if (deviceSlash is not null) SetSlash(wakeUp); if (deviceSlash is not null) SetSlash(wakeUp);
} }
public void SetLidMode(bool force = false)
{
bool matrixLid = AppConfig.Is("matrix_lid");
if (matrixLid || force)
{
Logger.WriteLine($"Matrix LidClosed: {lidClose}");
if (deviceSlash is not null) deviceSlash.SetLidMode(matrixLid);
SetDevice(true);
}
}
public void SetSlash(bool wakeUp = false) public void SetSlash(bool wakeUp = false)
{ {
if (deviceSlash is null) return; if (deviceSlash is null) return;
@@ -110,16 +98,44 @@ namespace GHelper.AnimeMatrix
} }
deviceSlash.Init(); deviceSlash.Init();
deviceSlash.SetMode((SlashMode)running);
deviceSlash.SetOptions(true, brightness, inteval); switch ((SlashMode)running)
deviceSlash.Save(); {
case SlashMode.Static:
deviceSlash.SetStatic();
deviceSlash.Save();
break;
default:
deviceSlash.SetMode((SlashMode)running);
deviceSlash.SetOptions(true, brightness, inteval);
deviceSlash.Save();
break;
}
} }
}); });
} }
public void SetLidMode(bool force = false)
{
bool matrixLid = AppConfig.Is("matrix_lid");
if (deviceSlash is not null) deviceSlash.SetLidMode(matrixLid);
if (matrixLid || force)
{
Logger.WriteLine($"Matrix LidClosed: {lidClose}");
SetDevice(true);
}
}
public void SetBatteryAuto() public void SetBatteryAuto()
{ {
if (deviceSlash is not null) deviceSlash.SetBatterySaver(AppConfig.Is("matrix_auto")); if (deviceSlash is not null)
{
bool auto = AppConfig.Is("matrix_auto");
deviceSlash.SetBatterySaver(auto);
if (!auto) SetSlash();
}
if (deviceMatrix is not null) SetMatrix(); if (deviceMatrix is not null) SetMatrix();
} }

View File

@@ -19,7 +19,8 @@ namespace GHelper.AnimeMatrix
Ramp, Ramp,
GameOver, GameOver,
Start, Start,
Buzzer Buzzer,
Static
} }
internal class SlashPacket : Packet internal class SlashPacket : Packet
@@ -53,6 +54,7 @@ namespace GHelper.AnimeMatrix
{ SlashMode.GameOver, "Game Over"}, { SlashMode.GameOver, "Game Over"},
{ SlashMode.Start, "Start"}, { SlashMode.Start, "Start"},
{ SlashMode.Buzzer, "Buzzer"}, { SlashMode.Buzzer, "Buzzer"},
{ SlashMode.Static, "Static"},
}; };
private static Dictionary<SlashMode, byte> modeCodes = new Dictionary<SlashMode, byte> private static Dictionary<SlashMode, byte> modeCodes = new Dictionary<SlashMode, byte>
@@ -115,6 +117,12 @@ namespace GHelper.AnimeMatrix
Set(Packet<SlashPacket>(0xD3, 0x04, 0x00, 0x0C, 0x01, modeByte, 0x02, 0x19, 0x03, 0x13, 0x04, 0x11, 0x05, 0x12, 0x06, 0x13), "SlashMode"); Set(Packet<SlashPacket>(0xD3, 0x04, 0x00, 0x0C, 0x01, modeByte, 0x02, 0x19, 0x03, 0x13, 0x04, 0x11, 0x05, 0x12, 0x06, 0x13), "SlashMode");
} }
public void SetStatic()
{
Set(Packet<SlashPacket>(0xD3, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF), "StaticWhite");
Set(Packet<SlashPacket>(0xD3, 0x00, 0x00, 0x01, 0xAC), "Static");
}
public void SetOptions(bool status, int brightness = 0, int interval = 0) public void SetOptions(bool status, int brightness = 0, int interval = 0)
{ {
byte brightnessByte = (byte)(brightness * 85.333); byte brightnessByte = (byte)(brightness * 85.333);

View File

@@ -404,9 +404,14 @@ public static class AppConfig
return ContainsModel("GA503") || IsSlash(); return ContainsModel("GA503") || IsSlash();
} }
public static bool IsInvertedFNLock()
{
return ContainsModel("M140");
}
public static bool IsOLED() 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"); 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");
} }
public static bool IsNoOverdrive() public static bool IsNoOverdrive()
@@ -426,7 +431,7 @@ public static class AppConfig
public static bool IsStrixLimitedRGB() public static bool IsStrixLimitedRGB()
{ {
return (ContainsModel("G614JV") || ContainsModel("G614JZ") || ContainsModel("G512LI") || ContainsModel("G513R") || ContainsModel("G713PV") || ContainsModel("G513IE") || ContainsModel("G713RC") || ContainsModel("G513QM") || ContainsModel("G531G")) && !Is("per_key_rgb"); return (ContainsModel("G614JV_") || ContainsModel("G614JZ") || ContainsModel("G512LI") || ContainsModel("G513R") || ContainsModel("G713PV") || ContainsModel("G513IE") || ContainsModel("G713RC") || ContainsModel("G513QM") || ContainsModel("G531G")) && !Is("per_key_rgb");
} }

View File

@@ -15,7 +15,7 @@
<PlatformTarget>AnyCPU</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<ProduceReferenceAssembly>False</ProduceReferenceAssembly> <ProduceReferenceAssembly>False</ProduceReferenceAssembly>
<AllowUnsafeBlocks>True</AllowUnsafeBlocks> <AllowUnsafeBlocks>True</AllowUnsafeBlocks>
<AssemblyVersion>0.166</AssemblyVersion> <AssemblyVersion>0.167</AssemblyVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -85,7 +85,8 @@ namespace GHelper.Input
InitBacklightTimer(); InitBacklightTimer();
if (AppConfig.IsVivoZenbook()) Program.acpi.DeviceSet(AsusACPI.FnLock, AppConfig.Is("fn_lock") ? 1 : 0, "FnLock"); if (AppConfig.IsVivoZenbook())
Program.acpi.DeviceSet(AsusACPI.FnLock, AppConfig.Is("fn_lock") ^ AppConfig.IsInvertedFNLock() ? 1 : 0, "FnLock");
} }
@@ -585,17 +586,17 @@ namespace GHelper.Input
public static void ToggleFnLock() public static void ToggleFnLock()
{ {
int fnLock = AppConfig.Is("fn_lock") ? 0 : 1; bool fnLock = !AppConfig.Is("fn_lock");
AppConfig.Set("fn_lock", fnLock); AppConfig.Set("fn_lock", fnLock ? 1 : 0);
if (AppConfig.IsVivoZenbook()) if (AppConfig.IsVivoZenbook())
Program.acpi.DeviceSet(AsusACPI.FnLock, fnLock == 1 ? 1 : 0, "FnLock"); Program.acpi.DeviceSet(AsusACPI.FnLock, fnLock ^ AppConfig.IsInvertedFNLock() ? 1 : 0, "FnLock");
else else
Program.settingsForm.BeginInvoke(Program.inputDispatcher.RegisterKeys); Program.settingsForm.BeginInvoke(Program.inputDispatcher.RegisterKeys);
Program.settingsForm.BeginInvoke(Program.settingsForm.VisualiseFnLock); Program.settingsForm.BeginInvoke(Program.settingsForm.VisualiseFnLock);
Program.toast.RunToast(fnLock == 1 ? Properties.Strings.FnLockOn : Properties.Strings.FnLockOff, ToastIcon.FnLock); Program.toast.RunToast(fnLock ? Properties.Strings.FnLockOn : Properties.Strings.FnLockOff, ToastIcon.FnLock);
} }
public static void TabletMode() public static void TabletMode()

View File

@@ -507,7 +507,7 @@
<value>亮度</value> <value>亮度</value>
</data> </data>
<data name="LockScreen" xml:space="preserve"> <data name="LockScreen" xml:space="preserve">
<value>Lock Screen</value> <value>鎖定螢幕</value>
</data> </data>
<data name="Logo" xml:space="preserve"> <data name="Logo" xml:space="preserve">
<value>Logo</value> <value>Logo</value>