Compare commits

..

14 Commits

11 changed files with 72 additions and 103 deletions

View File

@@ -616,9 +616,9 @@ namespace GHelper.Ally
}
public static void ApplyXBoxStatus()
public static void DisableXBoxController(bool disabled)
{
AsusHid.WriteInput(new byte[] { AsusHid.INPUT_ID, 0xD1, 0x0B, 0x01, AppConfig.Is("controller_disabled") ? (byte)0x02 : (byte)0x01 }, "Status");
AsusHid.WriteInput([AsusHid.INPUT_ID, 0xD1, 0x0B, 0x01, disabled ? (byte)0x02 : (byte)0x01], $"ControllerDisabled: {disabled}");
}
public static void ApplyMode(ControllerMode applyMode = ControllerMode.Auto, bool init = false)
@@ -651,7 +651,7 @@ namespace GHelper.Ally
InputDispatcher.SetBacklightAuto(true);
}
AsusHid.WriteInput(new byte[] { AsusHid.INPUT_ID, 0xD1, 0x01, 0x01, (byte)_applyMode }, "Controller");
AsusHid.WriteInput([AsusHid.INPUT_ID, 0xD1, 0x01, 0x01, (byte)_applyMode], "Controller");
//AsusHid.WriteInput(CommandSave, null);
BindZone(BindingZone.M1M2);
@@ -668,6 +668,13 @@ namespace GHelper.Ally
SetDeadzones();
if (init && AppConfig.Is("controller_disabled"))
{
Thread.Sleep(500);
DisableXBoxController(false);
DisableXBoxController(true);
}
});
}

View File

@@ -454,7 +454,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("M550") || ContainsModel("K340") || ContainsModel("K350") || ContainsModel("M140") || ContainsModel("UM340") || ContainsModel("S540") || ContainsModel("M7400") || ContainsModel("N650") || ContainsModel("HN7306") || ContainsModel("H7606");
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") || ContainsModel("UX5406") || ContainsModel("UM5606");
}
public static bool IsNoOverdrive()

View File

@@ -114,7 +114,7 @@ public class AsusACPI
public const int APU_MEM = 0x000600C1;
public const int TUF_KB_BRIGHTNESS = 0x00050021;
public const int VIVO_KB_BRIGHTNESS = 0x0005002F;
public const int KBD_BACKLIGHT_OOBE = 0x0005002F;
public const int TUF_KB = 0x00100056;
public const int TUF_KB2 = 0x0010005a;
@@ -788,7 +788,6 @@ public class AsusACPI
{
int param = 0x80 | (brightness & 0x7F);
DeviceSet(TUF_KB_BRIGHTNESS, param, "TUF Brightness");
if (AppConfig.IsVivoZenPro()) DeviceSet(VIVO_KB_BRIGHTNESS, param, "VIVO Brightness");
}
@@ -831,6 +830,7 @@ public class AsusACPI
state = state | 0x01 << 8;
DeviceSet(TUF_KB_STATE, state, "TUF_KB");
if (AppConfig.IsVivoZenPro() && DeviceGet(KBD_BACKLIGHT_OOBE) >= 0) DeviceSet(KBD_BACKLIGHT_OOBE, 1, "VIVO OOBE");
}
public void SubscribeToEvents(Action<object, EventArrivedEventArgs> EventHandler)

View File

@@ -326,7 +326,8 @@ namespace GHelper
return;
}
LightingMode lm = supportedLightingModes[comboBoxLightingMode.SelectedIndex];
var index = comboBoxLightingMode.SelectedIndex;
LightingMode lm = supportedLightingModes[index < supportedLightingModes.Count ? index : 0 ];
LightingSetting? ls = mouse.LightingSettingForZone(visibleZone);
if (ls.LightingMode == lm)

View File

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

View File

@@ -94,7 +94,7 @@ namespace GHelper
private void CheckController_CheckedChanged(object? sender, EventArgs e)
{
AppConfig.Set("controller_disabled", checkController.Checked ? 1 : 0);
AllyControl.ApplyXBoxStatus();
AllyControl.DisableXBoxController(checkController.Checked);
}
private void ComboBinding(RComboBox combo)

View File

