Compare commits

...

168 Commits

Author SHA1 Message Date
Serge
bd1a11a15a Update README.md 2023-07-23 14:46:02 +02:00
Serge
c2262c0f89 Moved Aura commands to parallel thread 2023-07-23 14:36:22 +02:00
Serge
88aaf94441 Merge branch 'main' of https://github.com/seerge/g-helper 2023-07-23 13:33:08 +02:00
Serge
20b99810cb Standard mode fix 2023-07-23 13:33:05 +02:00
Serge
7b327a4481 Merge pull request #856 from seerge/l10n_main
New Crowdin updates
2023-07-23 12:39:23 +02:00
Serge
6f40dadfcb New translations Strings.resx (Chinese Simplified) 2023-07-23 09:59:11 +02:00
Serge
a004924a42 Merge 2023-07-22 19:23:36 +02:00
Serge
ef442da885 Merge 2023-07-22 19:23:29 +02:00
Serge
eab2ef695d Hide Unsupported elements in Extra 2023-07-22 19:20:44 +02:00
Serge
0291920a55 Merge pull request #844 from seerge/l10n_main
New Crowdin updates
2023-07-22 11:39:35 +02:00
Serge
633c841d7f New translations Strings.resx (Chinese Traditional) 2023-07-22 01:48:49 +02:00
Serge
f2f4df5693 New translations Strings.resx (Spanish) 2023-07-21 20:47:51 +02:00
Serge
4592d729d3 New translations Strings.resx (Italian) 2023-07-21 18:26:01 +02:00
Serge
8cedcb7b5d Merge pull request #841 from seerge/l10n_main
New Crowdin updates
2023-07-21 18:05:15 +02:00
Serge
37d133bd7c Merge pull request #842 from IceStormNG/clamshell-mode-fixes
Clamshell mode fixes
2023-07-21 15:50:51 +02:00
IceStormNG
3f87730375 Fixed a typo 2023-07-21 15:45:42 +02:00
IceStormNG
d99c3a8301 Assign handler via code so the settings assignment does not trigger the handler 2023-07-21 15:42:40 +02:00
IceStormNG
fbc792cb1d Only instanciate if needed. 2023-07-21 15:40:24 +02:00
IceStormNG
5498bb9398 This name makes more sense as it only checks for requirements 2023-07-21 15:39:23 +02:00
IceStormNG
25f842df9d Only touch power settings if the user checks the box. But always disable the changes back to the defaults when the user unchecks it. 2023-07-21 15:38:26 +02:00
Serge
987ee1c000 New translations Strings.resx (Polish) 2023-07-21 14:46:05 +02:00
Serge
afe760f58d Merge pull request #840 from seerge/l10n_main
New Crowdin updates
2023-07-21 13:00:18 +02:00
Serge
b07f0a09fa New translations Strings.resx (Chinese Simplified) 2023-07-21 12:59:52 +02:00
Serge
2b26791dc0 New translations Strings.resx (Ukrainian) 2023-07-21 12:59:51 +02:00
Serge
8db6939b30 Update README.md 2023-07-21 12:47:21 +02:00
Serge
29bcb810b4 Update release.yml 2023-07-21 11:40:51 +02:00
Serge
62837e0ecc Merge branch 'main' of https://github.com/seerge/g-helper 2023-07-21 11:33:24 +02:00
Serge
e1fb6d27a5 UI Tweaks 2023-07-21 11:33:22 +02:00
Serge
b49ab894ac Merge pull request #837 from seerge/l10n_main
New Crowdin updates
2023-07-21 01:04:45 +02:00
Serge
1166a51e4a New translations Strings.resx (German) 2023-07-20 23:38:07 +02:00
Serge
0e26838eb3 New translations Strings.resx (Spanish) 2023-07-20 22:22:12 +02:00
Serge
c0585156e8 New translations Strings.resx (Lithuanian) 2023-07-20 22:22:11 +02:00
Serge
a358632f41 Battery Health UI 2023-07-20 20:01:03 +02:00
Serge
55a3677a37 Version Bump 2023-07-20 19:36:59 +02:00
Serge
1e89039b02 Battery Health UI changes 2023-07-20 18:08:11 +02:00
Serge
2c0fdb7773 Merge pull request #836 from seerge/l10n_main
New Crowdin updates
2023-07-20 17:09:00 +02:00
Serge
2aedbc7a24 New translations Strings.resx (Vietnamese) 2023-07-20 17:07:27 +02:00
Serge
ea22d910ad New translations Strings.resx (Chinese Traditional) 2023-07-20 17:07:26 +02:00
Serge
90cec227c5 New translations Strings.resx (Chinese Simplified) 2023-07-20 17:07:25 +02:00
Serge
d1f6cb11ee New translations Strings.resx (Ukrainian) 2023-07-20 17:07:24 +02:00
Serge
836ebbeebf New translations Strings.resx (Turkish) 2023-07-20 17:07:23 +02:00
Serge
c13b35ca1e New translations Strings.resx (Portuguese) 2023-07-20 17:07:22 +02:00
Serge
bab99b0006 New translations Strings.resx (Polish) 2023-07-20 17:07:21 +02:00
Serge
cc8c87387a New translations Strings.resx (Korean) 2023-07-20 17:07:19 +02:00
Serge
0bc19a3eaa New translations Strings.resx (Italian) 2023-07-20 17:07:18 +02:00
Serge
716ee5ccf3 New translations Strings.resx (Hungarian) 2023-07-20 17:07:17 +02:00
Serge
8c03980dc9 New translations Strings.resx (German) 2023-07-20 17:07:16 +02:00
Serge
7d5056ac62 New translations Strings.resx (Spanish) 2023-07-20 17:07:15 +02:00
Serge
d2cb5173be New translations Strings.resx (French) 2023-07-20 17:07:14 +02:00
Serge
80d5117345 New translations Strings.resx (Romanian) 2023-07-20 17:07:13 +02:00
Serge
a516ee443d New translations Strings.resx (Lithuanian) 2023-07-20 17:07:13 +02:00
Serge
977208e883 Merge pull request #835 from IceStormNG/battery-health
Added battery health reading to below the battery charge limiter bar.
2023-07-20 16:43:46 +02:00
IceStormNG
fc53159a51 Battery health is now a tooltip similarly to the other tooltips. Is only refreshed once every 15 Minutes at most, and only if the user hovers over the battery panel. 2023-07-20 16:32:42 +02:00
Serge
8b29a89efa Merge pull request #833 from seerge/l10n_main
New Crowdin updates
2023-07-20 15:30:21 +02:00
IceStormNG
584bd155d6 Added battery health reading to below the battery charge limiter bar. 2023-07-20 14:52:17 +02:00
Serge
c81bd65bd5 New translations Strings.resx (German) 2023-07-20 14:48:23 +02:00
Serge
a4b44565ea Fan Scale multiplier 2023-07-20 13:25:44 +02:00
Serge
ca13de2e43 Merge pull request #828 from seerge/l10n_main
New Crowdin updates
2023-07-20 11:52:04 +02:00
Serge
9dbcab6b4e New translations Strings.resx (Spanish) 2023-07-20 10:15:25 +02:00
Serge
76df61092d New translations Strings.resx (French) 2023-07-20 01:38:52 +02:00
Serge
39039b4710 New translations Strings.resx (French) 2023-07-19 23:51:13 +02:00
Serge
acb3ba7589 Merge branch 'main' of https://github.com/seerge/g-helper 2023-07-19 23:43:28 +02:00
Serge
a97ab6dbc8 UI Tweaks 2023-07-19 23:43:26 +02:00
Serge
6be0222f31 Merge pull request #820 from seerge/l10n_main
New Crowdin updates
2023-07-19 22:09:03 +02:00
Serge
1a99771762 Merge pull request #826 from IceStormNG/clamshell-misdetection-nvidia
Prevent the Nvidia Advanced Optimimus "fake" display to be considered an external display.
2023-07-19 20:45:31 +02:00
IceStormNG
283814afa6 Prevent the Nvidia Advanced Optimimus "fake" display to be considered an external display. 2023-07-19 20:38:29 +02:00
Serge
3d81a889a8 New translations Strings.resx (Chinese Traditional) 2023-07-19 17:38:30 +02:00
Serge
a52724fe09 New translations Strings.resx (Ukrainian) 2023-07-19 17:38:29 +02:00
Serge
66839b4836 New translations Strings.resx (Lithuanian) 2023-07-19 17:38:28 +02:00
Serge
526baf41ea New translations Strings.resx (Ukrainian) 2023-07-19 16:20:32 +02:00
Serge
a90bb19f72 New translations Strings.resx (Polish) 2023-07-19 16:20:31 +02:00
Serge
3de3cb0f29 New translations Strings.resx (Italian) 2023-07-19 16:20:30 +02:00
Serge
b607561b14 New translations Strings.resx (German) 2023-07-19 16:20:29 +02:00
Serge
3045151789 New translations Strings.resx (Spanish) 2023-07-19 16:20:28 +02:00
Serge
e7a4537098 Cleanup 2023-07-19 16:17:05 +02:00
Serge
3b6f3488ea Merge pull request #818 from IceStormNG/fix-color-codes
Fixed: Keyboard color cannot be set to white anymore
2023-07-19 16:16:47 +02:00
Serge
19dad2a257 Merge pull request #819 from seerge/l10n_main
New Crowdin updates
2023-07-19 16:14:48 +02:00
Serge
d100b804c3 New translations Strings.resx (German) 2023-07-19 15:07:21 +02:00
Serge
b9aa3ab710 New translations Strings.resx (Spanish) 2023-07-19 15:07:20 +02:00
Serge
c7c25c988f New translations Strings.resx (Lithuanian) 2023-07-19 15:07:19 +02:00
IceStormNG
460e586d67 -1 is a valid color for ToARGB(). In this case it is pure white. Which is not usable anymore with those checks in place. 2023-07-19 14:36:35 +02:00
Serge
6ca5abe547 Merge pull request #816 from seerge/l10n_main
New Crowdin updates
2023-07-19 13:39:30 +02:00
Serge
cbc618c539 New translations Strings.resx (Vietnamese) 2023-07-19 13:18:58 +02:00
Serge
c8f3c99a08 New translations Strings.resx (Chinese Traditional) 2023-07-19 13:18:57 +02:00
Serge
9716bea53b New translations Strings.resx (Chinese Simplified) 2023-07-19 13:18:56 +02:00
Serge
46fec97a0a New translations Strings.resx (Ukrainian) 2023-07-19 13:18:56 +02:00
Serge
06d0ccc32f New translations Strings.resx (Turkish) 2023-07-19 13:18:55 +02:00
Serge
212598b2bc New translations Strings.resx (Portuguese) 2023-07-19 13:18:54 +02:00
Serge
bde2f7ff42 New translations Strings.resx (Polish) 2023-07-19 13:18:53 +02:00
Serge
d794efa4da New translations Strings.resx (Korean) 2023-07-19 13:18:52 +02:00
Serge
a8b2e5f75b New translations Strings.resx (Italian) 2023-07-19 13:18:51 +02:00
Serge
5b8d7a58b3 New translations Strings.resx (Hungarian) 2023-07-19 13:18:50 +02:00
Serge
fba5ad0819 New translations Strings.resx (German) 2023-07-19 13:18:49 +02:00
Serge
0aa5826cf6 New translations Strings.resx (Spanish) 2023-07-19 13:18:48 +02:00
Serge
c6d4ad32aa New translations Strings.resx (French) 2023-07-19 13:18:48 +02:00
Serge
e225c5fdf0 New translations Strings.resx (Romanian) 2023-07-19 13:18:47 +02:00
Serge
328ffcd3ae New translations Strings.resx (Lithuanian) 2023-07-19 13:18:46 +02:00
Serge
bb8d10986b Merge pull request #817 from IceStormNG/clamshell-detection
Automatic Clamshell Mode Toggle
2023-07-19 12:22:22 +02:00
Carsten Braun
595336288a Added automatic toggle for "Lid Action" when external display and power is connected to keep the laptop awake when lid is closed (known as Clamshell Mode). 2023-07-19 11:54:51 +02:00
Serge
3598f5dec8 Improved stop/disable service command 2023-07-19 11:38:06 +02:00
Serge
12da3288b3 New translations Strings.resx (Lithuanian) 2023-07-19 11:33:35 +02:00
Serge
2b8d82b58f AsusCert service fix 2023-07-19 00:31:32 +02:00
Serge
15ae5179f0 Merge pull request #813 from jadonclegg/brightnessControls
Added hotkeys for brightness control.
2023-07-19 00:19:23 +02:00
Jadon Clegg
a84e7c89e4 Merge branch 'seerge:main' into brightnessControls 2023-07-18 15:46:44 -06:00
jadon
9e91d76c97 Removed extra log call 2023-07-18 15:42:00 -06:00
jadon
97e1cd3372 Added hotkeys for using ctrl / shift + vol up / down to control screen / keyboard brightness. 2023-07-18 15:37:25 -06:00
Serge
97cb08a888 Merge branch 'main' of https://github.com/seerge/g-helper 2023-07-18 22:26:17 +02:00
Serge
21048b6aa1 Auto Init Aura 2023-07-18 22:26:15 +02:00
Serge
7d949786ba Update README.md 2023-07-18 22:25:54 +02:00
Serge
55664a7b95 Update README.md 2023-07-18 19:42:25 +02:00
Serge
74ff754e58 Update README.md 2023-07-18 19:37:56 +02:00
Serge
840c07b366 GA402X power limits 2023-07-18 19:36:49 +02:00
Serge
74e67f7a01 Added GA402XV to the list of devices that require fan curve for PPTs 2023-07-18 16:56:54 +02:00
Serge
9f5521bc52 Merge branch 'main' of https://github.com/seerge/g-helper 2023-07-18 15:47:55 +02:00
Serge
1b8de79667 Re-connect to GPU in fans+power 2023-07-18 15:47:53 +02:00
Serge
93936fb32a Merge pull request #806 from seerge/l10n_main
New Crowdin updates
2023-07-18 14:10:25 +02:00
Serge
7e1aef10d7 New translations Strings.resx (Chinese Traditional) 2023-07-18 13:33:05 +02:00
Serge
48ef9172f1 New translations Strings.resx (Chinese Simplified) 2023-07-18 13:33:04 +02:00
Serge
fdd5c3ccd6 New translations Strings.resx (Ukrainian) 2023-07-18 13:33:03 +02:00
Serge
3da3c163d3 Merge pull request #804 from seerge/l10n_main
New Crowdin updates
2023-07-18 12:59:03 +02:00
Serge
001ffbaa90 New translations Strings.resx (Romanian) 2023-07-18 12:35:32 +02:00
Serge
53a592a033 New translations Strings.resx (Hungarian) 2023-07-18 12:35:31 +02:00
Serge
1b2148da25 New translations Strings.resx (Vietnamese) 2023-07-18 12:35:30 +02:00
Serge
da4c08e09e New translations Strings.resx (Chinese Traditional) 2023-07-18 12:35:29 +02:00
Serge
ed86c588de New translations Strings.resx (Chinese Simplified) 2023-07-18 12:35:28 +02:00
Serge
6f310b01a1 New translations Strings.resx (Ukrainian) 2023-07-18 12:35:27 +02:00
Serge
94bf868271 New translations Strings.resx (Turkish) 2023-07-18 12:35:26 +02:00
Serge
2e7201fb37 New translations Strings.resx (Portuguese) 2023-07-18 12:35:25 +02:00
Serge
7172f5440a New translations Strings.resx (Polish) 2023-07-18 12:35:24 +02:00
Serge
f125493e96 New translations Strings.resx (Korean) 2023-07-18 12:35:23 +02:00
Serge
375a37f7d9 New translations Strings.resx (Italian) 2023-07-18 12:35:22 +02:00
Serge
8be1c62e32 New translations Strings.resx (German) 2023-07-18 12:35:21 +02:00
Serge
3eb0546874 New translations Strings.resx (Spanish) 2023-07-18 12:35:20 +02:00
Serge
78d02b9ed8 New translations Strings.resx (French) 2023-07-18 12:35:19 +02:00
Serge
b46e932a0d Merge branch 'main' of https://github.com/seerge/g-helper 2023-07-18 12:33:32 +02:00
Serge
3ce473f78d Added battery charge readings (next to discharge) 2023-07-18 12:33:29 +02:00
Serge
9459778463 New translations Strings.resx (Korean) 2023-07-18 11:59:38 +02:00
Serge
19603d107f Update README.md 2023-07-17 19:24:08 +02:00
Serge
91a507b98d Merge pull request #797 from seerge/l10n_main
New Crowdin updates
2023-07-17 19:13:54 +02:00
Serge
231b90a295 New translations Strings.resx (Chinese Simplified) 2023-07-17 05:06:33 +02:00
Serge
0bd766302b Merge pull request #793 from seerge/l10n_main
New Crowdin updates
2023-07-16 23:44:22 +02:00
Serge
f9f1089d0e New translations Strings.resx (Chinese Traditional) 2023-07-16 18:52:26 +02:00
Serge
b9d7110935 New translations Strings.resx (Polish) 2023-07-16 18:52:26 +02:00
Serge
61716e7336 Merge pull request #792 from seerge/l10n_main
New Crowdin updates
2023-07-16 17:09:36 +02:00
Serge
fecf1cfece Hide UV warning 2023-07-16 17:08:29 +02:00
Serge
a31303624a Removed Undervolting sliders for not supported models 2023-07-16 17:04:15 +02:00
Serge
721aeb7e6a New translations Strings.resx (Romanian) 2023-07-16 14:57:41 +02:00
Serge
b0f2f018eb New translations Strings.resx (Hungarian) 2023-07-16 14:57:40 +02:00
Serge
aed3e3fe32 New translations Strings.resx (Vietnamese) 2023-07-16 14:57:39 +02:00
Serge
1e2e1ddcfb New translations Strings.resx (Chinese Traditional) 2023-07-16 14:57:38 +02:00
Serge
fa33c7f514 New translations Strings.resx (Chinese Simplified) 2023-07-16 14:57:38 +02:00
Serge
13248d18bf New translations Strings.resx (Ukrainian) 2023-07-16 14:57:37 +02:00
Serge
545f584d0d New translations Strings.resx (Turkish) 2023-07-16 14:57:36 +02:00
Serge
86af2535d2 New translations Strings.resx (Portuguese) 2023-07-16 14:57:35 +02:00
Serge
c172654044 New translations Strings.resx (Polish) 2023-07-16 14:57:34 +02:00
Serge
6be351aba3 New translations Strings.resx (Korean) 2023-07-16 14:57:33 +02:00
Serge
443a8a34d4 New translations Strings.resx (Italian) 2023-07-16 14:57:32 +02:00
Serge
ebc63e8b5f New translations Strings.resx (German) 2023-07-16 14:57:31 +02:00
Serge
9638b1468a New translations Strings.resx (Spanish) 2023-07-16 14:57:30 +02:00
Serge
51b1f0ced5 New translations Strings.resx (French) 2023-07-16 14:57:29 +02:00
Serge
e593fa3a76 ScreenPad brightness control 2023-07-16 14:48:21 +02:00
Serge
f419cb8eed Merge branch 'main' of https://github.com/seerge/g-helper 2023-07-15 20:13:02 +02:00
Serge
0ecca82652 Internal screen detection 2023-07-15 20:13:00 +02:00
Serge
5cf10a4aab Merge pull request #784 from seerge/l10n_main
New Crowdin updates
2023-07-15 13:13:41 +02:00
Serge
152a4e04c5 Brightness hotkeys fix 2023-07-15 13:11:38 +02:00
Serge
39d9f9b465 New translations Strings.resx (Chinese Simplified) 2023-07-15 04:20:27 +02:00
Serge
4167096617 New translations Strings.resx (Polish) 2023-07-15 01:37:10 +02:00
Serge
4d8c2b5f6a New translations Strings.resx (Polish) 2023-07-15 00:20:17 +02:00
44 changed files with 1718 additions and 405 deletions

View File

