mirror of
https://github.com/jkocon/g-helper.git
synced 2026-02-23 13:00:52 +01:00
Darktheme fix https://github.com/seerge/g-helper/issues/1092
ACPI modes support for Vivobook https://github.com/seerge/g-helper/issues/1089
This commit is contained in:
@@ -55,7 +55,8 @@ public class AsusACPI
|
|||||||
public const uint GPU_Fan = 0x00110014;
|
public const uint GPU_Fan = 0x00110014;
|
||||||
public const uint Mid_Fan = 0x00110031;
|
public const uint Mid_Fan = 0x00110031;
|
||||||
|
|
||||||
public const uint PerformanceMode = 0x00120075; // Thermal Control
|
public const uint PerformanceMode = 0x00120075; // Performance modes
|
||||||
|
public const uint VivoBookMode = 0x00110019; // Vivobook performance modes
|
||||||
|
|
||||||
public const uint GPUEco = 0x00090020;
|
public const uint GPUEco = 0x00090020;
|
||||||
public const uint GPUXGConnected = 0x00090018;
|
public const uint GPUXGConnected = 0x00090018;
|
||||||
|
|||||||
@@ -1,8 +1,19 @@
|
|||||||
using System.Runtime.InteropServices;
|
using System.Collections;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
using static GHelper.Display.ScreenInterrogatory;
|
using static GHelper.Display.ScreenInterrogatory;
|
||||||
|
|
||||||
namespace GHelper.Display
|
namespace GHelper.Display
|
||||||
{
|
{
|
||||||
|
|
||||||
|
class ScreenComparer : IComparer
|
||||||
|
{
|
||||||
|
public int Compare(object x, object y)
|
||||||
|
{
|
||||||
|
int displayX = Int32.Parse(((Screen)x).DeviceName.Replace(@"\\.\DISPLAY", ""));
|
||||||
|
int displayY = Int32.Parse(((Screen)y).DeviceName.Replace(@"\\.\DISPLAY", ""));
|
||||||
|
return (new CaseInsensitiveComparer()).Compare(displayX, displayY);
|
||||||
|
}
|
||||||
|
}
|
||||||
internal class ScreenNative
|
internal class ScreenNative
|
||||||
{
|
{
|
||||||
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
|
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
|
||||||
@@ -166,6 +177,8 @@ namespace GHelper.Display
|
|||||||
count++;
|
count++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Array.Sort(screens, new ScreenComparer());
|
||||||
|
|
||||||
count = 0;
|
count = 0;
|
||||||
foreach (var screen in screens)
|
foreach (var screen in screens)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -183,7 +183,6 @@ namespace GHelper
|
|||||||
SetKeyCombo(comboFNF4, textFNF4, "paddle");
|
SetKeyCombo(comboFNF4, textFNF4, "paddle");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SetKeyCombo(comboM1, textM1, "m1");
|
SetKeyCombo(comboM1, textM1, "m1");
|
||||||
@@ -197,6 +196,10 @@ namespace GHelper
|
|||||||
SetKeyCombo(comboFNE, textFNE, "fne");
|
SetKeyCombo(comboFNE, textFNE, "fne");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (AppConfig.IsStrix())
|
||||||
|
{
|
||||||
|
labelM4.Text = "M5/ROG";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
InitTheme();
|
InitTheme();
|
||||||
|
|||||||
@@ -70,7 +70,13 @@ namespace GHelper.Mode
|
|||||||
|
|
||||||
Modes.SetCurrent(mode);
|
Modes.SetCurrent(mode);
|
||||||
|
|
||||||
Program.acpi.DeviceSet(AsusACPI.PerformanceMode, AppConfig.IsManualModeRequired() ? AsusACPI.PerformanceManual : Modes.GetBase(mode), "Mode");
|
int status = Program.acpi.DeviceSet(AsusACPI.PerformanceMode, AppConfig.IsManualModeRequired() ? AsusACPI.PerformanceManual : Modes.GetBase(mode), "Mode");
|
||||||
|
|
||||||
|
// Vivobook fallback
|
||||||
|
if (status != 1)
|
||||||
|
{
|
||||||
|
Program.acpi.DeviceSet(AsusACPI.VivoBookMode, Modes.GetBase(mode), "VivoMode");
|
||||||
|
}
|
||||||
|
|
||||||
if (AppConfig.Is("xgm_fan") && Program.acpi.IsXGConnected()) AsusUSB.ResetXGM();
|
if (AppConfig.Is("xgm_fan") && Program.acpi.IsXGConnected()) AsusUSB.ResetXGM();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user