Compare commits

..

4 Commits

11 changed files with 55 additions and 9 deletions

View File

@@ -284,6 +284,11 @@ public static class AppConfig
return ContainsModel("TUF");
}
public static bool IsVivobook()
{
return ContainsModel("Vivobook");
}
// Devices with bugged bios command to change brightness
public static bool SwappedBrightness()
{
@@ -335,7 +340,7 @@ public static class AppConfig
public static bool NoAutoUltimate()
{
return ContainsModel("G614") || ContainsModel("GU604") || ContainsModel("FX507");
return ContainsModel("G614") || ContainsModel("GU604") || ContainsModel("FX507") || ContainsModel("G513");
}

View File

@@ -67,6 +67,9 @@ public class AsusACPI
public const uint ScreenOverdrive = 0x00050019;
public const uint ScreenMiniled = 0x0005001E;
public const uint DevsCPUFan = 0x00110022;
public const uint DevsGPUFan = 0x00110023;
public const uint DevsCPUFanCurve = 0x00110024;
public const uint DevsGPUFanCurve = 0x00110025;
public const uint DevsMidFanCurve = 0x00110032;
@@ -90,6 +93,8 @@ public class AsusACPI
public const int TUF_KB = 0x00100056;
public const int TUF_KB_STATE = 0x00100057;
public const int MICMUTE_LED = 0x00040017;
public const int TabletState = 0x00060077;
public const int FnLock = 0x00100023;
@@ -336,6 +341,25 @@ public class AsusACPI
return -1;
}
public int SetFanRange(AsusFan device, byte[] curve)
{
byte min = (byte)(curve[8] * 255 / 100);
byte max = (byte)(curve[15] * 255 / 100);
byte[] range = { min, max};
int result;
switch (device)
{
case AsusFan.GPU:
result = DeviceSet(DevsGPUFan, range, "FanRangeGPU");
break;
default:
result = DeviceSet(DevsCPUFan, range, "FanRangeCPU");
break;
}
return result;
}
public int SetFanCurve(AsusFan device, byte[] curve)
{

View File

@@ -64,7 +64,7 @@ namespace GHelper
public static Color Color1 = Color.White;
public static Color Color2 = Color.Black;
static bool isTuf = AppConfig.IsTUF();
static bool isTuf = AppConfig.IsTUF() || AppConfig.IsVivobook();
static bool isStrix = AppConfig.IsStrix();
static public bool isSingleColor = false;

3
app/Extra.Designer.cs generated
View File

@@ -31,6 +31,7 @@ namespace GHelper
/// </summary>
private void InitializeComponent()
{
components = new System.ComponentModel.Container();
panelServices = new Panel();
pictureService = new PictureBox();
labelServices = new Label();
@@ -113,6 +114,7 @@ namespace GHelper
numericHibernateAfter = new NumericUpDown();
labelHibernateAfter = new Label();
pictureHibernate = new PictureBox();
toolTip = new ToolTip(components);
panelServices.SuspendLayout();
((System.ComponentModel.ISupportInitialize)pictureService).BeginInit();
panelBindingsHeader.SuspendLayout();
@@ -1353,5 +1355,6 @@ namespace GHelper
private Label labelHibernateAfter;
private NumericUpDown numericHibernateAfter;
private CheckBox checkGPUFix;
private ToolTip toolTip;
}
}

View File

@@ -320,6 +320,8 @@ namespace GHelper
checkGPUFix.Checked = AppConfig.IsGPUFix();
checkGPUFix.CheckedChanged += CheckGPUFix_CheckedChanged;
toolTip.SetToolTip(checkAutoToggleClamshellMode, "Disable sleep on lid close when plugged in and external monitor is connected");
InitVariBright();
InitServices();
InitHibernate();
@@ -401,7 +403,7 @@ namespace GHelper
{
buttonServices.Enabled = false;
if (OptimizationService.IsRunning())
if (OptimizationService.GetRunningCount() > 0)
{
labelServices.Text = Properties.Strings.StoppingServices + " ...";
Task.Run(() =>

View File

@@ -117,4 +117,7 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="toolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

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

View File

@@ -73,7 +73,7 @@ public static class HardwareControl
if (_fanMax < 0 && AppConfig.ContainsModel("503")) _fanMax = 68;
if (_fanMax < 0) _fanMax = DEFAULT_FAN_MAX;
_fanRpm = AppConfig.Is("fan_rpm");
_fanRpm = AppConfig.IsNotFalse("fan_rpm");
}

View File

@@ -378,6 +378,7 @@ namespace GHelper.Input
case "micmute":
bool muteStatus = Audio.ToggleMute();
Program.toast.RunToast(muteStatus ? "Muted" : "Unmuted", muteStatus ? ToastIcon.MicrophoneMute : ToastIcon.Microphone);
if (AppConfig.IsVivobook()) Program.acpi.DeviceSet(AsusACPI.MICMUTE_LED, muteStatus ? 1 : 0, "MicmuteLed");
break;
case "brightness_up":
SetBrightness(+10);

View File

@@ -148,10 +148,16 @@ namespace GHelper.Mode
// something went wrong, resetting to default profile
if (cpuResult != 1 || gpuResult != 1)
{
int mode = Modes.GetCurrentBase();
Logger.WriteLine("ASUS BIOS rejected fan curve, resetting mode to " + mode);
Program.acpi.DeviceSet(AsusACPI.PerformanceMode, mode, "Reset Mode");
settings.LabelFansResult("ASUS BIOS rejected fan curve");
cpuResult = Program.acpi.SetFanRange(AsusFan.CPU, AppConfig.GetFanConfig(AsusFan.CPU));
gpuResult = Program.acpi.SetFanRange(AsusFan.GPU, AppConfig.GetFanConfig(AsusFan.GPU));
if (cpuResult != 1 || gpuResult != 1)
{
int mode = Modes.GetCurrentBase();
Logger.WriteLine("ASUS BIOS rejected fan curve, resetting mode to " + mode);
Program.acpi.DeviceSet(AsusACPI.PerformanceMode, mode, "Reset Mode");
settings.LabelFansResult("ASUS BIOS rejected fan curve");
}
}
else
{

View File

@@ -700,6 +700,8 @@ namespace GHelper
comboKeyboard.SelectedIndex += 1;
else
comboKeyboard.SelectedIndex = 0;
Program.toast.RunToast(comboKeyboard.GetItemText(comboKeyboard.SelectedItem), ToastIcon.BacklightUp);
}
private void ComboKeyboard_SelectedValueChanged(object? sender, EventArgs e)