@@ -20,7 +20,7 @@ jobs:
- name: Publish - name: Publish
run: | run: |
dotnet publish app/GHelper.sln --configuration Release --runtime win-x64 -p:PublishSingleFile=true --no-self-contained dotnet publish app/GHelper.sln --configuration Release --runtime win-x64 -p:PublishSingleFile=true --no-self-contained
powershell Compress-Archive app/bin/x64/Release/net7.0-windows8.0/win-x64/publish/* GHelper.zip powershell Compress-Archive app/bin/x64/Release/net7.0-windows/win-x64/publish/* GHelper.zip
- name: Upload - name: Upload
env: env:
GH_TOKEN: ${{ github.token }} GH_TOKEN: ${{ github.token }}

View File

@@ -92,6 +92,9 @@ public class AsusACPI
public const int TabletState = 0x00060077; public const int TabletState = 0x00060077;
public const int FnLock = 0x00100023; public const int FnLock = 0x00100023;
public const int ScreenPadToggle = 0x00050031;
public const int ScreenPadBrightness = 0x00050032;
public const int Tablet_Notebook = 0; public const int Tablet_Notebook = 0;
public const int Tablet_Tablet = 1; public const int Tablet_Tablet = 1;
public const int Tablet_Tent = 2; public const int Tablet_Tent = 2;
@@ -326,9 +329,13 @@ public class AsusACPI
if (curve.All(singleByte => singleByte == 0)) return -1; if (curve.All(singleByte => singleByte == 0)) return -1;
int result; int result;
int fanScale = AppConfig.Get("fan_scale", 100);
for (int i = 8; i < curve.Length; i++) if (fanScale != 100 && device == AsusFan.CPU) Logger.WriteLine("Custom fan scale: " + fanScale);
curve[i] = Math.Max((byte)0, Math.Min((byte)99, curve[i])); // it seems to be a bug, when some old model's bios can go nuts if fan is set to 100%
// it seems to be a bug, when some old model's bios can go nuts if fan is set to 100%
for (int i = 8; i < curve.Length; i++) curve[i] = (byte)(Math.Max((byte)0, Math.Min((byte)99, curve[i])) * fanScale / 100);
switch (device) switch (device)
{ {

View File

@@ -256,13 +256,13 @@ namespace GHelper
public static void ApplyBrightness(int brightness, string log = "Backlight") public static void ApplyBrightness(int brightness, string log = "Backlight")
{ {
if (AppConfig.ContainsModel("TUF"))
Program.acpi.TUFKeyboardBrightness(brightness);
Task.Run(async () => Task.Run(async () =>
{ {
if (AppConfig.ContainsModel("TUF"))
Program.acpi.TUFKeyboardBrightness(brightness);
byte[] msg = { AURA_HID_ID, 0xba, 0xc5, 0xc4, (byte)brightness }; byte[] msg = { AURA_HID_ID, 0xba, 0xc5, 0xc4, (byte)brightness };
byte[] msgBackup = { INPUT_HID_ID, 0xba, 0xc5, 0xc4, (byte)brightness }; byte[] msgBackup = { INPUT_HID_ID, 0xba, 0xc5, 0xc4, (byte)brightness };
@@ -311,55 +311,60 @@ namespace GHelper
public static void ApplyAuraPower() public static void ApplyAuraPower()
{ {
List<AuraDev19b6> flags = new(); Task.Run(async () =>
// Keyboard
if (AppConfig.IsNotFalse("keyboard_awake")) flags.Add(AuraDev19b6.AwakeKeyb);
if (AppConfig.IsNotFalse("keyboard_boot")) flags.Add(AuraDev19b6.BootKeyb);
if (AppConfig.IsNotFalse("keyboard_sleep")) flags.Add(AuraDev19b6.SleepKeyb);
if (AppConfig.IsNotFalse("keyboard_shutdown")) flags.Add(AuraDev19b6.ShutdownKeyb);
// Lightbar
if (AppConfig.IsNotFalse("keyboard_awake_bar")) flags.Add(AuraDev19b6.AwakeBar);
if (AppConfig.IsNotFalse("keyboard_boot_bar")) flags.Add(AuraDev19b6.BootBar);
if (AppConfig.IsNotFalse("keyboard_sleep_bar")) flags.Add(AuraDev19b6.SleepBar);
if (AppConfig.IsNotFalse("keyboard_shutdown_bar")) flags.Add(AuraDev19b6.ShutdownBar);
// Lid
if (AppConfig.IsNotFalse("keyboard_awake_lid")) flags.Add(AuraDev19b6.AwakeLid);
if (AppConfig.IsNotFalse("keyboard_boot_lid")) flags.Add(AuraDev19b6.BootLid);
if (AppConfig.IsNotFalse("keyboard_sleep_lid")) flags.Add(AuraDev19b6.SleepLid);
if (AppConfig.IsNotFalse("keyboard_shutdown_lid")) flags.Add(AuraDev19b6.ShutdownLid);
// Logo
if (AppConfig.IsNotFalse("keyboard_awake_logo")) flags.Add(AuraDev19b6.AwakeLogo);
if (AppConfig.IsNotFalse("keyboard_boot_logo")) flags.Add(AuraDev19b6.BootLogo);
if (AppConfig.IsNotFalse("keyboard_sleep_logo")) flags.Add(AuraDev19b6.SleepLogo);
if (AppConfig.IsNotFalse("keyboard_shutdown_logo")) flags.Add(AuraDev19b6.ShutdownLogo);
byte[] msg = AuraDev19b6Extensions.ToBytes(flags.ToArray());
var devices = GetHidDevices(deviceIds);
foreach (HidDevice device in devices)
{ {
device.OpenDevice();
if (device.ReadFeatureData(out byte[] data, AURA_HID_ID))
{
device.WriteFeatureData(msg);
Logger.WriteLine("USB-KB " + device.Attributes.ProductHexId + ":" + BitConverter.ToString(msg));
}
device.CloseDevice();
}
if (AppConfig.ContainsModel("TUF")) List<AuraDev19b6> flags = new();
Program.acpi.TUFKeyboardPower(
flags.Contains(AuraDev19b6.AwakeKeyb), // Keyboard
flags.Contains(AuraDev19b6.BootKeyb), if (AppConfig.IsNotFalse("keyboard_awake")) flags.Add(AuraDev19b6.AwakeKeyb);
flags.Contains(AuraDev19b6.SleepKeyb), if (AppConfig.IsNotFalse("keyboard_boot")) flags.Add(AuraDev19b6.BootKeyb);
flags.Contains(AuraDev19b6.ShutdownKeyb)); if (AppConfig.IsNotFalse("keyboard_sleep")) flags.Add(AuraDev19b6.SleepKeyb);
if (AppConfig.IsNotFalse("keyboard_shutdown")) flags.Add(AuraDev19b6.ShutdownKeyb);
// Lightbar
if (AppConfig.IsNotFalse("keyboard_awake_bar")) flags.Add(AuraDev19b6.AwakeBar);
if (AppConfig.IsNotFalse("keyboard_boot_bar")) flags.Add(AuraDev19b6.BootBar);
if (AppConfig.IsNotFalse("keyboard_sleep_bar")) flags.Add(AuraDev19b6.SleepBar);
if (AppConfig.IsNotFalse("keyboard_shutdown_bar")) flags.Add(AuraDev19b6.ShutdownBar);
// Lid
if (AppConfig.IsNotFalse("keyboard_awake_lid")) flags.Add(AuraDev19b6.AwakeLid);
if (AppConfig.IsNotFalse("keyboard_boot_lid")) flags.Add(AuraDev19b6.BootLid);
if (AppConfig.IsNotFalse("keyboard_sleep_lid")) flags.Add(AuraDev19b6.SleepLid);
if (AppConfig.IsNotFalse("keyboard_shutdown_lid")) flags.Add(AuraDev19b6.ShutdownLid);
// Logo
if (AppConfig.IsNotFalse("keyboard_awake_logo")) flags.Add(AuraDev19b6.AwakeLogo);
if (AppConfig.IsNotFalse("keyboard_boot_logo")) flags.Add(AuraDev19b6.BootLogo);
if (AppConfig.IsNotFalse("keyboard_sleep_logo")) flags.Add(AuraDev19b6.SleepLogo);
if (AppConfig.IsNotFalse("keyboard_shutdown_logo")) flags.Add(AuraDev19b6.ShutdownLogo);
byte[] msg = AuraDev19b6Extensions.ToBytes(flags.ToArray());
var devices = GetHidDevices(deviceIds);
foreach (HidDevice device in devices)
{
device.OpenDevice();
if (device.ReadFeatureData(out byte[] data, AURA_HID_ID))
{
device.WriteFeatureData(msg);
Logger.WriteLine("USB-KB " + device.Attributes.ProductHexId + ":" + BitConverter.ToString(msg));
}
device.CloseDevice();
}
if (AppConfig.ContainsModel("TUF"))
Program.acpi.TUFKeyboardPower(
flags.Contains(AuraDev19b6.AwakeKeyb),
flags.Contains(AuraDev19b6.BootKeyb),
flags.Contains(AuraDev19b6.SleepKeyb),
flags.Contains(AuraDev19b6.ShutdownKeyb));
});
} }
@@ -367,39 +372,48 @@ namespace GHelper
public static void ApplyAura() public static void ApplyAura()
{ {
int _speed; Task.Run(async () =>
switch (Speed)
{ {
case 1:
_speed = 0xeb;
break;
case 2:
_speed = 0xf5;
break;
default:
_speed = 0xe1;
break;
}
byte[] msg = AuraMessage(Mode, Color1, Color2, _speed); Mode = AppConfig.Get("aura_mode");
var devices = GetHidDevices(deviceIds); Speed = AppConfig.Get("aura_speed");
SetColor(AppConfig.Get("aura_color"));
SetColor2(AppConfig.Get("aura_color2"));
foreach (HidDevice device in devices) int _speed;
{
device.OpenDevice(); switch (Speed)
if (device.ReadFeatureData(out byte[] data, AURA_HID_ID))
{ {
device.WriteFeatureData(msg); case 1:
device.WriteFeatureData(MESSAGE_SET); _speed = 0xeb;
device.WriteFeatureData(MESSAGE_APPLY); break;
Logger.WriteLine("USB-KB " + device.Capabilities.FeatureReportByteLength + "|" + device.Capabilities.InputReportByteLength + device.Description + device.DevicePath + ":" + BitConverter.ToString(msg)); case 2:
_speed = 0xf5;
break;
default:
_speed = 0xe1;
break;
} }
device.CloseDevice();
}
if (AppConfig.ContainsModel("TUF")) byte[] msg = AuraMessage(Mode, Color1, Color2, _speed);
Program.acpi.TUFKeyboardRGB(Mode, Color1, _speed); var devices = GetHidDevices(deviceIds);
foreach (HidDevice device in devices)
{
device.OpenDevice();
if (device.ReadFeatureData(out byte[] data, AURA_HID_ID))
{
device.WriteFeatureData(msg);
device.WriteFeatureData(MESSAGE_SET);
device.WriteFeatureData(MESSAGE_APPLY);
Logger.WriteLine("USB-KB " + device.Capabilities.FeatureReportByteLength + "|" + device.Capabilities.InputReportByteLength + device.Description + device.DevicePath + ":" + BitConverter.ToString(msg));
}
device.CloseDevice();
}
if (AppConfig.ContainsModel("TUF"))
Program.acpi.TUFKeyboardRGB(Mode, Color1, _speed);
});
} }

View File

@@ -1,7 +1,4 @@
using GHelper.Helpers; namespace GHelper.Battery
using System.Diagnostics;
namespace GHelper.Battery
{ {
internal class BatteryControl internal class BatteryControl
{ {
@@ -13,18 +10,8 @@ namespace GHelper.Battery
if (limit < 40 || limit > 100) return; if (limit < 40 || limit > 100) return;
Program.settingsForm.VisualiseBattery(limit); Program.settingsForm.VisualiseBattery(limit);
Program.acpi.DeviceSet(AsusACPI.BatteryLimit, limit, "BatteryLimit"); Program.acpi.DeviceSet(AsusACPI.BatteryLimit, limit, "BatteryLimit");
try
{
OptimizationService.SetChargeLimit(limit);
}
catch (Exception ex)
{
Debug.WriteLine(ex);
}
AppConfig.Set("charge_limit", limit); AppConfig.Set("charge_limit", limit);
} }

View File

@@ -1,4 +1,4 @@
namespace GHelper.Helpers namespace GHelper.Display
{ {
using System; using System;
using System.Diagnostics; using System.Diagnostics;

View File

@@ -24,8 +24,8 @@ namespace GHelper.Display
public void SetScreen(int frequency = -1, int overdrive = -1, int miniled = -1) public void SetScreen(int frequency = -1, int overdrive = -1, int miniled = -1)
{ {
var laptopScreen = ScreenNative.FindLaptopScreen(true); var laptopScreen = ScreenNative.FindLaptopScreen(true);
if (laptopScreen is null) return; if (laptopScreen is null) return;
if (ScreenNative.GetRefreshRate(laptopScreen) < 0) return; if (ScreenNative.GetRefreshRate(laptopScreen) < 0) return;
@@ -66,7 +66,6 @@ namespace GHelper.Display
public void InitScreen() public void InitScreen()
{ {
var laptopScreen = ScreenNative.FindLaptopScreen(); var laptopScreen = ScreenNative.FindLaptopScreen();
int frequency = ScreenNative.GetRefreshRate(laptopScreen); int frequency = ScreenNative.GetRefreshRate(laptopScreen);

View File

@@ -118,14 +118,36 @@ namespace GHelper.Display
public const int ENUM_CURRENT_SETTINGS = -1; public const int ENUM_CURRENT_SETTINGS = -1;
public const string defaultDevice = @"\\.\DISPLAY1"; public const string defaultDevice = @"\\.\DISPLAY1";
static bool? _ultimate = null;
static bool isUltimate
{
get
{
if (_ultimate is null) _ultimate = (Program.acpi.DeviceGet(AsusACPI.GPUMux) == 0);
return (bool)_ultimate;
}
}
public static string? FindLaptopScreen(bool log = false) public static string? FindLaptopScreen(bool log = false)
{ {
string? laptopScreen = null; string? laptopScreen = null;
var screens = Screen.AllScreens;
/*
if (!isUltimate)
{
foreach (var screen in screens )
{
if (log) Logger.WriteLine(screen.DeviceName);
if (screen.DeviceName == defaultDevice) return defaultDevice;
}
}
*/
try try
{ {
var devices = GetAllDevices().ToArray(); var devices = GetAllDevices().ToArray();
var screens = Screen.AllScreens;
int count = 0, displayNum = -1; int count = 0, displayNum = -1;
@@ -147,11 +169,7 @@ namespace GHelper.Display
count = 0; count = 0;
foreach (var screen in screens) foreach (var screen in screens)
{ {
if (count == displayNum) if (count == displayNum) laptopScreen = screen.DeviceName;
{
laptopScreen = screen.DeviceName;
}
//if (log) Logger.WriteLine(screen.DeviceName);
count++; count++;
} }
@@ -220,7 +238,7 @@ namespace GHelper.Display
//Fallback scenario //Fallback scenario
if (iRet != 0) if (iRet != 0)
{ {
Thread.Sleep(300); Thread.Sleep(500);
iRet = ChangeDisplaySettingsEx(laptopScreen, ref dm, IntPtr.Zero, DisplaySettingsFlags.CDS_UPDATEREGISTRY, IntPtr.Zero); iRet = ChangeDisplaySettingsEx(laptopScreen, ref dm, IntPtr.Zero, DisplaySettingsFlags.CDS_UPDATEREGISTRY, IntPtr.Zero);
Logger.WriteLine("Screen = " + frequency.ToString() + "Hz : " + (iRet == 0 ? "OK" : iRet)); Logger.WriteLine("Screen = " + frequency.ToString() + "Hz : " + (iRet == 0 ? "OK" : iRet));
} }

83
app/Extra.Designer.cs generated
View File

@@ -101,6 +101,7 @@ namespace GHelper
pictureSettings = new PictureBox(); pictureSettings = new PictureBox();
labelSettings = new Label(); labelSettings = new Label();
panelSettings = new Panel(); panelSettings = new Panel();
checkAutoToggleClamshellMode = new CheckBox();
checkAutoApplyWindowsPowerMode = new CheckBox(); checkAutoApplyWindowsPowerMode = new CheckBox();
checkTopmost = new CheckBox(); checkTopmost = new CheckBox();
checkNoOverdrive = new CheckBox(); checkNoOverdrive = new CheckBox();
@@ -136,7 +137,7 @@ namespace GHelper
panelServices.Controls.Add(labelServices); panelServices.Controls.Add(labelServices);
panelServices.Controls.Add(buttonServices); panelServices.Controls.Add(buttonServices);
panelServices.Dock = DockStyle.Top; panelServices.Dock = DockStyle.Top;
panelServices.Location = new Point(15, 1196); panelServices.Location = new Point(15, 1216);
panelServices.Name = "panelServices"; panelServices.Name = "panelServices";
panelServices.Size = new Size(983, 75); panelServices.Size = new Size(983, 75);
panelServices.TabIndex = 3; panelServices.TabIndex = 3;
@@ -234,15 +235,17 @@ namespace GHelper
panelBindings.Location = new Point(15, 65); panelBindings.Location = new Point(15, 65);
panelBindings.Name = "panelBindings"; panelBindings.Name = "panelBindings";
panelBindings.Padding = new Padding(0, 0, 10, 5); panelBindings.Padding = new Padding(0, 0, 10, 5);
panelBindings.Size = new Size(983, 325); panelBindings.Size = new Size(983, 305);
panelBindings.TabIndex = 5; panelBindings.TabIndex = 5;
// //
// tableBindings // tableBindings
// //
tableBindings.AutoSize = true;
tableBindings.AutoSizeMode = AutoSizeMode.GrowAndShrink;
tableBindings.ColumnCount = 3; tableBindings.ColumnCount = 3;
tableBindings.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 15.4649944F)); tableBindings.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 15.45389F));
tableBindings.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 40.97453F)); tableBindings.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 40.94511F));
tableBindings.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 43.6323357F)); tableBindings.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 43.6010056F));
tableBindings.Controls.Add(label1, 0, 5); tableBindings.Controls.Add(label1, 0, 5);
tableBindings.Controls.Add(textBox1, 2, 1); tableBindings.Controls.Add(textBox1, 2, 1);
tableBindings.Controls.Add(textM1, 2, 0); tableBindings.Controls.Add(textM1, 2, 0);
@@ -267,19 +270,19 @@ namespace GHelper
tableBindings.Name = "tableBindings"; tableBindings.Name = "tableBindings";
tableBindings.Padding = new Padding(16, 12, 0, 12); tableBindings.Padding = new Padding(16, 12, 0, 12);
tableBindings.RowCount = 6; tableBindings.RowCount = 6;
tableBindings.RowStyles.Add(new RowStyle(SizeType.Absolute, 51F)); tableBindings.RowStyles.Add(new RowStyle());
tableBindings.RowStyles.Add(new RowStyle(SizeType.Absolute, 51F)); tableBindings.RowStyles.Add(new RowStyle());
tableBindings.RowStyles.Add(new RowStyle(SizeType.Absolute, 51F)); tableBindings.RowStyles.Add(new RowStyle());
tableBindings.RowStyles.Add(new RowStyle(SizeType.Absolute, 51F)); tableBindings.RowStyles.Add(new RowStyle());
tableBindings.RowStyles.Add(new RowStyle(SizeType.Absolute, 49F)); tableBindings.RowStyles.Add(new RowStyle());
tableBindings.RowStyles.Add(new RowStyle(SizeType.Absolute, 21F)); tableBindings.RowStyles.Add(new RowStyle());
tableBindings.Size = new Size(973, 320); tableBindings.Size = new Size(973, 300);
tableBindings.TabIndex = 12; tableBindings.TabIndex = 12;
// //
// label1 // label1
// //
label1.AutoSize = true; label1.AutoSize = true;
label1.Location = new Point(16, 265); label1.Location = new Point(16, 242);
label1.Margin = new Padding(0); label1.Margin = new Padding(0);
label1.Name = "label1"; label1.Name = "label1";
label1.Padding = new Padding(5, 10, 0, 0); label1.Padding = new Padding(5, 10, 0, 0);
@@ -290,7 +293,7 @@ namespace GHelper
// textBox1 // textBox1
// //
textBox1.Dock = DockStyle.Top; textBox1.Dock = DockStyle.Top;
textBox1.Location = new Point(558, 66); textBox1.Location = new Point(558, 61);
textBox1.Margin = new Padding(4, 3, 4, 3); textBox1.Margin = new Padding(4, 3, 4, 3);
textBox1.Name = "textBox1"; textBox1.Name = "textBox1";
textBox1.PlaceholderText = "action"; textBox1.PlaceholderText = "action";
@@ -338,7 +341,7 @@ namespace GHelper
comboM4.Dock = DockStyle.Top; comboM4.Dock = DockStyle.Top;
comboM4.FormattingEnabled = true; comboM4.FormattingEnabled = true;
comboM4.Items.AddRange(new object[] { Strings.PerformanceMode, Strings.OpenGHelper, Strings.Custom }); comboM4.Items.AddRange(new object[] { Strings.PerformanceMode, Strings.OpenGHelper, Strings.Custom });
comboM4.Location = new Point(167, 168); comboM4.Location = new Point(167, 153);
comboM4.Margin = new Padding(4, 3, 4, 3); comboM4.Margin = new Padding(4, 3, 4, 3);
comboM4.Name = "comboM4"; comboM4.Name = "comboM4";
comboM4.Size = new Size(383, 40); comboM4.Size = new Size(383, 40);
@@ -351,7 +354,7 @@ namespace GHelper
comboM3.Dock = DockStyle.Top; comboM3.Dock = DockStyle.Top;
comboM3.FormattingEnabled = true; comboM3.FormattingEnabled = true;
comboM3.Items.AddRange(new object[] { Strings.Default, Strings.VolumeMute, Strings.PlayPause, Strings.PrintScreen, Strings.ToggleAura, Strings.Custom }); comboM3.Items.AddRange(new object[] { Strings.Default, Strings.VolumeMute, Strings.PlayPause, Strings.PrintScreen, Strings.ToggleAura, Strings.Custom });
comboM3.Location = new Point(167, 117); comboM3.Location = new Point(167, 107);
comboM3.Margin = new Padding(4, 3, 4, 3); comboM3.Margin = new Padding(4, 3, 4, 3);
comboM3.Name = "comboM3"; comboM3.Name = "comboM3";
comboM3.Size = new Size(383, 40); comboM3.Size = new Size(383, 40);
@@ -360,7 +363,7 @@ namespace GHelper
// textM4 // textM4
// //
textM4.Dock = DockStyle.Top; textM4.Dock = DockStyle.Top;
textM4.Location = new Point(558, 168); textM4.Location = new Point(558, 153);
textM4.Margin = new Padding(4, 3, 4, 3); textM4.Margin = new Padding(4, 3, 4, 3);
textM4.Name = "textM4"; textM4.Name = "textM4";
textM4.PlaceholderText = "action"; textM4.PlaceholderText = "action";
@@ -370,7 +373,7 @@ namespace GHelper
// textM3 // textM3
// //
textM3.Dock = DockStyle.Top; textM3.Dock = DockStyle.Top;
textM3.Location = new Point(558, 117); textM3.Location = new Point(558, 107);
textM3.Margin = new Padding(4, 3, 4, 3); textM3.Margin = new Padding(4, 3, 4, 3);
textM3.Name = "textM3"; textM3.Name = "textM3";
textM3.PlaceholderText = "action"; textM3.PlaceholderText = "action";
@@ -380,7 +383,7 @@ namespace GHelper
// labelM4 // labelM4
// //
labelM4.AutoSize = true; labelM4.AutoSize = true;
labelM4.Location = new Point(16, 165); labelM4.Location = new Point(16, 150);
labelM4.Margin = new Padding(0); labelM4.Margin = new Padding(0);
labelM4.Name = "labelM4"; labelM4.Name = "labelM4";
labelM4.Padding = new Padding(5, 10, 0, 0); labelM4.Padding = new Padding(5, 10, 0, 0);
@@ -391,7 +394,7 @@ namespace GHelper
// labelM3 // labelM3
// //
labelM3.AutoSize = true; labelM3.AutoSize = true;
labelM3.Location = new Point(16, 114); labelM3.Location = new Point(16, 104);
labelM3.Margin = new Padding(0); labelM3.Margin = new Padding(0);
labelM3.Name = "labelM3"; labelM3.Name = "labelM3";
labelM3.Padding = new Padding(5, 10, 0, 0); labelM3.Padding = new Padding(5, 10, 0, 0);
@@ -402,7 +405,7 @@ namespace GHelper
// labelM2 // labelM2
// //
labelM2.AutoSize = true; labelM2.AutoSize = true;
labelM2.Location = new Point(16, 63); labelM2.Location = new Point(16, 58);
labelM2.Margin = new Padding(0); labelM2.Margin = new Padding(0);
labelM2.Name = "labelM2"; labelM2.Name = "labelM2";
labelM2.Padding = new Padding(5, 10, 0, 0); labelM2.Padding = new Padding(5, 10, 0, 0);
@@ -417,7 +420,7 @@ namespace GHelper
comboM2.Dock = DockStyle.Top; comboM2.Dock = DockStyle.Top;
comboM2.FormattingEnabled = true; comboM2.FormattingEnabled = true;
comboM2.Items.AddRange(new object[] { Strings.Default, Strings.VolumeMute, Strings.PlayPause, Strings.PrintScreen, Strings.ToggleAura, Strings.Custom }); comboM2.Items.AddRange(new object[] { Strings.Default, Strings.VolumeMute, Strings.PlayPause, Strings.PrintScreen, Strings.ToggleAura, Strings.Custom });
comboM2.Location = new Point(167, 66); comboM2.Location = new Point(167, 61);
comboM2.Margin = new Padding(4, 3, 4, 3); comboM2.Margin = new Padding(4, 3, 4, 3);
comboM2.Name = "comboM2"; comboM2.Name = "comboM2";
comboM2.Size = new Size(383, 40); comboM2.Size = new Size(383, 40);
@@ -426,7 +429,7 @@ namespace GHelper
// labelFNF4 // labelFNF4
// //
labelFNF4.AutoSize = true; labelFNF4.AutoSize = true;
labelFNF4.Location = new Point(16, 216); labelFNF4.Location = new Point(16, 196);
labelFNF4.Margin = new Padding(0); labelFNF4.Margin = new Padding(0);
labelFNF4.Name = "labelFNF4"; labelFNF4.Name = "labelFNF4";
labelFNF4.Padding = new Padding(5, 10, 0, 0); labelFNF4.Padding = new Padding(5, 10, 0, 0);
@@ -440,7 +443,7 @@ namespace GHelper
comboFNF4.ButtonColor = Color.FromArgb(255, 255, 255); comboFNF4.ButtonColor = Color.FromArgb(255, 255, 255);
comboFNF4.Dock = DockStyle.Top; comboFNF4.Dock = DockStyle.Top;
comboFNF4.FormattingEnabled = true; comboFNF4.FormattingEnabled = true;
comboFNF4.Location = new Point(167, 219); comboFNF4.Location = new Point(167, 199);
comboFNF4.Margin = new Padding(4, 3, 4, 3); comboFNF4.Margin = new Padding(4, 3, 4, 3);
comboFNF4.Name = "comboFNF4"; comboFNF4.Name = "comboFNF4";
comboFNF4.Size = new Size(383, 40); comboFNF4.Size = new Size(383, 40);
@@ -449,7 +452,7 @@ namespace GHelper
// textFNF4 // textFNF4
// //
textFNF4.Dock = DockStyle.Top; textFNF4.Dock = DockStyle.Top;
textFNF4.Location = new Point(558, 219); textFNF4.Location = new Point(558, 199);
textFNF4.Margin = new Padding(4, 3, 4, 3); textFNF4.Margin = new Padding(4, 3, 4, 3);
textFNF4.Name = "textFNF4"; textFNF4.Name = "textFNF4";
textFNF4.PlaceholderText = "action"; textFNF4.PlaceholderText = "action";
@@ -462,7 +465,7 @@ namespace GHelper
comboFNC.ButtonColor = Color.FromArgb(255, 255, 255); comboFNC.ButtonColor = Color.FromArgb(255, 255, 255);
comboFNC.Dock = DockStyle.Top; comboFNC.Dock = DockStyle.Top;
comboFNC.FormattingEnabled = true; comboFNC.FormattingEnabled = true;
comboFNC.Location = new Point(167, 268); comboFNC.Location = new Point(167, 245);
comboFNC.Margin = new Padding(4, 3, 4, 3); comboFNC.Margin = new Padding(4, 3, 4, 3);
comboFNC.Name = "comboFNC"; comboFNC.Name = "comboFNC";
comboFNC.Size = new Size(383, 40); comboFNC.Size = new Size(383, 40);
@@ -471,7 +474,7 @@ namespace GHelper
// textFNC // textFNC
// //
textFNC.Dock = DockStyle.Top; textFNC.Dock = DockStyle.Top;
textFNC.Location = new Point(558, 268); textFNC.Location = new Point(558, 245);
textFNC.Margin = new Padding(4, 3, 4, 3); textFNC.Margin = new Padding(4, 3, 4, 3);
textFNC.Name = "textFNC"; textFNC.Name = "textFNC";
textFNC.PlaceholderText = "action"; textFNC.PlaceholderText = "action";
@@ -525,7 +528,7 @@ namespace GHelper
panelBacklightHeader.Controls.Add(pictureBacklight); panelBacklightHeader.Controls.Add(pictureBacklight);
panelBacklightHeader.Controls.Add(labelBacklightTitle); panelBacklightHeader.Controls.Add(labelBacklightTitle);
panelBacklightHeader.Dock = DockStyle.Top; panelBacklightHeader.Dock = DockStyle.Top;
panelBacklightHeader.Location = new Point(15, 390); panelBacklightHeader.Location = new Point(15, 370);
panelBacklightHeader.Name = "panelBacklightHeader"; panelBacklightHeader.Name = "panelBacklightHeader";
panelBacklightHeader.Padding = new Padding(10, 5, 10, 5); panelBacklightHeader.Padding = new Padding(10, 5, 10, 5);
panelBacklightHeader.Size = new Size(983, 50); panelBacklightHeader.Size = new Size(983, 50);
@@ -571,7 +574,7 @@ namespace GHelper
panelBacklight.Controls.Add(panelXMG); panelBacklight.Controls.Add(panelXMG);
panelBacklight.Controls.Add(tableBacklight); panelBacklight.Controls.Add(tableBacklight);
panelBacklight.Dock = DockStyle.Top; panelBacklight.Dock = DockStyle.Top;
panelBacklight.Location = new Point(15, 440); panelBacklight.Location = new Point(15, 420);
panelBacklight.Name = "panelBacklight"; panelBacklight.Name = "panelBacklight";
panelBacklight.Padding = new Padding(0, 5, 0, 5); panelBacklight.Padding = new Padding(0, 5, 0, 5);
panelBacklight.Size = new Size(983, 402); panelBacklight.Size = new Size(983, 402);
@@ -960,7 +963,7 @@ namespace GHelper
panelSettingsHeader.Controls.Add(pictureSettings); panelSettingsHeader.Controls.Add(pictureSettings);
panelSettingsHeader.Controls.Add(labelSettings); panelSettingsHeader.Controls.Add(labelSettings);
panelSettingsHeader.Dock = DockStyle.Top; panelSettingsHeader.Dock = DockStyle.Top;
panelSettingsHeader.Location = new Point(15, 842); panelSettingsHeader.Location = new Point(15, 822);
panelSettingsHeader.Name = "panelSettingsHeader"; panelSettingsHeader.Name = "panelSettingsHeader";
panelSettingsHeader.Padding = new Padding(10, 5, 10, 5); panelSettingsHeader.Padding = new Padding(10, 5, 10, 5);
panelSettingsHeader.Size = new Size(983, 50); panelSettingsHeader.Size = new Size(983, 50);
@@ -1003,6 +1006,7 @@ namespace GHelper
// //
panelSettings.AutoSize = true; panelSettings.AutoSize = true;
panelSettings.AutoSizeMode = AutoSizeMode.GrowAndShrink; panelSettings.AutoSizeMode = AutoSizeMode.GrowAndShrink;
panelSettings.Controls.Add(checkAutoToggleClamshellMode);
panelSettings.Controls.Add(checkAutoApplyWindowsPowerMode); panelSettings.Controls.Add(checkAutoApplyWindowsPowerMode);
panelSettings.Controls.Add(checkTopmost); panelSettings.Controls.Add(checkTopmost);
panelSettings.Controls.Add(checkNoOverdrive); panelSettings.Controls.Add(checkNoOverdrive);
@@ -1011,12 +1015,25 @@ namespace GHelper
panelSettings.Controls.Add(checkGpuApps); panelSettings.Controls.Add(checkGpuApps);
panelSettings.Controls.Add(checkFnLock); panelSettings.Controls.Add(checkFnLock);
panelSettings.Dock = DockStyle.Top; panelSettings.Dock = DockStyle.Top;
panelSettings.Location = new Point(15, 892); panelSettings.Location = new Point(15, 872);
panelSettings.Name = "panelSettings"; panelSettings.Name = "panelSettings";
panelSettings.Padding = new Padding(20, 5, 10, 5); panelSettings.Padding = new Padding(20, 5, 10, 5);
panelSettings.Size = new Size(983, 304); panelSettings.Size = new Size(983, 344);
panelSettings.TabIndex = 46; panelSettings.TabIndex = 46;
// //
// checkAutoToggleClamshellMode
//
checkAutoToggleClamshellMode.AutoSize = true;
checkAutoToggleClamshellMode.Dock = DockStyle.Top;
checkAutoToggleClamshellMode.Location = new Point(20, 299);
checkAutoToggleClamshellMode.Margin = new Padding(2);
checkAutoToggleClamshellMode.Name = "checkAutoToggleClamshellMode";
checkAutoToggleClamshellMode.Padding = new Padding(2);
checkAutoToggleClamshellMode.Size = new Size(953, 40);
checkAutoToggleClamshellMode.TabIndex = 58;
checkAutoToggleClamshellMode.Text = "Auto Toggle Clamshell Mode";
checkAutoToggleClamshellMode.UseVisualStyleBackColor = true;
//
// checkAutoApplyWindowsPowerMode // checkAutoApplyWindowsPowerMode
// //
checkAutoApplyWindowsPowerMode.AutoSize = true; checkAutoApplyWindowsPowerMode.AutoSize = true;
@@ -1143,6 +1160,7 @@ namespace GHelper
((System.ComponentModel.ISupportInitialize)pictureBindings).EndInit(); ((System.ComponentModel.ISupportInitialize)pictureBindings).EndInit();
((System.ComponentModel.ISupportInitialize)pictureHelp).EndInit(); ((System.ComponentModel.ISupportInitialize)pictureHelp).EndInit();
panelBindings.ResumeLayout(false); panelBindings.ResumeLayout(false);
panelBindings.PerformLayout();
tableBindings.ResumeLayout(false); tableBindings.ResumeLayout(false);
tableBindings.PerformLayout(); tableBindings.PerformLayout();
tableKeys.ResumeLayout(false); tableKeys.ResumeLayout(false);
@@ -1246,5 +1264,6 @@ namespace GHelper
private PictureBox pictureService; private PictureBox pictureService;
private Slider sliderBrightness; private Slider sliderBrightness;
private PictureBox pictureLog; private PictureBox pictureLog;
private CheckBox checkAutoToggleClamshellMode;
} }
} }

View File

@@ -11,6 +11,7 @@ namespace GHelper
{ {
ScreenControl screenControl = new ScreenControl(); ScreenControl screenControl = new ScreenControl();
ClamshellModeControl clamshellControl = new ClamshellModeControl();
Dictionary<string, string> customActions = new Dictionary<string, string> Dictionary<string, string> customActions = new Dictionary<string, string>
{ {
@@ -106,6 +107,7 @@ namespace GHelper
checkUSBC.Text = Properties.Strings.OptimizedUSBC; checkUSBC.Text = Properties.Strings.OptimizedUSBC;
checkAutoApplyWindowsPowerMode.Text = Properties.Strings.ApplyWindowsPowerPlan; checkAutoApplyWindowsPowerMode.Text = Properties.Strings.ApplyWindowsPowerPlan;
checkFnLock.Text = Properties.Strings.FnLock; checkFnLock.Text = Properties.Strings.FnLock;
checkAutoToggleClamshellMode.Text = Properties.Strings.ToggleClamshellMode;
labelBacklightKeyboard.Text = Properties.Strings.Keyboard; labelBacklightKeyboard.Text = Properties.Strings.Keyboard;
labelBacklightBar.Text = Properties.Strings.Lightbar; labelBacklightBar.Text = Properties.Strings.Lightbar;
@@ -116,6 +118,27 @@ namespace GHelper
Text = Properties.Strings.ExtraSettings; Text = Properties.Strings.ExtraSettings;
if (AppConfig.ContainsModel("Duo"))
{
customActions.Add("screenpad_down", Properties.Strings.ScreenPadDown);
customActions.Add("screenpad_up", Properties.Strings.ScreenPadUp);
}
if (InputDispatcher.NoMKeys())
{
labelM1.Text = "FN+F2";
labelM2.Text = "FN+F3";
labelM3.Text = "FN+F4";
labelM4.Visible = comboM4.Visible = textM4.Visible = false;
labelFNF4.Visible = comboFNF4.Visible = textFNF4.Visible = false;
}
if (Program.acpi.DeviceGet(AsusACPI.GPUEco) < 0)
{
checkGpuApps.Visible = false;
checkUSBC.Visible = false;
}
InitTheme(); InitTheme();
SetKeyCombo(comboM1, textM1, "m1"); SetKeyCombo(comboM1, textM1, "m1");
@@ -204,6 +227,10 @@ namespace GHelper
} }
} }
//checkAutoToggleClamshellMode.Visible = clamshellControl.IsExternalDisplayConnected();
checkAutoToggleClamshellMode.Checked = AppConfig.Is("toggle_clamshell_mode");
checkAutoToggleClamshellMode.CheckedChanged += checkAutoToggleClamshellMode_CheckedChanged;
checkTopmost.Checked = AppConfig.Is("topmost"); checkTopmost.Checked = AppConfig.Is("topmost");
checkTopmost.CheckedChanged += CheckTopmost_CheckedChanged; ; checkTopmost.CheckedChanged += CheckTopmost_CheckedChanged; ;
@@ -438,7 +465,7 @@ namespace GHelper
private void ComboKeyboardSpeed_SelectedValueChanged(object? sender, EventArgs e) private void ComboKeyboardSpeed_SelectedValueChanged(object? sender, EventArgs e)
{ {
AppConfig.Set("aura_speed", (int)comboKeyboardSpeed.SelectedValue); AppConfig.Set("aura_speed", (int)comboKeyboardSpeed.SelectedValue);
Program.settingsForm.SetAura(); AsusUSB.ApplyAura();
} }
@@ -460,5 +487,20 @@ namespace GHelper
{ {
AppConfig.Set("auto_apply_power_plan", checkAutoApplyWindowsPowerMode.Checked ? 1 : 0); AppConfig.Set("auto_apply_power_plan", checkAutoApplyWindowsPowerMode.Checked ? 1 : 0);
} }
private void checkAutoToggleClamshellMode_CheckedChanged(object? sender, EventArgs e)
{
AppConfig.Set("toggle_clamshell_mode", checkAutoToggleClamshellMode.Checked ? 1 : 0);
if (checkAutoToggleClamshellMode.Checked)
{
clamshellControl.ToggleLidAction();
}
else
{
ClamshellModeControl.DisableClamshellMode();
}
}
} }
} }

View File

@@ -18,7 +18,7 @@
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> <data name="Color1" type="System.Drawing.Color, System.Drawing"">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value> <value>[base64 mime encoded serialized .NET Framework object]</value>
</data> </data>

View File

