mirror of
https://github.com/jkocon/g-helper.git
synced 2026-02-23 13:00:52 +01:00
Compare commits
92 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d0f1b70c9f | ||
|
|
2e025edeb5 | ||
|
|
c69150f4ef | ||
|
|
0a419ac1f6 | ||
|
|
47dcf2a980 | ||
|
|
1ea3725568 | ||
|
|
7f44ba0195 | ||
|
|
ce01d72db0 | ||
|
|
451f290c34 | ||
|
|
2c6d8b86a9 | ||
|
|
5c7ba8593f | ||
|
|
3cb5f3de0e | ||
|
|
c8a6e79144 | ||
|
|
6b97bc1eaf | ||
|
|
0d2fefb8c4 | ||
|
|
acfce9867e | ||
|
|
d1e1b6704d | ||
|
|
5913d4fdd7 | ||
|
|
0fd6693434 | ||
|
|
e96e37a573 | ||
|
|
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 |
@@ -347,6 +347,7 @@ namespace GHelper.Ally
|
|||||||
if (!autoTDP && _mode != ControllerMode.Auto) return;
|
if (!autoTDP && _mode != ControllerMode.Auto) return;
|
||||||
|
|
||||||
float fps = amdControl.GetFPS();
|
float fps = amdControl.GetFPS();
|
||||||
|
int? usage = 0;
|
||||||
|
|
||||||
if (autoTDP && fpsLimit > 0 && fpsLimit <= 120)
|
if (autoTDP && fpsLimit > 0 && fpsLimit <= 120)
|
||||||
{
|
{
|
||||||
@@ -377,7 +378,8 @@ namespace GHelper.Ally
|
|||||||
|
|
||||||
if (_mode == ControllerMode.Auto)
|
if (_mode == ControllerMode.Auto)
|
||||||
{
|
{
|
||||||
ControllerMode newMode = (fps > 0) ? ControllerMode.Gamepad : ControllerMode.Mouse;
|
if (fps > 0) usage = amdControl.GetiGpuUse();
|
||||||
|
ControllerMode newMode = (fps > 0 && usage > 15) ? ControllerMode.Gamepad : ControllerMode.Mouse;
|
||||||
|
|
||||||
if (_applyMode != newMode) _autoCount++;
|
if (_applyMode != newMode) _autoCount++;
|
||||||
else _autoCount = 0;
|
else _autoCount = 0;
|
||||||
@@ -386,7 +388,7 @@ namespace GHelper.Ally
|
|||||||
{
|
{
|
||||||
_autoCount = 0;
|
_autoCount = 0;
|
||||||
ApplyMode(newMode);
|
ApplyMode(newMode);
|
||||||
Logger.WriteLine($"Controller Mode {fps}: {newMode}");
|
Logger.WriteLine($"Controller Mode (FPS={fps}, USAGE={usage}%): {newMode}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -40,9 +40,16 @@ namespace GHelper.AnimeMatrix
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (AppConfig.IsSlash())
|
if (AppConfig.IsSlash())
|
||||||
deviceSlash = new SlashDevice();
|
{
|
||||||
|
if (AppConfig.IsSlashAura())
|
||||||
|
deviceSlash = new SlashDeviceAura();
|
||||||
|
else
|
||||||
|
deviceSlash = new SlashDevice();
|
||||||
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
deviceMatrix = new AnimeMatrixDevice();
|
deviceMatrix = new AnimeMatrixDevice();
|
||||||
|
}
|
||||||
|
|
||||||
matrixTimer = new System.Timers.Timer(100);
|
matrixTimer = new System.Timers.Timer(100);
|
||||||
matrixTimer.Elapsed += MatrixTimer_Elapsed;
|
matrixTimer.Elapsed += MatrixTimer_Elapsed;
|
||||||
@@ -104,20 +111,25 @@ namespace GHelper.AnimeMatrix
|
|||||||
deviceSlash.SetEnabled(true);
|
deviceSlash.SetEnabled(true);
|
||||||
deviceSlash.Init();
|
deviceSlash.Init();
|
||||||
|
|
||||||
|
deviceSlash.SetLidMode(false);
|
||||||
|
|
||||||
switch ((SlashMode)running)
|
switch ((SlashMode)running)
|
||||||
{
|
{
|
||||||
case SlashMode.Static:
|
case SlashMode.Static:
|
||||||
|
Logger.WriteLine("Slash: Static");
|
||||||
var custom = AppConfig.GetString("slash_custom");
|
var custom = AppConfig.GetString("slash_custom");
|
||||||
if (custom is not null && custom.Length > 0)
|
if (custom is not null && custom.Length > 0)
|
||||||
{
|
{
|
||||||
deviceSlash.SetCustom(AppConfig.StringToBytes(custom));
|
deviceSlash.SetCustom(AppConfig.StringToBytes(custom));
|
||||||
} else
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
deviceSlash.SetStatic(brightness);
|
deviceSlash.SetStatic(brightness);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case SlashMode.BatteryLevel:
|
case SlashMode.BatteryLevel:
|
||||||
// call tick to immediately update the pattern
|
// call tick to immediately update the pattern
|
||||||
|
Logger.WriteLine("Slash: Battery Level");
|
||||||
SlashTimer_start();
|
SlashTimer_start();
|
||||||
SlashTimer_tick();
|
SlashTimer_tick();
|
||||||
break;
|
break;
|
||||||
@@ -138,11 +150,6 @@ namespace GHelper.AnimeMatrix
|
|||||||
{
|
{
|
||||||
bool matrixLid = AppConfig.Is("matrix_lid");
|
bool matrixLid = AppConfig.Is("matrix_lid");
|
||||||
|
|
||||||
if (deviceSlash is not null)
|
|
||||||
{
|
|
||||||
deviceSlash.SetLidMode(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (matrixLid || force)
|
if (matrixLid || force)
|
||||||
{
|
{
|
||||||
Logger.WriteLine($"Matrix LidClosed: {lidClose}");
|
Logger.WriteLine($"Matrix LidClosed: {lidClose}");
|
||||||
@@ -270,7 +277,7 @@ namespace GHelper.AnimeMatrix
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void SlashTimer_start(int interval = 60000)
|
private void SlashTimer_start(int interval = 180000)
|
||||||
{
|
{
|
||||||
// 100% to 0% in 1hr = 1% every 36 seconds
|
// 100% to 0% in 1hr = 1% every 36 seconds
|
||||||
// 1 bracket every 14.2857 * 36s = 514s ~ 8m 30s
|
// 1 bracket every 14.2857 * 36s = 514s ~ 8m 30s
|
||||||
@@ -279,14 +286,14 @@ namespace GHelper.AnimeMatrix
|
|||||||
|
|
||||||
// create the timer if first call
|
// create the timer if first call
|
||||||
// this way, the timer only spawns if user tries to use battery pattern
|
// 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 = new System.Timers.Timer(interval);
|
||||||
slashTimer.Elapsed += SlashTimer_elapsed;
|
slashTimer.Elapsed += SlashTimer_elapsed;
|
||||||
slashTimer.AutoReset = true;
|
slashTimer.AutoReset = true;
|
||||||
}
|
}
|
||||||
// only write if interval changed
|
// only write if interval changed
|
||||||
if(slashTimer.Interval != interval)
|
if (slashTimer.Interval != interval)
|
||||||
{
|
{
|
||||||
slashTimer.Interval = interval;
|
slashTimer.Interval = interval;
|
||||||
}
|
}
|
||||||
@@ -304,7 +311,7 @@ namespace GHelper.AnimeMatrix
|
|||||||
if (deviceSlash is null) return;
|
if (deviceSlash is null) return;
|
||||||
|
|
||||||
//kill timer if called but not in battery pattern mode
|
//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.Stop();
|
||||||
slashTimer.Dispose();
|
slashTimer.Dispose();
|
||||||
|
|||||||
@@ -404,12 +404,14 @@ namespace GHelper.AnimeMatrix
|
|||||||
|
|
||||||
public void PresentClock()
|
public void PresentClock()
|
||||||
{
|
{
|
||||||
string second = (DateTime.Now.Second % 2 == 0) ? ":" : " ";
|
string timeFormat = AppConfig.GetString("matrix_time", "HH:mm");
|
||||||
string time = DateTime.Now.ToString("HH" + second + "mm");
|
string dateFormat = AppConfig.GetString("matrix_date", "yy.MM.dd");
|
||||||
|
|
||||||
|
if (DateTime.Now.Second % 2 != 0) timeFormat = timeFormat.Replace(":", " ");
|
||||||
|
|
||||||
Clear();
|
Clear();
|
||||||
Text(time, 15, 0, 25);
|
Text(DateTime.Now.ToString(timeFormat), 15, 2, 25);
|
||||||
Text(DateTime.Now.ToString("yy'. 'MM'. 'dd"), 11.5F, 0, 14);
|
Text(DateTime.Now.ToString(dateFormat), 11.5F, 0, 14);
|
||||||
Present();
|
Present();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
using GHelper.AnimeMatrix.Communication;
|
using GHelper.AnimeMatrix.Communication;
|
||||||
using System.Management;
|
using System.Management;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Timers;
|
|
||||||
|
|
||||||
namespace GHelper.AnimeMatrix
|
namespace GHelper.AnimeMatrix
|
||||||
{
|
{
|
||||||
@@ -26,16 +25,24 @@ namespace GHelper.AnimeMatrix
|
|||||||
BatteryLevel,
|
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
|
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>
|
public static Dictionary<SlashMode, string> Modes = new Dictionary<SlashMode, string>
|
||||||
{
|
{
|
||||||
{ SlashMode.Bounce, "Bounce"},
|
{ SlashMode.Bounce, "Bounce"},
|
||||||
@@ -85,31 +92,31 @@ namespace GHelper.AnimeMatrix
|
|||||||
{ SlashMode.Buzzer, 0x44},
|
{ SlashMode.Buzzer, 0x44},
|
||||||
};
|
};
|
||||||
|
|
||||||
public SlashDevice() : base(0x0B05, 0x193B, 128)
|
public SlashDevice(ushort productId = 0x193B) : base(0x0B05, productId, 128)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public void WakeUp()
|
public void WakeUp()
|
||||||
{
|
{
|
||||||
Set(Packet<SlashPacket>(Encoding.ASCII.GetBytes("ASUS Tech.Inc.")), "SlashWakeUp");
|
Set(CreatePacket(Encoding.ASCII.GetBytes("ASUS Tech.Inc.")), "SlashWakeUp");
|
||||||
Set(Packet<SlashPacket>(0xC2), "SlashWakeUp");
|
Set(CreatePacket([0xC2]), "SlashWakeUp");
|
||||||
Set(Packet<SlashPacket>(0xD1, 0x01, 0x00, 0x01), "SlashWakeUp");
|
Set(CreatePacket([0xD1, 0x01, 0x00, 0x01 ]), "SlashWakeUp");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Init()
|
public void Init()
|
||||||
{
|
{
|
||||||
Set(Packet<SlashPacket>(0xD7, 0x00, 0x00, 0x01, 0xAC), "SlashInit");
|
Set(CreatePacket([0xD7, 0x00, 0x00, 0x01, 0xAC]), "SlashInit");
|
||||||
Set(Packet<SlashPacket>(0xD2, 0x02, 0x01, 0x08, 0xAB), "SlashInit");
|
Set(CreatePacket([0xD2, 0x02, 0x01, 0x08, 0xAB]), "SlashInit");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetEnabled(bool status = true)
|
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()
|
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)
|
public void SetMode(SlashMode mode)
|
||||||
@@ -125,8 +132,8 @@ namespace GHelper.AnimeMatrix
|
|||||||
modeByte = 0x00;
|
modeByte = 0x00;
|
||||||
}
|
}
|
||||||
|
|
||||||
Set(Packet<SlashPacket>(0xD2, 0x03, 0x00, 0x0C), "SlashMode");
|
Set(CreatePacket([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([0xD3, 0x04, 0x00, 0x0C, 0x01, modeByte, 0x02, 0x19, 0x03, 0x13, 0x04, 0x11, 0x05, 0x12, 0x06, 0x13]), "SlashMode");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetStatic(int brightness = 0)
|
public void SetStatic(int brightness = 0)
|
||||||
@@ -135,23 +142,23 @@ namespace GHelper.AnimeMatrix
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static double GetBatteryChargePercentage()
|
public static double GetBatteryChargePercentage()
|
||||||
|
{
|
||||||
|
double batteryCharge = 0;
|
||||||
|
try
|
||||||
{
|
{
|
||||||
double batteryCharge = 0;
|
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Battery");
|
||||||
try
|
foreach (ManagementObject battery in searcher.Get())
|
||||||
{
|
{
|
||||||
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Battery");
|
batteryCharge = Convert.ToDouble(battery["EstimatedChargeRemaining"]);
|
||||||
foreach (ManagementObject battery in searcher.Get())
|
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)
|
private byte[] GetBatteryPattern(int brightness, double percentage)
|
||||||
{
|
{
|
||||||
@@ -159,64 +166,77 @@ namespace GHelper.AnimeMatrix
|
|||||||
// set brightness to reflect battery's percentage within that range
|
// set brightness to reflect battery's percentage within that range
|
||||||
|
|
||||||
int bracket = (int)Math.Floor(percentage / 14.2857);
|
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();
|
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);
|
batteryPattern[i] = (byte)(brightness * 85.333);
|
||||||
}
|
}
|
||||||
|
|
||||||
//set the "selected" bracket to the percentage of that bracket filled from 0 to 255 as a hex
|
//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;
|
return batteryPattern;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetBatteryPattern(int brightness)
|
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(CreatePacket([0xD2, 0x02, 0x01, 0x08, 0xAC]), null);
|
||||||
Set(Packet<SlashPacket>(0xD3, 0x03, 0x01, 0x08, 0xAC, 0xFF, 0xFF, 0x01, 0x05, 0xFF, 0xFF), "StaticSettings");
|
Set(CreatePacket([0xD3, 0x03, 0x01, 0x08, 0xAC, 0xFF, 0xFF, 0x01, 0x05, 0xFF, 0xFF]), null);
|
||||||
Set(Packet<SlashPacket>(0xD4, 0x00, 0x00, 0x01, 0xAC), "StaticSave");
|
Set(CreatePacket([0xD4, 0x00, 0x00, 0x01, 0xAC]), null);
|
||||||
|
|
||||||
byte[] payload = new byte[] { 0xD3, 0x00, 0x00, 0x07 };
|
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)
|
public void SetOptions(bool status, int brightness = 0, int interval = 0)
|
||||||
{
|
{
|
||||||
byte brightnessByte = (byte)(brightness * 85.333);
|
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)
|
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)
|
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)
|
public void SetSleepActive(bool status)
|
||||||
{
|
{
|
||||||
Set(Packet<SlashPacket>(0xD2, 0x02, 0x01, 0x08, 0xA1), "SleepInit");
|
Set(CreatePacket([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([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)
|
public void Set(Packet packet, string? log = null)
|
||||||
{
|
{
|
||||||
_usbProvider?.Set(packet.Data);
|
_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);
|
config = JsonSerializer.Deserialize<Dictionary<string, object>>(text);
|
||||||
}
|
}
|
||||||
catch
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Logger.WriteLine("Broken config: " + text);
|
Logger.WriteLine($"Broken config: {ex.Message} {text}");
|
||||||
Init();
|
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
|
else
|
||||||
@@ -377,10 +386,20 @@ public static class AppConfig
|
|||||||
return ContainsModel("Vivobook") || ContainsModel("Zenbook");
|
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
|
// Devices with bugged bios command to change brightness
|
||||||
public static bool SwappedBrightness()
|
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");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -392,22 +411,32 @@ public static class AppConfig
|
|||||||
// G14 2020 has no aura, but media keys instead
|
// G14 2020 has no aura, but media keys instead
|
||||||
public static bool NoAura()
|
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()
|
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()
|
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()
|
public static bool IsInputBacklight()
|
||||||
{
|
{
|
||||||
return ContainsModel("GA503") || IsSlash();
|
return ContainsModel("GA503") || IsSlash() || IsVivoZenPro();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsInvertedFNLock()
|
public static bool IsInvertedFNLock()
|
||||||
@@ -417,7 +446,7 @@ public static class AppConfig
|
|||||||
|
|
||||||
public static bool IsOLED()
|
public static bool IsOLED()
|
||||||
{
|
{
|
||||||
return ContainsModel("OLED") || IsSlash() || ContainsModel("M7600") || ContainsModel("UX64") || ContainsModel("UX34") || ContainsModel("UX53") || ContainsModel("K360") || ContainsModel("X150") || ContainsModel("M350") || ContainsModel("K650") || ContainsModel("UM53") || ContainsModel("K660") || ContainsModel("UX84") || ContainsModel("M650") || ContainsModel("K340") || ContainsModel("K350") || ContainsModel("M140") || ContainsModel("UM340") || ContainsModel("S540") || ContainsModel("M7400") || ContainsModel("N650");
|
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()
|
public static bool IsNoOverdrive()
|
||||||
@@ -472,7 +501,7 @@ public static class AppConfig
|
|||||||
|
|
||||||
public static bool IsNoDirectRGB()
|
public static bool IsNoDirectRGB()
|
||||||
{
|
{
|
||||||
return ContainsModel("GA503") || ContainsModel("G533Q") || ContainsModel("GU502") || IsSlash();
|
return ContainsModel("GA503") || ContainsModel("G533Q") || ContainsModel("GU502") || ContainsModel("GU603") || IsSlash();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsStrixNumpad()
|
public static bool IsStrixNumpad()
|
||||||
@@ -517,7 +546,7 @@ public static class AppConfig
|
|||||||
|
|
||||||
public static bool DynamicBoost20()
|
public static bool DynamicBoost20()
|
||||||
{
|
{
|
||||||
return ContainsModel("GU605");
|
return ContainsModel("GU605") || ContainsModel("GA605");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsAdvantageEdition()
|
public static bool IsAdvantageEdition()
|
||||||
@@ -527,7 +556,7 @@ public static class AppConfig
|
|||||||
|
|
||||||
public static bool NoAutoUltimate()
|
public static bool NoAutoUltimate()
|
||||||
{
|
{
|
||||||
return ContainsModel("G614") || ContainsModel("GU604") || ContainsModel("FX507") || ContainsModel("G513") || ContainsModel("FA617") || ContainsModel("G834") || ContainsModel("GA403") || ContainsModel("GU605") || ContainsModel("GU603VV");
|
return ContainsModel("G614") || ContainsModel("GU604") || ContainsModel("FX507") || ContainsModel("G513") || ContainsModel("FA617") || ContainsModel("G834") || ContainsModel("GA403") || ContainsModel("GU605") || ContainsModel("GA605") || ContainsModel("GU603VV");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -583,12 +612,12 @@ public static class AppConfig
|
|||||||
|
|
||||||
public static bool IsFanRequired()
|
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()
|
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()
|
public static bool IsPowerRequired()
|
||||||
@@ -647,14 +676,14 @@ public static class AppConfig
|
|||||||
|
|
||||||
public static bool IsChargeLimit6080()
|
public static bool IsChargeLimit6080()
|
||||||
{
|
{
|
||||||
return ContainsModel("GA403U") || 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
|
// 2024 Models support Dynamic Lighting
|
||||||
public static bool IsDynamicLighting()
|
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()
|
public static bool IsForceMiniled()
|
||||||
|
|||||||
@@ -46,6 +46,7 @@ public class AsusACPI
|
|||||||
|
|
||||||
public const int KB_TouchpadToggle = 0x6b;
|
public const int KB_TouchpadToggle = 0x6b;
|
||||||
public const int KB_MuteToggle = 0x7c;
|
public const int KB_MuteToggle = 0x7c;
|
||||||
|
public const int KB_FNlockToggle = 0x4e;
|
||||||
|
|
||||||
public const int KB_DUO_PgUpDn = 0x4B;
|
public const int KB_DUO_PgUpDn = 0x4B;
|
||||||
public const int KB_DUO_SecondDisplay = 0x6A;
|
public const int KB_DUO_SecondDisplay = 0x6A;
|
||||||
@@ -66,12 +67,13 @@ public class AsusACPI
|
|||||||
public const uint PerformanceMode = 0x00120075; // Performance modes
|
public const uint PerformanceMode = 0x00120075; // Performance modes
|
||||||
public const uint VivoBookMode = 0x00110019; // Vivobook 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 GPUXGConnected = 0x00090018;
|
||||||
public const uint GPUXG = 0x00090019;
|
public const uint GPUXG = 0x00090019;
|
||||||
|
|
||||||
public const uint GPUMux = 0x00090016;
|
public const uint GPUMuxROG = 0x00090016;
|
||||||
public const uint GPUMuxVivo = 0x00090026;
|
public const uint GPUMuxVivo = 0x00090026;
|
||||||
|
|
||||||
public const uint BatteryLimit = 0x00120057;
|
public const uint BatteryLimit = 0x00120057;
|
||||||
@@ -112,8 +114,11 @@ public class AsusACPI
|
|||||||
public const int APU_MEM = 0x000600C1;
|
public const int APU_MEM = 0x000600C1;
|
||||||
|
|
||||||
public const int TUF_KB_BRIGHTNESS = 0x00050021;
|
public const int TUF_KB_BRIGHTNESS = 0x00050021;
|
||||||
|
public const int VIVO_KB_BRIGHTNESS = 0x0005002F;
|
||||||
|
|
||||||
public const int TUF_KB = 0x00100056;
|
public const int TUF_KB = 0x00100056;
|
||||||
public const int TUF_KB2 = 0x0010005a;
|
public const int TUF_KB2 = 0x0010005a;
|
||||||
|
|
||||||
public const int TUF_KB_STATE = 0x00100057;
|
public const int TUF_KB_STATE = 0x00100057;
|
||||||
|
|
||||||
public const int MicMuteLed = 0x00040017;
|
public const int MicMuteLed = 0x00040017;
|
||||||
@@ -170,6 +175,8 @@ public class AsusACPI
|
|||||||
private bool? _allAMD = null;
|
private bool? _allAMD = null;
|
||||||
private bool? _overdrive = 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)]
|
[DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Unicode)]
|
||||||
private static extern IntPtr CreateFile(
|
private static extern IntPtr CreateFile(
|
||||||
@@ -445,14 +452,16 @@ public class AsusACPI
|
|||||||
|
|
||||||
public int SetGPUEco(int eco)
|
public int SetGPUEco(int eco)
|
||||||
{
|
{
|
||||||
int ecoFlag = DeviceGet(GPUEco);
|
uint ecoEndpoint = GPUEco;
|
||||||
|
|
||||||
|
int ecoFlag = DeviceGet(ecoEndpoint);
|
||||||
if (ecoFlag < 0) return -1;
|
if (ecoFlag < 0) return -1;
|
||||||
|
|
||||||
if (ecoFlag == 1 && eco == 0)
|
if (ecoFlag == 1 && eco == 0)
|
||||||
return DeviceSet(GPUEco, eco, "GPUEco");
|
return DeviceSet(ecoEndpoint, eco, "GPUEco");
|
||||||
|
|
||||||
if (ecoFlag == 0 && eco == 1)
|
if (ecoFlag == 0 && eco == 1)
|
||||||
return DeviceSet(GPUEco, eco, "GPUEco");
|
return DeviceSet(ecoEndpoint, eco, "GPUEco");
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@@ -639,7 +648,7 @@ public class AsusACPI
|
|||||||
|
|
||||||
public bool IsAllAmdPPT()
|
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;
|
return (bool)_allAMD;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -779,6 +788,8 @@ public class AsusACPI
|
|||||||
{
|
{
|
||||||
int param = 0x80 | (brightness & 0x7F);
|
int param = 0x80 | (brightness & 0x7F);
|
||||||
DeviceSet(TUF_KB_BRIGHTNESS, param, "TUF Brightness");
|
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")
|
public void TUFKeyboardRGB(AuraMode mode, Color color, int speed, string? log = "TUF RGB")
|
||||||
@@ -794,7 +805,13 @@ public class AsusACPI
|
|||||||
setting[5] = (byte)speed;
|
setting[5] = (byte)speed;
|
||||||
|
|
||||||
int result = DeviceSet(TUF_KB, setting, log);
|
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()
|
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()
|
async void CheckForUpdatesAsync()
|
||||||
|
|||||||
@@ -38,8 +38,9 @@ namespace GHelper.Battery
|
|||||||
|
|
||||||
if (AppConfig.IsChargeLimit6080())
|
if (AppConfig.IsChargeLimit6080())
|
||||||
{
|
{
|
||||||
if (limit > 80) limit = 100;
|
if (limit > 85) limit = 100;
|
||||||
else if (limit < 60) limit = 60;
|
else if (limit < 60) limit = 60;
|
||||||
|
else limit = 80;
|
||||||
}
|
}
|
||||||
|
|
||||||
Program.acpi.DeviceSet(AsusACPI.BatteryLimit, limit, "BatteryLimit");
|
Program.acpi.DeviceSet(AsusACPI.BatteryLimit, limit, "BatteryLimit");
|
||||||
|
|||||||
@@ -16,7 +16,10 @@ namespace GHelper.Display
|
|||||||
var modes = new DISPLAYCONFIG_MODE_INFO[modeCount];
|
var modes = new DISPLAYCONFIG_MODE_INFO[modeCount];
|
||||||
err = QueryDisplayConfig(QDC.QDC_ONLY_ACTIVE_PATHS, ref pathCount, paths, ref modeCount, modes, IntPtr.Zero);
|
err = QueryDisplayConfig(QDC.QDC_ONLY_ACTIVE_PATHS, ref pathCount, paths, ref modeCount, modes, IntPtr.Zero);
|
||||||
if (err != 0)
|
if (err != 0)
|
||||||
throw new Win32Exception(err);
|
{
|
||||||
|
Logger.WriteLine("HDR Detection Error: " + new Win32Exception(err).Message);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
string internalName = AppConfig.GetString("internal_display");
|
string internalName = AppConfig.GetString("internal_display");
|
||||||
|
|
||||||
|
|||||||
@@ -153,6 +153,9 @@ namespace GHelper.Display
|
|||||||
int frequency = ScreenNative.GetRefreshRate(laptopScreen);
|
int frequency = ScreenNative.GetRefreshRate(laptopScreen);
|
||||||
int maxFrequency = ScreenNative.GetMaxRefreshRate(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 screenAuto = AppConfig.Is("screen_auto");
|
||||||
bool overdriveSetting = Program.acpi.IsOverdriveSupported() && !AppConfig.IsNoOverdrive();
|
bool overdriveSetting = Program.acpi.IsOverdriveSupported() && !AppConfig.IsNoOverdrive();
|
||||||
|
|
||||||
|
|||||||
@@ -70,13 +70,13 @@ namespace GHelper.Display
|
|||||||
|
|
||||||
public static SplendidGamut GetDefaultGamut()
|
public static SplendidGamut GetDefaultGamut()
|
||||||
{
|
{
|
||||||
return AppConfig.IsVivoZenbook() ? SplendidGamut.VivoNative : SplendidGamut.Native;
|
return AppConfig.IsVivoZenPro() ? SplendidGamut.VivoNative : SplendidGamut.Native;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Dictionary<SplendidGamut, string> GetGamutModes()
|
public static Dictionary<SplendidGamut, string> GetGamutModes()
|
||||||
{
|
{
|
||||||
|
|
||||||
bool isVivo = AppConfig.IsVivoZenbook();
|
bool isVivo = AppConfig.IsVivoZenPro();
|
||||||
|
|
||||||
Dictionary<SplendidGamut, string> _modes = new Dictionary<SplendidGamut, string>();
|
Dictionary<SplendidGamut, string> _modes = new Dictionary<SplendidGamut, string>();
|
||||||
|
|
||||||
@@ -148,13 +148,13 @@ namespace GHelper.Display
|
|||||||
|
|
||||||
public static SplendidCommand GetDefaultVisualMode()
|
public static SplendidCommand GetDefaultVisualMode()
|
||||||
{
|
{
|
||||||
return AppConfig.IsVivoZenbook() ? SplendidCommand.VivoNormal : SplendidCommand.Default;
|
return AppConfig.IsVivoZenPro() ? SplendidCommand.VivoNormal : SplendidCommand.Default;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Dictionary<SplendidCommand, string> GetVisualModes()
|
public static Dictionary<SplendidCommand, string> GetVisualModes()
|
||||||
{
|
{
|
||||||
|
|
||||||
if (AppConfig.IsVivoZenbook())
|
if (AppConfig.IsVivoZenPro())
|
||||||
{
|
{
|
||||||
return new Dictionary<SplendidCommand, string>
|
return new Dictionary<SplendidCommand, string>
|
||||||
{
|
{
|
||||||
@@ -224,7 +224,7 @@ namespace GHelper.Display
|
|||||||
public static void SetVisual(SplendidCommand mode = SplendidCommand.Default, int whiteBalance = DefaultColorTemp, bool init = false)
|
public static void SetVisual(SplendidCommand mode = SplendidCommand.Default, int whiteBalance = DefaultColorTemp, bool init = false)
|
||||||
{
|
{
|
||||||
if (mode == SplendidCommand.None) return;
|
if (mode == SplendidCommand.None) return;
|
||||||
if (mode == SplendidCommand.Default && init) return; // Skip default setting on init
|
if ((mode == SplendidCommand.Default || mode == SplendidCommand.VivoNormal) && init) return; // Skip default setting on init
|
||||||
|
|
||||||
if (!forceVisual && ScreenCCD.GetHDRStatus(true)) return;
|
if (!forceVisual && ScreenCCD.GetHDRStatus(true)) return;
|
||||||
if (!forceVisual && ScreenNative.GetRefreshRate(ScreenNative.FindLaptopScreen(true)) < 0) return;
|
if (!forceVisual && ScreenNative.GetRefreshRate(ScreenNative.FindLaptopScreen(true)) < 0) return;
|
||||||
@@ -291,7 +291,7 @@ namespace GHelper.Display
|
|||||||
private static bool RunSplendid(SplendidCommand command, int? param1 = null, int? param2 = null)
|
private static bool RunSplendid(SplendidCommand command, int? param1 = null, int? param2 = null)
|
||||||
{
|
{
|
||||||
var splendid = GetSplendidPath();
|
var splendid = GetSplendidPath();
|
||||||
bool isVivo = AppConfig.IsVivoZenbook();
|
bool isVivo = AppConfig.IsVivoZenPro();
|
||||||
bool isSplenddid = File.Exists(splendid);
|
bool isSplenddid = File.Exists(splendid);
|
||||||
|
|
||||||
if (isSplenddid)
|
if (isSplenddid)
|
||||||
|
|||||||
15
app/Extra.Designer.cs
generated
15
app/Extra.Designer.cs
generated
@@ -73,8 +73,8 @@ namespace GHelper
|
|||||||
labelBacklightTitle = new Label();
|
labelBacklightTitle = new Label();
|
||||||
panelBacklight = new Panel();
|
panelBacklight = new Panel();
|
||||||
panelBacklightExtra = new Panel();
|
panelBacklightExtra = new Panel();
|
||||||
numericBacklightPluggedTime = new NumericUpDown();
|
numericBacklightPluggedTime = new NumericUpDownWithUnit();
|
||||||
numericBacklightTime = new NumericUpDown();
|
numericBacklightTime = new NumericUpDownWithUnit();
|
||||||
labelBacklightTimeout = new Label();
|
labelBacklightTimeout = new Label();
|
||||||
labelSpeed = new Label();
|
labelSpeed = new Label();
|
||||||
comboKeyboardSpeed = new RComboBox();
|
comboKeyboardSpeed = new RComboBox();
|
||||||
@@ -119,7 +119,7 @@ namespace GHelper
|
|||||||
checkStatusLed = new CheckBox();
|
checkStatusLed = new CheckBox();
|
||||||
checkPerKeyRGB = new CheckBox();
|
checkPerKeyRGB = new CheckBox();
|
||||||
panelPower = new Panel();
|
panelPower = new Panel();
|
||||||
numericHibernateAfter = new NumericUpDown();
|
numericHibernateAfter = new NumericUpDownWithUnit();
|
||||||
labelHibernateAfter = new Label();
|
labelHibernateAfter = new Label();
|
||||||
pictureHibernate = new PictureBox();
|
pictureHibernate = new PictureBox();
|
||||||
toolTip = new ToolTip(components);
|
toolTip = new ToolTip(components);
|
||||||
@@ -715,6 +715,7 @@ namespace GHelper
|
|||||||
numericBacklightPluggedTime.Name = "numericBacklightPluggedTime";
|
numericBacklightPluggedTime.Name = "numericBacklightPluggedTime";
|
||||||
numericBacklightPluggedTime.Size = new Size(140, 39);
|
numericBacklightPluggedTime.Size = new Size(140, 39);
|
||||||
numericBacklightPluggedTime.TabIndex = 1;
|
numericBacklightPluggedTime.TabIndex = 1;
|
||||||
|
numericBacklightPluggedTime.Unit = "sec";
|
||||||
//
|
//
|
||||||
// numericBacklightTime
|
// numericBacklightTime
|
||||||
//
|
//
|
||||||
@@ -725,6 +726,7 @@ namespace GHelper
|
|||||||
numericBacklightTime.Name = "numericBacklightTime";
|
numericBacklightTime.Name = "numericBacklightTime";
|
||||||
numericBacklightTime.Size = new Size(140, 39);
|
numericBacklightTime.Size = new Size(140, 39);
|
||||||
numericBacklightTime.TabIndex = 2;
|
numericBacklightTime.TabIndex = 2;
|
||||||
|
numericBacklightTime.Unit = "sec";
|
||||||
//
|
//
|
||||||
// labelBacklightTimeout
|
// labelBacklightTimeout
|
||||||
//
|
//
|
||||||
@@ -1323,6 +1325,7 @@ namespace GHelper
|
|||||||
numericHibernateAfter.Maximum = new decimal(new int[] { 3000000, 0, 0, 0 });
|
numericHibernateAfter.Maximum = new decimal(new int[] { 3000000, 0, 0, 0 });
|
||||||
numericHibernateAfter.Name = "numericHibernateAfter";
|
numericHibernateAfter.Name = "numericHibernateAfter";
|
||||||
numericHibernateAfter.Size = new Size(152, 39);
|
numericHibernateAfter.Size = new Size(152, 39);
|
||||||
|
numericHibernateAfter.Unit = "min";
|
||||||
numericHibernateAfter.TabIndex = 1;
|
numericHibernateAfter.TabIndex = 1;
|
||||||
//
|
//
|
||||||
// labelHibernateAfter
|
// labelHibernateAfter
|
||||||
@@ -1714,8 +1717,8 @@ namespace GHelper
|
|||||||
private Panel panelBacklightHeader;
|
private Panel panelBacklightHeader;
|
||||||
private Panel panelBacklight;
|
private Panel panelBacklight;
|
||||||
private Panel panelBacklightExtra;
|
private Panel panelBacklightExtra;
|
||||||
private NumericUpDown numericBacklightPluggedTime;
|
private NumericUpDownWithUnit numericBacklightPluggedTime;
|
||||||
private NumericUpDown numericBacklightTime;
|
private NumericUpDownWithUnit numericBacklightTime;
|
||||||
private Label labelBacklightTimeout;
|
private Label labelBacklightTimeout;
|
||||||
private Label labelSpeed;
|
private Label labelSpeed;
|
||||||
private RComboBox comboKeyboardSpeed;
|
private RComboBox comboKeyboardSpeed;
|
||||||
@@ -1764,7 +1767,7 @@ namespace GHelper
|
|||||||
private Panel panelPower;
|
private Panel panelPower;
|
||||||
private PictureBox pictureHibernate;
|
private PictureBox pictureHibernate;
|
||||||
private Label labelHibernateAfter;
|
private Label labelHibernateAfter;
|
||||||
private NumericUpDown numericHibernateAfter;
|
private NumericUpDownWithUnit numericHibernateAfter;
|
||||||
private CheckBox checkGPUFix;
|
private CheckBox checkGPUFix;
|
||||||
private ToolTip toolTip;
|
private ToolTip toolTip;
|
||||||
private CheckBox checkBootSound;
|
private CheckBox checkBootSound;
|
||||||
|
|||||||
@@ -203,7 +203,7 @@ namespace GHelper
|
|||||||
labelFNF4.Visible = comboFNF4.Visible = textFNF4.Visible = false;
|
labelFNF4.Visible = comboFNF4.Visible = textFNF4.Visible = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (AppConfig.NoAura())
|
if (AppConfig.MediaKeys())
|
||||||
{
|
{
|
||||||
labelFNF4.Visible = comboFNF4.Visible = textFNF4.Visible = false;
|
labelFNF4.Visible = comboFNF4.Visible = textFNF4.Visible = false;
|
||||||
}
|
}
|
||||||
@@ -709,7 +709,10 @@ namespace GHelper
|
|||||||
{
|
{
|
||||||
using (var amdControl = new AmdGpuControl())
|
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");
|
ProcessHelper.KillByName("RadeonSoftware");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
||||||
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
||||||
<AssemblyVersion>0.181</AssemblyVersion>
|
<AssemblyVersion>0.188</AssemblyVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||||
|
|||||||
@@ -119,6 +119,18 @@ public class AmdGpuControl : IGpuControl
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int? GetiGpuUse()
|
||||||
|
{
|
||||||
|
if (_adlContextHandle == nint.Zero || _iGPU == null) return null;
|
||||||
|
if (ADL2_New_QueryPMLogData_Get(_adlContextHandle, ((ADLAdapterInfo)_iGPU).AdapterIndex, out ADLPMLogDataOutput adlpmLogDataOutput) != Adl2.ADL_SUCCESS) return null;
|
||||||
|
|
||||||
|
ADLSingleSensorData gpuUsage = adlpmLogDataOutput.Sensors[(int)ADLSensorType.PMLOG_INFO_ACTIVITY_GFX];
|
||||||
|
if (gpuUsage.Supported == 0) return null;
|
||||||
|
|
||||||
|
return gpuUsage.Value;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public int? GetGpuPower()
|
public int? GetGpuPower()
|
||||||
{
|
{
|
||||||
if (_adlContextHandle == nint.Zero || _iGPU == null) return null;
|
if (_adlContextHandle == nint.Zero || _iGPU == null) return null;
|
||||||
|
|||||||
@@ -25,8 +25,6 @@ namespace GHelper.Gpu
|
|||||||
int eco = Program.acpi.DeviceGet(AsusACPI.GPUEco);
|
int eco = Program.acpi.DeviceGet(AsusACPI.GPUEco);
|
||||||
int mux = Program.acpi.DeviceGet(AsusACPI.GPUMux);
|
int mux = Program.acpi.DeviceGet(AsusACPI.GPUMux);
|
||||||
|
|
||||||
if (mux < 0) mux = Program.acpi.DeviceGet(AsusACPI.GPUMuxVivo);
|
|
||||||
|
|
||||||
Logger.WriteLine("Eco flag : " + eco);
|
Logger.WriteLine("Eco flag : " + eco);
|
||||||
Logger.WriteLine("Mux flag : " + mux);
|
Logger.WriteLine("Mux flag : " + mux);
|
||||||
|
|
||||||
@@ -83,7 +81,6 @@ namespace GHelper.Gpu
|
|||||||
if (dialogResult == DialogResult.Yes)
|
if (dialogResult == DialogResult.Yes)
|
||||||
{
|
{
|
||||||
status = Program.acpi.DeviceSet(AsusACPI.GPUMux, 1, "GPUMux");
|
status = Program.acpi.DeviceSet(AsusACPI.GPUMux, 1, "GPUMux");
|
||||||
if (status != 1) Program.acpi.DeviceSet(AsusACPI.GPUMuxVivo, 1, "GPUMuxVivo");
|
|
||||||
restart = true;
|
restart = true;
|
||||||
changed = true;
|
changed = true;
|
||||||
}
|
}
|
||||||
@@ -95,11 +92,15 @@ namespace GHelper.Gpu
|
|||||||
{
|
{
|
||||||
if (AppConfig.NoAutoUltimate())
|
if (AppConfig.NoAutoUltimate())
|
||||||
{
|
{
|
||||||
Program.acpi.SetGPUEco(0);
|
int standardStatus = Program.acpi.SetGPUEco(0);
|
||||||
|
if (standardStatus == 0)
|
||||||
|
{
|
||||||
|
settings.VisualiseGPUMode();
|
||||||
|
return;
|
||||||
|
}
|
||||||
Thread.Sleep(100);
|
Thread.Sleep(100);
|
||||||
}
|
}
|
||||||
status = Program.acpi.DeviceSet(AsusACPI.GPUMux, 0, "GPUMux");
|
status = Program.acpi.DeviceSet(AsusACPI.GPUMux, 0, "GPUMux");
|
||||||
if (status != 1) Program.acpi.DeviceSet(AsusACPI.GPUMuxVivo, 0, "GPUMuxVivo");
|
|
||||||
restart = true;
|
restart = true;
|
||||||
changed = true;
|
changed = true;
|
||||||
}
|
}
|
||||||
@@ -226,6 +227,7 @@ namespace GHelper.Gpu
|
|||||||
if ((GpuAuto && !IsPlugged()) || (ForceGPU && GpuMode == AsusACPI.GPUModeEco))
|
if ((GpuAuto && !IsPlugged()) || (ForceGPU && GpuMode == AsusACPI.GPUModeEco))
|
||||||
{
|
{
|
||||||
|
|
||||||
|
if (Program.acpi.IsXGConnected()) return false;
|
||||||
if (HardwareControl.IsUsedGPU())
|
if (HardwareControl.IsUsedGPU())
|
||||||
{
|
{
|
||||||
DialogResult dialogResult = MessageBox.Show(Properties.Strings.AlertDGPU, Properties.Strings.AlertDGPUTitle, MessageBoxButtons.YesNo);
|
DialogResult dialogResult = MessageBox.Show(Properties.Strings.AlertDGPU, Properties.Strings.AlertDGPUTitle, MessageBoxButtons.YesNo);
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ public static class NvidiaSmi
|
|||||||
|
|
||||||
public static int GetDefaultMaxGPUPower()
|
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("GA403")) return 90;
|
||||||
if (AppConfig.ContainsModel("FA607")) return 140;
|
if (AppConfig.ContainsModel("FA607")) return 140;
|
||||||
else return 175;
|
else return 175;
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ namespace GHelper.Helpers
|
|||||||
|
|
||||||
public static bool IsEnabled()
|
public static bool IsEnabled()
|
||||||
{
|
{
|
||||||
|
if (Environment.OSVersion.Version.Build < 22000) return false;
|
||||||
|
|
||||||
using var key = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Lighting");
|
using var key = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Lighting");
|
||||||
var registryValueObject = key?.GetValue("AmbientLightingEnabled");
|
var registryValueObject = key?.GetValue("AmbientLightingEnabled");
|
||||||
|
|
||||||
|
|||||||
@@ -20,6 +20,8 @@ namespace GHelper.Helpers
|
|||||||
"AsusCertService"
|
"AsusCertService"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//"AsusPTPService",
|
||||||
|
|
||||||
static List<string> processesAC = new() {
|
static List<string> processesAC = new() {
|
||||||
"ArmouryCrateSE.Service",
|
"ArmouryCrateSE.Service",
|
||||||
"ArmouryCrate.Service",
|
"ArmouryCrate.Service",
|
||||||
|
|||||||
@@ -85,8 +85,7 @@ namespace GHelper.Input
|
|||||||
|
|
||||||
InitBacklightTimer();
|
InitBacklightTimer();
|
||||||
|
|
||||||
if (AppConfig.IsVivoZenbook())
|
if (AppConfig.IsHardwareFnLock()) HardwareFnLock(AppConfig.Is("fn_lock"));
|
||||||
Program.acpi.DeviceSet(AsusACPI.FnLock, AppConfig.Is("fn_lock") ^ AppConfig.IsInvertedFNLock() ? 1 : 0, "FnLock");
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -155,7 +154,7 @@ namespace GHelper.Input
|
|||||||
|
|
||||||
// FN-Lock group
|
// 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);
|
for (Keys i = Keys.F1; i <= Keys.F11; i++) hook.RegisterHotKey(ModifierKeys.None, i);
|
||||||
|
|
||||||
// Arrow-lock group
|
// Arrow-lock group
|
||||||
@@ -218,6 +217,9 @@ namespace GHelper.Input
|
|||||||
case 3:
|
case 3:
|
||||||
KeyboardHook.KeyKeyKeyPress((Keys)hexKeys[0], (Keys)hexKeys[1], (Keys)hexKeys[2]);
|
KeyboardHook.KeyKeyKeyPress((Keys)hexKeys[0], (Keys)hexKeys[1], (Keys)hexKeys[2]);
|
||||||
break;
|
break;
|
||||||
|
case 4:
|
||||||
|
KeyboardHook.KeyKeyKeyKeyPress((Keys)hexKeys[0], (Keys)hexKeys[1], (Keys)hexKeys[2], (Keys)hexKeys[3]);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
LaunchProcess(command);
|
LaunchProcess(command);
|
||||||
break;
|
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())
|
if (AppConfig.IsZ13() || AppConfig.IsDUO())
|
||||||
{
|
{
|
||||||
switch (e.Key)
|
switch (e.Key)
|
||||||
@@ -288,7 +327,7 @@ namespace GHelper.Input
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (AppConfig.NoAura())
|
if (AppConfig.MediaKeys())
|
||||||
{
|
{
|
||||||
switch (e.Key)
|
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);
|
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()
|
public static void ToggleFnLock()
|
||||||
{
|
{
|
||||||
bool fnLock = !AppConfig.Is("fn_lock");
|
bool fnLock = !AppConfig.Is("fn_lock");
|
||||||
AppConfig.Set("fn_lock", fnLock ? 1 : 0);
|
AppConfig.Set("fn_lock", fnLock ? 1 : 0);
|
||||||
|
|
||||||
if (AppConfig.IsVivoZenbook())
|
if (AppConfig.IsHardwareFnLock())
|
||||||
Program.acpi.DeviceSet(AsusACPI.FnLock, fnLock ^ AppConfig.IsInvertedFNLock() ? 1 : 0, "FnLock");
|
HardwareFnLock(fnLock);
|
||||||
else
|
else
|
||||||
Program.settingsForm.BeginInvoke(Program.inputDispatcher.RegisterKeys);
|
Program.settingsForm.BeginInvoke(Program.inputDispatcher.RegisterKeys);
|
||||||
|
|
||||||
@@ -655,6 +700,7 @@ namespace GHelper.Input
|
|||||||
switch (EventID)
|
switch (EventID)
|
||||||
{
|
{
|
||||||
case 134: // FN + F12 ON OLD DEVICES
|
case 134: // FN + F12 ON OLD DEVICES
|
||||||
|
case 139: // ProArt F12
|
||||||
KeyProcess("m4");
|
KeyProcess("m4");
|
||||||
return;
|
return;
|
||||||
case 124: // M3
|
case 124: // M3
|
||||||
@@ -666,9 +712,6 @@ namespace GHelper.Input
|
|||||||
case 55: // Arconym
|
case 55: // Arconym
|
||||||
KeyProcess("m6");
|
KeyProcess("m6");
|
||||||
return;
|
return;
|
||||||
case 136: // FN + F12
|
|
||||||
if (!AppConfig.IsNoAirplaneMode()) Program.acpi.DeviceSet(AsusACPI.UniversalControl, AsusACPI.Airplane, "Airplane");
|
|
||||||
return;
|
|
||||||
case 181: // FN + Numpad Enter
|
case 181: // FN + Numpad Enter
|
||||||
KeyProcess("fne");
|
KeyProcess("fne");
|
||||||
return;
|
return;
|
||||||
@@ -685,12 +728,6 @@ namespace GHelper.Input
|
|||||||
case 158: // Fn + C
|
case 158: // Fn + C
|
||||||
KeyProcess("fnc");
|
KeyProcess("fnc");
|
||||||
return;
|
return;
|
||||||
case 78: // Fn + ESC
|
|
||||||
ToggleFnLock();
|
|
||||||
return;
|
|
||||||
case 75: // Fn + ESC
|
|
||||||
ToggleArrowLock();
|
|
||||||
return;
|
|
||||||
case 189: // Tablet mode
|
case 189: // Tablet mode
|
||||||
TabletMode();
|
TabletMode();
|
||||||
return;
|
return;
|
||||||
@@ -777,6 +814,18 @@ namespace GHelper.Input
|
|||||||
case 53: // Fn+F6 on GA-502DU model
|
case 53: // Fn+F6 on GA-502DU model
|
||||||
NativeMethods.TurnOffScreen();
|
NativeMethods.TurnOffScreen();
|
||||||
return;
|
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;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -887,7 +936,7 @@ namespace GHelper.Input
|
|||||||
|
|
||||||
private static System.Threading.Timer screenpadActionTimer;
|
private static System.Threading.Timer screenpadActionTimer;
|
||||||
private static int screenpadBrightnessToSet;
|
private static int screenpadBrightnessToSet;
|
||||||
public static void ApplyScreenpadAction(int brightness, bool doToggle = false)
|
public static void ApplyScreenpadAction(int brightness, bool instant = true)
|
||||||
{
|
{
|
||||||
var delay = AppConfig.Get("screenpad_delay", 1500);
|
var delay = AppConfig.Get("screenpad_delay", 1500);
|
||||||
|
|
||||||
@@ -895,11 +944,12 @@ namespace GHelper.Input
|
|||||||
Action<int> action = (b) =>
|
Action<int> action = (b) =>
|
||||||
{
|
{
|
||||||
if (b >= 0) Program.acpi.DeviceSet(AsusACPI.ScreenPadToggle, 1, "ScreenpadOn");
|
if (b >= 0) Program.acpi.DeviceSet(AsusACPI.ScreenPadToggle, 1, "ScreenpadOn");
|
||||||
Program.acpi.DeviceSet(AsusACPI.ScreenPadBrightness, Math.Max(b * 255 / 100, 0), "Screenpad");
|
int[] brightnessValues = [0, 4, 9, 14, 21, 32, 48, 73, 111, 169, 255];
|
||||||
|
Program.acpi.DeviceSet(AsusACPI.ScreenPadBrightness, brightnessValues[Math.Min(brightnessValues.Length - 1, Math.Max(0, b / 10))], "Screenpad");
|
||||||
if (b < 0) Program.acpi.DeviceSet(AsusACPI.ScreenPadToggle, 0, "ScreenpadOff");
|
if (b < 0) Program.acpi.DeviceSet(AsusACPI.ScreenPadToggle, 0, "ScreenpadOff");
|
||||||
};
|
};
|
||||||
|
|
||||||
if(delay <= 0 || (brightness > 0 && brightness < 100 && doToggle == false)) //instant action
|
if(delay <= 0 || instant) //instant action
|
||||||
{
|
{
|
||||||
action(brightness);
|
action(brightness);
|
||||||
}
|
}
|
||||||
@@ -925,20 +975,19 @@ namespace GHelper.Input
|
|||||||
if (brightness < 0) brightness = 100;
|
if (brightness < 0) brightness = 100;
|
||||||
else if (brightness >= 100) brightness = 0;
|
else if (brightness >= 100) brightness = 0;
|
||||||
else brightness = -10;
|
else brightness = -10;
|
||||||
|
ApplyScreenpadAction(brightness, false);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
brightness = Math.Max(Math.Min(100, brightness + delta), -10);
|
brightness = Math.Max(Math.Min(100, brightness + delta), 0);
|
||||||
|
ApplyScreenpadAction(brightness);
|
||||||
}
|
}
|
||||||
|
|
||||||
AppConfig.Set("screenpad", brightness);
|
AppConfig.Set("screenpad", brightness);
|
||||||
|
|
||||||
ApplyScreenpadAction(brightness);
|
|
||||||
|
|
||||||
string toast;
|
string toast;
|
||||||
|
|
||||||
if (brightness < 0) toast = "Off";
|
if (brightness < 0) toast = "Off";
|
||||||
else if (brightness == 0) toast = "Hidden";
|
|
||||||
else toast = brightness.ToString() + "%";
|
else toast = brightness.ToString() + "%";
|
||||||
|
|
||||||
Program.toast.RunToast($"Screen Pad {toast}", delta > 0 ? ToastIcon.BrightnessUp : ToastIcon.BrightnessDown);
|
Program.toast.RunToast($"Screen Pad {toast}", delta > 0 ? ToastIcon.BrightnessUp : ToastIcon.BrightnessDown);
|
||||||
|
|||||||
@@ -77,6 +77,21 @@ public sealed class KeyboardHook : IDisposable
|
|||||||
keybd_event((byte)key, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, IntPtr.Zero);
|
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>
|
/// <summary>
|
||||||
/// Represents the window that is used internally to get the messages.
|
/// Represents the window that is used internally to get the messages.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ namespace GHelper
|
|||||||
labelScaling.Text = Properties.Strings.ScalingQuality;
|
labelScaling.Text = Properties.Strings.ScalingQuality;
|
||||||
labelRotation.Text = Properties.Strings.ImageRotation;
|
labelRotation.Text = Properties.Strings.ImageRotation;
|
||||||
labelContrastTitle.Text = Properties.Strings.Contrast;
|
labelContrastTitle.Text = Properties.Strings.Contrast;
|
||||||
|
labelGammaTitle.Text = Properties.Strings.Brightness;
|
||||||
buttonPicture.Text = Properties.Strings.PictureGif;
|
buttonPicture.Text = Properties.Strings.PictureGif;
|
||||||
buttonReset.Text = Properties.Strings.Reset;
|
buttonReset.Text = Properties.Strings.Reset;
|
||||||
|
|
||||||
|
|||||||
@@ -69,6 +69,10 @@ namespace GHelper
|
|||||||
Logger.WriteLine("------------");
|
Logger.WriteLine("------------");
|
||||||
Logger.WriteLine("App launched: " + AppConfig.GetModel() + " :" + Assembly.GetExecutingAssembly().GetName().Version.ToString() + CultureInfo.CurrentUICulture + (ProcessHelper.IsUserAdministrator() ? "." : ""));
|
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();
|
acpi = new AsusACPI();
|
||||||
|
|
||||||
if (!acpi.IsConnected() && AppConfig.IsASUS())
|
if (!acpi.IsConnected() && AppConfig.IsASUS())
|
||||||
@@ -83,6 +87,8 @@ namespace GHelper
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ProcessHelper.KillByName("ASUSSmartDisplayControl");
|
||||||
|
|
||||||
Application.EnableVisualStyles();
|
Application.EnableVisualStyles();
|
||||||
|
|
||||||
HardwareControl.RecreateGpuControl();
|
HardwareControl.RecreateGpuControl();
|
||||||
@@ -282,19 +288,22 @@ namespace GHelper
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
var screen = Screen.PrimaryScreen;
|
||||||
|
if (screen is null) screen = Screen.FromControl(settingsForm);
|
||||||
|
|
||||||
settingsForm.Left = Screen.FromControl(settingsForm).WorkingArea.Width - 10 - settingsForm.Width;
|
settingsForm.Location = screen.WorkingArea.Location;
|
||||||
settingsForm.Top = Screen.FromControl(settingsForm).WorkingArea.Height - 10 - settingsForm.Height;
|
settingsForm.Left = screen.WorkingArea.Width - 10 - settingsForm.Width;
|
||||||
|
settingsForm.Top = screen.WorkingArea.Height - 10 - settingsForm.Height;
|
||||||
|
|
||||||
settingsForm.Show();
|
settingsForm.Show();
|
||||||
settingsForm.Activate();
|
settingsForm.Activate();
|
||||||
|
|
||||||
settingsForm.Left = Screen.FromControl(settingsForm).WorkingArea.Width - 10 - settingsForm.Width;
|
settingsForm.Left = screen.WorkingArea.Width - 10 - settingsForm.Width;
|
||||||
|
|
||||||
if (AppConfig.IsAlly())
|
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
|
else
|
||||||
settingsForm.Top = Screen.FromControl(settingsForm).WorkingArea.Height - 10 - settingsForm.Height;
|
settingsForm.Top = screen.WorkingArea.Height - 10 - settingsForm.Height;
|
||||||
|
|
||||||
settingsForm.VisualiseGPUMode();
|
settingsForm.VisualiseGPUMode();
|
||||||
}
|
}
|
||||||
|
|||||||
49
app/Properties/Strings.Designer.cs
generated
49
app/Properties/Strings.Designer.cs
generated
@@ -771,6 +771,15 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Donate.
|
||||||
|
/// </summary>
|
||||||
|
internal static string Donate {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Donate", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Download Color Profiles.
|
/// Looks up a localized string similar to Download Color Profiles.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -1196,6 +1205,42 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Legend.
|
||||||
|
/// </summary>
|
||||||
|
internal static string Legend {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Legend", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Can't check local version.
|
||||||
|
/// </summary>
|
||||||
|
internal static string LegendGray {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("LegendGray", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Updated.
|
||||||
|
/// </summary>
|
||||||
|
internal static string LegendGreen {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("LegendGreen", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Update Available.
|
||||||
|
/// </summary>
|
||||||
|
internal static string LegendRed {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("LegendRed", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Lid.
|
/// Looks up a localized string similar to Lid.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -1575,7 +1620,7 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Switch to Eco on battery and to Standard when plugged.
|
/// Looks up a localized string similar to Switch to Eco on battery and to Standard when plugged in.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
internal static string OptimizedGPUTooltip {
|
internal static string OptimizedGPUTooltip {
|
||||||
get {
|
get {
|
||||||
@@ -1935,7 +1980,7 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to .
|
/// Looks up a localized string similar to Touchscreen.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
internal static string Touchscreen {
|
internal static string Touchscreen {
|
||||||
get {
|
get {
|
||||||
|
|||||||
@@ -744,7 +744,7 @@ Vil du stadig fortsætte?</value>
|
|||||||
<value>Toggle Touchscreen</value>
|
<value>Toggle Touchscreen</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Touchscreen" xml:space="preserve">
|
<data name="Touchscreen" xml:space="preserve">
|
||||||
<value/>
|
<value>Touchscreen</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Turbo" xml:space="preserve">
|
<data name="Turbo" xml:space="preserve">
|
||||||
<value>Turbo</value>
|
<value>Turbo</value>
|
||||||
@@ -800,4 +800,22 @@ Vil du stadig fortsætte?</value>
|
|||||||
<data name="Zoom" xml:space="preserve">
|
<data name="Zoom" xml:space="preserve">
|
||||||
<value>Zoom</value>
|
<value>Zoom</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Donate" xml:space="preserve">
|
||||||
|
<value>Donate</value>
|
||||||
|
</data>
|
||||||
|
<data name="Legend" xml:space="preserve">
|
||||||
|
<value>Legend</value>
|
||||||
|
</data>
|
||||||
|
<data name="LegendGray" xml:space="preserve">
|
||||||
|
<value>Can't check local version</value>
|
||||||
|
<comment>Can't check local version</comment>
|
||||||
|
</data>
|
||||||
|
<data name="LegendRed" xml:space="preserve">
|
||||||
|
<value>Update Available</value>
|
||||||
|
<comment>Update Available</comment>
|
||||||
|
</data>
|
||||||
|
<data name="LegendGreen" xml:space="preserve">
|
||||||
|
<value>Updated</value>
|
||||||
|
<comment>Updated</comment>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -744,7 +744,7 @@ Trotzdem fortfahren?</value>
|
|||||||
<value>Touchscreen umschalten</value>
|
<value>Touchscreen umschalten</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Touchscreen" xml:space="preserve">
|
<data name="Touchscreen" xml:space="preserve">
|
||||||
<value/>
|
<value>Touchscreen</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Turbo" xml:space="preserve">
|
<data name="Turbo" xml:space="preserve">
|
||||||
<value>Turbo</value>
|
<value>Turbo</value>
|
||||||
@@ -783,7 +783,7 @@ Trotzdem fortfahren?</value>
|
|||||||
<value>Darstellungsmodi sind nicht verfügbar, wenn HDR aktiv ist.</value>
|
<value>Darstellungsmodi sind nicht verfügbar, wenn HDR aktiv ist.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="VisualModesScreen" xml:space="preserve">
|
<data name="VisualModesScreen" xml:space="preserve">
|
||||||
<value>Darstellungsmodi sind nicht verfügbar, wenn Laptop-Bildschirm aus ist.</value>
|
<value>Modi nicht verfügbar, wenn Laptop-Bildschirm aus ist.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="VolumeDown" xml:space="preserve">
|
<data name="VolumeDown" xml:space="preserve">
|
||||||
<value>Lautstärke verringern</value>
|
<value>Lautstärke verringern</value>
|
||||||
@@ -800,4 +800,22 @@ Trotzdem fortfahren?</value>
|
|||||||
<data name="Zoom" xml:space="preserve">
|
<data name="Zoom" xml:space="preserve">
|
||||||
<value>Zoom</value>
|
<value>Zoom</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Donate" xml:space="preserve">
|
||||||
|
<value>Spenden</value>
|
||||||
|
</data>
|
||||||
|
<data name="Legend" xml:space="preserve">
|
||||||
|
<value>Legende</value>
|
||||||
|
</data>
|
||||||
|
<data name="LegendGray" xml:space="preserve">
|
||||||
|
<value>Kann lokale Version nicht überprüfen</value>
|
||||||
|
<comment>Can't check local version</comment>
|
||||||
|
</data>
|
||||||
|
<data name="LegendRed" xml:space="preserve">
|
||||||
|
<value>Update verfügbar</value>
|
||||||
|
<comment>Update Available</comment>
|
||||||
|
</data>
|
||||||
|
<data name="LegendGreen" xml:space="preserve">
|
||||||
|
<value>Aktuell</value>
|
||||||
|
<comment>Updated</comment>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -744,7 +744,7 @@
|
|||||||
<value>Alternar pantalla táctil</value>
|
<value>Alternar pantalla táctil</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Touchscreen" xml:space="preserve">
|
<data name="Touchscreen" xml:space="preserve">
|
||||||
<value/>
|
<value>Pantalla táctil</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Turbo" xml:space="preserve">
|
<data name="Turbo" xml:space="preserve">
|
||||||
<value>Turbo</value>
|
<value>Turbo</value>
|
||||||
@@ -800,4 +800,22 @@
|
|||||||
<data name="Zoom" xml:space="preserve">
|
<data name="Zoom" xml:space="preserve">
|
||||||
<value>Zoom</value>
|
<value>Zoom</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Donate" xml:space="preserve">
|
||||||
|
<value>Donar</value>
|
||||||
|
</data>
|
||||||
|
<data name="Legend" xml:space="preserve">
|
||||||
|
<value>Leyenda</value>
|
||||||
|
</data>
|
||||||
|
<data name="LegendGray" xml:space="preserve">
|
||||||
|
<value>No se puede comprobar la versión local</value>
|
||||||
|
<comment>Can't check local version</comment>
|
||||||
|
</data>
|
||||||
|
<data name="LegendRed" xml:space="preserve">
|
||||||
|
<value>Actualización disponible</value>
|
||||||
|
<comment>Update Available</comment>
|
||||||
|
</data>
|
||||||
|
<data name="LegendGreen" xml:space="preserve">
|
||||||
|
<value>Actualizado</value>
|
||||||
|
<comment>Updated</comment>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -226,7 +226,7 @@
|
|||||||
<value>Tout</value>
|
<value>Tout</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraZoneDock" xml:space="preserve">
|
<data name="AuraZoneDock" xml:space="preserve">
|
||||||
<value>Dock</value>
|
<value>Station d'accueil</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraZoneLogo" xml:space="preserve">
|
<data name="AuraZoneLogo" xml:space="preserve">
|
||||||
<value>Logo</value>
|
<value>Logo</value>
|
||||||
@@ -495,7 +495,7 @@ Voulez-vous continuer ?</value>
|
|||||||
<value>Écran</value>
|
<value>Écran</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="LEDStatusIndicators" xml:space="preserve">
|
<data name="LEDStatusIndicators" xml:space="preserve">
|
||||||
<value>LED Status Indicators</value>
|
<value>Indicateurs d'état LED</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Lid" xml:space="preserve">
|
<data name="Lid" xml:space="preserve">
|
||||||
<value>Capot</value>
|
<value>Capot</value>
|
||||||
@@ -507,7 +507,7 @@ Voulez-vous continuer ?</value>
|
|||||||
<value>Éclairage</value>
|
<value>Éclairage</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="LockScreen" xml:space="preserve">
|
<data name="LockScreen" xml:space="preserve">
|
||||||
<value>Lock Screen</value>
|
<value>Écran de verrouillage</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logo" xml:space="preserve">
|
<data name="Logo" xml:space="preserve">
|
||||||
<value>Logo</value>
|
<value>Logo</value>
|
||||||
@@ -585,10 +585,10 @@ Voulez-vous continuer ?</value>
|
|||||||
<value>Synchroniser avec le pointeur</value>
|
<value>Synchroniser avec le pointeur</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Multizone" xml:space="preserve">
|
<data name="Multizone" xml:space="preserve">
|
||||||
<value>Multi Zone</value>
|
<value>Multi-zones</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MultizoneStrong" xml:space="preserve">
|
<data name="MultizoneStrong" xml:space="preserve">
|
||||||
<value>Multi Zone Strong</value>
|
<value>Forte zone multiple</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Muted" xml:space="preserve">
|
<data name="Muted" xml:space="preserve">
|
||||||
<value>Son désactivé</value>
|
<value>Son désactivé</value>
|
||||||
@@ -741,10 +741,10 @@ Voulez-vous continuer ?</value>
|
|||||||
<value>Allumer l'écran</value>
|
<value>Allumer l'écran</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleTouchscreen" xml:space="preserve">
|
<data name="ToggleTouchscreen" xml:space="preserve">
|
||||||
<value>Toggle Touchscreen</value>
|
<value>Activer/désactiver l'écran tactile</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Touchscreen" xml:space="preserve">
|
<data name="Touchscreen" xml:space="preserve">
|
||||||
<value/>
|
<value>Touchscreen</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Turbo" xml:space="preserve">
|
<data name="Turbo" xml:space="preserve">
|
||||||
<value>Turbo</value>
|
<value>Turbo</value>
|
||||||
@@ -800,4 +800,22 @@ Voulez-vous continuer ?</value>
|
|||||||
<data name="Zoom" xml:space="preserve">
|
<data name="Zoom" xml:space="preserve">
|
||||||
<value>Zoom</value>
|
<value>Zoom</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Donate" xml:space="preserve">
|
||||||
|
<value>Donate</value>
|
||||||
|
</data>
|
||||||
|
<data name="Legend" xml:space="preserve">
|
||||||
|
<value>Legend</value>
|
||||||
|
</data>
|
||||||
|
<data name="LegendGray" xml:space="preserve">
|
||||||
|
<value>Can't check local version</value>
|
||||||
|
<comment>Can't check local version</comment>
|
||||||
|
</data>
|
||||||
|
<data name="LegendRed" xml:space="preserve">
|
||||||
|
<value>Update Available</value>
|
||||||
|
<comment>Update Available</comment>
|
||||||
|
</data>
|
||||||
|
<data name="LegendGreen" xml:space="preserve">
|
||||||
|
<value>Updated</value>
|
||||||
|
<comment>Updated</comment>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -744,7 +744,7 @@ Do you still want to continue?</value>
|
|||||||
<value>Érintőképernyő ki-/bekapcsolása</value>
|
<value>Érintőképernyő ki-/bekapcsolása</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Touchscreen" xml:space="preserve">
|
<data name="Touchscreen" xml:space="preserve">
|
||||||
<value/>
|
<value>Touchscreen</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Turbo" xml:space="preserve">
|
<data name="Turbo" xml:space="preserve">
|
||||||
<value>Turbó</value>
|
<value>Turbó</value>
|
||||||
@@ -800,4 +800,22 @@ Do you still want to continue?</value>
|
|||||||
<data name="Zoom" xml:space="preserve">
|
<data name="Zoom" xml:space="preserve">
|
||||||
<value>Zoom</value>
|
<value>Zoom</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Donate" xml:space="preserve">
|
||||||
|
<value>Donate</value>
|
||||||
|
</data>
|
||||||
|
<data name="Legend" xml:space="preserve">
|
||||||
|
<value>Legend</value>
|
||||||
|
</data>
|
||||||
|
<data name="LegendGray" xml:space="preserve">
|
||||||
|
<value>Can't check local version</value>
|
||||||
|
<comment>Can't check local version</comment>
|
||||||
|
</data>
|
||||||
|
<data name="LegendRed" xml:space="preserve">
|
||||||
|
<value>Update Available</value>
|
||||||
|
<comment>Update Available</comment>
|
||||||
|
</data>
|
||||||
|
<data name="LegendGreen" xml:space="preserve">
|
||||||
|
<value>Updated</value>
|
||||||
|
<comment>Updated</comment>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -744,7 +744,7 @@ Apakah Anda masih ingin melanjutkan?</value>
|
|||||||
<value>Toggle Touchscreen</value>
|
<value>Toggle Touchscreen</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Touchscreen" xml:space="preserve">
|
<data name="Touchscreen" xml:space="preserve">
|
||||||
<value/>
|
<value>Touchscreen</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Turbo" xml:space="preserve">
|
<data name="Turbo" xml:space="preserve">
|
||||||
<value>Turbo</value>
|
<value>Turbo</value>
|
||||||
@@ -800,4 +800,22 @@ Apakah Anda masih ingin melanjutkan?</value>
|
|||||||
<data name="Zoom" xml:space="preserve">
|
<data name="Zoom" xml:space="preserve">
|
||||||
<value>Perbesar</value>
|
<value>Perbesar</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Donate" xml:space="preserve">
|
||||||
|
<value>Donate</value>
|
||||||
|
</data>
|
||||||
|
<data name="Legend" xml:space="preserve">
|
||||||
|
<value>Legend</value>
|
||||||
|
</data>
|
||||||
|
<data name="LegendGray" xml:space="preserve">
|
||||||
|
<value>Can't check local version</value>
|
||||||
|
<comment>Can't check local version</comment>
|
||||||
|
</data>
|
||||||
|
<data name="LegendRed" xml:space="preserve">
|
||||||
|
<value>Update Available</value>
|
||||||
|
<comment>Update Available</comment>
|
||||||
|
</data>
|
||||||
|
<data name="LegendGreen" xml:space="preserve">
|
||||||
|
<value>Updated</value>
|
||||||
|
<comment>Updated</comment>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -744,7 +744,7 @@ Sei sicuro di voler continuare?</value>
|
|||||||
<value>Toggle Touchscreen</value>
|
<value>Toggle Touchscreen</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Touchscreen" xml:space="preserve">
|
<data name="Touchscreen" xml:space="preserve">
|
||||||
<value/>
|
<value>Touchscreen</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Turbo" xml:space="preserve">
|
<data name="Turbo" xml:space="preserve">
|
||||||
<value>Turbo</value>
|
<value>Turbo</value>
|
||||||
@@ -800,4 +800,22 @@ Sei sicuro di voler continuare?</value>
|
|||||||
<data name="Zoom" xml:space="preserve">
|
<data name="Zoom" xml:space="preserve">
|
||||||
<value>Zoom</value>
|
<value>Zoom</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Donate" xml:space="preserve">
|
||||||
|
<value>Donate</value>
|
||||||
|
</data>
|
||||||
|
<data name="Legend" xml:space="preserve">
|
||||||
|
<value>Legend</value>
|
||||||
|
</data>
|
||||||
|
<data name="LegendGray" xml:space="preserve">
|
||||||
|
<value>Can't check local version</value>
|
||||||
|
<comment>Can't check local version</comment>
|
||||||
|
</data>
|
||||||
|
<data name="LegendRed" xml:space="preserve">
|
||||||
|
<value>Update Available</value>
|
||||||
|
<comment>Update Available</comment>
|
||||||
|
</data>
|
||||||
|
<data name="LegendGreen" xml:space="preserve">
|
||||||
|
<value>Updated</value>
|
||||||
|
<comment>Updated</comment>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -744,7 +744,7 @@ Do you still want to continue?</value>
|
|||||||
<value>Toggle Touchscreen</value>
|
<value>Toggle Touchscreen</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Touchscreen" xml:space="preserve">
|
<data name="Touchscreen" xml:space="preserve">
|
||||||
<value/>
|
<value>Touchscreen</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Turbo" xml:space="preserve">
|
<data name="Turbo" xml:space="preserve">
|
||||||
<value>Turbo</value>
|
<value>Turbo</value>
|
||||||
@@ -800,4 +800,22 @@ Do you still want to continue?</value>
|
|||||||
<data name="Zoom" xml:space="preserve">
|
<data name="Zoom" xml:space="preserve">
|
||||||
<value>Zoom</value>
|
<value>Zoom</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Donate" xml:space="preserve">
|
||||||
|
<value>Donate</value>
|
||||||
|
</data>
|
||||||
|
<data name="Legend" xml:space="preserve">
|
||||||
|
<value>Legend</value>
|
||||||
|
</data>
|
||||||
|
<data name="LegendGray" xml:space="preserve">
|
||||||
|
<value>Can't check local version</value>
|
||||||
|
<comment>Can't check local version</comment>
|
||||||
|
</data>
|
||||||
|
<data name="LegendRed" xml:space="preserve">
|
||||||
|
<value>Update Available</value>
|
||||||
|
<comment>Update Available</comment>
|
||||||
|
</data>
|
||||||
|
<data name="LegendGreen" xml:space="preserve">
|
||||||
|
<value>Updated</value>
|
||||||
|
<comment>Updated</comment>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -744,7 +744,7 @@
|
|||||||
<value>Toggle Touchscreen</value>
|
<value>Toggle Touchscreen</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Touchscreen" xml:space="preserve">
|
<data name="Touchscreen" xml:space="preserve">
|
||||||
<value/>
|
<value>Touchscreen</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Turbo" xml:space="preserve">
|
<data name="Turbo" xml:space="preserve">
|
||||||
<value>터보</value>
|
<value>터보</value>
|
||||||
@@ -800,4 +800,22 @@
|
|||||||
<data name="Zoom" xml:space="preserve">
|
<data name="Zoom" xml:space="preserve">
|
||||||
<value>확대/축소</value>
|
<value>확대/축소</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Donate" xml:space="preserve">
|
||||||
|
<value>Donate</value>
|
||||||
|
</data>
|
||||||
|
<data name="Legend" xml:space="preserve">
|
||||||
|
<value>Legend</value>
|
||||||
|
</data>
|
||||||
|
<data name="LegendGray" xml:space="preserve">
|
||||||
|
<value>Can't check local version</value>
|
||||||
|
<comment>Can't check local version</comment>
|
||||||
|
</data>
|
||||||
|
<data name="LegendRed" xml:space="preserve">
|
||||||
|
<value>Update Available</value>
|
||||||
|
<comment>Update Available</comment>
|
||||||
|
</data>
|
||||||
|
<data name="LegendGreen" xml:space="preserve">
|
||||||
|
<value>Updated</value>
|
||||||
|
<comment>Updated</comment>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -124,7 +124,7 @@
|
|||||||
<value>Nepavyko prisijungti prie ASUS ACPI. Programėlė be jo negali veikti. Pabandykite įdiegti Asus System Control Interface</value>
|
<value>Nepavyko prisijungti prie ASUS ACPI. Programėlė be jo negali veikti. Pabandykite įdiegti Asus System Control Interface</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AlertAPUMemoryRestart" xml:space="preserve">
|
<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>
|
||||||
<data name="AlertAPUMemoryRestartTitle" xml:space="preserve">
|
<data name="AlertAPUMemoryRestartTitle" xml:space="preserve">
|
||||||
<value>Paleisti iš naujo?</value>
|
<value>Paleisti iš naujo?</value>
|
||||||
@@ -145,7 +145,7 @@
|
|||||||
<value>Paleisti iš naujo dabar?</value>
|
<value>Paleisti iš naujo dabar?</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AllyController" xml:space="preserve">
|
<data name="AllyController" xml:space="preserve">
|
||||||
<value>Ally Controller</value>
|
<value>„Ally“ valdiklis</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AnimationSpeed" xml:space="preserve">
|
<data name="AnimationSpeed" xml:space="preserve">
|
||||||
<value>Animacijos greitis</value>
|
<value>Animacijos greitis</value>
|
||||||
@@ -163,7 +163,7 @@
|
|||||||
<value>Taikyti</value>
|
<value>Taikyti</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ApplyFanCurve" xml:space="preserve">
|
<data name="ApplyFanCurve" xml:space="preserve">
|
||||||
<value>Taikyti tinkintą aušintuvo kreivę</value>
|
<value>Taikyti tinkintą kreivę</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ApplyPowerLimits" xml:space="preserve">
|
<data name="ApplyPowerLimits" xml:space="preserve">
|
||||||
<value>Taikyti galios ribas</value>
|
<value>Taikyti galios ribas</value>
|
||||||
@@ -172,7 +172,7 @@
|
|||||||
<value>Automatiškai derinti Windows energijos režimus</value>
|
<value>Automatiškai derinti Windows energijos režimus</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="APUMemory" xml:space="preserve">
|
<data name="APUMemory" xml:space="preserve">
|
||||||
<value>Memory Assigned to GPU</value>
|
<value>Atmintis priskirta vaizdo plokštei</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AsusServicesRunning" xml:space="preserve">
|
<data name="AsusServicesRunning" xml:space="preserve">
|
||||||
<value>Veikiančios Asus tarnybos</value>
|
<value>Veikiančios Asus tarnybos</value>
|
||||||
@@ -202,7 +202,7 @@
|
|||||||
<value>Apšvietimo režimas</value>
|
<value>Apšvietimo režimas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraNormal" xml:space="preserve">
|
<data name="AuraNormal" xml:space="preserve">
|
||||||
<value>Normalus</value>
|
<value>Įprastas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraRainbow" xml:space="preserve">
|
<data name="AuraRainbow" xml:space="preserve">
|
||||||
<value>Vaivorykštė</value>
|
<value>Vaivorykštė</value>
|
||||||
@@ -244,7 +244,7 @@
|
|||||||
<value>Automatinis</value>
|
<value>Automatinis</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AutoRefreshTooltip" xml:space="preserve">
|
<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>
|
||||||
<data name="Awake" xml:space="preserve">
|
<data name="Awake" xml:space="preserve">
|
||||||
<value>Pabudęs</value>
|
<value>Pabudęs</value>
|
||||||
@@ -259,7 +259,7 @@
|
|||||||
<value>Mid</value>
|
<value>Mid</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BacklightOff" xml:space="preserve">
|
<data name="BacklightOff" xml:space="preserve">
|
||||||
<value>Off</value>
|
<value>Išjungta</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BacklightTimeout" xml:space="preserve">
|
<data name="BacklightTimeout" xml:space="preserve">
|
||||||
<value>Laiko riba su lizdu / akumuliatoriumi (0 – ĮJUNGTA)</value>
|
<value>Laiko riba su lizdu / akumuliatoriumi (0 – ĮJUNGTA)</value>
|
||||||
@@ -280,13 +280,13 @@
|
|||||||
<value>Įkrovos riba</value>
|
<value>Įkrovos riba</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BatteryHealth" xml:space="preserve">
|
<data name="BatteryHealth" xml:space="preserve">
|
||||||
<value>Sveikata</value>
|
<value>Baterijos būklė</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BatteryLimitFull" xml:space="preserve">
|
<data name="BatteryLimitFull" xml:space="preserve">
|
||||||
<value>Vienkartinė įkrova iki 100%</value>
|
<value>Vienkartinė įkrova iki 100%</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Binding" xml:space="preserve">
|
<data name="Binding" xml:space="preserve">
|
||||||
<value>Binding</value>
|
<value>Saistymas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BindingPrimary" xml:space="preserve">
|
<data name="BindingPrimary" xml:space="preserve">
|
||||||
<value>Pirminis</value>
|
<value>Pirminis</value>
|
||||||
@@ -313,7 +313,7 @@
|
|||||||
<value>Ryškumo didinimas</value>
|
<value>Ryškumo didinimas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BWTrayIcon" xml:space="preserve">
|
<data name="BWTrayIcon" xml:space="preserve">
|
||||||
<value>Black and white tray icon</value>
|
<value>Naudoti juodai baltą piktogramą</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Calibrate" xml:space="preserve">
|
<data name="Calibrate" xml:space="preserve">
|
||||||
<value>Kalibruoti</value>
|
<value>Kalibruoti</value>
|
||||||
@@ -325,10 +325,10 @@
|
|||||||
<value>Spalva</value>
|
<value>Spalva</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Contrast" xml:space="preserve">
|
<data name="Contrast" xml:space="preserve">
|
||||||
<value>Contrast</value>
|
<value>Kontrastas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Controller" xml:space="preserve">
|
<data name="Controller" xml:space="preserve">
|
||||||
<value>Controller</value>
|
<value>Valdiklis</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="CPUBoost" xml:space="preserve">
|
<data name="CPUBoost" xml:space="preserve">
|
||||||
<value>CPU spartinimas</value>
|
<value>CPU spartinimas</value>
|
||||||
@@ -343,10 +343,10 @@
|
|||||||
<value>Numatytas</value>
|
<value>Numatytas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DisableController" xml:space="preserve">
|
<data name="DisableController" xml:space="preserve">
|
||||||
<value>Disable Controller</value>
|
<value>Išjungti valdiklį</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DisableOnLidClose" xml:space="preserve">
|
<data name="DisableOnLidClose" xml:space="preserve">
|
||||||
<value>Disable on lid close</value>
|
<value>Išjungti uždarius gaubtą</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DisableOverdrive" xml:space="preserve">
|
<data name="DisableOverdrive" xml:space="preserve">
|
||||||
<value>Išjungti ekrano pikselių spartinimą</value>
|
<value>Išjungti ekrano pikselių spartinimą</value>
|
||||||
@@ -355,7 +355,7 @@
|
|||||||
<value>Iškrovimas</value>
|
<value>Iškrovimas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DownloadColorProfiles" xml:space="preserve">
|
<data name="DownloadColorProfiles" xml:space="preserve">
|
||||||
<value>Download Color Profiles</value>
|
<value>Atsisiųsti spalvų profilius</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DownloadUpdate" xml:space="preserve">
|
<data name="DownloadUpdate" xml:space="preserve">
|
||||||
<value>Atsisiųsti</value>
|
<value>Atsisiųsti</value>
|
||||||
@@ -364,13 +364,13 @@
|
|||||||
<value>Tvarkyklės ir programinė įranga</value>
|
<value>Tvarkyklės ir programinė įranga</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="EcoGPUTooltip" xml:space="preserve">
|
<data name="EcoGPUTooltip" xml:space="preserve">
|
||||||
<value>Išjungia dGPU, kad taupytų energiją</value>
|
<value>Išjungia dGPU akumuliatoriaus taupymui</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="EcoMode" xml:space="preserve">
|
<data name="EcoMode" xml:space="preserve">
|
||||||
<value>Ekonomiškas</value>
|
<value>Ekonomiškas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="EnableGPUOnShutdown" xml:space="preserve">
|
<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>
|
||||||
<data name="EnableOptimusText" xml:space="preserve">
|
<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.
|
<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>
|
<value>Energijos nustatymai</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Export" xml:space="preserve">
|
<data name="Export" xml:space="preserve">
|
||||||
<value>Export Profile</value>
|
<value>Eksportuoti profilį</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Extra" xml:space="preserve">
|
<data name="Extra" xml:space="preserve">
|
||||||
<value>Išplėstiniai</value>
|
<value>Išplėstiniai</value>
|
||||||
@@ -420,16 +420,16 @@ Vis tiek norite tęsti?</value>
|
|||||||
<value>Aušintuvai + galia</value>
|
<value>Aušintuvai + galia</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FlickerFreeDimming" xml:space="preserve">
|
<data name="FlickerFreeDimming" xml:space="preserve">
|
||||||
<value>Flicker-free Dimming</value>
|
<value>Užtamsinimas be mirgėjimo</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FnLock" xml:space="preserve">
|
<data name="FnLock" xml:space="preserve">
|
||||||
<value>Apdoroti Fn+F sparčiuosius klavišus be Fn</value>
|
<value>Apdoroti Fn+F sparčiuosius klavišus be Fn</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FnLockOff" xml:space="preserve">
|
<data name="FnLockOff" xml:space="preserve">
|
||||||
<value>FN-Lock Off</value>
|
<value>FN užraktas išjungtas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FnLockOn" xml:space="preserve">
|
<data name="FnLockOn" xml:space="preserve">
|
||||||
<value>FN-Lock On</value>
|
<value>FN užraktas įjungtas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GPUBoost" xml:space="preserve">
|
<data name="GPUBoost" xml:space="preserve">
|
||||||
<value>Dinaminis spartinimas</value>
|
<value>Dinaminis spartinimas</value>
|
||||||
@@ -456,7 +456,7 @@ Vis tiek norite tęsti?</value>
|
|||||||
<value>Tik dGPU</value>
|
<value>Tik dGPU</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GPUPower" xml:space="preserve">
|
<data name="GPUPower" xml:space="preserve">
|
||||||
<value>GPU Power</value>
|
<value>GPU galia</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GPUSettings" xml:space="preserve">
|
<data name="GPUSettings" xml:space="preserve">
|
||||||
<value>GPU nustatymai</value>
|
<value>GPU nustatymai</value>
|
||||||
@@ -465,16 +465,16 @@ Vis tiek norite tęsti?</value>
|
|||||||
<value>Temperatūros tikslas</value>
|
<value>Temperatūros tikslas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="HibernateAfter" xml:space="preserve">
|
<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>
|
||||||
<data name="High" xml:space="preserve">
|
<data name="High" xml:space="preserve">
|
||||||
<value>Aukštas</value>
|
<value>Aukštas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ImageRotation" xml:space="preserve">
|
<data name="ImageRotation" xml:space="preserve">
|
||||||
<value>Image Rotation</value>
|
<value>Atvaizdo pasukimas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Import" xml:space="preserve">
|
<data name="Import" xml:space="preserve">
|
||||||
<value>Import Profile</value>
|
<value>Importuoti profilį</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="KeyBindings" xml:space="preserve">
|
<data name="KeyBindings" xml:space="preserve">
|
||||||
<value>Klavišų priskyrimas</value>
|
<value>Klavišų priskyrimas</value>
|
||||||
@@ -483,7 +483,7 @@ Vis tiek norite tęsti?</value>
|
|||||||
<value>Klaviatūra</value>
|
<value>Klaviatūra</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="KillGpuApps" xml:space="preserve">
|
<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>
|
||||||
<data name="LaptopBacklight" xml:space="preserve">
|
<data name="LaptopBacklight" xml:space="preserve">
|
||||||
<value>Apšvietimas</value>
|
<value>Apšvietimas</value>
|
||||||
@@ -495,7 +495,7 @@ Vis tiek norite tęsti?</value>
|
|||||||
<value>Ekranas</value>
|
<value>Ekranas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="LEDStatusIndicators" xml:space="preserve">
|
<data name="LEDStatusIndicators" xml:space="preserve">
|
||||||
<value>LED Status Indicators</value>
|
<value>LED būsenos indikatoriai</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Lid" xml:space="preserve">
|
<data name="Lid" xml:space="preserve">
|
||||||
<value>Dangtis</value>
|
<value>Dangtis</value>
|
||||||
@@ -507,7 +507,7 @@ Vis tiek norite tęsti?</value>
|
|||||||
<value>Apšvietimas</value>
|
<value>Apšvietimas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="LockScreen" xml:space="preserve">
|
<data name="LockScreen" xml:space="preserve">
|
||||||
<value>Lock Screen</value>
|
<value>Užrakinimo ekranas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logo" xml:space="preserve">
|
<data name="Logo" xml:space="preserve">
|
||||||
<value>Logotipas</value>
|
<value>Logotipas</value>
|
||||||
@@ -516,7 +516,7 @@ Vis tiek norite tęsti?</value>
|
|||||||
<value>Žemas</value>
|
<value>Žemas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="LSDeadzones" xml:space="preserve">
|
<data name="LSDeadzones" xml:space="preserve">
|
||||||
<value>Left Stick Deadzones</value>
|
<value>Kairiojo jungiklio nejautrumo zonos</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="LTDeadzones" xml:space="preserve">
|
<data name="LTDeadzones" xml:space="preserve">
|
||||||
<value>Left Trigger Deadzones</value>
|
<value>Left Trigger Deadzones</value>
|
||||||
@@ -549,10 +549,10 @@ Vis tiek norite tęsti?</value>
|
|||||||
<value>Paveikslėlis</value>
|
<value>Paveikslėlis</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MaxRefreshTooltip" xml:space="preserve">
|
<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>
|
||||||
<data name="MinRefreshTooltip" xml:space="preserve">
|
<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>
|
||||||
<data name="Minute" xml:space="preserve">
|
<data name="Minute" xml:space="preserve">
|
||||||
<value>min.</value>
|
<value>min.</value>
|
||||||
@@ -561,7 +561,7 @@ Vis tiek norite tęsti?</value>
|
|||||||
<value>min.</value>
|
<value>min.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MouseAngleSnapping" xml:space="preserve">
|
<data name="MouseAngleSnapping" xml:space="preserve">
|
||||||
<value>Angle Snapping</value>
|
<value>Kampinis fiksavimas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MouseAutoPowerOff" xml:space="preserve">
|
<data name="MouseAutoPowerOff" xml:space="preserve">
|
||||||
<value>Automatiškai išjungti po</value>
|
<value>Automatiškai išjungti po</value>
|
||||||
@@ -570,7 +570,7 @@ Vis tiek norite tęsti?</value>
|
|||||||
<value>Klavišo atsakas</value>
|
<value>Klavišo atsakas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MouseImportFailed" xml:space="preserve">
|
<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>
|
||||||
<data name="MouseLiftOffDistance" xml:space="preserve">
|
<data name="MouseLiftOffDistance" xml:space="preserve">
|
||||||
<value>Pakilimo atstumas</value>
|
<value>Pakilimo atstumas</value>
|
||||||
@@ -609,10 +609,10 @@ Vis tiek norite tęsti?</value>
|
|||||||
<value>Neprijungta</value>
|
<value>Neprijungta</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Off" xml:space="preserve">
|
<data name="Off" xml:space="preserve">
|
||||||
<value>Off</value>
|
<value>Išjungta</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="On" xml:space="preserve">
|
<data name="On" xml:space="preserve">
|
||||||
<value>On</value>
|
<value>Įjungta</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="OneZone" xml:space="preserve">
|
<data name="OneZone" xml:space="preserve">
|
||||||
<value>One Zone</value>
|
<value>One Zone</value>
|
||||||
@@ -624,10 +624,10 @@ Vis tiek norite tęsti?</value>
|
|||||||
<value>Optimizuotas</value>
|
<value>Optimizuotas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="OptimizedGPUTooltip" xml:space="preserve">
|
<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>
|
||||||
<data name="OptimizedUSBC" xml:space="preserve">
|
<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>
|
||||||
<data name="Other" xml:space="preserve">
|
<data name="Other" xml:space="preserve">
|
||||||
<value>Kita</value>
|
<value>Kita</value>
|
||||||
@@ -666,7 +666,7 @@ Vis tiek norite tęsti?</value>
|
|||||||
<value>Išeiti</value>
|
<value>Išeiti</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Reset" xml:space="preserve">
|
<data name="Reset" xml:space="preserve">
|
||||||
<value>Reset</value>
|
<value>Atstatyti</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RestartGPU" xml:space="preserve">
|
<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>
|
<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>
|
||||||
@@ -744,7 +744,7 @@ Vis tiek norite tęsti?</value>
|
|||||||
<value>Toggle Touchscreen</value>
|
<value>Toggle Touchscreen</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Touchscreen" xml:space="preserve">
|
<data name="Touchscreen" xml:space="preserve">
|
||||||
<value/>
|
<value>Touchscreen</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Turbo" xml:space="preserve">
|
<data name="Turbo" xml:space="preserve">
|
||||||
<value>Turbo</value>
|
<value>Turbo</value>
|
||||||
@@ -756,7 +756,7 @@ Vis tiek norite tęsti?</value>
|
|||||||
<value>Išjungti naudojant akumuliatorių</value>
|
<value>Išjungti naudojant akumuliatorių</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="UltimateGPUTooltip" xml:space="preserve">
|
<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>
|
||||||
<data name="UltimateMode" xml:space="preserve">
|
<data name="UltimateMode" xml:space="preserve">
|
||||||
<value>Maksimalus</value>
|
<value>Maksimalus</value>
|
||||||
@@ -780,10 +780,10 @@ Vis tiek norite tęsti?</value>
|
|||||||
<value>Vizualinis režimas</value>
|
<value>Vizualinis režimas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="VisualModesHDR" xml:space="preserve">
|
<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>
|
||||||
<data name="VisualModesScreen" xml:space="preserve">
|
<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>
|
||||||
<data name="VolumeDown" xml:space="preserve">
|
<data name="VolumeDown" xml:space="preserve">
|
||||||
<value>Garsumo mažinimas</value>
|
<value>Garsumo mažinimas</value>
|
||||||
@@ -800,4 +800,22 @@ Vis tiek norite tęsti?</value>
|
|||||||
<data name="Zoom" xml:space="preserve">
|
<data name="Zoom" xml:space="preserve">
|
||||||
<value>Zoom</value>
|
<value>Zoom</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Donate" xml:space="preserve">
|
||||||
|
<value>Donate</value>
|
||||||
|
</data>
|
||||||
|
<data name="Legend" xml:space="preserve">
|
||||||
|
<value>Legend</value>
|
||||||
|
</data>
|
||||||
|
<data name="LegendGray" xml:space="preserve">
|
||||||
|
<value>Can't check local version</value>
|
||||||
|
<comment>Can't check local version</comment>
|
||||||
|
</data>
|
||||||
|
<data name="LegendRed" xml:space="preserve">
|
||||||
|
<value>Update Available</value>
|
||||||
|
<comment>Update Available</comment>
|
||||||
|
</data>
|
||||||
|
<data name="LegendGreen" xml:space="preserve">
|
||||||
|
<value>Updated</value>
|
||||||
|
<comment>Updated</comment>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -744,7 +744,7 @@ Nadal chcesz kontynuować?</value>
|
|||||||
<value>Włącz/wyłącz ekran dotykowy</value>
|
<value>Włącz/wyłącz ekran dotykowy</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Touchscreen" xml:space="preserve">
|
<data name="Touchscreen" xml:space="preserve">
|
||||||
<value/>
|
<value>Touchscreen</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Turbo" xml:space="preserve">
|
<data name="Turbo" xml:space="preserve">
|
||||||
<value>Turbo</value>
|
<value>Turbo</value>
|
||||||
@@ -800,4 +800,22 @@ Nadal chcesz kontynuować?</value>
|
|||||||
<data name="Zoom" xml:space="preserve">
|
<data name="Zoom" xml:space="preserve">
|
||||||
<value>Przybliżenie</value>
|
<value>Przybliżenie</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Donate" xml:space="preserve">
|
||||||
|
<value>Donate</value>
|
||||||
|
</data>
|
||||||
|
<data name="Legend" xml:space="preserve">
|
||||||
|
<value>Legend</value>
|
||||||
|
</data>
|
||||||
|
<data name="LegendGray" xml:space="preserve">
|
||||||
|
<value>Can't check local version</value>
|
||||||
|
<comment>Can't check local version</comment>
|
||||||
|
</data>
|
||||||
|
<data name="LegendRed" xml:space="preserve">
|
||||||
|
<value>Update Available</value>
|
||||||
|
<comment>Update Available</comment>
|
||||||
|
</data>
|
||||||
|
<data name="LegendGreen" xml:space="preserve">
|
||||||
|
<value>Updated</value>
|
||||||
|
<comment>Updated</comment>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -744,7 +744,7 @@ Do you still want to continue?</value>
|
|||||||
<value>Toggle Touchscreen</value>
|
<value>Toggle Touchscreen</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Touchscreen" xml:space="preserve">
|
<data name="Touchscreen" xml:space="preserve">
|
||||||
<value/>
|
<value>Touchscreen</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Turbo" xml:space="preserve">
|
<data name="Turbo" xml:space="preserve">
|
||||||
<value>Turbo</value>
|
<value>Turbo</value>
|
||||||
@@ -800,4 +800,22 @@ Do you still want to continue?</value>
|
|||||||
<data name="Zoom" xml:space="preserve">
|
<data name="Zoom" xml:space="preserve">
|
||||||
<value>Zoom</value>
|
<value>Zoom</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Donate" xml:space="preserve">
|
||||||
|
<value>Donate</value>
|
||||||
|
</data>
|
||||||
|
<data name="Legend" xml:space="preserve">
|
||||||
|
<value>Legend</value>
|
||||||
|
</data>
|
||||||
|
<data name="LegendGray" xml:space="preserve">
|
||||||
|
<value>Can't check local version</value>
|
||||||
|
<comment>Can't check local version</comment>
|
||||||
|
</data>
|
||||||
|
<data name="LegendRed" xml:space="preserve">
|
||||||
|
<value>Update Available</value>
|
||||||
|
<comment>Update Available</comment>
|
||||||
|
</data>
|
||||||
|
<data name="LegendGreen" xml:space="preserve">
|
||||||
|
<value>Updated</value>
|
||||||
|
<comment>Updated</comment>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -744,7 +744,7 @@ Quer prosseguir?</value>
|
|||||||
<value>Toggle Touchscreen</value>
|
<value>Toggle Touchscreen</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Touchscreen" xml:space="preserve">
|
<data name="Touchscreen" xml:space="preserve">
|
||||||
<value/>
|
<value>Touchscreen</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Turbo" xml:space="preserve">
|
<data name="Turbo" xml:space="preserve">
|
||||||
<value>Turbo</value>
|
<value>Turbo</value>
|
||||||
@@ -800,4 +800,22 @@ Quer prosseguir?</value>
|
|||||||
<data name="Zoom" xml:space="preserve">
|
<data name="Zoom" xml:space="preserve">
|
||||||
<value>Zoom</value>
|
<value>Zoom</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Donate" xml:space="preserve">
|
||||||
|
<value>Donate</value>
|
||||||
|
</data>
|
||||||
|
<data name="Legend" xml:space="preserve">
|
||||||
|
<value>Legend</value>
|
||||||
|
</data>
|
||||||
|
<data name="LegendGray" xml:space="preserve">
|
||||||
|
<value>Can't check local version</value>
|
||||||
|
<comment>Can't check local version</comment>
|
||||||
|
</data>
|
||||||
|
<data name="LegendRed" xml:space="preserve">
|
||||||
|
<value>Update Available</value>
|
||||||
|
<comment>Update Available</comment>
|
||||||
|
</data>
|
||||||
|
<data name="LegendGreen" xml:space="preserve">
|
||||||
|
<value>Updated</value>
|
||||||
|
<comment>Updated</comment>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -744,7 +744,7 @@ Do you still want to continue?</value>
|
|||||||
<value>Toggle Touchscreen</value>
|
<value>Toggle Touchscreen</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Touchscreen" xml:space="preserve">
|
<data name="Touchscreen" xml:space="preserve">
|
||||||
<value />
|
<value>Touchscreen</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Turbo" xml:space="preserve">
|
<data name="Turbo" xml:space="preserve">
|
||||||
<value>Turbo</value>
|
<value>Turbo</value>
|
||||||
@@ -800,4 +800,22 @@ Do you still want to continue?</value>
|
|||||||
<data name="Zoom" xml:space="preserve">
|
<data name="Zoom" xml:space="preserve">
|
||||||
<value>Zoom</value>
|
<value>Zoom</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Donate" xml:space="preserve">
|
||||||
|
<value>Donate</value>
|
||||||
|
</data>
|
||||||
|
<data name="Legend" xml:space="preserve">
|
||||||
|
<value>Legend</value>
|
||||||
|
</data>
|
||||||
|
<data name="LegendGray" xml:space="preserve">
|
||||||
|
<value>Can't check local version</value>
|
||||||
|
<comment>Can't check local version</comment>
|
||||||
|
</data>
|
||||||
|
<data name="LegendRed" xml:space="preserve">
|
||||||
|
<value>Update Available</value>
|
||||||
|
<comment>Update Available</comment>
|
||||||
|
</data>
|
||||||
|
<data name="LegendGreen" xml:space="preserve">
|
||||||
|
<value>Updated</value>
|
||||||
|
<comment>Updated</comment>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -744,7 +744,7 @@
|
|||||||
<value>Toggle Touchscreen</value>
|
<value>Toggle Touchscreen</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Touchscreen" xml:space="preserve">
|
<data name="Touchscreen" xml:space="preserve">
|
||||||
<value/>
|
<value>Touchscreen</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Turbo" xml:space="preserve">
|
<data name="Turbo" xml:space="preserve">
|
||||||
<value>Turbo</value>
|
<value>Turbo</value>
|
||||||
@@ -800,4 +800,22 @@
|
|||||||
<data name="Zoom" xml:space="preserve">
|
<data name="Zoom" xml:space="preserve">
|
||||||
<value>Zoom</value>
|
<value>Zoom</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Donate" xml:space="preserve">
|
||||||
|
<value>Donate</value>
|
||||||
|
</data>
|
||||||
|
<data name="Legend" xml:space="preserve">
|
||||||
|
<value>Legend</value>
|
||||||
|
</data>
|
||||||
|
<data name="LegendGray" xml:space="preserve">
|
||||||
|
<value>Can't check local version</value>
|
||||||
|
<comment>Can't check local version</comment>
|
||||||
|
</data>
|
||||||
|
<data name="LegendRed" xml:space="preserve">
|
||||||
|
<value>Update Available</value>
|
||||||
|
<comment>Update Available</comment>
|
||||||
|
</data>
|
||||||
|
<data name="LegendGreen" xml:space="preserve">
|
||||||
|
<value>Updated</value>
|
||||||
|
<comment>Updated</comment>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -744,7 +744,7 @@ Yine de devam etmek istiyor musunuz?</value>
|
|||||||
<value>Dokunmatik Ekranı Değiştir</value>
|
<value>Dokunmatik Ekranı Değiştir</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Touchscreen" xml:space="preserve">
|
<data name="Touchscreen" xml:space="preserve">
|
||||||
<value/>
|
<value>Dokunmatik ekran</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Turbo" xml:space="preserve">
|
<data name="Turbo" xml:space="preserve">
|
||||||
<value>Turbo</value>
|
<value>Turbo</value>
|
||||||
@@ -800,4 +800,22 @@ Yine de devam etmek istiyor musunuz?</value>
|
|||||||
<data name="Zoom" xml:space="preserve">
|
<data name="Zoom" xml:space="preserve">
|
||||||
<value>Yakınlaştır</value>
|
<value>Yakınlaştır</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Donate" xml:space="preserve">
|
||||||
|
<value>Bağış</value>
|
||||||
|
</data>
|
||||||
|
<data name="Legend" xml:space="preserve">
|
||||||
|
<value>Gösterge</value>
|
||||||
|
</data>
|
||||||
|
<data name="LegendGray" xml:space="preserve">
|
||||||
|
<value>Yerel sürüm denetlenemiyor</value>
|
||||||
|
<comment>Can't check local version</comment>
|
||||||
|
</data>
|
||||||
|
<data name="LegendRed" xml:space="preserve">
|
||||||
|
<value>Güncelleme Mevcut</value>
|
||||||
|
<comment>Update Available</comment>
|
||||||
|
</data>
|
||||||
|
<data name="LegendGreen" xml:space="preserve">
|
||||||
|
<value>Güncellendi</value>
|
||||||
|
<comment>Updated</comment>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -316,7 +316,7 @@
|
|||||||
<value>Чорно-біла іконка трею</value>
|
<value>Чорно-біла іконка трею</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Calibrate" xml:space="preserve">
|
<data name="Calibrate" xml:space="preserve">
|
||||||
<value>Калібрування</value>
|
<value>Калібр.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Charging" xml:space="preserve">
|
<data name="Charging" xml:space="preserve">
|
||||||
<value>Зарядка</value>
|
<value>Зарядка</value>
|
||||||
@@ -744,7 +744,7 @@
|
|||||||
<value>Сенсорний екран</value>
|
<value>Сенсорний екран</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Touchscreen" xml:space="preserve">
|
<data name="Touchscreen" xml:space="preserve">
|
||||||
<value/>
|
<value>Сенсорний екран</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Turbo" xml:space="preserve">
|
<data name="Turbo" xml:space="preserve">
|
||||||
<value>Турбо</value>
|
<value>Турбо</value>
|
||||||
@@ -800,4 +800,22 @@
|
|||||||
<data name="Zoom" xml:space="preserve">
|
<data name="Zoom" xml:space="preserve">
|
||||||
<value>Зум</value>
|
<value>Зум</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Donate" xml:space="preserve">
|
||||||
|
<value>Донат</value>
|
||||||
|
</data>
|
||||||
|
<data name="Legend" xml:space="preserve">
|
||||||
|
<value>Легенда</value>
|
||||||
|
</data>
|
||||||
|
<data name="LegendGray" xml:space="preserve">
|
||||||
|
<value>Немає даних</value>
|
||||||
|
<comment>Can't check local version</comment>
|
||||||
|
</data>
|
||||||
|
<data name="LegendRed" xml:space="preserve">
|
||||||
|
<value>Є оновлення</value>
|
||||||
|
<comment>Update Available</comment>
|
||||||
|
</data>
|
||||||
|
<data name="LegendGreen" xml:space="preserve">
|
||||||
|
<value>Оновлено</value>
|
||||||
|
<comment>Updated</comment>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -744,7 +744,7 @@ Do you still want to continue?</value>
|
|||||||
<value>Toggle Touchscreen</value>
|
<value>Toggle Touchscreen</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Touchscreen" xml:space="preserve">
|
<data name="Touchscreen" xml:space="preserve">
|
||||||
<value/>
|
<value>Touchscreen</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Turbo" xml:space="preserve">
|
<data name="Turbo" xml:space="preserve">
|
||||||
<value>Turbo</value>
|
<value>Turbo</value>
|
||||||
@@ -800,4 +800,22 @@ Do you still want to continue?</value>
|
|||||||
<data name="Zoom" xml:space="preserve">
|
<data name="Zoom" xml:space="preserve">
|
||||||
<value>Zoom</value>
|
<value>Zoom</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Donate" xml:space="preserve">
|
||||||
|
<value>Donate</value>
|
||||||
|
</data>
|
||||||
|
<data name="Legend" xml:space="preserve">
|
||||||
|
<value>Legend</value>
|
||||||
|
</data>
|
||||||
|
<data name="LegendGray" xml:space="preserve">
|
||||||
|
<value>Can't check local version</value>
|
||||||
|
<comment>Can't check local version</comment>
|
||||||
|
</data>
|
||||||
|
<data name="LegendRed" xml:space="preserve">
|
||||||
|
<value>Update Available</value>
|
||||||
|
<comment>Update Available</comment>
|
||||||
|
</data>
|
||||||
|
<data name="LegendGreen" xml:space="preserve">
|
||||||
|
<value>Updated</value>
|
||||||
|
<comment>Updated</comment>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -741,10 +741,10 @@
|
|||||||
<value>关闭屏幕</value>
|
<value>关闭屏幕</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleTouchscreen" xml:space="preserve">
|
<data name="ToggleTouchscreen" xml:space="preserve">
|
||||||
<value>Toggle Touchscreen</value>
|
<value>切换触摸屏</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Touchscreen" xml:space="preserve">
|
<data name="Touchscreen" xml:space="preserve">
|
||||||
<value/>
|
<value>触摸屏</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Turbo" xml:space="preserve">
|
<data name="Turbo" xml:space="preserve">
|
||||||
<value>增强模式</value>
|
<value>增强模式</value>
|
||||||
@@ -800,4 +800,22 @@
|
|||||||
<data name="Zoom" xml:space="preserve">
|
<data name="Zoom" xml:space="preserve">
|
||||||
<value>缩放</value>
|
<value>缩放</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Donate" xml:space="preserve">
|
||||||
|
<value>赞助</value>
|
||||||
|
</data>
|
||||||
|
<data name="Legend" xml:space="preserve">
|
||||||
|
<value>Legend</value>
|
||||||
|
</data>
|
||||||
|
<data name="LegendGray" xml:space="preserve">
|
||||||
|
<value>无法检查本地版本</value>
|
||||||
|
<comment>Can't check local version</comment>
|
||||||
|
</data>
|
||||||
|
<data name="LegendRed" xml:space="preserve">
|
||||||
|
<value>有可用更新</value>
|
||||||
|
<comment>Update Available</comment>
|
||||||
|
</data>
|
||||||
|
<data name="LegendGreen" xml:space="preserve">
|
||||||
|
<value>已更新</value>
|
||||||
|
<comment>Updated</comment>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -744,7 +744,7 @@
|
|||||||
<value>切換螢幕觸控</value>
|
<value>切換螢幕觸控</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Touchscreen" xml:space="preserve">
|
<data name="Touchscreen" xml:space="preserve">
|
||||||
<value/>
|
<value>Touchscreen</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Turbo" xml:space="preserve">
|
<data name="Turbo" xml:space="preserve">
|
||||||
<value>極速</value>
|
<value>極速</value>
|
||||||
@@ -800,4 +800,22 @@
|
|||||||
<data name="Zoom" xml:space="preserve">
|
<data name="Zoom" xml:space="preserve">
|
||||||
<value>縮放</value>
|
<value>縮放</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Donate" xml:space="preserve">
|
||||||
|
<value>Donate</value>
|
||||||
|
</data>
|
||||||
|
<data name="Legend" xml:space="preserve">
|
||||||
|
<value>Legend</value>
|
||||||
|
</data>
|
||||||
|
<data name="LegendGray" xml:space="preserve">
|
||||||
|
<value>Can't check local version</value>
|
||||||
|
<comment>Can't check local version</comment>
|
||||||
|
</data>
|
||||||
|
<data name="LegendRed" xml:space="preserve">
|
||||||
|
<value>Update Available</value>
|
||||||
|
<comment>Update Available</comment>
|
||||||
|
</data>
|
||||||
|
<data name="LegendGreen" xml:space="preserve">
|
||||||
|
<value>Updated</value>
|
||||||
|
<comment>Updated</comment>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -40,7 +40,7 @@ namespace Ryzen
|
|||||||
//PHEONIX - 9
|
//PHEONIX - 9
|
||||||
//RAPHAEL/DRAGON RANGE - 10
|
//RAPHAEL/DRAGON RANGE - 10
|
||||||
//MENDOCINO - 11
|
//MENDOCINO - 11
|
||||||
//HAWKPOINT - 12
|
//HAWKPOINT/STRIXPOINT - 12
|
||||||
|
|
||||||
public static void Init()
|
public static void Init()
|
||||||
{
|
{
|
||||||
@@ -77,7 +77,7 @@ namespace Ryzen
|
|||||||
FAMID = 1; //PICASSO
|
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
|
FAMID = 2; //DALI
|
||||||
}
|
}
|
||||||
@@ -127,6 +127,11 @@ namespace Ryzen
|
|||||||
FAMID = 12; //HAWKPOINT
|
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}");
|
Logger.WriteLine($"CPU: {FAMID} - {CPUName} - {CPUModel}");
|
||||||
|
|
||||||
SetAddresses();
|
SetAddresses();
|
||||||
@@ -141,7 +146,7 @@ namespace Ryzen
|
|||||||
public static bool IsSupportedUV()
|
public static bool IsSupportedUV()
|
||||||
{
|
{
|
||||||
if (CPUName.Length == 0) Init();
|
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()
|
public static bool IsSupportedUViGPU()
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ namespace Ryzen
|
|||||||
//PHEONIX - 9
|
//PHEONIX - 9
|
||||||
//RAPHAEL/DRAGON RANGE - 10
|
//RAPHAEL/DRAGON RANGE - 10
|
||||||
//MENDOCINO - 11
|
//MENDOCINO - 11
|
||||||
//HAWKPOINT - 12
|
//HAWKPOINT/STRIXPOINT - 12
|
||||||
|
|
||||||
public static Smu RyzenAccess = new Smu(false);
|
public static Smu RyzenAccess = new Smu(false);
|
||||||
public static int FAMID = RyzenControl.FAMID;
|
public static int FAMID = RyzenControl.FAMID;
|
||||||
|
|||||||
@@ -93,6 +93,7 @@ namespace GHelper
|
|||||||
buttonMatrix.Text = Properties.Strings.PictureGif;
|
buttonMatrix.Text = Properties.Strings.PictureGif;
|
||||||
buttonQuit.Text = Properties.Strings.Quit;
|
buttonQuit.Text = Properties.Strings.Quit;
|
||||||
buttonUpdates.Text = Properties.Strings.Updates;
|
buttonUpdates.Text = Properties.Strings.Updates;
|
||||||
|
buttonDonate.Text = Properties.Strings.Donate;
|
||||||
|
|
||||||
buttonController.Text = Properties.Strings.Controller;
|
buttonController.Text = Properties.Strings.Controller;
|
||||||
labelAlly.Text = Properties.Strings.AllyController;
|
labelAlly.Text = Properties.Strings.AllyController;
|
||||||
@@ -271,6 +272,12 @@ namespace GHelper
|
|||||||
|
|
||||||
buttonDonate.Click += ButtonDonate_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;
|
labelDynamicLighting.Click += LabelDynamicLighting_Click;
|
||||||
|
|
||||||
panelPerformance.Focus();
|
panelPerformance.Focus();
|
||||||
@@ -279,6 +286,8 @@ namespace GHelper
|
|||||||
|
|
||||||
private void ButtonDonate_Click(object? sender, EventArgs e)
|
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 });
|
Process.Start(new ProcessStartInfo("https://github.com/seerge/g-helper/wiki/Support-Project") { UseShellExecute = true });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
141
app/UI/NumericUpDownWithUnit.cs
Normal file
141
app/UI/NumericUpDownWithUnit.cs
Normal file
@@ -0,0 +1,141 @@
|
|||||||
|
using System.Globalization;
|
||||||
|
using System.Text.RegularExpressions;
|
||||||
|
|
||||||
|
public class NumericUpDownWithUnit : NumericUpDown
|
||||||
|
{
|
||||||
|
#region| Fields |
|
||||||
|
|
||||||
|
private string unit = null;
|
||||||
|
private bool unitFirst = false;
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region| Properties |
|
||||||
|
|
||||||
|
public string Unit
|
||||||
|
{
|
||||||
|
get => unit;
|
||||||
|
set
|
||||||
|
{
|
||||||
|
unit = value;
|
||||||
|
|
||||||
|
UpdateEditText();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool UnitFirst
|
||||||
|
{
|
||||||
|
get => unitFirst;
|
||||||
|
set
|
||||||
|
{
|
||||||
|
unitFirst = value;
|
||||||
|
|
||||||
|
UpdateEditText();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region| Methods |
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Method called when updating the numeric updown text.
|
||||||
|
/// </summary>
|
||||||
|
protected override void UpdateEditText()
|
||||||
|
{
|
||||||
|
// If there is a unit we handle it ourselfs, if there is not we leave it to the base class.
|
||||||
|
if (Unit != null && Unit != string.Empty)
|
||||||
|
{
|
||||||
|
if (UnitFirst)
|
||||||
|
{
|
||||||
|
Text = $"({Unit}) {Value}";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Text = $"{Value} ({Unit})";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
base.UpdateEditText();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Validate method called before actually updating the text.
|
||||||
|
/// This is exactly the same as the base class but it will use the new ParseEditText from this class instead.
|
||||||
|
/// </summary>
|
||||||
|
protected override void ValidateEditText()
|
||||||
|
{
|
||||||
|
// See if the edit text parses to a valid decimal considering the label unit
|
||||||
|
ParseEditText();
|
||||||
|
UpdateEditText();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Converts the text displayed in the up-down control to a numeric value and evaluates it.
|
||||||
|
/// </summary>
|
||||||
|
protected new void ParseEditText()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// The only difference of this methods to the base one is that text is replaced directly
|
||||||
|
// with the property Text instead of using the regex.
|
||||||
|
// We now that the only characters that may be on the textbox are from the unit we provide.
|
||||||
|
// because the NumericUpDown handles invalid input from user for us.
|
||||||
|
// This is where the magic happens. This regex will match all characters from the unit
|
||||||
|
// (so your unit cannot have numbers). You can change this regex to fill your needs
|
||||||
|
var regex = new Regex($@"[^(?!{Unit} )]+");
|
||||||
|
var match = regex.Match(Text);
|
||||||
|
|
||||||
|
if (match.Success)
|
||||||
|
{
|
||||||
|
var text = match.Value;
|
||||||
|
|
||||||
|
// VSWhidbey 173332: Verify that the user is not starting the string with a "-"
|
||||||
|
// before attempting to set the Value property since a "-" is a valid character with
|
||||||
|
// which to start a string representing a negative number.
|
||||||
|
if (!string.IsNullOrEmpty(text) && !(text.Length == 1 && text == "-"))
|
||||||
|
{
|
||||||
|
if (Hexadecimal)
|
||||||
|
{
|
||||||
|
Value = Constrain(Convert.ToDecimal(Convert.ToInt32(Text, 16)));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Value = Constrain(Decimal.Parse(text, CultureInfo.CurrentCulture));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
// Leave value as it is
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
UserEdit = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// </summary>
|
||||||
|
/// Returns the provided value constrained to be within the min and max.
|
||||||
|
/// This is exactly the same as the one in base class (which is private so we can't directly use it).
|
||||||
|
/// </summary>
|
||||||
|
private decimal Constrain(decimal value)
|
||||||
|
{
|
||||||
|
if (value < Minimum)
|
||||||
|
{
|
||||||
|
value = Minimum;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (value > Maximum)
|
||||||
|
{
|
||||||
|
value = Maximum;
|
||||||
|
}
|
||||||
|
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
@@ -52,6 +52,16 @@ namespace GHelper.UI
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private bool badge = false;
|
||||||
|
public bool Badge
|
||||||
|
{
|
||||||
|
get { return badge; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
badge = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public RButton()
|
public RButton()
|
||||||
{
|
{
|
||||||
DoubleBuffered = true;
|
DoubleBuffered = true;
|
||||||
@@ -99,6 +109,15 @@ namespace GHelper.UI
|
|||||||
pevent.Graphics.DrawPath(penBorder, pathBorder);
|
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)
|
if (!Enabled && ForeColor != SystemColors.ControlText)
|
||||||
{
|
{
|
||||||
var rect = pevent.ClipRectangle;
|
var rect = pevent.ClipRectangle;
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ public static class AsusHid
|
|||||||
public const byte INPUT_ID = 0x5a;
|
public const byte INPUT_ID = 0x5a;
|
||||||
public const byte AURA_ID = 0x5d;
|
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;
|
static HidStream? auraStream;
|
||||||
|
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ namespace GHelper.USB
|
|||||||
public static Color Color1 = Color.White;
|
public static Color Color1 = Color.White;
|
||||||
public static Color Color2 = Color.Black;
|
public static Color Color2 = Color.Black;
|
||||||
|
|
||||||
static bool isACPI = AppConfig.IsTUF() || AppConfig.IsVivoZenbook() || AppConfig.IsProArt();
|
static bool isACPI = AppConfig.IsTUF() || AppConfig.IsVivoZenPro();
|
||||||
static bool isStrix = AppConfig.IsAdvancedRGB() && !AppConfig.IsNoDirectRGB();
|
static bool isStrix = AppConfig.IsAdvancedRGB() && !AppConfig.IsNoDirectRGB();
|
||||||
|
|
||||||
static bool isStrix4Zone = AppConfig.Is4ZoneRGB();
|
static bool isStrix4Zone = AppConfig.Is4ZoneRGB();
|
||||||
@@ -254,7 +254,7 @@ namespace GHelper.USB
|
|||||||
msg[6] = mono ? (byte)0 : color.B; // B
|
msg[6] = mono ? (byte)0 : color.B; // B
|
||||||
msg[7] = (byte)speed; // aura.speed as u8;
|
msg[7] = (byte)speed; // aura.speed as u8;
|
||||||
msg[8] = 0x00; // aura.direction as u8;
|
msg[8] = 0x00; // aura.direction as u8;
|
||||||
msg[9] = (color.R == 0 && color.G == 0 && color.B == 0) ? (byte)0xFF : (byte)0x00; // random color flag
|
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[10] = color2.R; // R
|
||||||
msg[11] = mono ? (byte)0 : color2.G; // G
|
msg[11] = mono ? (byte)0 : color2.G; // G
|
||||||
msg[12] = mono ? (byte)0 : color2.B; // B
|
msg[12] = mono ? (byte)0 : color2.B; // B
|
||||||
@@ -268,6 +268,16 @@ namespace GHelper.USB
|
|||||||
Encoding.ASCII.GetBytes("]ASUS Tech.Inc."),
|
Encoding.ASCII.GetBytes("]ASUS Tech.Inc."),
|
||||||
new byte[] { AsusHid.AURA_ID, 0x05, 0x20, 0x31, 0, 0x1A },
|
new byte[] { AsusHid.AURA_ID, 0x05, 0x20, 0x31, 0, 0x1A },
|
||||||
}, "Init");
|
}, "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");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
9
app/Updates.Designer.cs
generated
9
app/Updates.Designer.cs
generated
@@ -78,7 +78,7 @@ namespace GHelper
|
|||||||
// labelBIOS
|
// labelBIOS
|
||||||
//
|
//
|
||||||
labelBIOS.AutoSize = true;
|
labelBIOS.AutoSize = true;
|
||||||
labelBIOS.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
labelBIOS.Font = new Font("Segoe UI", 9F, FontStyle.Bold);
|
||||||
labelBIOS.Location = new Point(68, 23);
|
labelBIOS.Location = new Point(68, 23);
|
||||||
labelBIOS.Margin = new Padding(4, 0, 4, 0);
|
labelBIOS.Margin = new Padding(4, 0, 4, 0);
|
||||||
labelBIOS.Name = "labelBIOS";
|
labelBIOS.Name = "labelBIOS";
|
||||||
@@ -113,7 +113,7 @@ namespace GHelper
|
|||||||
// labelUpdates
|
// labelUpdates
|
||||||
//
|
//
|
||||||
labelUpdates.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
labelUpdates.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
||||||
labelUpdates.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
labelUpdates.Font = new Font("Segoe UI", 9F, FontStyle.Bold);
|
||||||
labelUpdates.Location = new Point(864, 19);
|
labelUpdates.Location = new Point(864, 19);
|
||||||
labelUpdates.Name = "labelUpdates";
|
labelUpdates.Name = "labelUpdates";
|
||||||
labelUpdates.Size = new Size(302, 32);
|
labelUpdates.Size = new Size(302, 32);
|
||||||
@@ -125,6 +125,7 @@ namespace GHelper
|
|||||||
buttonRefresh.Activated = false;
|
buttonRefresh.Activated = false;
|
||||||
buttonRefresh.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
buttonRefresh.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
||||||
buttonRefresh.BackColor = SystemColors.ControlLight;
|
buttonRefresh.BackColor = SystemColors.ControlLight;
|
||||||
|
buttonRefresh.Badge = false;
|
||||||
buttonRefresh.BorderColor = Color.Transparent;
|
buttonRefresh.BorderColor = Color.Transparent;
|
||||||
buttonRefresh.BorderRadius = 5;
|
buttonRefresh.BorderRadius = 5;
|
||||||
buttonRefresh.FlatAppearance.BorderSize = 0;
|
buttonRefresh.FlatAppearance.BorderSize = 0;
|
||||||
@@ -192,7 +193,7 @@ namespace GHelper
|
|||||||
// labelDrivers
|
// labelDrivers
|
||||||
//
|
//
|
||||||
labelDrivers.AutoSize = true;
|
labelDrivers.AutoSize = true;
|
||||||
labelDrivers.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
labelDrivers.Font = new Font("Segoe UI", 9F, FontStyle.Bold);
|
||||||
labelDrivers.Location = new Point(68, 6);
|
labelDrivers.Location = new Point(68, 6);
|
||||||
labelDrivers.Margin = new Padding(4, 0, 4, 0);
|
labelDrivers.Margin = new Padding(4, 0, 4, 0);
|
||||||
labelDrivers.Name = "labelDrivers";
|
labelDrivers.Name = "labelDrivers";
|
||||||
@@ -280,7 +281,7 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
labelLegend.AutoSize = true;
|
labelLegend.AutoSize = true;
|
||||||
labelLegend.Dock = DockStyle.Top;
|
labelLegend.Dock = DockStyle.Top;
|
||||||
labelLegend.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
labelLegend.Font = new Font("Segoe UI", 9F, FontStyle.Bold);
|
||||||
labelLegend.Location = new Point(20, 10);
|
labelLegend.Location = new Point(20, 10);
|
||||||
labelLegend.Margin = new Padding(10);
|
labelLegend.Margin = new Padding(10);
|
||||||
labelLegend.Name = "labelLegend";
|
labelLegend.Name = "labelLegend";
|
||||||
|
|||||||
@@ -49,6 +49,11 @@ namespace GHelper
|
|||||||
labelBIOS.Text = "BIOS";
|
labelBIOS.Text = "BIOS";
|
||||||
labelDrivers.Text = Properties.Strings.DriverAndSoftware;
|
labelDrivers.Text = Properties.Strings.DriverAndSoftware;
|
||||||
|
|
||||||
|
labelLegend.Text = Properties.Strings.Legend;
|
||||||
|
labelLegendGray.Text = Properties.Strings.LegendGray;
|
||||||
|
labelLegendRed.Text = Properties.Strings.LegendRed;
|
||||||
|
labelLegendGreen.Text = Properties.Strings.LegendGreen;
|
||||||
|
|
||||||
SuspendLayout();
|
SuspendLayout();
|
||||||
|
|
||||||
tableBios.Visible = false;
|
tableBios.Visible = false;
|
||||||
|
|||||||
181
docs/README.ja-JP.md
Normal file
181
docs/README.ja-JP.md
Normal file
@@ -0,0 +1,181 @@
|
|||||||
|
# G-Helper - Asusノートパソコン用の軽量コントロールツール
|
||||||
|
[](https://u24.gov.ua/)
|
||||||
|
[](https://GitHub.com/seerge/g-helper/releases/)
|
||||||
|
[](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>
|
||||||
|
|
||||||
|
Asusノートパソコン用の軽量なArmoury Crate代替ツールで、余分な負荷や不要なサービスなしでほぼ同じ機能を提供します。
|
||||||
|
|
||||||
|
ROG Zephyrus G14、G15、G16、M16、Flow X13、Flow X16、Flow Z13、TUFシリーズ、StrixまたはScarシリーズ、ProArt、Vivobook、Zenbook、ROG Ally / Ally Xなど、すべての人気モデルで動作します!
|
||||||
|
|
||||||
|
# [: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-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)
|
||||||
|
- [セットアップと要件](https://github.com/seerge/g-helper/wiki/Requirements)
|
||||||
|
- [トラブルシューティング](https://github.com/seerge/g-helper/wiki/Troubleshooting)
|
||||||
|
- [パワーユーザー設定](https://github.com/seerge/g-helper/wiki/Power-user-settings)
|
||||||
|
|
||||||
|
|
||||||
|
[](https://github.com/seerge/g-helper/releases/latest/download/GHelper.zip)
|
||||||
|
|
||||||
|
## :loudspeaker: YouTubeレビューとガイド
|
||||||
|
| [](https://www.youtube.com/watch?v=hqe-PjuE-K8) | [](https://www.youtube.com/watch?v=6aVdwJKZSSc) |
|
||||||
|
| ----------------- | ---------------- |
|
||||||
|
| [Josh Cravey](https://www.youtube.com/watch?v=hqe-PjuE-K8) | [cbutters Tech](https://www.youtube.com/watch?v=6aVdwJKZSSc) |
|
||||||
|
|
||||||
|
## 📰 記事
|
||||||
|
1. https://www.digitaltrends.com/computing/g-helper-armoury-crate-alternative/
|
||||||
|
2. https://binaryfork.com/ghelper-armoury-crate-alternative-10216/
|
||||||
|
|
||||||
|
## :gift: 利点
|
||||||
|
|
||||||
|
1. シームレスで自動的なGPU切り替え
|
||||||
|
2. すべてのパフォーマンスモードを電力制限とファンカーブで完全にカスタマイズ可能
|
||||||
|
3. 軽量。システムに何もインストールしません。実行するための単一のexeファイルのみ
|
||||||
|
4. シンプルでクリーンなネイティブUIで、すべての設定に簡単にアクセス
|
||||||
|
5. FNロックとカスタムホットキー
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
### :zap: 機能
|
||||||
|
|
||||||
|
1. パフォーマンスモード: サイレント - バランス - ターボ (内蔵、デフォルトのファンカーブ付き)
|
||||||
|
2. GPUモード: エコ - スタンダード - アルティメット - オプティマイズド
|
||||||
|
3. ディスプレイのリフレッシュレート制御とディスプレイオーバードライブ (OD)
|
||||||
|
4. カスタムファンカーブエディタ、電力制限、ターボブースト選択
|
||||||
|
5. アニメマトリックスまたはスラッシュライティングの制御、アニメーションGIF、時計、オーディオビジュアライザー
|
||||||
|
6. バックライトのアニメーションモードとカラー
|
||||||
|
7. ホットキーの処理
|
||||||
|
8. CPUとGPUの温度、ファン速度、バッテリーステータスの監視
|
||||||
|
9. バッテリーの充電制限
|
||||||
|
10. NVidia GPUのオーバークロックとアンダーボルティング
|
||||||
|
11. XG Mobileの制御
|
||||||
|
12. AMD CPUのアンダーボルティング
|
||||||
|
13. BIOSとドライバの更新
|
||||||
|
14. Asusマウスの設定
|
||||||
|
15. ミニLEDのマルチゾーンスイッチ
|
||||||
|
16. フリッカーフリーディミングとビジュアルモード
|
||||||
|
|
||||||
|
### :gear: 自動化
|
||||||
|
- バッテリー使用時または電源接続時のパフォーマンスモードの切り替え
|
||||||
|
- オプティマイズドGPUモード - バッテリー使用時にdGPUを無効化し、電源接続時に有効化
|
||||||
|
- 自動ディスプレイリフレッシュレート (バッテリー使用時に60Hz、電源接続時に最大Hz)
|
||||||
|
- バッテリー使用時または電源接続時のキーボードバックライトのタイムアウト
|
||||||
|
|
||||||
|
### :rocket: パフォーマンスモード
|
||||||
|
|
||||||
|
<img align="right" width="300" src="https://github.com/seerge/g-helper/assets/5920850/3e119674-db8d-486b-aa65-2bf9b61f9aa6">
|
||||||
|
|
||||||
|
すべてのモードはBIOSに組み込まれており、デフォルトのファンカーブと電力制限が設定されています。これらはArmoury Crateと同じです。
|
||||||
|
|
||||||
|
各BIOSモードは対応するWindowsパワーモードとペアになっています。これを「ファン + 電源」設定で調整できます。
|
||||||
|
|
||||||
|
1. BIOSの「サイレント」 + Windowsの「最高の電力効率」パワーモード
|
||||||
|
2. BIOSの「バランス」 (AC時のパフォーマンス) + Windowsの「バランス」パワーモード
|
||||||
|
3. BIOSの「ターボ」 + Windowsの「最高のパフォーマンス」パワーモード
|
||||||
|
|
||||||
|
### :video_game: GPUモード
|
||||||
|
|
||||||
|
1. エコ: 低電力の統合GPUのみが有効、iGPUが内蔵ディスプレイを駆動
|
||||||
|
2. スタンダード (MS Hybrid): iGPUとdGPUが有効、iGPUが内蔵ディスプレイを駆動
|
||||||
|
3. アルティメット: iGPUとdGPUが有効、dGPUが内蔵ディスプレイを駆動 (2022年以降のモデルでサポート)
|
||||||
|
4. オプティマイズド: バッテリー使用時にdGPUを無効化 (エコ)し、電源接続時に有効化 (スタンダード)
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
### :mouse: Asusマウスとその他の周辺機器のサポート
|
||||||
|
|
||||||
|
[現在サポートされているモデル](https://github.com/seerge/g-helper/discussions/900)
|
||||||
|
- 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 Wireless
|
||||||
|
- ROG Keris II Ace
|
||||||
|
- ROG Strix Carry (P508)
|
||||||
|
- ROG Strix III Gladius III Aimpoint Wireless (P711)
|
||||||
|
- ROG Strix Impact III (P518)
|
||||||
|
- 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
|
||||||
|
|
||||||
|
[@IceStormNG](https://github.com/IceStormNG) 👑 の貢献と研究に大いに感謝します。
|
||||||
|
|
||||||
|
### ⌨️ キーバインディング
|
||||||
|
|
||||||
|
- ``Fn + F5 / Fn + Shift + F5`` - パフォーマンスモードを前方/後方に切り替え
|
||||||
|
- ``Ctrl + Shift + F5 / Ctrl + Shift + Alt + F5`` - パフォーマンスモードを前方/後方に切り替え
|
||||||
|
- ``Ctrl + Shift + F12`` - G-Helperウィンドウを開く
|
||||||
|
- ``Ctrl + M1 / M2`` - ディスプレイの明るさを下げる/上げる
|
||||||
|
- ``Shift + M1 / M2`` - バックライトの明るさを下げる/上げる
|
||||||
|
- ``Fn + C`` - Fnロック
|
||||||
|
- ``Fn + Ctrl + F7 / F8`` - フリッカーフリーディミングを下げる/上げる
|
||||||
|
- ``Fn + Shift + F7 / F8`` - マトリックス/スラッシュライティングの明るさを下げる/上げる
|
||||||
|
- ``Fn + Shift + F7 / F8`` - スクリーンパッドの明るさを下げる/上げる
|
||||||
|
- ``Ctrl + Shift + F20`` - マイクをミュート
|
||||||
|
- ``Ctrl + Shift + Alt + F13`` - ディスプレイのリフレッシュレートを切り替え
|
||||||
|
- ``Ctrl + Shift + Alt + F14`` - エコGPUモード
|
||||||
|
- ``Ctrl + Shift + Alt + F15`` - スタンダードGPUモード
|
||||||
|
- ``Ctrl + Shift + Alt + F16`` - サイレント
|
||||||
|
- ``Ctrl + Shift + Alt + F17`` - バランス
|
||||||
|
- ``Ctrl + Shift + Alt + F18`` - ターボ
|
||||||
|
- ``Ctrl + Shift + Alt + F19`` - カスタム1 (存在する場合)
|
||||||
|
- ``Ctrl + Shift + Alt + F20`` - カスタム2 (存在する場合)
|
||||||
|
- [カスタムキーバインディング/ホットキー](https://github.com/seerge/g-helper/wiki/Power-user-settings#custom-hotkey-actions)
|
||||||
|
|
||||||
|
### 🎮ROG Allyバインディング
|
||||||
|
- ``M + DPad Left / Right`` - ディスプレイの明るさ
|
||||||
|
- ``M + DPad Up`` - タッチキーボード
|
||||||
|
- ``M + DPad Down`` - デスクトップを表示
|
||||||
|
- ``M + Y`` - AMDオーバーレイを切り替え
|
||||||
|
- ``M + X`` - スクリーンショット
|
||||||
|
- ``M + Right Stick Click`` - コントローラーモード
|
||||||
|
|
||||||
|
------------------
|
||||||
|
|
||||||
|
### 🔖 重要な注意事項
|
||||||
|
|
||||||
|
G-Helperはオペレーティングシステム、ファームウェア、またはドライバではありません。ハードウェアをリアルタイムで「実行」することはありません。
|
||||||
|
|
||||||
|
これは、製造元が作成し、BIOSに保存されている事前定義された操作モードの1つを選択し、オプションでいくつかの設定を行うアプリケーションです。Armoury Crateと同じように機能します。Asus System Control Interface「ドライバ」を使用してすべての機能を実現します。
|
||||||
|
|
||||||
|
Armoury Crateと同じモード/設定を使用する場合、デバイスのパフォーマンスや動作に違いはありません。
|
||||||
|
|
||||||
|
G-Helperの役割は、リモコンがテレビに対して果たす役割に似ています。
|
||||||
|
|
||||||
|
### 使用ライブラリとプロジェクト
|
||||||
|
- [Linux Kernel](https://github.com/torvalds/linux/blob/master/include/linux/platform_data/x86/asus-wmi.h) - ASUS ACPI/WMIインターフェースの基本エンドポイント
|
||||||
|
- [NvAPIWrapper](https://github.com/falahati/NvAPIWrapper) - Nvidia APIへのアクセス
|
||||||
|
- [Starlight](https://github.com/vddCore/Starlight) - アニメマトリックス通信プロトコル
|
||||||
|
- [UXTU](https://github.com/JamesCJ60/Universal-x86-Tuning-Utility) - Ryzen System Management Unitを使用したアンダーボルティング
|
||||||
|
- [AsusCtl](https://gitlab.com/asus-linux/asusctl) - インスピレーションと逆アセンブル
|
||||||
|
|
||||||
|
### 免責事項
|
||||||
|
"Asus"、"ROG"、"TUF"、および"Armoury Crate"は、AsusTek Computer, Inc.の商標であり、AsusTek Computerに属する資産に対して一切の権利を主張しません。これらの資産は純粋に情報提供の目的で使用されています。
|
||||||
|
|
||||||
|
ソフトウェアは「現状のまま」提供され、明示または黙示のいかなる保証もなく、商品性、特定の目的への適合性、および非侵害の保証を含みますが、これに限定されません。このソフトウェアの誤用は、システムの不安定性や誤動作を引き起こす可能性があります。
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
# G-Helper - Lightweight control tool for Asus laptops
|
# G-Helper - Lightweight control tool for Asus laptops
|
||||||
[](https://u24.gov.ua/)
|
[](https://u24.gov.ua/)
|
||||||
[](https://GitHub.com/seerge/g-helper/releases/)
|
[](https://GitHub.com/seerge/g-helper/releases/)
|
||||||
[](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>
|
[](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> <sup>[日本語はこちら](https://github.com/seerge/g-helper/blob/main/docs/README.ja-JP.md)</sup>
|
||||||
|
|
||||||
Small and lightweight Armoury Crate alternative for Asus laptops offering almost same functionality without extra load and unnecessary services.
|
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)
|
# [: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**
|
**⭐ If you like the app - please spread the word about it online**
|
||||||
@@ -16,8 +16,8 @@ Works with all popular models, such as ROG Zephyrus G14, G15, G16, M16, Flow X13
|
|||||||
<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/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://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/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/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/bIY4hl8HbalH3G8bIJ"><img src="https://raw.githubusercontent.com/seerge/g-helper/main/docs/alipay.png" height="36" alt="Alipay"></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>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
[](https://GitHub.com/seerge/g-helper/releases/) [](https://GitHub.com/seerge/g-helper/stargazers/)
|
[](https://GitHub.com/seerge/g-helper/releases/) [](https://GitHub.com/seerge/g-helper/stargazers/)
|
||||||
|
|
||||||
|
|
||||||
语言: [English](https://github.com/seerge/g-helper#readme) | 中文
|
语言: [English](https://github.com/seerge/g-helper#readme) | 中文 | [日本語](https://github.com/seerge/g-helper/blob/main/docs/README.ja-JP.md)
|
||||||
|
|
||||||
适用于华硕(Asus)笔记本电脑的轻量级 Armoury Crate (奥创控制中心)替代品,在功能几乎相同的同时减少不必要的服务以减轻负载。
|
适用于华硕(Asus)笔记本电脑的轻量级 Armoury Crate (奥创控制中心)替代品,在功能几乎相同的同时减少不必要的服务以减轻负载。
|
||||||
G-helper兼容所有主流型号,例如 ROG 幻14、幻15、幻16、幻13、幻X、天选(飞行堡垒)系列、枪神/魔霸系列、创系列、灵耀系列、无畏系列、ROG Ally 等!
|
G-helper兼容所有主流型号,例如 ROG 幻14、幻15、幻16、幻13、幻X、天选(飞行堡垒)系列、枪神/魔霸系列、创系列、灵耀系列、无畏系列、ROG Ally 等!
|
||||||
|
|||||||
Reference in New Issue
Block a user