@@ -270,9 +270,6 @@ namespace GHelper.Mode
var stapmResult = SendCommand.set_stapm_limit((uint)limit_total * 1000);
if (init) Logger.WriteLine($"STAPM: {limit_total} {stapmResult}");
var stapmResult2 = SendCommand.set_stapm2_limit((uint)limit_total * 1000);
if (init) Logger.WriteLine($"STAPM2: {limit_total} {stapmResult2}");
var slowResult = SendCommand.set_slow_limit((uint)limit_slow * 1000);
if (init) Logger.WriteLine($"SLOW: {limit_slow} {slowResult}");

View File

@@ -250,13 +250,13 @@
<value>Pabudęs</value>
</data>
<data name="BacklightLow" xml:space="preserve">
<value>Low</value>
<value>Žem.</value>
</data>
<data name="BacklightMax" xml:space="preserve">
<value>Max</value>
<value>Maks.</value>
</data>
<data name="BacklightMid" xml:space="preserve">
<value>Mid</value>
<value>Vid.</value>
</data>
<data name="BacklightOff" xml:space="preserve">
<value>Išjungta</value>
@@ -265,10 +265,10 @@
<value>Laiko riba su lizdu / akumuliatoriumi (0 ĮJUNGTA)</value>
</data>
<data name="BacklightTimeoutBattery" xml:space="preserve">
<value>Backlight Timeout when on battery</value>
<value>Foninio apšvietimo laikas akumuliatoriaus režimu</value>
</data>
<data name="BacklightTimeoutPlugged" xml:space="preserve">
<value>Backlight Timeout when plugged</value>
<value>Foninio apšvietimo laikas įkraunant</value>
</data>
<data name="Balanced" xml:space="preserve">
<value>Balansuotas</value>
@@ -519,7 +519,7 @@ Vis tiek norite tęsti?</value>
<value>Kairiojo jungiklio nejautrumo zonos</value>
</data>
<data name="LTDeadzones" xml:space="preserve">
<value>Left Trigger Deadzones</value>
<value>Kairiojo jungiklio nejautrumo zonos</value>
</data>
<data name="MatrixAudio" xml:space="preserve">
<value>Garso vizualizatorius</value>
@@ -585,13 +585,13 @@ Vis tiek norite tęsti?</value>
<value>Sinchronizuoti su pele</value>
</data>
<data name="Multizone" xml:space="preserve">
<value>Multi Zone</value>
<value>Kelios zonos</value>
</data>
<data name="MultizoneStrong" xml:space="preserve">
<value>Multi Zone Strong</value>
<value>Kelių zonų stiprumas</value>
</data>
<data name="Muted" xml:space="preserve">
<value>Muted</value>
<value>Išjungta</value>
</data>
<data name="MuteMic" xml:space="preserve">
<value>Mikrofono nutildymas</value>
@@ -615,7 +615,7 @@ Vis tiek norite tęsti?</value>
<value>Įjungta</value>
</data>
<data name="OneZone" xml:space="preserve">
<value>One Zone</value>
<value>Viena zona</value>
</data>
<data name="OpenGHelper" xml:space="preserve">
<value>Atidaryti G-Helper langą</value>
@@ -675,16 +675,16 @@ Vis tiek norite tęsti?</value>
<value>RPM</value>
</data>
<data name="RSDeadzones" xml:space="preserve">
<value>Right Stick Deadzones</value>
<value>Dešiniojo jungiklio nejautrumo zonos</value>
</data>
<data name="RTDeadzones" xml:space="preserve">
<value>Right Trigger Deadzones</value>
<value>Dešiniojo jungiklio nejautrumo zonos</value>
</data>
<data name="RunOnStartup" xml:space="preserve">
<value>Paleisti įjungus sistemą</value>
</data>
<data name="ScalingQuality" xml:space="preserve">
<value>Scaling Quality</value>
<value>Mastelio kokybė</value>
</data>
<data name="ScreenPadDown" xml:space="preserve">
<value>Ekrano skydelio ryškumo mažinimas</value>
@@ -741,10 +741,10 @@ Vis tiek norite tęsti?</value>
<value>Perjungti ekraną</value>
</data>
<data name="ToggleTouchscreen" xml:space="preserve">
<value>Toggle Touchscreen</value>
<value>Valdyti jutiklinį ekraną</value>
</data>
<data name="Touchscreen" xml:space="preserve">
<value>Touchscreen</value>
<value>Jutiklinis ekranas</value>
</data>
<data name="Turbo" xml:space="preserve">
<value>Turbo</value>
@@ -765,7 +765,7 @@ Vis tiek norite tęsti?</value>
<value>Įtampos mažinimas yra eksperimentinė ir pavojinga funkcija. Jei pritaikytos reikšmės yra per mažos jūsų aparatinei įrangai, ji gali tapti nestabili, išsijungti arba pažeisti duomenų vientisumą. Jei norite pabandyti, iš pirmo pradėkite nuo mažų reikšmių, spustelėkite „Taikyti“ ir išbandykite, kas jums tinka.</value>
</data>
<data name="Unmuted" xml:space="preserve">
<value>Unmuted</value>
<value>Įjungta</value>
</data>
<data name="Updates" xml:space="preserve">
<value>Naujinimai</value>
@@ -798,24 +798,24 @@ Vis tiek norite tęsti?</value>
<value>Visada rodyti programėlės langą viršuje</value>
</data>
<data name="Zoom" xml:space="preserve">
<value>Zoom</value>
<value>Mastelis</value>
</data>
<data name="Donate" xml:space="preserve">
<value>Donate</value>
<value>Paremti</value>
</data>
<data name="Legend" xml:space="preserve">
<value>Legend</value>
<value>Legenda</value>
</data>
<data name="LegendGray" xml:space="preserve">
<value>Can't check local version</value>
<value>Nepavyko patikrinti vietinės versijos</value>
<comment>Can't check local version</comment>
</data>
<data name="LegendRed" xml:space="preserve">
<value>Update Available</value>
<value>Išleista nauja versija</value>
<comment>Update Available</comment>
</data>
<data name="LegendGreen" xml:space="preserve">
<value>Updated</value>
<value>Atnaujinta</value>
<comment>Updated</comment>
</data>
</root>

