mirror of
https://github.com/jkocon/g-helper.git
synced 2026-02-23 13:00:52 +01:00
Compare commits
151 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
58b5221b3c | ||
|
|
0192d59524 | ||
|
|
01cede58b5 | ||
|
|
3dbbddfa58 | ||
|
|
1b898b44d2 | ||
|
|
dc7362dab1 | ||
|
|
cbd4a5e27c | ||
|
|
5e9b002013 | ||
|
|
5077c30704 | ||
|
|
d6363dee85 | ||
|
|
359575d00d | ||
|
|
9dc444fd33 | ||
|
|
a5b8885ff6 | ||
|
|
56676005a5 | ||
|
|
0e59f9318e | ||
|
|
21a2dca271 | ||
|
|
e265a78b4f | ||
|
|
18b6dd794f | ||
|
|
9fd9506177 | ||
|
|
a30b202022 | ||
|
|
b9534fdfe5 | ||
|
|
cb3bf3ea90 | ||
|
|
5b64f89351 | ||
|
|
de10360224 | ||
|
|
63828e3db7 | ||
|
|
8b66e95b8b | ||
|
|
cd930cebf9 | ||
|
|
7bdaca93d5 | ||
|
|
ef6990c528 | ||
|
|
72f01321ae | ||
|
|
e6767126c9 | ||
|
|
50f0c82b70 | ||
|
|
12587e222f | ||
|
|
dfb51b897e | ||
|
|
cc36184834 | ||
|
|
338a5e85f4 | ||
|
|
632ed073a1 | ||
|
|
07a1ea46c7 | ||
|
|
8e0bea59aa | ||
|
|
0deccfa47a | ||
|
|
c16dfe207f | ||
|
|
b362afe451 | ||
|
|
6fe8ff65b1 | ||
|
|
b8af931248 | ||
|
|
3deaefb630 | ||
|
|
0dec01a275 | ||
|
|
1efda38ccf | ||
|
|
88eb4916b6 | ||
|
|
741d9cf1e2 | ||
|
|
45e3d5e75f | ||
|
|
443f6726c7 | ||
|
|
f22f6eb960 | ||
|
|
a83b42c263 | ||
|
|
b97bd9af65 | ||
|
|
a70956eaf8 | ||
|
|
a8fd049090 | ||
|
|
9817769d62 | ||
|
|
39f919213f | ||
|
|
709f2b89ca | ||
|
|
950d082fc3 | ||
|
|
ceaa8c4110 | ||
|
|
fefbe94a8c | ||
|
|
c96a7749be | ||
|
|
bc9917b69a | ||
|
|
f5964b60c7 | ||
|
|
b3133ede7a | ||
|
|
c245a929f3 | ||
|
|
4c4e6c8291 | ||
|
|
887e769bc6 | ||
|
|
5858a9d45b | ||
|
|
69f6be8941 | ||
|
|
258bf3048a | ||
|
|
c35cbe51fe | ||
|
|
42da641f60 | ||
|
|
1c8260ce28 | ||
|
|
37f4022366 | ||
|
|
10163db7ea | ||
|
|
1a7b7b3761 | ||
|
|
45f46aab4e | ||
|
|
90f74948cb | ||
|
|
28d9a15f0c | ||
|
|
01630dc195 | ||
|
|
8ff9d1203b | ||
|
|
0eb31b75a1 | ||
|
|
675317dcc1 | ||
|
|
2ed6f1fefb | ||
|
|
b80a069220 | ||
|
|
652ed23bed | ||
|
|
6a71fe5665 | ||
|
|
3129741fcd | ||
|
|
c2db0fc36d | ||
|
|
810d2e5f75 | ||
|
|
977ced629d | ||
|
|
ce76537687 | ||
|
|
ce3ccf965b | ||
|
|
7b1e088f0b | ||
|
|
7e79da221e | ||
|
|
35c7f4283e | ||
|
|
d0d409b37f | ||
|
|
1c1cdf1bec | ||
|
|
d177fac656 | ||
|
|
7591eb1043 | ||
|
|
fd66254130 | ||
|
|
f8efcb047a | ||
|
|
aaf2fb15f4 | ||
|
|
e68c29fc6f | ||
|
|
5ddc93d275 | ||
|
|
fe6f3bc3bf | ||
|
|
9bf31c3235 | ||
|
|
0f333e90c3 | ||
|
|
33c4406f95 | ||
|
|
2abae6ac86 | ||
|
|
c795807c75 | ||
|
|
16bdb5d32a | ||
|
|
773c50579c | ||
|
|
59bfe845c6 | ||
|
|
95909bd951 | ||
|
|
ac89645476 | ||
|
|
a33089921e | ||
|
|
23647e268e | ||
|
|
2df256ca66 | ||
|
|
c5b9fda3de | ||
|
|
7bfc9e0bda | ||
|
|
b8fa771f36 | ||
|
|
c0bb6015a0 | ||
|
|
181f8e4a0f | ||
|
|
ab76e524cd | ||
|
|
9686f4ed38 | ||
|
|
f21b1e2045 | ||
|
|
ff92229ecb | ||
|
|
ea5964d8bb | ||
|
|
c7c147882d | ||
|
|
26423c9d16 | ||
|
|
0ff362a75e | ||
|
|
d76dcf9830 | ||
|
|
9469cc06de | ||
|
|
67677adad6 | ||
|
|
8e9fea3a69 | ||
|
|
89951e1464 | ||
|
|
c7d6e9ee70 | ||
|
|
59f7500a36 | ||
|
|
7d0bc58abd | ||
|
|
c5550d1fd0 | ||
|
|
a7d5b38a1b | ||
|
|
07d93955f6 | ||
|
|
abc5b25800 | ||
|
|
5da61ded0f | ||
|
|
583d706cd2 | ||
|
|
8fe7a535af | ||
|
|
6523540834 | ||
|
|
211d8d3e61 |
4
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
4
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@@ -16,10 +16,6 @@ body:
|
||||
required: true
|
||||
validations:
|
||||
required: true
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
<b>NOTICE:</b> Issues like "my fans are not working properly" will be closed without answer. Neither G-Helper nor Armoury don't control fans in realtime anyhow. Fans are <b>always</b> controlled by BIOS, even when you set a custom fan curve.
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
|
||||
4
.github/SECURITY.md
vendored
4
.github/SECURITY.md
vendored
@@ -4,8 +4,8 @@
|
||||
|
||||
| Version | Supported |
|
||||
| ------- | ------------------ |
|
||||
| 0.151+ | :white_check_mark: |
|
||||
| < 0.151 | :x: |
|
||||
| 0.170+ | :white_check_mark: |
|
||||
| < 0.170 | :x: |
|
||||
|
||||
## Reporting a Vulnerability
|
||||
|
||||
|
||||
2
.github/workflows/build.yml
vendored
2
.github/workflows/build.yml
vendored
@@ -19,7 +19,7 @@ jobs:
|
||||
uses: actions/setup-dotnet@v3
|
||||
with:
|
||||
dotnet-version: |
|
||||
7.0.x
|
||||
8.0.x
|
||||
- name: Build
|
||||
run: |
|
||||
dotnet build app/GHelper.sln
|
||||
|
||||
6
.github/workflows/release.yml
vendored
6
.github/workflows/release.yml
vendored
@@ -18,13 +18,13 @@ jobs:
|
||||
uses: actions/setup-dotnet@v3
|
||||
with:
|
||||
dotnet-version: |
|
||||
7.0.x
|
||||
8.0.x
|
||||
- name: Publish
|
||||
run: |
|
||||
dotnet publish app/GHelper.sln --configuration Release --runtime win-x64 -p:PublishSingleFile=true --no-self-contained
|
||||
powershell Compress-Archive app/bin/x64/Release/net7.0-windows/win-x64/publish/GHelper.exe GHelper.zip
|
||||
powershell Compress-Archive app/bin/x64/Release/net8.0-windows/win-x64/publish/GHelper.exe GHelper.zip
|
||||
- name: Upload
|
||||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
run: |
|
||||
gh release upload ${{ github.ref_name }} app/bin/x64/Release/net7.0-windows/win-x64/publish/GHelper.exe GHelper.zip
|
||||
gh release upload ${{ github.ref_name }} app/bin/x64/Release/net8.0-windows/win-x64/publish/GHelper.exe GHelper.zip
|
||||
|
||||
@@ -40,9 +40,16 @@ namespace GHelper.AnimeMatrix
|
||||
try
|
||||
{
|
||||
if (AppConfig.IsSlash())
|
||||
deviceSlash = new SlashDevice();
|
||||
{
|
||||
if (AppConfig.IsSlashAura())
|
||||
deviceSlash = new SlashDeviceAura();
|
||||
else
|
||||
deviceSlash = new SlashDevice();
|
||||
}
|
||||
else
|
||||
{
|
||||
deviceMatrix = new AnimeMatrixDevice();
|
||||
}
|
||||
|
||||
matrixTimer = new System.Timers.Timer(100);
|
||||
matrixTimer.Elapsed += MatrixTimer_Elapsed;
|
||||
@@ -103,21 +110,24 @@ namespace GHelper.AnimeMatrix
|
||||
|
||||
deviceSlash.SetEnabled(true);
|
||||
deviceSlash.Init();
|
||||
|
||||
|
||||
switch ((SlashMode)running)
|
||||
{
|
||||
case SlashMode.Static:
|
||||
Logger.WriteLine("Slash: Static");
|
||||
var custom = AppConfig.GetString("slash_custom");
|
||||
if (custom is not null && custom.Length > 0)
|
||||
{
|
||||
deviceSlash.SetCustom(AppConfig.StringToBytes(custom));
|
||||
} else
|
||||
}
|
||||
else
|
||||
{
|
||||
deviceSlash.SetStatic(brightness);
|
||||
}
|
||||
break;
|
||||
case SlashMode.BatteryLevel:
|
||||
// call tick to immediately update the pattern
|
||||
Logger.WriteLine("Slash: Battery Level");
|
||||
SlashTimer_start();
|
||||
SlashTimer_tick();
|
||||
break;
|
||||
@@ -137,10 +147,10 @@ namespace GHelper.AnimeMatrix
|
||||
public void SetLidMode(bool force = false)
|
||||
{
|
||||
bool matrixLid = AppConfig.Is("matrix_lid");
|
||||
|
||||
|
||||
if (deviceSlash is not null)
|
||||
{
|
||||
deviceSlash.SetLidMode(matrixLid);
|
||||
deviceSlash.SetLidMode(true);
|
||||
}
|
||||
|
||||
if (matrixLid || force)
|
||||
@@ -226,9 +236,9 @@ namespace GHelper.AnimeMatrix
|
||||
{
|
||||
BuiltInAnimation animation = new BuiltInAnimation(
|
||||
(BuiltInAnimation.Running)running,
|
||||
BuiltInAnimation.Sleeping.Starfield,
|
||||
BuiltInAnimation.Shutdown.SeeYa,
|
||||
BuiltInAnimation.Startup.StaticEmergence
|
||||
(BuiltInAnimation.Sleeping)AppConfig.Get("matrix_sleep", (int)BuiltInAnimation.Sleeping.Starfield),
|
||||
(BuiltInAnimation.Shutdown)AppConfig.Get("matrix_shutdown", (int)BuiltInAnimation.Shutdown.SeeYa),
|
||||
(BuiltInAnimation.Startup)AppConfig.Get("matrix_startup", (int)BuiltInAnimation.Startup.StaticEmergence)
|
||||
);
|
||||
deviceMatrix.SetBuiltInAnimation(true, animation);
|
||||
Logger.WriteLine("Matrix builtin: " + animation.AsByte);
|
||||
@@ -268,9 +278,9 @@ namespace GHelper.AnimeMatrix
|
||||
StartMatrixTimer(1000);
|
||||
Logger.WriteLine("Matrix Clock");
|
||||
}
|
||||
|
||||
|
||||
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
|
||||
@@ -279,18 +289,18 @@ namespace GHelper.AnimeMatrix
|
||||
|
||||
// create the timer if first call
|
||||
// this way, the timer only spawns if user tries to use battery pattern
|
||||
if(slashTimer == default(System.Timers.Timer))
|
||||
if (slashTimer == default(System.Timers.Timer))
|
||||
{
|
||||
slashTimer = new System.Timers.Timer(interval);
|
||||
slashTimer.Elapsed += SlashTimer_elapsed;
|
||||
slashTimer.AutoReset = true;
|
||||
}
|
||||
// only write if interval changed
|
||||
if(slashTimer.Interval != interval)
|
||||
if (slashTimer.Interval != interval)
|
||||
{
|
||||
slashTimer.Interval = interval;
|
||||
}
|
||||
|
||||
|
||||
slashTimer.Start();
|
||||
}
|
||||
|
||||
@@ -304,7 +314,7 @@ namespace GHelper.AnimeMatrix
|
||||
if (deviceSlash is null) return;
|
||||
|
||||
//kill timer if called but not in battery pattern mode
|
||||
if((SlashMode)AppConfig.Get("matrix_running", 0) != SlashMode.BatteryLevel)
|
||||
if ((SlashMode)AppConfig.Get("matrix_running", 0) != SlashMode.BatteryLevel)
|
||||
{
|
||||
slashTimer.Stop();
|
||||
slashTimer.Dispose();
|
||||
|
||||
@@ -404,12 +404,14 @@ namespace GHelper.AnimeMatrix
|
||||
|
||||
public void PresentClock()
|
||||
{
|
||||
string second = (DateTime.Now.Second % 2 == 0) ? ":" : " ";
|
||||
string time = DateTime.Now.ToString("HH" + second + "mm");
|
||||
string timeFormat = AppConfig.GetString("matrix_time", "HH:mm");
|
||||
string dateFormat = AppConfig.GetString("matrix_date", "yy.MM.dd");
|
||||
|
||||
if (DateTime.Now.Second % 2 != 0) timeFormat = timeFormat.Replace(":", " ");
|
||||
|
||||
Clear();
|
||||
Text(time, 15, 0, 25);
|
||||
Text(DateTime.Now.ToString("yy'. 'MM'. 'dd"), 11.5F, 0, 14);
|
||||
Text(DateTime.Now.ToString(timeFormat), 15, 2, 25);
|
||||
Text(DateTime.Now.ToString(dateFormat), 11.5F, 0, 14);
|
||||
Present();
|
||||
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
using GHelper.AnimeMatrix.Communication;
|
||||
using System.Management;
|
||||
using System.Text;
|
||||
using System.Timers;
|
||||
|
||||
namespace GHelper.AnimeMatrix
|
||||
{
|
||||
@@ -26,16 +25,24 @@ namespace GHelper.AnimeMatrix
|
||||
BatteryLevel,
|
||||
}
|
||||
|
||||
internal class SlashPacket : Packet
|
||||
public class SlashPacket : Packet
|
||||
{
|
||||
public SlashPacket(byte[] command) : base(0x5E, 128, command)
|
||||
public SlashPacket(byte[] command, byte reportID = 0x5E) : base(reportID, 128, command)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public class SlashDevice : Device
|
||||
{
|
||||
|
||||
protected virtual byte reportID => 0x5E;
|
||||
|
||||
protected virtual SlashPacket CreatePacket(byte[] command)
|
||||
{
|
||||
return new SlashPacket(command, reportID);
|
||||
}
|
||||
|
||||
public static Dictionary<SlashMode, string> Modes = new Dictionary<SlashMode, string>
|
||||
{
|
||||
{ SlashMode.Bounce, "Bounce"},
|
||||
@@ -85,31 +92,31 @@ namespace GHelper.AnimeMatrix
|
||||
{ SlashMode.Buzzer, 0x44},
|
||||
};
|
||||
|
||||
public SlashDevice() : base(0x0B05, 0x193B, 128)
|
||||
public SlashDevice(ushort productId = 0x193B) : base(0x0B05, productId, 128)
|
||||
{
|
||||
}
|
||||
|
||||
public void WakeUp()
|
||||
{
|
||||
Set(Packet<SlashPacket>(Encoding.ASCII.GetBytes("ASUS Tech.Inc.")), "SlashWakeUp");
|
||||
Set(Packet<SlashPacket>(0xC2), "SlashWakeUp");
|
||||
Set(Packet<SlashPacket>(0xD1, 0x01, 0x00, 0x01), "SlashWakeUp");
|
||||
Set(CreatePacket(Encoding.ASCII.GetBytes("ASUS Tech.Inc.")), "SlashWakeUp");
|
||||
Set(CreatePacket([0xC2]), "SlashWakeUp");
|
||||
Set(CreatePacket([0xD1, 0x01, 0x00, 0x01 ]), "SlashWakeUp");
|
||||
}
|
||||
|
||||
public void Init()
|
||||
{
|
||||
Set(Packet<SlashPacket>(0xD7, 0x00, 0x00, 0x01, 0xAC), "SlashInit");
|
||||
Set(Packet<SlashPacket>(0xD2, 0x02, 0x01, 0x08, 0xAB), "SlashInit");
|
||||
Set(CreatePacket([0xD7, 0x00, 0x00, 0x01, 0xAC]), "SlashInit");
|
||||
Set(CreatePacket([0xD2, 0x02, 0x01, 0x08, 0xAB]), "SlashInit");
|
||||
}
|
||||
|
||||
public void SetEnabled(bool status = true)
|
||||
{
|
||||
Set(Packet<SlashPacket>(0xD8, 0x02, 0x00, 0x01, status ? (byte)0x00 : (byte)0x80), $"SlashEnable {status}");
|
||||
Set(CreatePacket([0xD8, 0x02, 0x00, 0x01, status ? (byte)0x00 : (byte)0x80]), $"SlashEnable {status}");
|
||||
}
|
||||
|
||||
public void Save()
|
||||
{
|
||||
Set(Packet<SlashPacket>(0xD4, 0x00, 0x00, 0x01, 0xAB), "SlashSave");
|
||||
Set(CreatePacket([0xD4, 0x00, 0x00, 0x01, 0xAB]), "SlashSave");
|
||||
}
|
||||
|
||||
public void SetMode(SlashMode mode)
|
||||
@@ -125,8 +132,8 @@ namespace GHelper.AnimeMatrix
|
||||
modeByte = 0x00;
|
||||
}
|
||||
|
||||
Set(Packet<SlashPacket>(0xD2, 0x03, 0x00, 0x0C), "SlashMode");
|
||||
Set(Packet<SlashPacket>(0xD3, 0x04, 0x00, 0x0C, 0x01, modeByte, 0x02, 0x19, 0x03, 0x13, 0x04, 0x11, 0x05, 0x12, 0x06, 0x13), "SlashMode");
|
||||
Set(CreatePacket([0xD2, 0x03, 0x00, 0x0C]), "SlashMode");
|
||||
Set(CreatePacket([0xD3, 0x04, 0x00, 0x0C, 0x01, modeByte, 0x02, 0x19, 0x03, 0x13, 0x04, 0x11, 0x05, 0x12, 0x06, 0x13]), "SlashMode");
|
||||
}
|
||||
|
||||
public void SetStatic(int brightness = 0)
|
||||
@@ -135,23 +142,23 @@ namespace GHelper.AnimeMatrix
|
||||
}
|
||||
|
||||
public static double GetBatteryChargePercentage()
|
||||
{
|
||||
double batteryCharge = 0;
|
||||
try
|
||||
{
|
||||
double batteryCharge = 0;
|
||||
try
|
||||
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Battery");
|
||||
foreach (ManagementObject battery in searcher.Get())
|
||||
{
|
||||
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Battery");
|
||||
foreach (ManagementObject battery in searcher.Get())
|
||||
{
|
||||
batteryCharge = Convert.ToDouble(battery["EstimatedChargeRemaining"]);
|
||||
break; // Assuming only one battery
|
||||
}
|
||||
batteryCharge = Convert.ToDouble(battery["EstimatedChargeRemaining"]);
|
||||
break; // Assuming only one battery
|
||||
}
|
||||
catch (ManagementException e)
|
||||
{
|
||||
Console.WriteLine("An error occurred while querying for WMI data: " + e.Message);
|
||||
}
|
||||
return batteryCharge;
|
||||
}
|
||||
catch (ManagementException e)
|
||||
{
|
||||
Console.WriteLine("An error occurred while querying for WMI data: " + e.Message);
|
||||
}
|
||||
return batteryCharge;
|
||||
}
|
||||
|
||||
private byte[] GetBatteryPattern(int brightness, double percentage)
|
||||
{
|
||||
@@ -159,64 +166,77 @@ namespace GHelper.AnimeMatrix
|
||||
// set brightness to reflect battery's percentage within that range
|
||||
|
||||
int bracket = (int)Math.Floor(percentage / 14.2857);
|
||||
if(bracket >= 7) return Enumerable.Repeat((byte)(brightness * 85.333), 7).ToArray();
|
||||
|
||||
if (bracket >= 7) return Enumerable.Repeat((byte)(brightness * 85.333), 7).ToArray();
|
||||
|
||||
byte[] batteryPattern = Enumerable.Repeat((byte)(0x00), 7).ToArray();
|
||||
for (int i = 6; i > 6-bracket; i--)
|
||||
for (int i = 6; i > 6 - bracket; i--)
|
||||
{
|
||||
batteryPattern[i] = (byte)(brightness * 85.333);
|
||||
}
|
||||
|
||||
//set the "selected" bracket to the percentage of that bracket filled from 0 to 255 as a hex
|
||||
batteryPattern[6-bracket] = (byte)(((percentage % 14.2857) * brightness * 85.333) / 14.2857);
|
||||
batteryPattern[6 - bracket] = (byte)(((percentage % 14.2857) * brightness * 85.333) / 14.2857);
|
||||
|
||||
return batteryPattern;
|
||||
}
|
||||
|
||||
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(Packet<SlashPacket>(0xD2, 0x02, 0x01, 0x08, 0xAC), "Static");
|
||||
Set(Packet<SlashPacket>(0xD3, 0x03, 0x01, 0x08, 0xAC, 0xFF, 0xFF, 0x01, 0x05, 0xFF, 0xFF), "StaticSettings");
|
||||
Set(Packet<SlashPacket>(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(Packet<SlashPacket>(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)
|
||||
{
|
||||
byte brightnessByte = (byte)(brightness * 85.333);
|
||||
|
||||
Set(Packet<SlashPacket>(0xD3, 0x03, 0x01, 0x08, 0xAB, 0xFF, 0x01, status ? (byte)0x01 : (byte)0x00, 0x06, brightnessByte, 0xFF, (byte)interval), "SlashOptions");
|
||||
Set(CreatePacket([0xD3, 0x03, 0x01, 0x08, 0xAB, 0xFF, 0x01, status ? (byte)0x01 : (byte)0x00, 0x06, brightnessByte, 0xFF, (byte)interval]), "SlashOptions");
|
||||
}
|
||||
|
||||
public void SetBatterySaver(bool status)
|
||||
{
|
||||
Set(Packet<SlashPacket>(0xD8, 0x01, 0x00, 0x01, status ? (byte)0x80 : (byte)0x00), $"SlashBatterySaver {status}");
|
||||
Set(CreatePacket([0xD8, 0x01, 0x00, 0x01, status ? (byte)0x80 : (byte)0x00]), $"SlashBatterySaver {status}");
|
||||
}
|
||||
|
||||
public void SetLidMode(bool status)
|
||||
{
|
||||
Set(Packet<SlashPacket>(0xD8, 0x00, 0x00, 0x02, 0xA5, status ? (byte)0x80 : (byte)0x00), $"DisableLidClose {status}");
|
||||
Set(CreatePacket([0xD8, 0x00, 0x00, 0x02, 0xA5, status ? (byte)0x80 : (byte)0x00]), $"DisableLidClose {status}");
|
||||
}
|
||||
|
||||
public void SetSleepActive(bool status)
|
||||
{
|
||||
Set(Packet<SlashPacket>(0xD2, 0x02, 0x01, 0x08, 0xA1), "SleepInit");
|
||||
Set(Packet<SlashPacket>(0xD3, 0x03, 0x01, 0x08, 0xA1, 0x00, 0xFF, status ? (byte)0x01 : (byte)0x00, 0x02, 0xFF, 0xFF), $"Sleep {status}");
|
||||
Set(CreatePacket([0xD2, 0x02, 0x01, 0x08, 0xA1]), "SleepInit");
|
||||
Set(CreatePacket([0xD3, 0x03, 0x01, 0x08, 0xA1, 0x00, 0xFF, status ? (byte)0x01 : (byte)0x00, 0x02, 0xFF, 0xFF]), $"Sleep {status}");
|
||||
}
|
||||
|
||||
public void Set(Packet packet, string? log = null)
|
||||
{
|
||||
_usbProvider?.Set(packet.Data);
|
||||
if (log is not null) Logger.WriteLine($"{log}:" + BitConverter.ToString(packet.Data).Substring(0,48));
|
||||
if (log is not null) Logger.WriteLine($"{log}:" + BitConverter.ToString(packet.Data).Substring(0, 48));
|
||||
}
|
||||
}
|
||||
|
||||
public class SlashDeviceAura : SlashDevice
|
||||
{
|
||||
protected override byte reportID => 0x5D;
|
||||
|
||||
public SlashDeviceAura() : base(0x19B6)
|
||||
{
|
||||
}
|
||||
|
||||
protected override SlashPacket CreatePacket(byte[] command)
|
||||
{
|
||||
return new SlashPacket(command, reportID);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -41,10 +41,19 @@ public static class AppConfig
|
||||
{
|
||||
config = JsonSerializer.Deserialize<Dictionary<string, object>>(text);
|
||||
}
|
||||
catch
|
||||
catch (Exception ex)
|
||||
{
|
||||
Logger.WriteLine("Broken config: " + text);
|
||||
Init();
|
||||
Logger.WriteLine($"Broken config: {ex.Message} {text}");
|
||||
try
|
||||
{
|
||||
text = File.ReadAllText(configFile + ".bak");
|
||||
config = JsonSerializer.Deserialize<Dictionary<string, object>>(text);
|
||||
}
|
||||
catch (Exception exb)
|
||||
{
|
||||
Logger.WriteLine($"Broken backup config: {exb.Message} {text}");
|
||||
Init();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -196,6 +205,11 @@ public static class AppConfig
|
||||
return Get(name) != 0;
|
||||
}
|
||||
|
||||
public static bool IsOnBattery(string zone)
|
||||
{
|
||||
return Get(zone + "_bat", Get(zone)) != 0;
|
||||
}
|
||||
|
||||
public static string GetString(string name, string empty = null)
|
||||
{
|
||||
if (config.ContainsKey(name))
|
||||
@@ -372,10 +386,20 @@ public static class AppConfig
|
||||
return ContainsModel("Vivobook") || ContainsModel("Zenbook");
|
||||
}
|
||||
|
||||
public static bool IsVivoZenPro()
|
||||
{
|
||||
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");
|
||||
}
|
||||
|
||||
|
||||
@@ -387,22 +411,32 @@ 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 (ContainsModel("GA401I") && !ContainsModel("GA401IHR")) || ContainsModel("G712L");
|
||||
}
|
||||
|
||||
public static bool IsSingleColor()
|
||||
{
|
||||
return ContainsModel("GA401") || ContainsModel("FX517Z") || ContainsModel("FX516P") || ContainsModel("X13") || IsARCNM() || ContainsModel("GA502IU");
|
||||
return ContainsModel("GA401") || ContainsModel("FX517Z") || ContainsModel("FX516P") || ContainsModel("X13") || IsARCNM() || ContainsModel("GA502IU") || ContainsModel("FA617N") || ContainsModel("FA617X") || NoAura();
|
||||
}
|
||||
|
||||
public static bool IsSlash()
|
||||
{
|
||||
return ContainsModel("GA403") || ContainsModel("GU605");
|
||||
return ContainsModel("GA403") || ContainsModel("GU605") || ContainsModel("GA605");
|
||||
}
|
||||
|
||||
public static bool IsSlashAura()
|
||||
{
|
||||
return ContainsModel("GA605");
|
||||
}
|
||||
|
||||
public static bool IsInputBacklight()
|
||||
{
|
||||
return ContainsModel("GA503") || IsSlash();
|
||||
return ContainsModel("GA503") || IsSlash() || IsVivoZenPro();
|
||||
}
|
||||
|
||||
public static bool IsInvertedFNLock()
|
||||
@@ -412,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");
|
||||
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()
|
||||
@@ -430,16 +464,30 @@ public static class AppConfig
|
||||
return ContainsModel("Strix") || ContainsModel("Scar") || ContainsModel("G703G");
|
||||
}
|
||||
|
||||
public static bool IsAdvancedRGB()
|
||||
{
|
||||
return IsStrix() || ContainsModel("GX650");
|
||||
}
|
||||
|
||||
public static bool IsBacklightZones()
|
||||
{
|
||||
return IsStrix() || IsZ13();
|
||||
}
|
||||
|
||||
public static bool IsStrixLimitedRGB()
|
||||
{
|
||||
return ContainsModel("G512LI") || ContainsModel("G513R") || ContainsModel("G713PV") || ContainsModel("G513IE") || ContainsModel("G713RC") || ContainsModel("G513QM") || ContainsModel("G531G");
|
||||
}
|
||||
|
||||
public static bool Is4ZoneRGB()
|
||||
public static bool IsPossible4ZoneRGB()
|
||||
{
|
||||
return (ContainsModel("G614JI_") || ContainsModel("G614JV_") || ContainsModel("G614JZ") || IsStrixLimitedRGB()) && !Is("per_key_rgb");
|
||||
return ContainsModel("G614JI_") || ContainsModel("G614JV_") || ContainsModel("G614JZ") || IsStrixLimitedRGB();
|
||||
}
|
||||
|
||||
public static bool Is4ZoneRGB()
|
||||
{
|
||||
return IsPossible4ZoneRGB() && !Is("per_key_rgb");
|
||||
}
|
||||
|
||||
public static bool IsNoAirplaneMode()
|
||||
{
|
||||
@@ -498,7 +546,7 @@ public static class AppConfig
|
||||
|
||||
public static bool DynamicBoost20()
|
||||
{
|
||||
return ContainsModel("GU605");
|
||||
return ContainsModel("GU605") || ContainsModel("GA605");
|
||||
}
|
||||
|
||||
public static bool IsAdvantageEdition()
|
||||
@@ -508,7 +556,7 @@ public static class AppConfig
|
||||
|
||||
public static bool NoAutoUltimate()
|
||||
{
|
||||
return ContainsModel("G614") || ContainsModel("GU604") || ContainsModel("FX507") || ContainsModel("G513") || ContainsModel("FA617") || ContainsModel("G834") || ContainsModel("GA403") || ContainsModel("GU605");
|
||||
return ContainsModel("G614") || ContainsModel("GU604") || ContainsModel("FX507") || ContainsModel("G513") || ContainsModel("FA617") || ContainsModel("G834") || ContainsModel("GA403") || ContainsModel("GU605") || ContainsModel("GA605") || ContainsModel("GU603VV");
|
||||
}
|
||||
|
||||
|
||||
@@ -564,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()
|
||||
@@ -626,21 +674,21 @@ public static class AppConfig
|
||||
return IsAlly() || Is("stop_ac");
|
||||
}
|
||||
|
||||
public static bool IsChargeLimit80()
|
||||
{
|
||||
return ContainsModel("GA403UI");
|
||||
}
|
||||
|
||||
public static bool IsChargeLimit6080()
|
||||
{
|
||||
return ContainsModel("GA403UU") || ContainsModel("GA403UV") || ContainsModel("GU605") || ContainsModel("GA503R") || (IsTUF() && !(ContainsModel("FX507Z") || ContainsModel("FA617")));
|
||||
return ContainsModel("GA403U") || ContainsModel("GU605") || ContainsModel("GA605") || ContainsModel("GA503R") || (IsTUF() && !(ContainsModel("FX507Z") || ContainsModel("FA617")));
|
||||
|
||||
}
|
||||
|
||||
// 2024 Models support Dynamic Lighting
|
||||
public static bool IsDynamicLighting()
|
||||
{
|
||||
return IsSlash() || ContainsModel("JIR") || ContainsModel("JZR") || ContainsModel("JVR") || ContainsModel("JYR") || ContainsModel("FA607P") || ContainsModel("FX607J") || ContainsModel("FA507U");
|
||||
return IsSlash() || IsIntelHX() || ContainsModel("FA607P") || ContainsModel("FX607J") || ContainsModel("FA507U");
|
||||
}
|
||||
|
||||
public static bool IsForceMiniled()
|
||||
{
|
||||
return ContainsModel("G834JYR") || Is("force_miniled");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -46,6 +46,7 @@ public class AsusACPI
|
||||
|
||||
public const int KB_TouchpadToggle = 0x6b;
|
||||
public const int KB_MuteToggle = 0x7c;
|
||||
public const int KB_FNlockToggle = 0x4e;
|
||||
|
||||
public const int KB_DUO_PgUpDn = 0x4B;
|
||||
public const int KB_DUO_SecondDisplay = 0x6A;
|
||||
@@ -66,12 +67,13 @@ public class AsusACPI
|
||||
public const uint PerformanceMode = 0x00120075; // Performance modes
|
||||
public const uint VivoBookMode = 0x00110019; // Vivobook performance modes
|
||||
|
||||
public const uint GPUEco = 0x00090020;
|
||||
public const uint GPUEcoROG = 0x00090020;
|
||||
public const uint GPUEcoVivo = 0x00090120;
|
||||
|
||||
public const uint GPUXGConnected = 0x00090018;
|
||||
public const uint GPUXG = 0x00090019;
|
||||
|
||||
public const uint GPUMux = 0x00090016;
|
||||
public const uint GPUMuxROG = 0x00090016;
|
||||
public const uint GPUMuxVivo = 0x00090026;
|
||||
|
||||
public const uint BatteryLimit = 0x00120057;
|
||||
@@ -112,8 +114,11 @@ 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 TUF_KB = 0x00100056;
|
||||
public const int TUF_KB2 = 0x0010005a;
|
||||
|
||||
public const int TUF_KB_STATE = 0x00100057;
|
||||
|
||||
public const int MicMuteLed = 0x00040017;
|
||||
@@ -170,6 +175,8 @@ public class AsusACPI
|
||||
private bool? _allAMD = null;
|
||||
private bool? _overdrive = null;
|
||||
|
||||
public static uint GPUEco => AppConfig.IsVivoZenPro() ? GPUEcoVivo : GPUEcoROG;
|
||||
public static uint GPUMux => AppConfig.IsVivoZenPro() ? GPUMuxVivo : GPUMuxROG;
|
||||
|
||||
[DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Unicode)]
|
||||
private static extern IntPtr CreateFile(
|
||||
@@ -445,14 +452,16 @@ public class AsusACPI
|
||||
|
||||
public int SetGPUEco(int eco)
|
||||
{
|
||||
int ecoFlag = DeviceGet(GPUEco);
|
||||
uint ecoEndpoint = GPUEco;
|
||||
|
||||
int ecoFlag = DeviceGet(ecoEndpoint);
|
||||
if (ecoFlag < 0) return -1;
|
||||
|
||||
if (ecoFlag == 1 && eco == 0)
|
||||
return DeviceSet(GPUEco, eco, "GPUEco");
|
||||
return DeviceSet(ecoEndpoint, eco, "GPUEco");
|
||||
|
||||
if (ecoFlag == 0 && eco == 1)
|
||||
return DeviceSet(GPUEco, eco, "GPUEco");
|
||||
return DeviceSet(ecoEndpoint, eco, "GPUEco");
|
||||
|
||||
return -1;
|
||||
}
|
||||
@@ -639,7 +648,7 @@ public class AsusACPI
|
||||
|
||||
public bool IsAllAmdPPT()
|
||||
{
|
||||
if (_allAMD is null) _allAMD = DeviceGet(PPT_CPUB0) >= 0 && DeviceGet(PPT_GPUC0) < 0;
|
||||
if (_allAMD is null) _allAMD = DeviceGet(PPT_CPUB0) >= 0 && DeviceGet(PPT_GPUC0) < 0 && !AppConfig.IsAlly();
|
||||
return (bool)_allAMD;
|
||||
}
|
||||
|
||||
@@ -779,6 +788,8 @@ 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");
|
||||
|
||||
}
|
||||
|
||||
public void TUFKeyboardRGB(AuraMode mode, Color color, int speed, string? log = "TUF RGB")
|
||||
@@ -794,7 +805,13 @@ public class AsusACPI
|
||||
setting[5] = (byte)speed;
|
||||
|
||||
int result = DeviceSet(TUF_KB, setting, log);
|
||||
if (result != 1) DeviceSet(TUF_KB2, setting, log);
|
||||
if (result != 1)
|
||||
{
|
||||
setting[0] = (byte)0xb3;
|
||||
DeviceSet(TUF_KB2, setting, log);
|
||||
setting[0] = (byte)0xb4;
|
||||
DeviceSet(TUF_KB2, setting, log);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -36,7 +36,13 @@ namespace GHelper.AutoUpdate
|
||||
|
||||
public void LoadReleases()
|
||||
{
|
||||
Process.Start(new ProcessStartInfo(versionUrl) { UseShellExecute = true });
|
||||
try
|
||||
{
|
||||
Process.Start(new ProcessStartInfo(versionUrl) { UseShellExecute = true });
|
||||
} catch (Exception ex)
|
||||
{
|
||||
Logger.WriteLine("Failed to open releases page:" + ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
async void CheckForUpdatesAsync()
|
||||
|
||||
@@ -36,11 +36,6 @@ namespace GHelper.Battery
|
||||
if (limit < 0) limit = AppConfig.Get("charge_limit");
|
||||
if (limit < 40 || limit > 100) return;
|
||||
|
||||
if (AppConfig.IsChargeLimit80())
|
||||
{
|
||||
limit = (limit <= 80) ? 80 : 100;
|
||||
}
|
||||
|
||||
if (AppConfig.IsChargeLimit6080())
|
||||
{
|
||||
if (limit > 80) limit = 100;
|
||||
|
||||
@@ -16,7 +16,10 @@ namespace GHelper.Display
|
||||
var modes = new DISPLAYCONFIG_MODE_INFO[modeCount];
|
||||
err = QueryDisplayConfig(QDC.QDC_ONLY_ACTIVE_PATHS, ref pathCount, paths, ref modeCount, modes, IntPtr.Zero);
|
||||
if (err != 0)
|
||||
throw new Win32Exception(err);
|
||||
{
|
||||
Logger.WriteLine("HDR Detection Error: " + new Win32Exception(err).Message);
|
||||
return false;
|
||||
}
|
||||
|
||||
string internalName = AppConfig.GetString("internal_display");
|
||||
|
||||
|
||||
@@ -60,6 +60,13 @@ namespace GHelper.Display
|
||||
}
|
||||
}
|
||||
|
||||
SetMiniled(miniled);
|
||||
|
||||
InitScreen();
|
||||
}
|
||||
|
||||
public void SetMiniled(int miniled = -1)
|
||||
{
|
||||
if (miniled >= 0)
|
||||
{
|
||||
if (Program.acpi.DeviceGet(AsusACPI.ScreenMiniled1) >= 0)
|
||||
@@ -70,8 +77,12 @@ namespace GHelper.Display
|
||||
Thread.Sleep(100);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
InitScreen();
|
||||
public void InitMiniled()
|
||||
{
|
||||
if (AppConfig.IsForceMiniled())
|
||||
SetMiniled(AppConfig.Get("miniled"));
|
||||
}
|
||||
|
||||
public void ToogleFHD()
|
||||
@@ -142,6 +153,9 @@ namespace GHelper.Display
|
||||
int frequency = ScreenNative.GetRefreshRate(laptopScreen);
|
||||
int maxFrequency = ScreenNative.GetMaxRefreshRate(laptopScreen);
|
||||
|
||||
if (maxFrequency > 0) AppConfig.Set("max_frequency", maxFrequency);
|
||||
else maxFrequency = AppConfig.Get("max_frequency");
|
||||
|
||||
bool screenAuto = AppConfig.Is("screen_auto");
|
||||
bool overdriveSetting = Program.acpi.IsOverdriveSupported() && !AppConfig.IsNoOverdrive();
|
||||
|
||||
|
||||
@@ -51,6 +51,8 @@ namespace GHelper.Display
|
||||
public const int DefaultColorTemp = 50;
|
||||
|
||||
public static bool forceVisual = false;
|
||||
public static bool skipGamut = false;
|
||||
|
||||
static VisualControl()
|
||||
{
|
||||
brightnessTimer.Elapsed += BrightnessTimerTimer_Elapsed;
|
||||
@@ -68,13 +70,13 @@ namespace GHelper.Display
|
||||
|
||||
public static SplendidGamut GetDefaultGamut()
|
||||
{
|
||||
return AppConfig.IsVivoZenbook() ? SplendidGamut.VivoNative : SplendidGamut.Native;
|
||||
return AppConfig.IsVivoZenPro() ? SplendidGamut.VivoNative : SplendidGamut.Native;
|
||||
}
|
||||
|
||||
public static Dictionary<SplendidGamut, string> GetGamutModes()
|
||||
{
|
||||
|
||||
bool isVivo = AppConfig.IsVivoZenbook();
|
||||
bool isVivo = AppConfig.IsVivoZenPro();
|
||||
|
||||
Dictionary<SplendidGamut, string> _modes = new Dictionary<SplendidGamut, string>();
|
||||
|
||||
@@ -96,14 +98,49 @@ namespace GHelper.Display
|
||||
foreach (FileInfo icm in icms)
|
||||
{
|
||||
//Logger.WriteLine(icm.FullName);
|
||||
if (icm.Name.Contains("sRGB")) _modes.Add(isVivo ? SplendidGamut.VivoSRGB : SplendidGamut.sRGB, "Gamut: sRGB");
|
||||
if (icm.Name.Contains("DCIP3")) _modes.Add(isVivo ? SplendidGamut.VivoDCIP3 : SplendidGamut.DCIP3, "Gamut: DCIP3");
|
||||
if (icm.Name.Contains("DisplayP3")) _modes.Add(isVivo ? SplendidGamut.ViviDisplayP3 : SplendidGamut.DisplayP3, "Gamut: DisplayP3");
|
||||
|
||||
if (icm.Name.Contains("sRGB"))
|
||||
{
|
||||
try
|
||||
{
|
||||
_modes.Add(isVivo ? SplendidGamut.VivoSRGB : SplendidGamut.sRGB, "Gamut: sRGB");
|
||||
Logger.WriteLine(icm.FullName + " sRGB");
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
if (icm.Name.Contains("DCIP3"))
|
||||
{
|
||||
try
|
||||
{
|
||||
_modes.Add(isVivo ? SplendidGamut.VivoDCIP3 : SplendidGamut.DCIP3, "Gamut: DCIP3");
|
||||
Logger.WriteLine(icm.FullName + " DCIP3");
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
if (icm.Name.Contains("DisplayP3"))
|
||||
{
|
||||
try
|
||||
{
|
||||
_modes.Add(isVivo ? SplendidGamut.ViviDisplayP3 : SplendidGamut.DisplayP3, "Gamut: DisplayP3");
|
||||
Logger.WriteLine(icm.FullName + " DisplayP3");
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
return _modes;
|
||||
}
|
||||
catch
|
||||
catch (Exception ex)
|
||||
{
|
||||
//Logger.WriteLine(ex.Message);
|
||||
Logger.WriteLine(ex.ToString());
|
||||
return _modes;
|
||||
}
|
||||
|
||||
@@ -111,13 +148,13 @@ namespace GHelper.Display
|
||||
|
||||
public static SplendidCommand GetDefaultVisualMode()
|
||||
{
|
||||
return AppConfig.IsVivoZenbook() ? SplendidCommand.VivoNormal : SplendidCommand.Default;
|
||||
return AppConfig.IsVivoZenPro() ? SplendidCommand.VivoNormal : SplendidCommand.Default;
|
||||
}
|
||||
|
||||
public static Dictionary<SplendidCommand, string> GetVisualModes()
|
||||
{
|
||||
|
||||
if (AppConfig.IsVivoZenbook())
|
||||
if (AppConfig.IsVivoZenPro())
|
||||
{
|
||||
return new Dictionary<SplendidCommand, string>
|
||||
{
|
||||
@@ -169,6 +206,7 @@ namespace GHelper.Display
|
||||
|
||||
public static void SetGamut(int mode = -1)
|
||||
{
|
||||
if (skipGamut) return;
|
||||
if (mode < 0) mode = (int)GetDefaultGamut();
|
||||
|
||||
AppConfig.Set("gamut", mode);
|
||||
@@ -197,8 +235,9 @@ namespace GHelper.Display
|
||||
if (whiteBalance != DefaultColorTemp && !init) ProcessHelper.RunAsAdmin();
|
||||
|
||||
int? balance;
|
||||
|
||||
switch (mode) {
|
||||
|
||||
switch (mode)
|
||||
{
|
||||
case SplendidCommand.Eyecare:
|
||||
balance = 2;
|
||||
break;
|
||||
@@ -252,7 +291,7 @@ namespace GHelper.Display
|
||||
private static bool RunSplendid(SplendidCommand command, int? param1 = null, int? param2 = null)
|
||||
{
|
||||
var splendid = GetSplendidPath();
|
||||
bool isVivo = AppConfig.IsVivoZenbook();
|
||||
bool isVivo = AppConfig.IsVivoZenPro();
|
||||
bool isSplenddid = File.Exists(splendid);
|
||||
|
||||
if (isSplenddid)
|
||||
@@ -296,10 +335,23 @@ namespace GHelper.Display
|
||||
brightnessTimer.Start();
|
||||
|
||||
Program.settingsForm.VisualiseBrightness();
|
||||
//if (brightness < 100) ResetGamut();
|
||||
|
||||
return _brightness;
|
||||
}
|
||||
|
||||
public static void ResetGamut()
|
||||
{
|
||||
int defaultGamut = (int)GetDefaultGamut();
|
||||
|
||||
if (AppConfig.Get("gamut") != defaultGamut)
|
||||
{
|
||||
skipGamut = true;
|
||||
AppConfig.Set("gamut", defaultGamut);
|
||||
Program.settingsForm.VisualiseGamut();
|
||||
skipGamut = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static void SetGamma(int brightness = 100)
|
||||
|
||||
129
app/Extra.Designer.cs
generated
129
app/Extra.Designer.cs
generated
@@ -117,6 +117,7 @@ namespace GHelper
|
||||
checkGpuApps = new CheckBox();
|
||||
checkGPUFix = new CheckBox();
|
||||
checkStatusLed = new CheckBox();
|
||||
checkPerKeyRGB = new CheckBox();
|
||||
panelPower = new Panel();
|
||||
numericHibernateAfter = new NumericUpDown();
|
||||
labelHibernateAfter = new Label();
|
||||
@@ -138,6 +139,10 @@ namespace GHelper
|
||||
buttonACPISend = new RButton();
|
||||
pictureDebug = new PictureBox();
|
||||
labelACPITitle = new Label();
|
||||
checkBatteryBar = new CheckBox();
|
||||
checkBatteryLid = new CheckBox();
|
||||
checkBattery = new CheckBox();
|
||||
checkBatteryLogo = new CheckBox();
|
||||
panelServices.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)pictureService).BeginInit();
|
||||
panelBindingsHeader.SuspendLayout();
|
||||
@@ -176,7 +181,7 @@ namespace GHelper
|
||||
panelServices.Controls.Add(labelServices);
|
||||
panelServices.Controls.Add(buttonServices);
|
||||
panelServices.Dock = DockStyle.Top;
|
||||
panelServices.Location = new Point(15, 1638);
|
||||
panelServices.Location = new Point(15, 1723);
|
||||
panelServices.Name = "panelServices";
|
||||
panelServices.Size = new Size(949, 75);
|
||||
panelServices.TabIndex = 5;
|
||||
@@ -681,7 +686,7 @@ namespace GHelper
|
||||
panelBacklight.Location = new Point(15, 514);
|
||||
panelBacklight.Name = "panelBacklight";
|
||||
panelBacklight.Padding = new Padding(0, 5, 0, 5);
|
||||
panelBacklight.Size = new Size(949, 402);
|
||||
panelBacklight.Size = new Size(949, 445);
|
||||
panelBacklight.TabIndex = 2;
|
||||
//
|
||||
// panelBacklightExtra
|
||||
@@ -694,7 +699,7 @@ namespace GHelper
|
||||
panelBacklightExtra.Controls.Add(labelSpeed);
|
||||
panelBacklightExtra.Controls.Add(comboKeyboardSpeed);
|
||||
panelBacklightExtra.Dock = DockStyle.Top;
|
||||
panelBacklightExtra.Location = new Point(0, 282);
|
||||
panelBacklightExtra.Location = new Point(0, 325);
|
||||
panelBacklightExtra.Margin = new Padding(4, 3, 4, 3);
|
||||
panelBacklightExtra.Name = "panelBacklightExtra";
|
||||
panelBacklightExtra.Padding = new Padding(0, 0, 0, 5);
|
||||
@@ -760,7 +765,7 @@ namespace GHelper
|
||||
//
|
||||
panelXMG.Controls.Add(checkXMG);
|
||||
panelXMG.Dock = DockStyle.Top;
|
||||
panelXMG.Location = new Point(0, 222);
|
||||
panelXMG.Location = new Point(0, 265);
|
||||
panelXMG.Margin = new Padding(4, 3, 4, 3);
|
||||
panelXMG.Name = "panelXMG";
|
||||
panelXMG.Size = new Size(949, 60);
|
||||
@@ -786,37 +791,47 @@ namespace GHelper
|
||||
tableBacklight.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25F));
|
||||
tableBacklight.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25F));
|
||||
tableBacklight.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25F));
|
||||
|
||||
tableBacklight.Controls.Add(labelBacklightKeyboard, 0, 0);
|
||||
tableBacklight.Controls.Add(checkAwake, 0, 1);
|
||||
tableBacklight.Controls.Add(checkBoot, 0, 2);
|
||||
tableBacklight.Controls.Add(checkSleep, 0, 3);
|
||||
tableBacklight.Controls.Add(checkShutdown, 0, 4);
|
||||
tableBacklight.Controls.Add(checkBattery, 0, 5);
|
||||
|
||||
tableBacklight.Controls.Add(labelBacklightLogo, 1, 0);
|
||||
tableBacklight.Controls.Add(checkAwakeLogo, 1, 1);
|
||||
tableBacklight.Controls.Add(checkBootLogo, 1, 2);
|
||||
tableBacklight.Controls.Add(checkSleepLogo, 1, 3);
|
||||
tableBacklight.Controls.Add(checkShutdownLogo, 1, 4);
|
||||
tableBacklight.Controls.Add(checkBatteryLogo, 1, 5);
|
||||
|
||||
tableBacklight.Controls.Add(labelBacklightBar, 2, 0);
|
||||
tableBacklight.Controls.Add(checkAwakeBar, 2, 1);
|
||||
tableBacklight.Controls.Add(checkBootBar, 2, 2);
|
||||
tableBacklight.Controls.Add(checkSleepBar, 2, 3);
|
||||
tableBacklight.Controls.Add(checkShutdownBar, 2, 4);
|
||||
tableBacklight.Controls.Add(checkBatteryBar, 2, 5);
|
||||
|
||||
tableBacklight.Controls.Add(labelBacklightLid, 3, 0);
|
||||
tableBacklight.Controls.Add(checkAwakeLid, 3, 1);
|
||||
tableBacklight.Controls.Add(checkBootLid, 3, 2);
|
||||
tableBacklight.Controls.Add(checkSleepLid, 3, 3);
|
||||
tableBacklight.Controls.Add(checkShutdownLid, 3, 4);
|
||||
tableBacklight.Controls.Add(checkBatteryLid, 3, 5);
|
||||
|
||||
tableBacklight.Dock = DockStyle.Top;
|
||||
tableBacklight.Location = new Point(0, 5);
|
||||
tableBacklight.Margin = new Padding(0);
|
||||
tableBacklight.Name = "tableBacklight";
|
||||
tableBacklight.RowCount = 5;
|
||||
tableBacklight.RowCount = 6;
|
||||
tableBacklight.RowStyles.Add(new RowStyle());
|
||||
tableBacklight.RowStyles.Add(new RowStyle());
|
||||
tableBacklight.RowStyles.Add(new RowStyle());
|
||||
tableBacklight.RowStyles.Add(new RowStyle());
|
||||
tableBacklight.RowStyles.Add(new RowStyle());
|
||||
tableBacklight.Size = new Size(949, 217);
|
||||
tableBacklight.RowStyles.Add(new RowStyle());
|
||||
tableBacklight.Size = new Size(949, 260);
|
||||
tableBacklight.TabIndex = 44;
|
||||
//
|
||||
// labelBacklightKeyboard
|
||||
@@ -1068,7 +1083,7 @@ namespace GHelper
|
||||
panelSettingsHeader.Controls.Add(pictureSettings);
|
||||
panelSettingsHeader.Controls.Add(labelSettings);
|
||||
panelSettingsHeader.Dock = DockStyle.Top;
|
||||
panelSettingsHeader.Location = new Point(15, 916);
|
||||
panelSettingsHeader.Location = new Point(15, 959);
|
||||
panelSettingsHeader.Name = "panelSettingsHeader";
|
||||
panelSettingsHeader.Padding = new Padding(11, 5, 11, 5);
|
||||
panelSettingsHeader.Size = new Size(949, 51);
|
||||
@@ -1136,18 +1151,19 @@ namespace GHelper
|
||||
panelSettings.Controls.Add(checkGpuApps);
|
||||
panelSettings.Controls.Add(checkGPUFix);
|
||||
panelSettings.Controls.Add(checkStatusLed);
|
||||
panelSettings.Controls.Add(checkPerKeyRGB);
|
||||
panelSettings.Dock = DockStyle.Top;
|
||||
panelSettings.Location = new Point(15, 1154);
|
||||
panelSettings.Location = new Point(15, 1197);
|
||||
panelSettings.Name = "panelSettings";
|
||||
panelSettings.Padding = new Padding(20, 5, 11, 5);
|
||||
panelSettings.Size = new Size(949, 430);
|
||||
panelSettings.Size = new Size(949, 472);
|
||||
panelSettings.TabIndex = 3;
|
||||
//
|
||||
// checkAutoToggleClamshellMode
|
||||
//
|
||||
checkAutoToggleClamshellMode.AutoSize = true;
|
||||
checkAutoToggleClamshellMode.Dock = DockStyle.Top;
|
||||
checkAutoToggleClamshellMode.Location = new Point(20, 383);
|
||||
checkAutoToggleClamshellMode.Location = new Point(20, 425);
|
||||
checkAutoToggleClamshellMode.Name = "checkAutoToggleClamshellMode";
|
||||
checkAutoToggleClamshellMode.Padding = new Padding(3);
|
||||
checkAutoToggleClamshellMode.Size = new Size(918, 42);
|
||||
@@ -1159,7 +1175,7 @@ namespace GHelper
|
||||
//
|
||||
checkBWIcon.AutoSize = true;
|
||||
checkBWIcon.Dock = DockStyle.Top;
|
||||
checkBWIcon.Location = new Point(20, 341);
|
||||
checkBWIcon.Location = new Point(20, 383);
|
||||
checkBWIcon.Margin = new Padding(4, 3, 4, 3);
|
||||
checkBWIcon.Name = "checkBWIcon";
|
||||
checkBWIcon.Padding = new Padding(3);
|
||||
@@ -1172,7 +1188,7 @@ namespace GHelper
|
||||
//
|
||||
checkTopmost.AutoSize = true;
|
||||
checkTopmost.Dock = DockStyle.Top;
|
||||
checkTopmost.Location = new Point(20, 299);
|
||||
checkTopmost.Location = new Point(20, 341);
|
||||
checkTopmost.Margin = new Padding(4, 3, 4, 3);
|
||||
checkTopmost.Name = "checkTopmost";
|
||||
checkTopmost.Padding = new Padding(3);
|
||||
@@ -1185,7 +1201,7 @@ namespace GHelper
|
||||
//
|
||||
checkNoOverdrive.AutoSize = true;
|
||||
checkNoOverdrive.Dock = DockStyle.Top;
|
||||
checkNoOverdrive.Location = new Point(20, 257);
|
||||
checkNoOverdrive.Location = new Point(20, 299);
|
||||
checkNoOverdrive.Margin = new Padding(4, 3, 4, 3);
|
||||
checkNoOverdrive.Name = "checkNoOverdrive";
|
||||
checkNoOverdrive.Padding = new Padding(3);
|
||||
@@ -1198,7 +1214,7 @@ namespace GHelper
|
||||
//
|
||||
checkBootSound.AutoSize = true;
|
||||
checkBootSound.Dock = DockStyle.Top;
|
||||
checkBootSound.Location = new Point(20, 215);
|
||||
checkBootSound.Location = new Point(20, 257);
|
||||
checkBootSound.Margin = new Padding(4, 3, 4, 3);
|
||||
checkBootSound.Name = "checkBootSound";
|
||||
checkBootSound.Padding = new Padding(3);
|
||||
@@ -1211,7 +1227,7 @@ namespace GHelper
|
||||
//
|
||||
checkUSBC.AutoSize = true;
|
||||
checkUSBC.Dock = DockStyle.Top;
|
||||
checkUSBC.Location = new Point(20, 173);
|
||||
checkUSBC.Location = new Point(20, 215);
|
||||
checkUSBC.Margin = new Padding(4, 3, 4, 3);
|
||||
checkUSBC.Name = "checkUSBC";
|
||||
checkUSBC.Padding = new Padding(3);
|
||||
@@ -1224,7 +1240,7 @@ namespace GHelper
|
||||
//
|
||||
checkVariBright.AutoSize = true;
|
||||
checkVariBright.Dock = DockStyle.Top;
|
||||
checkVariBright.Location = new Point(20, 131);
|
||||
checkVariBright.Location = new Point(20, 173);
|
||||
checkVariBright.Margin = new Padding(4, 3, 4, 3);
|
||||
checkVariBright.Name = "checkVariBright";
|
||||
checkVariBright.Padding = new Padding(3);
|
||||
@@ -1237,7 +1253,7 @@ namespace GHelper
|
||||
//
|
||||
checkGpuApps.AutoSize = true;
|
||||
checkGpuApps.Dock = DockStyle.Top;
|
||||
checkGpuApps.Location = new Point(20, 89);
|
||||
checkGpuApps.Location = new Point(20, 131);
|
||||
checkGpuApps.Margin = new Padding(4, 3, 4, 3);
|
||||
checkGpuApps.Name = "checkGpuApps";
|
||||
checkGpuApps.Padding = new Padding(3);
|
||||
@@ -1250,7 +1266,7 @@ namespace GHelper
|
||||
//
|
||||
checkGPUFix.AutoSize = true;
|
||||
checkGPUFix.Dock = DockStyle.Top;
|
||||
checkGPUFix.Location = new Point(20, 47);
|
||||
checkGPUFix.Location = new Point(20, 89);
|
||||
checkGPUFix.Margin = new Padding(4, 3, 4, 3);
|
||||
checkGPUFix.Name = "checkGPUFix";
|
||||
checkGPUFix.Padding = new Padding(3);
|
||||
@@ -1263,7 +1279,7 @@ namespace GHelper
|
||||
//
|
||||
checkStatusLed.AutoSize = true;
|
||||
checkStatusLed.Dock = DockStyle.Top;
|
||||
checkStatusLed.Location = new Point(20, 5);
|
||||
checkStatusLed.Location = new Point(20, 47);
|
||||
checkStatusLed.Margin = new Padding(4, 3, 4, 3);
|
||||
checkStatusLed.Name = "checkStatusLed";
|
||||
checkStatusLed.Padding = new Padding(3);
|
||||
@@ -1273,13 +1289,27 @@ namespace GHelper
|
||||
checkStatusLed.UseVisualStyleBackColor = true;
|
||||
checkStatusLed.Visible = false;
|
||||
//
|
||||
// checkPerKeyRGB
|
||||
//
|
||||
checkPerKeyRGB.AutoSize = true;
|
||||
checkPerKeyRGB.Dock = DockStyle.Top;
|
||||
checkPerKeyRGB.Location = new Point(20, 5);
|
||||
checkPerKeyRGB.Margin = new Padding(4, 3, 4, 3);
|
||||
checkPerKeyRGB.Name = "checkPerKeyRGB";
|
||||
checkPerKeyRGB.Padding = new Padding(3);
|
||||
checkPerKeyRGB.Size = new Size(918, 42);
|
||||
checkPerKeyRGB.TabIndex = 13;
|
||||
checkPerKeyRGB.Text = "Per-Key RGB Keyboard";
|
||||
checkPerKeyRGB.UseVisualStyleBackColor = true;
|
||||
checkPerKeyRGB.Visible = false;
|
||||
//
|
||||
// panelPower
|
||||
//
|
||||
panelPower.Controls.Add(numericHibernateAfter);
|
||||
panelPower.Controls.Add(labelHibernateAfter);
|
||||
panelPower.Controls.Add(pictureHibernate);
|
||||
panelPower.Dock = DockStyle.Top;
|
||||
panelPower.Location = new Point(15, 1584);
|
||||
panelPower.Location = new Point(15, 1669);
|
||||
panelPower.Name = "panelPower";
|
||||
panelPower.Size = new Size(949, 54);
|
||||
panelPower.TabIndex = 4;
|
||||
@@ -1322,7 +1352,7 @@ namespace GHelper
|
||||
panelAPU.Controls.Add(pictureAPUMem);
|
||||
panelAPU.Controls.Add(labelAPUMem);
|
||||
panelAPU.Dock = DockStyle.Top;
|
||||
panelAPU.Location = new Point(15, 1097);
|
||||
panelAPU.Location = new Point(15, 1140);
|
||||
panelAPU.Name = "panelAPU";
|
||||
panelAPU.Padding = new Padding(11, 5, 11, 0);
|
||||
panelAPU.Size = new Size(949, 57);
|
||||
@@ -1376,7 +1406,7 @@ namespace GHelper
|
||||
panelCores.Controls.Add(pictureCores);
|
||||
panelCores.Controls.Add(label1);
|
||||
panelCores.Dock = DockStyle.Top;
|
||||
panelCores.Location = new Point(15, 1036);
|
||||
panelCores.Location = new Point(15, 1079);
|
||||
panelCores.Name = "panelCores";
|
||||
panelCores.Padding = new Padding(11, 5, 11, 0);
|
||||
panelCores.Size = new Size(949, 61);
|
||||
@@ -1461,7 +1491,7 @@ namespace GHelper
|
||||
panelACPI.Controls.Add(pictureDebug);
|
||||
panelACPI.Controls.Add(labelACPITitle);
|
||||
panelACPI.Dock = DockStyle.Top;
|
||||
panelACPI.Location = new Point(15, 967);
|
||||
panelACPI.Location = new Point(15, 1010);
|
||||
panelACPI.Name = "panelACPI";
|
||||
panelACPI.Padding = new Padding(11, 5, 11, 0);
|
||||
panelACPI.Size = new Size(949, 69);
|
||||
@@ -1525,6 +1555,54 @@ namespace GHelper
|
||||
labelACPITitle.TabIndex = 0;
|
||||
labelACPITitle.Text = "ACPI DEVS Test";
|
||||
//
|
||||
// checkBatteryBar
|
||||
//
|
||||
checkBatteryBar.Dock = DockStyle.Fill;
|
||||
checkBatteryBar.Location = new Point(478, 217);
|
||||
checkBatteryBar.Margin = new Padding(4, 0, 4, 0);
|
||||
checkBatteryBar.Name = "checkBatteryBar";
|
||||
checkBatteryBar.Padding = new Padding(16, 3, 7, 3);
|
||||
checkBatteryBar.Size = new Size(229, 43);
|
||||
checkBatteryBar.TabIndex = 22;
|
||||
checkBatteryBar.Text = "Battery";
|
||||
checkBatteryBar.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// checkBatteryLid
|
||||
//
|
||||
checkBatteryLid.Dock = DockStyle.Fill;
|
||||
checkBatteryLid.Location = new Point(715, 217);
|
||||
checkBatteryLid.Margin = new Padding(4, 0, 4, 0);
|
||||
checkBatteryLid.Name = "checkBatteryLid";
|
||||
checkBatteryLid.Padding = new Padding(16, 3, 7, 3);
|
||||
checkBatteryLid.Size = new Size(230, 43);
|
||||
checkBatteryLid.TabIndex = 23;
|
||||
checkBatteryLid.Text = "Battery";
|
||||
checkBatteryLid.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// checkBattery
|
||||
//
|
||||
checkBattery.Dock = DockStyle.Fill;
|
||||
checkBattery.Location = new Point(4, 217);
|
||||
checkBattery.Margin = new Padding(4, 0, 4, 0);
|
||||
checkBattery.Name = "checkBattery";
|
||||
checkBattery.Padding = new Padding(16, 3, 7, 3);
|
||||
checkBattery.Size = new Size(229, 43);
|
||||
checkBattery.TabIndex = 24;
|
||||
checkBattery.Text = "Battery";
|
||||
checkBattery.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// checkBatteryLogo
|
||||
//
|
||||
checkBatteryLogo.Dock = DockStyle.Fill;
|
||||
checkBatteryLogo.Location = new Point(241, 217);
|
||||
checkBatteryLogo.Margin = new Padding(4, 0, 4, 0);
|
||||
checkBatteryLogo.Name = "checkBatteryLogo";
|
||||
checkBatteryLogo.Padding = new Padding(16, 3, 7, 3);
|
||||
checkBatteryLogo.Size = new Size(229, 43);
|
||||
checkBatteryLogo.TabIndex = 25;
|
||||
checkBatteryLogo.Text = "Battery";
|
||||
checkBatteryLogo.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// Extra
|
||||
//
|
||||
AutoScaleDimensions = new SizeF(192F, 192F);
|
||||
@@ -1709,5 +1787,10 @@ namespace GHelper
|
||||
private Label labelACPITitle;
|
||||
private CheckBox checkBWIcon;
|
||||
private CheckBox checkStatusLed;
|
||||
private CheckBox checkPerKeyRGB;
|
||||
private CheckBox checkBatteryLogo;
|
||||
private CheckBox checkBattery;
|
||||
private CheckBox checkBatteryLid;
|
||||
private CheckBox checkBatteryBar;
|
||||
}
|
||||
}
|
||||
40
app/Extra.cs
40
app/Extra.cs
@@ -203,7 +203,7 @@ namespace GHelper
|
||||
labelFNF4.Visible = comboFNF4.Visible = textFNF4.Visible = false;
|
||||
}
|
||||
|
||||
if (AppConfig.NoAura())
|
||||
if (AppConfig.MediaKeys())
|
||||
{
|
||||
labelFNF4.Visible = comboFNF4.Visible = textFNF4.Visible = false;
|
||||
}
|
||||
@@ -298,55 +298,64 @@ namespace GHelper
|
||||
|
||||
// Keyboard
|
||||
checkAwake.Checked = AppConfig.IsNotFalse("keyboard_awake");
|
||||
checkBattery.Checked = AppConfig.IsOnBattery("keyboard_awake");
|
||||
checkBoot.Checked = AppConfig.IsNotFalse("keyboard_boot");
|
||||
checkSleep.Checked = AppConfig.IsNotFalse("keyboard_sleep");
|
||||
checkShutdown.Checked = AppConfig.IsNotFalse("keyboard_shutdown");
|
||||
|
||||
// Lightbar
|
||||
checkAwakeBar.Checked = AppConfig.IsNotFalse("keyboard_awake_bar");
|
||||
checkBatteryBar.Checked = AppConfig.IsOnBattery("keyboard_awake_bar");
|
||||
checkBootBar.Checked = AppConfig.IsNotFalse("keyboard_boot_bar");
|
||||
checkSleepBar.Checked = AppConfig.IsNotFalse("keyboard_sleep_bar");
|
||||
checkShutdownBar.Checked = AppConfig.IsNotFalse("keyboard_shutdown_bar");
|
||||
|
||||
// Lid
|
||||
checkAwakeLid.Checked = AppConfig.IsNotFalse("keyboard_awake_lid");
|
||||
checkBatteryLid.Checked = AppConfig.IsOnBattery("keyboard_awake_lid");
|
||||
checkBootLid.Checked = AppConfig.IsNotFalse("keyboard_boot_lid");
|
||||
checkSleepLid.Checked = AppConfig.IsNotFalse("keyboard_sleep_lid");
|
||||
checkShutdownLid.Checked = AppConfig.IsNotFalse("keyboard_shutdown_lid");
|
||||
|
||||
// Logo
|
||||
checkAwakeLogo.Checked = AppConfig.IsNotFalse("keyboard_awake_logo");
|
||||
checkBatteryLogo.Checked = AppConfig.IsOnBattery("keyboard_awake_logo");
|
||||
checkBootLogo.Checked = AppConfig.IsNotFalse("keyboard_boot_logo");
|
||||
checkSleepLogo.Checked = AppConfig.IsNotFalse("keyboard_sleep_logo");
|
||||
checkShutdownLogo.Checked = AppConfig.IsNotFalse("keyboard_shutdown_logo");
|
||||
|
||||
checkAwake.CheckedChanged += CheckPower_CheckedChanged;
|
||||
checkBattery.CheckedChanged += CheckPower_CheckedChanged;
|
||||
checkBoot.CheckedChanged += CheckPower_CheckedChanged;
|
||||
checkSleep.CheckedChanged += CheckPower_CheckedChanged;
|
||||
checkShutdown.CheckedChanged += CheckPower_CheckedChanged;
|
||||
|
||||
checkAwakeBar.CheckedChanged += CheckPower_CheckedChanged;
|
||||
checkBatteryBar.CheckedChanged += CheckPower_CheckedChanged;
|
||||
checkBootBar.CheckedChanged += CheckPower_CheckedChanged;
|
||||
checkSleepBar.CheckedChanged += CheckPower_CheckedChanged;
|
||||
checkShutdownBar.CheckedChanged += CheckPower_CheckedChanged;
|
||||
|
||||
checkAwakeLid.CheckedChanged += CheckPower_CheckedChanged;
|
||||
checkBatteryLid.CheckedChanged += CheckPower_CheckedChanged;
|
||||
checkBootLid.CheckedChanged += CheckPower_CheckedChanged;
|
||||
checkSleepLid.CheckedChanged += CheckPower_CheckedChanged;
|
||||
checkShutdownLid.CheckedChanged += CheckPower_CheckedChanged;
|
||||
|
||||
checkAwakeLogo.CheckedChanged += CheckPower_CheckedChanged;
|
||||
checkBatteryLogo.CheckedChanged += CheckPower_CheckedChanged;
|
||||
checkBootLogo.CheckedChanged += CheckPower_CheckedChanged;
|
||||
checkSleepLogo.CheckedChanged += CheckPower_CheckedChanged;
|
||||
checkShutdownLogo.CheckedChanged += CheckPower_CheckedChanged;
|
||||
|
||||
if ((!AppConfig.IsStrix() && !AppConfig.IsZ13()) || AppConfig.IsStrixLimitedRGB() || AppConfig.IsARCNM())
|
||||
if (!AppConfig.IsBacklightZones() || AppConfig.IsStrixLimitedRGB() || AppConfig.IsARCNM())
|
||||
{
|
||||
|
||||
if (!AppConfig.IsStrixLimitedRGB())
|
||||
{
|
||||
labelBacklightBar.Visible = false;
|
||||
checkAwakeBar.Visible = false;
|
||||
checkBatteryBar.Visible = false;
|
||||
checkBootBar.Visible = false;
|
||||
checkSleepBar.Visible = false;
|
||||
checkShutdownBar.Visible = false;
|
||||
@@ -354,20 +363,23 @@ namespace GHelper
|
||||
|
||||
labelBacklightLid.Visible = false;
|
||||
checkAwakeLid.Visible = false;
|
||||
checkBatteryLid.Visible = false;
|
||||
checkBootLid.Visible = false;
|
||||
checkSleepLid.Visible = false;
|
||||
checkShutdownLid.Visible = false;
|
||||
|
||||
labelBacklightLogo.Visible = false;
|
||||
checkAwakeLogo.Visible = false;
|
||||
checkBatteryLogo.Visible = false;
|
||||
checkBootLogo.Visible = false;
|
||||
checkSleepLogo.Visible = false;
|
||||
checkShutdownLogo.Visible = false;
|
||||
}
|
||||
|
||||
if (!AppConfig.IsStrix() && !AppConfig.IsZ13())
|
||||
if (!AppConfig.IsBacklightZones())
|
||||
{
|
||||
labelBacklightKeyboard.Visible = false;
|
||||
checkBattery.Visible = false;
|
||||
}
|
||||
|
||||
//checkAutoToggleClamshellMode.Visible = clamshellControl.IsExternalDisplayConnected();
|
||||
@@ -423,6 +435,10 @@ namespace GHelper
|
||||
checkGPUFix.Checked = AppConfig.IsGPUFix();
|
||||
checkGPUFix.CheckedChanged += CheckGPUFix_CheckedChanged;
|
||||
|
||||
checkPerKeyRGB.Visible = AppConfig.IsPossible4ZoneRGB();
|
||||
checkPerKeyRGB.Checked = AppConfig.Is("per_key_rgb");
|
||||
checkPerKeyRGB.CheckedChanged += CheckPerKeyRGB_CheckedChanged;
|
||||
|
||||
toolTip.SetToolTip(checkAutoToggleClamshellMode, "Disable sleep on lid close when plugged in and external monitor is connected");
|
||||
|
||||
InitCores();
|
||||
@@ -434,6 +450,11 @@ namespace GHelper
|
||||
|
||||
}
|
||||
|
||||
private void CheckPerKeyRGB_CheckedChanged(object? sender, EventArgs e)
|
||||
{
|
||||
AppConfig.Set("per_key_rgb", (checkPerKeyRGB.Checked ? 1 : 0));
|
||||
}
|
||||
|
||||
private void CheckLEDStatus_CheckedChanged(object? sender, EventArgs e)
|
||||
{
|
||||
Program.acpi.DeviceSet(AsusACPI.StatusLed, (checkStatusLed.Checked ? 7 : 0), "StatusLED");
|
||||
@@ -688,7 +709,10 @@ namespace GHelper
|
||||
{
|
||||
using (var amdControl = new AmdGpuControl())
|
||||
{
|
||||
amdControl.SetVariBright(checkVariBright.Checked ? 1 : 0);
|
||||
if (NvidiaSmi.GetDisplayActiveStatus()) return; // Skip if Nvidia GPU is active
|
||||
var status = checkVariBright.Checked ? 1 : 0;
|
||||
var result = amdControl.SetVariBright(status);
|
||||
Logger.WriteLine($"VariBright {status}: {result}");
|
||||
ProcessHelper.KillByName("RadeonSoftware");
|
||||
}
|
||||
}
|
||||
@@ -756,6 +780,14 @@ namespace GHelper
|
||||
AppConfig.Set("keyboard_sleep_logo", (checkSleepLogo.Checked ? 1 : 0));
|
||||
AppConfig.Set("keyboard_shutdown_logo", (checkShutdownLogo.Checked ? 1 : 0));
|
||||
|
||||
if (AppConfig.IsBacklightZones())
|
||||
{
|
||||
AppConfig.Set("keyboard_awake_bat", (checkBattery.Checked ? 1 : 0));
|
||||
AppConfig.Set("keyboard_awake_bar_bat", (checkBatteryBar.Checked ? 1 : 0));
|
||||
AppConfig.Set("keyboard_awake_lid_bat", (checkBatteryLid.Checked ? 1 : 0));
|
||||
AppConfig.Set("keyboard_awake_logo_bat", (checkBatteryLogo.Checked ? 1 : 0));
|
||||
}
|
||||
|
||||
Aura.ApplyPower();
|
||||
|
||||
}
|
||||
|
||||
76
app/Fans.Designer.cs
generated
76
app/Fans.Designer.cs
generated
@@ -82,10 +82,6 @@ namespace GHelper
|
||||
labelTemp = new Label();
|
||||
labelLeftTemp = new Label();
|
||||
trackTemp = new TrackBar();
|
||||
panelSkin = new Panel();
|
||||
labelSkin = new Label();
|
||||
labelSkinTitle = new Label();
|
||||
trackSkin = new TrackBar();
|
||||
panelTitleTemp = new Panel();
|
||||
pictureTemp = new PictureBox();
|
||||
labelTempLimit = new Label();
|
||||
@@ -176,8 +172,6 @@ namespace GHelper
|
||||
((System.ComponentModel.ISupportInitialize)pictureUV).BeginInit();
|
||||
panelTemperature.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)trackTemp).BeginInit();
|
||||
panelSkin.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)trackSkin).BeginInit();
|
||||
panelTitleTemp.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)pictureTemp).BeginInit();
|
||||
panelDownload.SuspendLayout();
|
||||
@@ -540,14 +534,13 @@ namespace GHelper
|
||||
panelAdvanced.Controls.Add(panelUViGPU);
|
||||
panelAdvanced.Controls.Add(panelUV);
|
||||
panelAdvanced.Controls.Add(panelTitleAdvanced);
|
||||
panelAdvanced.Controls.Add(panelSkin);
|
||||
panelAdvanced.Controls.Add(panelTemperature);
|
||||
panelAdvanced.Controls.Add(panelTitleTemp);
|
||||
panelAdvanced.Controls.Add(panelDownload);
|
||||
panelAdvanced.Dock = DockStyle.Top;
|
||||
panelAdvanced.Location = new Point(10, 1768);
|
||||
panelAdvanced.Name = "panelAdvanced";
|
||||
panelAdvanced.Size = new Size(520, 1116);
|
||||
panelAdvanced.Size = new Size(520, 992);
|
||||
panelAdvanced.TabIndex = 14;
|
||||
panelAdvanced.Visible = false;
|
||||
//
|
||||
@@ -556,7 +549,7 @@ namespace GHelper
|
||||
panelAdvancedAlways.AutoSize = true;
|
||||
panelAdvancedAlways.Controls.Add(checkApplyUV);
|
||||
panelAdvancedAlways.Dock = DockStyle.Top;
|
||||
panelAdvancedAlways.Location = new Point(0, 1055);
|
||||
panelAdvancedAlways.Location = new Point(0, 931);
|
||||
panelAdvancedAlways.Name = "panelAdvancedAlways";
|
||||
panelAdvancedAlways.Padding = new Padding(16, 0, 16, 15);
|
||||
panelAdvancedAlways.Size = new Size(520, 61);
|
||||
@@ -582,7 +575,7 @@ namespace GHelper
|
||||
panelAdvancedApply.AutoSize = true;
|
||||
panelAdvancedApply.Controls.Add(buttonApplyAdvanced);
|
||||
panelAdvancedApply.Dock = DockStyle.Top;
|
||||
panelAdvancedApply.Location = new Point(0, 975);
|
||||
panelAdvancedApply.Location = new Point(0, 851);
|
||||
panelAdvancedApply.Name = "panelAdvancedApply";
|
||||
panelAdvancedApply.Padding = new Padding(15);
|
||||
panelAdvancedApply.Size = new Size(520, 80);
|
||||
@@ -611,7 +604,7 @@ namespace GHelper
|
||||
labelRisky.BackColor = Color.IndianRed;
|
||||
labelRisky.Dock = DockStyle.Top;
|
||||
labelRisky.ForeColor = SystemColors.ControlLightLight;
|
||||
labelRisky.Location = new Point(0, 732);
|
||||
labelRisky.Location = new Point(0, 608);
|
||||
labelRisky.Margin = new Padding(0);
|
||||
labelRisky.Name = "labelRisky";
|
||||
labelRisky.Padding = new Padding(10, 10, 10, 5);
|
||||
@@ -627,7 +620,7 @@ namespace GHelper
|
||||
panelUViGPU.Controls.Add(labelLeftUViGPU);
|
||||
panelUViGPU.Controls.Add(trackUViGPU);
|
||||
panelUViGPU.Dock = DockStyle.Top;
|
||||
panelUViGPU.Location = new Point(0, 608);
|
||||
panelUViGPU.Location = new Point(0, 484);
|
||||
panelUViGPU.Margin = new Padding(4);
|
||||
panelUViGPU.MaximumSize = new Size(0, 124);
|
||||
panelUViGPU.Name = "panelUViGPU";
|
||||
@@ -675,7 +668,7 @@ namespace GHelper
|
||||
panelUV.Controls.Add(labelLeftUV);
|
||||
panelUV.Controls.Add(trackUV);
|
||||
panelUV.Dock = DockStyle.Top;
|
||||
panelUV.Location = new Point(0, 484);
|
||||
panelUV.Location = new Point(0, 360);
|
||||
panelUV.Margin = new Padding(4);
|
||||
panelUV.MaximumSize = new Size(0, 124);
|
||||
panelUV.Name = "panelUV";
|
||||
@@ -720,7 +713,7 @@ namespace GHelper
|
||||
panelTitleAdvanced.Controls.Add(pictureUV);
|
||||
panelTitleAdvanced.Controls.Add(labelTitleUV);
|
||||
panelTitleAdvanced.Dock = DockStyle.Top;
|
||||
panelTitleAdvanced.Location = new Point(0, 418);
|
||||
panelTitleAdvanced.Location = new Point(0, 294);
|
||||
panelTitleAdvanced.Name = "panelTitleAdvanced";
|
||||
panelTitleAdvanced.Size = new Size(520, 66);
|
||||
panelTitleAdvanced.TabIndex = 48;
|
||||
@@ -796,54 +789,6 @@ namespace GHelper
|
||||
trackTemp.TickFrequency = 5;
|
||||
trackTemp.TickStyle = TickStyle.TopLeft;
|
||||
//
|
||||
// panelSkin
|
||||
//
|
||||
panelSkin.AutoSize = true;
|
||||
panelSkin.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||
panelSkin.Controls.Add(labelSkin);
|
||||
panelSkin.Controls.Add(labelSkinTitle);
|
||||
panelSkin.Controls.Add(trackSkin);
|
||||
panelSkin.Dock = DockStyle.Top;
|
||||
panelSkin.Location = new Point(0, 294);
|
||||
panelSkin.Margin = new Padding(4);
|
||||
panelSkin.MaximumSize = new Size(0, 124);
|
||||
panelSkin.Name = "panelSkin";
|
||||
panelSkin.Size = new Size(520, 124);
|
||||
panelSkin.TabIndex = 53;
|
||||
//
|
||||
// labelSkin
|
||||
//
|
||||
labelSkin.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||
labelSkin.Location = new Point(347, 13);
|
||||
labelSkin.Margin = new Padding(4, 0, 4, 0);
|
||||
labelSkin.Name = "labelSkin";
|
||||
labelSkin.Size = new Size(148, 32);
|
||||
labelSkin.TabIndex = 13;
|
||||
labelSkin.Text = "T";
|
||||
labelSkin.TextAlign = ContentAlignment.TopRight;
|
||||
//
|
||||
// labelSkinTitle
|
||||
//
|
||||
labelSkinTitle.AutoSize = true;
|
||||
labelSkinTitle.Location = new Point(10, 10);
|
||||
labelSkinTitle.Margin = new Padding(4, 0, 4, 0);
|
||||
labelSkinTitle.Name = "labelSkinTitle";
|
||||
labelSkinTitle.Size = new Size(235, 32);
|
||||
labelSkinTitle.TabIndex = 12;
|
||||
labelSkinTitle.Text = "APU Skin Temp Limit";
|
||||
//
|
||||
// trackSkin
|
||||
//
|
||||
trackSkin.Location = new Point(6, 48);
|
||||
trackSkin.Margin = new Padding(4, 2, 4, 2);
|
||||
trackSkin.Maximum = 0;
|
||||
trackSkin.Minimum = -40;
|
||||
trackSkin.Name = "trackSkin";
|
||||
trackSkin.Size = new Size(508, 90);
|
||||
trackSkin.TabIndex = 11;
|
||||
trackSkin.TickFrequency = 5;
|
||||
trackSkin.TickStyle = TickStyle.TopLeft;
|
||||
//
|
||||
// panelTitleTemp
|
||||
//
|
||||
panelTitleTemp.Controls.Add(pictureTemp);
|
||||
@@ -1776,9 +1721,6 @@ namespace GHelper
|
||||
panelTemperature.ResumeLayout(false);
|
||||
panelTemperature.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)trackTemp).EndInit();
|
||||
panelSkin.ResumeLayout(false);
|
||||
panelSkin.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)trackSkin).EndInit();
|
||||
panelTitleTemp.ResumeLayout(false);
|
||||
panelTitleTemp.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)pictureTemp).EndInit();
|
||||
@@ -1952,9 +1894,5 @@ namespace GHelper
|
||||
private Label labelGPUPower;
|
||||
private Label labelGPUPowerTitle;
|
||||
private TrackBar trackGPUPower;
|
||||
private Panel panelSkin;
|
||||
private Label labelSkin;
|
||||
private Label labelSkinTitle;
|
||||
private TrackBar trackSkin;
|
||||
}
|
||||
}
|
||||
14
app/Fans.cs
14
app/Fans.cs
@@ -184,9 +184,6 @@ namespace GHelper
|
||||
trackTemp.Minimum = RyzenControl.MinTemp;
|
||||
trackTemp.Maximum = RyzenControl.MaxTemp;
|
||||
|
||||
trackSkin.Minimum = RyzenControl.MinSkin;
|
||||
trackSkin.Maximum = RyzenControl.MaxSkin;
|
||||
|
||||
comboPowerMode.DropDownStyle = ComboBoxStyle.DropDownList;
|
||||
comboPowerMode.DataSource = new BindingSource(PowerNative.powerModes, null);
|
||||
comboPowerMode.DisplayMember = "Value";
|
||||
@@ -214,7 +211,6 @@ namespace GHelper
|
||||
trackUV.Scroll += TrackUV_Scroll;
|
||||
trackUViGPU.Scroll += TrackUV_Scroll;
|
||||
trackTemp.Scroll += TrackUV_Scroll;
|
||||
trackSkin.Scroll += TrackUV_Scroll;
|
||||
|
||||
buttonApplyAdvanced.Click += ButtonApplyAdvanced_Click;
|
||||
|
||||
@@ -252,7 +248,6 @@ namespace GHelper
|
||||
panelUV.Visible = true;
|
||||
panelTitleAdvanced.Visible = true;
|
||||
panelTemperature.Visible = true;
|
||||
panelSkin.Visible = true;
|
||||
panelTitleTemp.Visible = true;
|
||||
|
||||
VisualiseAdvanced();
|
||||
@@ -386,15 +381,11 @@ namespace GHelper
|
||||
int temp = AppConfig.GetMode("cpu_temp");
|
||||
if (temp < RyzenControl.MinTemp || temp > RyzenControl.MaxTemp) temp = RyzenControl.MaxTemp;
|
||||
|
||||
int skin = AppConfig.GetMode("skin_temp");
|
||||
if (skin < RyzenControl.MinSkin || skin > RyzenControl.MaxSkin) skin = RyzenControl.MaxSkin;
|
||||
|
||||
checkApplyUV.Enabled = checkApplyUV.Checked = AppConfig.IsMode("auto_uv");
|
||||
|
||||
trackUV.Value = cpuUV;
|
||||
trackUViGPU.Value = igpuUV;
|
||||
trackTemp.Value = temp;
|
||||
trackSkin.Value = skin;
|
||||
|
||||
VisualiseAdvanced();
|
||||
|
||||
@@ -413,7 +404,6 @@ namespace GHelper
|
||||
panelUViGPU.Visible = false;
|
||||
panelTitleTemp.Visible = false;
|
||||
panelTemperature.Visible = false;
|
||||
panelSkin.Visible = false;
|
||||
panelAdvancedAlways.Visible = false;
|
||||
panelAdvancedApply.Visible = false;
|
||||
panelDownload.Visible = true;
|
||||
@@ -440,7 +430,6 @@ namespace GHelper
|
||||
labelUViGPU.Text = trackUViGPU.Value.ToString();
|
||||
|
||||
labelTemp.Text = (trackTemp.Value < RyzenControl.MaxTemp) ? trackTemp.Value.ToString() + "°C" : "Default";
|
||||
labelSkin.Text = (trackSkin.Value < RyzenControl.MaxSkin) ? trackSkin.Value.ToString() + "°C" : "Default";
|
||||
}
|
||||
|
||||
private void AdvancedScroll()
|
||||
@@ -450,7 +439,6 @@ namespace GHelper
|
||||
|
||||
VisualiseAdvanced();
|
||||
|
||||
AppConfig.SetMode("skin_temp", trackSkin.Value);
|
||||
AppConfig.SetMode("cpu_temp", trackTemp.Value);
|
||||
AppConfig.SetMode("cpu_uv", trackUV.Value);
|
||||
AppConfig.SetMode("igpu_uv", trackUViGPU.Value);
|
||||
@@ -1153,11 +1141,9 @@ namespace GHelper
|
||||
trackUV.Value = RyzenControl.MaxCPUUV;
|
||||
trackUViGPU.Value = RyzenControl.MaxIGPUUV;
|
||||
trackTemp.Value = RyzenControl.MaxTemp;
|
||||
trackSkin.Value = RyzenControl.MaxSkin;
|
||||
|
||||
AdvancedScroll();
|
||||
AppConfig.RemoveMode("cpu_temp");
|
||||
AppConfig.RemoveMode("skin_temp");
|
||||
|
||||
modeControl.ResetPerformanceMode();
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<TargetFramework>net7.0-windows</TargetFramework>
|
||||
<TargetFramework>net8.0-windows</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<UseWindowsForms>True</UseWindowsForms>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
@@ -15,7 +15,7 @@
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
||||
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
||||
<AssemblyVersion>0.175</AssemblyVersion>
|
||||
<AssemblyVersion>0.187</AssemblyVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
@@ -62,7 +62,7 @@
|
||||
<PackageReference Include="HidSharpCore" Version="1.2.1.1" />
|
||||
<PackageReference Include="NAudio" Version="2.1.0" />
|
||||
<PackageReference Include="NvAPIWrapper.Net" Version="0.8.1.101" />
|
||||
<PackageReference Include="System.Management" Version="7.0.1" />
|
||||
<PackageReference Include="System.Management" Version="8.0.0" />
|
||||
<PackageReference Include="TaskScheduler" Version="2.10.1" />
|
||||
<PackageReference Include="WinForms.DataVisualization" Version="1.8.0" />
|
||||
</ItemGroup>
|
||||
@@ -71,18 +71,6 @@
|
||||
<Content Include="Resources\eco.ico">
|
||||
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Resources\icons8-charging-battery-48.png">
|
||||
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Resources\icons8-laptop-48.png">
|
||||
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Resources\icons8-speed-48.png">
|
||||
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Resources\icons8-video-card-48.png">
|
||||
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Resources\ultimate.ico">
|
||||
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
|
||||
</Content>
|
||||
|
||||
@@ -25,8 +25,6 @@ namespace GHelper.Gpu
|
||||
int eco = Program.acpi.DeviceGet(AsusACPI.GPUEco);
|
||||
int mux = Program.acpi.DeviceGet(AsusACPI.GPUMux);
|
||||
|
||||
if (mux < 0) mux = Program.acpi.DeviceGet(AsusACPI.GPUMuxVivo);
|
||||
|
||||
Logger.WriteLine("Eco flag : " + eco);
|
||||
Logger.WriteLine("Mux flag : " + mux);
|
||||
|
||||
@@ -83,7 +81,6 @@ namespace GHelper.Gpu
|
||||
if (dialogResult == DialogResult.Yes)
|
||||
{
|
||||
status = Program.acpi.DeviceSet(AsusACPI.GPUMux, 1, "GPUMux");
|
||||
if (status != 1) Program.acpi.DeviceSet(AsusACPI.GPUMuxVivo, 1, "GPUMuxVivo");
|
||||
restart = true;
|
||||
changed = true;
|
||||
}
|
||||
@@ -95,11 +92,15 @@ namespace GHelper.Gpu
|
||||
{
|
||||
if (AppConfig.NoAutoUltimate())
|
||||
{
|
||||
Program.acpi.SetGPUEco(0);
|
||||
int standardStatus = Program.acpi.SetGPUEco(0);
|
||||
if (standardStatus == 0)
|
||||
{
|
||||
settings.VisualiseGPUMode();
|
||||
return;
|
||||
}
|
||||
Thread.Sleep(100);
|
||||
}
|
||||
status = Program.acpi.DeviceSet(AsusACPI.GPUMux, 0, "GPUMux");
|
||||
if (status != 1) Program.acpi.DeviceSet(AsusACPI.GPUMuxVivo, 0, "GPUMuxVivo");
|
||||
restart = true;
|
||||
changed = true;
|
||||
}
|
||||
@@ -226,6 +227,7 @@ namespace GHelper.Gpu
|
||||
if ((GpuAuto && !IsPlugged()) || (ForceGPU && GpuMode == AsusACPI.GPUModeEco))
|
||||
{
|
||||
|
||||
if (Program.acpi.IsXGConnected()) return false;
|
||||
if (HardwareControl.IsUsedGPU())
|
||||
{
|
||||
DialogResult dialogResult = MessageBox.Show(Properties.Strings.AlertDGPU, Properties.Strings.AlertDGPUTitle, MessageBoxButtons.YesNo);
|
||||
|
||||
@@ -32,7 +32,7 @@ public static class NvidiaSmi
|
||||
|
||||
public static int GetDefaultMaxGPUPower()
|
||||
{
|
||||
if (AppConfig.ContainsModel("GU605")) return 125;
|
||||
if (AppConfig.ContainsModel("GU605") || AppConfig.ContainsModel("GA605")) return 125;
|
||||
if (AppConfig.ContainsModel("GA403")) return 90;
|
||||
if (AppConfig.ContainsModel("FA607")) return 140;
|
||||
else return 175;
|
||||
|
||||
@@ -108,6 +108,9 @@ namespace GHelper.Helpers
|
||||
if (Program.settingsForm.Visible)
|
||||
Program.screenControl.InitScreen();
|
||||
|
||||
if (AppConfig.IsForceMiniled())
|
||||
Program.screenControl.InitMiniled();
|
||||
|
||||
}
|
||||
|
||||
private static int CheckAndSaveLidAction()
|
||||
|
||||
@@ -7,6 +7,8 @@ namespace GHelper.Helpers
|
||||
|
||||
public static bool IsEnabled()
|
||||
{
|
||||
if (Environment.OSVersion.Version.Build < 22000) return false;
|
||||
|
||||
using var key = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Lighting");
|
||||
var registryValueObject = key?.GetValue("AmbientLightingEnabled");
|
||||
|
||||
|
||||
@@ -20,6 +20,8 @@ namespace GHelper.Helpers
|
||||
"AsusCertService"
|
||||
};
|
||||
|
||||
//"AsusPTPService",
|
||||
|
||||
static List<string> processesAC = new() {
|
||||
"ArmouryCrateSE.Service",
|
||||
"ArmouryCrate.Service",
|
||||
|
||||
@@ -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
|
||||
@@ -218,6 +217,9 @@ namespace GHelper.Input
|
||||
case 3:
|
||||
KeyboardHook.KeyKeyKeyPress((Keys)hexKeys[0], (Keys)hexKeys[1], (Keys)hexKeys[2]);
|
||||
break;
|
||||
case 4:
|
||||
KeyboardHook.KeyKeyKeyKeyPress((Keys)hexKeys[0], (Keys)hexKeys[1], (Keys)hexKeys[2], (Keys)hexKeys[3]);
|
||||
break;
|
||||
default:
|
||||
LaunchProcess(command);
|
||||
break;
|
||||
@@ -278,6 +280,43 @@ namespace GHelper.Input
|
||||
}
|
||||
}
|
||||
|
||||
if (AppConfig.IsProArt())
|
||||
{
|
||||
switch (e.Key)
|
||||
{
|
||||
case Keys.F2:
|
||||
KeyboardHook.KeyPress(Keys.VolumeDown);
|
||||
return;
|
||||
case Keys.F3:
|
||||
KeyboardHook.KeyPress(Keys.VolumeUp);
|
||||
return;
|
||||
case Keys.F4:
|
||||
HandleEvent(199); // Backlight cycle
|
||||
return;
|
||||
case Keys.F5:
|
||||
SetBrightness(-10);
|
||||
return;
|
||||
case Keys.F6:
|
||||
SetBrightness(+10);
|
||||
return;
|
||||
case Keys.F7:
|
||||
KeyboardHook.KeyKeyPress(Keys.LWin, Keys.P);
|
||||
return;
|
||||
case Keys.F8:
|
||||
HandleEvent(126); // Emojis
|
||||
return;
|
||||
case Keys.F9:
|
||||
KeyProcess("m3"); // MicMute
|
||||
return;
|
||||
case Keys.F10:
|
||||
HandleEvent(133); // Camera Toggle
|
||||
return;
|
||||
case Keys.F11:
|
||||
KeyboardHook.KeyPress(Keys.Snapshot); // PrintScreen
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (AppConfig.IsZ13() || AppConfig.IsDUO())
|
||||
{
|
||||
switch (e.Key)
|
||||
@@ -288,7 +327,7 @@ namespace GHelper.Input
|
||||
}
|
||||
}
|
||||
|
||||
if (AppConfig.NoAura())
|
||||
if (AppConfig.MediaKeys())
|
||||
{
|
||||
switch (e.Key)
|
||||
{
|
||||
@@ -589,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);
|
||||
|
||||
@@ -655,6 +700,7 @@ namespace GHelper.Input
|
||||
switch (EventID)
|
||||
{
|
||||
case 134: // FN + F12 ON OLD DEVICES
|
||||
case 139: // ProArt F12
|
||||
KeyProcess("m4");
|
||||
return;
|
||||
case 124: // M3
|
||||
@@ -666,9 +712,6 @@ namespace GHelper.Input
|
||||
case 55: // Arconym
|
||||
KeyProcess("m6");
|
||||
return;
|
||||
case 136: // FN + F12
|
||||
if (!AppConfig.IsNoAirplaneMode()) Program.acpi.DeviceSet(AsusACPI.UniversalControl, AsusACPI.Airplane, "Airplane");
|
||||
return;
|
||||
case 181: // FN + Numpad Enter
|
||||
KeyProcess("fne");
|
||||
return;
|
||||
@@ -685,12 +728,6 @@ namespace GHelper.Input
|
||||
case 158: // Fn + C
|
||||
KeyProcess("fnc");
|
||||
return;
|
||||
case 78: // Fn + ESC
|
||||
ToggleFnLock();
|
||||
return;
|
||||
case 75: // Fn + ESC
|
||||
ToggleArrowLock();
|
||||
return;
|
||||
case 189: // Tablet mode
|
||||
TabletMode();
|
||||
return;
|
||||
@@ -777,6 +814,18 @@ namespace GHelper.Input
|
||||
case 53: // Fn+F6 on GA-502DU model
|
||||
NativeMethods.TurnOffScreen();
|
||||
return;
|
||||
case 126: // Fn+F8 emojis popup
|
||||
KeyboardHook.KeyKeyPress(Keys.LWin, Keys.OemSemicolon);
|
||||
return;
|
||||
case 78: // Fn + ESC
|
||||
ToggleFnLock();
|
||||
return;
|
||||
case 75: // Fn + Arrow Lock
|
||||
ToggleArrowLock();
|
||||
return;
|
||||
case 136: // FN + F12
|
||||
if (!AppConfig.IsNoAirplaneMode()) Program.acpi.DeviceSet(AsusACPI.UniversalControl, AsusACPI.Airplane, "Airplane");
|
||||
return;
|
||||
|
||||
|
||||
}
|
||||
@@ -949,7 +998,10 @@ namespace GHelper.Input
|
||||
if (string.IsNullOrEmpty(command)) return;
|
||||
try
|
||||
{
|
||||
RestrictedProcessHelper.RunAsRestrictedUser(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), "cmd.exe"), "/C " + command);
|
||||
if (command.StartsWith("shutdown"))
|
||||
ProcessHelper.RunCMD("cmd", "/C " + command);
|
||||
else
|
||||
RestrictedProcessHelper.RunAsRestrictedUser(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), "cmd.exe"), "/C " + command);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
@@ -77,6 +77,21 @@ public sealed class KeyboardHook : IDisposable
|
||||
keybd_event((byte)key, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, IntPtr.Zero);
|
||||
}
|
||||
|
||||
public static void KeyKeyKeyKeyPress(Keys key, Keys key2, Keys key3, Keys key4, int sleep = 1)
|
||||
{
|
||||
keybd_event((byte)key, 0, KEYEVENTF_EXTENDEDKEY, IntPtr.Zero);
|
||||
keybd_event((byte)key2, 0, KEYEVENTF_EXTENDEDKEY, IntPtr.Zero);
|
||||
keybd_event((byte)key3, 0, KEYEVENTF_EXTENDEDKEY, IntPtr.Zero);
|
||||
keybd_event((byte)key4, 0, KEYEVENTF_EXTENDEDKEY, IntPtr.Zero);
|
||||
|
||||
Thread.Sleep(sleep);
|
||||
|
||||
keybd_event((byte)key4, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, IntPtr.Zero);
|
||||
keybd_event((byte)key3, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, IntPtr.Zero);
|
||||
keybd_event((byte)key2, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, IntPtr.Zero);
|
||||
keybd_event((byte)key, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, IntPtr.Zero);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents the window that is used internally to get the messages.
|
||||
/// </summary>
|
||||
|
||||
@@ -31,7 +31,6 @@ namespace GHelper.Mode
|
||||
private void ReapplyTimer_Elapsed(object? sender, System.Timers.ElapsedEventArgs e)
|
||||
{
|
||||
SetCPUTemp(AppConfig.GetMode("cpu_temp"));
|
||||
SetSkinTemp(AppConfig.GetMode("skin_temp"));
|
||||
SetRyzenPower();
|
||||
}
|
||||
|
||||
@@ -410,15 +409,6 @@ namespace GHelper.Mode
|
||||
}
|
||||
}
|
||||
|
||||
public void SetSkinTemp(int? skinTemp, bool init = false)
|
||||
{
|
||||
if (skinTemp >= RyzenControl.MinSkin && skinTemp < RyzenControl.MaxSkin)
|
||||
{
|
||||
var restultAPU = SendCommand.set_apu_skin_temp_limit((uint)skinTemp);
|
||||
if (init) Logger.WriteLine($"APU Skin Temp: {skinTemp} {restultAPU}");
|
||||
}
|
||||
}
|
||||
|
||||
public void SetUV(int cpuUV)
|
||||
{
|
||||
if (!RyzenControl.IsSupportedUV()) return;
|
||||
@@ -459,7 +449,6 @@ namespace GHelper.Mode
|
||||
SetUV(AppConfig.GetMode("cpu_uv", 0));
|
||||
SetUViGPU(AppConfig.GetMode("igpu_uv", 0));
|
||||
SetCPUTemp(AppConfig.GetMode("cpu_temp"), true);
|
||||
SetSkinTemp(AppConfig.GetMode("skin_temp"), true);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
294
app/Peripherals/Mouse/Models/GladiusIIWireless.cs
Normal file
294
app/Peripherals/Mouse/Models/GladiusIIWireless.cs
Normal file
@@ -0,0 +1,294 @@
|
||||
namespace GHelper.Peripherals.Mouse.Models
|
||||
{
|
||||
public class GladiusIIWireless : AsusMouse
|
||||
{
|
||||
public GladiusIIWireless() : base(0x0B05, 0x18A0, "mi_02", true)
|
||||
{
|
||||
}
|
||||
|
||||
public override int DPIProfileCount()
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
|
||||
public override string GetDisplayName()
|
||||
{
|
||||
return "Gladius II Wireless";
|
||||
}
|
||||
|
||||
|
||||
public override PollingRate[] SupportedPollingrates()
|
||||
{
|
||||
return new PollingRate[] {
|
||||
PollingRate.PR125Hz,
|
||||
PollingRate.PR250Hz,
|
||||
PollingRate.PR500Hz,
|
||||
PollingRate.PR1000Hz
|
||||
};
|
||||
}
|
||||
|
||||
public override int ProfileCount()
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
public override int MaxDPI()
|
||||
{
|
||||
return 16_000;
|
||||
}
|
||||
|
||||
public override bool HasRGB()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public override bool HasAutoPowerOff()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public override bool HasAngleSnapping()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public override bool HasAngleTuning()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public override bool HasDebounceSetting()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
public override bool HasLiftOffSetting()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public override bool HasLowBatteryWarning()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public override int LowBatteryWarningStep()
|
||||
{
|
||||
return 25;
|
||||
}
|
||||
|
||||
public override bool HasBattery()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public override bool HasDPIColors()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public override bool IsLightingModeSupported(LightingMode lightingMode)
|
||||
{
|
||||
return lightingMode == LightingMode.Static
|
||||
|| lightingMode == LightingMode.Breathing
|
||||
|| lightingMode == LightingMode.ColorCycle
|
||||
|| lightingMode == LightingMode.React
|
||||
|| lightingMode == LightingMode.BatteryState;
|
||||
}
|
||||
|
||||
public override LightingZone[] SupportedLightingZones()
|
||||
{
|
||||
return new LightingZone[] { LightingZone.Logo, LightingZone.Scrollwheel };
|
||||
}
|
||||
|
||||
public override int DPIIncrements()
|
||||
{
|
||||
return 100;
|
||||
}
|
||||
|
||||
public override bool CanChangeDPIProfile()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public override int MaxBrightness()
|
||||
{
|
||||
return 4;
|
||||
}
|
||||
|
||||
//Has 25% increments
|
||||
protected override int ParseBattery(byte[] packet)
|
||||
{
|
||||
if (packet[1] == 0x12 && packet[2] == 0x07)
|
||||
{
|
||||
return packet[5] * 25;
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
protected override byte[] GetUpdateLightingModePacket(LightingSetting lightingSetting, LightingZone zone)
|
||||
{
|
||||
/*
|
||||
* This mouse uses different speed values for rainbow mode compared to others.
|
||||
* 51 28 03 00 03 04 FF 00 00 00 00 [8C] 00 00 00 00
|
||||
* 51 28 03 00 03 04 FF 00 00 00 00 [64] 00 00 00 00
|
||||
* 51 28 03 00 03 04 FF 00 00 00 00 [3F] 00 00 00 00
|
||||
*/
|
||||
|
||||
if (lightingSetting.LightingMode == LightingMode.Rainbow)
|
||||
{
|
||||
byte speed = 0x3F;
|
||||
|
||||
switch (lightingSetting.AnimationSpeed)
|
||||
{
|
||||
case AnimationSpeed.Slow:
|
||||
speed = 0x3F;
|
||||
break;
|
||||
case AnimationSpeed.Medium:
|
||||
speed = 0x64;
|
||||
break;
|
||||
case AnimationSpeed.Fast:
|
||||
speed = 0x8C;
|
||||
break;
|
||||
}
|
||||
|
||||
return new byte[] { reportId, 0x51, 0x28, (byte)zone, 0x00,
|
||||
IndexForLightingMode(lightingSetting.LightingMode),
|
||||
(byte)lightingSetting.Brightness,
|
||||
0xFF, 0x00, 0x00,
|
||||
(byte)(SupportsAnimationDirection(lightingSetting.LightingMode) ? lightingSetting.AnimationDirection : 0x00),
|
||||
(byte)((lightingSetting.RandomColor && SupportsRandomColor(lightingSetting.LightingMode)) ? 0x01: 0x00),
|
||||
(byte)(SupportsAnimationSpeed(lightingSetting.LightingMode) ? speed : 0x00)
|
||||
};
|
||||
}
|
||||
|
||||
return base.GetUpdateLightingModePacket(lightingSetting, zone);
|
||||
}
|
||||
|
||||
|
||||
protected override byte[] GetReadLightingModePacket(LightingZone zone)
|
||||
{
|
||||
return new byte[] { 0x00, 0x12, 0x03, 0x00 };
|
||||
}
|
||||
|
||||
protected LightingSetting? ParseLightingSetting(byte[] packet, LightingZone zone)
|
||||
{
|
||||
if (packet[1] != 0x12 || packet[2] != 0x03)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
int offset = 5 + (((int)zone) * 5);
|
||||
|
||||
LightingSetting setting = new LightingSetting();
|
||||
|
||||
setting.LightingMode = LightingModeForIndex(packet[offset + 0]);
|
||||
setting.Brightness = packet[offset + 1];
|
||||
|
||||
setting.RGBColor = Color.FromArgb(packet[offset + 2], packet[offset + 3], packet[offset + 4]);
|
||||
|
||||
|
||||
return setting;
|
||||
}
|
||||
|
||||
public override void ReadLightingSetting()
|
||||
{
|
||||
if (!HasRGB())
|
||||
{
|
||||
return;
|
||||
}
|
||||
//Mouse sends all lighting zones in one response Direction, Random col, Speed
|
||||
//00 12 03 00 00 [00 04 ff 00 80] [00 04 00 ff ff] [00 04 ff ff ff] 00 [00] [00] [00] 00 00
|
||||
//00 12 03 00 00 [03 04 00 00 00] [03 04 00 00 00] [03 04 00 00 00] 00 [00] [00] [07] 00 00
|
||||
byte[]? response = WriteForResponse(GetReadLightingModePacket(LightingZone.All));
|
||||
if (response is null) return;
|
||||
|
||||
LightingZone[] lz = SupportedLightingZones();
|
||||
for (int i = 0; i < lz.Length; ++i)
|
||||
{
|
||||
LightingSetting? ls = ParseLightingSetting(response, lz[i]);
|
||||
if (ls is null)
|
||||
{
|
||||
Logger.WriteLine(GetDisplayName() + ": Failed to read RGB Setting for Zone " + lz[i].ToString());
|
||||
continue;
|
||||
}
|
||||
ls.AnimationDirection = SupportsAnimationDirection(ls.LightingMode)
|
||||
? (AnimationDirection)response[21]
|
||||
: AnimationDirection.Clockwise;
|
||||
|
||||
ls.RandomColor = SupportsRandomColor(ls.LightingMode) && response[22] == 0x01;
|
||||
|
||||
ls.AnimationSpeed = SupportsAnimationSpeed(ls.LightingMode)
|
||||
? (AnimationSpeed)response[23]
|
||||
: AnimationSpeed.Medium;
|
||||
|
||||
if (ls.AnimationSpeed != AnimationSpeed.Fast
|
||||
&& ls.AnimationSpeed != AnimationSpeed.Medium
|
||||
&& ls.AnimationSpeed != AnimationSpeed.Slow)
|
||||
{
|
||||
ls.AnimationSpeed = AnimationSpeed.Medium;
|
||||
}
|
||||
|
||||
Logger.WriteLine(GetDisplayName() + ": Read RGB Setting for Zone " + lz[i].ToString() + ": " + ls.ToString());
|
||||
LightingSetting[i] = ls;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
protected override PollingRate ParsePollingRate(byte[] packet)
|
||||
{
|
||||
if (packet[1] == 0x12 && packet[2] == 0x04 && packet[3] == 0x00)
|
||||
{
|
||||
return (PollingRate)packet[9];
|
||||
}
|
||||
|
||||
return PollingRate.PR125Hz;
|
||||
}
|
||||
|
||||
protected override byte[] GetUpdatePollingRatePacket(PollingRate pollingRate)
|
||||
{
|
||||
return new byte[] { reportId, 0x51, 0x31, 0x02, 0x00, (byte)pollingRate };
|
||||
}
|
||||
|
||||
protected override bool ParseAngleSnapping(byte[] packet)
|
||||
{
|
||||
if (packet[1] == 0x12 && packet[2] == 0x04 && packet[3] == 0x00)
|
||||
{
|
||||
return packet[13] == 0x01;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
protected override byte[] GetUpdateAngleSnappingPacket(bool angleSnapping)
|
||||
{
|
||||
return new byte[] { reportId, 0x51, 0x31, 0x04, 0x00, (byte)(angleSnapping ? 0x01 : 0x00) };
|
||||
}
|
||||
|
||||
protected override DebounceTime ParseDebounce(byte[] packet)
|
||||
{
|
||||
if (packet[1] != 0x12 || packet[2] != 0x04 || packet[3] != 0x00)
|
||||
{
|
||||
return DebounceTime.MS12;
|
||||
}
|
||||
|
||||
if (packet[11] < 0x02)
|
||||
{
|
||||
return DebounceTime.MS12;
|
||||
}
|
||||
|
||||
if (packet[11] > 0x07)
|
||||
{
|
||||
return DebounceTime.MS32;
|
||||
}
|
||||
|
||||
return (DebounceTime)packet[11];
|
||||
}
|
||||
|
||||
protected override byte[] GetUpdateDebouncePacket(DebounceTime debounce)
|
||||
{
|
||||
return new byte[] { reportId, 0x51, 0x31, 0x03, 0x00, ((byte)debounce) };
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
124
app/Peripherals/Mouse/Models/KerisIIAce.cs
Normal file
124
app/Peripherals/Mouse/Models/KerisIIAce.cs
Normal file
@@ -0,0 +1,124 @@
|
||||
namespace GHelper.Peripherals.Mouse.Models
|
||||
{
|
||||
|
||||
public class KerisIIAceWired : AsusMouse
|
||||
{
|
||||
public KerisIIAceWired() : base(0x0B05, 0x1B16, "mi_00", true)
|
||||
{
|
||||
}
|
||||
|
||||
protected KerisIIAceWired(ushort vendorId, bool wireless) : base(0x0B05, vendorId, "mi_00", wireless)
|
||||
{
|
||||
}
|
||||
|
||||
public override int DPIProfileCount()
|
||||
{
|
||||
return 4;
|
||||
}
|
||||
|
||||
public override string GetDisplayName()
|
||||
{
|
||||
return "ROG Keris II Ace";
|
||||
}
|
||||
|
||||
|
||||
public override PollingRate[] SupportedPollingrates()
|
||||
{
|
||||
return new PollingRate[] {
|
||||
PollingRate.PR125Hz,
|
||||
PollingRate.PR250Hz,
|
||||
PollingRate.PR500Hz,
|
||||
PollingRate.PR1000Hz
|
||||
};
|
||||
}
|
||||
|
||||
public override int ProfileCount()
|
||||
{
|
||||
return 5;
|
||||
}
|
||||
public override int MaxDPI()
|
||||
{
|
||||
return 42_000;
|
||||
}
|
||||
|
||||
public override bool HasLiftOffSetting()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public override bool HasRGB()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public override bool HasXYDPI()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public override bool IsLightingModeSupported(LightingMode lightingMode)
|
||||
{
|
||||
return lightingMode == LightingMode.Static
|
||||
|| lightingMode == LightingMode.Breathing
|
||||
|| lightingMode == LightingMode.ColorCycle
|
||||
|| lightingMode == LightingMode.BatteryState
|
||||
|| lightingMode == LightingMode.React;
|
||||
}
|
||||
|
||||
public override bool HasAutoPowerOff()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public override bool HasAngleSnapping()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public override bool HasAngleTuning()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public override bool HasLowBatteryWarning()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public override bool HasDPIColors()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
protected override PollingRate ParsePollingRate(byte[] packet)
|
||||
{
|
||||
if (packet[1] == 0x12 && packet[2] == 0x04 && packet[3] == 0x00)
|
||||
{
|
||||
if ((int)packet[13] > 7)
|
||||
return (PollingRate)packet[13] - 96;
|
||||
return (PollingRate)packet[13];
|
||||
}
|
||||
|
||||
return PollingRate.PR125Hz;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
*
|
||||
Mouse uses Omni Reciever
|
||||
public class KerisIIAce : KerisIIAce
|
||||
{
|
||||
public KerisIIAce() : base(0xAAAA, false)
|
||||
{
|
||||
}
|
||||
|
||||
public override string GetDisplayName()
|
||||
{
|
||||
return "ROG Keris II Ace (Wired)";
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
}
|
||||
218
app/Peripherals/Mouse/Models/Pugio.cs
Normal file
218
app/Peripherals/Mouse/Models/Pugio.cs
Normal file
@@ -0,0 +1,218 @@
|
||||
namespace GHelper.Peripherals.Mouse.Models
|
||||
{
|
||||
//P503
|
||||
public class Pugio : AsusMouse
|
||||
{
|
||||
public Pugio() : base(0x0B05, 0x1846, "mi_02", false)
|
||||
{
|
||||
}
|
||||
|
||||
public override int DPIProfileCount()
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
|
||||
public override string GetDisplayName()
|
||||
{
|
||||
return "ROG Pugio";
|
||||
}
|
||||
|
||||
public override PollingRate[] SupportedPollingrates()
|
||||
{
|
||||
return new PollingRate[] {
|
||||
PollingRate.PR125Hz,
|
||||
PollingRate.PR250Hz,
|
||||
PollingRate.PR500Hz,
|
||||
PollingRate.PR1000Hz
|
||||
};
|
||||
}
|
||||
|
||||
public override int ProfileCount()
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
public override int MaxDPI()
|
||||
{
|
||||
return 7_200;
|
||||
}
|
||||
public override int DPIIncrements()
|
||||
{
|
||||
return 50;
|
||||
}
|
||||
|
||||
public override int MinDPI()
|
||||
{
|
||||
return 50;
|
||||
}
|
||||
|
||||
public override bool HasLiftOffSetting()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public override bool HasRGB()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public override bool HasAngleSnapping()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public override bool CanChangeDPIProfile()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public override bool HasBattery()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public override bool HasAutoPowerOff()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
//00 12 04 00 00 1f 00 07 00 [03] 00 02 00 00 00
|
||||
protected override PollingRate ParsePollingRate(byte[] packet)
|
||||
{
|
||||
if (packet[1] == 0x12 && packet[2] == 0x04 && packet[3] == 0x00)
|
||||
{
|
||||
return (PollingRate)packet[9];
|
||||
}
|
||||
|
||||
return PollingRate.PR125Hz;
|
||||
}
|
||||
|
||||
public override int MaxBrightness()
|
||||
{
|
||||
return 4;
|
||||
}
|
||||
|
||||
public override LightingZone[] SupportedLightingZones()
|
||||
{
|
||||
return new LightingZone[] { LightingZone.Logo, LightingZone.Scrollwheel, LightingZone.Underglow };
|
||||
}
|
||||
|
||||
public override bool IsLightingModeSupported(LightingMode lightingMode)
|
||||
{
|
||||
return lightingMode == LightingMode.Static
|
||||
|| lightingMode == LightingMode.Breathing
|
||||
|| lightingMode == LightingMode.ColorCycle
|
||||
|| lightingMode == LightingMode.Rainbow
|
||||
|| lightingMode == LightingMode.React
|
||||
|| lightingMode == LightingMode.Comet;
|
||||
}
|
||||
|
||||
protected override byte[] GetUpdateLightingModePacket(LightingSetting lightingSetting, LightingZone zone)
|
||||
{
|
||||
// 00 51 28 03 00 00 04 00 ff 40 00 00 00 00 00 00 00 00 00 00
|
||||
|
||||
/*
|
||||
* This mouse uses different speed values for rainbow mode compared to others.
|
||||
* 00 51 28 03 00 03 04 FF 00 00 00 00 [8C] 00 00 00 00
|
||||
* 00 51 28 03 00 03 04 FF 00 00 00 00 [64] 00 00 00 00
|
||||
* 00 51 28 03 00 03 04 FF 00 00 00 00 [3F] 00 00 00 00
|
||||
*/
|
||||
|
||||
if (lightingSetting.LightingMode == LightingMode.Rainbow)
|
||||
{
|
||||
byte speed = 0x3F;
|
||||
|
||||
switch (lightingSetting.AnimationSpeed)
|
||||
{
|
||||
case AnimationSpeed.Slow:
|
||||
speed = 0x3F;
|
||||
break;
|
||||
case AnimationSpeed.Medium:
|
||||
speed = 0x64;
|
||||
break;
|
||||
case AnimationSpeed.Fast:
|
||||
speed = 0x8C;
|
||||
break;
|
||||
}
|
||||
|
||||
return new byte[] { reportId, 0x51, 0x28, (byte)zone, 0x00,
|
||||
IndexForLightingMode(lightingSetting.LightingMode),
|
||||
(byte)lightingSetting.Brightness,
|
||||
0xFF, 0x00, 0x00,
|
||||
(byte)(SupportsAnimationDirection(lightingSetting.LightingMode) ? lightingSetting.AnimationDirection : 0x00),
|
||||
(byte)((lightingSetting.RandomColor && SupportsRandomColor(lightingSetting.LightingMode)) ? 0x01: 0x00),
|
||||
(byte)(SupportsAnimationSpeed(lightingSetting.LightingMode) ? speed : 0x00)
|
||||
};
|
||||
}
|
||||
|
||||
return base.GetUpdateLightingModePacket(lightingSetting, zone);
|
||||
}
|
||||
|
||||
protected override byte[] GetReadLightingModePacket(LightingZone zone)
|
||||
{
|
||||
return new byte[] { 0x00, 0x12, 0x03, 0x00 };
|
||||
}
|
||||
|
||||
protected LightingSetting? ParseLightingSetting(byte[] packet, LightingZone zone)
|
||||
{
|
||||
if (packet[1] != 0x12 || packet[2] != 0x03)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
int offset = 5 + (((int)zone) * 5);
|
||||
|
||||
LightingSetting setting = new LightingSetting();
|
||||
|
||||
setting.LightingMode = LightingModeForIndex(packet[offset + 0]);
|
||||
setting.Brightness = packet[offset + 1];
|
||||
|
||||
setting.RGBColor = Color.FromArgb(packet[offset + 2], packet[offset + 3], packet[offset + 4]);
|
||||
|
||||
|
||||
return setting;
|
||||
}
|
||||
|
||||
public override void ReadLightingSetting()
|
||||
{
|
||||
if (!HasRGB())
|
||||
{
|
||||
return;
|
||||
}
|
||||
//Mouse sends all lighting zones in one response (0x19) Direction, Random col, Speed
|
||||
//00 12 03 00 00 [03 04 00 00 00] [03 04 00 00 00] [03 04 00 00 00] 01 [00] [00] [8c] 00
|
||||
//00 12 03 00 00 [00 04 00 00 00] [00 04 00 00 00] [00 04 00 00 00] 01 [00] [00] [00] 00
|
||||
byte[]? response = WriteForResponse(GetReadLightingModePacket(LightingZone.All));
|
||||
if (response is null) return;
|
||||
|
||||
LightingZone[] lz = SupportedLightingZones();
|
||||
for (int i = 0; i < lz.Length; ++i)
|
||||
{
|
||||
LightingSetting? ls = ParseLightingSetting(response, lz[i]);
|
||||
if (ls is null)
|
||||
{
|
||||
Logger.WriteLine(GetDisplayName() + ": Failed to read RGB Setting for Zone " + lz[i].ToString());
|
||||
continue;
|
||||
}
|
||||
ls.AnimationDirection = SupportsAnimationDirection(ls.LightingMode)
|
||||
? (AnimationDirection)response[21]
|
||||
: AnimationDirection.Clockwise;
|
||||
|
||||
ls.RandomColor = SupportsRandomColor(ls.LightingMode) && response[22] == 0x01;
|
||||
|
||||
ls.AnimationSpeed = SupportsAnimationSpeed(ls.LightingMode)
|
||||
? (AnimationSpeed)response[23]
|
||||
: AnimationSpeed.Medium;
|
||||
|
||||
if (ls.AnimationSpeed != AnimationSpeed.Fast
|
||||
&& ls.AnimationSpeed != AnimationSpeed.Medium
|
||||
&& ls.AnimationSpeed != AnimationSpeed.Slow)
|
||||
{
|
||||
ls.AnimationSpeed = AnimationSpeed.Medium;
|
||||
}
|
||||
|
||||
Logger.WriteLine(GetDisplayName() + ": Read RGB Setting for Zone " + lz[i].ToString() + ": " + ls.ToString());
|
||||
LightingSetting[i] = ls;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
116
app/Peripherals/Mouse/Models/StrixEvolve.cs
Normal file
116
app/Peripherals/Mouse/Models/StrixEvolve.cs
Normal file
@@ -0,0 +1,116 @@
|
||||
namespace GHelper.Peripherals.Mouse.Models
|
||||
{
|
||||
public class StrixEvolve : AsusMouse
|
||||
{
|
||||
public StrixEvolve() : base(0x0B05, 0x185B, "mi_00", false)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
public override int DPIProfileCount()
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
|
||||
public override string GetDisplayName()
|
||||
{
|
||||
return "Strix Evolve";
|
||||
}
|
||||
|
||||
|
||||
public override PollingRate[] SupportedPollingrates()
|
||||
{
|
||||
return new PollingRate[] {
|
||||
PollingRate.PR125Hz,
|
||||
PollingRate.PR250Hz,
|
||||
PollingRate.PR500Hz,
|
||||
PollingRate.PR1000Hz
|
||||
};
|
||||
}
|
||||
|
||||
public override int ProfileCount()
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
public override int MaxDPI()
|
||||
{
|
||||
return 7_200;
|
||||
}
|
||||
|
||||
public override bool HasRGB()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public override bool HasAutoPowerOff()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public override bool HasDebounceSetting()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public override bool HasLowBatteryWarning()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public override bool HasBattery()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public override bool HasDPIColors()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public override bool IsLightingModeSupported(LightingMode lightingMode)
|
||||
{
|
||||
return lightingMode == LightingMode.Static
|
||||
|| lightingMode == LightingMode.Breathing
|
||||
|| lightingMode == LightingMode.ColorCycle
|
||||
|| lightingMode == LightingMode.React;
|
||||
}
|
||||
|
||||
public override LightingZone[] SupportedLightingZones()
|
||||
{
|
||||
return new LightingZone[] { LightingZone.Logo };
|
||||
}
|
||||
|
||||
public override int DPIIncrements()
|
||||
{
|
||||
return 100;
|
||||
}
|
||||
|
||||
|
||||
public override int MinDPI()
|
||||
{
|
||||
return 50;
|
||||
}
|
||||
|
||||
public override bool CanChangeDPIProfile()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public override int MaxBrightness()
|
||||
{
|
||||
return 4;
|
||||
}
|
||||
|
||||
public override bool HasLiftOffSetting()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public override bool HasAngleSnapping()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -130,5 +130,40 @@
|
||||
return 100;
|
||||
}
|
||||
|
||||
public override int MaxDPI()
|
||||
{
|
||||
return 8_000;
|
||||
}
|
||||
|
||||
public override int MinDPI()
|
||||
{
|
||||
return 100;
|
||||
}
|
||||
|
||||
public override int DPIIncrements()
|
||||
{
|
||||
return 50;
|
||||
}
|
||||
|
||||
public override bool HasDPIColors()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
protected override int ParseDPIProfile(byte[] packet)
|
||||
{
|
||||
return base.ParseDPIProfile(packet) + 1;
|
||||
}
|
||||
|
||||
protected override byte[] GetChangeDPIProfilePacket(int profile)
|
||||
{
|
||||
return new byte[] { reportId, 0x51, 0x31, 0x0A, 0x00, 0x04 };
|
||||
}
|
||||
|
||||
protected override byte[] GetChangeDPIProfilePacket2(int profile)
|
||||
{
|
||||
return new byte[] { reportId, 0x51, 0x31, 0x09, 0x00, (byte)(profile - 1) };
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
66
app/Peripherals/Mouse/Models/TUFM4Air.cs
Normal file
66
app/Peripherals/Mouse/Models/TUFM4Air.cs
Normal file
@@ -0,0 +1,66 @@
|
||||
namespace GHelper.Peripherals.Mouse.Models
|
||||
{
|
||||
//P307
|
||||
public class TUFM4Air : AsusMouse
|
||||
{
|
||||
public TUFM4Air() : base(0x0B05, 0x1A03, "mi_00", false)
|
||||
{
|
||||
}
|
||||
|
||||
public override int DPIProfileCount()
|
||||
{
|
||||
return 4;
|
||||
}
|
||||
|
||||
public override string GetDisplayName()
|
||||
{
|
||||
return "TUF GAMING M4 Air";
|
||||
}
|
||||
|
||||
|
||||
public override PollingRate[] SupportedPollingrates()
|
||||
{
|
||||
return new PollingRate[] {
|
||||
PollingRate.PR125Hz,
|
||||
PollingRate.PR250Hz,
|
||||
PollingRate.PR500Hz,
|
||||
PollingRate.PR1000Hz
|
||||
};
|
||||
}
|
||||
|
||||
public override int ProfileCount()
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
public override int MaxDPI()
|
||||
{
|
||||
return 16_000;
|
||||
}
|
||||
|
||||
public override bool HasLiftOffSetting()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public override bool HasAngleSnapping()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public override bool HasAngleTuning()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public override bool HasBattery()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public override int DPIIncrements()
|
||||
{
|
||||
return 100;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -7,7 +7,7 @@
|
||||
{
|
||||
}
|
||||
|
||||
public TUFM4Wirelss(ushort productId) : base(0x0B05, productId, "mi_00", true)
|
||||
public TUFM4Wirelss(ushort productId, bool wireless) : base(0x0B05, productId, "mi_00", wireless)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
//P310
|
||||
public class TUFM4WirelssCN : TUFM4Wirelss
|
||||
{
|
||||
public TUFM4WirelssCN() : base(0x1A8D)
|
||||
public TUFM4WirelssCN() : base(0x1A8D, true)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -101,4 +101,41 @@
|
||||
return "TX GAMING MOUSE (Wireless)";
|
||||
}
|
||||
}
|
||||
|
||||
//P519_Wireless
|
||||
public class TXGamingMini : TUFM4Wirelss
|
||||
{
|
||||
public TXGamingMini() : base(0x1AF5, true)
|
||||
{
|
||||
}
|
||||
|
||||
public TXGamingMini(ushort productId, bool wireless) : base(productId, wireless)
|
||||
{
|
||||
}
|
||||
|
||||
public override string GetDisplayName()
|
||||
{
|
||||
return "TX GAMING MOUSE Mini (Wireless)";
|
||||
}
|
||||
|
||||
public override bool HasXYDPI()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//P519_Wired
|
||||
public class TXGamingMiniWired : TXGamingMini
|
||||
{
|
||||
public TXGamingMiniWired() : base(0x1AF3, false)
|
||||
{
|
||||
}
|
||||
|
||||
public override string GetDisplayName()
|
||||
{
|
||||
return "TX GAMING MOUSE Mini (Wired)";
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -190,11 +190,13 @@ namespace GHelper.Peripherals
|
||||
DetectMouse(new GladiusIIOrigin());
|
||||
DetectMouse(new GladiusIIOriginPink());
|
||||
DetectMouse(new GladiusII());
|
||||
DetectMouse(new GladiusIIWireless());
|
||||
DetectMouse(new ROGKerisWireless());
|
||||
DetectMouse(new ROGKerisWirelessWired());
|
||||
DetectMouse(new ROGKeris());
|
||||
DetectMouse(new ROGKerisWirelessEvaEdition());
|
||||
DetectMouse(new ROGKerisWirelessEvaEditionWired());
|
||||
DetectMouse(new TUFM4Air());
|
||||
DetectMouse(new TUFM4Wirelss());
|
||||
DetectMouse(new TUFM4WirelssCN());
|
||||
DetectMouse(new StrixImpactIIWireless());
|
||||
@@ -212,6 +214,7 @@ namespace GHelper.Peripherals
|
||||
DetectMouse(new TUFM5());
|
||||
DetectMouse(new KerisWirelssAimpoint());
|
||||
DetectMouse(new KerisWirelssAimpointWired());
|
||||
DetectMouse(new KerisIIAceWired());
|
||||
DetectMouse(new PugioII());
|
||||
DetectMouse(new PugioIIWired());
|
||||
DetectMouse(new StrixImpactII());
|
||||
@@ -223,6 +226,9 @@ namespace GHelper.Peripherals
|
||||
DetectMouse(new StrixCarry());
|
||||
DetectMouse(new StrixImpactIII());
|
||||
DetectMouse(new StrixImpact());
|
||||
DetectMouse(new TXGamingMini());
|
||||
DetectMouse(new TXGamingMiniWired());
|
||||
DetectMouse(new Pugio());
|
||||
}
|
||||
|
||||
public static void DetectMouse(AsusMouse am)
|
||||
|
||||
@@ -69,6 +69,10 @@ namespace GHelper
|
||||
Logger.WriteLine("------------");
|
||||
Logger.WriteLine("App launched: " + AppConfig.GetModel() + " :" + Assembly.GetExecutingAssembly().GetName().Version.ToString() + CultureInfo.CurrentUICulture + (ProcessHelper.IsUserAdministrator() ? "." : ""));
|
||||
|
||||
var startCount = AppConfig.Get("start_count") + 1;
|
||||
AppConfig.Set("start_count", startCount);
|
||||
Logger.WriteLine("Start Count: " + startCount);
|
||||
|
||||
acpi = new AsusACPI();
|
||||
|
||||
if (!acpi.IsConnected() && AppConfig.IsASUS())
|
||||
@@ -208,16 +212,17 @@ namespace GHelper
|
||||
|
||||
|
||||
|
||||
public static void SetAutoModes(bool powerChanged = false, bool init = false)
|
||||
public static bool SetAutoModes(bool powerChanged = false, bool init = false)
|
||||
{
|
||||
|
||||
if (Math.Abs(DateTimeOffset.Now.ToUnixTimeMilliseconds() - lastAuto) < 3000) return;
|
||||
if (Math.Abs(DateTimeOffset.Now.ToUnixTimeMilliseconds() - lastAuto) < 3000) return false;
|
||||
lastAuto = DateTimeOffset.Now.ToUnixTimeMilliseconds();
|
||||
|
||||
isPlugged = SystemInformation.PowerStatus.PowerLineStatus;
|
||||
Logger.WriteLine("AutoSetting for " + isPlugged.ToString());
|
||||
|
||||
BatteryControl.AutoBattery(init);
|
||||
if (init) screenControl.InitMiniled();
|
||||
|
||||
inputDispatcher.Init();
|
||||
|
||||
@@ -240,6 +245,8 @@ namespace GHelper
|
||||
{
|
||||
settingsForm.AutoKeyboard();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private static void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)
|
||||
@@ -279,19 +286,22 @@ namespace GHelper
|
||||
}
|
||||
else
|
||||
{
|
||||
var screen = Screen.PrimaryScreen;
|
||||
if (screen is null) screen = Screen.FromControl(settingsForm);
|
||||
|
||||
settingsForm.Left = Screen.FromControl(settingsForm).WorkingArea.Width - 10 - settingsForm.Width;
|
||||
settingsForm.Top = Screen.FromControl(settingsForm).WorkingArea.Height - 10 - settingsForm.Height;
|
||||
settingsForm.Location = screen.WorkingArea.Location;
|
||||
settingsForm.Left = screen.WorkingArea.Width - 10 - settingsForm.Width;
|
||||
settingsForm.Top = screen.WorkingArea.Height - 10 - settingsForm.Height;
|
||||
|
||||
settingsForm.Show();
|
||||
settingsForm.Activate();
|
||||
|
||||
settingsForm.Left = Screen.FromControl(settingsForm).WorkingArea.Width - 10 - settingsForm.Width;
|
||||
settingsForm.Left = screen.WorkingArea.Width - 10 - settingsForm.Width;
|
||||
|
||||
if (AppConfig.IsAlly())
|
||||
settingsForm.Top = Math.Max(10, Screen.FromControl(settingsForm).Bounds.Height - 110 - settingsForm.Height);
|
||||
settingsForm.Top = Math.Max(10, screen.Bounds.Height - 110 - settingsForm.Height);
|
||||
else
|
||||
settingsForm.Top = Screen.FromControl(settingsForm).WorkingArea.Height - 10 - settingsForm.Height;
|
||||
settingsForm.Top = screen.WorkingArea.Height - 10 - settingsForm.Height;
|
||||
|
||||
settingsForm.VisualiseGPUMode();
|
||||
}
|
||||
|
||||
10
app/Properties/Resources.Designer.cs
generated
10
app/Properties/Resources.Designer.cs
generated
@@ -310,6 +310,16 @@ namespace GHelper.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap icons8_dollar_32 {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("icons8-dollar-32", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
|
||||
@@ -118,6 +118,9 @@
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="lighting_dot_48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\lighting_dot_48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="lighting_dot_24" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\lighting_dot_24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
@@ -139,14 +142,20 @@
|
||||
<data name="icons8-bicycle-48 (1)" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-bicycle-48 (1).png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="standard" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\standard.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="eco" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\eco.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_mute_unmute_96" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-mute-unmute-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_batterie_voll_geladen_48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-batterie-voll-geladen-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="lighting_dot_48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\lighting_dot_48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="icons8-spa-flower-48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-spa-flower-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-quit-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-quit-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
@@ -163,17 +172,17 @@
|
||||
<data name="icons8-automation-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-automation-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="light_standard" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\light-standard.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="brightness_up" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\brightness-up.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="brightness_down" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\brightness-down.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_processor_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-processor-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="MFont" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Font.otf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<data name="icons8-fiat-500-48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-fiat-500-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_touchpad_96" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-touchpad-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
@@ -184,12 +193,18 @@
|
||||
<data name="icons8-help-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-help-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="light_eco" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\light-eco.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-matrix-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-matrix-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-laptop-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-laptop-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="ally" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\ally.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_remove_64" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-remove-64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
@@ -211,8 +226,8 @@
|
||||
<data name="backlight" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\backlight.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-brightness-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-brightness-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="icons8-color-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-color-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-refresh-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-refresh-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
@@ -220,6 +235,9 @@
|
||||
<data name="icons8-hibernate-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-hibernate-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="ultimate" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\ultimate.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-keyboard-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-keyboard-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
@@ -250,8 +268,8 @@
|
||||
<data name="icons8-heartbeat-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-heartbeat-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="ally" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\ally.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="brightness_down" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\brightness-down.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="backlight_up" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\backlight-up.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
@@ -259,8 +277,8 @@
|
||||
<data name="backlight_down" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\backlight-down.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-spa-flower-48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-spa-flower-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="icons8-brightness-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-brightness-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="dot_standard" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\dot-standard.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
@@ -268,8 +286,11 @@
|
||||
<data name="icons8_rocket_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-rocket-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-fiat-500-48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-fiat-500-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="dark_eco" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\dark-eco.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-project-management-48 (1)" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-project-management-48 (1).png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_mauszeiger_50" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-mauszeiger-50.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
@@ -280,9 +301,15 @@
|
||||
<data name="icons8_ladende_batterie_48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-ladende-batterie-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="dark_standard" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\dark-standard.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_video_48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-video-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="MFont" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Font.otf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="dot_eco" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\dot-eco.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
@@ -298,9 +325,6 @@
|
||||
<data name="icons8_voltage_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-voltage-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-project-management-48 (1)" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-project-management-48 (1).png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-software-32-white" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-software-32-white.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
@@ -331,28 +355,7 @@
|
||||
<data name="icons8-charging-battery-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-charging-battery-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-color-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-color-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="dark_eco" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\dark-eco.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="dark_standard" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\dark-standard.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="eco" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\eco.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="light_eco" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\light-eco.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="light_standard" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\light-standard.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="standard" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\standard.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="ultimate" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\ultimate.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="icons8-dollar-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-dollar-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -800,4 +800,4 @@ Vil du stadig fortsætte?</value>
|
||||
<data name="Zoom" xml:space="preserve">
|
||||
<value>Zoom</value>
|
||||
</data>
|
||||
</root>
|
||||
</root>
|
||||
|
||||
@@ -741,7 +741,7 @@ Trotzdem fortfahren?</value>
|
||||
<value>Bildschirm umschalten</value>
|
||||
</data>
|
||||
<data name="ToggleTouchscreen" xml:space="preserve">
|
||||
<value>Toggle Touchscreen</value>
|
||||
<value>Touchscreen umschalten</value>
|
||||
</data>
|
||||
<data name="Touchscreen" xml:space="preserve">
|
||||
<value/>
|
||||
@@ -800,4 +800,4 @@ Trotzdem fortfahren?</value>
|
||||
<data name="Zoom" xml:space="preserve">
|
||||
<value>Zoom</value>
|
||||
</data>
|
||||
</root>
|
||||
</root>
|
||||
|
||||
@@ -624,7 +624,7 @@
|
||||
<value>Optimizado</value>
|
||||
</data>
|
||||
<data name="OptimizedGPUTooltip" xml:space="preserve">
|
||||
<value>Cambia a Eco con batería y a Estándar cuando está enchufado</value>
|
||||
<value>Cambiar a Eco con batería y a Estándar cuando está enchufado</value>
|
||||
</data>
|
||||
<data name="OptimizedUSBC" xml:space="preserve">
|
||||
<value>Deshabilitar dGPU con cargador USB-C en modo Optimizado</value>
|
||||
@@ -800,4 +800,4 @@
|
||||
<data name="Zoom" xml:space="preserve">
|
||||
<value>Zoom</value>
|
||||
</data>
|
||||
</root>
|
||||
</root>
|
||||
|
||||
@@ -226,7 +226,7 @@
|
||||
<value>Tout</value>
|
||||
</data>
|
||||
<data name="AuraZoneDock" xml:space="preserve">
|
||||
<value>Dock</value>
|
||||
<value>Station d'accueil</value>
|
||||
</data>
|
||||
<data name="AuraZoneLogo" xml:space="preserve">
|
||||
<value>Logo</value>
|
||||
@@ -495,7 +495,7 @@ Voulez-vous continuer ?</value>
|
||||
<value>Écran</value>
|
||||
</data>
|
||||
<data name="LEDStatusIndicators" xml:space="preserve">
|
||||
<value>LED Status Indicators</value>
|
||||
<value>Indicateurs d'état LED</value>
|
||||
</data>
|
||||
<data name="Lid" xml:space="preserve">
|
||||
<value>Capot</value>
|
||||
@@ -507,7 +507,7 @@ Voulez-vous continuer ?</value>
|
||||
<value>Éclairage</value>
|
||||
</data>
|
||||
<data name="LockScreen" xml:space="preserve">
|
||||
<value>Lock Screen</value>
|
||||
<value>Écran de verrouillage</value>
|
||||
</data>
|
||||
<data name="Logo" xml:space="preserve">
|
||||
<value>Logo</value>
|
||||
@@ -585,10 +585,10 @@ Voulez-vous continuer ?</value>
|
||||
<value>Synchroniser avec le pointeur</value>
|
||||
</data>
|
||||
<data name="Multizone" xml:space="preserve">
|
||||
<value>Multi Zone</value>
|
||||
<value>Multi-zones</value>
|
||||
</data>
|
||||
<data name="MultizoneStrong" xml:space="preserve">
|
||||
<value>Multi Zone Strong</value>
|
||||
<value>Forte zone multiple</value>
|
||||
</data>
|
||||
<data name="Muted" xml:space="preserve">
|
||||
<value>Son désactivé</value>
|
||||
@@ -741,7 +741,7 @@ Voulez-vous continuer ?</value>
|
||||
<value>Allumer l'écran</value>
|
||||
</data>
|
||||
<data name="ToggleTouchscreen" xml:space="preserve">
|
||||
<value>Toggle Touchscreen</value>
|
||||
<value>Activer/désactiver l'écran tactile</value>
|
||||
</data>
|
||||
<data name="Touchscreen" xml:space="preserve">
|
||||
<value/>
|
||||
@@ -800,4 +800,4 @@ Voulez-vous continuer ?</value>
|
||||
<data name="Zoom" xml:space="preserve">
|
||||
<value>Zoom</value>
|
||||
</data>
|
||||
</root>
|
||||
</root>
|
||||
|
||||
@@ -127,7 +127,7 @@
|
||||
<value>Restart your device to apply changes</value>
|
||||
</data>
|
||||
<data name="AlertAPUMemoryRestartTitle" xml:space="preserve">
|
||||
<value>Restart now?</value>
|
||||
<value>Újraindítás most?</value>
|
||||
</data>
|
||||
<data name="AlertDGPU" xml:space="preserve">
|
||||
<value>Úgy tűnik használatban van a GPU. Biztosan letiltod?</value>
|
||||
@@ -235,7 +235,7 @@
|
||||
<value>Görgetés</value>
|
||||
</data>
|
||||
<data name="AuraZoneUnderglow" xml:space="preserve">
|
||||
<value>Underglow</value>
|
||||
<value>Alsó világítás</value>
|
||||
</data>
|
||||
<data name="AutoApply" xml:space="preserve">
|
||||
<value>Automatikus alkalmazás</value>
|
||||
@@ -283,7 +283,7 @@
|
||||
<value>Akku állapot</value>
|
||||
</data>
|
||||
<data name="BatteryLimitFull" xml:space="preserve">
|
||||
<value>One time charge to 100%</value>
|
||||
<value>Egyszeri 100%-os feltöltés</value>
|
||||
</data>
|
||||
<data name="Binding" xml:space="preserve">
|
||||
<value>Binding</value>
|
||||
@@ -313,7 +313,7 @@
|
||||
<value>Fényerő növelése</value>
|
||||
</data>
|
||||
<data name="BWTrayIcon" xml:space="preserve">
|
||||
<value>Black and white tray icon</value>
|
||||
<value>Fekete-fehér tálca ikon</value>
|
||||
</data>
|
||||
<data name="Calibrate" xml:space="preserve">
|
||||
<value>Kalibrálás</value>
|
||||
@@ -325,10 +325,10 @@
|
||||
<value>Szín</value>
|
||||
</data>
|
||||
<data name="Contrast" xml:space="preserve">
|
||||
<value>Contrast</value>
|
||||
<value>Kontraszt</value>
|
||||
</data>
|
||||
<data name="Controller" xml:space="preserve">
|
||||
<value>Controller</value>
|
||||
<value>Kontroller</value>
|
||||
</data>
|
||||
<data name="CPUBoost" xml:space="preserve">
|
||||
<value>CPU gyorsítás</value>
|
||||
@@ -343,10 +343,10 @@
|
||||
<value>Alapért.</value>
|
||||
</data>
|
||||
<data name="DisableController" xml:space="preserve">
|
||||
<value>Disable Controller</value>
|
||||
<value>Kontoller letiltása</value>
|
||||
</data>
|
||||
<data name="DisableOnLidClose" xml:space="preserve">
|
||||
<value>Disable on lid close</value>
|
||||
<value>Letiltása képernyő lehajtásakor</value>
|
||||
</data>
|
||||
<data name="DisableOverdrive" xml:space="preserve">
|
||||
<value>Képernyőtúlhajtás letiltása</value>
|
||||
@@ -355,7 +355,7 @@
|
||||
<value>Merülés</value>
|
||||
</data>
|
||||
<data name="DownloadColorProfiles" xml:space="preserve">
|
||||
<value>Download Color Profiles</value>
|
||||
<value>Színprofilok letöltése</value>
|
||||
</data>
|
||||
<data name="DownloadUpdate" xml:space="preserve">
|
||||
<value>Letöltés</value>
|
||||
@@ -384,7 +384,7 @@ Do you still want to continue?</value>
|
||||
<value>Energia beállítások</value>
|
||||
</data>
|
||||
<data name="Export" xml:space="preserve">
|
||||
<value>Export Profile</value>
|
||||
<value>Profil exportálása</value>
|
||||
</data>
|
||||
<data name="Extra" xml:space="preserve">
|
||||
<value>Extra</value>
|
||||
@@ -420,16 +420,16 @@ Do you still want to continue?</value>
|
||||
<value>Venti + energia</value>
|
||||
</data>
|
||||
<data name="FlickerFreeDimming" xml:space="preserve">
|
||||
<value>Flicker-free Dimming</value>
|
||||
<value>Villogásmentes halványítás</value>
|
||||
</data>
|
||||
<data name="FnLock" xml:space="preserve">
|
||||
<value>Fn + F gyorsgombok feldolgozása Fn nélkül</value>
|
||||
</data>
|
||||
<data name="FnLockOff" xml:space="preserve">
|
||||
<value>FN-Lock Off</value>
|
||||
<value>Fn-Lock Ki</value>
|
||||
</data>
|
||||
<data name="FnLockOn" xml:space="preserve">
|
||||
<value>FN-Lock On</value>
|
||||
<value>Fn-Lock Be</value>
|
||||
</data>
|
||||
<data name="GPUBoost" xml:space="preserve">
|
||||
<value>Dinamikus gyorsítás</value>
|
||||
@@ -474,7 +474,7 @@ Do you still want to continue?</value>
|
||||
<value>Image Rotation</value>
|
||||
</data>
|
||||
<data name="Import" xml:space="preserve">
|
||||
<value>Import Profile</value>
|
||||
<value>Profil importálása</value>
|
||||
</data>
|
||||
<data name="KeyBindings" xml:space="preserve">
|
||||
<value>Gyorsbillentyűk</value>
|
||||
@@ -495,7 +495,7 @@ Do you still want to continue?</value>
|
||||
<value>Laptop kijelző</value>
|
||||
</data>
|
||||
<data name="LEDStatusIndicators" xml:space="preserve">
|
||||
<value>LED Status Indicators</value>
|
||||
<value>LED Állapotjelzők</value>
|
||||
</data>
|
||||
<data name="Lid" xml:space="preserve">
|
||||
<value>Fedél</value>
|
||||
@@ -507,7 +507,7 @@ Do you still want to continue?</value>
|
||||
<value>Világítás</value>
|
||||
</data>
|
||||
<data name="LockScreen" xml:space="preserve">
|
||||
<value>Lock Screen</value>
|
||||
<value>Képernyő zarolása</value>
|
||||
</data>
|
||||
<data name="Logo" xml:space="preserve">
|
||||
<value>Logó</value>
|
||||
@@ -591,7 +591,7 @@ Do you still want to continue?</value>
|
||||
<value>Multi Zone Strong</value>
|
||||
</data>
|
||||
<data name="Muted" xml:space="preserve">
|
||||
<value>Muted</value>
|
||||
<value>Mikrofon Ki</value>
|
||||
</data>
|
||||
<data name="MuteMic" xml:space="preserve">
|
||||
<value>Mikrofon némítása</value>
|
||||
@@ -609,10 +609,10 @@ Do you still want to continue?</value>
|
||||
<value>Nincs csatlakoztatva</value>
|
||||
</data>
|
||||
<data name="Off" xml:space="preserve">
|
||||
<value>Off</value>
|
||||
<value>Ki</value>
|
||||
</data>
|
||||
<data name="On" xml:space="preserve">
|
||||
<value>On</value>
|
||||
<value>Be</value>
|
||||
</data>
|
||||
<data name="OneZone" xml:space="preserve">
|
||||
<value>One Zone</value>
|
||||
@@ -687,10 +687,10 @@ Do you still want to continue?</value>
|
||||
<value>Scaling Quality</value>
|
||||
</data>
|
||||
<data name="ScreenPadDown" xml:space="preserve">
|
||||
<value>Screenpad Brightness Down</value>
|
||||
<value>Screenpad fényerő csökkentése</value>
|
||||
</data>
|
||||
<data name="ScreenPadUp" xml:space="preserve">
|
||||
<value>Screenpad Brightness Up</value>
|
||||
<value>Screenpad fényerő növelése</value>
|
||||
</data>
|
||||
<data name="Shutdown" xml:space="preserve">
|
||||
<value>Leállítás</value>
|
||||
@@ -741,7 +741,7 @@ Do you still want to continue?</value>
|
||||
<value>Képernyő ki-/bekapcsolása</value>
|
||||
</data>
|
||||
<data name="ToggleTouchscreen" xml:space="preserve">
|
||||
<value>Toggle Touchscreen</value>
|
||||
<value>Érintőképernyő ki-/bekapcsolása</value>
|
||||
</data>
|
||||
<data name="Touchscreen" xml:space="preserve">
|
||||
<value/>
|
||||
@@ -765,7 +765,7 @@ Do you still want to continue?</value>
|
||||
<value>Undervolting is an experimental and risky feature. If applied values are too low for your hardware, it can become unstable, shut down or cause data corruption. If you want to try - start from small values first, click Apply and test what works for you.</value>
|
||||
</data>
|
||||
<data name="Unmuted" xml:space="preserve">
|
||||
<value>Unmuted</value>
|
||||
<value>Mikrofon Be</value>
|
||||
</data>
|
||||
<data name="Updates" xml:space="preserve">
|
||||
<value>Frissítések</value>
|
||||
@@ -777,7 +777,7 @@ Do you still want to continue?</value>
|
||||
<value>Vibration Strength</value>
|
||||
</data>
|
||||
<data name="VisualMode" xml:space="preserve">
|
||||
<value>Visual Mode</value>
|
||||
<value>Képernyőszín Mód</value>
|
||||
</data>
|
||||
<data name="VisualModesHDR" xml:space="preserve">
|
||||
<value>Visual Modes are not available when HDR is active</value>
|
||||
@@ -800,4 +800,4 @@ Do you still want to continue?</value>
|
||||
<data name="Zoom" xml:space="preserve">
|
||||
<value>Zoom</value>
|
||||
</data>
|
||||
</root>
|
||||
</root>
|
||||
|
||||
@@ -800,4 +800,4 @@ Apakah Anda masih ingin melanjutkan?</value>
|
||||
<data name="Zoom" xml:space="preserve">
|
||||
<value>Perbesar</value>
|
||||
</data>
|
||||
</root>
|
||||
</root>
|
||||
|
||||
@@ -800,4 +800,4 @@ Sei sicuro di voler continuare?</value>
|
||||
<data name="Zoom" xml:space="preserve">
|
||||
<value>Zoom</value>
|
||||
</data>
|
||||
</root>
|
||||
</root>
|
||||
|
||||
803
app/Properties/Strings.ja.resx
Normal file
803
app/Properties/Strings.ja.resx
Normal file
@@ -0,0 +1,803 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string"/>
|
||||
<xsd:attribute name="type" type="xsd:string"/>
|
||||
<xsd:attribute name="mimetype" type="xsd:string"/>
|
||||
<xsd:attribute ref="xml:space"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string"/>
|
||||
<xsd:attribute name="name" type="xsd:string"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/>
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/>
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/>
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/>
|
||||
<xsd:attribute ref="xml:space"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="Acceleration" xml:space="preserve">
|
||||
<value>Acceleration</value>
|
||||
</data>
|
||||
<data name="ACPIError" xml:space="preserve">
|
||||
<value>Can't connect to ASUS ACPI. Application can't function without it. Try to install Asus System Control Interface</value>
|
||||
</data>
|
||||
<data name="AlertAPUMemoryRestart" xml:space="preserve">
|
||||
<value>Restart your device to apply changes</value>
|
||||
</data>
|
||||
<data name="AlertAPUMemoryRestartTitle" xml:space="preserve">
|
||||
<value>Restart now?</value>
|
||||
</data>
|
||||
<data name="AlertDGPU" xml:space="preserve">
|
||||
<value>Looks like GPU is in heavy use, disable it?</value>
|
||||
</data>
|
||||
<data name="AlertDGPUTitle" xml:space="preserve">
|
||||
<value>Eco Mode</value>
|
||||
</data>
|
||||
<data name="AlertUltimateOff" xml:space="preserve">
|
||||
<value>Switching off Ultimate Mode requires restart</value>
|
||||
</data>
|
||||
<data name="AlertUltimateOn" xml:space="preserve">
|
||||
<value>Ultimate Mode requires restart</value>
|
||||
</data>
|
||||
<data name="AlertUltimateTitle" xml:space="preserve">
|
||||
<value>Reboot now?</value>
|
||||
</data>
|
||||
<data name="AllyController" xml:space="preserve">
|
||||
<value>Ally Controller</value>
|
||||
</data>
|
||||
<data name="AnimationSpeed" xml:space="preserve">
|
||||
<value>Animation Speed</value>
|
||||
</data>
|
||||
<data name="AnimeMatrix" xml:space="preserve">
|
||||
<value>Anime Matrix</value>
|
||||
</data>
|
||||
<data name="AppAlreadyRunning" xml:space="preserve">
|
||||
<value>App already running</value>
|
||||
</data>
|
||||
<data name="AppAlreadyRunningText" xml:space="preserve">
|
||||
<value>G-Helper is already running. Check system tray for an icon.</value>
|
||||
</data>
|
||||
<data name="Apply" xml:space="preserve">
|
||||
<value>Apply</value>
|
||||
</data>
|
||||
<data name="ApplyFanCurve" xml:space="preserve">
|
||||
<value>Apply Custom Fan Curve</value>
|
||||
</data>
|
||||
<data name="ApplyPowerLimits" xml:space="preserve">
|
||||
<value>Apply Power Limits</value>
|
||||
</data>
|
||||
<data name="ApplyWindowsPowerPlan" xml:space="preserve">
|
||||
<value>Auto adjust Windows Power Modes</value>
|
||||
</data>
|
||||
<data name="APUMemory" xml:space="preserve">
|
||||
<value>Memory Assigned to GPU</value>
|
||||
</data>
|
||||
<data name="AsusServicesRunning" xml:space="preserve">
|
||||
<value>Asus Services Running</value>
|
||||
</data>
|
||||
<data name="AuraBatteryState" xml:space="preserve">
|
||||
<value>Battery State</value>
|
||||
</data>
|
||||
<data name="AuraBreathe" xml:space="preserve">
|
||||
<value>Breathe</value>
|
||||
</data>
|
||||
<data name="AuraClockwise" xml:space="preserve">
|
||||
<value>Clockwise</value>
|
||||
</data>
|
||||
<data name="AuraColorCycle" xml:space="preserve">
|
||||
<value>Color Cycle</value>
|
||||
</data>
|
||||
<data name="AuraComet" xml:space="preserve">
|
||||
<value>Comet</value>
|
||||
</data>
|
||||
<data name="AuraCounterClockwise" xml:space="preserve">
|
||||
<value>Counterclockwise</value>
|
||||
</data>
|
||||
<data name="AuraFast" xml:space="preserve">
|
||||
<value>Fast</value>
|
||||
</data>
|
||||
<data name="AuraLightingMode" xml:space="preserve">
|
||||
<value>Lighting Mode</value>
|
||||
</data>
|
||||
<data name="AuraNormal" xml:space="preserve">
|
||||
<value>Normal</value>
|
||||
</data>
|
||||
<data name="AuraRainbow" xml:space="preserve">
|
||||
<value>Rainbow</value>
|
||||
</data>
|
||||
<data name="AuraRandomColor" xml:space="preserve">
|
||||
<value>Random</value>
|
||||
</data>
|
||||
<data name="AuraReact" xml:space="preserve">
|
||||
<value>React</value>
|
||||
</data>
|
||||
<data name="AuraSlow" xml:space="preserve">
|
||||
<value>Slow</value>
|
||||
</data>
|
||||
<data name="AuraStatic" xml:space="preserve">
|
||||
<value>Static</value>
|
||||
</data>
|
||||
<data name="AuraStrobe" xml:space="preserve">
|
||||
<value>Strobe</value>
|
||||
</data>
|
||||
<data name="AuraZoneAll" xml:space="preserve">
|
||||
<value>All</value>
|
||||
</data>
|
||||
<data name="AuraZoneDock" xml:space="preserve">
|
||||
<value>Dock</value>
|
||||
</data>
|
||||
<data name="AuraZoneLogo" xml:space="preserve">
|
||||
<value>Logo</value>
|
||||
</data>
|
||||
<data name="AuraZoneScroll" xml:space="preserve">
|
||||
<value>Scrollwheel</value>
|
||||
</data>
|
||||
<data name="AuraZoneUnderglow" xml:space="preserve">
|
||||
<value>Underglow</value>
|
||||
</data>
|
||||
<data name="AutoApply" xml:space="preserve">
|
||||
<value>Auto Apply</value>
|
||||
</data>
|
||||
<data name="AutoMode" xml:space="preserve">
|
||||
<value>Auto</value>
|
||||
</data>
|
||||
<data name="AutoRefreshTooltip" xml:space="preserve">
|
||||
<value>Sets 60Hz to save battery, and back when plugged</value>
|
||||
</data>
|
||||
<data name="Awake" xml:space="preserve">
|
||||
<value>Awake</value>
|
||||
</data>
|
||||
<data name="BacklightLow" xml:space="preserve">
|
||||
<value>Low</value>
|
||||
</data>
|
||||
<data name="BacklightMax" xml:space="preserve">
|
||||
<value>Max</value>
|
||||
</data>
|
||||
<data name="BacklightMid" xml:space="preserve">
|
||||
<value>Mid</value>
|
||||
</data>
|
||||
<data name="BacklightOff" xml:space="preserve">
|
||||
<value>Off</value>
|
||||
</data>
|
||||
<data name="BacklightTimeout" xml:space="preserve">
|
||||
<value>Timeout plugged / on battery (0 - ON)</value>
|
||||
</data>
|
||||
<data name="BacklightTimeoutBattery" xml:space="preserve">
|
||||
<value>Backlight Timeout when on battery</value>
|
||||
</data>
|
||||
<data name="BacklightTimeoutPlugged" xml:space="preserve">
|
||||
<value>Backlight Timeout when plugged</value>
|
||||
</data>
|
||||
<data name="Balanced" xml:space="preserve">
|
||||
<value>Balanced</value>
|
||||
</data>
|
||||
<data name="BatteryCharge" xml:space="preserve">
|
||||
<value>Charge</value>
|
||||
</data>
|
||||
<data name="BatteryChargeLimit" xml:space="preserve">
|
||||
<value>Battery Charge Limit</value>
|
||||
</data>
|
||||
<data name="BatteryHealth" xml:space="preserve">
|
||||
<value>Battery Health</value>
|
||||
</data>
|
||||
<data name="BatteryLimitFull" xml:space="preserve">
|
||||
<value>One time charge to 100%</value>
|
||||
</data>
|
||||
<data name="Binding" xml:space="preserve">
|
||||
<value>Binding</value>
|
||||
</data>
|
||||
<data name="BindingPrimary" xml:space="preserve">
|
||||
<value>Primary</value>
|
||||
</data>
|
||||
<data name="BindingSecondary" xml:space="preserve">
|
||||
<value>Secondary</value>
|
||||
</data>
|
||||
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
||||
<value>BIOS and Driver Updates</value>
|
||||
</data>
|
||||
<data name="Boot" xml:space="preserve">
|
||||
<value>Boot</value>
|
||||
</data>
|
||||
<data name="BootSound" xml:space="preserve">
|
||||
<value>Boot Sound</value>
|
||||
</data>
|
||||
<data name="Brightness" xml:space="preserve">
|
||||
<value>Brightness</value>
|
||||
</data>
|
||||
<data name="BrightnessDown" xml:space="preserve">
|
||||
<value>Brightness Down</value>
|
||||
</data>
|
||||
<data name="BrightnessUp" xml:space="preserve">
|
||||
<value>Brightness Up</value>
|
||||
</data>
|
||||
<data name="BWTrayIcon" xml:space="preserve">
|
||||
<value>Black and white tray icon</value>
|
||||
</data>
|
||||
<data name="Calibrate" xml:space="preserve">
|
||||
<value>Calibrate</value>
|
||||
</data>
|
||||
<data name="Charging" xml:space="preserve">
|
||||
<value>Charging</value>
|
||||
</data>
|
||||
<data name="Color" xml:space="preserve">
|
||||
<value>Color</value>
|
||||
</data>
|
||||
<data name="Contrast" xml:space="preserve">
|
||||
<value>Contrast</value>
|
||||
</data>
|
||||
<data name="Controller" xml:space="preserve">
|
||||
<value>Controller</value>
|
||||
</data>
|
||||
<data name="CPUBoost" xml:space="preserve">
|
||||
<value>CPU Boost</value>
|
||||
</data>
|
||||
<data name="Custom" xml:space="preserve">
|
||||
<value>Custom</value>
|
||||
</data>
|
||||
<data name="Deceleration" xml:space="preserve">
|
||||
<value>Deceleration</value>
|
||||
</data>
|
||||
<data name="Default" xml:space="preserve">
|
||||
<value>Default</value>
|
||||
</data>
|
||||
<data name="DisableController" xml:space="preserve">
|
||||
<value>Disable Controller</value>
|
||||
</data>
|
||||
<data name="DisableOnLidClose" xml:space="preserve">
|
||||
<value>Disable on lid close</value>
|
||||
</data>
|
||||
<data name="DisableOverdrive" xml:space="preserve">
|
||||
<value>Disable screen overdrive</value>
|
||||
</data>
|
||||
<data name="Discharging" xml:space="preserve">
|
||||
<value>Discharging</value>
|
||||
</data>
|
||||
<data name="DownloadColorProfiles" xml:space="preserve">
|
||||
<value>Download Color Profiles</value>
|
||||
</data>
|
||||
<data name="DownloadUpdate" xml:space="preserve">
|
||||
<value>Download</value>
|
||||
</data>
|
||||
<data name="DriverAndSoftware" xml:space="preserve">
|
||||
<value>Drivers and Software</value>
|
||||
</data>
|
||||
<data name="EcoGPUTooltip" xml:space="preserve">
|
||||
<value>Disables dGPU to save battery</value>
|
||||
</data>
|
||||
<data name="EcoMode" xml:space="preserve">
|
||||
<value>Eco</value>
|
||||
</data>
|
||||
<data name="EnableGPUOnShutdown" xml:space="preserve">
|
||||
<value>Enable GPU on shutdown (prevents issue with Eco mode)</value>
|
||||
</data>
|
||||
<data name="EnableOptimusText" xml:space="preserve">
|
||||
<value>Disabling the dGPU by going into Eco mode while Display Mode in NVIDIA Control Panel is not set to Optimus might cause problems with brightness controls until after the next reboot.
|
||||
|
||||
Do you still want to continue?</value>
|
||||
</data>
|
||||
<data name="EnableOptimusTitle" xml:space="preserve">
|
||||
<value>NVIDIA Display Mode is not set to Optimus</value>
|
||||
</data>
|
||||
<data name="EnergySettings" xml:space="preserve">
|
||||
<value>Energy Settings</value>
|
||||
</data>
|
||||
<data name="Export" xml:space="preserve">
|
||||
<value>Export Profile</value>
|
||||
</data>
|
||||
<data name="Extra" xml:space="preserve">
|
||||
<value>Extra</value>
|
||||
</data>
|
||||
<data name="ExtraSettings" xml:space="preserve">
|
||||
<value>Extra Settings</value>
|
||||
</data>
|
||||
<data name="FactoryDefaults" xml:space="preserve">
|
||||
<value>Factory Defaults</value>
|
||||
</data>
|
||||
<data name="FanCurves" xml:space="preserve">
|
||||
<value>Fan Curves</value>
|
||||
</data>
|
||||
<data name="FanProfileCPU" xml:space="preserve">
|
||||
<value>CPU Fan Profile</value>
|
||||
</data>
|
||||
<data name="FanProfileGPU" xml:space="preserve">
|
||||
<value>GPU Fan Profile</value>
|
||||
</data>
|
||||
<data name="FanProfileMid" xml:space="preserve">
|
||||
<value>Mid Fan Profile</value>
|
||||
</data>
|
||||
<data name="FanProfiles" xml:space="preserve">
|
||||
<value>Fan Profiles</value>
|
||||
</data>
|
||||
<data name="FansAndPower" xml:space="preserve">
|
||||
<value>Fans and Power</value>
|
||||
</data>
|
||||
<data name="FanSpeed" xml:space="preserve">
|
||||
<value>Fan</value>
|
||||
</data>
|
||||
<data name="FansPower" xml:space="preserve">
|
||||
<value>Fans + Power</value>
|
||||
</data>
|
||||
<data name="FlickerFreeDimming" xml:space="preserve">
|
||||
<value>Flicker-free Dimming</value>
|
||||
</data>
|
||||
<data name="FnLock" xml:space="preserve">
|
||||
<value>Process Fn+F hotkeys without Fn</value>
|
||||
</data>
|
||||
<data name="FnLockOff" xml:space="preserve">
|
||||
<value>FN-Lock Off</value>
|
||||
</data>
|
||||
<data name="FnLockOn" xml:space="preserve">
|
||||
<value>FN-Lock On</value>
|
||||
</data>
|
||||
<data name="GPUBoost" xml:space="preserve">
|
||||
<value>Dynamic Boost</value>
|
||||
</data>
|
||||
<data name="GPUChanging" xml:space="preserve">
|
||||
<value>Changing</value>
|
||||
</data>
|
||||
<data name="GPUCoreClockOffset" xml:space="preserve">
|
||||
<value>Core Clock Offset</value>
|
||||
</data>
|
||||
<data name="GPUMemoryClockOffset" xml:space="preserve">
|
||||
<value>Memory Clock Offset</value>
|
||||
</data>
|
||||
<data name="GPUMode" xml:space="preserve">
|
||||
<value>GPU Mode</value>
|
||||
</data>
|
||||
<data name="GPUModeEco" xml:space="preserve">
|
||||
<value>iGPU only</value>
|
||||
</data>
|
||||
<data name="GPUModeStandard" xml:space="preserve">
|
||||
<value>iGPU + dGPU</value>
|
||||
</data>
|
||||
<data name="GPUModeUltimate" xml:space="preserve">
|
||||
<value>dGPU exclusive</value>
|
||||
</data>
|
||||
<data name="GPUPower" xml:space="preserve">
|
||||
<value>GPU Power</value>
|
||||
</data>
|
||||
<data name="GPUSettings" xml:space="preserve">
|
||||
<value>GPU Settings</value>
|
||||
</data>
|
||||
<data name="GPUTempTarget" xml:space="preserve">
|
||||
<value>Temperature Target</value>
|
||||
</data>
|
||||
<data name="HibernateAfter" xml:space="preserve">
|
||||
<value>Minutes till Hibernation in sleep on battery (0 - OFF)</value>
|
||||
</data>
|
||||
<data name="High" xml:space="preserve">
|
||||
<value>High</value>
|
||||
</data>
|
||||
<data name="ImageRotation" xml:space="preserve">
|
||||
<value>Image Rotation</value>
|
||||
</data>
|
||||
<data name="Import" xml:space="preserve">
|
||||
<value>Import Profile</value>
|
||||
</data>
|
||||
<data name="KeyBindings" xml:space="preserve">
|
||||
<value>Key Bindings</value>
|
||||
</data>
|
||||
<data name="Keyboard" xml:space="preserve">
|
||||
<value>Keyboard</value>
|
||||
</data>
|
||||
<data name="KillGpuApps" xml:space="preserve">
|
||||
<value>Stop all apps using GPU when switching to Eco</value>
|
||||
</data>
|
||||
<data name="LaptopBacklight" xml:space="preserve">
|
||||
<value>Laptop Backlight</value>
|
||||
</data>
|
||||
<data name="LaptopKeyboard" xml:space="preserve">
|
||||
<value>Laptop Keyboard</value>
|
||||
</data>
|
||||
<data name="LaptopScreen" xml:space="preserve">
|
||||
<value>Laptop Screen</value>
|
||||
</data>
|
||||
<data name="LEDStatusIndicators" xml:space="preserve">
|
||||
<value>LED Status Indicators</value>
|
||||
</data>
|
||||
<data name="Lid" xml:space="preserve">
|
||||
<value>Lid</value>
|
||||
</data>
|
||||
<data name="Lightbar" xml:space="preserve">
|
||||
<value>Lightbar</value>
|
||||
</data>
|
||||
<data name="Lighting" xml:space="preserve">
|
||||
<value>Lighting</value>
|
||||
</data>
|
||||
<data name="LockScreen" xml:space="preserve">
|
||||
<value>Lock Screen</value>
|
||||
</data>
|
||||
<data name="Logo" xml:space="preserve">
|
||||
<value>Logo</value>
|
||||
</data>
|
||||
<data name="Low" xml:space="preserve">
|
||||
<value>Low</value>
|
||||
</data>
|
||||
<data name="LSDeadzones" xml:space="preserve">
|
||||
<value>Left Stick Deadzones</value>
|
||||
</data>
|
||||
<data name="LTDeadzones" xml:space="preserve">
|
||||
<value>Left Trigger Deadzones</value>
|
||||
</data>
|
||||
<data name="MatrixAudio" xml:space="preserve">
|
||||
<value>Audio Visualizer</value>
|
||||
</data>
|
||||
<data name="MatrixBanner" xml:space="preserve">
|
||||
<value>Binary Banner</value>
|
||||
</data>
|
||||
<data name="MatrixBright" xml:space="preserve">
|
||||
<value>Bright</value>
|
||||
</data>
|
||||
<data name="MatrixClock" xml:space="preserve">
|
||||
<value>Clock</value>
|
||||
</data>
|
||||
<data name="MatrixDim" xml:space="preserve">
|
||||
<value>Dim</value>
|
||||
</data>
|
||||
<data name="MatrixLogo" xml:space="preserve">
|
||||
<value>Rog Logo</value>
|
||||
</data>
|
||||
<data name="MatrixMedium" xml:space="preserve">
|
||||
<value>Medium</value>
|
||||
</data>
|
||||
<data name="MatrixOff" xml:space="preserve">
|
||||
<value>Off</value>
|
||||
</data>
|
||||
<data name="MatrixPicture" xml:space="preserve">
|
||||
<value>Picture</value>
|
||||
</data>
|
||||
<data name="MaxRefreshTooltip" xml:space="preserve">
|
||||
<value>Max refresh rate for lower latency</value>
|
||||
</data>
|
||||
<data name="MinRefreshTooltip" xml:space="preserve">
|
||||
<value>60Hz refresh rate to save battery</value>
|
||||
</data>
|
||||
<data name="Minute" xml:space="preserve">
|
||||
<value>Minute</value>
|
||||
</data>
|
||||
<data name="Minutes" xml:space="preserve">
|
||||
<value>Minutes</value>
|
||||
</data>
|
||||
<data name="MouseAngleSnapping" xml:space="preserve">
|
||||
<value>Angle Snapping</value>
|
||||
</data>
|
||||
<data name="MouseAutoPowerOff" xml:space="preserve">
|
||||
<value>Auto Power Off After</value>
|
||||
</data>
|
||||
<data name="MouseButtonResponse" xml:space="preserve">
|
||||
<value>Button Response</value>
|
||||
</data>
|
||||
<data name="MouseImportFailed" xml:space="preserve">
|
||||
<value>Import failed. Selected file is not a valid mouse profile or corrutpted.</value>
|
||||
</data>
|
||||
<data name="MouseLiftOffDistance" xml:space="preserve">
|
||||
<value>Lift Off Distance</value>
|
||||
</data>
|
||||
<data name="MouseLowBatteryWarning" xml:space="preserve">
|
||||
<value>Low Battery Warning at</value>
|
||||
</data>
|
||||
<data name="MousePerformance" xml:space="preserve">
|
||||
<value>Performance</value>
|
||||
</data>
|
||||
<data name="MouseSynchronize" xml:space="preserve">
|
||||
<value>Synchronize with mouse</value>
|
||||
</data>
|
||||
<data name="Multizone" xml:space="preserve">
|
||||
<value>Multi Zone</value>
|
||||
</data>
|
||||
<data name="MultizoneStrong" xml:space="preserve">
|
||||
<value>Multi Zone Strong</value>
|
||||
</data>
|
||||
<data name="Muted" xml:space="preserve">
|
||||
<value>Muted</value>
|
||||
</data>
|
||||
<data name="MuteMic" xml:space="preserve">
|
||||
<value>Mute Mic</value>
|
||||
</data>
|
||||
<data name="Never" xml:space="preserve">
|
||||
<value>Never</value>
|
||||
</data>
|
||||
<data name="NewUpdates" xml:space="preserve">
|
||||
<value>New updates</value>
|
||||
</data>
|
||||
<data name="NoNewUpdates" xml:space="preserve">
|
||||
<value>No new updates</value>
|
||||
</data>
|
||||
<data name="NotConnected" xml:space="preserve">
|
||||
<value>Not Connected</value>
|
||||
</data>
|
||||
<data name="Off" xml:space="preserve">
|
||||
<value>Off</value>
|
||||
</data>
|
||||
<data name="On" xml:space="preserve">
|
||||
<value>On</value>
|
||||
</data>
|
||||
<data name="OneZone" xml:space="preserve">
|
||||
<value>One Zone</value>
|
||||
</data>
|
||||
<data name="OpenGHelper" xml:space="preserve">
|
||||
<value>Open G-Helper window</value>
|
||||
</data>
|
||||
<data name="Optimized" xml:space="preserve">
|
||||
<value>Optimized</value>
|
||||
</data>
|
||||
<data name="OptimizedGPUTooltip" xml:space="preserve">
|
||||
<value>Switch to Eco on battery and to Standard when plugged in</value>
|
||||
</data>
|
||||
<data name="OptimizedUSBC" xml:space="preserve">
|
||||
<value>Keep GPU disabled on USB-C charger in Optimized mode</value>
|
||||
</data>
|
||||
<data name="Other" xml:space="preserve">
|
||||
<value>Other</value>
|
||||
</data>
|
||||
<data name="Overdrive" xml:space="preserve">
|
||||
<value>Overdrive</value>
|
||||
</data>
|
||||
<data name="PerformanceMode" xml:space="preserve">
|
||||
<value>Mode</value>
|
||||
</data>
|
||||
<data name="Peripherals" xml:space="preserve">
|
||||
<value>Peripherals</value>
|
||||
</data>
|
||||
<data name="PictureGif" xml:space="preserve">
|
||||
<value>Picture / Gif</value>
|
||||
</data>
|
||||
<data name="PlayPause" xml:space="preserve">
|
||||
<value>Play / Pause</value>
|
||||
</data>
|
||||
<data name="PollingRate" xml:space="preserve">
|
||||
<value>Polling Rate</value>
|
||||
</data>
|
||||
<data name="PowerLimits" xml:space="preserve">
|
||||
<value>Power Limits</value>
|
||||
</data>
|
||||
<data name="PPTExperimental" xml:space="preserve">
|
||||
<value>Power Limits is an experimental feature. Use carefully and at your own risk!</value>
|
||||
</data>
|
||||
<data name="PrintScreen" xml:space="preserve">
|
||||
<value>PrintScreen</value>
|
||||
</data>
|
||||
<data name="Profile" xml:space="preserve">
|
||||
<value>Profile</value>
|
||||
</data>
|
||||
<data name="Quit" xml:space="preserve">
|
||||
<value>Quit</value>
|
||||
</data>
|
||||
<data name="Reset" xml:space="preserve">
|
||||
<value>Reset</value>
|
||||
</data>
|
||||
<data name="RestartGPU" xml:space="preserve">
|
||||
<value>Something is using dGPU and preventing Eco mode. Let G-Helper try to restart dGPU in device manager? (Please proceed at your own risk)</value>
|
||||
</data>
|
||||
<data name="RPM" xml:space="preserve">
|
||||
<value>RPM</value>
|
||||
</data>
|
||||
<data name="RSDeadzones" xml:space="preserve">
|
||||
<value>Right Stick Deadzones</value>
|
||||
</data>
|
||||
<data name="RTDeadzones" xml:space="preserve">
|
||||
<value>Right Trigger Deadzones</value>
|
||||
</data>
|
||||
<data name="RunOnStartup" xml:space="preserve">
|
||||
<value>Run on Startup</value>
|
||||
</data>
|
||||
<data name="ScalingQuality" xml:space="preserve">
|
||||
<value>Scaling Quality</value>
|
||||
</data>
|
||||
<data name="ScreenPadDown" xml:space="preserve">
|
||||
<value>Screenpad Brightness Down</value>
|
||||
</data>
|
||||
<data name="ScreenPadUp" xml:space="preserve">
|
||||
<value>Screenpad Brightness Up</value>
|
||||
</data>
|
||||
<data name="Shutdown" xml:space="preserve">
|
||||
<value>Shutdown</value>
|
||||
</data>
|
||||
<data name="Silent" xml:space="preserve">
|
||||
<value>Silent</value>
|
||||
</data>
|
||||
<data name="Sleep" xml:space="preserve">
|
||||
<value>Sleep</value>
|
||||
</data>
|
||||
<data name="StandardGPUTooltip" xml:space="preserve">
|
||||
<value>Enables dGPU for standard use</value>
|
||||
</data>
|
||||
<data name="StandardMode" xml:space="preserve">
|
||||
<value>Standard</value>
|
||||
</data>
|
||||
<data name="Start" xml:space="preserve">
|
||||
<value>Start</value>
|
||||
</data>
|
||||
<data name="StartingServices" xml:space="preserve">
|
||||
<value>Starting Services</value>
|
||||
</data>
|
||||
<data name="StartupError" xml:space="preserve">
|
||||
<value>Startup Error</value>
|
||||
</data>
|
||||
<data name="Stop" xml:space="preserve">
|
||||
<value>Stop</value>
|
||||
</data>
|
||||
<data name="StopGPUApps" xml:space="preserve">
|
||||
<value>Stop GPU Applications</value>
|
||||
</data>
|
||||
<data name="StoppingServices" xml:space="preserve">
|
||||
<value>Stopping Services</value>
|
||||
</data>
|
||||
<data name="ToggleAura" xml:space="preserve">
|
||||
<value>Toggle Aura</value>
|
||||
</data>
|
||||
<data name="ToggleClamshellMode" xml:space="preserve">
|
||||
<value>Auto Toggle Clamshell Mode</value>
|
||||
</data>
|
||||
<data name="ToggleFnLock" xml:space="preserve">
|
||||
<value>Toggle Fn-Lock</value>
|
||||
</data>
|
||||
<data name="ToggleMiniled" xml:space="preserve">
|
||||
<value>Toggle Miniled (if supported)</value>
|
||||
</data>
|
||||
<data name="ToggleScreen" xml:space="preserve">
|
||||
<value>Toggle Screen</value>
|
||||
</data>
|
||||
<data name="ToggleTouchscreen" xml:space="preserve">
|
||||
<value>Toggle Touchscreen</value>
|
||||
</data>
|
||||
<data name="Touchscreen" xml:space="preserve">
|
||||
<value/>
|
||||
</data>
|
||||
<data name="Turbo" xml:space="preserve">
|
||||
<value>Turbo</value>
|
||||
</data>
|
||||
<data name="TurnedOff" xml:space="preserve">
|
||||
<value>Turned off</value>
|
||||
</data>
|
||||
<data name="TurnOffOnBattery" xml:space="preserve">
|
||||
<value>Disable on battery</value>
|
||||
</data>
|
||||
<data name="UltimateGPUTooltip" xml:space="preserve">
|
||||
<value>Routes laptop screen to dGPU, maximizing FPS</value>
|
||||
</data>
|
||||
<data name="UltimateMode" xml:space="preserve">
|
||||
<value>Ultimate</value>
|
||||
</data>
|
||||
<data name="UndervoltingRisky" xml:space="preserve">
|
||||
<value>Undervolting is an experimental and risky feature. If applied values are too low for your hardware, it can become unstable, shut down or cause data corruption. If you want to try - start from small values first, click Apply and test what works for you.</value>
|
||||
</data>
|
||||
<data name="Unmuted" xml:space="preserve">
|
||||
<value>Unmuted</value>
|
||||
</data>
|
||||
<data name="Updates" xml:space="preserve">
|
||||
<value>Updates</value>
|
||||
</data>
|
||||
<data name="VersionLabel" xml:space="preserve">
|
||||
<value>Version</value>
|
||||
</data>
|
||||
<data name="VibrationStrength" xml:space="preserve">
|
||||
<value>Vibration Strength</value>
|
||||
</data>
|
||||
<data name="VisualMode" xml:space="preserve">
|
||||
<value>Visual Mode</value>
|
||||
</data>
|
||||
<data name="VisualModesHDR" xml:space="preserve">
|
||||
<value>Visual Modes are not available when HDR is active</value>
|
||||
</data>
|
||||
<data name="VisualModesScreen" xml:space="preserve">
|
||||
<value>Visual Modes are not available when laptop screen is off</value>
|
||||
</data>
|
||||
<data name="VolumeDown" xml:space="preserve">
|
||||
<value>Volume Down</value>
|
||||
</data>
|
||||
<data name="VolumeMute" xml:space="preserve">
|
||||
<value>Volume Mute</value>
|
||||
</data>
|
||||
<data name="VolumeUp" xml:space="preserve">
|
||||
<value>Volume Up</value>
|
||||
</data>
|
||||
<data name="WindowTop" xml:space="preserve">
|
||||
<value>Keep app window always on top</value>
|
||||
</data>
|
||||
<data name="Zoom" xml:space="preserve">
|
||||
<value>Zoom</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -800,4 +800,4 @@
|
||||
<data name="Zoom" xml:space="preserve">
|
||||
<value>확대/축소</value>
|
||||
</data>
|
||||
</root>
|
||||
</root>
|
||||
|
||||
@@ -124,10 +124,10 @@
|
||||
<value>Nepavyko prisijungti prie ASUS ACPI. Programėlė be jo negali veikti. Pabandykite įdiegti Asus System Control Interface</value>
|
||||
</data>
|
||||
<data name="AlertAPUMemoryRestart" xml:space="preserve">
|
||||
<value>Restart your device to apply changes</value>
|
||||
<value>Norėdami pritaikyti pakeitimus, paleiskite įrenginį iš naujo</value>
|
||||
</data>
|
||||
<data name="AlertAPUMemoryRestartTitle" xml:space="preserve">
|
||||
<value>Restart now?</value>
|
||||
<value>Paleisti iš naujo?</value>
|
||||
</data>
|
||||
<data name="AlertDGPU" xml:space="preserve">
|
||||
<value>Panašu, kad jūsų GPU yra intensyviai naudojamas. Išjungti jį?</value>
|
||||
@@ -145,7 +145,7 @@
|
||||
<value>Paleisti iš naujo dabar?</value>
|
||||
</data>
|
||||
<data name="AllyController" xml:space="preserve">
|
||||
<value>Ally Controller</value>
|
||||
<value>„Ally“ valdiklis</value>
|
||||
</data>
|
||||
<data name="AnimationSpeed" xml:space="preserve">
|
||||
<value>Animacijos greitis</value>
|
||||
@@ -163,7 +163,7 @@
|
||||
<value>Taikyti</value>
|
||||
</data>
|
||||
<data name="ApplyFanCurve" xml:space="preserve">
|
||||
<value>Taikyti tinkintą aušintuvo kreivę</value>
|
||||
<value>Taikyti tinkintą kreivę</value>
|
||||
</data>
|
||||
<data name="ApplyPowerLimits" xml:space="preserve">
|
||||
<value>Taikyti galios ribas</value>
|
||||
@@ -172,7 +172,7 @@
|
||||
<value>Automatiškai derinti Windows energijos režimus</value>
|
||||
</data>
|
||||
<data name="APUMemory" xml:space="preserve">
|
||||
<value>Memory Assigned to GPU</value>
|
||||
<value>Atmintis priskirta vaizdo plokštei</value>
|
||||
</data>
|
||||
<data name="AsusServicesRunning" xml:space="preserve">
|
||||
<value>Veikiančios Asus tarnybos</value>
|
||||
@@ -202,7 +202,7 @@
|
||||
<value>Apšvietimo režimas</value>
|
||||
</data>
|
||||
<data name="AuraNormal" xml:space="preserve">
|
||||
<value>Normalus</value>
|
||||
<value>Įprastas</value>
|
||||
</data>
|
||||
<data name="AuraRainbow" xml:space="preserve">
|
||||
<value>Vaivorykštė</value>
|
||||
@@ -244,7 +244,7 @@
|
||||
<value>Automatinis</value>
|
||||
</data>
|
||||
<data name="AutoRefreshTooltip" xml:space="preserve">
|
||||
<value>Nustato 60Hz, kad taupytų energiją, ir atgal, kai įjungtas į lizdą</value>
|
||||
<value>Nustatomas 60Hz dažn. taupymui, ir atgal, kuomet įkraunama</value>
|
||||
</data>
|
||||
<data name="Awake" xml:space="preserve">
|
||||
<value>Pabudęs</value>
|
||||
@@ -259,7 +259,7 @@
|
||||
<value>Mid</value>
|
||||
</data>
|
||||
<data name="BacklightOff" xml:space="preserve">
|
||||
<value>Off</value>
|
||||
<value>Išjungta</value>
|
||||
</data>
|
||||
<data name="BacklightTimeout" xml:space="preserve">
|
||||
<value>Laiko riba su lizdu / akumuliatoriumi (0 – ĮJUNGTA)</value>
|
||||
@@ -280,19 +280,19 @@
|
||||
<value>Įkrovos riba</value>
|
||||
</data>
|
||||
<data name="BatteryHealth" xml:space="preserve">
|
||||
<value>Sveikata</value>
|
||||
<value>Baterijos būklė</value>
|
||||
</data>
|
||||
<data name="BatteryLimitFull" xml:space="preserve">
|
||||
<value>Vienkartinė įkrova iki 100%</value>
|
||||
</data>
|
||||
<data name="Binding" xml:space="preserve">
|
||||
<value>Binding</value>
|
||||
<value>Saistymas</value>
|
||||
</data>
|
||||
<data name="BindingPrimary" xml:space="preserve">
|
||||
<value>Primary</value>
|
||||
<value>Pirminis</value>
|
||||
</data>
|
||||
<data name="BindingSecondary" xml:space="preserve">
|
||||
<value>Secondary</value>
|
||||
<value>Antrinis</value>
|
||||
</data>
|
||||
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
||||
<value>BIOS ir tvarkyklių naujinimai</value>
|
||||
@@ -313,7 +313,7 @@
|
||||
<value>Ryškumo didinimas</value>
|
||||
</data>
|
||||
<data name="BWTrayIcon" xml:space="preserve">
|
||||
<value>Black and white tray icon</value>
|
||||
<value>Naudoti juodai baltą piktogramą</value>
|
||||
</data>
|
||||
<data name="Calibrate" xml:space="preserve">
|
||||
<value>Kalibruoti</value>
|
||||
@@ -325,10 +325,10 @@
|
||||
<value>Spalva</value>
|
||||
</data>
|
||||
<data name="Contrast" xml:space="preserve">
|
||||
<value>Contrast</value>
|
||||
<value>Kontrastas</value>
|
||||
</data>
|
||||
<data name="Controller" xml:space="preserve">
|
||||
<value>Controller</value>
|
||||
<value>Valdiklis</value>
|
||||
</data>
|
||||
<data name="CPUBoost" xml:space="preserve">
|
||||
<value>CPU spartinimas</value>
|
||||
@@ -343,10 +343,10 @@
|
||||
<value>Numatytas</value>
|
||||
</data>
|
||||
<data name="DisableController" xml:space="preserve">
|
||||
<value>Disable Controller</value>
|
||||
<value>Išjungti valdiklį</value>
|
||||
</data>
|
||||
<data name="DisableOnLidClose" xml:space="preserve">
|
||||
<value>Disable on lid close</value>
|
||||
<value>Išjungti uždarius gaubtą</value>
|
||||
</data>
|
||||
<data name="DisableOverdrive" xml:space="preserve">
|
||||
<value>Išjungti ekrano pikselių spartinimą</value>
|
||||
@@ -355,7 +355,7 @@
|
||||
<value>Iškrovimas</value>
|
||||
</data>
|
||||
<data name="DownloadColorProfiles" xml:space="preserve">
|
||||
<value>Download Color Profiles</value>
|
||||
<value>Atsisiųsti spalvų profilius</value>
|
||||
</data>
|
||||
<data name="DownloadUpdate" xml:space="preserve">
|
||||
<value>Atsisiųsti</value>
|
||||
@@ -364,13 +364,13 @@
|
||||
<value>Tvarkyklės ir programinė įranga</value>
|
||||
</data>
|
||||
<data name="EcoGPUTooltip" xml:space="preserve">
|
||||
<value>Išjungia dGPU, kad taupytų energiją</value>
|
||||
<value>Išjungia dGPU akumuliatoriaus taupymui</value>
|
||||
</data>
|
||||
<data name="EcoMode" xml:space="preserve">
|
||||
<value>Ekonomiškas</value>
|
||||
</data>
|
||||
<data name="EnableGPUOnShutdown" xml:space="preserve">
|
||||
<value>Enable GPU on shutdown (prevents issue with Eco mode)</value>
|
||||
<value>Įgalinti GPU išjungimo metu (apsauga nuo „Eco“ režimo problemos)</value>
|
||||
</data>
|
||||
<data name="EnableOptimusText" xml:space="preserve">
|
||||
<value>Jei ekrano režimas NVIDIA valdymo skyde yra nenustatytas į Optimus, kai dGPU yra išjungtas perjungus į ekonominį režimą, gali kilti problemų su ryškumo valdymu iki kito paleidimo iš naujo.
|
||||
@@ -384,7 +384,7 @@ Vis tiek norite tęsti?</value>
|
||||
<value>Energijos nustatymai</value>
|
||||
</data>
|
||||
<data name="Export" xml:space="preserve">
|
||||
<value>Export Profile</value>
|
||||
<value>Eksportuoti profilį</value>
|
||||
</data>
|
||||
<data name="Extra" xml:space="preserve">
|
||||
<value>Išplėstiniai</value>
|
||||
@@ -420,16 +420,16 @@ Vis tiek norite tęsti?</value>
|
||||
<value>Aušintuvai + galia</value>
|
||||
</data>
|
||||
<data name="FlickerFreeDimming" xml:space="preserve">
|
||||
<value>Flicker-free Dimming</value>
|
||||
<value>Užtamsinimas be mirgėjimo</value>
|
||||
</data>
|
||||
<data name="FnLock" xml:space="preserve">
|
||||
<value>Apdoroti Fn+F sparčiuosius klavišus be Fn</value>
|
||||
</data>
|
||||
<data name="FnLockOff" xml:space="preserve">
|
||||
<value>FN-Lock Off</value>
|
||||
<value>FN užraktas išjungtas</value>
|
||||
</data>
|
||||
<data name="FnLockOn" xml:space="preserve">
|
||||
<value>FN-Lock On</value>
|
||||
<value>FN užraktas įjungtas</value>
|
||||
</data>
|
||||
<data name="GPUBoost" xml:space="preserve">
|
||||
<value>Dinaminis spartinimas</value>
|
||||
@@ -456,7 +456,7 @@ Vis tiek norite tęsti?</value>
|
||||
<value>Tik dGPU</value>
|
||||
</data>
|
||||
<data name="GPUPower" xml:space="preserve">
|
||||
<value>GPU Power</value>
|
||||
<value>GPU galia</value>
|
||||
</data>
|
||||
<data name="GPUSettings" xml:space="preserve">
|
||||
<value>GPU nustatymai</value>
|
||||
@@ -465,16 +465,16 @@ Vis tiek norite tęsti?</value>
|
||||
<value>Temperatūros tikslas</value>
|
||||
</data>
|
||||
<data name="HibernateAfter" xml:space="preserve">
|
||||
<value>Minutės iki miego su akumuliatoriumi (0 – IŠJUNGTA)</value>
|
||||
<value>Užmigimo laikas akumuliatoriaus režimu (0 – IŠJUNGTA)</value>
|
||||
</data>
|
||||
<data name="High" xml:space="preserve">
|
||||
<value>Aukštas</value>
|
||||
</data>
|
||||
<data name="ImageRotation" xml:space="preserve">
|
||||
<value>Image Rotation</value>
|
||||
<value>Atvaizdo pasukimas</value>
|
||||
</data>
|
||||
<data name="Import" xml:space="preserve">
|
||||
<value>Import Profile</value>
|
||||
<value>Importuoti profilį</value>
|
||||
</data>
|
||||
<data name="KeyBindings" xml:space="preserve">
|
||||
<value>Klavišų priskyrimas</value>
|
||||
@@ -483,7 +483,7 @@ Vis tiek norite tęsti?</value>
|
||||
<value>Klaviatūra</value>
|
||||
</data>
|
||||
<data name="KillGpuApps" xml:space="preserve">
|
||||
<value>Sustabdyti visas GPU naudojančias programėles, kai perjungiama į ekonomišką režimą</value>
|
||||
<value>Sustabdyti visas GPU naudojančias programėles, kai perjungiama į ekon. režimą</value>
|
||||
</data>
|
||||
<data name="LaptopBacklight" xml:space="preserve">
|
||||
<value>Apšvietimas</value>
|
||||
@@ -495,7 +495,7 @@ Vis tiek norite tęsti?</value>
|
||||
<value>Ekranas</value>
|
||||
</data>
|
||||
<data name="LEDStatusIndicators" xml:space="preserve">
|
||||
<value>LED Status Indicators</value>
|
||||
<value>LED būsenos indikatoriai</value>
|
||||
</data>
|
||||
<data name="Lid" xml:space="preserve">
|
||||
<value>Dangtis</value>
|
||||
@@ -507,7 +507,7 @@ Vis tiek norite tęsti?</value>
|
||||
<value>Apšvietimas</value>
|
||||
</data>
|
||||
<data name="LockScreen" xml:space="preserve">
|
||||
<value>Lock Screen</value>
|
||||
<value>Užrakinimo ekranas</value>
|
||||
</data>
|
||||
<data name="Logo" xml:space="preserve">
|
||||
<value>Logotipas</value>
|
||||
@@ -516,7 +516,7 @@ Vis tiek norite tęsti?</value>
|
||||
<value>Žemas</value>
|
||||
</data>
|
||||
<data name="LSDeadzones" xml:space="preserve">
|
||||
<value>Left Stick Deadzones</value>
|
||||
<value>Kairiojo jungiklio nejautrumo zonos</value>
|
||||
</data>
|
||||
<data name="LTDeadzones" xml:space="preserve">
|
||||
<value>Left Trigger Deadzones</value>
|
||||
@@ -549,10 +549,10 @@ Vis tiek norite tęsti?</value>
|
||||
<value>Paveikslėlis</value>
|
||||
</data>
|
||||
<data name="MaxRefreshTooltip" xml:space="preserve">
|
||||
<value>Maksimalus kadrų dažnis už mažesnę delsą</value>
|
||||
<value>Maksimalus kadrų dažnis mažesnei delsai</value>
|
||||
</data>
|
||||
<data name="MinRefreshTooltip" xml:space="preserve">
|
||||
<value>60Hz kadrų dažnis, kad taupytumėte energiją</value>
|
||||
<value>60Hz kadrų dažnis energijos taupymui</value>
|
||||
</data>
|
||||
<data name="Minute" xml:space="preserve">
|
||||
<value>min.</value>
|
||||
@@ -561,7 +561,7 @@ Vis tiek norite tęsti?</value>
|
||||
<value>min.</value>
|
||||
</data>
|
||||
<data name="MouseAngleSnapping" xml:space="preserve">
|
||||
<value>Angle Snapping</value>
|
||||
<value>Kampinis fiksavimas</value>
|
||||
</data>
|
||||
<data name="MouseAutoPowerOff" xml:space="preserve">
|
||||
<value>Automatiškai išjungti po</value>
|
||||
@@ -570,7 +570,7 @@ Vis tiek norite tęsti?</value>
|
||||
<value>Klavišo atsakas</value>
|
||||
</data>
|
||||
<data name="MouseImportFailed" xml:space="preserve">
|
||||
<value>Import failed. Selected file is not a valid mouse profile or corrutpted.</value>
|
||||
<value>Importuoti nepavyko. Pasirinktas failas nėra galiojantis pelės profilis arba yra sugadintas.</value>
|
||||
</data>
|
||||
<data name="MouseLiftOffDistance" xml:space="preserve">
|
||||
<value>Pakilimo atstumas</value>
|
||||
@@ -609,10 +609,10 @@ Vis tiek norite tęsti?</value>
|
||||
<value>Neprijungta</value>
|
||||
</data>
|
||||
<data name="Off" xml:space="preserve">
|
||||
<value>Off</value>
|
||||
<value>Išjungta</value>
|
||||
</data>
|
||||
<data name="On" xml:space="preserve">
|
||||
<value>On</value>
|
||||
<value>Įjungta</value>
|
||||
</data>
|
||||
<data name="OneZone" xml:space="preserve">
|
||||
<value>One Zone</value>
|
||||
@@ -624,10 +624,10 @@ Vis tiek norite tęsti?</value>
|
||||
<value>Optimizuotas</value>
|
||||
</data>
|
||||
<data name="OptimizedGPUTooltip" xml:space="preserve">
|
||||
<value>Perjungti į ekonomišką, kai naudojamas akumuliatorius, ir į standartinį, kai įjungtas į lizdą</value>
|
||||
<value>Naudojant akumuliatorių įjungiamas ekon. režimas, įkraunant - stand. režimas</value>
|
||||
</data>
|
||||
<data name="OptimizedUSBC" xml:space="preserve">
|
||||
<value>Neįjungti GPU, kai naudojamas USB-C įkroviklis optimizuotame režime</value>
|
||||
<value>Išjungti GPU optimizuotame režime, kai naudojamas USB-C įkroviklis</value>
|
||||
</data>
|
||||
<data name="Other" xml:space="preserve">
|
||||
<value>Kita</value>
|
||||
@@ -666,7 +666,7 @@ Vis tiek norite tęsti?</value>
|
||||
<value>Išeiti</value>
|
||||
</data>
|
||||
<data name="Reset" xml:space="preserve">
|
||||
<value>Reset</value>
|
||||
<value>Atstatyti</value>
|
||||
</data>
|
||||
<data name="RestartGPU" xml:space="preserve">
|
||||
<value>Kažkas naudoja dGPU ir neleidžia įjungti ekonomiško režimo. Norite leisti G-Helper bandyti iš naujo paleisti dGPU įrenginių tvarkytuvėje? (Tęskite savo rizika)</value>
|
||||
@@ -756,7 +756,7 @@ Vis tiek norite tęsti?</value>
|
||||
<value>Išjungti naudojant akumuliatorių</value>
|
||||
</data>
|
||||
<data name="UltimateGPUTooltip" xml:space="preserve">
|
||||
<value>Nukreipia ekraną į dGPU, kad maksimizuotų kadrų dažnį</value>
|
||||
<value>Maksimaliai padidinamas kadrų kiekis, nukreipiant ekraną į dGPU</value>
|
||||
</data>
|
||||
<data name="UltimateMode" xml:space="preserve">
|
||||
<value>Maksimalus</value>
|
||||
@@ -774,16 +774,16 @@ Vis tiek norite tęsti?</value>
|
||||
<value>Versija</value>
|
||||
</data>
|
||||
<data name="VibrationStrength" xml:space="preserve">
|
||||
<value>Vibration Strength</value>
|
||||
<value>Vibracijos stiprumas</value>
|
||||
</data>
|
||||
<data name="VisualMode" xml:space="preserve">
|
||||
<value>Visual Mode</value>
|
||||
<value>Vizualinis režimas</value>
|
||||
</data>
|
||||
<data name="VisualModesHDR" xml:space="preserve">
|
||||
<value>Visual Modes are not available when HDR is active</value>
|
||||
<value>Vizualiniai režimai nepasiekiami, kuomet įjungtas HDR</value>
|
||||
</data>
|
||||
<data name="VisualModesScreen" xml:space="preserve">
|
||||
<value>Visual Modes are not available when laptop screen is off</value>
|
||||
<value>Vizualiniai režimai nepasiekiami, kuomet kompiuterio ekranas išjungtas</value>
|
||||
</data>
|
||||
<data name="VolumeDown" xml:space="preserve">
|
||||
<value>Garsumo mažinimas</value>
|
||||
@@ -800,4 +800,4 @@ Vis tiek norite tęsti?</value>
|
||||
<data name="Zoom" xml:space="preserve">
|
||||
<value>Zoom</value>
|
||||
</data>
|
||||
</root>
|
||||
</root>
|
||||
|
||||
@@ -741,7 +741,7 @@ Nadal chcesz kontynuować?</value>
|
||||
<value>Przełącz ekran</value>
|
||||
</data>
|
||||
<data name="ToggleTouchscreen" xml:space="preserve">
|
||||
<value>Toggle Touchscreen</value>
|
||||
<value>Włącz/wyłącz ekran dotykowy</value>
|
||||
</data>
|
||||
<data name="Touchscreen" xml:space="preserve">
|
||||
<value/>
|
||||
@@ -800,4 +800,4 @@ Nadal chcesz kontynuować?</value>
|
||||
<data name="Zoom" xml:space="preserve">
|
||||
<value>Przybliżenie</value>
|
||||
</data>
|
||||
</root>
|
||||
</root>
|
||||
|
||||
@@ -800,4 +800,4 @@ Do you still want to continue?</value>
|
||||
<data name="Zoom" xml:space="preserve">
|
||||
<value>Zoom</value>
|
||||
</data>
|
||||
</root>
|
||||
</root>
|
||||
|
||||
@@ -800,4 +800,4 @@ Quer prosseguir?</value>
|
||||
<data name="Zoom" xml:space="preserve">
|
||||
<value>Zoom</value>
|
||||
</data>
|
||||
</root>
|
||||
</root>
|
||||
|
||||
@@ -800,4 +800,4 @@
|
||||
<data name="Zoom" xml:space="preserve">
|
||||
<value>Zoom</value>
|
||||
</data>
|
||||
</root>
|
||||
</root>
|
||||
|
||||
@@ -585,10 +585,10 @@ Yine de devam etmek istiyor musunuz?</value>
|
||||
<value>Fare ile eşitle</value>
|
||||
</data>
|
||||
<data name="Multizone" xml:space="preserve">
|
||||
<value>Çok Bölgeli</value>
|
||||
<value>Çoklu Bölge</value>
|
||||
</data>
|
||||
<data name="MultizoneStrong" xml:space="preserve">
|
||||
<value>Çok Bölgeli (Güçlü)</value>
|
||||
<value>Çoklu Bölge Güçlü</value>
|
||||
</data>
|
||||
<data name="Muted" xml:space="preserve">
|
||||
<value>Susturuldu</value>
|
||||
@@ -615,7 +615,7 @@ Yine de devam etmek istiyor musunuz?</value>
|
||||
<value>Açık</value>
|
||||
</data>
|
||||
<data name="OneZone" xml:space="preserve">
|
||||
<value>Tek Bölgeli</value>
|
||||
<value>Tek Bölge</value>
|
||||
</data>
|
||||
<data name="OpenGHelper" xml:space="preserve">
|
||||
<value>G-Helper penceresini aç</value>
|
||||
@@ -624,7 +624,7 @@ Yine de devam etmek istiyor musunuz?</value>
|
||||
<value>İyileştirilmiş</value>
|
||||
</data>
|
||||
<data name="OptimizedGPUTooltip" xml:space="preserve">
|
||||
<value>Pil ile çalışırken Eko moda, şarjda Standart moda geçiş yap</value>
|
||||
<value>Pil ile çalışırken Eco moda, Elektrik ile Standart moda geçilir</value>
|
||||
</data>
|
||||
<data name="OptimizedUSBC" xml:space="preserve">
|
||||
<value>İyileştirilmiş modda USB-C şarj cihazı bağlıyken, GPU devre dışı kalsın</value>
|
||||
@@ -726,16 +726,16 @@ Yine de devam etmek istiyor musunuz?</value>
|
||||
<value>Hizmetler Durduruluyor</value>
|
||||
</data>
|
||||
<data name="ToggleAura" xml:space="preserve">
|
||||
<value>Aura'yı Kullan</value>
|
||||
<value>Aura Değiştir</value>
|
||||
</data>
|
||||
<data name="ToggleClamshellMode" xml:space="preserve">
|
||||
<value>Otomatik Clamshell Modunu Aç</value>
|
||||
</data>
|
||||
<data name="ToggleFnLock" xml:space="preserve">
|
||||
<value>Fn-Lock'u Aç</value>
|
||||
<value>Fn-Lock Değiştir</value>
|
||||
</data>
|
||||
<data name="ToggleMiniled" xml:space="preserve">
|
||||
<value>Miniled'i Aç (destekliyorsa)</value>
|
||||
<value>Miniled Değiştir (destekleniyorsa)</value>
|
||||
</data>
|
||||
<data name="ToggleScreen" xml:space="preserve">
|
||||
<value>Ekranı Değiştir</value>
|
||||
@@ -756,7 +756,7 @@ Yine de devam etmek istiyor musunuz?</value>
|
||||
<value>Pille çalışırken kapat</value>
|
||||
</data>
|
||||
<data name="UltimateGPUTooltip" xml:space="preserve">
|
||||
<value>Dizüstü ekranını dGPU üstüne yönlendirerek FPS en üst düzeye çıkar</value>
|
||||
<value>Dizüstü ekranı doğrudan dGPU üstünden çalışır FPS artar</value>
|
||||
</data>
|
||||
<data name="UltimateMode" xml:space="preserve">
|
||||
<value>Ultimate</value>
|
||||
@@ -800,4 +800,4 @@ Yine de devam etmek istiyor musunuz?</value>
|
||||
<data name="Zoom" xml:space="preserve">
|
||||
<value>Yakınlaştır</value>
|
||||
</data>
|
||||
</root>
|
||||
</root>
|
||||
|
||||
@@ -800,4 +800,4 @@
|
||||
<data name="Zoom" xml:space="preserve">
|
||||
<value>Зум</value>
|
||||
</data>
|
||||
</root>
|
||||
</root>
|
||||
|
||||
@@ -800,4 +800,4 @@ Do you still want to continue?</value>
|
||||
<data name="Zoom" xml:space="preserve">
|
||||
<value>Zoom</value>
|
||||
</data>
|
||||
</root>
|
||||
</root>
|
||||
|
||||
@@ -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/>
|
||||
@@ -800,4 +800,4 @@
|
||||
<data name="Zoom" xml:space="preserve">
|
||||
<value>缩放</value>
|
||||
</data>
|
||||
</root>
|
||||
</root>
|
||||
|
||||
@@ -624,7 +624,7 @@
|
||||
<value>自動調節</value>
|
||||
</data>
|
||||
<data name="OptimizedGPUTooltip" xml:space="preserve">
|
||||
<value>使用電池切換到整合式顯卡,插入電源時切換到獨立顯卡</value>
|
||||
<value>使用電池時切換到,插入電源時切換到標準模式</value>
|
||||
</data>
|
||||
<data name="OptimizedUSBC" xml:space="preserve">
|
||||
<value>自動調節模式下,使用USB-C充電時持續關閉獨顯</value>
|
||||
@@ -800,4 +800,4 @@
|
||||
<data name="Zoom" xml:space="preserve">
|
||||
<value>縮放</value>
|
||||
</data>
|
||||
</root>
|
||||
</root>
|
||||
|
||||
BIN
app/Resources/icons8-dollar-32.png
Normal file
BIN
app/Resources/icons8-dollar-32.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 723 B |
@@ -21,8 +21,6 @@ namespace Ryzen
|
||||
|
||||
public static int MinTemp => AppConfig.Get("min_temp", 75);
|
||||
public const int MaxTemp = 98;
|
||||
public static int MinSkin => 25;
|
||||
public const int MaxSkin = 46;
|
||||
|
||||
public static int FAMID { get; protected set; }
|
||||
|
||||
@@ -42,7 +40,7 @@ namespace Ryzen
|
||||
//PHEONIX - 9
|
||||
//RAPHAEL/DRAGON RANGE - 10
|
||||
//MENDOCINO - 11
|
||||
//HAWKPOINT - 12
|
||||
//HAWKPOINT/STRIXPOINT - 12
|
||||
|
||||
public static void Init()
|
||||
{
|
||||
@@ -79,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
|
||||
}
|
||||
@@ -129,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();
|
||||
@@ -143,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;
|
||||
|
||||
172
app/Settings.Designer.cs
generated
172
app/Settings.Designer.cs
generated
@@ -51,7 +51,7 @@ namespace GHelper
|
||||
labelBatteryTitle = new Label();
|
||||
panelFooter = new Panel();
|
||||
tableButtons = new TableLayoutPanel();
|
||||
labelVersion = new Label();
|
||||
buttonDonate = new RButton();
|
||||
buttonQuit = new RButton();
|
||||
buttonUpdates = new RButton();
|
||||
checkStartup = new CheckBox();
|
||||
@@ -107,7 +107,7 @@ namespace GHelper
|
||||
buttonFnLock = new RButton();
|
||||
pictureKeyboard = new PictureBox();
|
||||
labelKeyboard = new Label();
|
||||
panelVersion = new Panel();
|
||||
panelStartup = new Panel();
|
||||
labelCharge = new Label();
|
||||
panelPeripherals = new Panel();
|
||||
tableLayoutPeripherals = new TableLayoutPanel();
|
||||
@@ -137,6 +137,8 @@ namespace GHelper
|
||||
labelGamma = new Label();
|
||||
pictureGamma = new PictureBox();
|
||||
labelGammaTitle = new Label();
|
||||
panelVersion = new Panel();
|
||||
labelVersion = new Label();
|
||||
panelMatrix.SuspendLayout();
|
||||
panelMatrixAuto.SuspendLayout();
|
||||
tableLayoutMatrix.SuspendLayout();
|
||||
@@ -167,7 +169,7 @@ namespace GHelper
|
||||
((System.ComponentModel.ISupportInitialize)pictureColor).BeginInit();
|
||||
panelKeyboardTitle.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)pictureKeyboard).BeginInit();
|
||||
panelVersion.SuspendLayout();
|
||||
panelStartup.SuspendLayout();
|
||||
panelPeripherals.SuspendLayout();
|
||||
tableLayoutPeripherals.SuspendLayout();
|
||||
panelPeripheralsTile.SuspendLayout();
|
||||
@@ -180,6 +182,7 @@ namespace GHelper
|
||||
tableVisual.SuspendLayout();
|
||||
panelGammaTitle.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)pictureGamma).BeginInit();
|
||||
panelVersion.SuspendLayout();
|
||||
SuspendLayout();
|
||||
//
|
||||
// panelMatrix
|
||||
@@ -268,7 +271,7 @@ namespace GHelper
|
||||
comboMatrix.BorderColor = Color.White;
|
||||
comboMatrix.ButtonColor = Color.FromArgb(255, 255, 255);
|
||||
comboMatrix.Dock = DockStyle.Top;
|
||||
comboMatrix.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
|
||||
comboMatrix.Font = new Font("Segoe UI", 9F);
|
||||
comboMatrix.FormattingEnabled = true;
|
||||
comboMatrix.ItemHeight = 32;
|
||||
comboMatrix.Items.AddRange(new object[] { Properties.Strings.MatrixOff, Properties.Strings.MatrixDim, Properties.Strings.MatrixMedium, Properties.Strings.MatrixBright });
|
||||
@@ -283,7 +286,7 @@ namespace GHelper
|
||||
comboMatrixRunning.BorderColor = Color.White;
|
||||
comboMatrixRunning.ButtonColor = Color.FromArgb(255, 255, 255);
|
||||
comboMatrixRunning.Dock = DockStyle.Top;
|
||||
comboMatrixRunning.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
|
||||
comboMatrixRunning.Font = new Font("Segoe UI", 9F);
|
||||
comboMatrixRunning.FormattingEnabled = true;
|
||||
comboMatrixRunning.ItemHeight = 32;
|
||||
comboMatrixRunning.Items.AddRange(new object[] { Properties.Strings.MatrixBanner, Properties.Strings.MatrixLogo, Properties.Strings.MatrixPicture, Properties.Strings.MatrixClock, Properties.Strings.MatrixAudio });
|
||||
@@ -298,7 +301,7 @@ namespace GHelper
|
||||
comboInterval.BorderColor = Color.White;
|
||||
comboInterval.ButtonColor = Color.FromArgb(255, 255, 255);
|
||||
comboInterval.Dock = DockStyle.Top;
|
||||
comboInterval.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
|
||||
comboInterval.Font = new Font("Segoe UI", 9F);
|
||||
comboInterval.FormattingEnabled = true;
|
||||
comboInterval.ItemHeight = 32;
|
||||
comboInterval.Location = new Point(10, 60);
|
||||
@@ -355,7 +358,7 @@ namespace GHelper
|
||||
// labelMatrix
|
||||
//
|
||||
labelMatrix.AutoSize = true;
|
||||
labelMatrix.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||
labelMatrix.Font = new Font("Segoe UI", 9F, FontStyle.Bold);
|
||||
labelMatrix.Location = new Point(44, 0);
|
||||
labelMatrix.Margin = new Padding(4, 0, 4, 0);
|
||||
labelMatrix.Name = "labelMatrix";
|
||||
@@ -374,8 +377,8 @@ namespace GHelper
|
||||
panelBattery.Location = new Point(11, 1765);
|
||||
panelBattery.Margin = new Padding(0);
|
||||
panelBattery.Name = "panelBattery";
|
||||
panelBattery.Padding = new Padding(20, 20, 20, 11);
|
||||
panelBattery.Size = new Size(827, 120);
|
||||
panelBattery.Padding = new Padding(20, 20, 20, 0);
|
||||
panelBattery.Size = new Size(827, 109);
|
||||
panelBattery.TabIndex = 5;
|
||||
//
|
||||
// buttonBatteryFull
|
||||
@@ -387,7 +390,7 @@ namespace GHelper
|
||||
buttonBatteryFull.BorderRadius = 2;
|
||||
buttonBatteryFull.FlatAppearance.BorderSize = 0;
|
||||
buttonBatteryFull.FlatStyle = FlatStyle.Flat;
|
||||
buttonBatteryFull.Font = new Font("Segoe UI", 7.125F, FontStyle.Bold, GraphicsUnit.Point);
|
||||
buttonBatteryFull.Font = new Font("Segoe UI", 7.125F, FontStyle.Bold);
|
||||
buttonBatteryFull.ForeColor = SystemColors.ControlDark;
|
||||
buttonBatteryFull.Location = new Point(728, 67);
|
||||
buttonBatteryFull.Margin = new Padding(0);
|
||||
@@ -449,7 +452,7 @@ namespace GHelper
|
||||
//
|
||||
// labelBatteryTitle
|
||||
//
|
||||
labelBatteryTitle.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||
labelBatteryTitle.Font = new Font("Segoe UI", 9F, FontStyle.Bold);
|
||||
labelBatteryTitle.Location = new Point(43, 0);
|
||||
labelBatteryTitle.Margin = new Padding(8, 0, 8, 0);
|
||||
labelBatteryTitle.Name = "labelBatteryTitle";
|
||||
@@ -463,11 +466,11 @@ namespace GHelper
|
||||
panelFooter.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||
panelFooter.Controls.Add(tableButtons);
|
||||
panelFooter.Dock = DockStyle.Top;
|
||||
panelFooter.Location = new Point(11, 1941);
|
||||
panelFooter.Location = new Point(11, 1974);
|
||||
panelFooter.Margin = new Padding(0);
|
||||
panelFooter.Name = "panelFooter";
|
||||
panelFooter.Padding = new Padding(20);
|
||||
panelFooter.Size = new Size(827, 100);
|
||||
panelFooter.Padding = new Padding(20, 10, 20, 20);
|
||||
panelFooter.Size = new Size(827, 88);
|
||||
panelFooter.TabIndex = 7;
|
||||
//
|
||||
// tableButtons
|
||||
@@ -478,32 +481,37 @@ namespace GHelper
|
||||
tableButtons.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33.3333321F));
|
||||
tableButtons.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33.3333321F));
|
||||
tableButtons.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 27F));
|
||||
tableButtons.Controls.Add(labelVersion, 0, 0);
|
||||
tableButtons.Controls.Add(buttonDonate, 0, 0);
|
||||
tableButtons.Controls.Add(buttonQuit, 2, 0);
|
||||
tableButtons.Controls.Add(buttonUpdates, 1, 0);
|
||||
tableButtons.Dock = DockStyle.Top;
|
||||
tableButtons.Location = new Point(20, 20);
|
||||
tableButtons.Location = new Point(20, 10);
|
||||
tableButtons.Margin = new Padding(8, 4, 8, 4);
|
||||
tableButtons.Name = "tableButtons";
|
||||
tableButtons.RowCount = 1;
|
||||
tableButtons.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
|
||||
tableButtons.Size = new Size(787, 60);
|
||||
tableButtons.Size = new Size(787, 58);
|
||||
tableButtons.TabIndex = 25;
|
||||
//
|
||||
// labelVersion
|
||||
// buttonDonate
|
||||
//
|
||||
labelVersion.Cursor = Cursors.Hand;
|
||||
labelVersion.Dock = DockStyle.Fill;
|
||||
labelVersion.Font = new Font("Segoe UI", 9F, FontStyle.Underline, GraphicsUnit.Point);
|
||||
labelVersion.ForeColor = SystemColors.ControlDark;
|
||||
labelVersion.Location = new Point(0, 0);
|
||||
labelVersion.Margin = new Padding(0);
|
||||
labelVersion.Name = "labelVersion";
|
||||
labelVersion.Padding = new Padding(5);
|
||||
labelVersion.Size = new Size(262, 60);
|
||||
labelVersion.TabIndex = 37;
|
||||
labelVersion.Text = "v.0";
|
||||
labelVersion.TextAlign = ContentAlignment.MiddleLeft;
|
||||
buttonDonate.Activated = false;
|
||||
buttonDonate.BackColor = SystemColors.ControlLight;
|
||||
buttonDonate.BorderColor = Color.Transparent;
|
||||
buttonDonate.BorderRadius = 2;
|
||||
buttonDonate.Dock = DockStyle.Top;
|
||||
buttonDonate.FlatStyle = FlatStyle.Flat;
|
||||
buttonDonate.Image = Properties.Resources.icons8_dollar_32;
|
||||
buttonDonate.ImageAlign = ContentAlignment.MiddleRight;
|
||||
buttonDonate.Location = new Point(4, 5);
|
||||
buttonDonate.Margin = new Padding(4, 5, 4, 5);
|
||||
buttonDonate.Name = "buttonDonate";
|
||||
buttonDonate.Secondary = true;
|
||||
buttonDonate.Size = new Size(254, 48);
|
||||
buttonDonate.TabIndex = 3;
|
||||
buttonDonate.Text = "&Donate";
|
||||
buttonDonate.TextImageRelation = TextImageRelation.ImageBeforeText;
|
||||
buttonDonate.UseVisualStyleBackColor = false;
|
||||
//
|
||||
// buttonQuit
|
||||
//
|
||||
@@ -548,10 +556,12 @@ namespace GHelper
|
||||
// checkStartup
|
||||
//
|
||||
checkStartup.AutoSize = true;
|
||||
checkStartup.Location = new Point(28, 11);
|
||||
checkStartup.Dock = DockStyle.Left;
|
||||
checkStartup.Location = new Point(20, 0);
|
||||
checkStartup.Margin = new Padding(11, 5, 11, 5);
|
||||
checkStartup.Name = "checkStartup";
|
||||
checkStartup.Size = new Size(206, 36);
|
||||
checkStartup.Padding = new Padding(10, 0, 0, 0);
|
||||
checkStartup.Size = new Size(216, 50);
|
||||
checkStartup.TabIndex = 21;
|
||||
checkStartup.Text = Properties.Strings.RunOnStartup;
|
||||
checkStartup.UseVisualStyleBackColor = true;
|
||||
@@ -710,7 +720,7 @@ namespace GHelper
|
||||
//
|
||||
labelPerf.AccessibleRole = AccessibleRole.Caret;
|
||||
labelPerf.AutoSize = true;
|
||||
labelPerf.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||
labelPerf.Font = new Font("Segoe UI", 9F, FontStyle.Bold);
|
||||
labelPerf.LiveSetting = System.Windows.Forms.Automation.AutomationLiveSetting.Polite;
|
||||
labelPerf.Location = new Point(40, 0);
|
||||
labelPerf.Margin = new Padding(8, 0, 8, 0);
|
||||
@@ -1034,7 +1044,7 @@ namespace GHelper
|
||||
// labelGPU
|
||||
//
|
||||
labelGPU.AutoSize = true;
|
||||
labelGPU.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||
labelGPU.Font = new Font("Segoe UI", 9F, FontStyle.Bold);
|
||||
labelGPU.Location = new Point(40, 0);
|
||||
labelGPU.Margin = new Padding(8, 0, 8, 0);
|
||||
labelGPU.Name = "labelGPU";
|
||||
@@ -1240,7 +1250,7 @@ namespace GHelper
|
||||
// labelSreen
|
||||
//
|
||||
labelSreen.AutoSize = true;
|
||||
labelSreen.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||
labelSreen.Font = new Font("Segoe UI", 9F, FontStyle.Bold);
|
||||
labelSreen.Location = new Point(40, 0);
|
||||
labelSreen.Margin = new Padding(4, 0, 4, 0);
|
||||
labelSreen.Name = "labelSreen";
|
||||
@@ -1269,7 +1279,7 @@ namespace GHelper
|
||||
//
|
||||
labelDynamicLighting.Cursor = Cursors.Hand;
|
||||
labelDynamicLighting.Dock = DockStyle.Top;
|
||||
labelDynamicLighting.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
|
||||
labelDynamicLighting.Font = new Font("Segoe UI", 9F);
|
||||
labelDynamicLighting.ForeColor = SystemColors.GrayText;
|
||||
labelDynamicLighting.Location = new Point(20, 112);
|
||||
labelDynamicLighting.Margin = new Padding(4, 0, 4, 0);
|
||||
@@ -1386,7 +1396,7 @@ namespace GHelper
|
||||
comboKeyboard.ButtonColor = Color.FromArgb(255, 255, 255);
|
||||
comboKeyboard.Dock = DockStyle.Top;
|
||||
comboKeyboard.FlatStyle = FlatStyle.Flat;
|
||||
comboKeyboard.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
|
||||
comboKeyboard.Font = new Font("Segoe UI", 9F);
|
||||
comboKeyboard.FormattingEnabled = true;
|
||||
comboKeyboard.ItemHeight = 32;
|
||||
comboKeyboard.Items.AddRange(new object[] { "Static", "Breathe", "Rainbow", "Strobe" });
|
||||
@@ -1418,7 +1428,7 @@ namespace GHelper
|
||||
buttonFnLock.Dock = DockStyle.Right;
|
||||
buttonFnLock.FlatAppearance.BorderSize = 0;
|
||||
buttonFnLock.FlatStyle = FlatStyle.Flat;
|
||||
buttonFnLock.Font = new Font("Segoe UI", 7.125F, FontStyle.Bold, GraphicsUnit.Point);
|
||||
buttonFnLock.Font = new Font("Segoe UI", 7.125F, FontStyle.Bold);
|
||||
buttonFnLock.ForeColor = SystemColors.ControlDark;
|
||||
buttonFnLock.Location = new Point(675, 0);
|
||||
buttonFnLock.Margin = new Padding(0);
|
||||
@@ -1443,7 +1453,7 @@ namespace GHelper
|
||||
// labelKeyboard
|
||||
//
|
||||
labelKeyboard.AutoSize = true;
|
||||
labelKeyboard.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||
labelKeyboard.Font = new Font("Segoe UI", 9F, FontStyle.Bold);
|
||||
labelKeyboard.Location = new Point(43, 0);
|
||||
labelKeyboard.Margin = new Padding(4, 0, 4, 0);
|
||||
labelKeyboard.Name = "labelKeyboard";
|
||||
@@ -1451,27 +1461,27 @@ namespace GHelper
|
||||
labelKeyboard.TabIndex = 34;
|
||||
labelKeyboard.Text = "Laptop Keyboard";
|
||||
//
|
||||
// panelVersion
|
||||
// panelStartup
|
||||
//
|
||||
panelVersion.Controls.Add(labelCharge);
|
||||
panelVersion.Controls.Add(checkStartup);
|
||||
panelVersion.Dock = DockStyle.Top;
|
||||
panelVersion.Location = new Point(11, 1885);
|
||||
panelVersion.Margin = new Padding(4);
|
||||
panelVersion.Name = "panelVersion";
|
||||
panelVersion.Size = new Size(827, 56);
|
||||
panelVersion.TabIndex = 6;
|
||||
panelStartup.Controls.Add(labelCharge);
|
||||
panelStartup.Controls.Add(checkStartup);
|
||||
panelStartup.Dock = DockStyle.Top;
|
||||
panelStartup.Location = new Point(11, 1874);
|
||||
panelStartup.Margin = new Padding(0);
|
||||
panelStartup.Name = "panelStartup";
|
||||
panelStartup.Padding = new Padding(20, 0, 20, 0);
|
||||
panelStartup.Size = new Size(827, 50);
|
||||
panelStartup.TabIndex = 6;
|
||||
//
|
||||
// labelCharge
|
||||
//
|
||||
labelCharge.Cursor = Cursors.Hand;
|
||||
labelCharge.Dock = DockStyle.Right;
|
||||
labelCharge.ForeColor = SystemColors.ControlDark;
|
||||
labelCharge.Location = new Point(366, 0);
|
||||
labelCharge.Location = new Point(442, 0);
|
||||
labelCharge.Margin = new Padding(0);
|
||||
labelCharge.Name = "labelCharge";
|
||||
labelCharge.Padding = new Padding(0, 0, 20, 0);
|
||||
labelCharge.Size = new Size(461, 56);
|
||||
labelCharge.Size = new Size(365, 50);
|
||||
labelCharge.TabIndex = 40;
|
||||
labelCharge.TextAlign = ContentAlignment.MiddleRight;
|
||||
//
|
||||
@@ -1521,7 +1531,7 @@ namespace GHelper
|
||||
buttonPeripheral3.Dock = DockStyle.Top;
|
||||
buttonPeripheral3.FlatAppearance.BorderSize = 0;
|
||||
buttonPeripheral3.FlatStyle = FlatStyle.Flat;
|
||||
buttonPeripheral3.Font = new Font("Segoe UI", 8F, FontStyle.Regular, GraphicsUnit.Point);
|
||||
buttonPeripheral3.Font = new Font("Segoe UI", 8F);
|
||||
buttonPeripheral3.ForeColor = SystemColors.ControlText;
|
||||
buttonPeripheral3.Image = Properties.Resources.icons8_maus_48;
|
||||
buttonPeripheral3.ImageAlign = ContentAlignment.MiddleLeft;
|
||||
@@ -1545,7 +1555,7 @@ namespace GHelper
|
||||
buttonPeripheral2.Dock = DockStyle.Top;
|
||||
buttonPeripheral2.FlatAppearance.BorderSize = 0;
|
||||
buttonPeripheral2.FlatStyle = FlatStyle.Flat;
|
||||
buttonPeripheral2.Font = new Font("Segoe UI", 8F, FontStyle.Regular, GraphicsUnit.Point);
|
||||
buttonPeripheral2.Font = new Font("Segoe UI", 8F);
|
||||
buttonPeripheral2.ForeColor = SystemColors.ControlText;
|
||||
buttonPeripheral2.Image = Properties.Resources.icons8_maus_48;
|
||||
buttonPeripheral2.ImageAlign = ContentAlignment.MiddleLeft;
|
||||
@@ -1569,7 +1579,7 @@ namespace GHelper
|
||||
buttonPeripheral1.Dock = DockStyle.Top;
|
||||
buttonPeripheral1.FlatAppearance.BorderSize = 0;
|
||||
buttonPeripheral1.FlatStyle = FlatStyle.Flat;
|
||||
buttonPeripheral1.Font = new Font("Segoe UI", 8F, FontStyle.Regular, GraphicsUnit.Point);
|
||||
buttonPeripheral1.Font = new Font("Segoe UI", 8F);
|
||||
buttonPeripheral1.ForeColor = SystemColors.ControlText;
|
||||
buttonPeripheral1.Image = Properties.Resources.icons8_maus_48;
|
||||
buttonPeripheral1.ImageAlign = ContentAlignment.MiddleLeft;
|
||||
@@ -1608,7 +1618,7 @@ namespace GHelper
|
||||
// labelPeripherals
|
||||
//
|
||||
labelPeripherals.AutoSize = true;
|
||||
labelPeripherals.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||
labelPeripherals.Font = new Font("Segoe UI", 9F, FontStyle.Bold);
|
||||
labelPeripherals.Location = new Point(44, 0);
|
||||
labelPeripherals.Margin = new Padding(8, 0, 8, 0);
|
||||
labelPeripherals.Name = "labelPeripherals";
|
||||
@@ -1744,7 +1754,7 @@ namespace GHelper
|
||||
// labelAlly
|
||||
//
|
||||
labelAlly.AutoSize = true;
|
||||
labelAlly.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||
labelAlly.Font = new Font("Segoe UI", 9F, FontStyle.Bold);
|
||||
labelAlly.Location = new Point(43, 0);
|
||||
labelAlly.Margin = new Padding(4, 0, 4, 0);
|
||||
labelAlly.Name = "labelAlly";
|
||||
@@ -1834,7 +1844,7 @@ namespace GHelper
|
||||
comboVisual.ButtonColor = Color.FromArgb(255, 255, 255);
|
||||
comboVisual.Dock = DockStyle.Top;
|
||||
comboVisual.FlatStyle = FlatStyle.Flat;
|
||||
comboVisual.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
|
||||
comboVisual.Font = new Font("Segoe UI", 9F);
|
||||
comboVisual.FormattingEnabled = true;
|
||||
comboVisual.ItemHeight = 32;
|
||||
comboVisual.Location = new Point(10, 8);
|
||||
@@ -1850,7 +1860,7 @@ namespace GHelper
|
||||
comboColorTemp.ButtonColor = Color.FromArgb(255, 255, 255);
|
||||
comboColorTemp.Dock = DockStyle.Top;
|
||||
comboColorTemp.FlatStyle = FlatStyle.Flat;
|
||||
comboColorTemp.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
|
||||
comboColorTemp.Font = new Font("Segoe UI", 9F);
|
||||
comboColorTemp.FormattingEnabled = true;
|
||||
comboColorTemp.ItemHeight = 32;
|
||||
comboColorTemp.Location = new Point(530, 8);
|
||||
@@ -1866,7 +1876,7 @@ namespace GHelper
|
||||
comboGamut.ButtonColor = Color.FromArgb(255, 255, 255);
|
||||
comboGamut.Dock = DockStyle.Top;
|
||||
comboGamut.FlatStyle = FlatStyle.Flat;
|
||||
comboGamut.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
|
||||
comboGamut.Font = new Font("Segoe UI", 9F);
|
||||
comboGamut.FormattingEnabled = true;
|
||||
comboGamut.ItemHeight = 32;
|
||||
comboGamut.Location = new Point(10, 67);
|
||||
@@ -1927,7 +1937,7 @@ namespace GHelper
|
||||
//
|
||||
// labelGammaTitle
|
||||
//
|
||||
labelGammaTitle.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||
labelGammaTitle.Font = new Font("Segoe UI", 9F, FontStyle.Bold);
|
||||
labelGammaTitle.Location = new Point(43, 0);
|
||||
labelGammaTitle.Margin = new Padding(4, 0, 4, 0);
|
||||
labelGammaTitle.Name = "labelGammaTitle";
|
||||
@@ -1935,15 +1945,44 @@ namespace GHelper
|
||||
labelGammaTitle.TabIndex = 37;
|
||||
labelGammaTitle.Text = "Flicker-free Dimming";
|
||||
//
|
||||
// panelVersion
|
||||
//
|
||||
panelVersion.AutoSize = true;
|
||||
panelVersion.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||
panelVersion.Controls.Add(labelVersion);
|
||||
panelVersion.Dock = DockStyle.Top;
|
||||
panelVersion.Location = new Point(11, 1924);
|
||||
panelVersion.MinimumSize = new Size(0, 50);
|
||||
panelVersion.Name = "panelVersion";
|
||||
panelVersion.Padding = new Padding(20, 5, 20, 5);
|
||||
panelVersion.Size = new Size(827, 50);
|
||||
panelVersion.TabIndex = 10;
|
||||
//
|
||||
// labelVersion
|
||||
//
|
||||
labelVersion.Cursor = Cursors.Hand;
|
||||
labelVersion.Dock = DockStyle.Left;
|
||||
labelVersion.Font = new Font("Segoe UI", 9F, FontStyle.Underline);
|
||||
labelVersion.ForeColor = SystemColors.ControlDark;
|
||||
labelVersion.Location = new Point(20, 5);
|
||||
labelVersion.Margin = new Padding(0);
|
||||
labelVersion.Name = "labelVersion";
|
||||
labelVersion.Padding = new Padding(5, 0, 5, 0);
|
||||
labelVersion.Size = new Size(399, 40);
|
||||
labelVersion.TabIndex = 38;
|
||||
labelVersion.Text = "v.0";
|
||||
labelVersion.TextAlign = ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// SettingsForm
|
||||
//
|
||||
AutoScaleDimensions = new SizeF(192F, 192F);
|
||||
AutoScaleMode = AutoScaleMode.Dpi;
|
||||
AutoSize = true;
|
||||
AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||
ClientSize = new Size(849, 2045);
|
||||
ClientSize = new Size(849, 2075);
|
||||
Controls.Add(panelFooter);
|
||||
Controls.Add(panelVersion);
|
||||
Controls.Add(panelStartup);
|
||||
Controls.Add(panelBattery);
|
||||
Controls.Add(panelPeripherals);
|
||||
Controls.Add(panelKeyboard);
|
||||
@@ -2008,8 +2047,8 @@ namespace GHelper
|
||||
panelKeyboardTitle.ResumeLayout(false);
|
||||
panelKeyboardTitle.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)pictureKeyboard).EndInit();
|
||||
panelVersion.ResumeLayout(false);
|
||||
panelVersion.PerformLayout();
|
||||
panelStartup.ResumeLayout(false);
|
||||
panelStartup.PerformLayout();
|
||||
panelPeripherals.ResumeLayout(false);
|
||||
panelPeripherals.PerformLayout();
|
||||
tableLayoutPeripherals.ResumeLayout(false);
|
||||
@@ -2027,6 +2066,7 @@ namespace GHelper
|
||||
tableVisual.ResumeLayout(false);
|
||||
panelGammaTitle.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)pictureGamma).EndInit();
|
||||
panelVersion.ResumeLayout(false);
|
||||
ResumeLayout(false);
|
||||
PerformLayout();
|
||||
}
|
||||
@@ -2093,8 +2133,7 @@ namespace GHelper
|
||||
private Label labelBattery;
|
||||
private PictureBox pictureBattery;
|
||||
private Label labelBatteryTitle;
|
||||
private Panel panelVersion;
|
||||
private Label labelVersion;
|
||||
private Panel panelStartup;
|
||||
private RButton buttonStopGPU;
|
||||
private TableLayoutPanel tableButtons;
|
||||
private Panel panelPeripherals;
|
||||
@@ -2139,5 +2178,8 @@ namespace GHelper
|
||||
private RButton buttonFHD;
|
||||
private RButton buttonAutoTDP;
|
||||
private Label labelDynamicLighting;
|
||||
private Panel panelVersion;
|
||||
private Label labelVersion;
|
||||
private RButton buttonDonate;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -269,12 +269,27 @@ namespace GHelper
|
||||
labelVisual.Click += LabelVisual_Click;
|
||||
labelCharge.Click += LabelCharge_Click;
|
||||
|
||||
buttonDonate.Click += ButtonDonate_Click;
|
||||
|
||||
if (AppConfig.Get("start_count") > 10 && !AppConfig.Is("donate_click"))
|
||||
{
|
||||
buttonDonate.BorderColor = colorTurbo;
|
||||
buttonDonate.Badge = true;
|
||||
}
|
||||
|
||||
labelDynamicLighting.Click += LabelDynamicLighting_Click;
|
||||
|
||||
panelPerformance.Focus();
|
||||
InitVisual();
|
||||
}
|
||||
|
||||
private void ButtonDonate_Click(object? sender, EventArgs e)
|
||||
{
|
||||
AppConfig.Set("donate_click", 1);
|
||||
buttonDonate.Badge = false;
|
||||
Process.Start(new ProcessStartInfo("https://github.com/seerge/g-helper/wiki/Support-Project") { UseShellExecute = true });
|
||||
}
|
||||
|
||||
private void LabelDynamicLighting_Click(object? sender, EventArgs e)
|
||||
{
|
||||
DynamicLightingHelper.OpenSettings();
|
||||
@@ -443,6 +458,14 @@ namespace GHelper
|
||||
});
|
||||
}
|
||||
|
||||
public void VisualiseGamut()
|
||||
{
|
||||
Invoke(delegate
|
||||
{
|
||||
if (comboGamut.Items.Count > 0) comboGamut.SelectedIndex = 0;
|
||||
});
|
||||
}
|
||||
|
||||
private void SliderGamma_ValueChanged(object? sender, EventArgs e)
|
||||
{
|
||||
if (sliderGammaIgnore) return;
|
||||
@@ -666,7 +689,7 @@ namespace GHelper
|
||||
break;
|
||||
case 1:
|
||||
Logger.WriteLine("Monitor Power On");
|
||||
Program.SetAutoModes();
|
||||
if (!Program.SetAutoModes()) BatteryControl.AutoBattery();
|
||||
break;
|
||||
case 2:
|
||||
Logger.WriteLine("Monitor Dimmed");
|
||||
|
||||
@@ -52,6 +52,16 @@ namespace GHelper.UI
|
||||
}
|
||||
}
|
||||
|
||||
private bool badge = false;
|
||||
public bool Badge
|
||||
{
|
||||
get { return badge; }
|
||||
set
|
||||
{
|
||||
badge = value;
|
||||
}
|
||||
}
|
||||
|
||||
public RButton()
|
||||
{
|
||||
DoubleBuffered = true;
|
||||
@@ -99,6 +109,15 @@ namespace GHelper.UI
|
||||
pevent.Graphics.DrawPath(penBorder, pathBorder);
|
||||
}
|
||||
|
||||
if (badge)
|
||||
{
|
||||
using (Brush brush = new SolidBrush(borderColor))
|
||||
{
|
||||
var radius = ratio * 10;
|
||||
pevent.Graphics.FillEllipse(brush, rectSurface.Width - rectSurface.Height / 2 - radius, rectSurface.Height / 2 - radius, radius + radius, radius + radius);
|
||||
}
|
||||
}
|
||||
|
||||
if (!Enabled && ForeColor != SystemColors.ControlText)
|
||||
{
|
||||
var rect = pevent.ClipRectangle;
|
||||
|
||||
@@ -10,7 +10,7 @@ public static class AsusHid
|
||||
public const byte INPUT_ID = 0x5a;
|
||||
public const byte AURA_ID = 0x5d;
|
||||
|
||||
static int[] deviceIds = { 0x1a30, 0x1854, 0x1869, 0x1866, 0x19b6, 0x1822, 0x1837, 0x1854, 0x184a, 0x183d, 0x8502, 0x1807, 0x17e0, 0x18c6, 0x1abe };
|
||||
static int[] deviceIds = { 0x1a30, 0x1854, 0x1869, 0x1866, 0x19b6, 0x1822, 0x1837, 0x1854, 0x184a, 0x183d, 0x8502, 0x1807, 0x17e0, 0x18c6, 0x1abe, 0x1b4c };
|
||||
|
||||
static HidStream? auraStream;
|
||||
|
||||
|
||||
@@ -79,8 +79,8 @@ namespace GHelper.USB
|
||||
public static Color Color1 = Color.White;
|
||||
public static Color Color2 = Color.Black;
|
||||
|
||||
static bool isACPI = AppConfig.IsTUF() || AppConfig.IsVivoZenbook() || AppConfig.IsProArt();
|
||||
static bool isStrix = AppConfig.IsStrix() && !AppConfig.IsNoDirectRGB();
|
||||
static bool isACPI = AppConfig.IsTUF() || AppConfig.IsVivoZenPro();
|
||||
static bool isStrix = AppConfig.IsAdvancedRGB() && !AppConfig.IsNoDirectRGB();
|
||||
|
||||
static bool isStrix4Zone = AppConfig.Is4ZoneRGB();
|
||||
static bool isStrixNumpad = AppConfig.IsStrixNumpad();
|
||||
@@ -183,7 +183,7 @@ namespace GHelper.USB
|
||||
return _modes;
|
||||
}
|
||||
|
||||
if (AppConfig.IsStrix() && !AppConfig.Is4ZoneRGB())
|
||||
if (AppConfig.IsAdvancedRGB() && !AppConfig.Is4ZoneRGB())
|
||||
{
|
||||
return _modesStrix;
|
||||
}
|
||||
@@ -241,20 +241,20 @@ namespace GHelper.USB
|
||||
}
|
||||
|
||||
|
||||
public static byte[] AuraMessage(AuraMode mode, Color color, Color color2, int speed, bool mono = false, byte zoneByte = 0x00)
|
||||
public static byte[] AuraMessage(AuraMode mode, Color color, Color color2, int speed, bool mono = false)
|
||||
{
|
||||
|
||||
byte[] msg = new byte[17];
|
||||
msg[0] = AsusHid.AURA_ID;
|
||||
msg[1] = 0xB3;
|
||||
msg[2] = zoneByte; // Zone
|
||||
msg[2] = 0x00; // Zone
|
||||
msg[3] = (byte)mode; // Aura Mode
|
||||
msg[4] = color.R; // R
|
||||
msg[5] = mono ? (byte)0 : color.G; // G
|
||||
msg[6] = mono ? (byte)0 : color.B; // B
|
||||
msg[7] = (byte)speed; // aura.speed as u8;
|
||||
msg[8] = 0x00; // aura.direction as u8;
|
||||
msg[9] = mode == AuraMode.AuraBreathe ? (byte)1 : (byte)0;
|
||||
msg[9] = (color.R == 0 && color.G == 0 && color.B == 0) ? (byte)0xFF : (mode == AuraMode.AuraBreathe ? (byte)0x01 : (byte)0x00); // random color flag
|
||||
msg[10] = color2.R; // R
|
||||
msg[11] = mono ? (byte)0 : color2.G; // G
|
||||
msg[12] = mono ? (byte)0 : color2.B; // B
|
||||
@@ -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");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -354,34 +364,36 @@ namespace GHelper.USB
|
||||
public static void ApplyPower()
|
||||
{
|
||||
|
||||
bool backlightBattery = AppConfig.IsBacklightZones() && (SystemInformation.PowerStatus.PowerLineStatus != PowerLineStatus.Online);
|
||||
|
||||
AuraPower flags = new();
|
||||
|
||||
// Keyboard
|
||||
flags.AwakeKeyb = AppConfig.IsNotFalse("keyboard_awake");
|
||||
flags.AwakeKeyb = backlightBattery ? AppConfig.IsOnBattery("keyboard_awake") : AppConfig.IsNotFalse("keyboard_awake");
|
||||
flags.BootKeyb = AppConfig.IsNotFalse("keyboard_boot");
|
||||
flags.SleepKeyb = AppConfig.IsNotFalse("keyboard_sleep");
|
||||
flags.ShutdownKeyb = AppConfig.IsNotFalse("keyboard_shutdown");
|
||||
|
||||
// Logo
|
||||
flags.AwakeLogo = AppConfig.IsNotFalse("keyboard_awake_logo");
|
||||
flags.AwakeLogo = backlightBattery ? AppConfig.IsOnBattery("keyboard_awake_logo") : AppConfig.IsNotFalse("keyboard_awake_logo");
|
||||
flags.BootLogo = AppConfig.IsNotFalse("keyboard_boot_logo");
|
||||
flags.SleepLogo = AppConfig.IsNotFalse("keyboard_sleep_logo");
|
||||
flags.ShutdownLogo = AppConfig.IsNotFalse("keyboard_shutdown_logo");
|
||||
|
||||
// Lightbar
|
||||
flags.AwakeBar = AppConfig.IsNotFalse("keyboard_awake_bar");
|
||||
flags.AwakeBar = backlightBattery ? AppConfig.IsOnBattery("keyboard_awake_bar") : AppConfig.IsNotFalse("keyboard_awake_bar");
|
||||
flags.BootBar = AppConfig.IsNotFalse("keyboard_boot_bar");
|
||||
flags.SleepBar = AppConfig.IsNotFalse("keyboard_sleep_bar");
|
||||
flags.ShutdownBar = AppConfig.IsNotFalse("keyboard_shutdown_bar");
|
||||
|
||||
// Lid
|
||||
flags.AwakeLid = AppConfig.IsNotFalse("keyboard_awake_lid");
|
||||
flags.AwakeLid = backlightBattery ? AppConfig.IsOnBattery("keyboard_awake_lid") : AppConfig.IsNotFalse("keyboard_awake_lid");
|
||||
flags.BootLid = AppConfig.IsNotFalse("keyboard_boot_lid");
|
||||
flags.SleepLid = AppConfig.IsNotFalse("keyboard_sleep_lid");
|
||||
flags.ShutdownLid = AppConfig.IsNotFalse("keyboard_shutdown_lid");
|
||||
|
||||
// Rear Bar
|
||||
flags.AwakeRear = AppConfig.IsNotFalse("keyboard_awake_lid");
|
||||
flags.AwakeRear = backlightBattery ? AppConfig.IsOnBattery("keyboard_awake_lid") : AppConfig.IsNotFalse("keyboard_awake_lid");
|
||||
flags.BootRear = AppConfig.IsNotFalse("keyboard_boot_lid");
|
||||
flags.SleepRear = AppConfig.IsNotFalse("keyboard_sleep_lid");
|
||||
flags.ShutdownRear = AppConfig.IsNotFalse("keyboard_shutdown_lid");
|
||||
|
||||
@@ -7,15 +7,16 @@ namespace GHelper.USB
|
||||
{
|
||||
public static class XGM
|
||||
{
|
||||
const int XGM_ID = 0x1970;
|
||||
const int ASUS_ID = 0x0b05;
|
||||
|
||||
static int[] deviceIds = { 0x1970, 0x1a9a};
|
||||
|
||||
public static void Write(byte[] data)
|
||||
{
|
||||
HidDeviceLoader loader = new HidDeviceLoader();
|
||||
try
|
||||
{
|
||||
HidDevice device = loader.GetDevices(ASUS_ID, XGM_ID).Where(device => device.CanOpen && device.GetMaxFeatureReportLength() >= 300).FirstOrDefault();
|
||||
HidDevice device = loader.GetDevices(ASUS_ID).Where(device => deviceIds.Contains(device.ProductID) && device.CanOpen && device.GetMaxFeatureReportLength() >= 300).FirstOrDefault();
|
||||
|
||||
if (device is null)
|
||||
{
|
||||
|
||||
@@ -1,5 +1,2 @@
|
||||
{
|
||||
"sdk": {
|
||||
"version": "7.0.406"
|
||||
}
|
||||
}
|
||||
@@ -4,9 +4,23 @@
|
||||
[](https://GitHub.com/seerge/g-helper/releases/) [](https://GitHub.com/seerge/g-helper/stargazers/) <sup>[中文版点这里](https://github.com/seerge/g-helper/blob/main/docs/README.zh-CN.md)</sup>
|
||||
|
||||
Small and lightweight Armoury Crate alternative for Asus laptops offering almost same functionality without extra load and unnecessary services.
|
||||
Works with all popular models, such as ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, Flow Z13, TUF Series, Strix / Scar Series, ProArt, Vivobook, Zenbook, ROG Ally and many more!
|
||||
|
||||
Works with all popular models, such as ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, Flow Z13, TUF Series, Strix or Scar Series, ProArt, Vivobook, Zenbook, ROG Ally / Ally X and many more!
|
||||
|
||||
# [:floppy_disk:Download](https://github.com/seerge/g-helper/releases/latest/download/GHelper.zip)
|
||||
**⭐ If you like the app - please spread the word about it online**
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td><b>Support Project</b></td>
|
||||
<td >
|
||||
<a href="https://bit.ly/4c0ZWs9"><img src="https://raw.githubusercontent.com/seerge/g-helper/main/docs/paypal-eur.png" height="36" alt="PayPal EUR"></a>
|
||||
<a href="https://bit.ly/4aGTyW8"><img src="https://raw.githubusercontent.com/seerge/g-helper/main/docs/paypal-usd.png" height="36" alt="PayPal USD"></a>
|
||||
<a href="https://buy.stripe.com/8wM6pt8HbgK50tWbIK"><img src="https://raw.githubusercontent.com/seerge/g-helper/main/docs/stripe.png" height="36" alt="Stripe"></a>
|
||||
<a href="https://buy.stripe.com/6oE29dg9D3Xj7Wo28b"><img src="https://raw.githubusercontent.com/seerge/g-helper/main/docs/alipay.png" height="36" alt="Alipay"></a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
- [FAQ](https://github.com/seerge/g-helper/wiki/FAQ)
|
||||
- [Setup and Requirements](https://github.com/seerge/g-helper/wiki/Requirements)
|
||||
@@ -91,19 +105,25 @@ Each BIOS mode is paired with matching Windows Power Mode. You can adjust this s
|
||||
- ROG Chakram X (P708)
|
||||
- ROG Chakram Core (P511)
|
||||
- ROG Gladius II and Gladius II Origin (P502 and P504)
|
||||
- ROG Gladius II Wireless
|
||||
- ROG Gladius III
|
||||
- ROG Gladius III Wireless
|
||||
- ROG Harpe Ace Aim Lab Edition
|
||||
- ROG Keris (P509)
|
||||
- ROG Keris Wireless
|
||||
- ROG Keris II Ace
|
||||
- ROG Strix Carry (P508)
|
||||
- ROG Strix III Gladius III Aimpoint Wireless (P711)
|
||||
- ROG Strix Impact III (P518)
|
||||
- ROG Spatha
|
||||
- ROG Spatha X
|
||||
- ROG Strix Impact II Wireless
|
||||
- ROG Pugio
|
||||
- ROG Pugio II
|
||||
- TUF Gaming M4 Wireless (P306)
|
||||
- TUF Gaming M3
|
||||
- TUF Gaming M3 Gen II
|
||||
- TUF Gaming M4 AIR
|
||||
- TUF Gaming M5
|
||||
- TX Gaming Mini
|
||||
|
||||
Huge thanks to [@IceStormNG](https://github.com/IceStormNG) 👑 for contribution and research (!).
|
||||
|
||||
@@ -157,6 +177,6 @@ The role of G-Helper for your laptop is similar to the role of a remote control
|
||||
- [AsusCtl](https://gitlab.com/asus-linux/asusctl) for inspiration and some reverse engineering
|
||||
|
||||
### Disclaimers
|
||||
"ROG", "TUF", and "Armoury Crate" are trademarked by and belong to AsusTek Computer, Inc. I make no claims to these or any assets belonging to AsusTek Computer and use them purely for informational purposes only.
|
||||
"Asus", "ROG", "TUF", and "Armoury Crate" are trademarked by and belong to AsusTek Computer, Inc. I make no claims to these or any assets belonging to AsusTek Computer and use them purely for informational purposes only.
|
||||
|
||||
THE SOFTWARE IS PROVIDED “AS IS” AND WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. MISUSE OF THIS SOFTWARE COULD CAUSE SYSTEM INSTABILITY OR MALFUNCTION.
|
||||
|
||||
@@ -12,6 +12,17 @@ G-helper兼容所有主流型号,例如 ROG 幻14、幻15、幻16、幻13、
|
||||
|
||||
# [:floppy_disk:下载应用](https://github.com/seerge/g-helper/releases/latest/download/GHelper.zip)
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td><b>支持此项目</b></td>
|
||||
<td >
|
||||
<a href="https://bit.ly/4c0ZWs9"><img src="https://raw.githubusercontent.com/seerge/g-helper/main/docs/paypal.png" height="36" alt="PayPal"></a>
|
||||
<a href="https://buy.stripe.com/bIY4hl8HbalH3G8bIJ"><img src="https://raw.githubusercontent.com/seerge/g-helper/main/docs/stripe.png" height="36" alt="Stripe"></a>
|
||||
<a href="https://buy.stripe.com/bIY4hl8HbalH3G8bIJ"><img src="https://raw.githubusercontent.com/seerge/g-helper/main/docs/alipay.png" height="36" alt="Alipay"></a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
如果你喜欢这个应用,请[给这个项目⭐️](https://github.com/seerge/g-helper) 或者向别人推荐它!
|
||||
|
||||
[常见问题解答(FAQ)](#常见问题解答)
|
||||
@@ -20,8 +31,6 @@ G-helper兼容所有主流型号,例如 ROG 幻14、幻15、幻16、幻13、
|
||||
|
||||
[高级用户设置](#高级用户设置)
|
||||
|
||||
### 通过paypal支持本项目:[:euro: EUR](https://www.paypal.com/donate/?hosted_button_id=4HMSHS4EBQWTA)或者[💵 USD](https://www.paypal.com/donate/?hosted_button_id=SRM6QUX6ACXDY)
|
||||
|
||||
[](https://github.com/seerge/g-helper/releases/latest/download/GHelper.zip)
|
||||
|
||||
_如果你在别的地方提到这个软件-请记得加上这个项目的网址。十分感谢。_
|
||||
|
||||
BIN
docs/alipay.png
Normal file
BIN
docs/alipay.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.8 KiB |
BIN
docs/paypal-eur.png
Normal file
BIN
docs/paypal-eur.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.6 KiB |
BIN
docs/paypal-usd.png
Normal file
BIN
docs/paypal-usd.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.0 KiB |
BIN
docs/paypal.png
Normal file
BIN
docs/paypal.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.0 KiB |
BIN
docs/stripe.png
Normal file
BIN
docs/stripe.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.2 KiB |
Reference in New Issue
Block a user