@@ -285,6 +285,19 @@ namespace GHelper
private void VisualiseAdvanced() private void VisualiseAdvanced()
{ {
if (!RyzenControl.IsSupportedUV())
{
panelTitleAdvanced.Visible = false;
labelRisky.Visible = false;
panelUV.Visible = false;
panelUViGPU.Visible = false;
}
if (!RyzenControl.IsSupportedUV())
{
panelUViGPU.Visible = false;
}
labelUV.Text = trackUV.Value.ToString(); labelUV.Text = trackUV.Value.ToString();
labelUViGPU.Text = trackUViGPU.Value.ToString(); labelUViGPU.Text = trackUViGPU.Value.ToString();
labelTemp.Text = (trackTemp.Value < RyzenControl.MaxTemp) ? trackTemp.Value.ToString() + "°C" : "Default"; labelTemp.Text = (trackTemp.Value < RyzenControl.MaxTemp) ? trackTemp.Value.ToString() + "°C" : "Default";
@@ -398,7 +411,7 @@ namespace GHelper
return; return;
} }
if (HardwareControl.GpuControl is null) HardwareControl.RecreateGpuControl(); if (HardwareControl.GpuControl is null || !HardwareControl.GpuControl.IsValid) HardwareControl.RecreateGpuControl();
if (HardwareControl.GpuControl is not null && HardwareControl.GpuControl.IsNvidia) if (HardwareControl.GpuControl is not null && HardwareControl.GpuControl.IsNvidia)
{ {
@@ -655,7 +668,11 @@ namespace GHelper
} }
else else
{ {
labelLeftA0.Text = "CPU Slow (SPL + sPPT)"; if (RyzenControl.IsAMD())
labelLeftA0.Text = "CPU Slow (SPL + sPPT)";
else
labelLeftA0.Text = "CPU (PL1 + PL2)";
labelLeftC1.Text = "CPU Fast (fPPT)"; labelLeftC1.Text = "CPU Fast (fPPT)";
panelC1.Visible = modeC1; panelC1.Visible = modeC1;
} }
@@ -752,7 +769,7 @@ namespace GHelper
try try
{ {
if (chartCount > 2) if (chartCount > 2)
Size = MinimumSize = new Size(0, (int)(ControlHelper.GetDpiScale(this).Value * (chartCount * 200 + 100))); Size = MinimumSize = new Size(Size.Width, (int)(ControlHelper.GetDpiScale(this).Value * (chartCount * 200 + 100)));
} }
catch (Exception ex) catch (Exception ex)
{ {

View File

@@ -2,7 +2,7 @@
<PropertyGroup> <PropertyGroup>
<OutputType>WinExe</OutputType> <OutputType>WinExe</OutputType>
<TargetFramework>net7.0-windows8.0</TargetFramework> <TargetFramework>net7.0-windows</TargetFramework>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<UseWindowsForms>True</UseWindowsForms> <UseWindowsForms>True</UseWindowsForms>
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
@@ -11,12 +11,11 @@
<StartupObject>GHelper.Program</StartupObject> <StartupObject>GHelper.Program</StartupObject>
<ApplicationIcon>favicon.ico</ApplicationIcon> <ApplicationIcon>favicon.ico</ApplicationIcon>
<Platforms>AnyCPU;x64</Platforms> <Platforms>AnyCPU;x64</Platforms>
<SupportedOSPlatformVersion>8.0</SupportedOSPlatformVersion>
<AssemblyName>GHelper</AssemblyName> <AssemblyName>GHelper</AssemblyName>
<PlatformTarget>AnyCPU</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<ProduceReferenceAssembly>False</ProduceReferenceAssembly> <ProduceReferenceAssembly>False</ProduceReferenceAssembly>
<AllowUnsafeBlocks>True</AllowUnsafeBlocks> <AllowUnsafeBlocks>True</AllowUnsafeBlocks>
<AssemblyVersion>0.97</AssemblyVersion> <AssemblyVersion>0.101</AssemblyVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -36,7 +36,7 @@ namespace GHelper.Gpu
else else
GpuMode = AsusACPI.GPUModeStandard; GpuMode = AsusACPI.GPUModeStandard;
// Ultimate mode not suported // Ultimate mode not supported
if (mux != 1) settings.HideUltimateMode(); if (mux != 1) settings.HideUltimateMode();
// GPU mode not supported // GPU mode not supported
if (eco < 0 && mux < 0) settings.HideGPUModes(); if (eco < 0 && mux < 0) settings.HideGPUModes();
@@ -154,7 +154,7 @@ namespace GHelper.Gpu
if (eco == 0) if (eco == 0)
{ {
await Task.Delay(TimeSpan.FromMilliseconds(5000)); await Task.Delay(TimeSpan.FromMilliseconds(3000));
HardwareControl.RecreateGpuControl(); HardwareControl.RecreateGpuControl();
Program.modeControl.SetGPUClocks(false); Program.modeControl.SetGPUClocks(false);
} }
@@ -177,7 +177,7 @@ namespace GHelper.Gpu
{ {
bool GpuAuto = AppConfig.Is("gpu_auto"); bool GpuAuto = AppConfig.Is("gpu_auto");
bool ForceGPU = AppConfig.ContainsModel("503"); bool ForceGPU = AppConfig.ContainsModel("503") || AppConfig.Is("gpu_fix");
int GpuMode = AppConfig.Get("gpu_mode"); int GpuMode = AppConfig.Get("gpu_mode");
@@ -321,5 +321,16 @@ namespace GHelper.Gpu
} }
} }
// Manually forcing standard mode on shutdown/hibernate for some exotic cases
// https://github.com/seerge/g-helper/pull/855
public void StandardModeFix()
{
if (!AppConfig.Is("gpu_fix")) return; // No config entry
if (Program.acpi.DeviceGet(AsusACPI.GPUMux) == 0) return; // Ultimate mode
Logger.WriteLine("Forcing Standard Mode on shutdown / hibernation");
Program.acpi.SetGPUEco(0);
}
} }
} }

View File

@@ -5,13 +5,17 @@ using GHelper.Gpu.AMD;
using GHelper.Helpers; using GHelper.Helpers;
using System.Diagnostics; using System.Diagnostics;
using System.Management;
public static class HardwareControl public static class HardwareControl
{ {
public static IGpuControl? GpuControl; public static IGpuControl? GpuControl;
public static float? cpuTemp = -1; public static float? cpuTemp = -1;
public static float? batteryDischarge = -1; public static decimal? batteryRate = 0;
public static decimal batteryHealth = -1;
public static decimal? designCapacity;
public static decimal? fullCapacity;
public static int? gpuTemp = null; public static int? gpuTemp = null;
public static string? cpuFan; public static string? cpuFan;
@@ -70,9 +74,105 @@ public static class HardwareControl
} }
public static decimal GetBatteryRate()
{
try
{
ManagementScope scope = new ManagementScope("root\\WMI");
ObjectQuery query = new ObjectQuery("SELECT * FROM BatteryStatus");
using ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);
foreach (ManagementObject obj in searcher.Get().Cast<ManagementObject>())
{
decimal chargeRate = Convert.ToDecimal(obj["ChargeRate"]);
decimal dischargeRate = Convert.ToDecimal(obj["DischargeRate"]);
if (chargeRate > 0)
return chargeRate;
else
return -dischargeRate;
}
return 0;
}
catch (Exception ex)
{
Logger.WriteLine("Discharge Reading: " + ex.Message);
return 0;
}
}
public static void ReadFullChargeCapacity()
{
try
{
ManagementScope scope = new ManagementScope("root\\WMI");
ObjectQuery query = new ObjectQuery("SELECT * FROM BatteryFullChargedCapacity");
using ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);
foreach (ManagementObject obj in searcher.Get().Cast<ManagementObject>())
{
fullCapacity = Convert.ToDecimal(obj["FullChargedCapacity"]);
}
}
catch (Exception ex)
{
Logger.WriteLine("Full Charge Reading: " + ex.Message);
}
}
public static void ReadDesignCapacity()
{
try
{
ManagementScope scope = new ManagementScope("root\\WMI");
ObjectQuery query = new ObjectQuery("SELECT * FROM BatteryStaticData");
using ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);
foreach (ManagementObject obj in searcher.Get().Cast<ManagementObject>())
{
designCapacity = Convert.ToDecimal(obj["DesignedCapacity"]);
}
}
catch (Exception ex)
{
Logger.WriteLine("Design Capacity Reading: " + ex.Message);
}
}
public static void RefreshBatteryHealth()
{
batteryHealth = GetBatteryHealth() * 100;
}
public static decimal GetBatteryHealth()
{
if (designCapacity is null)
{
ReadDesignCapacity();
}
ReadFullChargeCapacity();
if (designCapacity is null || fullCapacity is null)
{
return -1;
}
decimal health = (decimal)fullCapacity / (decimal)designCapacity;
Logger.WriteLine("Design Capacity: " + designCapacity + "mWh, Full Charge Capacity: " + fullCapacity + "mWh, Health: " + health + "%");
return health;
}
public static void ReadSensors() public static void ReadSensors()
{ {
batteryDischarge = -1; batteryRate = 0;
gpuTemp = -1; gpuTemp = -1;
gpuUse = -1; gpuUse = -1;
@@ -108,17 +208,7 @@ public static class HardwareControl
if (gpuTemp is null || gpuTemp < 0) if (gpuTemp is null || gpuTemp < 0)
gpuTemp = Program.acpi.DeviceGet(AsusACPI.Temp_GPU); gpuTemp = Program.acpi.DeviceGet(AsusACPI.Temp_GPU);
try batteryRate = GetBatteryRate() / 1000;
{
using (var cb = new PerformanceCounter("Power Meter", "Power", "Power Meter (0)", true))
{
batteryDischarge = cb.NextValue() / 1000;
}
}
catch
{
Debug.WriteLine("Failed reading Battery discharge");
}
} }
public static bool IsUsedGPU(int threshold = 10) public static bool IsUsedGPU(int threshold = 10)
@@ -184,7 +274,7 @@ public static class HardwareControl
} }
catch (Exception ex) catch (Exception ex)
{ {
Debug.WriteLine(ex.ToString()); Debug.WriteLine("Can't connect to GPU " + ex.ToString());
} }
} }

View File

@@ -0,0 +1,93 @@
using GHelper.Display;
using GHelper.Mode;
using Microsoft.Win32;
namespace GHelper.Helpers
{
internal class ClamshellModeControl
{
public bool IsExternalDisplayConnected()
{
var devices = ScreenInterrogatory.GetAllDevices().ToArray();
string internalName = AppConfig.GetString("internal_display");
foreach (var device in devices)
{
if (device.outputTechnology != ScreenInterrogatory.DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY.DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INTERNAL &&
device.outputTechnology != ScreenInterrogatory.DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY.DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EMBEDDED
&& device.monitorFriendlyDeviceName != internalName)
{
Logger.WriteLine("Found external screen: " + device.monitorFriendlyDeviceName + ":" + device.outputTechnology.ToString());
//Already found one, we do not have to check whether there are more
return true;
}
}
return false;
}
public bool IsClamshellEnabled()
{
return AppConfig.Get("toggle_clamshell_mode") != 0;
}
public bool IsChargerConnected()
{
return SystemInformation.PowerStatus.PowerLineStatus == PowerLineStatus.Online;
}
public bool IsClamshellReady()
{
return IsExternalDisplayConnected() && IsChargerConnected();
}
public void ToggleLidAction()
{
if (!IsClamshellEnabled())
{
return;
}
if (IsClamshellReady())
{
EnableClamshellMode();
}
else
{
DisableClamshellMode();
}
}
public static void DisableClamshellMode()
{
PowerNative.SetLidAction(1, true);
Logger.WriteLine("Disengaging Clamshell Mode");
}
public static void EnableClamshellMode()
{
PowerNative.SetLidAction(0, true);
Logger.WriteLine("Engaging Clamshell Mode");
}
public void UnregisterDisplayEvents()
{
SystemEvents.DisplaySettingsChanged -= SystemEvents_DisplaySettingsChanged;
}
public void RegisterDisplayEvents()
{
SystemEvents.DisplaySettingsChanged += SystemEvents_DisplaySettingsChanged;
}
private void SystemEvents_DisplaySettingsChanged(object? sender, EventArgs e)
{
Logger.WriteLine("Display configuration changed.");
if (IsClamshellEnabled())
ToggleLidAction();
}
}
}

View File

@@ -9,6 +9,8 @@ namespace GHelper.Helpers
{ {
static List<string> services = new() { static List<string> services = new() {
"ArmouryCrateControlInterface",
"ASUSOptimization",
"AsusAppService", "AsusAppService",
"ASUSLinkNear", "ASUSLinkNear",
"ASUSLinkRemote", "ASUSLinkRemote",
@@ -16,9 +18,7 @@ namespace GHelper.Helpers
"ASUSSwitch", "ASUSSwitch",
"ASUSSystemAnalysis", "ASUSSystemAnalysis",
"ASUSSystemDiagnosis", "ASUSSystemDiagnosis",
"ArmouryCrateControlInterface", "AsusCertService"
"AsusCertService",
"ASUSOptimization"
}; };
public static void SetChargeLimit(int newValue) public static void SetChargeLimit(int newValue)

View File

@@ -1,10 +1,5 @@
using System; using System.Diagnostics;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Security.Principal; using System.Security.Principal;
using System.Text;
using System.Threading.Tasks;
namespace GHelper.Helpers namespace GHelper.Helpers
{ {
@@ -103,7 +98,7 @@ namespace GHelper.Helpers
{ {
try try
{ {
string script = $"Set-Service -Name \"{serviceName}\" -Status stopped -StartupType disabled"; string script = $"Get-Service -Name \"{serviceName}\" | Stop-Service -Force -PassThru | Set-Service -StartupType Disabled";
Logger.WriteLine(script); Logger.WriteLine(script);
RunCMD("powershell", script); RunCMD("powershell", script);
} }

View File

@@ -132,6 +132,9 @@ namespace GHelper.Helpers
public void RunToast(string text, ToastIcon? icon = null) public void RunToast(string text, ToastIcon? icon = null)
{ {
if (AppConfig.Is("disable_osd")) return;
Program.settingsForm.Invoke(delegate Program.settingsForm.Invoke(delegate
{ {
//Hide(); //Hide();

View File

@@ -105,6 +105,11 @@ namespace GHelper.Input
if (keyProfile != Keys.None) hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control, keyProfile); if (keyProfile != Keys.None) hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control, keyProfile);
if (keyApp != Keys.None) hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control, keyApp); if (keyApp != Keys.None) hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control, keyApp);
hook.RegisterHotKey(ModifierKeys.Control, Keys.VolumeDown);
hook.RegisterHotKey(ModifierKeys.Control, Keys.VolumeUp);
hook.RegisterHotKey(ModifierKeys.Shift, Keys.VolumeDown);
hook.RegisterHotKey(ModifierKeys.Shift, Keys.VolumeUp);
if (!AppConfig.ContainsModel("Z13")) if (!AppConfig.ContainsModel("Z13"))
if (actionM1 is not null && actionM1.Length > 0) hook.RegisterHotKey(ModifierKeys.None, Keys.VolumeDown); if (actionM1 is not null && actionM1.Length > 0) hook.RegisterHotKey(ModifierKeys.None, Keys.VolumeDown);
if (actionM2 is not null && actionM2.Length > 0) hook.RegisterHotKey(ModifierKeys.None, Keys.VolumeUp); if (actionM2 is not null && actionM2.Length > 0) hook.RegisterHotKey(ModifierKeys.None, Keys.VolumeUp);
@@ -138,6 +143,18 @@ namespace GHelper.Input
} }
static bool IsManualBrightness()
{
return AppConfig.ContainsModel("TUF") && !AppConfig.ContainsModel("FA506");
}
public static bool NoMKeys()
{
return AppConfig.ContainsModel("Z13") ||
AppConfig.ContainsModel("FA506") ||
AppConfig.ContainsModel("FX506");
}
public void KeyPressed(object sender, KeyPressedEventArgs e) public void KeyPressed(object sender, KeyPressedEventArgs e)
{ {
@@ -145,7 +162,7 @@ namespace GHelper.Input
{ {
Logger.WriteLine(e.Key.ToString()); Logger.WriteLine(e.Key.ToString());
if (AppConfig.ContainsModel("Z13") || AppConfig.ContainsModel("FA506")) if (NoMKeys())
{ {
switch (e.Key) switch (e.Key)
{ {
@@ -209,11 +226,11 @@ namespace GHelper.Input
KeyboardHook.KeyPress(Keys.Snapshot); KeyboardHook.KeyPress(Keys.Snapshot);
break; break;
case Keys.F7: case Keys.F7:
//if (AppConfig.ContainsModel("TUF")) Program.toast.RunToast(ScreenBrightness.Adjust(-10) + "%", ToastIcon.BrightnessDown); if (IsManualBrightness()) Program.toast.RunToast(ScreenBrightness.Adjust(-10) + "%", ToastIcon.BrightnessDown);
HandleOptimizationEvent(16); HandleOptimizationEvent(16);
break; break;
case Keys.F8: case Keys.F8:
// if (AppConfig.ContainsModel("TUF")) Program.toast.RunToast(ScreenBrightness.Adjust(+10) + "%", ToastIcon.BrightnessUp); if (IsManualBrightness()) Program.toast.RunToast(ScreenBrightness.Adjust(+10) + "%", ToastIcon.BrightnessUp);
HandleOptimizationEvent(32); HandleOptimizationEvent(32);
break; break;
case Keys.F9: case Keys.F9:
@@ -245,7 +262,35 @@ namespace GHelper.Input
if (e.Key == keyApp) Program.SettingsToggle(); if (e.Key == keyApp) Program.SettingsToggle();
} }
if (e.Modifier == (ModifierKeys.Control))
{
switch (e.Key)
{
case Keys.VolumeDown:
// Screen brightness down on CTRL+VolDown
HandleOptimizationEvent(16);
break;
case Keys.VolumeUp:
// Screen brightness up on CTRL+VolUp
HandleOptimizationEvent(32);
break;
}
}
if (e.Modifier == (ModifierKeys.Shift))
{
switch (e.Key)
{
case Keys.VolumeDown:
// Keyboard backlight down on SHIFT+VolDown
SetBacklight(-1);
break;
case Keys.VolumeUp:
// Keyboard backlight up on SHIFT+VolUp
SetBacklight(1);
break;
}
}
} }
@@ -310,6 +355,12 @@ namespace GHelper.Input
case "brightness_down": case "brightness_down":
HandleOptimizationEvent(16); HandleOptimizationEvent(16);
break; break;
case "screenpad_up":
SetScreenpad(10);
break;
case "screenpad_down":
SetScreenpad(-10);
break;
case "custom": case "custom":
CustomKey(name); CustomKey(name);
break; break;
@@ -474,6 +525,21 @@ namespace GHelper.Input
} }
public static void SetScreenpad(int delta)
{
int brightness = AppConfig.Get("screenpad", 100);
brightness = Math.Max(Math.Min(100, brightness + delta), 0);
AppConfig.Set("screenpad", brightness);
Program.acpi.DeviceSet(AsusACPI.ScreenPadBrightness, (brightness*255/100), "Screenpad");
if (brightness == 0) Program.acpi.DeviceSet(AsusACPI.ScreenPadToggle, brightness, "ScreenpadToggle");
Program.toast.RunToast($"Screen Pad {brightness}", delta > 0 ? ToastIcon.BrightnessUp : ToastIcon.BrightnessDown);
}
static void LaunchProcess(string command = "") static void LaunchProcess(string command = "")
{ {

View File

@@ -172,7 +172,7 @@ namespace GHelper.Mode
private static bool IsFanRequired() private static bool IsFanRequired()
{ {
return AppConfig.ContainsModel("GA402XI") || AppConfig.ContainsModel("G513"); return AppConfig.ContainsModel("GA402X") || AppConfig.ContainsModel("G513");
} }
public void AutoPower(int delay = 0) public void AutoPower(int delay = 0)
@@ -209,7 +209,7 @@ namespace GHelper.Mode
timer.Dispose(); timer.Dispose();
if (applyPower) SetPower(); if (applyPower) SetPower();
Thread.Sleep(1000); Thread.Sleep(500);
SetGPUPower(); SetGPUPower();
AutoRyzen(); AutoRyzen();
}; };
@@ -366,6 +366,8 @@ namespace GHelper.Mode
public void SetUV(int cpuUV) public void SetUV(int cpuUV)
{ {
if (!RyzenControl.IsSupportedUV()) return;
if (cpuUV >= RyzenControl.MinCPUUV && cpuUV <= RyzenControl.MaxCPUUV) if (cpuUV >= RyzenControl.MinCPUUV && cpuUV <= RyzenControl.MaxCPUUV)
{ {
var uvResult = SendCommand.set_coall(cpuUV); var uvResult = SendCommand.set_coall(cpuUV);
@@ -376,6 +378,8 @@ namespace GHelper.Mode
public void SetUViGPU(int igpuUV) public void SetUViGPU(int igpuUV)
{ {
if (!RyzenControl.IsSupportedUViGPU()) return;
if (igpuUV >= RyzenControl.MinIGPUUV && igpuUV <= RyzenControl.MaxIGPUUV) if (igpuUV >= RyzenControl.MinIGPUUV && igpuUV <= RyzenControl.MaxIGPUUV)
{ {
var iGPUResult = SendCommand.set_cogfx(igpuUV); var iGPUResult = SendCommand.set_cogfx(igpuUV);

View File

@@ -60,6 +60,9 @@ namespace GHelper.Mode
private static Guid GUID_SLEEP_SUBGROUP = new Guid("238c9fa8-0aad-41ed-83f4-97be242c8f20"); private static Guid GUID_SLEEP_SUBGROUP = new Guid("238c9fa8-0aad-41ed-83f4-97be242c8f20");
private static Guid GUID_HIBERNATEIDLE = new Guid("9d7815a6-7ee4-497e-8888-515a05f02364"); private static Guid GUID_HIBERNATEIDLE = new Guid("9d7815a6-7ee4-497e-8888-515a05f02364");
private static Guid GUID_SYSTEM_BUTTON_SUBGROUP = new Guid("4f971e89-eebd-4455-a8de-9e59040e7347");
private static Guid GUID_LIDACTION = new Guid("5CA83367-6E45-459F-A27B-476B1D01C936");
[DllImportAttribute("powrprof.dll", EntryPoint = "PowerGetActualOverlayScheme")] [DllImportAttribute("powrprof.dll", EntryPoint = "PowerGetActualOverlayScheme")]
public static extern uint PowerGetActualOverlayScheme(out Guid ActualOverlayGuid); public static extern uint PowerGetActualOverlayScheme(out Guid ActualOverlayGuid);
@@ -163,5 +166,40 @@ namespace GHelper.Mode
break; break;
} }
} }
public static void SetLidAction(int action, bool acOnly = false)
{
/**
* 1: Do nothing
* 2: Seelp
* 3: Hibernate
* 4: Shutdown
*/
Guid activeSchemeGuid = GetActiveScheme();
var hrAC = PowerWriteACValueIndex(
IntPtr.Zero,
activeSchemeGuid,
GUID_SYSTEM_BUTTON_SUBGROUP,
GUID_LIDACTION,
action);
PowerSetActiveScheme(IntPtr.Zero, activeSchemeGuid);
if (!acOnly)
{
var hrDC = PowerWriteDCValueIndex(
IntPtr.Zero,
activeSchemeGuid,
GUID_SYSTEM_BUTTON_SUBGROUP,
GUID_LIDACTION,
action);
PowerSetActiveScheme(IntPtr.Zero, activeSchemeGuid);
}
Logger.WriteLine("Changed Lid Action to " + action);
}
} }
} }

View File

@@ -30,6 +30,7 @@ namespace GHelper
public static ModeControl modeControl = new ModeControl(); public static ModeControl modeControl = new ModeControl();
static GPUModeControl gpuControl = new GPUModeControl(settingsForm); static GPUModeControl gpuControl = new GPUModeControl(settingsForm);
static ScreenControl screenControl = new ScreenControl(); static ScreenControl screenControl = new ScreenControl();
static ClamshellModeControl clamshellControl = new ClamshellModeControl();
public static ToastForm toast = new ToastForm(); public static ToastForm toast = new ToastForm();
@@ -100,6 +101,12 @@ namespace GHelper
SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged; SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged;
SystemEvents.UserPreferenceChanged += SystemEvents_UserPreferenceChanged; SystemEvents.UserPreferenceChanged += SystemEvents_UserPreferenceChanged;
SystemEvents.SessionSwitch += SystemEvents_SessionSwitch;
SystemEvents.SessionEnding += SystemEvents_SessionEnding;
clamshellControl.RegisterDisplayEvents();
clamshellControl.ToggleLidAction();
// Subscribing for monitor power on events // Subscribing for monitor power on events
PowerSettingGuid settingGuid = new NativeMethods.PowerSettingGuid(); PowerSettingGuid settingGuid = new NativeMethods.PowerSettingGuid();
unRegPowerNotify = NativeMethods.RegisterPowerSettingNotification(settingsForm.Handle, settingGuid.ConsoleDisplayState, NativeMethods.DEVICE_NOTIFY_WINDOW_HANDLE); unRegPowerNotify = NativeMethods.RegisterPowerSettingNotification(settingsForm.Handle, settingGuid.ConsoleDisplayState, NativeMethods.DEVICE_NOTIFY_WINDOW_HANDLE);
@@ -114,7 +121,19 @@ namespace GHelper
} }
private static void SystemEvents_SessionEnding(object sender, SessionEndingEventArgs e)
{
gpuControl.StandardModeFix();
}
private static void SystemEvents_SessionSwitch(object sender, SessionSwitchEventArgs e)
{
if (e.Reason == SessionSwitchReason.SessionLogon || e.Reason == SessionSwitchReason.SessionUnlock)
{
Logger.WriteLine("Session:" + e.Reason.ToString());
screenControl.AutoScreen();
}
}
static void SystemEvents_UserPreferenceChanged(object sender, UserPreferenceChangedEventArgs e) static void SystemEvents_UserPreferenceChanged(object sender, UserPreferenceChangedEventArgs e)
{ {
@@ -175,8 +194,12 @@ namespace GHelper
private static void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e) private static void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)
{ {
Logger.WriteLine("Power Mode:" + e.Mode.ToString());
if (e.Mode == PowerModes.Suspend) gpuControl.StandardModeFix();
if (SystemInformation.PowerStatus.PowerLineStatus == isPlugged) return; if (SystemInformation.PowerStatus.PowerLineStatus == isPlugged) return;
Logger.WriteLine("Power Mode Changed");
SetAutoModes(true); SetAutoModes(true);
} }
@@ -238,6 +261,7 @@ namespace GHelper
static void OnExit(object sender, EventArgs e) static void OnExit(object sender, EventArgs e)
{ {
trayIcon.Visible = false; trayIcon.Visible = false;
clamshellControl.UnregisterDisplayEvents();
NativeMethods.UnregisterPowerSettingNotification(unRegPowerNotify); NativeMethods.UnregisterPowerSettingNotification(unRegPowerNotify);
Application.Exit(); Application.Exit();
} }

View File

@@ -330,6 +330,15 @@ namespace GHelper.Properties {
} }
} }
/// <summary>
/// Looks up a localized string similar to Battery Health.
/// </summary>
internal static string BatteryHealth {
get {
return ResourceManager.GetString("BatteryHealth", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to BIOS and Driver Updates. /// Looks up a localized string similar to BIOS and Driver Updates.
/// </summary> /// </summary>
@@ -375,6 +384,15 @@ namespace GHelper.Properties {
} }
} }
/// <summary>
/// Looks up a localized string similar to Charging.
/// </summary>
internal static string Charging {
get {
return ResourceManager.GetString("Charging", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to Color. /// Looks up a localized string similar to Color.
/// </summary> /// </summary>
@@ -1043,6 +1061,24 @@ namespace GHelper.Properties {
} }
} }
/// <summary>
/// Looks up a localized string similar to Screenpad Brightness Down.
/// </summary>
internal static string ScreenPadDown {
get {
return ResourceManager.GetString("ScreenPadDown", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Screenpad Brightness Up.
/// </summary>
internal static string ScreenPadUp {
get {
return ResourceManager.GetString("ScreenPadUp", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to Shutdown. /// Looks up a localized string similar to Shutdown.
/// </summary> /// </summary>
@@ -1151,6 +1187,15 @@ namespace GHelper.Properties {
} }
} }
/// <summary>
/// Looks up a localized string similar to Auto Toggle Clamshell Mode.
/// </summary>
internal static string ToggleClamshellMode {
get {
return ResourceManager.GetString("ToggleClamshellMode", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to Toggle Fn-Lock. /// Looks up a localized string similar to Toggle Fn-Lock.
/// </summary> /// </summary>

View File

@@ -133,7 +133,7 @@
<value>Ultimate Modus benötigt einen Neustart</value> <value>Ultimate Modus benötigt einen Neustart</value>
</data> </data>
<data name="AlertUltimateTitle" xml:space="preserve"> <data name="AlertUltimateTitle" xml:space="preserve">
<value>Jetzt neustarten?</value> <value>Jetzt neu starten?</value>
</data> </data>
<data name="AnimationSpeed" xml:space="preserve"> <data name="AnimationSpeed" xml:space="preserve">
<value>Animationsgeschwindigkeit</value> <value>Animationsgeschwindigkeit</value>
@@ -148,13 +148,13 @@
<value>G-Helper läuft bereits. Bitte prüfe den Systemtray.</value> <value>G-Helper läuft bereits. Bitte prüfe den Systemtray.</value>
</data> </data>
<data name="Apply" xml:space="preserve"> <data name="Apply" xml:space="preserve">
<value>Apply</value> <value>Anwenden</value>
</data> </data>
<data name="ApplyFanCurve" xml:space="preserve"> <data name="ApplyFanCurve" xml:space="preserve">
<value>Lüfterkurve anweden</value> <value>Lüfterkurve anwenden</value>
</data> </data>
<data name="ApplyPowerLimits" xml:space="preserve"> <data name="ApplyPowerLimits" xml:space="preserve">
<value>Leistunsgrenzen anwenden</value> <value>Leistungsgrenzen anwenden</value>
</data> </data>
<data name="ApplyWindowsPowerPlan" xml:space="preserve"> <data name="ApplyWindowsPowerPlan" xml:space="preserve">
<value>Windows Leistungsmodus automatisch anpassen</value> <value>Windows Leistungsmodus automatisch anpassen</value>
@@ -187,13 +187,13 @@
<value>Stroboskop</value> <value>Stroboskop</value>
</data> </data>
<data name="AutoApply" xml:space="preserve"> <data name="AutoApply" xml:space="preserve">
<value>Auto Apply</value> <value>Automatisch anwenden</value>
</data> </data>
<data name="AutoMode" xml:space="preserve"> <data name="AutoMode" xml:space="preserve">
<value>Auto</value> <value>Auto</value>
</data> </data>
<data name="AutoRefreshTooltip" xml:space="preserve"> <data name="AutoRefreshTooltip" xml:space="preserve">
<value>60Hz im Batteriebetrieb Maximal wenn eingesteckt.</value> <value>60Hz im Batteriebetrieb. Maximal, wenn eingesteckt.</value>
</data> </data>
<data name="Awake" xml:space="preserve"> <data name="Awake" xml:space="preserve">
<value>Im Betrieb</value> <value>Im Betrieb</value>
@@ -207,6 +207,9 @@
<data name="BatteryChargeLimit" xml:space="preserve"> <data name="BatteryChargeLimit" xml:space="preserve">
<value>Ladebegrenzung</value> <value>Ladebegrenzung</value>
</data> </data>
<data name="BatteryHealth" xml:space="preserve">
<value>Batteriezustand</value>
</data>
<data name="BiosAndDriverUpdates" xml:space="preserve"> <data name="BiosAndDriverUpdates" xml:space="preserve">
<value>BIOS und Treiber Updates</value> <value>BIOS und Treiber Updates</value>
</data> </data>
@@ -217,16 +220,19 @@
<value>Helligkeit</value> <value>Helligkeit</value>
</data> </data>
<data name="BrightnessDown" xml:space="preserve"> <data name="BrightnessDown" xml:space="preserve">
<value>Helligkeit erhöhen</value> <value>Helligkeit verringern</value>
</data> </data>
<data name="BrightnessUp" xml:space="preserve"> <data name="BrightnessUp" xml:space="preserve">
<value>Helligkeit verringern</value> <value>Helligkeit erhöhen</value>
</data>
<data name="Charging" xml:space="preserve">
<value>Lädt</value>
</data> </data>
<data name="Color" xml:space="preserve"> <data name="Color" xml:space="preserve">
<value>Farbe</value> <value>Farbe</value>
</data> </data>
<data name="CPUBoost" xml:space="preserve"> <data name="CPUBoost" xml:space="preserve">
<value>CPU Boost</value> <value>CPU-Boost</value>
</data> </data>
<data name="Custom" xml:space="preserve"> <data name="Custom" xml:space="preserve">
<value>Benutzerdefiniert</value> <value>Benutzerdefiniert</value>
@@ -253,7 +259,7 @@
<value>Eco</value> <value>Eco</value>
</data> </data>
<data name="EnableOptimusText" xml:space="preserve"> <data name="EnableOptimusText" xml:space="preserve">
<value>Wenn Sie die dGPU deaktivieren, indem Sie in den Eco Modus wechseln, kann zu Problemen mit der Helligkeitseinstellung führen, wenn der Anzeigemodus nicht auf Optimus eingestellt ist. <value>Wenn Sie die dGPU deaktivieren, indem Sie in den Eco-Modus wechseln, kann zu Problemen mit der Helligkeitseinstellung führen, wenn der Anzeigemodus nicht auf Optimus eingestellt ist.
Trotzdem fortfahren?</value> Trotzdem fortfahren?</value>
</data> </data>
@@ -288,7 +294,7 @@ Trotzdem fortfahren?</value>
<value>Lüfter und Leistung</value> <value>Lüfter und Leistung</value>
</data> </data>
<data name="FanSpeed" xml:space="preserve"> <data name="FanSpeed" xml:space="preserve">
<value>Fan</value> <value>Lüfter</value>
</data> </data>
<data name="FansPower" xml:space="preserve"> <data name="FansPower" xml:space="preserve">
<value>Lüfter + Leistung</value> <value>Lüfter + Leistung</value>
@@ -357,7 +363,7 @@ Trotzdem fortfahren?</value>
<value>Audio Visualisierung</value> <value>Audio Visualisierung</value>
</data> </data>
<data name="MatrixBanner" xml:space="preserve"> <data name="MatrixBanner" xml:space="preserve">
<value>Binary Banner</value> <value>Binäres Banner</value>
</data> </data>
<data name="MatrixBright" xml:space="preserve"> <data name="MatrixBright" xml:space="preserve">
<value>Hell</value> <value>Hell</value>
@@ -405,10 +411,10 @@ Trotzdem fortfahren?</value>
<value>Optimiert</value> <value>Optimiert</value>
</data> </data>
<data name="OptimizedGPUTooltip" xml:space="preserve"> <data name="OptimizedGPUTooltip" xml:space="preserve">
<value>Eco Modus im Batteriebetrieb, Standard wenn eingesteckt.</value> <value>Eco-Modus im Batteriebetrieb. Standard, wenn eingesteckt.</value>
</data> </data>
<data name="OptimizedUSBC" xml:space="preserve"> <data name="OptimizedUSBC" xml:space="preserve">
<value>GPU beim USB-C Laden im Optimierten Modus deaktiviert lassen</value> <value>dGPU beim USB-C Laden im Optimierten Modus deaktiviert lassen</value>
</data> </data>
<data name="Other" xml:space="preserve"> <data name="Other" xml:space="preserve">
<value>Sonstiges</value> <value>Sonstiges</value>
@@ -438,7 +444,7 @@ Trotzdem fortfahren?</value>
<value>Schließen</value> <value>Schließen</value>
</data> </data>
<data name="RestartGPU" xml:space="preserve"> <data name="RestartGPU" xml:space="preserve">
<value>Ein Prozess verhindert den Wechsel in den Eco Modus. dGPU neustarten? Fortfahren auf eigene Gefahr.</value> <value>Ein Prozess verhindert den Wechsel in den Eco-Modus. dGPU neu starten? Fortfahren auf eigene Gefahr.</value>
</data> </data>
<data name="RPM" xml:space="preserve"> <data name="RPM" xml:space="preserve">
<value>U/Min</value> <value>U/Min</value>
@@ -446,6 +452,12 @@ Trotzdem fortfahren?</value>
<data name="RunOnStartup" xml:space="preserve"> <data name="RunOnStartup" xml:space="preserve">
<value>Beim Start ausführen</value> <value>Beim Start ausführen</value>
</data> </data>
<data name="ScreenPadDown" xml:space="preserve">
<value>Screenpad Helligkeit verringern</value>
</data>
<data name="ScreenPadUp" xml:space="preserve">
<value>Screenpad-Helligkeit erhöhen</value>
</data>
<data name="Shutdown" xml:space="preserve"> <data name="Shutdown" xml:space="preserve">
<value>Herunterfahren</value> <value>Herunterfahren</value>
</data> </data>
@@ -482,6 +494,9 @@ Trotzdem fortfahren?</value>
<data name="ToggleAura" xml:space="preserve"> <data name="ToggleAura" xml:space="preserve">
<value>Aura umschalten</value> <value>Aura umschalten</value>
</data> </data>
<data name="ToggleClamshellMode" xml:space="preserve">
<value>Clamshell Modus automatisch aktivieren</value>
</data>
<data name="ToggleFnLock" xml:space="preserve"> <data name="ToggleFnLock" xml:space="preserve">
<value>FN Sperre umschalten</value> <value>FN Sperre umschalten</value>
</data> </data>
@@ -504,13 +519,13 @@ Trotzdem fortfahren?</value>
<value>Verbindet den Bildschirm mit der dGPU für maximale Leistung.</value> <value>Verbindet den Bildschirm mit der dGPU für maximale Leistung.</value>
</data> </data>
<data name="UltimateMode" xml:space="preserve"> <data name="UltimateMode" xml:space="preserve">
<value>Ultimate</value> <value>Ultimativ</value>
</data> </data>
<data name="UndervoltingRisky" xml:space="preserve"> <data name="UndervoltingRisky" xml:space="preserve">
<value>Die Spannungsabsenkung (Undervolting) ist experimentell und birgt u.U. ein Risik. Wenn die Spannung zu weit abgesenkt wird, wird der Computer instabil und kann abstürzen, was zu Datenverlust führen kann. Es empfiehlt sich mit kleinen Werten anzufangen und es ausgiebig zu testen, um den idealen Wert zu finden.</value> <value>Die Spannungsabsenkung (Undervolting) ist experimentell und birgt u.U. ein Risik. Wenn die Spannung zu weit abgesenkt wird, wird der Computer instabil und kann abstürzen, was zu Datenverlust führen kann. Es empfiehlt sich mit kleinen Werten anzufangen und es ausgiebig zu testen, um den idealen Wert zu finden.</value>
</data> </data>
<data name="Updates" xml:space="preserve"> <data name="Updates" xml:space="preserve">
<value>Updates</value> <value>Aktualisierungen</value>
</data> </data>
<data name="VersionLabel" xml:space="preserve"> <data name="VersionLabel" xml:space="preserve">
<value>Version</value> <value>Version</value>

View File

@@ -139,7 +139,7 @@
<value>Velocidad</value> <value>Velocidad</value>
</data> </data>
<data name="AnimeMatrix" xml:space="preserve"> <data name="AnimeMatrix" xml:space="preserve">
<value>Anime Matrix</value> <value>AniMe Matrix</value>
</data> </data>
<data name="AppAlreadyRunning" xml:space="preserve"> <data name="AppAlreadyRunning" xml:space="preserve">
<value>La apliación ya está ejecutándose</value> <value>La apliación ya está ejecutándose</value>
@@ -193,13 +193,13 @@
<value>Automático</value> <value>Automático</value>
</data> </data>
<data name="AutoRefreshTooltip" xml:space="preserve"> <data name="AutoRefreshTooltip" xml:space="preserve">
<value>Establece 60Hz con batería y vuelve cuando está enchufado</value> <value>Establece 60Hz con batería y revierte cuando está enchufado</value>
</data> </data>
<data name="Awake" xml:space="preserve"> <data name="Awake" xml:space="preserve">
<value>Encendida</value> <value>Encendida</value>
</data> </data>
<data name="BacklightTimeout" xml:space="preserve"> <data name="BacklightTimeout" xml:space="preserve">
<value>Tiempo de espera conectado / con batería (0 - ACT)</value> <value>Tiempo de espera conectado / con batería (0 - ON)</value>
</data> </data>
<data name="Balanced" xml:space="preserve"> <data name="Balanced" xml:space="preserve">
<value>Equilibrado</value> <value>Equilibrado</value>
@@ -207,6 +207,9 @@
<data name="BatteryChargeLimit" xml:space="preserve"> <data name="BatteryChargeLimit" xml:space="preserve">
<value>Límite de carga</value> <value>Límite de carga</value>
</data> </data>
<data name="BatteryHealth" xml:space="preserve">
<value>Salud de la batería</value>
</data>
<data name="BiosAndDriverUpdates" xml:space="preserve"> <data name="BiosAndDriverUpdates" xml:space="preserve">
<value>Actualizaciones de BIOS y Drivers</value> <value>Actualizaciones de BIOS y Drivers</value>
</data> </data>
@@ -222,6 +225,9 @@
<data name="BrightnessUp" xml:space="preserve"> <data name="BrightnessUp" xml:space="preserve">
<value>Subir brillo</value> <value>Subir brillo</value>
</data> </data>
<data name="Charging" xml:space="preserve">
<value>Cargando</value>
</data>
<data name="Color" xml:space="preserve"> <data name="Color" xml:space="preserve">
<value>Color</value> <value>Color</value>
</data> </data>
@@ -253,7 +259,7 @@
<value>Eco</value> <value>Eco</value>
</data> </data>
<data name="EnableOptimusText" xml:space="preserve"> <data name="EnableOptimusText" xml:space="preserve">
<value>Deshabilitar la dGPU cambiando a modo Eco moentras el Modo de Pantalla en el Panel de Control de NVIDIA no está configurado en Optimus puede causar problemas con el control del brillo hasta después del próximo reinicio. <value>Deshabilitar la dGPU cambiando a modo Eco mientras el Modo de Pantalla en el Panel de Control de NVIDIA no está configurado en Optimus puede causar problemas con el control del brillo hasta después del próximo reinicio.
¿Seguro que desea continuar?</value> ¿Seguro que desea continuar?</value>
</data> </data>
@@ -396,7 +402,7 @@
<value>Nuevas actualizaciones</value> <value>Nuevas actualizaciones</value>
</data> </data>
<data name="NoNewUpdates" xml:space="preserve"> <data name="NoNewUpdates" xml:space="preserve">
<value>No hay nuevas actualizaciones</value> <value>No hay actualizaciones</value>
</data> </data>
<data name="OpenGHelper" xml:space="preserve"> <data name="OpenGHelper" xml:space="preserve">
<value>Abrir ventana G-Helper</value> <value>Abrir ventana G-Helper</value>
@@ -446,6 +452,12 @@
<data name="RunOnStartup" xml:space="preserve"> <data name="RunOnStartup" xml:space="preserve">
<value>Ejecutar al inicio</value> <value>Ejecutar al inicio</value>
</data> </data>
<data name="ScreenPadDown" xml:space="preserve">
<value>Bajar brillo ScreenPad</value>
</data>
<data name="ScreenPadUp" xml:space="preserve">
<value>Subir brillo ScreenPad</value>
</data>
<data name="Shutdown" xml:space="preserve"> <data name="Shutdown" xml:space="preserve">
<value>Al apagar</value> <value>Al apagar</value>
</data> </data>
@@ -468,7 +480,7 @@
<value>Iniciando servicios</value> <value>Iniciando servicios</value>
</data> </data>
<data name="StartupError" xml:space="preserve"> <data name="StartupError" xml:space="preserve">
<value>Error de inicio</value> <value>Error al iniciar</value>
</data> </data>
<data name="Stop" xml:space="preserve"> <data name="Stop" xml:space="preserve">
<value>Detener</value> <value>Detener</value>
@@ -482,11 +494,14 @@
<data name="ToggleAura" xml:space="preserve"> <data name="ToggleAura" xml:space="preserve">
<value>Alternar Aura</value> <value>Alternar Aura</value>
</data> </data>
<data name="ToggleClamshellMode" xml:space="preserve">
<value>Cambiar automáticamente a modo Clamshell</value>
</data>
<data name="ToggleFnLock" xml:space="preserve"> <data name="ToggleFnLock" xml:space="preserve">
<value>Alternar Fn-Lock</value> <value>Alternar Fn-Lock</value>
</data> </data>
<data name="ToggleMiniled" xml:space="preserve"> <data name="ToggleMiniled" xml:space="preserve">
<value>Alternar Miniled (si comp.)</value> <value>Alternar Miniled (si compatible)</value>
</data> </data>
<data name="ToggleScreen" xml:space="preserve"> <data name="ToggleScreen" xml:space="preserve">
<value>Alternar pantalla</value> <value>Alternar pantalla</value>

View File

@@ -118,7 +118,7 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<data name="ACPIError" xml:space="preserve"> <data name="ACPIError" xml:space="preserve">
<value>Connexion impossible avec ASUS ACPI. L'application ne peut fonctionner sans. Veuillez installer Asus System Control Interface.</value> <value>Connexion impossible avec ASUS ACPI. L'application ne peut fonctionner sans. Veuillez installer Asus System Control Interface</value>
</data> </data>
<data name="AlertDGPU" xml:space="preserve"> <data name="AlertDGPU" xml:space="preserve">
<value>Le GPU semble être surchargé, voulez vous le désactiver ?</value> <value>Le GPU semble être surchargé, voulez vous le désactiver ?</value>
@@ -148,7 +148,7 @@
<value>G-Helper est déjà en cours d'exécution. Vérifiez la barre d'état système.</value> <value>G-Helper est déjà en cours d'exécution. Vérifiez la barre d'état système.</value>
</data> </data>
<data name="Apply" xml:space="preserve"> <data name="Apply" xml:space="preserve">
<value>Apply</value> <value>Appliquer</value>
</data> </data>
<data name="ApplyFanCurve" xml:space="preserve"> <data name="ApplyFanCurve" xml:space="preserve">
<value>Appliquer la courbe</value> <value>Appliquer la courbe</value>
@@ -160,7 +160,7 @@
<value>Ajustement auto des modes de gestion alim. Windows</value> <value>Ajustement auto des modes de gestion alim. Windows</value>
</data> </data>
<data name="AsusServicesRunning" xml:space="preserve"> <data name="AsusServicesRunning" xml:space="preserve">
<value>Asus Services Running</value> <value>Services Asus actifs</value>
</data> </data>
<data name="AuraBreathe" xml:space="preserve"> <data name="AuraBreathe" xml:space="preserve">
<value>Pulsation</value> <value>Pulsation</value>
@@ -187,7 +187,7 @@
<value>Stroboscopique</value> <value>Stroboscopique</value>
</data> </data>
<data name="AutoApply" xml:space="preserve"> <data name="AutoApply" xml:space="preserve">
<value>Auto Apply</value> <value>Applicage automatique</value>
</data> </data>
<data name="AutoMode" xml:space="preserve"> <data name="AutoMode" xml:space="preserve">
<value>Automatique</value> <value>Automatique</value>
@@ -207,8 +207,11 @@
<data name="BatteryChargeLimit" xml:space="preserve"> <data name="BatteryChargeLimit" xml:space="preserve">
<value>Limite de charge </value> <value>Limite de charge </value>
</data> </data>
<data name="BatteryHealth" xml:space="preserve">
<value>Battery Health</value>
</data>
<data name="BiosAndDriverUpdates" xml:space="preserve"> <data name="BiosAndDriverUpdates" xml:space="preserve">
<value>BIOS and Driver Updates</value> <value>Mise à jour BIOS et pilotes</value>
</data> </data>
<data name="Boot" xml:space="preserve"> <data name="Boot" xml:space="preserve">
<value>Au démarrage</value> <value>Au démarrage</value>
@@ -217,10 +220,13 @@
<value>Luminosité</value> <value>Luminosité</value>
</data> </data>
<data name="BrightnessDown" xml:space="preserve"> <data name="BrightnessDown" xml:space="preserve">
<value>Brightness Down</value> <value>Baisser la luminosité</value>
</data> </data>
<data name="BrightnessUp" xml:space="preserve"> <data name="BrightnessUp" xml:space="preserve">
<value>Brightness Up</value> <value>Augmenter la luminosité</value>
</data>
<data name="Charging" xml:space="preserve">
<value>Chargement en cours</value>
</data> </data>
<data name="Color" xml:space="preserve"> <data name="Color" xml:space="preserve">
<value>Couleur</value> <value>Couleur</value>
@@ -244,7 +250,7 @@
<value>Télécharger la mise à jour</value> <value>Télécharger la mise à jour</value>
</data> </data>
<data name="DriverAndSoftware" xml:space="preserve"> <data name="DriverAndSoftware" xml:space="preserve">
<value>Drivers and Software</value> <value>Pilotes et Logiciels</value>
</data> </data>
<data name="EcoGPUTooltip" xml:space="preserve"> <data name="EcoGPUTooltip" xml:space="preserve">
<value>Désactive le dGPU pour préserver la batterie</value> <value>Désactive le dGPU pour préserver la batterie</value>
@@ -253,12 +259,12 @@
<value>Éco</value> <value>Éco</value>
</data> </data>
<data name="EnableOptimusText" xml:space="preserve"> <data name="EnableOptimusText" xml:space="preserve">
<value>Disabling the dGPU by going into Eco mode while Display Mode in NVIDIA Control Panel is not set to Optimus might cause problems with brightness controls until after the next reboot. <value>Désactiver la dGPU en passant au mode Eco pendant que le mode d'affichage dans le panneau de configuration NVIDIA n'est pas réglé sur Optimus peut causer des problèmes avec les commandes de luminosité jusqu'au prochain redémarrage.
Do you still want to continue?</value> Voulez-vous continuer ?</value>
</data> </data>
<data name="EnableOptimusTitle" xml:space="preserve"> <data name="EnableOptimusTitle" xml:space="preserve">
<value>NVIDIA Display Mode is not set to Optimus</value> <value>Le mode d'affichage NVIDIA n'est pas réglé sur Optimus</value>
</data> </data>
<data name="Extra" xml:space="preserve"> <data name="Extra" xml:space="preserve">
<value>+ d'options</value> <value>+ d'options</value>
@@ -288,13 +294,13 @@ Do you still want to continue?</value>
<value>Ventilateurs + Puissance</value> <value>Ventilateurs + Puissance</value>
</data> </data>
<data name="FanSpeed" xml:space="preserve"> <data name="FanSpeed" xml:space="preserve">
<value>Fan</value> <value>Ventilateur</value>
</data> </data>
<data name="FansPower" xml:space="preserve"> <data name="FansPower" xml:space="preserve">
<value>Ventilateurs + Puissance</value> <value>Ventilateurs + Puissance</value>
</data> </data>
<data name="FnLock" xml:space="preserve"> <data name="FnLock" xml:space="preserve">
<value>Process Fn+F hotkeys without Fn</value> <value>Traiter les raccourcis clavier Fn+F sans Fn</value>
</data> </data>
<data name="GPUBoost" xml:space="preserve"> <data name="GPUBoost" xml:space="preserve">
<value>Dynamic Boost</value> <value>Dynamic Boost</value>
@@ -333,7 +339,7 @@ Do you still want to continue?</value>
<value>Clavier</value> <value>Clavier</value>
</data> </data>
<data name="KillGpuApps" xml:space="preserve"> <data name="KillGpuApps" xml:space="preserve">
<value>Stop all apps using GPU when switching to Eco</value> <value>Arrêter toutes les applications utilisant la dGPU lors du passage au mode Eco</value>
</data> </data>
<data name="LaptopBacklight" xml:space="preserve"> <data name="LaptopBacklight" xml:space="preserve">
<value>Rétroéclairage de l'ordinateur</value> <value>Rétroéclairage de l'ordinateur</value>
@@ -393,10 +399,10 @@ Do you still want to continue?</value>
<value>Désactiver le micro</value> <value>Désactiver le micro</value>
</data> </data>
<data name="NewUpdates" xml:space="preserve"> <data name="NewUpdates" xml:space="preserve">
<value>New updates</value> <value>Nouvelles mises à jour</value>
</data> </data>
<data name="NoNewUpdates" xml:space="preserve"> <data name="NoNewUpdates" xml:space="preserve">
<value>No new updates</value> <value>Aucune mise à jour disponible</value>
</data> </data>
<data name="OpenGHelper" xml:space="preserve"> <data name="OpenGHelper" xml:space="preserve">
<value>Ouvrir G-Helper</value> <value>Ouvrir G-Helper</value>
@@ -446,6 +452,12 @@ Do you still want to continue?</value>
<data name="RunOnStartup" xml:space="preserve"> <data name="RunOnStartup" xml:space="preserve">
<value>Exécuter au démarrage</value> <value>Exécuter au démarrage</value>
</data> </data>
<data name="ScreenPadDown" xml:space="preserve">
<value>Baisser la luminosité du Screenpad</value>
</data>
<data name="ScreenPadUp" xml:space="preserve">
<value>Augmenter la luminosité du Screenpad</value>
</data>
<data name="Shutdown" xml:space="preserve"> <data name="Shutdown" xml:space="preserve">
<value>Arrêter</value> <value>Arrêter</value>
</data> </data>
@@ -462,10 +474,10 @@ Do you still want to continue?</value>
<value>Standard</value> <value>Standard</value>
</data> </data>
<data name="Start" xml:space="preserve"> <data name="Start" xml:space="preserve">
<value>Start</value> <value>Démarrer</value>
</data> </data>
<data name="StartingServices" xml:space="preserve"> <data name="StartingServices" xml:space="preserve">
<value>Starting Services</value> <value>Démarrage des services</value>
</data> </data>
<data name="StartupError" xml:space="preserve"> <data name="StartupError" xml:space="preserve">
<value>Erreur au lancement</value> <value>Erreur au lancement</value>
@@ -474,16 +486,19 @@ Do you still want to continue?</value>
<value>Stop</value> <value>Stop</value>
</data> </data>
<data name="StopGPUApps" xml:space="preserve"> <data name="StopGPUApps" xml:space="preserve">
<value>Stop GPU Applications</value> <value>Arrêt des applications dGPU</value>
</data> </data>
<data name="StoppingServices" xml:space="preserve"> <data name="StoppingServices" xml:space="preserve">
<value>Stopping Services</value> <value>Arrêt des services</value>
</data> </data>
<data name="ToggleAura" xml:space="preserve"> <data name="ToggleAura" xml:space="preserve">
<value>Activer Aura</value> <value>Activer Aura</value>
</data> </data>
<data name="ToggleClamshellMode" xml:space="preserve">
<value>Basculer automatiquement en mode Clamshell</value>
</data>
<data name="ToggleFnLock" xml:space="preserve"> <data name="ToggleFnLock" xml:space="preserve">
<value>Toggle Fn-Lock</value> <value>Activer/désactiver Fn-Lock</value>
</data> </data>
<data name="ToggleMiniled" xml:space="preserve"> <data name="ToggleMiniled" xml:space="preserve">
<value>Activer Miniled (si supporté)</value> <value>Activer Miniled (si supporté)</value>
@@ -507,10 +522,10 @@ Do you still want to continue?</value>
<value>Ultime</value> <value>Ultime</value>
</data> </data>
<data name="UndervoltingRisky" xml:space="preserve"> <data name="UndervoltingRisky" xml:space="preserve">
<value>Undervolting is an experimental and risky feature. If applied values are too low for your hardware, it can become unstable, shut down or cause data corruption. If you want to try - start from small values first, click Apply and test what works for you.</value> <value>L'undervolting est une fonctionnalité expérimentale et risquée. Si les valeurs appliquées sont trop faibles, elles peuvent causer de l'instabilité, éteindre l'ordinateur ou causer une corruption de données. Si vous voulez essayer - commencer avec des petites valeurs, cliquez sur Appliquer et testez ce qui fonctionne pour vous.</value>
</data> </data>
<data name="Updates" xml:space="preserve"> <data name="Updates" xml:space="preserve">
<value>Updates</value> <value>Mises à jour</value>
</data> </data>
<data name="VersionLabel" xml:space="preserve"> <data name="VersionLabel" xml:space="preserve">
<value>Version </value> <value>Version </value>

View File

@@ -207,6 +207,9 @@
<data name="BatteryChargeLimit" xml:space="preserve"> <data name="BatteryChargeLimit" xml:space="preserve">
<value>Töltési korlát</value> <value>Töltési korlát</value>
</data> </data>
<data name="BatteryHealth" xml:space="preserve">
<value>Battery Health</value>
</data>
<data name="BiosAndDriverUpdates" xml:space="preserve"> <data name="BiosAndDriverUpdates" xml:space="preserve">
<value>BIOS és illesztőprogram frissítések</value> <value>BIOS és illesztőprogram frissítések</value>
</data> </data>
@@ -222,6 +225,9 @@
<data name="BrightnessUp" xml:space="preserve"> <data name="BrightnessUp" xml:space="preserve">
<value>Fényerő növelése</value> <value>Fényerő növelése</value>
</data> </data>
<data name="Charging" xml:space="preserve">
<value>Charging</value>
</data>
<data name="Color" xml:space="preserve"> <data name="Color" xml:space="preserve">
<value>Szín</value> <value>Szín</value>
</data> </data>
@@ -446,6 +452,12 @@ Do you still want to continue?</value>
<data name="RunOnStartup" xml:space="preserve"> <data name="RunOnStartup" xml:space="preserve">
<value>Futtatás rendszerindításkor</value> <value>Futtatás rendszerindításkor</value>
</data> </data>
<data name="ScreenPadDown" xml:space="preserve">
<value>Screenpad Brightness Down</value>
</data>
<data name="ScreenPadUp" xml:space="preserve">
<value>Screenpad Brightness Up</value>
</data>
<data name="Shutdown" xml:space="preserve"> <data name="Shutdown" xml:space="preserve">
<value>Leállítás</value> <value>Leállítás</value>
</data> </data>
@@ -482,6 +494,9 @@ Do you still want to continue?</value>
<data name="ToggleAura" xml:space="preserve"> <data name="ToggleAura" xml:space="preserve">
<value>AURA ki-/bekapcsolása</value> <value>AURA ki-/bekapcsolása</value>
</data> </data>
<data name="ToggleClamshellMode" xml:space="preserve">
<value>Auto Toggle Clamshell Mode</value>
</data>
<data name="ToggleFnLock" xml:space="preserve"> <data name="ToggleFnLock" xml:space="preserve">
<value>Fn-Lock ki-/bekapcsolása</value> <value>Fn-Lock ki-/bekapcsolása</value>
</data> </data>

View File

@@ -118,7 +118,7 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<data name="ACPIError" xml:space="preserve"> <data name="ACPIError" xml:space="preserve">
<value>Impossibile connettersi ad ASUS ACPI. Senza di essa l'applicazione non può funzionare. Prova ad installare Asus System Control Interface</value> <value>Impossibile connettersi ad ASUS ACPI. Senza di essa l'applicazione non può funzionare. Prova a installare Asus Satem Contro Interfacce</value>
</data> </data>
<data name="AlertDGPU" xml:space="preserve"> <data name="AlertDGPU" xml:space="preserve">
<value>Uso intensivo della GPU, disabilitare?</value> <value>Uso intensivo della GPU, disabilitare?</value>
@@ -207,6 +207,9 @@
<data name="BatteryChargeLimit" xml:space="preserve"> <data name="BatteryChargeLimit" xml:space="preserve">
<value>Limite Ricarica Batteria</value> <value>Limite Ricarica Batteria</value>
</data> </data>
<data name="BatteryHealth" xml:space="preserve">
<value>Salute Batteria</value>
</data>
<data name="BiosAndDriverUpdates" xml:space="preserve"> <data name="BiosAndDriverUpdates" xml:space="preserve">
<value>Aggiornamenti Driver e BIOS</value> <value>Aggiornamenti Driver e BIOS</value>
</data> </data>
@@ -222,11 +225,14 @@
<data name="BrightnessUp" xml:space="preserve"> <data name="BrightnessUp" xml:space="preserve">
<value>Aumenta Luminosità</value> <value>Aumenta Luminosità</value>
</data> </data>
<data name="Charging" xml:space="preserve">
<value>In carica</value>
</data>
<data name="Color" xml:space="preserve"> <data name="Color" xml:space="preserve">
<value>Colore</value> <value>Colore</value>
</data> </data>
<data name="CPUBoost" xml:space="preserve"> <data name="CPUBoost" xml:space="preserve">
<value>CPU Boost</value> <value>Boost CPU</value>
</data> </data>
<data name="Custom" xml:space="preserve"> <data name="Custom" xml:space="preserve">
<value>Personalizzato</value> <value>Personalizzato</value>
@@ -408,7 +414,7 @@ Sei sicuro di voler continuare?</value>
<value>Passa ad Eco se alimentato a batteria e a Standard quando in carica</value> <value>Passa ad Eco se alimentato a batteria e a Standard quando in carica</value>
</data> </data>
<data name="OptimizedUSBC" xml:space="preserve"> <data name="OptimizedUSBC" xml:space="preserve">
<value>Lascia la GPU disabilitata sulla porta USB-C in modalità Ottimizzata</value> <value>Disabilita GPU durante ricarica tramite USB-C in modalità Ottimizzata</value>
</data> </data>
<data name="Other" xml:space="preserve"> <data name="Other" xml:space="preserve">
<value>Altro</value> <value>Altro</value>
@@ -446,6 +452,12 @@ Sei sicuro di voler continuare?</value>
<data name="RunOnStartup" xml:space="preserve"> <data name="RunOnStartup" xml:space="preserve">
<value>Esegui all'Avvio</value> <value>Esegui all'Avvio</value>
</data> </data>
<data name="ScreenPadDown" xml:space="preserve">
<value>Riduci luminosità Screenpad</value>
</data>
<data name="ScreenPadUp" xml:space="preserve">
<value>Aumenta luminosità Screenpad</value>
</data>
<data name="Shutdown" xml:space="preserve"> <data name="Shutdown" xml:space="preserve">
<value>Spegnimento</value> <value>Spegnimento</value>
</data> </data>
@@ -482,6 +494,9 @@ Sei sicuro di voler continuare?</value>
<data name="ToggleAura" xml:space="preserve"> <data name="ToggleAura" xml:space="preserve">
<value>Alterna Aura</value> <value>Alterna Aura</value>
</data> </data>
<data name="ToggleClamshellMode" xml:space="preserve">
<value>Attiva automaticamente la modalità a conchiglia</value>
</data>
<data name="ToggleFnLock" xml:space="preserve"> <data name="ToggleFnLock" xml:space="preserve">
<value>Alterna Blocco-Fn</value> <value>Alterna Blocco-Fn</value>
</data> </data>

View File

@@ -148,7 +148,7 @@
<value>G-Helper가 이미 실행중입니다. 시스템 트레이에서 아이콘을 확인하십시오.</value> <value>G-Helper가 이미 실행중입니다. 시스템 트레이에서 아이콘을 확인하십시오.</value>
</data> </data>
<data name="Apply" xml:space="preserve"> <data name="Apply" xml:space="preserve">
<value>Apply</value> <value>적용</value>
</data> </data>
<data name="ApplyFanCurve" xml:space="preserve"> <data name="ApplyFanCurve" xml:space="preserve">
<value>사용자 설정 팬 커브 적용</value> <value>사용자 설정 팬 커브 적용</value>
@@ -187,7 +187,7 @@
<value>Strobe</value> <value>Strobe</value>
</data> </data>
<data name="AutoApply" xml:space="preserve"> <data name="AutoApply" xml:space="preserve">
<value>Auto Apply</value> <value>자동 적용</value>
</data> </data>
<data name="AutoMode" xml:space="preserve"> <data name="AutoMode" xml:space="preserve">
<value>자동</value> <value>자동</value>
@@ -199,7 +199,7 @@
<value>Awake</value> <value>Awake</value>
</data> </data>
<data name="BacklightTimeout" xml:space="preserve"> <data name="BacklightTimeout" xml:space="preserve">
<value>배터리 사용 중 백라이트 자동 꺼짐</value> <value>전원 연결 / 배터리 사용 중 자동 꺼짐 시간 (0 - 항상 켜짐)</value>
</data> </data>
<data name="Balanced" xml:space="preserve"> <data name="Balanced" xml:space="preserve">
<value>균형</value> <value>균형</value>
@@ -207,6 +207,9 @@
<data name="BatteryChargeLimit" xml:space="preserve"> <data name="BatteryChargeLimit" xml:space="preserve">
<value>배터리 충전 제한</value> <value>배터리 충전 제한</value>
</data> </data>
<data name="BatteryHealth" xml:space="preserve">
<value>Battery Health</value>
</data>
<data name="BiosAndDriverUpdates" xml:space="preserve"> <data name="BiosAndDriverUpdates" xml:space="preserve">
<value>바이오스/드라이버 업데이트</value> <value>바이오스/드라이버 업데이트</value>
</data> </data>
@@ -222,6 +225,9 @@
<data name="BrightnessUp" xml:space="preserve"> <data name="BrightnessUp" xml:space="preserve">
<value>밝기 증가</value> <value>밝기 증가</value>
</data> </data>
<data name="Charging" xml:space="preserve">
<value>Charging</value>
</data>
<data name="Color" xml:space="preserve"> <data name="Color" xml:space="preserve">
<value>색상</value> <value>색상</value>
</data> </data>
@@ -253,12 +259,12 @@
<value>Eco</value> <value>Eco</value>
</data> </data>
<data name="EnableOptimusText" xml:space="preserve"> <data name="EnableOptimusText" xml:space="preserve">
<value>Disabling the dGPU by going into Eco mode while Display Mode in NVIDIA Control Panel is not set to Optimus might cause problems with brightness controls until after the next reboot. <value>NVIDIA 디스플레이 모드가 Optimus로 설정되어 있지 않을 때 Eco 모드로 전환하여 dGPU를 비활성화하면 다시 시작하기 전까지 밝기 조절 문제가 생길 수 있습니다.
Do you still want to continue?</value> 계속하시겠습니까?</value>
</data> </data>
<data name="EnableOptimusTitle" xml:space="preserve"> <data name="EnableOptimusTitle" xml:space="preserve">
<value>NVIDIA Display Mode is not set to Optimus</value> <value>NVIDIA 디스플레이 모드가 Optimus로 설정되어 있지 않습니다.</value>
</data> </data>
<data name="Extra" xml:space="preserve"> <data name="Extra" xml:space="preserve">
<value>추가 설정</value> <value>추가 설정</value>
@@ -393,10 +399,10 @@ Do you still want to continue?</value>
<value>마이크 음소거</value> <value>마이크 음소거</value>
</data> </data>
<data name="NewUpdates" xml:space="preserve"> <data name="NewUpdates" xml:space="preserve">
<value>New updates</value> <value>새 업데이트</value>
</data> </data>
<data name="NoNewUpdates" xml:space="preserve"> <data name="NoNewUpdates" xml:space="preserve">
<value>No new updates</value> <value>새 업데이트 없음</value>
</data> </data>
<data name="OpenGHelper" xml:space="preserve"> <data name="OpenGHelper" xml:space="preserve">
<value>G-Helper 열기</value> <value>G-Helper 열기</value>
@@ -429,7 +435,7 @@ Do you still want to continue?</value>
<value>전력 제한</value> <value>전력 제한</value>
</data> </data>
<data name="PPTExperimental" xml:space="preserve"> <data name="PPTExperimental" xml:space="preserve">
<value>전력 제한 은 실험적인 기능입니다. 주의하여 사용하세요!</value> <value>전력 제한은 실험적인 기능입니다. 주의하여 사용하세요!</value>
</data> </data>
<data name="PrintScreen" xml:space="preserve"> <data name="PrintScreen" xml:space="preserve">
<value>PrintScreen</value> <value>PrintScreen</value>
@@ -446,6 +452,12 @@ Do you still want to continue?</value>
<data name="RunOnStartup" xml:space="preserve"> <data name="RunOnStartup" xml:space="preserve">
<value>시스템 시작 시 실행</value> <value>시스템 시작 시 실행</value>
</data> </data>
<data name="ScreenPadDown" xml:space="preserve">
<value>Screenpad 밝기 감소</value>
</data>
<data name="ScreenPadUp" xml:space="preserve">
<value>Screenpad 밝기 증가</value>
</data>
<data name="Shutdown" xml:space="preserve"> <data name="Shutdown" xml:space="preserve">
<value>꺼짐</value> <value>꺼짐</value>
</data> </data>
@@ -474,7 +486,7 @@ Do you still want to continue?</value>
<value>중지</value> <value>중지</value>
</data> </data>
<data name="StopGPUApps" xml:space="preserve"> <data name="StopGPUApps" xml:space="preserve">
<value>Stop GPU Applications</value> <value>GPU를 사용하는 앱 중지</value>
</data> </data>
<data name="StoppingServices" xml:space="preserve"> <data name="StoppingServices" xml:space="preserve">
<value>서비스 중지 중</value> <value>서비스 중지 중</value>
@@ -482,6 +494,9 @@ Do you still want to continue?</value>
<data name="ToggleAura" xml:space="preserve"> <data name="ToggleAura" xml:space="preserve">
<value>Aura 토글 키</value> <value>Aura 토글 키</value>
</data> </data>
<data name="ToggleClamshellMode" xml:space="preserve">
<value>Auto Toggle Clamshell Mode</value>
</data>
<data name="ToggleFnLock" xml:space="preserve"> <data name="ToggleFnLock" xml:space="preserve">
<value>Fn-Lock 토글 키</value> <value>Fn-Lock 토글 키</value>
</data> </data>
@@ -507,7 +522,7 @@ Do you still want to continue?</value>
<value>Ultimate</value> <value>Ultimate</value>
</data> </data>
<data name="UndervoltingRisky" xml:space="preserve"> <data name="UndervoltingRisky" xml:space="preserve">
<value>Undervolting is an experimental and risky feature. If applied values are too low for your hardware, it can become unstable, shut down or cause data corruption. If you want to try - start from small values first, click Apply and test what works for you.</value> <value>언더볼팅은 실험적이며 위험한 기능입니다. 적용 값이 너무 낮은 경우 시스템이 불안정해지고, 종료되거나 데이터 손상을 유발할 수 있습니다. 작은 값부터 적용하여 잘 작동하는지 확인해 보십시오.</value>
</data> </data>
<data name="Updates" xml:space="preserve"> <data name="Updates" xml:space="preserve">
<value>업데이트</value> <value>업데이트</value>

View File

@@ -0,0 +1,545 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string"/>
<xsd:attribute name="type" type="xsd:string"/>
<xsd:attribute name="mimetype" type="xsd:string"/>
<xsd:attribute ref="xml:space"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string"/>
<xsd:attribute name="name" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/>
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/>
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/>
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/>
<xsd:attribute ref="xml:space"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="ACPIError" xml:space="preserve">
<value>Nepavyko prisijungti prie ASUS ACPI. Programėlė be jo negali veikti. Pabandykite įdiegti Asus System Control Interface</value>
</data>
<data name="AlertDGPU" xml:space="preserve">
<value>Panašu, kad jūsų GPU yra intensyviai naudojamas. Išjungti jį?</value>
</data>
<data name="AlertDGPUTitle" xml:space="preserve">
<value>Ekonomiškas režimas</value>
</data>
<data name="AlertUltimateOff" xml:space="preserve">
<value>Maksimalaus režimo išjungimas reikalauja paleidimo iš naujo</value>
</data>
<data name="AlertUltimateOn" xml:space="preserve">
<value>Maksimalus režimas reikalauja paleidimo iš naujo</value>
</data>
<data name="AlertUltimateTitle" xml:space="preserve">
<value>Paleisti iš naujo dabar?</value>
</data>
<data name="AnimationSpeed" xml:space="preserve">
<value>Animacijos greitis</value>
</data>
<data name="AnimeMatrix" xml:space="preserve">
<value>Anime matrica</value>
</data>
<data name="AppAlreadyRunning" xml:space="preserve">
<value>Programėlė jau paleista</value>
</data>
<data name="AppAlreadyRunningText" xml:space="preserve">
<value>G-Helper jau paleistas. Patikrinkite, ar sistemos juostelėje nėra piktogramos.</value>
</data>
<data name="Apply" xml:space="preserve">
<value>Taikyti</value>
</data>
<data name="ApplyFanCurve" xml:space="preserve">
<value>Taikyti tinkintą aušintuvo kreivę</value>
</data>
<data name="ApplyPowerLimits" xml:space="preserve">
<value>Taikyti galios ribas</value>
</data>
<data name="ApplyWindowsPowerPlan" xml:space="preserve">
<value>Automatiškai derinti Windows energijos režimus</value>
</data>
<data name="AsusServicesRunning" xml:space="preserve">
<value>Veikiančios Asus tarnybos</value>
</data>
<data name="AuraBreathe" xml:space="preserve">
<value>Kvėpavimas</value>
</data>
<data name="AuraColorCycle" xml:space="preserve">
<value>Spalvų ciklas</value>
</data>
<data name="AuraFast" xml:space="preserve">
<value>Greitas</value>
</data>
<data name="AuraNormal" xml:space="preserve">
<value>Normalus</value>
</data>
<data name="AuraRainbow" xml:space="preserve">
<value>Vaivorykštė</value>
</data>
<data name="AuraSlow" xml:space="preserve">
<value>Lėtas</value>
</data>
<data name="AuraStatic" xml:space="preserve">
<value>Statinis</value>
</data>
<data name="AuraStrobe" xml:space="preserve">
<value>Blyksniai</value>
</data>
<data name="AutoApply" xml:space="preserve">
<value>Taikyti automatiškai</value>
</data>
<data name="AutoMode" xml:space="preserve">
<value>Autom.</value>
</data>
<data name="AutoRefreshTooltip" xml:space="preserve">
<value>Nustato 60Hz, kad išsaugotų akumuliatoriaus įkrovą, ir atgal, kai prijungtas prie lizdo</value>
</data>
<data name="Awake" xml:space="preserve">
<value>Pabudęs</value>
</data>
<data name="BacklightTimeout" xml:space="preserve">
<value>Skirtasis laikas naudojant lizdą / akumuliatorių (0 ĮJUNGTA)</value>
</data>
<data name="Balanced" xml:space="preserve">
<value>Balansuotas</value>
</data>
<data name="BatteryChargeLimit" xml:space="preserve">
<value>Akumuliatoriaus įkrovos riba</value>
</data>
<data name="BatteryHealth" xml:space="preserve">
<value>Akumuliatoriaus sveikata</value>
</data>
<data name="BiosAndDriverUpdates" xml:space="preserve">
<value>BIOS ir tvarkyklių naujinimai</value>
</data>
<data name="Boot" xml:space="preserve">
<value>Paleidimas</value>
</data>
<data name="Brightness" xml:space="preserve">
<value>Ryškumas</value>
</data>
<data name="BrightnessDown" xml:space="preserve">
<value>Ryškumo mažinimas</value>
</data>
<data name="BrightnessUp" xml:space="preserve">
<value>Ryškumo didinimas</value>
</data>
<data name="Charging" xml:space="preserve">
<value>Įkrovimas</value>
</data>
<data name="Color" xml:space="preserve">
<value>Spalva</value>
</data>
<data name="CPUBoost" xml:space="preserve">
<value>CPU spartinimas</value>
</data>
<data name="Custom" xml:space="preserve">
<value>Tinkinta</value>
</data>
<data name="Default" xml:space="preserve">
<value>Numatytas</value>
</data>
<data name="DisableOverdrive" xml:space="preserve">
<value>Išjungti ekrano pikselių spartinimą</value>
</data>
<data name="Discharging" xml:space="preserve">
<value>Iškrovimas</value>
</data>
<data name="DownloadUpdate" xml:space="preserve">
<value>Atsisiųsti naujinimą</value>
</data>
<data name="DriverAndSoftware" xml:space="preserve">
<value>Tvarkyklės ir programinė įranga</value>
</data>
<data name="EcoGPUTooltip" xml:space="preserve">
<value>Išjungia dGPU, kad stokotų akumuliatorių</value>
</data>
<data name="EcoMode" xml:space="preserve">
<value>Ekonomiškas</value>
</data>
<data name="EnableOptimusText" xml:space="preserve">
<value>Jei ekrano režimas NVIDIA valdymo skyde yra nenustatytas į Optimus, kai dGPU yra išjungtas perjungus į ekonominį režimą, gali kilti problemų su ryškumo valdymu iki kito paleidimo iš naujo.
Vis tiek norite tęsti?</value>
</data>
<data name="EnableOptimusTitle" xml:space="preserve">
<value>NVIDIA ekrano režimas nenustatytas į Optimus</value>
</data>
<data name="Extra" xml:space="preserve">
<value>Išplėstiniai</value>
</data>
<data name="ExtraSettings" xml:space="preserve">
<value>Išplėstiniai nustatymai</value>
</data>
<data name="FactoryDefaults" xml:space="preserve">
<value>Numatytieji</value>
</data>
<data name="FanCurves" xml:space="preserve">
<value>Aušintuvų kreivės</value>
</data>
<data name="FanProfileCPU" xml:space="preserve">
<value>CPU aušintuvo profilis</value>
</data>
<data name="FanProfileGPU" xml:space="preserve">
<value>GPU aušintuvo profilis</value>
</data>
<data name="FanProfileMid" xml:space="preserve">
<value>Vidurinio aušintuvo profilis</value>
</data>
<data name="FanProfiles" xml:space="preserve">
<value>Aušintuvų profiliai</value>
</data>
<data name="FansAndPower" xml:space="preserve">
<value>Aušintuvai ir galia</value>
</data>
<data name="FanSpeed" xml:space="preserve">
<value>Aušintuvas</value>
</data>
<data name="FansPower" xml:space="preserve">
<value>Aušintuvai + galia</value>
</data>
<data name="FnLock" xml:space="preserve">
<value>Apdoroti Fn+F sparčiuosius klavišus be Fn</value>
</data>
<data name="GPUBoost" xml:space="preserve">
<value>Dinaminis spartinimas</value>
</data>
<data name="GPUChanging" xml:space="preserve">
<value>Keičiamas</value>
</data>
<data name="GPUCoreClockOffset" xml:space="preserve">
<value>Branduolių taktų poslinkis</value>
</data>
<data name="GPUMemoryClockOffset" xml:space="preserve">
<value>Atminties taktų poslinkis</value>
</data>
<data name="GPUMode" xml:space="preserve">
<value>GPU režimas</value>
</data>
<data name="GPUModeEco" xml:space="preserve">
<value>Tik iGPU</value>
</data>
<data name="GPUModeStandard" xml:space="preserve">
<value>iGPU + dGPU</value>
</data>
<data name="GPUModeUltimate" xml:space="preserve">
<value>Tik dGPU</value>
</data>
<data name="GPUSettings" xml:space="preserve">
<value>GPU nustatymai</value>
</data>
<data name="GPUTempTarget" xml:space="preserve">
<value>Temperatūros tikslas</value>
</data>
<data name="KeyBindings" xml:space="preserve">
<value>Klavišų priskyrimas</value>
</data>
<data name="Keyboard" xml:space="preserve">
<value>Klaviatūra</value>
</data>
<data name="KillGpuApps" xml:space="preserve">
<value>Sustabdyti visas GPU naudojančias programėles, kai perjungiama į ekonomišką režimą</value>
</data>
<data name="LaptopBacklight" xml:space="preserve">
<value>Nešiojamojo kompiuterio apšvietimas</value>
</data>
<data name="LaptopKeyboard" xml:space="preserve">
<value>Nešiojamojo kompiuterio klaviatūra</value>
</data>
<data name="LaptopScreen" xml:space="preserve">
<value>Nešiojamojo kompiuterio ekranas</value>
</data>
<data name="Lid" xml:space="preserve">
<value>Korpusas</value>
</data>
<data name="Lightbar" xml:space="preserve">
<value>Šviesos juosta</value>
</data>
<data name="Logo" xml:space="preserve">
<value>Logotipas</value>
</data>
<data name="MatrixAudio" xml:space="preserve">
<value>Garso vizualizatorius</value>
</data>
<data name="MatrixBanner" xml:space="preserve">
<value>Dvejetainė vėliava</value>
</data>
<data name="MatrixBright" xml:space="preserve">
<value>Šviesi</value>
</data>
<data name="MatrixClock" xml:space="preserve">
<value>Laikrodis</value>
</data>
<data name="MatrixDim" xml:space="preserve">
<value>Temdymas</value>
</data>
<data name="MatrixLogo" xml:space="preserve">
<value>Rog logotipas</value>
</data>
<data name="MatrixMedium" xml:space="preserve">
<value>Vidutinis</value>
</data>
<data name="MatrixOff" xml:space="preserve">
<value>Išjungta</value>
</data>
<data name="MatrixPicture" xml:space="preserve">
<value>Paveikslėlis</value>
</data>
<data name="MaxRefreshTooltip" xml:space="preserve">
<value>Maksimalus kadrų dažnis už mažesnę delsą</value>
</data>
<data name="MinRefreshTooltip" xml:space="preserve">
<value>60Hz kadrų dažnis, kad stokotumėte akumuliatorių</value>
</data>
<data name="Multizone" xml:space="preserve">
<value>Daugiazonė</value>
</data>
<data name="MuteMic" xml:space="preserve">
<value>Mikrofono nutildymas</value>
</data>
<data name="NewUpdates" xml:space="preserve">
<value>Nauji naujinimai</value>
</data>
<data name="NoNewUpdates" xml:space="preserve">
<value>Nėra naujų naujinimų</value>
</data>
<data name="OpenGHelper" xml:space="preserve">
<value>Atidaryti G-Helper langą</value>
</data>
<data name="Optimized" xml:space="preserve">
<value>Optimizuotas</value>
</data>
<data name="OptimizedGPUTooltip" xml:space="preserve">
<value>Perjungti į ekonomišką, kai naudojamas akumuliatorius, ir į standartinį, kai prijungtas prie lizdo</value>
</data>
<data name="OptimizedUSBC" xml:space="preserve">
<value>Neįjungti GPU, kai naudojamas USB-C įkroviklis optimizuotame režime</value>
</data>
<data name="Other" xml:space="preserve">
<value>Kita</value>
</data>
<data name="Overdrive" xml:space="preserve">
<value>Pikselių spartinimas</value>
</data>
<data name="PerformanceMode" xml:space="preserve">
<value>Režimas</value>
</data>
<data name="PictureGif" xml:space="preserve">
<value>Paveikslėlis / GIF</value>
</data>
<data name="PlayPause" xml:space="preserve">
<value>Paleisti / Pristabdyti</value>
</data>
<data name="PowerLimits" xml:space="preserve">
<value>Galios ribos</value>
</data>
<data name="PPTExperimental" xml:space="preserve">
<value>Galios ribos yra eksperimentinė funkcija. Naudokitės atsargiai!</value>
</data>
<data name="PrintScreen" xml:space="preserve">
<value>Ekrano kopija</value>
</data>
<data name="Quit" xml:space="preserve">
<value>Išeiti</value>
</data>
<data name="RestartGPU" xml:space="preserve">
<value>Kažkas naudoja dGPU ir neleidžia nustatyti ekonomiško režimo. Iš naujo paleisti dGPU įrenginių tvarkytuvėje? * Tęskite savo rizika.</value>
</data>
<data name="RPM" xml:space="preserve">
<value>RPM</value>
</data>
<data name="RunOnStartup" xml:space="preserve">
<value>Paleisti įjungus sistemą</value>
</data>
<data name="ScreenPadDown" xml:space="preserve">
<value>Ekrano skydelio ryškumo mažinimas</value>
</data>
<data name="ScreenPadUp" xml:space="preserve">
<value>Ekrano skydelio ryškumo didinimas</value>
</data>
<data name="Shutdown" xml:space="preserve">
<value>Išjungimas</value>
</data>
<data name="Silent" xml:space="preserve">
<value>Tylus</value>
</data>
<data name="Sleep" xml:space="preserve">
<value>Miegas</value>
</data>
<data name="StandardGPUTooltip" xml:space="preserve">
<value>Įjungia dGPU įprastam naudojimui</value>
</data>
<data name="StandardMode" xml:space="preserve">
<value>Įprastas</value>
</data>
<data name="Start" xml:space="preserve">
<value>Paleisti</value>
</data>
<data name="StartingServices" xml:space="preserve">
<value>Paleidžiamos tarnybos</value>
</data>
<data name="StartupError" xml:space="preserve">
<value>Paleidimo klaida</value>
</data>
<data name="Stop" xml:space="preserve">
<value>Stabdyti</value>
</data>
<data name="StopGPUApps" xml:space="preserve">
<value>Stabdyti GPU programėles</value>
</data>
<data name="StoppingServices" xml:space="preserve">
<value>Stabdomos tarnybos</value>
</data>
<data name="ToggleAura" xml:space="preserve">
<value>Perjungti Aura</value>
</data>
<data name="ToggleClamshellMode" xml:space="preserve">
<value>Automatiškai perjungti Clamshell režimą</value>
</data>
<data name="ToggleFnLock" xml:space="preserve">
<value>Perjungti Fn-Lock</value>
</data>
<data name="ToggleMiniled" xml:space="preserve">
<value>Perjungti Miniled (jei palaikoma)</value>
</data>
<data name="ToggleScreen" xml:space="preserve">
<value>Perjungti ekraną</value>
</data>
<data name="Turbo" xml:space="preserve">
<value>Turbo</value>
</data>
<data name="TurnedOff" xml:space="preserve">
<value>Išjungta</value>
</data>
<data name="TurnOffOnBattery" xml:space="preserve">
<value>Išjungti naudojant akumuliatorių</value>
</data>
<data name="UltimateGPUTooltip" xml:space="preserve">
<value>Nukreipia nešiojamojo kompiuterio ekraną į dGPU, kad maksimizuotų kadrų dažnį</value>
</data>
<data name="UltimateMode" xml:space="preserve">
<value>Maksimalus</value>
</data>
<data name="UndervoltingRisky" xml:space="preserve">
<value>Įtampos mažinimas yra eksperimentinė ir pavojinga funkcija. Jei pritaikytos reikšmės yra per mažos jūsų aparatinei įrangai, ji gali tapti nestabili, išsijungti arba pažeisti duomenų vientisumą. Jei norite pabandyti, iš pirmo pradėkite nuo mažų reikšmių, spustelėkite „Taikyti“ ir išbandykite, kas jums tinka.</value>
</data>
<data name="Updates" xml:space="preserve">
<value>Naujinimai</value>
</data>
<data name="VersionLabel" xml:space="preserve">
<value>Versija</value>
</data>
<data name="VolumeDown" xml:space="preserve">
<value>Garsumo mažinimas</value>
</data>
<data name="VolumeMute" xml:space="preserve">
<value>Garsumo nutildymas</value>
</data>
<data name="VolumeUp" xml:space="preserve">
<value>Garsumo didinimas</value>
</data>
<data name="WindowTop" xml:space="preserve">
<value>Visada rodyti programėlės langą viršuje</value>
</data>
</root>

View File

@@ -157,7 +157,7 @@
<value>Zastosuj limity</value> <value>Zastosuj limity</value>
</data> </data>
<data name="ApplyWindowsPowerPlan" xml:space="preserve"> <data name="ApplyWindowsPowerPlan" xml:space="preserve">
<value>Automatycznie dostosuj Plan Zasilania Windows</value> <value>Dostosuj systemowy Tryb Zasilania</value>
</data> </data>
<data name="AsusServicesRunning" xml:space="preserve"> <data name="AsusServicesRunning" xml:space="preserve">
<value>Uruchomione usługi Asus</value> <value>Uruchomione usługi Asus</value>
@@ -207,6 +207,9 @@
<data name="BatteryChargeLimit" xml:space="preserve"> <data name="BatteryChargeLimit" xml:space="preserve">
<value>Limit ładowania baterii</value> <value>Limit ładowania baterii</value>
</data> </data>
<data name="BatteryHealth" xml:space="preserve">
<value>Stan baterii</value>
</data>
<data name="BiosAndDriverUpdates" xml:space="preserve"> <data name="BiosAndDriverUpdates" xml:space="preserve">
<value>Aktualizacje BIOS i sterowników</value> <value>Aktualizacje BIOS i sterowników</value>
</data> </data>
@@ -222,6 +225,9 @@
<data name="BrightnessUp" xml:space="preserve"> <data name="BrightnessUp" xml:space="preserve">
<value>Zwiększ jasność</value> <value>Zwiększ jasność</value>
</data> </data>
<data name="Charging" xml:space="preserve">
<value>Ładowanie</value>
</data>
<data name="Color" xml:space="preserve"> <data name="Color" xml:space="preserve">
<value>Kolor</value> <value>Kolor</value>
</data> </data>
@@ -288,7 +294,7 @@ Nadal chcesz kontynuować?</value>
<value>Wentylatory i moc</value> <value>Wentylatory i moc</value>
</data> </data>
<data name="FanSpeed" xml:space="preserve"> <data name="FanSpeed" xml:space="preserve">
<value>Wentylator</value> <value>Went</value>
</data> </data>
<data name="FansPower" xml:space="preserve"> <data name="FansPower" xml:space="preserve">
<value>Dostosuj</value> <value>Dostosuj</value>
@@ -446,6 +452,12 @@ Nadal chcesz kontynuować?</value>
<data name="RunOnStartup" xml:space="preserve"> <data name="RunOnStartup" xml:space="preserve">
<value>Uruchom przy starcie systemu</value> <value>Uruchom przy starcie systemu</value>
</data> </data>
<data name="ScreenPadDown" xml:space="preserve">
<value>Zmniejsz jasność ScreenPad</value>
</data>
<data name="ScreenPadUp" xml:space="preserve">
<value>Zwiększ jasność ScreenPad</value>
</data>
<data name="Shutdown" xml:space="preserve"> <data name="Shutdown" xml:space="preserve">
<value>Zamknij</value> <value>Zamknij</value>
</data> </data>
@@ -482,6 +494,9 @@ Nadal chcesz kontynuować?</value>
<data name="ToggleAura" xml:space="preserve"> <data name="ToggleAura" xml:space="preserve">
<value>Przełącz Aura</value> <value>Przełącz Aura</value>
</data> </data>
<data name="ToggleClamshellMode" xml:space="preserve">
<value>Automatyczne przełączanie trybu klapki</value>
</data>
<data name="ToggleFnLock" xml:space="preserve"> <data name="ToggleFnLock" xml:space="preserve">
<value>Przełącz Fn-Lock</value> <value>Przełącz Fn-Lock</value>
</data> </data>

View File

@@ -207,6 +207,9 @@
<data name="BatteryChargeLimit" xml:space="preserve"> <data name="BatteryChargeLimit" xml:space="preserve">
<value>Limite de carga</value> <value>Limite de carga</value>
</data> </data>
<data name="BatteryHealth" xml:space="preserve">
<value>Battery Health</value>
</data>
<data name="BiosAndDriverUpdates" xml:space="preserve"> <data name="BiosAndDriverUpdates" xml:space="preserve">
<value>BIOS and Driver Updates</value> <value>BIOS and Driver Updates</value>
</data> </data>
@@ -222,6 +225,9 @@
<data name="BrightnessUp" xml:space="preserve"> <data name="BrightnessUp" xml:space="preserve">
<value>Brightness Up</value> <value>Brightness Up</value>
</data> </data>
<data name="Charging" xml:space="preserve">
<value>Charging</value>
</data>
<data name="Color" xml:space="preserve"> <data name="Color" xml:space="preserve">
<value>Cor</value> <value>Cor</value>
</data> </data>
@@ -446,6 +452,12 @@ Do you still want to continue?</value>
<data name="RunOnStartup" xml:space="preserve"> <data name="RunOnStartup" xml:space="preserve">
<value>Executar ao iniciar</value> <value>Executar ao iniciar</value>
</data> </data>
<data name="ScreenPadDown" xml:space="preserve">
<value>Screenpad Brightness Down</value>
</data>
<data name="ScreenPadUp" xml:space="preserve">
<value>Screenpad Brightness Up</value>
</data>
<data name="Shutdown" xml:space="preserve"> <data name="Shutdown" xml:space="preserve">
<value>Desligar</value> <value>Desligar</value>
</data> </data>
@@ -482,6 +494,9 @@ Do you still want to continue?</value>
<data name="ToggleAura" xml:space="preserve"> <data name="ToggleAura" xml:space="preserve">
<value>Alternar Aura</value> <value>Alternar Aura</value>
</data> </data>
<data name="ToggleClamshellMode" xml:space="preserve">
<value>Auto Toggle Clamshell Mode</value>
</data>
<data name="ToggleFnLock" xml:space="preserve"> <data name="ToggleFnLock" xml:space="preserve">
<value>Toggle Fn-Lock</value> <value>Toggle Fn-Lock</value>
</data> </data>

View File

@@ -207,6 +207,9 @@
<data name="BatteryChargeLimit" xml:space="preserve"> <data name="BatteryChargeLimit" xml:space="preserve">
<value>Battery Charge Limit</value> <value>Battery Charge Limit</value>
</data> </data>
<data name="BatteryHealth" xml:space="preserve">
<value>Battery Health</value>
</data>
<data name="BiosAndDriverUpdates" xml:space="preserve"> <data name="BiosAndDriverUpdates" xml:space="preserve">
<value>BIOS and Driver Updates</value> <value>BIOS and Driver Updates</value>
</data> </data>
@@ -222,6 +225,9 @@
<data name="BrightnessUp" xml:space="preserve"> <data name="BrightnessUp" xml:space="preserve">
<value>Brightness Up</value> <value>Brightness Up</value>
</data> </data>
<data name="Charging" xml:space="preserve">
<value>Charging</value>
</data>
<data name="Color" xml:space="preserve"> <data name="Color" xml:space="preserve">
<value>Color</value> <value>Color</value>
</data> </data>
@@ -446,6 +452,12 @@ Do you still want to continue?</value>
<data name="RunOnStartup" xml:space="preserve"> <data name="RunOnStartup" xml:space="preserve">
<value>Run on Startup</value> <value>Run on Startup</value>
</data> </data>
<data name="ScreenPadDown" xml:space="preserve">
<value>Screenpad Brightness Down</value>
</data>
<data name="ScreenPadUp" xml:space="preserve">
<value>Screenpad Brightness Up</value>
</data>
<data name="Shutdown" xml:space="preserve"> <data name="Shutdown" xml:space="preserve">
<value>Shutdown</value> <value>Shutdown</value>
</data> </data>
@@ -482,6 +494,9 @@ Do you still want to continue?</value>
<data name="ToggleAura" xml:space="preserve"> <data name="ToggleAura" xml:space="preserve">
<value>Toggle Aura</value> <value>Toggle Aura</value>
</data> </data>
<data name="ToggleClamshellMode" xml:space="preserve">
<value>Auto Toggle Clamshell Mode</value>
</data>
<data name="ToggleFnLock" xml:space="preserve"> <data name="ToggleFnLock" xml:space="preserve">
<value>Toggle Fn-Lock</value> <value>Toggle Fn-Lock</value>
</data> </data>

View File

@@ -207,6 +207,9 @@
<data name="BatteryChargeLimit" xml:space="preserve"> <data name="BatteryChargeLimit" xml:space="preserve">
<value>Battery Charge Limit</value> <value>Battery Charge Limit</value>
</data> </data>
<data name="BatteryHealth" xml:space="preserve">
<value>Battery Health</value>
</data>
<data name="BiosAndDriverUpdates" xml:space="preserve"> <data name="BiosAndDriverUpdates" xml:space="preserve">
<value>BIOS and Driver Updates</value> <value>BIOS and Driver Updates</value>
</data> </data>
@@ -222,6 +225,9 @@
<data name="BrightnessUp" xml:space="preserve"> <data name="BrightnessUp" xml:space="preserve">
<value>Brightness Up</value> <value>Brightness Up</value>
</data> </data>
<data name="Charging" xml:space="preserve">
<value>Charging</value>
</data>
<data name="Color" xml:space="preserve"> <data name="Color" xml:space="preserve">
<value>Culoare</value> <value>Culoare</value>
</data> </data>
@@ -446,6 +452,12 @@ Do you still want to continue?</value>
<data name="RunOnStartup" xml:space="preserve"> <data name="RunOnStartup" xml:space="preserve">
<value>Run on Startup</value> <value>Run on Startup</value>
</data> </data>
<data name="ScreenPadDown" xml:space="preserve">
<value>Screenpad Brightness Down</value>
</data>
<data name="ScreenPadUp" xml:space="preserve">
<value>Screenpad Brightness Up</value>
</data>
<data name="Shutdown" xml:space="preserve"> <data name="Shutdown" xml:space="preserve">
<value>Shutdown</value> <value>Shutdown</value>
</data> </data>
@@ -482,6 +494,9 @@ Do you still want to continue?</value>
<data name="ToggleAura" xml:space="preserve"> <data name="ToggleAura" xml:space="preserve">
<value>Toggle Aura</value> <value>Toggle Aura</value>
</data> </data>
<data name="ToggleClamshellMode" xml:space="preserve">
<value>Auto Toggle Clamshell Mode</value>
</data>
<data name="ToggleFnLock" xml:space="preserve"> <data name="ToggleFnLock" xml:space="preserve">
<value>Toggle Fn-Lock</value> <value>Toggle Fn-Lock</value>
</data> </data>

View File

@@ -207,6 +207,9 @@
<data name="BatteryChargeLimit" xml:space="preserve"> <data name="BatteryChargeLimit" xml:space="preserve">
<value>Pil Şarj Limiti</value> <value>Pil Şarj Limiti</value>
</data> </data>
<data name="BatteryHealth" xml:space="preserve">
<value>Battery Health</value>
</data>
<data name="BiosAndDriverUpdates" xml:space="preserve"> <data name="BiosAndDriverUpdates" xml:space="preserve">
<value>BIOS and Driver Updates</value> <value>BIOS and Driver Updates</value>
</data> </data>
@@ -222,6 +225,9 @@
<data name="BrightnessUp" xml:space="preserve"> <data name="BrightnessUp" xml:space="preserve">
<value>Brightness Up</value> <value>Brightness Up</value>
</data> </data>
<data name="Charging" xml:space="preserve">
<value>Charging</value>
</data>
<data name="Color" xml:space="preserve"> <data name="Color" xml:space="preserve">
<value>Renk</value> <value>Renk</value>
</data> </data>
@@ -446,6 +452,12 @@ Do you still want to continue?</value>
<data name="RunOnStartup" xml:space="preserve"> <data name="RunOnStartup" xml:space="preserve">
<value>Başlangıçta Çalıştır</value> <value>Başlangıçta Çalıştır</value>
</data> </data>
<data name="ScreenPadDown" xml:space="preserve">
<value>Screenpad Brightness Down</value>
</data>
<data name="ScreenPadUp" xml:space="preserve">
<value>Screenpad Brightness Up</value>
</data>
<data name="Shutdown" xml:space="preserve"> <data name="Shutdown" xml:space="preserve">
<value>Kapalı</value> <value>Kapalı</value>
</data> </data>
@@ -482,6 +494,9 @@ Do you still want to continue?</value>
<data name="ToggleAura" xml:space="preserve"> <data name="ToggleAura" xml:space="preserve">
<value>Aura'yı Değiştir</value> <value>Aura'yı Değiştir</value>
</data> </data>
<data name="ToggleClamshellMode" xml:space="preserve">
<value>Auto Toggle Clamshell Mode</value>
</data>
<data name="ToggleFnLock" xml:space="preserve"> <data name="ToggleFnLock" xml:space="preserve">
<value>Toggle Fn-Lock</value> <value>Toggle Fn-Lock</value>
</data> </data>

View File

@@ -118,7 +118,7 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<data name="ACPIError" xml:space="preserve"> <data name="ACPIError" xml:space="preserve">
<value>Не вдається підключитися до ASUS ACPI. Програма не може працювати без нього. Спробуйте встановити Asus System Control Interface</value> <value>Не вдається під'єднатися до ASUS ACPI. Програма не може працювати без нього. Спробуйте встановити Asus System Control Interface</value>
</data> </data>
<data name="AlertDGPU" xml:space="preserve"> <data name="AlertDGPU" xml:space="preserve">
<value>Здається, що GPU використовується, вимкнути її?</value> <value>Здається, що GPU використовується, вимкнути її?</value>
@@ -207,6 +207,9 @@
<data name="BatteryChargeLimit" xml:space="preserve"> <data name="BatteryChargeLimit" xml:space="preserve">
<value>Ліміт заряду батареї</value> <value>Ліміт заряду батареї</value>
</data> </data>
<data name="BatteryHealth" xml:space="preserve">
<value>Стан батареї</value>
</data>
<data name="BiosAndDriverUpdates" xml:space="preserve"> <data name="BiosAndDriverUpdates" xml:space="preserve">
<value>Оновлення BIOS та драйверів</value> <value>Оновлення BIOS та драйверів</value>
</data> </data>
@@ -222,6 +225,9 @@
<data name="BrightnessUp" xml:space="preserve"> <data name="BrightnessUp" xml:space="preserve">
<value>Підвищити яскравість</value> <value>Підвищити яскравість</value>
</data> </data>
<data name="Charging" xml:space="preserve">
<value>Зарядка</value>
</data>
<data name="Color" xml:space="preserve"> <data name="Color" xml:space="preserve">
<value>Колір</value> <value>Колір</value>
</data> </data>
@@ -446,6 +452,12 @@
<data name="RunOnStartup" xml:space="preserve"> <data name="RunOnStartup" xml:space="preserve">
<value>Запускати на старті</value> <value>Запускати на старті</value>
</data> </data>
<data name="ScreenPadDown" xml:space="preserve">
<value>Зменшити яскравість Screenpad</value>
</data>
<data name="ScreenPadUp" xml:space="preserve">
<value>Збільшити яскравість Screenpad</value>
</data>
<data name="Shutdown" xml:space="preserve"> <data name="Shutdown" xml:space="preserve">
<value>Вимикання</value> <value>Вимикання</value>
</data> </data>
@@ -482,6 +494,9 @@
<data name="ToggleAura" xml:space="preserve"> <data name="ToggleAura" xml:space="preserve">
<value>Аура</value> <value>Аура</value>
</data> </data>
<data name="ToggleClamshellMode" xml:space="preserve">
<value>Автоматично вмикати режим Clamshell</value>
</data>
<data name="ToggleFnLock" xml:space="preserve"> <data name="ToggleFnLock" xml:space="preserve">
<value>Fn-Lock</value> <value>Fn-Lock</value>
</data> </data>

View File

@@ -207,6 +207,9 @@
<data name="BatteryChargeLimit" xml:space="preserve"> <data name="BatteryChargeLimit" xml:space="preserve">
<value>Giới hạn sạc</value> <value>Giới hạn sạc</value>
</data> </data>
<data name="BatteryHealth" xml:space="preserve">
<value>Battery Health</value>
</data>
<data name="BiosAndDriverUpdates" xml:space="preserve"> <data name="BiosAndDriverUpdates" xml:space="preserve">
<value>Cập nhật BIOS và driver</value> <value>Cập nhật BIOS và driver</value>
</data> </data>
@@ -222,6 +225,9 @@
<data name="BrightnessUp" xml:space="preserve"> <data name="BrightnessUp" xml:space="preserve">
<value>Tăng độ sáng</value> <value>Tăng độ sáng</value>
</data> </data>
<data name="Charging" xml:space="preserve">
<value>Charging</value>
</data>
<data name="Color" xml:space="preserve"> <data name="Color" xml:space="preserve">
<value>Màu</value> <value>Màu</value>
</data> </data>
@@ -446,6 +452,12 @@ Do you still want to continue?</value>
<data name="RunOnStartup" xml:space="preserve"> <data name="RunOnStartup" xml:space="preserve">
<value>Chạy khi khởi động</value> <value>Chạy khi khởi động</value>
</data> </data>
<data name="ScreenPadDown" xml:space="preserve">
<value>Screenpad Brightness Down</value>
</data>
<data name="ScreenPadUp" xml:space="preserve">
<value>Screenpad Brightness Up</value>
</data>
<data name="Shutdown" xml:space="preserve"> <data name="Shutdown" xml:space="preserve">
<value>Tắt nguồn</value> <value>Tắt nguồn</value>
</data> </data>
@@ -482,6 +494,9 @@ Do you still want to continue?</value>
<data name="ToggleAura" xml:space="preserve"> <data name="ToggleAura" xml:space="preserve">
<value>Bật tắt Aura</value> <value>Bật tắt Aura</value>
</data> </data>
<data name="ToggleClamshellMode" xml:space="preserve">
<value>Auto Toggle Clamshell Mode</value>
</data>
<data name="ToggleFnLock" xml:space="preserve"> <data name="ToggleFnLock" xml:space="preserve">
<value>Toggle Fn-Lock</value> <value>Toggle Fn-Lock</value>
</data> </data>

View File

@@ -124,7 +124,7 @@
<value>看起来 GPU 正在被重度使用,是否禁用?</value> <value>看起来 GPU 正在被重度使用,是否禁用?</value>
</data> </data>
<data name="AlertDGPUTitle" xml:space="preserve"> <data name="AlertDGPUTitle" xml:space="preserve">
<value>节能模式</value> <value>集显模式</value>
</data> </data>
<data name="AlertUltimateOff" xml:space="preserve"> <data name="AlertUltimateOff" xml:space="preserve">
<value>关闭独显直连需要重启</value> <value>关闭独显直连需要重启</value>
@@ -199,7 +199,7 @@
<value>唤醒时</value> <value>唤醒时</value>
</data> </data>
<data name="BacklightTimeout" xml:space="preserve"> <data name="BacklightTimeout" xml:space="preserve">
<value>背光超时时间 (0表示长亮)</value> <value>插电/电池时熄灭时间(0表示长亮</value>
</data> </data>
<data name="Balanced" xml:space="preserve"> <data name="Balanced" xml:space="preserve">
<value>平衡模式</value> <value>平衡模式</value>
@@ -207,6 +207,9 @@
<data name="BatteryChargeLimit" xml:space="preserve"> <data name="BatteryChargeLimit" xml:space="preserve">
<value>电池充电限制</value> <value>电池充电限制</value>
</data> </data>
<data name="BatteryHealth" xml:space="preserve">
<value>电池健康</value>
</data>
<data name="BiosAndDriverUpdates" xml:space="preserve"> <data name="BiosAndDriverUpdates" xml:space="preserve">
<value>BIOS 和驱动程序更新</value> <value>BIOS 和驱动程序更新</value>
</data> </data>
@@ -222,6 +225,9 @@
<data name="BrightnessUp" xml:space="preserve"> <data name="BrightnessUp" xml:space="preserve">
<value>提高亮度</value> <value>提高亮度</value>
</data> </data>
<data name="Charging" xml:space="preserve">
<value>充电中</value>
</data>
<data name="Color" xml:space="preserve"> <data name="Color" xml:space="preserve">
<value>颜色</value> <value>颜色</value>
</data> </data>
@@ -336,7 +342,7 @@
<value>当切换到集显模式时,停止所有正在使用独显的应用</value> <value>当切换到集显模式时,停止所有正在使用独显的应用</value>
</data> </data>
<data name="LaptopBacklight" xml:space="preserve"> <data name="LaptopBacklight" xml:space="preserve">
<value>笔记本背光</value> <value>背光</value>
</data> </data>
<data name="LaptopKeyboard" xml:space="preserve"> <data name="LaptopKeyboard" xml:space="preserve">
<value>笔记本键盘</value> <value>笔记本键盘</value>
@@ -446,6 +452,12 @@
<data name="RunOnStartup" xml:space="preserve"> <data name="RunOnStartup" xml:space="preserve">
<value>开机自启</value> <value>开机自启</value>
</data> </data>
<data name="ScreenPadDown" xml:space="preserve">
<value>Screenpad亮度降低</value>
</data>
<data name="ScreenPadUp" xml:space="preserve">
<value>Screenpad亮度增加</value>
</data>
<data name="Shutdown" xml:space="preserve"> <data name="Shutdown" xml:space="preserve">
<value>关机时</value> <value>关机时</value>
</data> </data>
@@ -482,6 +494,9 @@
<data name="ToggleAura" xml:space="preserve"> <data name="ToggleAura" xml:space="preserve">
<value>切换 Aura 模式</value> <value>切换 Aura 模式</value>
</data> </data>
<data name="ToggleClamshellMode" xml:space="preserve">
<value>自动启用外接显示器模式</value>
</data>
<data name="ToggleFnLock" xml:space="preserve"> <data name="ToggleFnLock" xml:space="preserve">
<value>切换 Fn 锁定</value> <value>切换 Fn 锁定</value>
</data> </data>

View File

@@ -139,7 +139,7 @@
<value>動畫速度</value> <value>動畫速度</value>
</data> </data>
<data name="AnimeMatrix" xml:space="preserve"> <data name="AnimeMatrix" xml:space="preserve">
<value>AnimeMatrix</value> <value>AniMeMatrix</value>
</data> </data>
<data name="AppAlreadyRunning" xml:space="preserve"> <data name="AppAlreadyRunning" xml:space="preserve">
<value>程式已正在執行</value> <value>程式已正在執行</value>
@@ -207,6 +207,9 @@
<data name="BatteryChargeLimit" xml:space="preserve"> <data name="BatteryChargeLimit" xml:space="preserve">
<value>電池充電上限</value> <value>電池充電上限</value>
</data> </data>
<data name="BatteryHealth" xml:space="preserve">
<value>電池健康度</value>
</data>
<data name="BiosAndDriverUpdates" xml:space="preserve"> <data name="BiosAndDriverUpdates" xml:space="preserve">
<value>BIOS與驅動程式更新 Updates</value> <value>BIOS與驅動程式更新 Updates</value>
</data> </data>
@@ -222,6 +225,9 @@
<data name="BrightnessUp" xml:space="preserve"> <data name="BrightnessUp" xml:space="preserve">
<value>螢幕亮度提高</value> <value>螢幕亮度提高</value>
</data> </data>
<data name="Charging" xml:space="preserve">
<value>充電中</value>
</data>
<data name="Color" xml:space="preserve"> <data name="Color" xml:space="preserve">
<value>顏色</value> <value>顏色</value>
</data> </data>
@@ -446,6 +452,12 @@
<data name="RunOnStartup" xml:space="preserve"> <data name="RunOnStartup" xml:space="preserve">
<value>開機自動開啟</value> <value>開機自動開啟</value>
</data> </data>
<data name="ScreenPadDown" xml:space="preserve">
<value>第二觸控螢幕亮度降低</value>
</data>
<data name="ScreenPadUp" xml:space="preserve">
<value>第二觸控螢幕亮度提高</value>
</data>
<data name="Shutdown" xml:space="preserve"> <data name="Shutdown" xml:space="preserve">
<value>關機時</value> <value>關機時</value>
</data> </data>
@@ -482,6 +494,9 @@
<data name="ToggleAura" xml:space="preserve"> <data name="ToggleAura" xml:space="preserve">
<value>切換Aura</value> <value>切換Aura</value>
</data> </data>
<data name="ToggleClamshellMode" xml:space="preserve">
<value>翻蓋模式 (蓋上筆電但有外接螢幕時,系統仍會持續運行)</value>
</data>
<data name="ToggleFnLock" xml:space="preserve"> <data name="ToggleFnLock" xml:space="preserve">
<value>免按Fn鍵使用Fn+F1~F12功能</value> <value>免按Fn鍵使用Fn+F1~F12功能</value>
</data> </data>

View File

@@ -130,10 +130,16 @@ namespace Ryzen
return CPUName.Contains("AMD") || CPUName.Contains("Ryzen") || CPUName.Contains("Athlon") || CPUName.Contains("Radeon") || CPUName.Contains("AMD Custom APU 0405"); return CPUName.Contains("AMD") || CPUName.Contains("Ryzen") || CPUName.Contains("Athlon") || CPUName.Contains("Radeon") || CPUName.Contains("AMD Custom APU 0405");
} }
public static bool IsRyzen9() public static bool IsSupportedUV()
{ {
if (CPUName.Length == 0) Init(); if (CPUName.Length == 0) Init();
return CPUName.Contains("Ryzen 9"); return CPUName.Contains("Ryzen 9") || CPUName.Contains("4900H") || CPUName.Contains("4800H") || CPUName.Contains("4600H");
}
public static bool IsSupportedUViGPU()
{
if (CPUName.Length == 0) Init();
return CPUName.Contains("6900H") || CPUName.Contains("7945H") || CPUName.Contains("7845H");
} }
public static void SetAddresses() public static void SetAddresses()

263
app/Settings.Designer.cs generated
View File

@@ -135,12 +135,12 @@ namespace GHelper
panelMatrix.Controls.Add(panelMatrixTitle); panelMatrix.Controls.Add(panelMatrixTitle);
panelMatrix.Controls.Add(checkMatrix); panelMatrix.Controls.Add(checkMatrix);
panelMatrix.Dock = DockStyle.Top; panelMatrix.Dock = DockStyle.Top;
panelMatrix.Location = new Point(10, 891); panelMatrix.Location = new Point(11, 898);
panelMatrix.Margin = new Padding(0); panelMatrix.Margin = new Padding(0);
panelMatrix.Name = "panelMatrix"; panelMatrix.Name = "panelMatrix";
panelMatrix.Padding = new Padding(20, 20, 20, 10); panelMatrix.Padding = new Padding(20, 20, 20, 11);
panelMatrix.Size = new Size(810, 171); panelMatrix.Size = new Size(811, 171);
panelMatrix.TabIndex = 33; panelMatrix.TabIndex = 4;
// //
// tableLayoutMatrix // tableLayoutMatrix
// //
@@ -155,12 +155,12 @@ namespace GHelper
tableLayoutMatrix.Controls.Add(comboMatrixRunning, 1, 0); tableLayoutMatrix.Controls.Add(comboMatrixRunning, 1, 0);
tableLayoutMatrix.Controls.Add(buttonMatrix, 2, 0); tableLayoutMatrix.Controls.Add(buttonMatrix, 2, 0);
tableLayoutMatrix.Dock = DockStyle.Top; tableLayoutMatrix.Dock = DockStyle.Top;
tableLayoutMatrix.Location = new Point(20, 59); tableLayoutMatrix.Location = new Point(20, 60);
tableLayoutMatrix.Margin = new Padding(8); tableLayoutMatrix.Margin = new Padding(8);
tableLayoutMatrix.Name = "tableLayoutMatrix"; tableLayoutMatrix.Name = "tableLayoutMatrix";
tableLayoutMatrix.RowCount = 1; tableLayoutMatrix.RowCount = 1;
tableLayoutMatrix.RowStyles.Add(new RowStyle(SizeType.Percent, 100F)); tableLayoutMatrix.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
tableLayoutMatrix.Size = new Size(770, 59); tableLayoutMatrix.Size = new Size(771, 60);
tableLayoutMatrix.TabIndex = 43; tableLayoutMatrix.TabIndex = 43;
// //
// comboMatrix // comboMatrix
@@ -172,12 +172,11 @@ namespace GHelper
comboMatrix.FormattingEnabled = true; comboMatrix.FormattingEnabled = true;
comboMatrix.ItemHeight = 32; comboMatrix.ItemHeight = 32;
comboMatrix.Items.AddRange(new object[] { Properties.Strings.MatrixOff, Properties.Strings.MatrixDim, Properties.Strings.MatrixMedium, Properties.Strings.MatrixBright }); comboMatrix.Items.AddRange(new object[] { Properties.Strings.MatrixOff, Properties.Strings.MatrixDim, Properties.Strings.MatrixMedium, Properties.Strings.MatrixBright });
comboMatrix.Location = new Point(4, 10); comboMatrix.Location = new Point(4, 11);
comboMatrix.Margin = new Padding(4, 10, 4, 8); comboMatrix.Margin = new Padding(4, 11, 4, 8);
comboMatrix.Name = "comboMatrix"; comboMatrix.Name = "comboMatrix";
comboMatrix.Size = new Size(248, 40); comboMatrix.Size = new Size(249, 40);
comboMatrix.TabIndex = 41; comboMatrix.TabIndex = 16;
comboMatrix.TabStop = false;
// //
// comboMatrixRunning // comboMatrixRunning
// //
@@ -188,12 +187,11 @@ namespace GHelper
comboMatrixRunning.FormattingEnabled = true; comboMatrixRunning.FormattingEnabled = true;
comboMatrixRunning.ItemHeight = 32; comboMatrixRunning.ItemHeight = 32;
comboMatrixRunning.Items.AddRange(new object[] { Properties.Strings.MatrixBanner, Properties.Strings.MatrixLogo, Properties.Strings.MatrixPicture, Properties.Strings.MatrixClock, Properties.Strings.MatrixAudio }); comboMatrixRunning.Items.AddRange(new object[] { Properties.Strings.MatrixBanner, Properties.Strings.MatrixLogo, Properties.Strings.MatrixPicture, Properties.Strings.MatrixClock, Properties.Strings.MatrixAudio });
comboMatrixRunning.Location = new Point(260, 10); comboMatrixRunning.Location = new Point(261, 11);
comboMatrixRunning.Margin = new Padding(4, 10, 4, 8); comboMatrixRunning.Margin = new Padding(4, 11, 4, 8);
comboMatrixRunning.Name = "comboMatrixRunning"; comboMatrixRunning.Name = "comboMatrixRunning";
comboMatrixRunning.Size = new Size(248, 40); comboMatrixRunning.Size = new Size(249, 40);
comboMatrixRunning.TabIndex = 42; comboMatrixRunning.TabIndex = 17;
comboMatrixRunning.TabStop = false;
// //
// buttonMatrix // buttonMatrix
// //
@@ -204,12 +202,12 @@ namespace GHelper
buttonMatrix.Dock = DockStyle.Top; buttonMatrix.Dock = DockStyle.Top;
buttonMatrix.FlatAppearance.BorderSize = 0; buttonMatrix.FlatAppearance.BorderSize = 0;
buttonMatrix.FlatStyle = FlatStyle.Flat; buttonMatrix.FlatStyle = FlatStyle.Flat;
buttonMatrix.Location = new Point(516, 7); buttonMatrix.Location = new Point(518, 8);
buttonMatrix.Margin = new Padding(4, 7, 4, 7); buttonMatrix.Margin = new Padding(4, 8, 4, 8);
buttonMatrix.Name = "buttonMatrix"; buttonMatrix.Name = "buttonMatrix";
buttonMatrix.Secondary = true; buttonMatrix.Secondary = true;
buttonMatrix.Size = new Size(250, 45); buttonMatrix.Size = new Size(249, 44);
buttonMatrix.TabIndex = 43; buttonMatrix.TabIndex = 18;
buttonMatrix.Text = Properties.Strings.PictureGif; buttonMatrix.Text = Properties.Strings.PictureGif;
buttonMatrix.UseVisualStyleBackColor = false; buttonMatrix.UseVisualStyleBackColor = false;
// //
@@ -219,15 +217,16 @@ namespace GHelper
panelMatrixTitle.Controls.Add(labelMatrix); panelMatrixTitle.Controls.Add(labelMatrix);
panelMatrixTitle.Dock = DockStyle.Top; panelMatrixTitle.Dock = DockStyle.Top;
panelMatrixTitle.Location = new Point(20, 20); panelMatrixTitle.Location = new Point(20, 20);
panelMatrixTitle.Margin = new Padding(4);
panelMatrixTitle.Name = "panelMatrixTitle"; panelMatrixTitle.Name = "panelMatrixTitle";
panelMatrixTitle.Size = new Size(770, 39); panelMatrixTitle.Size = new Size(771, 40);
panelMatrixTitle.TabIndex = 45; panelMatrixTitle.TabIndex = 45;
// //
// pictureMatrix // pictureMatrix
// //
pictureMatrix.BackgroundImage = Properties.Resources.icons8_matrix_32; pictureMatrix.BackgroundImage = Properties.Resources.icons8_matrix_32;
pictureMatrix.BackgroundImageLayout = ImageLayout.Zoom; pictureMatrix.BackgroundImageLayout = ImageLayout.Zoom;
pictureMatrix.Location = new Point(6, 0); pictureMatrix.Location = new Point(5, 0);
pictureMatrix.Margin = new Padding(4); pictureMatrix.Margin = new Padding(4);
pictureMatrix.Name = "pictureMatrix"; pictureMatrix.Name = "pictureMatrix";
pictureMatrix.Size = new Size(32, 32); pictureMatrix.Size = new Size(32, 32);
@@ -249,11 +248,11 @@ namespace GHelper
// //
checkMatrix.AutoSize = true; checkMatrix.AutoSize = true;
checkMatrix.ForeColor = SystemColors.GrayText; checkMatrix.ForeColor = SystemColors.GrayText;
checkMatrix.Location = new Point(26, 121); checkMatrix.Location = new Point(27, 120);
checkMatrix.Margin = new Padding(8, 4, 8, 4); checkMatrix.Margin = new Padding(8, 4, 8, 4);
checkMatrix.Name = "checkMatrix"; checkMatrix.Name = "checkMatrix";
checkMatrix.Size = new Size(249, 36); checkMatrix.Size = new Size(249, 36);
checkMatrix.TabIndex = 44; checkMatrix.TabIndex = 19;
checkMatrix.Text = Properties.Strings.TurnOffOnBattery; checkMatrix.Text = Properties.Strings.TurnOffOnBattery;
checkMatrix.UseVisualStyleBackColor = true; checkMatrix.UseVisualStyleBackColor = true;
// //
@@ -264,23 +263,26 @@ namespace GHelper
panelBattery.Controls.Add(sliderBattery); panelBattery.Controls.Add(sliderBattery);
panelBattery.Controls.Add(panelBatteryTitle); panelBattery.Controls.Add(panelBatteryTitle);
panelBattery.Dock = DockStyle.Top; panelBattery.Dock = DockStyle.Top;
panelBattery.Location = new Point(10, 1062); panelBattery.Location = new Point(11, 1069);
panelBattery.Margin = new Padding(0); panelBattery.Margin = new Padding(0);
panelBattery.Name = "panelBattery"; panelBattery.Name = "panelBattery";
panelBattery.Padding = new Padding(20); panelBattery.Padding = new Padding(20, 20, 20, 7);
panelBattery.Size = new Size(810, 125); panelBattery.Size = new Size(811, 111);
panelBattery.TabIndex = 34; panelBattery.TabIndex = 5;
// //
// sliderBattery // sliderBattery
// //
sliderBattery.AccessibleName = "Battery Charge Limit";
sliderBattery.Dock = DockStyle.Top; sliderBattery.Dock = DockStyle.Top;
sliderBattery.Location = new Point(20, 65); sliderBattery.Location = new Point(20, 64);
sliderBattery.Margin = new Padding(4);
sliderBattery.Max = 100; sliderBattery.Max = 100;
sliderBattery.Min = 40; sliderBattery.Min = 40;
sliderBattery.Name = "sliderBattery"; sliderBattery.Name = "sliderBattery";
sliderBattery.Size = new Size(770, 40); sliderBattery.Size = new Size(771, 40);
sliderBattery.Step = 5; sliderBattery.Step = 5;
sliderBattery.TabIndex = 39; sliderBattery.TabIndex = 20;
sliderBattery.TabStop = false;
sliderBattery.Text = "sliderBattery"; sliderBattery.Text = "sliderBattery";
sliderBattery.Value = 80; sliderBattery.Value = 80;
// //
@@ -291,9 +293,10 @@ namespace GHelper
panelBatteryTitle.Controls.Add(labelBatteryTitle); panelBatteryTitle.Controls.Add(labelBatteryTitle);
panelBatteryTitle.Dock = DockStyle.Top; panelBatteryTitle.Dock = DockStyle.Top;
panelBatteryTitle.Location = new Point(20, 20); panelBatteryTitle.Location = new Point(20, 20);
panelBatteryTitle.Margin = new Padding(4);
panelBatteryTitle.Name = "panelBatteryTitle"; panelBatteryTitle.Name = "panelBatteryTitle";
panelBatteryTitle.Padding = new Padding(0, 0, 0, 5); panelBatteryTitle.Padding = new Padding(0, 0, 0, 4);
panelBatteryTitle.Size = new Size(770, 45); panelBatteryTitle.Size = new Size(771, 44);
panelBatteryTitle.TabIndex = 40; panelBatteryTitle.TabIndex = 40;
// //
// labelBattery // labelBattery
@@ -311,7 +314,7 @@ namespace GHelper
// //
pictureBattery.BackgroundImage = Properties.Resources.icons8_charging_battery_32; pictureBattery.BackgroundImage = Properties.Resources.icons8_charging_battery_32;
pictureBattery.BackgroundImageLayout = ImageLayout.Zoom; pictureBattery.BackgroundImageLayout = ImageLayout.Zoom;
pictureBattery.Location = new Point(4, 1); pictureBattery.Location = new Point(4, 2);
pictureBattery.Margin = new Padding(4); pictureBattery.Margin = new Padding(4);
pictureBattery.Name = "pictureBattery"; pictureBattery.Name = "pictureBattery";
pictureBattery.Size = new Size(32, 32); pictureBattery.Size = new Size(32, 32);
@@ -321,10 +324,10 @@ namespace GHelper
// labelBatteryTitle // labelBatteryTitle
// //
labelBatteryTitle.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point); labelBatteryTitle.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
labelBatteryTitle.Location = new Point(42, 0); labelBatteryTitle.Location = new Point(43, 0);
labelBatteryTitle.Margin = new Padding(8, 0, 8, 0); labelBatteryTitle.Margin = new Padding(8, 0, 8, 0);
labelBatteryTitle.Name = "labelBatteryTitle"; labelBatteryTitle.Name = "labelBatteryTitle";
labelBatteryTitle.Size = new Size(466, 32); labelBatteryTitle.Size = new Size(467, 32);
labelBatteryTitle.TabIndex = 37; labelBatteryTitle.TabIndex = 37;
labelBatteryTitle.Text = "Battery Charge Limit"; labelBatteryTitle.Text = "Battery Charge Limit";
// //
@@ -336,15 +339,16 @@ namespace GHelper
panelFooter.Controls.Add(buttonQuit); panelFooter.Controls.Add(buttonQuit);
panelFooter.Controls.Add(checkStartup); panelFooter.Controls.Add(checkStartup);
panelFooter.Dock = DockStyle.Top; panelFooter.Dock = DockStyle.Top;
panelFooter.Location = new Point(10, 1244); panelFooter.Location = new Point(11, 1236);
panelFooter.Margin = new Padding(0); panelFooter.Margin = new Padding(0);
panelFooter.Name = "panelFooter"; panelFooter.Name = "panelFooter";
panelFooter.Padding = new Padding(20); panelFooter.Padding = new Padding(20);
panelFooter.Size = new Size(810, 92); panelFooter.Size = new Size(811, 92);
panelFooter.TabIndex = 35; panelFooter.TabIndex = 7;
// //
// buttonUpdates // buttonUpdates
// //
buttonUpdates.AccessibleName = "BIOS and Driver Updates";
buttonUpdates.Activated = false; buttonUpdates.Activated = false;
buttonUpdates.Anchor = AnchorStyles.Top | AnchorStyles.Right; buttonUpdates.Anchor = AnchorStyles.Top | AnchorStyles.Right;
buttonUpdates.BackColor = SystemColors.ControlLight; buttonUpdates.BackColor = SystemColors.ControlLight;
@@ -356,12 +360,13 @@ namespace GHelper
buttonUpdates.Name = "buttonUpdates"; buttonUpdates.Name = "buttonUpdates";
buttonUpdates.Secondary = true; buttonUpdates.Secondary = true;
buttonUpdates.Size = new Size(180, 44); buttonUpdates.Size = new Size(180, 44);
buttonUpdates.TabIndex = 19; buttonUpdates.TabIndex = 22;
buttonUpdates.Text = "Updates"; buttonUpdates.Text = "Updates";
buttonUpdates.UseVisualStyleBackColor = false; buttonUpdates.UseVisualStyleBackColor = false;
// //
// buttonQuit // buttonQuit
// //
buttonQuit.AccessibleName = "Quit Application";
buttonQuit.Activated = false; buttonQuit.Activated = false;
buttonQuit.Anchor = AnchorStyles.Top | AnchorStyles.Right; buttonQuit.Anchor = AnchorStyles.Top | AnchorStyles.Right;
buttonQuit.BackColor = SystemColors.ControlLight; buttonQuit.BackColor = SystemColors.ControlLight;
@@ -373,18 +378,18 @@ namespace GHelper
buttonQuit.Name = "buttonQuit"; buttonQuit.Name = "buttonQuit";
buttonQuit.Secondary = true; buttonQuit.Secondary = true;
buttonQuit.Size = new Size(180, 44); buttonQuit.Size = new Size(180, 44);
buttonQuit.TabIndex = 18; buttonQuit.TabIndex = 23;
buttonQuit.Text = Properties.Strings.Quit; buttonQuit.Text = Properties.Strings.Quit;
buttonQuit.UseVisualStyleBackColor = false; buttonQuit.UseVisualStyleBackColor = false;
// //
// checkStartup // checkStartup
// //
checkStartup.AutoSize = true; checkStartup.AutoSize = true;
checkStartup.Location = new Point(26, 29); checkStartup.Location = new Point(27, 28);
checkStartup.Margin = new Padding(8, 4, 8, 4); checkStartup.Margin = new Padding(8, 4, 8, 4);
checkStartup.Name = "checkStartup"; checkStartup.Name = "checkStartup";
checkStartup.Size = new Size(206, 36); checkStartup.Size = new Size(206, 36);
checkStartup.TabIndex = 17; checkStartup.TabIndex = 21;
checkStartup.Text = Properties.Strings.RunOnStartup; checkStartup.Text = Properties.Strings.RunOnStartup;
checkStartup.UseVisualStyleBackColor = true; checkStartup.UseVisualStyleBackColor = true;
// //
@@ -395,12 +400,12 @@ namespace GHelper
panelPerformance.Controls.Add(tablePerf); panelPerformance.Controls.Add(tablePerf);
panelPerformance.Controls.Add(panelCPUTitle); panelPerformance.Controls.Add(panelCPUTitle);
panelPerformance.Dock = DockStyle.Top; panelPerformance.Dock = DockStyle.Top;
panelPerformance.Location = new Point(10, 10); panelPerformance.Location = new Point(11, 11);
panelPerformance.Margin = new Padding(0); panelPerformance.Margin = new Padding(0);
panelPerformance.Name = "panelPerformance"; panelPerformance.Name = "panelPerformance";
panelPerformance.Padding = new Padding(20); panelPerformance.Padding = new Padding(20);
panelPerformance.Size = new Size(810, 207); panelPerformance.Size = new Size(811, 208);
panelPerformance.TabIndex = 36; panelPerformance.TabIndex = 0;
// //
// tablePerf // tablePerf
// //
@@ -416,22 +421,22 @@ namespace GHelper
tablePerf.Controls.Add(buttonTurbo, 2, 0); tablePerf.Controls.Add(buttonTurbo, 2, 0);
tablePerf.Controls.Add(buttonFans, 3, 0); tablePerf.Controls.Add(buttonFans, 3, 0);
tablePerf.Dock = DockStyle.Top; tablePerf.Dock = DockStyle.Top;
tablePerf.Location = new Point(20, 59); tablePerf.Location = new Point(20, 60);
tablePerf.Margin = new Padding(8, 4, 8, 4); tablePerf.Margin = new Padding(8, 4, 8, 4);
tablePerf.Name = "tablePerf"; tablePerf.Name = "tablePerf";
tablePerf.RowCount = 1; tablePerf.RowCount = 1;
tablePerf.RowStyles.Add(new RowStyle(SizeType.Absolute, 128F)); tablePerf.RowStyles.Add(new RowStyle(SizeType.Absolute, 128F));
tablePerf.Size = new Size(770, 128); tablePerf.Size = new Size(771, 128);
tablePerf.TabIndex = 29; tablePerf.TabIndex = 29;
// //
// buttonSilent // buttonSilent
// //
buttonSilent.AccessibleName = "Silent Mode";
buttonSilent.Activated = false; buttonSilent.Activated = false;
buttonSilent.BackColor = SystemColors.ControlLightLight; buttonSilent.BackColor = SystemColors.ControlLightLight;
buttonSilent.BackgroundImageLayout = ImageLayout.None; buttonSilent.BackgroundImageLayout = ImageLayout.None;
buttonSilent.BorderColor = Color.Transparent; buttonSilent.BorderColor = Color.Transparent;
buttonSilent.BorderRadius = 5; buttonSilent.BorderRadius = 5;
buttonSilent.CausesValidation = false;
buttonSilent.Dock = DockStyle.Fill; buttonSilent.Dock = DockStyle.Fill;
buttonSilent.FlatAppearance.BorderSize = 0; buttonSilent.FlatAppearance.BorderSize = 0;
buttonSilent.FlatStyle = FlatStyle.Flat; buttonSilent.FlatStyle = FlatStyle.Flat;
@@ -443,13 +448,14 @@ namespace GHelper
buttonSilent.Name = "buttonSilent"; buttonSilent.Name = "buttonSilent";
buttonSilent.Secondary = false; buttonSilent.Secondary = false;
buttonSilent.Size = new Size(184, 120); buttonSilent.Size = new Size(184, 120);
buttonSilent.TabIndex = 0; buttonSilent.TabIndex = 1;
buttonSilent.Text = Properties.Strings.Silent; buttonSilent.Text = Properties.Strings.Silent;
buttonSilent.TextImageRelation = TextImageRelation.ImageAboveText; buttonSilent.TextImageRelation = TextImageRelation.ImageAboveText;
buttonSilent.UseVisualStyleBackColor = false; buttonSilent.UseVisualStyleBackColor = false;
// //
// buttonBalanced // buttonBalanced
// //
buttonBalanced.AccessibleName = "Balanced Mode";
buttonBalanced.Activated = false; buttonBalanced.Activated = false;
buttonBalanced.BackColor = SystemColors.ControlLightLight; buttonBalanced.BackColor = SystemColors.ControlLightLight;
buttonBalanced.BorderColor = Color.Transparent; buttonBalanced.BorderColor = Color.Transparent;
@@ -472,6 +478,7 @@ namespace GHelper
// //
// buttonTurbo // buttonTurbo
// //
buttonTurbo.AccessibleName = "Turbo Mode";
buttonTurbo.Activated = false; buttonTurbo.Activated = false;
buttonTurbo.BackColor = SystemColors.ControlLightLight; buttonTurbo.BackColor = SystemColors.ControlLightLight;
buttonTurbo.BorderColor = Color.Transparent; buttonTurbo.BorderColor = Color.Transparent;
@@ -494,6 +501,7 @@ namespace GHelper
// //
// buttonFans // buttonFans
// //
buttonFans.AccessibleName = "Fans and Power Settings";
buttonFans.Activated = false; buttonFans.Activated = false;
buttonFans.BackColor = SystemColors.ControlLight; buttonFans.BackColor = SystemColors.ControlLight;
buttonFans.BorderColor = Color.Transparent; buttonFans.BorderColor = Color.Transparent;
@@ -507,8 +515,8 @@ namespace GHelper
buttonFans.Margin = new Padding(4); buttonFans.Margin = new Padding(4);
buttonFans.Name = "buttonFans"; buttonFans.Name = "buttonFans";
buttonFans.Secondary = true; buttonFans.Secondary = true;
buttonFans.Size = new Size(186, 120); buttonFans.Size = new Size(187, 120);
buttonFans.TabIndex = 35; buttonFans.TabIndex = 3;
buttonFans.Text = Properties.Strings.FansPower; buttonFans.Text = Properties.Strings.FansPower;
buttonFans.TextImageRelation = TextImageRelation.ImageAboveText; buttonFans.TextImageRelation = TextImageRelation.ImageAboveText;
buttonFans.UseVisualStyleBackColor = false; buttonFans.UseVisualStyleBackColor = false;
@@ -520,8 +528,9 @@ namespace GHelper
panelCPUTitle.Controls.Add(labelCPUFan); panelCPUTitle.Controls.Add(labelCPUFan);
panelCPUTitle.Dock = DockStyle.Top; panelCPUTitle.Dock = DockStyle.Top;
panelCPUTitle.Location = new Point(20, 20); panelCPUTitle.Location = new Point(20, 20);
panelCPUTitle.Margin = new Padding(4);
panelCPUTitle.Name = "panelCPUTitle"; panelCPUTitle.Name = "panelCPUTitle";
panelCPUTitle.Size = new Size(770, 39); panelCPUTitle.Size = new Size(771, 40);
panelCPUTitle.TabIndex = 30; panelCPUTitle.TabIndex = 30;
// //
// picturePerf // picturePerf
@@ -544,14 +553,14 @@ namespace GHelper
labelPerf.Margin = new Padding(8, 0, 8, 0); labelPerf.Margin = new Padding(8, 0, 8, 0);
labelPerf.Name = "labelPerf"; labelPerf.Name = "labelPerf";
labelPerf.Size = new Size(234, 32); labelPerf.Size = new Size(234, 32);
labelPerf.TabIndex = 34; labelPerf.TabIndex = 0;
labelPerf.Text = "Performance Mode"; labelPerf.Text = "Performance Mode";
// //
// labelCPUFan // labelCPUFan
// //
labelCPUFan.Anchor = AnchorStyles.Top | AnchorStyles.Right; labelCPUFan.Anchor = AnchorStyles.Top | AnchorStyles.Right;
labelCPUFan.Cursor = Cursors.Hand; labelCPUFan.Cursor = Cursors.Hand;
labelCPUFan.Location = new Point(370, 0); labelCPUFan.Location = new Point(371, 0);
labelCPUFan.Margin = new Padding(8, 0, 8, 0); labelCPUFan.Margin = new Padding(8, 0, 8, 0);
labelCPUFan.Name = "labelCPUFan"; labelCPUFan.Name = "labelCPUFan";
labelCPUFan.Size = new Size(400, 36); labelCPUFan.Size = new Size(400, 36);
@@ -567,21 +576,21 @@ namespace GHelper
panelGPU.Controls.Add(tableGPU); panelGPU.Controls.Add(tableGPU);
panelGPU.Controls.Add(panelGPUTitle); panelGPU.Controls.Add(panelGPUTitle);
panelGPU.Dock = DockStyle.Top; panelGPU.Dock = DockStyle.Top;
panelGPU.Location = new Point(10, 217); panelGPU.Location = new Point(11, 219);
panelGPU.Margin = new Padding(0); panelGPU.Margin = new Padding(0);
panelGPU.Name = "panelGPU"; panelGPU.Name = "panelGPU";
panelGPU.Padding = new Padding(20, 20, 20, 0); panelGPU.Padding = new Padding(20, 20, 20, 0);
panelGPU.Size = new Size(810, 351); panelGPU.Size = new Size(811, 352);
panelGPU.TabIndex = 37; panelGPU.TabIndex = 1;
// //
// labelTipGPU // labelTipGPU
// //
labelTipGPU.Dock = DockStyle.Top; labelTipGPU.Dock = DockStyle.Top;
labelTipGPU.ForeColor = SystemColors.GrayText; labelTipGPU.ForeColor = SystemColors.GrayText;
labelTipGPU.Location = new Point(20, 315); labelTipGPU.Location = new Point(20, 316);
labelTipGPU.Margin = new Padding(4, 0, 4, 0); labelTipGPU.Margin = new Padding(4, 0, 4, 0);
labelTipGPU.Name = "labelTipGPU"; labelTipGPU.Name = "labelTipGPU";
labelTipGPU.Size = new Size(770, 36); labelTipGPU.Size = new Size(771, 36);
labelTipGPU.TabIndex = 20; labelTipGPU.TabIndex = 20;
// //
// tableGPU // tableGPU
@@ -600,13 +609,13 @@ namespace GHelper
tableGPU.Controls.Add(buttonOptimized, 2, 0); tableGPU.Controls.Add(buttonOptimized, 2, 0);
tableGPU.Controls.Add(buttonUltimate, 2, 0); tableGPU.Controls.Add(buttonUltimate, 2, 0);
tableGPU.Dock = DockStyle.Top; tableGPU.Dock = DockStyle.Top;
tableGPU.Location = new Point(20, 59); tableGPU.Location = new Point(20, 60);
tableGPU.Margin = new Padding(8, 4, 8, 4); tableGPU.Margin = new Padding(8, 4, 8, 4);
tableGPU.Name = "tableGPU"; tableGPU.Name = "tableGPU";
tableGPU.RowCount = 1; tableGPU.RowCount = 1;
tableGPU.RowStyles.Add(new RowStyle(SizeType.Absolute, 128F)); tableGPU.RowStyles.Add(new RowStyle(SizeType.Absolute, 128F));
tableGPU.RowStyles.Add(new RowStyle(SizeType.Absolute, 128F)); tableGPU.RowStyles.Add(new RowStyle(SizeType.Absolute, 128F));
tableGPU.Size = new Size(770, 256); tableGPU.Size = new Size(771, 256);
tableGPU.TabIndex = 16; tableGPU.TabIndex = 16;
// //
// buttonStopGPU // buttonStopGPU
@@ -635,6 +644,7 @@ namespace GHelper
// //
// buttonEco // buttonEco
// //
buttonEco.AccessibleName = "Eco GPU Mode";
buttonEco.Activated = false; buttonEco.Activated = false;
buttonEco.BackColor = SystemColors.ControlLightLight; buttonEco.BackColor = SystemColors.ControlLightLight;
buttonEco.BorderColor = Color.Transparent; buttonEco.BorderColor = Color.Transparent;
@@ -651,13 +661,14 @@ namespace GHelper
buttonEco.Name = "buttonEco"; buttonEco.Name = "buttonEco";
buttonEco.Secondary = false; buttonEco.Secondary = false;
buttonEco.Size = new Size(184, 120); buttonEco.Size = new Size(184, 120);
buttonEco.TabIndex = 0; buttonEco.TabIndex = 4;
buttonEco.Text = Properties.Strings.EcoMode; buttonEco.Text = Properties.Strings.EcoMode;
buttonEco.TextImageRelation = TextImageRelation.ImageAboveText; buttonEco.TextImageRelation = TextImageRelation.ImageAboveText;
buttonEco.UseVisualStyleBackColor = false; buttonEco.UseVisualStyleBackColor = false;
// //
// buttonStandard // buttonStandard
// //
buttonStandard.AccessibleName = "Standard GPU Mode";
buttonStandard.Activated = false; buttonStandard.Activated = false;
buttonStandard.BackColor = SystemColors.ControlLightLight; buttonStandard.BackColor = SystemColors.ControlLightLight;
buttonStandard.BorderColor = Color.Transparent; buttonStandard.BorderColor = Color.Transparent;
@@ -673,7 +684,7 @@ namespace GHelper
buttonStandard.Name = "buttonStandard"; buttonStandard.Name = "buttonStandard";
buttonStandard.Secondary = false; buttonStandard.Secondary = false;
buttonStandard.Size = new Size(184, 120); buttonStandard.Size = new Size(184, 120);
buttonStandard.TabIndex = 1; buttonStandard.TabIndex = 5;
buttonStandard.Text = Properties.Strings.StandardMode; buttonStandard.Text = Properties.Strings.StandardMode;
buttonStandard.TextImageRelation = TextImageRelation.ImageAboveText; buttonStandard.TextImageRelation = TextImageRelation.ImageAboveText;
buttonStandard.UseVisualStyleBackColor = false; buttonStandard.UseVisualStyleBackColor = false;
@@ -695,7 +706,7 @@ namespace GHelper
buttonXGM.Name = "buttonXGM"; buttonXGM.Name = "buttonXGM";
buttonXGM.Secondary = false; buttonXGM.Secondary = false;
buttonXGM.Size = new Size(184, 120); buttonXGM.Size = new Size(184, 120);
buttonXGM.TabIndex = 2; buttonXGM.TabIndex = 8;
buttonXGM.Text = "XG Mobile"; buttonXGM.Text = "XG Mobile";
buttonXGM.TextImageRelation = TextImageRelation.ImageAboveText; buttonXGM.TextImageRelation = TextImageRelation.ImageAboveText;
buttonXGM.UseVisualStyleBackColor = false; buttonXGM.UseVisualStyleBackColor = false;
@@ -718,13 +729,14 @@ namespace GHelper
buttonOptimized.Name = "buttonOptimized"; buttonOptimized.Name = "buttonOptimized";
buttonOptimized.Secondary = false; buttonOptimized.Secondary = false;
buttonOptimized.Size = new Size(184, 120); buttonOptimized.Size = new Size(184, 120);
buttonOptimized.TabIndex = 3; buttonOptimized.TabIndex = 7;
buttonOptimized.Text = Properties.Strings.Optimized; buttonOptimized.Text = Properties.Strings.Optimized;
buttonOptimized.TextImageRelation = TextImageRelation.ImageAboveText; buttonOptimized.TextImageRelation = TextImageRelation.ImageAboveText;
buttonOptimized.UseVisualStyleBackColor = false; buttonOptimized.UseVisualStyleBackColor = false;
// //
// buttonUltimate // buttonUltimate
// //
buttonUltimate.AccessibleName = "Ultimate GPU Mode";
buttonUltimate.Activated = false; buttonUltimate.Activated = false;
buttonUltimate.BackColor = SystemColors.ControlLightLight; buttonUltimate.BackColor = SystemColors.ControlLightLight;
buttonUltimate.BorderColor = Color.Transparent; buttonUltimate.BorderColor = Color.Transparent;
@@ -739,8 +751,8 @@ namespace GHelper
buttonUltimate.Margin = new Padding(4); buttonUltimate.Margin = new Padding(4);
buttonUltimate.Name = "buttonUltimate"; buttonUltimate.Name = "buttonUltimate";
buttonUltimate.Secondary = false; buttonUltimate.Secondary = false;
buttonUltimate.Size = new Size(186, 120); buttonUltimate.Size = new Size(187, 120);
buttonUltimate.TabIndex = 2; buttonUltimate.TabIndex = 6;
buttonUltimate.Text = Properties.Strings.UltimateMode; buttonUltimate.Text = Properties.Strings.UltimateMode;
buttonUltimate.TextImageRelation = TextImageRelation.ImageAboveText; buttonUltimate.TextImageRelation = TextImageRelation.ImageAboveText;
buttonUltimate.UseVisualStyleBackColor = false; buttonUltimate.UseVisualStyleBackColor = false;
@@ -752,8 +764,9 @@ namespace GHelper
panelGPUTitle.Controls.Add(labelGPUFan); panelGPUTitle.Controls.Add(labelGPUFan);
panelGPUTitle.Dock = DockStyle.Top; panelGPUTitle.Dock = DockStyle.Top;
panelGPUTitle.Location = new Point(20, 20); panelGPUTitle.Location = new Point(20, 20);
panelGPUTitle.Margin = new Padding(4);
panelGPUTitle.Name = "panelGPUTitle"; panelGPUTitle.Name = "panelGPUTitle";
panelGPUTitle.Size = new Size(770, 39); panelGPUTitle.Size = new Size(771, 40);
panelGPUTitle.TabIndex = 21; panelGPUTitle.TabIndex = 21;
// //
// pictureGPU // pictureGPU
@@ -781,10 +794,10 @@ namespace GHelper
// labelGPUFan // labelGPUFan
// //
labelGPUFan.Anchor = AnchorStyles.Top | AnchorStyles.Right; labelGPUFan.Anchor = AnchorStyles.Top | AnchorStyles.Right;
labelGPUFan.Location = new Point(370, 0); labelGPUFan.Location = new Point(371, 0);
labelGPUFan.Margin = new Padding(8, 0, 8, 0); labelGPUFan.Margin = new Padding(8, 0, 8, 0);
labelGPUFan.Name = "labelGPUFan"; labelGPUFan.Name = "labelGPUFan";
labelGPUFan.Size = new Size(400, 34); labelGPUFan.Size = new Size(400, 35);
labelGPUFan.TabIndex = 20; labelGPUFan.TabIndex = 20;
labelGPUFan.Text = " "; labelGPUFan.Text = " ";
labelGPUFan.TextAlign = ContentAlignment.TopRight; labelGPUFan.TextAlign = ContentAlignment.TopRight;
@@ -797,21 +810,21 @@ namespace GHelper
panelScreen.Controls.Add(tableScreen); panelScreen.Controls.Add(tableScreen);
panelScreen.Controls.Add(panelScreenTitle); panelScreen.Controls.Add(panelScreenTitle);
panelScreen.Dock = DockStyle.Top; panelScreen.Dock = DockStyle.Top;
panelScreen.Location = new Point(10, 568); panelScreen.Location = new Point(11, 571);
panelScreen.Margin = new Padding(0); panelScreen.Margin = new Padding(0);
panelScreen.Name = "panelScreen"; panelScreen.Name = "panelScreen";
panelScreen.Padding = new Padding(20, 20, 20, 10); panelScreen.Padding = new Padding(20, 20, 20, 11);
panelScreen.Size = new Size(810, 185); panelScreen.Size = new Size(811, 187);
panelScreen.TabIndex = 38; panelScreen.TabIndex = 2;
// //
// labelTipScreen // labelTipScreen
// //
labelTipScreen.Dock = DockStyle.Top; labelTipScreen.Dock = DockStyle.Top;
labelTipScreen.ForeColor = SystemColors.GrayText; labelTipScreen.ForeColor = SystemColors.GrayText;
labelTipScreen.Location = new Point(20, 139); labelTipScreen.Location = new Point(20, 140);
labelTipScreen.Margin = new Padding(4, 0, 4, 0); labelTipScreen.Margin = new Padding(4, 0, 4, 0);
labelTipScreen.Name = "labelTipScreen"; labelTipScreen.Name = "labelTipScreen";
labelTipScreen.Size = new Size(770, 36); labelTipScreen.Size = new Size(771, 36);
labelTipScreen.TabIndex = 24; labelTipScreen.TabIndex = 24;
// //
// tableScreen // tableScreen
@@ -828,16 +841,17 @@ namespace GHelper
tableScreen.Controls.Add(button120Hz, 2, 0); tableScreen.Controls.Add(button120Hz, 2, 0);
tableScreen.Controls.Add(buttonMiniled, 3, 0); tableScreen.Controls.Add(buttonMiniled, 3, 0);
tableScreen.Dock = DockStyle.Top; tableScreen.Dock = DockStyle.Top;
tableScreen.Location = new Point(20, 59); tableScreen.Location = new Point(20, 60);
tableScreen.Margin = new Padding(8, 4, 8, 4); tableScreen.Margin = new Padding(8, 4, 8, 4);
tableScreen.Name = "tableScreen"; tableScreen.Name = "tableScreen";
tableScreen.RowCount = 1; tableScreen.RowCount = 1;
tableScreen.RowStyles.Add(new RowStyle(SizeType.Absolute, 80F)); tableScreen.RowStyles.Add(new RowStyle(SizeType.Absolute, 80F));
tableScreen.Size = new Size(770, 80); tableScreen.Size = new Size(771, 80);
tableScreen.TabIndex = 23; tableScreen.TabIndex = 23;
// //
// buttonScreenAuto // buttonScreenAuto
// //
buttonScreenAuto.AccessibleName = "Auto Screen Refresh Rate";
buttonScreenAuto.Activated = false; buttonScreenAuto.Activated = false;
buttonScreenAuto.BackColor = SystemColors.ControlLightLight; buttonScreenAuto.BackColor = SystemColors.ControlLightLight;
buttonScreenAuto.BorderColor = Color.Transparent; buttonScreenAuto.BorderColor = Color.Transparent;
@@ -851,12 +865,13 @@ namespace GHelper
buttonScreenAuto.Name = "buttonScreenAuto"; buttonScreenAuto.Name = "buttonScreenAuto";
buttonScreenAuto.Secondary = false; buttonScreenAuto.Secondary = false;
buttonScreenAuto.Size = new Size(184, 72); buttonScreenAuto.Size = new Size(184, 72);
buttonScreenAuto.TabIndex = 0; buttonScreenAuto.TabIndex = 9;
buttonScreenAuto.Text = Properties.Strings.AutoMode; buttonScreenAuto.Text = Properties.Strings.AutoMode;
buttonScreenAuto.UseVisualStyleBackColor = false; buttonScreenAuto.UseVisualStyleBackColor = false;
// //
// button60Hz // button60Hz
// //
button60Hz.AccessibleName = "60Hz Refresh Rate";
button60Hz.Activated = false; button60Hz.Activated = false;
button60Hz.BackColor = SystemColors.ControlLightLight; button60Hz.BackColor = SystemColors.ControlLightLight;
button60Hz.BorderColor = Color.Transparent; button60Hz.BorderColor = Color.Transparent;
@@ -871,12 +886,13 @@ namespace GHelper
button60Hz.Name = "button60Hz"; button60Hz.Name = "button60Hz";
button60Hz.Secondary = false; button60Hz.Secondary = false;
button60Hz.Size = new Size(184, 72); button60Hz.Size = new Size(184, 72);
button60Hz.TabIndex = 1; button60Hz.TabIndex = 10;
button60Hz.Text = "60Hz"; button60Hz.Text = "60Hz";
button60Hz.UseVisualStyleBackColor = false; button60Hz.UseVisualStyleBackColor = false;
// //
// button120Hz // button120Hz
// //
button120Hz.AccessibleName = "Maximum Refresh Rate";
button120Hz.Activated = false; button120Hz.Activated = false;
button120Hz.BackColor = SystemColors.ControlLightLight; button120Hz.BackColor = SystemColors.ControlLightLight;
button120Hz.BorderColor = Color.Transparent; button120Hz.BorderColor = Color.Transparent;
@@ -890,7 +906,7 @@ namespace GHelper
button120Hz.Name = "button120Hz"; button120Hz.Name = "button120Hz";
button120Hz.Secondary = false; button120Hz.Secondary = false;
button120Hz.Size = new Size(184, 72); button120Hz.Size = new Size(184, 72);
button120Hz.TabIndex = 2; button120Hz.TabIndex = 11;
button120Hz.Text = "120Hz + OD"; button120Hz.Text = "120Hz + OD";
button120Hz.UseVisualStyleBackColor = false; button120Hz.UseVisualStyleBackColor = false;
// //
@@ -909,8 +925,8 @@ namespace GHelper
buttonMiniled.Margin = new Padding(4); buttonMiniled.Margin = new Padding(4);
buttonMiniled.Name = "buttonMiniled"; buttonMiniled.Name = "buttonMiniled";
buttonMiniled.Secondary = false; buttonMiniled.Secondary = false;
buttonMiniled.Size = new Size(186, 72); buttonMiniled.Size = new Size(187, 72);
buttonMiniled.TabIndex = 3; buttonMiniled.TabIndex = 12;
buttonMiniled.Text = Properties.Strings.Multizone; buttonMiniled.Text = Properties.Strings.Multizone;
buttonMiniled.UseVisualStyleBackColor = false; buttonMiniled.UseVisualStyleBackColor = false;
// //
@@ -921,17 +937,18 @@ namespace GHelper
panelScreenTitle.Controls.Add(labelSreen); panelScreenTitle.Controls.Add(labelSreen);
panelScreenTitle.Dock = DockStyle.Top; panelScreenTitle.Dock = DockStyle.Top;
panelScreenTitle.Location = new Point(20, 20); panelScreenTitle.Location = new Point(20, 20);
panelScreenTitle.Margin = new Padding(4);
panelScreenTitle.Name = "panelScreenTitle"; panelScreenTitle.Name = "panelScreenTitle";
panelScreenTitle.Size = new Size(770, 39); panelScreenTitle.Size = new Size(771, 40);
panelScreenTitle.TabIndex = 25; panelScreenTitle.TabIndex = 25;
// //
// labelMidFan // labelMidFan
// //
labelMidFan.Anchor = AnchorStyles.Top | AnchorStyles.Right; labelMidFan.Anchor = AnchorStyles.Top | AnchorStyles.Right;
labelMidFan.Location = new Point(516, -2); labelMidFan.Location = new Point(516, -3);
labelMidFan.Margin = new Padding(8, 0, 8, 0); labelMidFan.Margin = new Padding(8, 0, 8, 0);
labelMidFan.Name = "labelMidFan"; labelMidFan.Name = "labelMidFan";
labelMidFan.Size = new Size(254, 34); labelMidFan.Size = new Size(253, 35);
labelMidFan.TabIndex = 28; labelMidFan.TabIndex = 28;
labelMidFan.Text = " "; labelMidFan.Text = " ";
labelMidFan.TextAlign = ContentAlignment.TopRight; labelMidFan.TextAlign = ContentAlignment.TopRight;
@@ -940,7 +957,7 @@ namespace GHelper
// //
pictureScreen.BackgroundImage = Properties.Resources.icons8_laptop_32; pictureScreen.BackgroundImage = Properties.Resources.icons8_laptop_32;
pictureScreen.BackgroundImageLayout = ImageLayout.Zoom; pictureScreen.BackgroundImageLayout = ImageLayout.Zoom;
pictureScreen.Location = new Point(6, 0); pictureScreen.Location = new Point(5, 0);
pictureScreen.Margin = new Padding(4); pictureScreen.Margin = new Padding(4);
pictureScreen.Name = "pictureScreen"; pictureScreen.Name = "pictureScreen";
pictureScreen.Size = new Size(32, 32); pictureScreen.Size = new Size(32, 32);
@@ -951,7 +968,7 @@ namespace GHelper
// //
labelSreen.AutoSize = true; labelSreen.AutoSize = true;
labelSreen.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point); labelSreen.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
labelSreen.Location = new Point(40, -1); labelSreen.Location = new Point(40, 0);
labelSreen.Margin = new Padding(8, 0, 8, 0); labelSreen.Margin = new Padding(8, 0, 8, 0);
labelSreen.Name = "labelSreen"; labelSreen.Name = "labelSreen";
labelSreen.Size = new Size(176, 32); labelSreen.Size = new Size(176, 32);
@@ -965,12 +982,12 @@ namespace GHelper
panelKeyboard.Controls.Add(tableLayoutKeyboard); panelKeyboard.Controls.Add(tableLayoutKeyboard);
panelKeyboard.Controls.Add(panelKeyboardTitle); panelKeyboard.Controls.Add(panelKeyboardTitle);
panelKeyboard.Dock = DockStyle.Top; panelKeyboard.Dock = DockStyle.Top;
panelKeyboard.Location = new Point(10, 753); panelKeyboard.Location = new Point(11, 758);
panelKeyboard.Margin = new Padding(0); panelKeyboard.Margin = new Padding(0);
panelKeyboard.Name = "panelKeyboard"; panelKeyboard.Name = "panelKeyboard";
panelKeyboard.Padding = new Padding(20); panelKeyboard.Padding = new Padding(20);
panelKeyboard.Size = new Size(810, 138); panelKeyboard.Size = new Size(811, 140);
panelKeyboard.TabIndex = 39; panelKeyboard.TabIndex = 3;
// //
// tableLayoutKeyboard // tableLayoutKeyboard
// //
@@ -984,16 +1001,17 @@ namespace GHelper
tableLayoutKeyboard.Controls.Add(panelColor, 0, 0); tableLayoutKeyboard.Controls.Add(panelColor, 0, 0);
tableLayoutKeyboard.Controls.Add(comboKeyboard, 0, 0); tableLayoutKeyboard.Controls.Add(comboKeyboard, 0, 0);
tableLayoutKeyboard.Dock = DockStyle.Top; tableLayoutKeyboard.Dock = DockStyle.Top;
tableLayoutKeyboard.Location = new Point(20, 59); tableLayoutKeyboard.Location = new Point(20, 60);
tableLayoutKeyboard.Margin = new Padding(8); tableLayoutKeyboard.Margin = new Padding(8);
tableLayoutKeyboard.Name = "tableLayoutKeyboard"; tableLayoutKeyboard.Name = "tableLayoutKeyboard";
tableLayoutKeyboard.RowCount = 1; tableLayoutKeyboard.RowCount = 1;
tableLayoutKeyboard.RowStyles.Add(new RowStyle(SizeType.Percent, 100F)); tableLayoutKeyboard.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
tableLayoutKeyboard.Size = new Size(770, 59); tableLayoutKeyboard.Size = new Size(771, 60);
tableLayoutKeyboard.TabIndex = 39; tableLayoutKeyboard.TabIndex = 39;
// //
// buttonKeyboard // buttonKeyboard
// //
buttonKeyboard.AccessibleName = "Extra Settings";
buttonKeyboard.Activated = false; buttonKeyboard.Activated = false;
buttonKeyboard.BackColor = SystemColors.ControlLight; buttonKeyboard.BackColor = SystemColors.ControlLight;
buttonKeyboard.BorderColor = Color.Transparent; buttonKeyboard.BorderColor = Color.Transparent;
@@ -1003,12 +1021,12 @@ namespace GHelper
buttonKeyboard.FlatStyle = FlatStyle.Flat; buttonKeyboard.FlatStyle = FlatStyle.Flat;
buttonKeyboard.Image = Properties.Resources.icons8_settings_32; buttonKeyboard.Image = Properties.Resources.icons8_settings_32;
buttonKeyboard.ImageAlign = ContentAlignment.MiddleRight; buttonKeyboard.ImageAlign = ContentAlignment.MiddleRight;
buttonKeyboard.Location = new Point(516, 7); buttonKeyboard.Location = new Point(518, 8);
buttonKeyboard.Margin = new Padding(4, 7, 4, 7); buttonKeyboard.Margin = new Padding(4, 8, 4, 8);
buttonKeyboard.Name = "buttonKeyboard"; buttonKeyboard.Name = "buttonKeyboard";
buttonKeyboard.Secondary = true; buttonKeyboard.Secondary = true;
buttonKeyboard.Size = new Size(250, 45); buttonKeyboard.Size = new Size(249, 44);
buttonKeyboard.TabIndex = 37; buttonKeyboard.TabIndex = 15;
buttonKeyboard.Text = Properties.Strings.Extra; buttonKeyboard.Text = Properties.Strings.Extra;
buttonKeyboard.TextImageRelation = TextImageRelation.ImageBeforeText; buttonKeyboard.TextImageRelation = TextImageRelation.ImageBeforeText;
buttonKeyboard.UseVisualStyleBackColor = false; buttonKeyboard.UseVisualStyleBackColor = false;
@@ -1020,16 +1038,16 @@ namespace GHelper
panelColor.Controls.Add(pictureColor); panelColor.Controls.Add(pictureColor);
panelColor.Controls.Add(buttonKeyboardColor); panelColor.Controls.Add(buttonKeyboardColor);
panelColor.Dock = DockStyle.Fill; panelColor.Dock = DockStyle.Fill;
panelColor.Location = new Point(260, 7); panelColor.Location = new Point(261, 8);
panelColor.Margin = new Padding(4, 7, 4, 7); panelColor.Margin = new Padding(4, 8, 4, 8);
panelColor.Name = "panelColor"; panelColor.Name = "panelColor";
panelColor.Size = new Size(248, 45); panelColor.Size = new Size(249, 44);
panelColor.TabIndex = 36; panelColor.TabIndex = 36;
// //
// pictureColor2 // pictureColor2
// //
pictureColor2.Anchor = AnchorStyles.Top | AnchorStyles.Right; pictureColor2.Anchor = AnchorStyles.Top | AnchorStyles.Right;
pictureColor2.Location = new Point(187, 13); pictureColor2.Location = new Point(189, 12);
pictureColor2.Margin = new Padding(8); pictureColor2.Margin = new Padding(8);
pictureColor2.Name = "pictureColor2"; pictureColor2.Name = "pictureColor2";
pictureColor2.Size = new Size(20, 20); pictureColor2.Size = new Size(20, 20);
@@ -1039,7 +1057,7 @@ namespace GHelper
// pictureColor // pictureColor
// //
pictureColor.Anchor = AnchorStyles.Top | AnchorStyles.Right; pictureColor.Anchor = AnchorStyles.Top | AnchorStyles.Right;
pictureColor.Location = new Point(214, 13); pictureColor.Location = new Point(214, 12);
pictureColor.Margin = new Padding(8); pictureColor.Margin = new Padding(8);
pictureColor.Name = "pictureColor"; pictureColor.Name = "pictureColor";
pictureColor.Size = new Size(20, 20); pictureColor.Size = new Size(20, 20);
@@ -1048,6 +1066,7 @@ namespace GHelper
// //
// buttonKeyboardColor // buttonKeyboardColor
// //
buttonKeyboardColor.AccessibleName = "Keyboard Color";
buttonKeyboardColor.Activated = false; buttonKeyboardColor.Activated = false;
buttonKeyboardColor.BackColor = SystemColors.ButtonHighlight; buttonKeyboardColor.BackColor = SystemColors.ButtonHighlight;
buttonKeyboardColor.BorderColor = Color.Transparent; buttonKeyboardColor.BorderColor = Color.Transparent;
@@ -1056,16 +1075,17 @@ namespace GHelper
buttonKeyboardColor.FlatStyle = FlatStyle.Flat; buttonKeyboardColor.FlatStyle = FlatStyle.Flat;
buttonKeyboardColor.ForeColor = SystemColors.ControlText; buttonKeyboardColor.ForeColor = SystemColors.ControlText;
buttonKeyboardColor.Location = new Point(0, 0); buttonKeyboardColor.Location = new Point(0, 0);
buttonKeyboardColor.Margin = new Padding(4, 7, 4, 7); buttonKeyboardColor.Margin = new Padding(4, 8, 4, 8);
buttonKeyboardColor.Name = "buttonKeyboardColor"; buttonKeyboardColor.Name = "buttonKeyboardColor";
buttonKeyboardColor.Secondary = false; buttonKeyboardColor.Secondary = false;
buttonKeyboardColor.Size = new Size(248, 45); buttonKeyboardColor.Size = new Size(249, 44);
buttonKeyboardColor.TabIndex = 39; buttonKeyboardColor.TabIndex = 14;
buttonKeyboardColor.Text = Properties.Strings.Color; buttonKeyboardColor.Text = Properties.Strings.Color;
buttonKeyboardColor.UseVisualStyleBackColor = false; buttonKeyboardColor.UseVisualStyleBackColor = false;
// //
// comboKeyboard // comboKeyboard
// //
comboKeyboard.AccessibleName = "Keyboard Backlight Mode";
comboKeyboard.BorderColor = Color.White; comboKeyboard.BorderColor = Color.White;
comboKeyboard.ButtonColor = Color.FromArgb(255, 255, 255); comboKeyboard.ButtonColor = Color.FromArgb(255, 255, 255);
comboKeyboard.Dock = DockStyle.Top; comboKeyboard.Dock = DockStyle.Top;
@@ -1074,12 +1094,11 @@ namespace GHelper
comboKeyboard.FormattingEnabled = true; comboKeyboard.FormattingEnabled = true;
comboKeyboard.ItemHeight = 32; comboKeyboard.ItemHeight = 32;
comboKeyboard.Items.AddRange(new object[] { "Static", "Breathe", "Rainbow", "Strobe" }); comboKeyboard.Items.AddRange(new object[] { "Static", "Breathe", "Rainbow", "Strobe" });
comboKeyboard.Location = new Point(4, 10); comboKeyboard.Location = new Point(4, 11);
comboKeyboard.Margin = new Padding(4, 10, 4, 8); comboKeyboard.Margin = new Padding(4, 11, 4, 8);
comboKeyboard.Name = "comboKeyboard"; comboKeyboard.Name = "comboKeyboard";
comboKeyboard.Size = new Size(248, 40); comboKeyboard.Size = new Size(249, 40);
comboKeyboard.TabIndex = 35; comboKeyboard.TabIndex = 13;
comboKeyboard.TabStop = false;
// //
// panelKeyboardTitle // panelKeyboardTitle
// //
@@ -1087,15 +1106,16 @@ namespace GHelper
panelKeyboardTitle.Controls.Add(labelKeyboard); panelKeyboardTitle.Controls.Add(labelKeyboard);
panelKeyboardTitle.Dock = DockStyle.Top; panelKeyboardTitle.Dock = DockStyle.Top;
panelKeyboardTitle.Location = new Point(20, 20); panelKeyboardTitle.Location = new Point(20, 20);
panelKeyboardTitle.Margin = new Padding(4);
panelKeyboardTitle.Name = "panelKeyboardTitle"; panelKeyboardTitle.Name = "panelKeyboardTitle";
panelKeyboardTitle.Size = new Size(770, 39); panelKeyboardTitle.Size = new Size(771, 40);
panelKeyboardTitle.TabIndex = 40; panelKeyboardTitle.TabIndex = 40;
// //
// pictureKeyboard // pictureKeyboard
// //
pictureKeyboard.BackgroundImage = Properties.Resources.icons8_keyboard_32__1_; pictureKeyboard.BackgroundImage = Properties.Resources.icons8_keyboard_32__1_;
pictureKeyboard.BackgroundImageLayout = ImageLayout.Zoom; pictureKeyboard.BackgroundImageLayout = ImageLayout.Zoom;
pictureKeyboard.Location = new Point(6, 0); pictureKeyboard.Location = new Point(5, 0);
pictureKeyboard.Margin = new Padding(4); pictureKeyboard.Margin = new Padding(4);
pictureKeyboard.Name = "pictureKeyboard"; pictureKeyboard.Name = "pictureKeyboard";
pictureKeyboard.Size = new Size(32, 32); pictureKeyboard.Size = new Size(32, 32);
@@ -1118,7 +1138,7 @@ namespace GHelper
labelVersion.Cursor = Cursors.Hand; labelVersion.Cursor = Cursors.Hand;
labelVersion.Font = new Font("Segoe UI", 9F, FontStyle.Underline, GraphicsUnit.Point); labelVersion.Font = new Font("Segoe UI", 9F, FontStyle.Underline, GraphicsUnit.Point);
labelVersion.ForeColor = SystemColors.ControlDark; labelVersion.ForeColor = SystemColors.ControlDark;
labelVersion.Location = new Point(28, 11); labelVersion.Location = new Point(28, 12);
labelVersion.Margin = new Padding(8, 0, 8, 0); labelVersion.Margin = new Padding(8, 0, 8, 0);
labelVersion.Name = "labelVersion"; labelVersion.Name = "labelVersion";
labelVersion.Size = new Size(300, 32); labelVersion.Size = new Size(300, 32);
@@ -1130,7 +1150,7 @@ namespace GHelper
labelModel.Anchor = AnchorStyles.Top | AnchorStyles.Right; labelModel.Anchor = AnchorStyles.Top | AnchorStyles.Right;
labelModel.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point); labelModel.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
labelModel.ForeColor = SystemColors.ControlDark; labelModel.ForeColor = SystemColors.ControlDark;
labelModel.Location = new Point(380, 11); labelModel.Location = new Point(380, 12);
labelModel.Margin = new Padding(8, 0, 8, 0); labelModel.Margin = new Padding(8, 0, 8, 0);
labelModel.Name = "labelModel"; labelModel.Name = "labelModel";
labelModel.Size = new Size(400, 32); labelModel.Size = new Size(400, 32);
@@ -1142,10 +1162,11 @@ namespace GHelper
panelVersion.Controls.Add(labelVersion); panelVersion.Controls.Add(labelVersion);
panelVersion.Controls.Add(labelModel); panelVersion.Controls.Add(labelModel);
panelVersion.Dock = DockStyle.Top; panelVersion.Dock = DockStyle.Top;
panelVersion.Location = new Point(10, 1187); panelVersion.Location = new Point(11, 1180);
panelVersion.Margin = new Padding(4);
panelVersion.Name = "panelVersion"; panelVersion.Name = "panelVersion";
panelVersion.Size = new Size(810, 57); panelVersion.Size = new Size(811, 56);
panelVersion.TabIndex = 41; panelVersion.TabIndex = 6;
// //
// SettingsForm // SettingsForm
// //
@@ -1153,7 +1174,7 @@ namespace GHelper
AutoScaleMode = AutoScaleMode.Dpi; AutoScaleMode = AutoScaleMode.Dpi;
AutoSize = true; AutoSize = true;
AutoSizeMode = AutoSizeMode.GrowAndShrink; AutoSizeMode = AutoSizeMode.GrowAndShrink;
ClientSize = new Size(830, 1213); ClientSize = new Size(833, 1320);
Controls.Add(panelFooter); Controls.Add(panelFooter);
Controls.Add(panelVersion); Controls.Add(panelVersion);
Controls.Add(panelBattery); Controls.Add(panelBattery);
@@ -1166,9 +1187,9 @@ namespace GHelper
MaximizeBox = false; MaximizeBox = false;
MdiChildrenMinimizedAnchorBottom = false; MdiChildrenMinimizedAnchorBottom = false;
MinimizeBox = false; MinimizeBox = false;
MinimumSize = new Size(830, 71); MinimumSize = new Size(823, 71);
Name = "SettingsForm"; Name = "SettingsForm";
Padding = new Padding(10); Padding = new Padding(11);
ShowIcon = false; ShowIcon = false;
StartPosition = FormStartPosition.CenterScreen; StartPosition = FormStartPosition.CenterScreen;
Text = "G-Helper"; Text = "G-Helper";

View File

@@ -9,6 +9,7 @@ using GHelper.Mode;
using GHelper.UI; using GHelper.UI;
using System.Diagnostics; using System.Diagnostics;
using System.Timers; using System.Timers;
using System.Windows.Forms;
namespace GHelper namespace GHelper
{ {
@@ -32,8 +33,10 @@ namespace GHelper
public Updates? updates; public Updates? updates;
static long lastRefresh; static long lastRefresh;
static long lastBatteryRefresh;
bool isGpuSection = true; bool isGpuSection = true;
bool batteryMouseOver = false;
public SettingsForm() public SettingsForm()
{ {
@@ -173,6 +176,12 @@ namespace GHelper
sensorTimer.Elapsed += OnTimedEvent; sensorTimer.Elapsed += OnTimedEvent;
sensorTimer.Enabled = true; sensorTimer.Enabled = true;
labelBattery.MouseEnter += PanelBattery_MouseEnter;
labelBatteryTitle.MouseEnter += PanelBattery_MouseEnter;
labelBattery.MouseLeave += PanelBattery_MouseLeave;
labelBatteryTitle.MouseLeave += PanelBattery_MouseLeave;
labelModel.Text = AppConfig.GetModelShort() + (ProcessHelper.IsUserAdministrator() ? "." : ""); labelModel.Text = AppConfig.GetModelShort() + (ProcessHelper.IsUserAdministrator() ? "." : "");
TopMost = AppConfig.Is("topmost"); TopMost = AppConfig.Is("topmost");
@@ -180,6 +189,33 @@ namespace GHelper
} }
private void PanelBattery_MouseEnter(object? sender, EventArgs e)
{
batteryMouseOver = true;
ShowBatteryWear();
}
private void PanelBattery_MouseLeave(object? sender, EventArgs e)
{
batteryMouseOver = false;
RefreshSensors(true);
}
private void ShowBatteryWear()
{
//Refresh again only after 15 Minutes since the last refresh
if (lastBatteryRefresh == 0 || Math.Abs(DateTimeOffset.Now.ToUnixTimeMilliseconds() - lastBatteryRefresh) > 15 * 60_000)
{
lastBatteryRefresh = DateTimeOffset.Now.ToUnixTimeMilliseconds();
HardwareControl.RefreshBatteryHealth();
}
if (HardwareControl.batteryHealth != -1)
{
labelBattery.Text = Properties.Strings.BatteryHealth + ": " + Math.Round(HardwareControl.batteryHealth, 1) + "%";
}
}
private void SettingsForm_VisibleChanged(object? sender, EventArgs e) private void SettingsForm_VisibleChanged(object? sender, EventArgs e)
{ {
sensorTimer.Enabled = this.Visible; sensorTimer.Enabled = this.Visible;
@@ -489,7 +525,8 @@ namespace GHelper
if (colorDlg.ShowDialog() == DialogResult.OK) if (colorDlg.ShowDialog() == DialogResult.OK)
{ {
AppConfig.Set("aura_color2", colorDlg.Color.ToArgb()); AppConfig.Set("aura_color2", colorDlg.Color.ToArgb());
SetAura(); AsusUSB.ApplyAura();
VisualiseAura();
} }
} }
@@ -554,7 +591,8 @@ namespace GHelper
if (colorDlg.ShowDialog() == DialogResult.OK) if (colorDlg.ShowDialog() == DialogResult.OK)
{ {
AppConfig.Set("aura_color", colorDlg.Color.ToArgb()); AppConfig.Set("aura_color", colorDlg.Color.ToArgb());
SetAura(); AsusUSB.ApplyAura();
VisualiseAura();
} }
} }
@@ -572,9 +610,6 @@ namespace GHelper
comboKeyboard.SelectedValue = AsusUSB.Mode; comboKeyboard.SelectedValue = AsusUSB.Mode;
comboKeyboard.SelectedValueChanged += ComboKeyboard_SelectedValueChanged; comboKeyboard.SelectedValueChanged += ComboKeyboard_SelectedValueChanged;
pictureColor.BackColor = AsusUSB.Color1;
pictureColor2.BackColor = AsusUSB.Color2;
pictureColor2.Visible = AsusUSB.HasSecondColor();
if (AsusUSB.HasColor()) if (AsusUSB.HasColor())
{ {
@@ -586,6 +621,15 @@ namespace GHelper
comboKeyboard.Visible = false; comboKeyboard.Visible = false;
} }
VisualiseAura();
}
public void VisualiseAura()
{
pictureColor.BackColor = AsusUSB.Color1;
pictureColor2.BackColor = AsusUSB.Color2;
pictureColor2.Visible = AsusUSB.HasSecondColor();
} }
public void InitMatrix() public void InitMatrix()
@@ -606,21 +650,6 @@ namespace GHelper
} }
public void SetAura()
{
AsusUSB.Mode = AppConfig.Get("aura_mode");
AsusUSB.Speed = AppConfig.Get("aura_speed");
AsusUSB.SetColor(AppConfig.Get("aura_color"));
AsusUSB.SetColor2(AppConfig.Get("aura_color2"));
pictureColor.BackColor = AsusUSB.Color1;
pictureColor2.BackColor = AsusUSB.Color2;
pictureColor2.Visible = AsusUSB.HasSecondColor();
AsusUSB.ApplyAura();
}
public void CycleAuraMode() public void CycleAuraMode()
{ {
if (comboKeyboard.SelectedIndex < comboKeyboard.Items.Count - 1) if (comboKeyboard.SelectedIndex < comboKeyboard.Items.Count - 1)
@@ -632,7 +661,8 @@ namespace GHelper
private void ComboKeyboard_SelectedValueChanged(object? sender, EventArgs e) private void ComboKeyboard_SelectedValueChanged(object? sender, EventArgs e)
{ {
AppConfig.Set("aura_mode", (int)comboKeyboard.SelectedValue); AppConfig.Set("aura_mode", (int)comboKeyboard.SelectedValue);
SetAura(); AsusUSB.ApplyAura();
VisualiseAura();
} }
@@ -774,8 +804,12 @@ namespace GHelper
if (HardwareControl.cpuTemp > 0) if (HardwareControl.cpuTemp > 0)
cpuTemp = ": " + Math.Round((decimal)HardwareControl.cpuTemp).ToString() + "°C"; cpuTemp = ": " + Math.Round((decimal)HardwareControl.cpuTemp).ToString() + "°C";
if (HardwareControl.batteryDischarge > 0) if (HardwareControl.batteryRate < 0)
battery = Properties.Strings.Discharging + ": " + Math.Round((decimal)HardwareControl.batteryDischarge, 1).ToString() + "W"; battery = Properties.Strings.Discharging + ": " + Math.Round(-(decimal)HardwareControl.batteryRate, 1).ToString() + "W";
else if (HardwareControl.batteryRate > 0)
battery = Properties.Strings.Charging + ": " + Math.Round((decimal)HardwareControl.batteryRate, 1).ToString() + "W";
if (HardwareControl.gpuTemp > 0) if (HardwareControl.gpuTemp > 0)
{ {
@@ -788,9 +822,9 @@ namespace GHelper
labelCPUFan.Text = "CPU" + cpuTemp + " " + HardwareControl.cpuFan; labelCPUFan.Text = "CPU" + cpuTemp + " " + HardwareControl.cpuFan;
labelGPUFan.Text = "GPU" + gpuTemp + " " + HardwareControl.gpuFan; labelGPUFan.Text = "GPU" + gpuTemp + " " + HardwareControl.gpuFan;
if (HardwareControl.midFan is not null) if (HardwareControl.midFan is not null)
labelMidFan.Text = "Mid" + HardwareControl.midFan; labelMidFan.Text = "Mid " + HardwareControl.midFan;
labelBattery.Text = battery; if (!batteryMouseOver) labelBattery.Text = battery;
}); });
string trayTip = "CPU" + cpuTemp + " " + HardwareControl.cpuFan; string trayTip = "CPU" + cpuTemp + " " + HardwareControl.cpuFan;
@@ -859,9 +893,11 @@ namespace GHelper
public void AutoKeyboard() public void AutoKeyboard()
{ {
InputDispatcher.SetBacklightAuto(true);
AsusUSB.ApplyAuraPower(); AsusUSB.ApplyAuraPower();
AsusUSB.ApplyAura();
InputDispatcher.SetBacklightAuto(true);
if (Program.acpi.IsXGConnected()) if (Program.acpi.IsXGConnected())
AsusUSB.ApplyXGMLight(AppConfig.Is("xmg_light")); AsusUSB.ApplyXGMLight(AppConfig.Is("xmg_light"));

View File

@@ -1,5 +1,5 @@
{ {
"sdk": { "sdk": {
"version": "7.0.203" "version": "7.0.306"
} }
} }

View File

@@ -18,7 +18,7 @@ Lightweight Armoury Crate alternative for Asus laptops. A small utility that all
5. FN-Lock 5. FN-Lock
6. Doesn't need administrator privileges to run (*) 6. Doesn't need administrator privileges to run (*)
## [:floppy_disk: Download App](https://github.com/seerge/g-helper/releases/latest/download/GHelper.zip) # [:floppy_disk: Download G-Helper App](https://github.com/seerge/g-helper/releases/latest/download/GHelper.zip)
If you like this app, please [star :star: it on Github](https://github.com/seerge/g-helper) and spread a word about it! If you like this app, please [star :star: it on Github](https://github.com/seerge/g-helper) and spread a word about it!
#### Support project in [:euro: EUR](https://www.paypal.com/donate/?hosted_button_id=4HMSHS4EBQWTA) | [💵 USD](https://www.paypal.com/donate/?hosted_button_id=SRM6QUX6ACXDY) | [:credit_card: Stripe](https://buy.stripe.com/00gaFJ9Lf79v7WobII) #### Support project in [:euro: EUR](https://www.paypal.com/donate/?hosted_button_id=4HMSHS4EBQWTA) | [💵 USD](https://www.paypal.com/donate/?hosted_button_id=SRM6QUX6ACXDY) | [:credit_card: Stripe](https://buy.stripe.com/00gaFJ9Lf79v7WobII)
@@ -27,7 +27,7 @@ _If you post about the app - please include a link. Thanks._
![Gihhub](https://github.com/seerge/g-helper/assets/5920850/4d98465a-63a5-4498-ae14-afb3e67e7e82) ![Gihhub](https://github.com/seerge/g-helper/assets/5920850/4d98465a-63a5-4498-ae14-afb3e67e7e82)
### :zap: Main features ### :zap: Features
1. **Performance modes**: Silent - Balanced - Turbo (built-in, with default fan curves) 1. **Performance modes**: Silent - Balanced - Turbo (built-in, with default fan curves)
2. **GPU modes**: Eco - Standard - Ultimate - Optimized 2. **GPU modes**: Eco - Standard - Ultimate - Optimized
@@ -40,6 +40,7 @@ _If you post about the app - please include a link. Thanks._
9. Battery charge limit to preserve battery health 9. Battery charge limit to preserve battery health
10. NVidia GPU overclocking 10. NVidia GPU overclocking
11. XG Mobile Control 11. XG Mobile Control
12. AMD CPU Undervolting
![Screenshot 2023-04-13 190951](https://user-images.githubusercontent.com/5920850/231859391-c4963af4-491c-4523-95d4-0bdcfd7cfd6f.png) ![Screenshot 2023-04-13 190951](https://user-images.githubusercontent.com/5920850/231859391-c4963af4-491c-4523-95d4-0bdcfd7cfd6f.png)
@@ -124,7 +125,11 @@ You can find them under ``%AppData%\GHelper`` folder. Please include them when p
Open app, and uncheck and check again "run on startup". If it still doesn't help (by some reason), you can try to manually edit "GHelper" task in windows Task Scheduler, and add couple of seconds delay to start. Open app, and uncheck and check again "run on startup". If it still doesn't help (by some reason), you can try to manually edit "GHelper" task in windows Task Scheduler, and add couple of seconds delay to start.
#### How do I uninstall G-helper? #### How do I uninstall G-helper?
G-helper is a single exe, and it doesn't install anything in the system. To remove it - you can simply delete exe :) If you have applied any custom fan profiles or PPTs - before removing I would recommend selecting your favorite performance mode (for example balanced) and clicking "Factory defaults" under Fans + Power. G-helper is a single exe, and it doesn't install anything in the system. To remove it - you can simply delete exe :) If you have applied any custom fan profiles or PPTs - before removing I would recommend selecting your
favorite performance mode (for example balanced) and clicking "Factory defaults" under Fans + Power.
#### Can I undervolt my CPU ?
Currently you can undervolt AMD CPUs. If your model supports that - you will see undervolting slider under ``Fans+Power -> Advanced``. If you don't see slider there, it means your CPU doesn't support undervolting. Full list of models that suppor that [can be found here](https://github.com/seerge/g-helper/discussions/736)
#### I have G14 2023 and my GPU refuses to disable/enable #### I have G14 2023 and my GPU refuses to disable/enable
It seem to be an issue in older BIOS versions. As [users report](https://github.com/seerge/g-helper/issues/680) - latest BIOS 310 (installable via myasus / g-helper -> updates) resolves all issues :) So please update. It seem to be an issue in older BIOS versions. As [users report](https://github.com/seerge/g-helper/issues/680) - latest BIOS 310 (installable via myasus / g-helper -> updates) resolves all issues :) So please update.
@@ -216,15 +221,19 @@ App supports custom actions for M3, M4 and FN+F4 hotkeys. To set them select "Cu
2. To simulate any windows key - put appropriate keycode into "action" field, for example ``0x2C`` for Print screen. 2. To simulate any windows key - put appropriate keycode into "action" field, for example ``0x2C`` for Print screen.
Full list of keycodes https://learn.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes Full list of keycodes https://learn.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes
![Screenshot 2023-06-04 232848](https://github.com/seerge/g-helper/assets/5920850/3db6f058-af2b-4220-9ac9-3b812ab09903) ![Screenshot 2023-07-17 192155](https://github.com/seerge/g-helper/assets/5920850/e450e124-1589-4787-bce8-7c37ffe72fbd)
### Workaround for [bugged bios on G15](https://github.com/seerge/g-helper/issues/253) when external monitor is connected ### Force Standard mode on shutdown / hibernation
In some rare cases G14 2023 seem to have issues with enabling / disabling dGPU - i.e. Eco mode. Till we wait for a fix from asus on BIOS level, one of the proposed solutions is to always shutdown laptop in Standard mode (then everything seem to work fine). To enable "forced" Standard mode on shutdown add following line to ``%AppData%\GHelper\config.json``
```
"gpu_fix" : 1,
```
Some people reported that on G15 model bios can be bugged and either not turn on or not turn off fans, when you set custom fan curve (in Armoury or g-helper, or any other app) ### Disable OSD
I have added a very optional workaround as it was asked, on launch app will try to disable and re-enable dGPU when external monitor is connected, that seems to wake up fans :) You can disable app's OSD (for performance modes, keyboard backlight, etc) by adding following line to ``%AppData%\GHelper\config.json``
```
To enable this custom workaround you need to add an extra line in config.json (under ``%AppData%\GHelper``) "disable_osd": 1,
``gpu_reenable : 1,`` ```
### Keybinding to toggle performance modes (on external keyboards) ### Keybinding to toggle performance modes (on external keyboards)