View File

@@ -157,7 +157,7 @@
<value>程式正在執行</value>
</data>
<data name="AppAlreadyRunningText" xml:space="preserve">
<value>G-Helper正在執行。 請檢查右下系統匣。</value>
<value>G-Helper 正在執行。 請檢查右下系統匣。</value>
</data>
<data name="Apply" xml:space="preserve">
<value>套用</value>
@@ -169,10 +169,10 @@
<value>套用功率限制</value>
</data>
<data name="ApplyWindowsPowerPlan" xml:space="preserve">
<value>自動調整Windows電源模式</value>
<value>自動調整 Windows 電源模式</value>
</data>
<data name="APUMemory" xml:space="preserve">
<value>分配給GPU的記憶體</value>
<value>分配給 GPU 的記憶體</value>
</data>
<data name="AsusServicesRunning" xml:space="preserve">
<value>執行中的華碩服務</value>
@@ -295,7 +295,7 @@
<value>次要</value>
</data>
<data name="BiosAndDriverUpdates" xml:space="preserve">
<value>BIOS與驅動程式更新</value>
<value>BIOS 與驅動程式更新</value>
</data>
<data name="Boot" xml:space="preserve">
<value>開機時</value>

View File

@@ -40,7 +40,8 @@ namespace Ryzen
//PHEONIX - 9
//RAPHAEL/DRAGON RANGE - 10
//MENDOCINO - 11
//HAWKPOINT/STRIXPOINT - 12
//HAWKPOINT - 12
//STRIXPOINT - 13
public static void Init()
{
@@ -129,7 +130,7 @@ namespace Ryzen
if (CPUModel.Contains("Family " + Convert.ToString(26)) && CPUModel.Contains("Model " + Convert.ToString(36)))
{
FAMID = 12; //STRIXPOINT
FAMID = 13; //STRIXPOINT
}
Logger.WriteLine($"CPU: {FAMID} - {CPUName} - {CPUModel}");
@@ -243,6 +244,16 @@ namespace Ryzen
Smu.PSMU_ADDR_RSP = 0x3B10a80;
Smu.PSMU_ADDR_ARG = 0x3B10a88;
}
else if (FAMID == 13)
{
Smu.MP1_ADDR_MSG = 0x3B10928;
Smu.MP1_ADDR_RSP = 0x3B10978;
Smu.MP1_ADDR_ARG = 0x3B10998;
Smu.PSMU_ADDR_MSG = 0x3B10a20;
Smu.PSMU_ADDR_RSP = 0x3B10a80;
Smu.PSMU_ADDR_ARG = 0x3B10a88;
}
else if (FAMID == 4 || FAMID == 6)
{
Smu.MP1_ADDR_MSG = 0x3B10530;

View File

@@ -21,7 +21,8 @@ namespace Ryzen
//PHEONIX - 9
//RAPHAEL/DRAGON RANGE - 10
//MENDOCINO - 11
//HAWKPOINT/STRIXPOINT - 12
//HAWKPOINT - 12
//STRIXPOINT - 13
public static Smu RyzenAccess = new Smu(false);
public static int FAMID = RyzenControl.FAMID;
@@ -49,7 +50,8 @@ namespace Ryzen
case 9:
case 11:
case 12:
RyzenAccess.SendMp1(0x14, ref Args);
case 13:
result = RyzenAccess.SendMp1(0x14, ref Args);
result = RyzenAccess.SendPsmu(0x31, ref Args);
break;
default:
@@ -61,32 +63,6 @@ namespace Ryzen
}
//STAMP2 Limit
public static Smu.Status? set_stapm2_limit(uint value)
{
RyzenAccess.Initialize();
uint[] Args = new uint[6];
Args[0] = value;
Smu.Status? result = null;
switch (FAMID)
{
case 3:
case 5:
case 7:
case 8:
case 9:
case 11:
case 12:
result = RyzenAccess.SendPsmu(0x31, ref Args);
break;
default:
break;
}
RyzenAccess.Deinitialize();
return result;
}
//Fast Limit
public static Smu.Status? set_fast_limit(uint value)
{
@@ -109,7 +85,9 @@ namespace Ryzen
case 9:
case 11:
case 12:
case 13:
result = RyzenAccess.SendMp1(0x15, ref Args);
result = RyzenAccess.SendPsmu(0x32, ref Args);
break;
default:
break;
@@ -140,7 +118,10 @@ namespace Ryzen
case 9:
case 11:
case 12:
case 13:
result = RyzenAccess.SendMp1(0x16, ref Args);
result = RyzenAccess.SendPsmu(0x33, ref Args);
result = RyzenAccess.SendPsmu(0x34, ref Args);
break;
default:
break;
@@ -176,11 +157,12 @@ namespace Ryzen
case 9:
case 11:
case 12:
case 13:
result = RyzenAccess.SendMp1(0x19, ref Args);
break;
case 4:
case 6:
RyzenAccess.SendMp1(0x23, ref Args);
result = RyzenAccess.SendMp1(0x23, ref Args);
result = RyzenAccess.SendPsmu(0x56, ref Args);
break;
case 10:
@@ -194,37 +176,6 @@ namespace Ryzen
return result;
}
//Skin Temp limit
public static Smu.Status? set_apu_skin_temp_limit(uint value)
{
RyzenAccess.Initialize();
uint[] Args = new uint[6];
Args[0] = value;
Smu.Status? result = null;
switch (FAMID)
{
case 5:
case 8:
case 9:
case 11:
case 12:
result = RyzenAccess.SendMp1(0x33, ref Args);
break;
case 3:
case 7:
result = RyzenAccess.SendMp1(0x38, ref Args);
break;
default:
break;
}
RyzenAccess.Deinitialize();
return result;
}
//Set All Core Curve Optimiser
public static Smu.Status? set_coall(int value)
{
@@ -241,12 +192,12 @@ namespace Ryzen
{
case 3:
case 7:
RyzenAccess.SendMp1(0x55, ref Args);
result = RyzenAccess.SendMp1(0x55, ref Args);
result = RyzenAccess.SendPsmu(0xB1, ref Args);
break;
case 4:
case 6:
RyzenAccess.SendMp1(0x36, ref Args);
result = RyzenAccess.SendMp1(0x36, ref Args);
result = RyzenAccess.SendPsmu(0xB, ref Args);
break;
case 5:
@@ -254,6 +205,7 @@ namespace Ryzen
case 9:
case 11:
case 12:
case 13:
result = RyzenAccess.SendPsmu(0x5D, ref Args);
break;
case 10:
@@ -285,7 +237,7 @@ namespace Ryzen
{
case 3:
case 7:
RyzenAccess.SendMp1(0x64, ref Args);
result = RyzenAccess.SendMp1(0x64, ref Args);
result = RyzenAccess.SendPsmu(0x57, ref Args);
break;
case 5:
@@ -293,6 +245,7 @@ namespace Ryzen
case 9:
case 11:
case 12:
case 13:
result = RyzenAccess.SendPsmu(0xb7, ref Args);
break;
default: