mirror of
https://github.com/jkocon/g-helper.git
synced 2026-02-23 13:00:52 +01:00
Compare commits
67 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
99dfcbb95c | ||
|
|
736cad7ff5 | ||
|
|
b3b0b512d2 | ||
|
|
2462bc92de | ||
|
|
fcfa1821a6 | ||
|
|
70e2e2e06e | ||
|
|
c0b5ef93d3 | ||
|
|
737c83ec22 | ||
|
|
fd1d929d0d | ||
|
|
c2aa4da1db | ||
|
|
adcbe33fbb | ||
|
|
31e52dbf00 | ||
|
|
acef2407c7 | ||
|
|
6dd4905b95 | ||
|
|
1657e89599 | ||
|
|
745deef642 | ||
|
|
21ad10ce4e | ||
|
|
5e7a2e8ced | ||
|
|
30fb32c3d5 | ||
|
|
ef442f3f11 | ||
|
|
7bfd80b20f | ||
|
|
4e1aa01fae | ||
|
|
2c8f14f783 | ||
|
|
cf46ed7eff | ||
|
|
8552eab367 | ||
|
|
abd28efb61 | ||
|
|
e161a76e66 | ||
|
|
0270a453b8 | ||
|
|
6e1081044b | ||
|
|
384a70c51c | ||
|
|
0da6540de4 | ||
|
|
83fed695e4 | ||
|
|
6bd69a6055 | ||
|
|
e125afde1a | ||
|
|
bc79784b2f | ||
|
|
a29cd7e1be | ||
|
|
5986707f90 | ||
|
|
3bd35074fe | ||
|
|
b1b187f098 | ||
|
|
1464a39eb4 | ||
|
|
f682646865 | ||
|
|
6a9d805838 | ||
|
|
0217b2a993 | ||
|
|
0a3256eb44 | ||
|
|
6eba7dadea | ||
|
|
772bd8e7a5 | ||
|
|
556a4ce4ee | ||
|
|
c0f88191df | ||
|
|
527769042f | ||
|
|
671c31848b | ||
|
|
00dc6a6ca3 | ||
|
|
765c03815e | ||
|
|
df35a576df | ||
|
|
becb71b69b | ||
|
|
aba4ab7742 | ||
|
|
2a9b9735d5 | ||
|
|
9ced493821 | ||
|
|
c6f3f73405 | ||
|
|
b8b82af613 | ||
|
|
4ab7ceb837 | ||
|
|
d7c85e8440 | ||
|
|
87eb2e5a39 | ||
|
|
d8569d5d43 | ||
|
|
ddf56fc017 | ||
|
|
ee86661aac | ||
|
|
d05298030f | ||
|
|
49d751ee15 |
39
.github/ISSUE_TEMPLATE/bug_report.md
vendored
39
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@@ -1,39 +0,0 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve
|
||||
|
||||
---
|
||||
|
||||
## NOTE
|
||||
Bug reports without clear information or scenario to reproduce and logs from ``%AppData%\GHelper`` will be closed without answer. Please respect the time of the developer. Thanks.
|
||||
|
||||
**Describe the bug**
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
**Clear scenario to Reproduce**
|
||||
Steps to reproduce the behavior:
|
||||
1. Go to '...'
|
||||
2. Click on '....'
|
||||
3. Scroll down to '....'
|
||||
4. Explanation of an error or a bug
|
||||
|
||||
**Expected behavior**
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
||||
**App Logs**
|
||||
Please include and attach log.txt from ``%AppData%\GHelper``
|
||||
|
||||
**Screenshots or screencasts**
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
|
||||
**Desktop (please complete the following information):**
|
||||
- OS: [e.g. Windows 11]
|
||||
- Laptop model
|
||||
|
||||
**Asus software**
|
||||
- Armoury Crate (or it's services installed)
|
||||
- MyASUS installed
|
||||
- Other Asus services running in background
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the problem here.
|
||||
88
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
Normal file
88
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
Normal file
@@ -0,0 +1,88 @@
|
||||
name: Bug Report
|
||||
description: Something isn't working correctly
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thanks for taking the time to fill out this bug report. The more information you provide, the easier it will be for me to fix it!
|
||||
- type: checkboxes
|
||||
id: rules
|
||||
attributes:
|
||||
label: Rules
|
||||
options:
|
||||
- label: I made myself familiar with the <a href='https://github.com/seerge/g-helper?tab=readme-ov-file'>Readme</a>, <a href='https://github.com/seerge/g-helper/wiki/FAQ'>FAQ</a> and <a href='https://github.com/seerge/g-helper/wiki/Troubleshooting'>Troubleshooting</a>.
|
||||
required: true
|
||||
- label: I understand that, if insufficient information was provided, my issue will be closed without an answer.
|
||||
required: true
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: What's wrong?
|
||||
description: Provide detailed description of what is wrong or does not work as expected.
|
||||
placeholder: Provide detailed description of what is wrong or does not work as expected.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: reproduce
|
||||
attributes:
|
||||
label: How to reproduce the bug?
|
||||
description: Describe how to reproduce the behavior. Be as specific as possible and provide as many details as possible.
|
||||
placeholder: |
|
||||
1. Go to '...'
|
||||
2. Click on '....'
|
||||
3. Scroll down to '....'
|
||||
4. See error
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: logs
|
||||
attributes:
|
||||
label: Logs
|
||||
placeholder: Please drag and drop complete log file from ``%APPDATA%\GHelper\log.txt``
|
||||
description: Please drag and drop complete log file from ``%APPDATA%\GHelper\log.txt``
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: device
|
||||
attributes:
|
||||
label: Device and Model
|
||||
description: Which laptop do you use?
|
||||
placeholder: e.g. Asus Zephyrus G14 GA404RK
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: additional
|
||||
attributes:
|
||||
label: Additional information.
|
||||
description: If applicable, add screenshots or other relevant information to help explain your problem.
|
||||
- type: dropdown
|
||||
id: armoury
|
||||
attributes:
|
||||
label: Armoury Crate
|
||||
description: Do you have Armoury Crate installed?
|
||||
options:
|
||||
- Uninstalled
|
||||
- Installed
|
||||
- Never installed
|
||||
default: 0
|
||||
- type: input
|
||||
id: asus
|
||||
attributes:
|
||||
label: Asus Services
|
||||
description: How many Asus services do you have running (check ``Extra`` section in G-Helper)?
|
||||
placeholder: e.g. None
|
||||
- type: input
|
||||
id: version
|
||||
attributes:
|
||||
label: Version
|
||||
description: G-Helper version?
|
||||
placeholder: e.g. 0.146
|
||||
- type: input
|
||||
id: os
|
||||
attributes:
|
||||
label: OS
|
||||
description: Which operating system do you use?
|
||||
placeholder: e.g. Windows 11 21H2
|
||||
|
||||
523
app/Ally/AllyControl.cs
Normal file
523
app/Ally/AllyControl.cs
Normal file
@@ -0,0 +1,523 @@
|
||||
using GHelper.Gpu.AMD;
|
||||
using GHelper.Input;
|
||||
using GHelper.USB;
|
||||
using HidSharp;
|
||||
using System.Text;
|
||||
|
||||
namespace GHelper.Ally
|
||||
{
|
||||
|
||||
public enum ControllerMode : int
|
||||
{
|
||||
Auto = 0,
|
||||
Gamepad = 1,
|
||||
WASD = 2,
|
||||
Mouse = 3,
|
||||
}
|
||||
|
||||
public enum BindingZone : byte
|
||||
{
|
||||
DPadUpDown = 1,
|
||||
DPadLeftRight = 2,
|
||||
StickClick = 3,
|
||||
Bumper = 4,
|
||||
AB = 5,
|
||||
XY = 6,
|
||||
ViewMenu = 7,
|
||||
M1M2 = 8,
|
||||
Trigger = 9
|
||||
}
|
||||
|
||||
public class AllyControl
|
||||
{
|
||||
System.Timers.Timer timer = default!;
|
||||
static AmdGpuControl amdControl = new AmdGpuControl();
|
||||
|
||||
SettingsForm settings;
|
||||
|
||||
static ControllerMode _mode = ControllerMode.Auto;
|
||||
static ControllerMode _applyMode = ControllerMode.Mouse;
|
||||
static int _autoCount = 0;
|
||||
|
||||
static int fpsLimit = -1;
|
||||
|
||||
public const int BindA = 0x0101;
|
||||
public const int BindB = 0x0102;
|
||||
|
||||
public const int BindX = 0x0103;
|
||||
public const int BindY = 0x0104;
|
||||
|
||||
public const int BindLB = 0x0105;
|
||||
public const int BindRB = 0x0106;
|
||||
|
||||
public const int BindLS = 0x0107;
|
||||
public const int BindRS = 0x0108;
|
||||
|
||||
public const int BindDU = 0x0109;
|
||||
public const int BindDD = 0x010A;
|
||||
|
||||
public const int BindDL = 0x010B;
|
||||
public const int BindDR = 0x010C;
|
||||
|
||||
public const int BindVB = 0x0111;
|
||||
public const int BindMB = 0x0112;
|
||||
|
||||
public const int BindM1 = 0x028f;
|
||||
public const int BindM2 = 0x028e;
|
||||
|
||||
public const int BindLT = 0x010d;
|
||||
public const int BindRT = 0x010e;
|
||||
|
||||
static byte[] CommandReady = new byte[] { AsusHid.INPUT_ID, 0xd1, 0x0a, 0x01 };
|
||||
static byte[] CommandSave = new byte[] { AsusHid.INPUT_ID, 0xd1, 0x0f, 0x20 };
|
||||
|
||||
public static Dictionary<int, string> BindCodes = new Dictionary<int, string>
|
||||
{
|
||||
{ -1, "--------" },
|
||||
{ 0x0000, "[ Disabled ]" },
|
||||
|
||||
{ BindM1, "M1" },
|
||||
{ BindM2, "M2" },
|
||||
|
||||
{ BindA, "A" },
|
||||
{ BindB, "B" },
|
||||
|
||||
{ BindX, "X" },
|
||||
{ BindY, "Y" },
|
||||
|
||||
{ BindLB, "Left Bumper" },
|
||||
{ BindRB, "Right Bumper" },
|
||||
|
||||
{ BindLS, "Left Stick Click" },
|
||||
{ BindRS, "Right Stick Click" },
|
||||
|
||||
{ BindDU, "DPad Up" },
|
||||
{ BindDD, "DPad Down" },
|
||||
|
||||
{ BindDL, "DPad Left" },
|
||||
{ BindDR, "DPad Right" },
|
||||
|
||||
{ BindVB, "View Button" },
|
||||
{ BindMB, "Menu Button" },
|
||||
|
||||
{ 0x0113, "XBox/Steam" },
|
||||
|
||||
{ 0x0276, "Esc" },
|
||||
{ 0x0250, "F1" },
|
||||
{ 0x0260, "F2" },
|
||||
{ 0x0240, "F3" },
|
||||
{ 0x020C, "F4" },
|
||||
{ 0x0203, "F5" },
|
||||
{ 0x020b, "F6" },
|
||||
{ 0x0280, "F7" },
|
||||
{ 0x020a, "F8" },
|
||||
{ 0x0201, "F9" },
|
||||
{ 0x0209, "F10" },
|
||||
{ 0x0278, "F11" },
|
||||
{ 0x0207, "F12" },
|
||||
{ 0x020E, "`" },
|
||||
{ 0x0216, "1" },
|
||||
{ 0x021E, "2" },
|
||||
{ 0x0226, "3" },
|
||||
{ 0x0225, "4" },
|
||||
{ 0x022E, "5" },
|
||||
{ 0x0236, "6" },
|
||||
{ 0x023D, "7" },
|
||||
{ 0x023E, "8" },
|
||||
{ 0x0246, "9" },
|
||||
{ 0x0245, "0" },
|
||||
{ 0x024E, "-" },
|
||||
{ 0x0255, "=" },
|
||||
{ 0x0266, "Backspace" },
|
||||
{ 0x020D, "Tab" },
|
||||
{ 0x0215, "Q" },
|
||||
{ 0x021D, "W" },
|
||||
{ 0x0224, "E" },
|
||||
{ 0x022D, "R" },
|
||||
{ 0x022C, "T" },
|
||||
{ 0x0235, "Y" },
|
||||
{ 0x023C, "U" },
|
||||
{ 0x0244, "O" },
|
||||
{ 0x024D, "P" },
|
||||
{ 0x0254, "[" },
|
||||
{ 0x025B, "]" },
|
||||
{ 0x025D, "|" },
|
||||
{ 0x0258, "Caps" },
|
||||
{ 0x021C, "A" },
|
||||
{ 0x021B, "S" },
|
||||
{ 0x0223, "D" },
|
||||
{ 0x022B, "F" },
|
||||
{ 0x0234, "G" },
|
||||
{ 0x0233, "H" },
|
||||
{ 0x023B, "J" },
|
||||
{ 0x0242, "k" },
|
||||
{ 0x024b, "l" },
|
||||
{ 0x024c, ";" },
|
||||
{ 0x0252, "'" },
|
||||
{ 0x025A, "Enter" },
|
||||
{ 0x0288, "LShift" },
|
||||
{ 0x0222, "X" },
|
||||
{ 0x021A, "Z" },
|
||||
{ 0x0221, "C" },
|
||||
{ 0x022A, "V" },
|
||||
{ 0x0232, "B" },
|
||||
{ 0x0231, "N" },
|
||||
{ 0x023A, "M" },
|
||||
{ 0x0241, "," },
|
||||
{ 0x0249, "." },
|
||||
{ 0x0289, "RShift" },
|
||||
{ 0x028C, "LCtl" },
|
||||
{ 0x0282, "Meta" },
|
||||
{ 0x028A, "LAlt" },
|
||||
{ 0x0229, "Space" },
|
||||
{ 0x028B, "RAlt" },
|
||||
{ 0x0284, "App menu" },
|
||||
{ 0x028D, "RCtl" },
|
||||
{ 0x02C3, "PrntScn" },
|
||||
{ 0x027E, "ScrLk" },
|
||||
{ 0x02C2, "Insert" },
|
||||
{ 0x0294, "Home" },
|
||||
{ 0x0296, "PgUp" },
|
||||
{ 0x02C0, "Delete" },
|
||||
{ 0x0295, "End" },
|
||||
{ 0x0297, "PgDwn" },
|
||||
{ 0x0298, "UpArrow" },
|
||||
{ 0x0299, "DownArrow" },
|
||||
{ 0x0291, "LeftArrow" },
|
||||
{ 0x029B, "RightArrow" },
|
||||
{ 0x0277, "NumLock" },
|
||||
{ 0x0290, "NumSlash" },
|
||||
{ 0x027C, "NumStar" },
|
||||
{ 0x027B, "NumHyphen" },
|
||||
{ 0x0270, "Num0" },
|
||||
{ 0x0269, "Num1" },
|
||||
{ 0x0272, "Num2" },
|
||||
{ 0x027A, "Num3" },
|
||||
{ 0x026B, "Num4" },
|
||||
{ 0x0273, "Num5" },
|
||||
{ 0x0274, "Num6" },
|
||||
{ 0x026C, "Num7" },
|
||||
{ 0x0275, "Num8" },
|
||||
{ 0x027D, "Num9" },
|
||||
{ 0x0279, "NumPlus" },
|
||||
{ 0x0281, "NumEnter" },
|
||||
{ 0x0271, "NumPeriod" },
|
||||
|
||||
{ 0x0301, "Mouse left click" },
|
||||
{ 0x0302, "Mouse right click" },
|
||||
{ 0x0303, "Mouse middle click" },
|
||||
{ 0x0304, "Mouse scroll up" },
|
||||
{ 0x0305, "Mouse scroll down" },
|
||||
|
||||
{ 0x0516, "Screenshot" },
|
||||
{ 0x0519, "Show keyboard" },
|
||||
{ 0x051c, "Show desktop" },
|
||||
{ 0x051e, "Begin recording" },
|
||||
{ 0x0501, "Mic off" },
|
||||
{ 0x0502, "Vol Down" },
|
||||
{ 0x0503, "Vol Up" }
|
||||
};
|
||||
|
||||
public AllyControl(SettingsForm settingsForm)
|
||||
{
|
||||
if (!AppConfig.IsAlly()) return;
|
||||
|
||||
settings = settingsForm;
|
||||
|
||||
timer = new System.Timers.Timer(300);
|
||||
timer.Elapsed += Timer_Elapsed;
|
||||
|
||||
}
|
||||
|
||||
private void Timer_Elapsed(object? sender, System.Timers.ElapsedEventArgs e)
|
||||
{
|
||||
float fps = amdControl.GetFPS();
|
||||
|
||||
ControllerMode newMode = (fps > 0) ? ControllerMode.Gamepad : ControllerMode.Mouse;
|
||||
|
||||
if (_applyMode != newMode) _autoCount++;
|
||||
else _autoCount = 0;
|
||||
|
||||
if (_mode != ControllerMode.Auto) return;
|
||||
|
||||
if (_autoCount > 2)
|
||||
{
|
||||
_autoCount = 0;
|
||||
ApplyMode(newMode);
|
||||
Logger.WriteLine(fps.ToString());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void Init()
|
||||
{
|
||||
if (AppConfig.IsAlly()) settings.VisualiseAlly(true);
|
||||
else return;
|
||||
|
||||
SetMode((ControllerMode)AppConfig.Get("controller_mode", (int)ControllerMode.Auto));
|
||||
|
||||
settings.VisualiseBacklight(InputDispatcher.GetBacklight());
|
||||
settings.VisualiseFPSLimit(amdControl.GetFPSLimit());
|
||||
|
||||
}
|
||||
|
||||
public void ToggleFPSLimit()
|
||||
{
|
||||
switch (fpsLimit)
|
||||
{
|
||||
case 30:
|
||||
fpsLimit = 40;
|
||||
break;
|
||||
case 40:
|
||||
fpsLimit = 60;
|
||||
break;
|
||||
case 60:
|
||||
fpsLimit = 120;
|
||||
break;
|
||||
default:
|
||||
fpsLimit = 30;
|
||||
break;
|
||||
}
|
||||
|
||||
int result = amdControl.SetFPSLimit(fpsLimit);
|
||||
Logger.WriteLine($"FPS Limit {fpsLimit}: {result}");
|
||||
|
||||
settings.VisualiseFPSLimit(fpsLimit);
|
||||
|
||||
}
|
||||
|
||||
|
||||
public void ToggleBacklight()
|
||||
{
|
||||
InputDispatcher.SetBacklight(4, true);
|
||||
settings.VisualiseBacklight(InputDispatcher.GetBacklight());
|
||||
}
|
||||
|
||||
static private byte[] DecodeBinding(int binding)
|
||||
{
|
||||
|
||||
if (binding < 0) return new byte[2];
|
||||
|
||||
byte command = (byte)(binding & 0xFF);
|
||||
byte device = (byte)((binding >> 8) & 0xFF);
|
||||
|
||||
byte[] code = new byte[10];
|
||||
code[0] = device;
|
||||
switch (device)
|
||||
{
|
||||
case 0x02:
|
||||
code[2] = command;
|
||||
break;
|
||||
case 0x03:
|
||||
code[4] = command;
|
||||
break;
|
||||
case 0x05:
|
||||
code[3] = command;
|
||||
break;
|
||||
default:
|
||||
code[1] = command;
|
||||
break;
|
||||
}
|
||||
|
||||
return code;
|
||||
}
|
||||
|
||||
static private void BindZone(BindingZone zone)
|
||||
{
|
||||
int KeyL1, KeyR1;
|
||||
int KeyL2, KeyR2;
|
||||
|
||||
switch (zone)
|
||||
{
|
||||
case BindingZone.DPadUpDown:
|
||||
KeyL1 = AppConfig.Get("bind_du", BindDU);
|
||||
KeyR1 = AppConfig.Get("bind_dd", BindDD);
|
||||
KeyL2 = AppConfig.Get("bind2_du");
|
||||
KeyR2 = AppConfig.Get("bind2_dd");
|
||||
break;
|
||||
case BindingZone.DPadLeftRight:
|
||||
KeyL1 = AppConfig.Get("bind_dl", BindDL);
|
||||
KeyR1 = AppConfig.Get("bind_dr", BindDR);
|
||||
KeyL2 = AppConfig.Get("bind2_dl");
|
||||
KeyR2 = AppConfig.Get("bind2_dr");
|
||||
break;
|
||||
case BindingZone.StickClick:
|
||||
KeyL1 = AppConfig.Get("bind_ls", BindLS);
|
||||
KeyR1 = AppConfig.Get("bind_rs", BindRS);
|
||||
KeyL2 = AppConfig.Get("bind2_ls");
|
||||
KeyR2 = AppConfig.Get("bind2_rs");
|
||||
break;
|
||||
case BindingZone.Bumper:
|
||||
KeyL1 = AppConfig.Get("bind_lb", BindLB);
|
||||
KeyR1 = AppConfig.Get("bind_rb", BindRB);
|
||||
KeyL2 = AppConfig.Get("bind2_lb");
|
||||
KeyR2 = AppConfig.Get("bind2_rb");
|
||||
break;
|
||||
case BindingZone.AB:
|
||||
KeyL1 = AppConfig.Get("bind_a", BindA);
|
||||
KeyR1 = AppConfig.Get("bind_b", BindB);
|
||||
KeyL2 = AppConfig.Get("bind2_a");
|
||||
KeyR2 = AppConfig.Get("bind2_b");
|
||||
break;
|
||||
case BindingZone.XY:
|
||||
KeyL1 = AppConfig.Get("bind_x", BindX);
|
||||
KeyR1 = AppConfig.Get("bind_y", BindY);
|
||||
KeyL2 = AppConfig.Get("bind2_x");
|
||||
KeyR2 = AppConfig.Get("bind2_y");
|
||||
break;
|
||||
case BindingZone.ViewMenu:
|
||||
KeyL1 = AppConfig.Get("bind_vb", BindVB);
|
||||
KeyR1 = AppConfig.Get("bind_mb", BindMB);
|
||||
KeyL2 = AppConfig.Get("bind2_vb");
|
||||
KeyR2 = AppConfig.Get("bind2_mb");
|
||||
break;
|
||||
case BindingZone.M1M2:
|
||||
KeyL1 = AppConfig.Get("bind_m2", BindM2);
|
||||
KeyR1 = AppConfig.Get("bind_m1", BindM1);
|
||||
KeyL2 = AppConfig.Get("bind2_m2", BindM2);
|
||||
KeyR2 = AppConfig.Get("bind2_m1", BindM1);
|
||||
break;
|
||||
default:
|
||||
KeyL1 = AppConfig.Get("bind_trl", BindLT);
|
||||
KeyR1 = AppConfig.Get("bind_trr", BindRT);
|
||||
KeyL2 = AppConfig.Get("bind2_trl");
|
||||
KeyR2 = AppConfig.Get("bind2_trr");
|
||||
break;
|
||||
}
|
||||
|
||||
if (KeyL1 == -1 && KeyR1 == -1) return;
|
||||
|
||||
byte[] bindings = new byte[64];
|
||||
byte[] init = new byte[] { AsusHid.INPUT_ID, 0xd1, 0x02, (byte)zone, 0x2c };
|
||||
|
||||
init.CopyTo(bindings, 0);
|
||||
|
||||
DecodeBinding(KeyL1).CopyTo(bindings, 5);
|
||||
DecodeBinding(KeyL2).CopyTo(bindings, 16);
|
||||
|
||||
DecodeBinding(KeyR1).CopyTo(bindings, 27);
|
||||
DecodeBinding(KeyR2).CopyTo(bindings, 38);
|
||||
|
||||
AsusHid.WriteInput(CommandReady, null);
|
||||
AsusHid.WriteInput(bindings, $"Bind{zone}");
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
static void WakeUp()
|
||||
{
|
||||
AsusHid.WriteInput(Encoding.ASCII.GetBytes("ZASUS Tech.Inc."), "Init");
|
||||
}
|
||||
|
||||
static public void SetDeadzones()
|
||||
{
|
||||
WakeUp();
|
||||
|
||||
AsusHid.WriteInput(new byte[] { AsusHid.INPUT_ID, 0xd1, 4, 4,
|
||||
(byte)AppConfig.Get("ls_min", 0),
|
||||
(byte)AppConfig.Get("ls_max", 100),
|
||||
(byte)AppConfig.Get("rs_min", 0),
|
||||
(byte)AppConfig.Get("rs_max", 100)
|
||||
}, "StickDeadzone");
|
||||
|
||||
AsusHid.WriteInput(new byte[] { AsusHid.INPUT_ID, 0xd1, 5, 4,
|
||||
(byte)AppConfig.Get("lt_min", 0),
|
||||
(byte)AppConfig.Get("lt_max", 100),
|
||||
(byte)AppConfig.Get("rt_min", 0),
|
||||
(byte)AppConfig.Get("rt_max", 100)
|
||||
}, "TriggerDeadzone");
|
||||
|
||||
AsusHid.WriteInput(new byte[] { AsusHid.INPUT_ID, 0xd1, 6, 2,
|
||||
(byte)AppConfig.Get("vibra", 100),
|
||||
(byte)AppConfig.Get("vibra", 100)
|
||||
}, "Vibration");
|
||||
|
||||
}
|
||||
|
||||
public static void ApplyMode(ControllerMode applyMode = ControllerMode.Auto)
|
||||
{
|
||||
Task.Run(() => {
|
||||
|
||||
HidStream? input = AsusHid.FindHidStream(AsusHid.INPUT_ID);
|
||||
int count = 0;
|
||||
|
||||
while (input == null && count++ < 5)
|
||||
{
|
||||
input = AsusHid.FindHidStream(AsusHid.INPUT_ID);
|
||||
Thread.Sleep(2000);
|
||||
}
|
||||
|
||||
if (input == null)
|
||||
{
|
||||
Logger.WriteLine($"Controller not found");
|
||||
return;
|
||||
}
|
||||
|
||||
if (applyMode != ControllerMode.Auto) _applyMode = applyMode;
|
||||
|
||||
WakeUp();
|
||||
|
||||
AsusHid.WriteInput(new byte[] { AsusHid.INPUT_ID, 0xd1, 0x01, 0x01, (byte)_applyMode }, "Controller");
|
||||
AsusHid.WriteInput(CommandSave, null);
|
||||
|
||||
BindZone(BindingZone.M1M2);
|
||||
|
||||
if (_applyMode == ControllerMode.Gamepad)
|
||||
{
|
||||
BindZone(BindingZone.DPadUpDown);
|
||||
BindZone(BindingZone.DPadLeftRight);
|
||||
BindZone(BindingZone.StickClick);
|
||||
BindZone(BindingZone.Bumper);
|
||||
BindZone(BindingZone.AB);
|
||||
BindZone(BindingZone.XY);
|
||||
BindZone(BindingZone.ViewMenu);
|
||||
BindZone(BindingZone.Trigger);
|
||||
}
|
||||
|
||||
AsusHid.WriteInput(CommandSave, null);
|
||||
SetDeadzones();
|
||||
});
|
||||
}
|
||||
|
||||
private void SetMode(ControllerMode mode)
|
||||
{
|
||||
|
||||
_mode = mode;
|
||||
ApplyMode(mode);
|
||||
AppConfig.Set("controller_mode", (int)mode);
|
||||
|
||||
if (mode == ControllerMode.Auto)
|
||||
{
|
||||
amdControl.StartFPS();
|
||||
timer.Start();
|
||||
}
|
||||
else
|
||||
{
|
||||
timer.Stop();
|
||||
amdControl.StopFPS();
|
||||
}
|
||||
|
||||
settings.VisualiseController(mode);
|
||||
}
|
||||
|
||||
public void ToggleMode()
|
||||
{
|
||||
|
||||
switch (_mode)
|
||||
{
|
||||
case ControllerMode.Auto:
|
||||
SetMode(ControllerMode.Gamepad);
|
||||
break;
|
||||
case ControllerMode.Gamepad:
|
||||
SetMode(ControllerMode.Mouse);
|
||||
break;
|
||||
case ControllerMode.Mouse:
|
||||
SetMode(ControllerMode.Auto);
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -10,7 +10,7 @@ using System.Timers;
|
||||
namespace GHelper.AnimeMatrix
|
||||
{
|
||||
|
||||
public class AniMatrixControl
|
||||
public class AniMatrixControl : NAudio.CoreAudioApi.Interfaces.IMMNotificationClient
|
||||
{
|
||||
|
||||
SettingsForm settings;
|
||||
@@ -20,6 +20,8 @@ namespace GHelper.AnimeMatrix
|
||||
|
||||
double[]? AudioValues;
|
||||
WasapiCapture? AudioDevice;
|
||||
string? AudioDeviceId;
|
||||
private MMDeviceEnumerator? AudioDeviceEnum;
|
||||
|
||||
public bool IsValid => device != null;
|
||||
|
||||
@@ -167,6 +169,9 @@ namespace GHelper.AnimeMatrix
|
||||
Logger.WriteLine(ex.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
AudioDeviceId = null;
|
||||
AudioDeviceEnum?.Dispose();
|
||||
}
|
||||
|
||||
void SetMatrixAudio()
|
||||
@@ -179,10 +184,13 @@ namespace GHelper.AnimeMatrix
|
||||
|
||||
try
|
||||
{
|
||||
using (var enumerator = new MMDeviceEnumerator())
|
||||
using (MMDevice device = enumerator.GetDefaultAudioEndpoint(DataFlow.Render, Role.Console))
|
||||
AudioDeviceEnum = new MMDeviceEnumerator();
|
||||
AudioDeviceEnum.RegisterEndpointNotificationCallback(this);
|
||||
|
||||
using (MMDevice device = AudioDeviceEnum.GetDefaultAudioEndpoint(DataFlow.Render, Role.Console))
|
||||
{
|
||||
AudioDevice = new WasapiLoopbackCapture(device);
|
||||
AudioDeviceId = device.ID;
|
||||
WaveFormat fmt = AudioDevice.WaveFormat;
|
||||
|
||||
AudioValues = new double[fmt.SampleRate / 1000];
|
||||
@@ -397,6 +405,48 @@ namespace GHelper.AnimeMatrix
|
||||
|
||||
}
|
||||
|
||||
public void OnDeviceStateChanged(string deviceId, DeviceState newState)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public void OnDeviceAdded(string pwstrDeviceId)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public void OnDeviceRemoved(string deviceId)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public void OnDefaultDeviceChanged(DataFlow flow, Role role, string defaultDeviceId)
|
||||
{
|
||||
if (AudioDeviceId == defaultDeviceId)
|
||||
{
|
||||
//We already caputre this device. No need to re-initialize
|
||||
return;
|
||||
}
|
||||
|
||||
int running = AppConfig.Get("matrix_running");
|
||||
if (flow != DataFlow.Render || role != Role.Console || running != 4)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
//Restart audio if default audio changed
|
||||
Logger.WriteLine("Matrix Audio: Default Output changed to " + defaultDeviceId);
|
||||
|
||||
//Already set the device here. Otherwise this will be called multiple times in a short succession and causes a crash due to dispose during initalization.
|
||||
AudioDeviceId = defaultDeviceId;
|
||||
|
||||
//Delay is required or it will deadlock on dispose.
|
||||
Task.Delay(50).ContinueWith(t => SetMatrixAudio());
|
||||
}
|
||||
|
||||
public void OnPropertyValueChanged(string pwstrDeviceId, PropertyKey key)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -452,7 +452,7 @@ namespace Starlight.AnimeMatrix
|
||||
}
|
||||
}
|
||||
|
||||
SetBitmapDiagonal(bmp, (width - textWidth), height);
|
||||
SetBitmapDiagonal(bmp, 5 , height);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -344,6 +344,11 @@ public static class AppConfig
|
||||
return ContainsModel("TUF");
|
||||
}
|
||||
|
||||
public static bool IsProArt()
|
||||
{
|
||||
return ContainsModel("ProArt");
|
||||
}
|
||||
|
||||
public static bool IsVivobook()
|
||||
{
|
||||
return ContainsModel("Vivobook");
|
||||
@@ -379,12 +384,12 @@ public static class AppConfig
|
||||
|
||||
public static bool IsStrixLimitedRGB()
|
||||
{
|
||||
return ContainsModel("G614JV") || ContainsModel("G614JZ") || ContainsModel("G512LI") || ContainsModel("G513R") || ContainsModel("G713PV") || ContainsModel("G513IE") || ContainsModel("G713RC") || ContainsModel("G513QM");
|
||||
return (ContainsModel("G614JV") || ContainsModel("G614JZ") || ContainsModel("G512LI") || ContainsModel("G513R") || ContainsModel("G713PV") || ContainsModel("G513IE") || ContainsModel("G713RC") || ContainsModel("G513QM") || ContainsModel("G531G")) && !Is("per_key_rgb");
|
||||
}
|
||||
|
||||
public static bool IsNoDirectRGB()
|
||||
{
|
||||
return ContainsModel("GA503");
|
||||
return ContainsModel("GA503") || ContainsModel("G533Q");
|
||||
}
|
||||
|
||||
public static bool IsStrixNumpad()
|
||||
@@ -485,6 +490,11 @@ public static class AppConfig
|
||||
return ContainsModel("FA507");
|
||||
}
|
||||
|
||||
public static bool IsIntelHX()
|
||||
{
|
||||
return ContainsModel("G814") || ContainsModel("G614") || ContainsModel("G834") || ContainsModel("G634");
|
||||
}
|
||||
|
||||
public static bool IsASUS()
|
||||
{
|
||||
return ContainsModel("ROG") || ContainsModel("TUF") || ContainsModel("Vivobook") || ContainsModel("Zenbook");
|
||||
|
||||
@@ -83,10 +83,10 @@ public class AsusACPI
|
||||
public const int Temp_CPU = 0x00120094;
|
||||
public const int Temp_GPU = 0x00120097;
|
||||
|
||||
public const int PPT_TotalA0 = 0x001200A0; // SPL (Total limit for all-AMD models) / PL1
|
||||
public const int PPT_APUA0 = 0x001200A0; // sPPT (slow boost limit) / PL2
|
||||
public const int PPT_EDCA1 = 0x001200A1; // CPU EDC
|
||||
public const int PPT_TDCA2 = 0x001200A2; // CPU TDC
|
||||
public const int PPT_APUA3 = 0x001200A3; // sPPT (long boost limit) / PL2
|
||||
public const int PPT_APUA3 = 0x001200A3; // SPL (sustained limit) / PL1
|
||||
|
||||
public const int PPT_CPUB0 = 0x001200B0; // CPU PPT on 2022 (PPT_LIMIT_APU)
|
||||
public const int PPT_CPUB1 = 0x001200B1; // Total PPT on 2022 (PPT_LIMIT_SLOW)
|
||||
@@ -259,6 +259,11 @@ public class AsusACPI
|
||||
DefaultTotal = 30;
|
||||
}
|
||||
|
||||
if (AppConfig.IsIntelHX())
|
||||
{
|
||||
MaxTotal = 175;
|
||||
}
|
||||
|
||||
if (AppConfig.DynamicBoost5())
|
||||
{
|
||||
MaxGPUBoost = 5;
|
||||
@@ -508,7 +513,7 @@ public class AsusACPI
|
||||
|
||||
for (int i = 0; i < 8; i++)
|
||||
{
|
||||
if (curve[i] == old) curve[i]++; // preventing 2 points in same spot from default asus profiles
|
||||
if (curve[i] <= old) curve[i] = (byte)Math.Min(100, old + 6); // preventing 2 points in same spot from default asus profiles
|
||||
points[curve[i]] = curve[i + 8];
|
||||
old = curve[i];
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using System.Diagnostics;
|
||||
using GHelper.Helpers;
|
||||
using System.Diagnostics;
|
||||
using System.Net;
|
||||
using System.Reflection;
|
||||
using System.Text.Json;
|
||||
@@ -119,7 +120,7 @@ namespace GHelper.AutoUpdate
|
||||
Logger.WriteLine(zipName);
|
||||
Logger.WriteLine(exeName);
|
||||
|
||||
string command = $"Start-Sleep -Seconds 1; $ErrorActionPreference = \"Stop\"; Expand-Archive \"{zipName}\" -DestinationPath . -Force; Remove-Item \"{zipName}\" -Force; \".\\{exeName}\"; ";
|
||||
string command = $"$ErrorActionPreference = \"Stop\"; Wait-Process -Name \"GHelper\"; Expand-Archive \"{zipName}\" -DestinationPath . -Force; Remove-Item \"{zipName}\" -Force; \".\\{exeName}\"; ";
|
||||
Logger.WriteLine(command);
|
||||
|
||||
try
|
||||
@@ -130,6 +131,7 @@ namespace GHelper.AutoUpdate
|
||||
cmd.StartInfo.CreateNoWindow = true;
|
||||
cmd.StartInfo.FileName = "powershell";
|
||||
cmd.StartInfo.Arguments = command;
|
||||
if (ProcessHelper.IsUserAdministrator()) cmd.StartInfo.Verb = "runas";
|
||||
cmd.Start();
|
||||
}
|
||||
catch (Exception ex)
|
||||
@@ -137,7 +139,7 @@ namespace GHelper.AutoUpdate
|
||||
Logger.WriteLine(ex.Message);
|
||||
}
|
||||
|
||||
Application.Exit();
|
||||
Environment.Exit(0);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -226,6 +226,8 @@ namespace GHelper
|
||||
SetKeyCombo(comboM4, textM4, "m4");
|
||||
SetKeyCombo(comboFNF4, textFNF4, "paddle");
|
||||
|
||||
checkGpuApps.Visible = false;
|
||||
checkUSBC.Visible = false;
|
||||
|
||||
int apuMem = Program.acpi.GetAPUMem();
|
||||
if (apuMem >= 0)
|
||||
@@ -311,7 +313,7 @@ namespace GHelper
|
||||
checkSleepLogo.CheckedChanged += CheckPower_CheckedChanged;
|
||||
checkShutdownLogo.CheckedChanged += CheckPower_CheckedChanged;
|
||||
|
||||
if (!AppConfig.IsStrix())
|
||||
if ((!AppConfig.IsStrix() && !AppConfig.IsZ13()) || AppConfig.IsStrixLimitedRGB() || AppConfig.IsARCNM())
|
||||
{
|
||||
labelBacklightBar.Visible = false;
|
||||
checkAwakeBar.Visible = false;
|
||||
@@ -319,10 +321,6 @@ namespace GHelper
|
||||
checkSleepBar.Visible = false;
|
||||
checkShutdownBar.Visible = false;
|
||||
|
||||
}
|
||||
|
||||
if ((!AppConfig.IsStrix() && !AppConfig.IsZ13()) || AppConfig.IsStrixLimitedRGB() || AppConfig.IsARCNM())
|
||||
{
|
||||
labelBacklightLid.Visible = false;
|
||||
checkAwakeLid.Visible = false;
|
||||
checkBootLid.Visible = false;
|
||||
@@ -334,7 +332,6 @@ namespace GHelper
|
||||
checkBootLogo.Visible = false;
|
||||
checkSleepLogo.Visible = false;
|
||||
checkShutdownLogo.Visible = false;
|
||||
|
||||
}
|
||||
|
||||
if (!AppConfig.IsStrix() && !AppConfig.IsZ13())
|
||||
|
||||
504
app/Fans.Designer.cs
generated
504
app/Fans.Designer.cs
generated
@@ -31,14 +31,14 @@ namespace GHelper
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
ChartArea chartArea17 = new ChartArea();
|
||||
Title title17 = new Title();
|
||||
ChartArea chartArea18 = new ChartArea();
|
||||
Title title18 = new Title();
|
||||
ChartArea chartArea19 = new ChartArea();
|
||||
Title title19 = new Title();
|
||||
ChartArea chartArea20 = new ChartArea();
|
||||
Title title20 = new Title();
|
||||
ChartArea chartArea5 = new ChartArea();
|
||||
Title title5 = new Title();
|
||||
ChartArea chartArea6 = new ChartArea();
|
||||
Title title6 = new Title();
|
||||
ChartArea chartArea7 = new ChartArea();
|
||||
Title title7 = new Title();
|
||||
ChartArea chartArea8 = new ChartArea();
|
||||
Title title8 = new Title();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Fans));
|
||||
panelFans = new Panel();
|
||||
labelTip = new Label();
|
||||
@@ -88,18 +88,22 @@ namespace GHelper
|
||||
panelPower = new Panel();
|
||||
panelApplyPower = new Panel();
|
||||
checkApplyPower = new RCheckBox();
|
||||
panelB0 = new Panel();
|
||||
labelB0 = new Label();
|
||||
labelLeftB0 = new Label();
|
||||
trackB0 = new TrackBar();
|
||||
panelC1 = new Panel();
|
||||
labelC1 = new Label();
|
||||
labelLeftC1 = new Label();
|
||||
trackC1 = new TrackBar();
|
||||
panelA0 = new Panel();
|
||||
labelA0 = new Label();
|
||||
labelLeftA0 = new Label();
|
||||
trackA0 = new TrackBar();
|
||||
panelCPU = new Panel();
|
||||
labelCPU = new Label();
|
||||
labelLeftCPU = new Label();
|
||||
trackCPU = new TrackBar();
|
||||
panelFast = new Panel();
|
||||
labelFast = new Label();
|
||||
labelLeftFast = new Label();
|
||||
trackFast = new TrackBar();
|
||||
panelSlow = new Panel();
|
||||
labelSlow = new Label();
|
||||
labelLeftSlow = new Label();
|
||||
trackSlow = new TrackBar();
|
||||
panelTotal = new Panel();
|
||||
labelTotal = new Label();
|
||||
labelLeftTotal = new Label();
|
||||
trackTotal = new TrackBar();
|
||||
panelTitleCPU = new Panel();
|
||||
pictureBoxCPU = new PictureBox();
|
||||
labelPowerLimits = new Label();
|
||||
@@ -141,10 +145,6 @@ namespace GHelper
|
||||
buttonAdvanced = new RButton();
|
||||
buttonGPU = new RButton();
|
||||
buttonCPU = new RButton();
|
||||
panelA3 = new Panel();
|
||||
labelA3 = new Label();
|
||||
labelLeftA3 = new Label();
|
||||
trackA3 = new TrackBar();
|
||||
panelFans.SuspendLayout();
|
||||
tableFanCharts.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)chartGPU).BeginInit();
|
||||
@@ -170,12 +170,14 @@ namespace GHelper
|
||||
((System.ComponentModel.ISupportInitialize)pictureTemp).BeginInit();
|
||||
panelPower.SuspendLayout();
|
||||
panelApplyPower.SuspendLayout();
|
||||
panelB0.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)trackB0).BeginInit();
|
||||
panelC1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)trackC1).BeginInit();
|
||||
panelA0.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)trackA0).BeginInit();
|
||||
panelCPU.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)trackCPU).BeginInit();
|
||||
panelFast.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)trackFast).BeginInit();
|
||||
panelSlow.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)trackSlow).BeginInit();
|
||||
panelTotal.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)trackTotal).BeginInit();
|
||||
panelTitleCPU.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)pictureBoxCPU).BeginInit();
|
||||
panelBoost.SuspendLayout();
|
||||
@@ -199,8 +201,6 @@ namespace GHelper
|
||||
((System.ComponentModel.ISupportInitialize)pictureGPU).BeginInit();
|
||||
panelNav.SuspendLayout();
|
||||
tableNav.SuspendLayout();
|
||||
panelA3.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)trackA3).BeginInit();
|
||||
SuspendLayout();
|
||||
//
|
||||
// panelFans
|
||||
@@ -257,8 +257,8 @@ namespace GHelper
|
||||
//
|
||||
// chartGPU
|
||||
//
|
||||
chartArea17.Name = "ChartArea1";
|
||||
chartGPU.ChartAreas.Add(chartArea17);
|
||||
chartArea5.Name = "ChartArea1";
|
||||
chartGPU.ChartAreas.Add(chartArea5);
|
||||
chartGPU.Dock = DockStyle.Fill;
|
||||
chartGPU.Location = new Point(12, 493);
|
||||
chartGPU.Margin = new Padding(2, 10, 2, 10);
|
||||
@@ -266,13 +266,13 @@ namespace GHelper
|
||||
chartGPU.Size = new Size(782, 463);
|
||||
chartGPU.TabIndex = 17;
|
||||
chartGPU.Text = "chartGPU";
|
||||
title17.Name = "Title1";
|
||||
chartGPU.Titles.Add(title17);
|
||||
title5.Name = "Title1";
|
||||
chartGPU.Titles.Add(title5);
|
||||
//
|
||||
// chartCPU
|
||||
//
|
||||
chartArea18.Name = "ChartArea1";
|
||||
chartCPU.ChartAreas.Add(chartArea18);
|
||||
chartArea6.Name = "ChartArea1";
|
||||
chartCPU.ChartAreas.Add(chartArea6);
|
||||
chartCPU.Dock = DockStyle.Fill;
|
||||
chartCPU.Location = new Point(12, 10);
|
||||
chartCPU.Margin = new Padding(2, 10, 2, 10);
|
||||
@@ -280,13 +280,13 @@ namespace GHelper
|
||||
chartCPU.Size = new Size(782, 463);
|
||||
chartCPU.TabIndex = 14;
|
||||
chartCPU.Text = "chartCPU";
|
||||
title18.Name = "Title1";
|
||||
chartCPU.Titles.Add(title18);
|
||||
title6.Name = "Title1";
|
||||
chartCPU.Titles.Add(title6);
|
||||
//
|
||||
// chartXGM
|
||||
//
|
||||
chartArea19.Name = "ChartAreaXGM";
|
||||
chartXGM.ChartAreas.Add(chartArea19);
|
||||
chartArea7.Name = "ChartAreaXGM";
|
||||
chartXGM.ChartAreas.Add(chartArea7);
|
||||
chartXGM.Dock = DockStyle.Fill;
|
||||
chartXGM.Location = new Point(12, 1459);
|
||||
chartXGM.Margin = new Padding(2, 10, 2, 10);
|
||||
@@ -294,14 +294,14 @@ namespace GHelper
|
||||
chartXGM.Size = new Size(782, 463);
|
||||
chartXGM.TabIndex = 14;
|
||||
chartXGM.Text = "chartXGM";
|
||||
title19.Name = "Title4";
|
||||
chartXGM.Titles.Add(title19);
|
||||
title7.Name = "Title4";
|
||||
chartXGM.Titles.Add(title7);
|
||||
chartXGM.Visible = false;
|
||||
//
|
||||
// chartMid
|
||||
//
|
||||
chartArea20.Name = "ChartArea3";
|
||||
chartMid.ChartAreas.Add(chartArea20);
|
||||
chartArea8.Name = "ChartArea3";
|
||||
chartMid.ChartAreas.Add(chartArea8);
|
||||
chartMid.Dock = DockStyle.Fill;
|
||||
chartMid.Location = new Point(12, 976);
|
||||
chartMid.Margin = new Padding(2, 10, 2, 10);
|
||||
@@ -309,8 +309,8 @@ namespace GHelper
|
||||
chartMid.Size = new Size(782, 463);
|
||||
chartMid.TabIndex = 14;
|
||||
chartMid.Text = "chartMid";
|
||||
title20.Name = "Title3";
|
||||
chartMid.Titles.Add(title20);
|
||||
title8.Name = "Title3";
|
||||
chartMid.Titles.Add(title8);
|
||||
chartMid.Visible = false;
|
||||
//
|
||||
// panelTitleFans
|
||||
@@ -818,10 +818,10 @@ namespace GHelper
|
||||
panelPower.AutoSize = true;
|
||||
panelPower.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||
panelPower.Controls.Add(panelApplyPower);
|
||||
panelPower.Controls.Add(panelB0);
|
||||
panelPower.Controls.Add(panelC1);
|
||||
panelPower.Controls.Add(panelA3);
|
||||
panelPower.Controls.Add(panelA0);
|
||||
panelPower.Controls.Add(panelCPU);
|
||||
panelPower.Controls.Add(panelFast);
|
||||
panelPower.Controls.Add(panelSlow);
|
||||
panelPower.Controls.Add(panelTotal);
|
||||
panelPower.Controls.Add(panelTitleCPU);
|
||||
panelPower.Controls.Add(panelBoost);
|
||||
panelPower.Controls.Add(panelBoostTitle);
|
||||
@@ -858,152 +858,201 @@ namespace GHelper
|
||||
checkApplyPower.Text = "Apply Power Limits";
|
||||
checkApplyPower.UseVisualStyleBackColor = false;
|
||||
//
|
||||
// panelB0
|
||||
// panelCPU
|
||||
//
|
||||
panelB0.AutoSize = true;
|
||||
panelB0.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||
panelB0.Controls.Add(labelB0);
|
||||
panelB0.Controls.Add(labelLeftB0);
|
||||
panelB0.Controls.Add(trackB0);
|
||||
panelB0.Dock = DockStyle.Top;
|
||||
panelB0.Location = new Point(0, 680);
|
||||
panelB0.Margin = new Padding(4);
|
||||
panelB0.MaximumSize = new Size(0, 124);
|
||||
panelB0.Name = "panelB0";
|
||||
panelB0.Size = new Size(520, 124);
|
||||
panelB0.TabIndex = 41;
|
||||
panelCPU.AutoSize = true;
|
||||
panelCPU.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||
panelCPU.Controls.Add(labelCPU);
|
||||
panelCPU.Controls.Add(labelLeftCPU);
|
||||
panelCPU.Controls.Add(trackCPU);
|
||||
panelCPU.Dock = DockStyle.Top;
|
||||
panelCPU.Location = new Point(0, 680);
|
||||
panelCPU.Margin = new Padding(4);
|
||||
panelCPU.MaximumSize = new Size(0, 124);
|
||||
panelCPU.Name = "panelCPU";
|
||||
panelCPU.Size = new Size(520, 124);
|
||||
panelCPU.TabIndex = 41;
|
||||
//
|
||||
// labelB0
|
||||
// labelCPU
|
||||
//
|
||||
labelB0.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||
labelB0.Location = new Point(398, 8);
|
||||
labelB0.Margin = new Padding(4, 0, 4, 0);
|
||||
labelB0.Name = "labelB0";
|
||||
labelB0.Size = new Size(116, 32);
|
||||
labelB0.TabIndex = 13;
|
||||
labelB0.Text = "CPU";
|
||||
labelB0.TextAlign = ContentAlignment.TopRight;
|
||||
labelCPU.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||
labelCPU.Location = new Point(398, 8);
|
||||
labelCPU.Margin = new Padding(4, 0, 4, 0);
|
||||
labelCPU.Name = "labelCPU";
|
||||
labelCPU.Size = new Size(116, 32);
|
||||
labelCPU.TabIndex = 13;
|
||||
labelCPU.Text = "CPU";
|
||||
labelCPU.TextAlign = ContentAlignment.TopRight;
|
||||
//
|
||||
// labelLeftB0
|
||||
// labelLeftCPU
|
||||
//
|
||||
labelLeftB0.AutoSize = true;
|
||||
labelLeftB0.Location = new Point(10, 8);
|
||||
labelLeftB0.Margin = new Padding(4, 0, 4, 0);
|
||||
labelLeftB0.Name = "labelLeftB0";
|
||||
labelLeftB0.Size = new Size(58, 32);
|
||||
labelLeftB0.TabIndex = 12;
|
||||
labelLeftB0.Text = "CPU";
|
||||
labelLeftCPU.AutoSize = true;
|
||||
labelLeftCPU.Location = new Point(10, 8);
|
||||
labelLeftCPU.Margin = new Padding(4, 0, 4, 0);
|
||||
labelLeftCPU.Name = "labelLeftCPU";
|
||||
labelLeftCPU.Size = new Size(58, 32);
|
||||
labelLeftCPU.TabIndex = 12;
|
||||
labelLeftCPU.Text = "CPU";
|
||||
//
|
||||
// trackB0
|
||||
// trackCPU
|
||||
//
|
||||
trackB0.Location = new Point(6, 44);
|
||||
trackB0.Margin = new Padding(4, 2, 4, 2);
|
||||
trackB0.Maximum = 85;
|
||||
trackB0.Minimum = 5;
|
||||
trackB0.Name = "trackB0";
|
||||
trackB0.Size = new Size(508, 90);
|
||||
trackB0.TabIndex = 11;
|
||||
trackB0.TickFrequency = 5;
|
||||
trackB0.TickStyle = TickStyle.TopLeft;
|
||||
trackB0.Value = 80;
|
||||
trackCPU.Location = new Point(6, 44);
|
||||
trackCPU.Margin = new Padding(4, 2, 4, 2);
|
||||
trackCPU.Maximum = 85;
|
||||
trackCPU.Minimum = 5;
|
||||
trackCPU.Name = "trackCPU";
|
||||
trackCPU.Size = new Size(508, 90);
|
||||
trackCPU.TabIndex = 11;
|
||||
trackCPU.TickFrequency = 5;
|
||||
trackCPU.TickStyle = TickStyle.TopLeft;
|
||||
trackCPU.Value = 80;
|
||||
//
|
||||
// panelC1
|
||||
// panelFast
|
||||
//
|
||||
panelC1.AutoSize = true;
|
||||
panelC1.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||
panelC1.Controls.Add(labelC1);
|
||||
panelC1.Controls.Add(labelLeftC1);
|
||||
panelC1.Controls.Add(trackC1);
|
||||
panelC1.Dock = DockStyle.Top;
|
||||
panelC1.Location = new Point(0, 556);
|
||||
panelC1.Margin = new Padding(4);
|
||||
panelC1.MaximumSize = new Size(0, 124);
|
||||
panelC1.Name = "panelC1";
|
||||
panelC1.Size = new Size(520, 124);
|
||||
panelC1.TabIndex = 45;
|
||||
panelFast.AutoSize = true;
|
||||
panelFast.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||
panelFast.Controls.Add(labelFast);
|
||||
panelFast.Controls.Add(labelLeftFast);
|
||||
panelFast.Controls.Add(trackFast);
|
||||
panelFast.Dock = DockStyle.Top;
|
||||
panelFast.Location = new Point(0, 556);
|
||||
panelFast.Margin = new Padding(4);
|
||||
panelFast.MaximumSize = new Size(0, 124);
|
||||
panelFast.Name = "panelFast";
|
||||
panelFast.Size = new Size(520, 124);
|
||||
panelFast.TabIndex = 45;
|
||||
//
|
||||
// labelC1
|
||||
// labelFast
|
||||
//
|
||||
labelC1.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||
labelC1.Location = new Point(396, 8);
|
||||
labelC1.Margin = new Padding(4, 0, 4, 0);
|
||||
labelC1.Name = "labelC1";
|
||||
labelC1.Size = new Size(114, 32);
|
||||
labelC1.TabIndex = 13;
|
||||
labelC1.Text = "FPPT";
|
||||
labelC1.TextAlign = ContentAlignment.TopRight;
|
||||
labelFast.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||
labelFast.Location = new Point(396, 8);
|
||||
labelFast.Margin = new Padding(4, 0, 4, 0);
|
||||
labelFast.Name = "labelFast";
|
||||
labelFast.Size = new Size(114, 32);
|
||||
labelFast.TabIndex = 13;
|
||||
labelFast.Text = "FPPT";
|
||||
labelFast.TextAlign = ContentAlignment.TopRight;
|
||||
//
|
||||
// labelLeftC1
|
||||
// labelLeftFast
|
||||
//
|
||||
labelLeftC1.AutoSize = true;
|
||||
labelLeftC1.Location = new Point(10, 8);
|
||||
labelLeftC1.Margin = new Padding(4, 0, 4, 0);
|
||||
labelLeftC1.Name = "labelLeftC1";
|
||||
labelLeftC1.Size = new Size(65, 32);
|
||||
labelLeftC1.TabIndex = 12;
|
||||
labelLeftC1.Text = "FPPT";
|
||||
labelLeftFast.AutoSize = true;
|
||||
labelLeftFast.Location = new Point(10, 8);
|
||||
labelLeftFast.Margin = new Padding(4, 0, 4, 0);
|
||||
labelLeftFast.Name = "labelLeftFast";
|
||||
labelLeftFast.Size = new Size(65, 32);
|
||||
labelLeftFast.TabIndex = 12;
|
||||
labelLeftFast.Text = "FPPT";
|
||||
//
|
||||
// trackC1
|
||||
// trackFast
|
||||
//
|
||||
trackC1.Location = new Point(6, 48);
|
||||
trackC1.Margin = new Padding(4, 2, 4, 2);
|
||||
trackC1.Maximum = 85;
|
||||
trackC1.Minimum = 5;
|
||||
trackC1.Name = "trackC1";
|
||||
trackC1.Size = new Size(508, 90);
|
||||
trackC1.TabIndex = 11;
|
||||
trackC1.TickFrequency = 5;
|
||||
trackC1.TickStyle = TickStyle.TopLeft;
|
||||
trackC1.Value = 80;
|
||||
trackFast.Location = new Point(6, 48);
|
||||
trackFast.Margin = new Padding(4, 2, 4, 2);
|
||||
trackFast.Maximum = 85;
|
||||
trackFast.Minimum = 5;
|
||||
trackFast.Name = "trackFast";
|
||||
trackFast.Size = new Size(508, 90);
|
||||
trackFast.TabIndex = 11;
|
||||
trackFast.TickFrequency = 5;
|
||||
trackFast.TickStyle = TickStyle.TopLeft;
|
||||
trackFast.Value = 80;
|
||||
//
|
||||
// panelA0
|
||||
// panelSlow
|
||||
//
|
||||
panelA0.AutoSize = true;
|
||||
panelA0.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||
panelA0.Controls.Add(labelA0);
|
||||
panelA0.Controls.Add(labelLeftA0);
|
||||
panelA0.Controls.Add(trackA0);
|
||||
panelA0.Dock = DockStyle.Top;
|
||||
panelA0.Location = new Point(0, 308);
|
||||
panelA0.Margin = new Padding(4);
|
||||
panelA0.MaximumSize = new Size(0, 124);
|
||||
panelA0.Name = "panelA0";
|
||||
panelA0.Size = new Size(520, 124);
|
||||
panelA0.TabIndex = 40;
|
||||
panelSlow.AutoSize = true;
|
||||
panelSlow.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||
panelSlow.Controls.Add(labelSlow);
|
||||
panelSlow.Controls.Add(labelLeftSlow);
|
||||
panelSlow.Controls.Add(trackSlow);
|
||||
panelSlow.Dock = DockStyle.Top;
|
||||
panelSlow.Location = new Point(0, 432);
|
||||
panelSlow.Margin = new Padding(4);
|
||||
panelSlow.MaximumSize = new Size(0, 124);
|
||||
panelSlow.Name = "panelSlow";
|
||||
panelSlow.Size = new Size(520, 124);
|
||||
panelSlow.TabIndex = 51;
|
||||
//
|
||||
// labelA0
|
||||
// labelSlow
|
||||
//
|
||||
labelA0.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||
labelA0.Location = new Point(396, 10);
|
||||
labelA0.Margin = new Padding(4, 0, 4, 0);
|
||||
labelA0.Name = "labelA0";
|
||||
labelA0.Size = new Size(116, 32);
|
||||
labelA0.TabIndex = 12;
|
||||
labelA0.Text = "SPL";
|
||||
labelA0.TextAlign = ContentAlignment.TopRight;
|
||||
labelSlow.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||
labelSlow.Location = new Point(396, 10);
|
||||
labelSlow.Margin = new Padding(4, 0, 4, 0);
|
||||
labelSlow.Name = "labelSlow";
|
||||
labelSlow.Size = new Size(116, 32);
|
||||
labelSlow.TabIndex = 12;
|
||||
labelSlow.Text = "SPPT";
|
||||
labelSlow.TextAlign = ContentAlignment.TopRight;
|
||||
//
|
||||
// labelLeftA0
|
||||
// labelLeftSlow
|
||||
//
|
||||
labelLeftA0.AutoSize = true;
|
||||
labelLeftA0.Location = new Point(10, 10);
|
||||
labelLeftA0.Margin = new Padding(4, 0, 4, 0);
|
||||
labelLeftA0.Name = "labelLeftA0";
|
||||
labelLeftA0.Size = new Size(51, 32);
|
||||
labelLeftA0.TabIndex = 11;
|
||||
labelLeftA0.Text = "SPL";
|
||||
labelLeftSlow.AutoSize = true;
|
||||
labelLeftSlow.Location = new Point(10, 10);
|
||||
labelLeftSlow.Margin = new Padding(4, 0, 4, 0);
|
||||
labelLeftSlow.Name = "labelLeftSlow";
|
||||
labelLeftSlow.Size = new Size(66, 32);
|
||||
labelLeftSlow.TabIndex = 11;
|
||||
labelLeftSlow.Text = "SPPT";
|
||||
//
|
||||
// trackA0
|
||||
// trackSlow
|
||||
//
|
||||
trackA0.Location = new Point(6, 48);
|
||||
trackA0.Margin = new Padding(4, 2, 4, 2);
|
||||
trackA0.Maximum = 180;
|
||||
trackA0.Minimum = 10;
|
||||
trackA0.Name = "trackA0";
|
||||
trackA0.Size = new Size(508, 90);
|
||||
trackA0.TabIndex = 10;
|
||||
trackA0.TickFrequency = 5;
|
||||
trackA0.TickStyle = TickStyle.TopLeft;
|
||||
trackA0.Value = 125;
|
||||
trackSlow.Location = new Point(6, 48);
|
||||
trackSlow.Margin = new Padding(4, 2, 4, 2);
|
||||
trackSlow.Maximum = 180;
|
||||
trackSlow.Minimum = 10;
|
||||
trackSlow.Name = "trackSlow";
|
||||
trackSlow.Size = new Size(508, 90);
|
||||
trackSlow.TabIndex = 10;
|
||||
trackSlow.TickFrequency = 5;
|
||||
trackSlow.TickStyle = TickStyle.TopLeft;
|
||||
trackSlow.Value = 125;
|
||||
//
|
||||
// panelTotal
|
||||
//
|
||||
panelTotal.AutoSize = true;
|
||||
panelTotal.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||
panelTotal.Controls.Add(labelTotal);
|
||||
panelTotal.Controls.Add(labelLeftTotal);
|
||||
panelTotal.Controls.Add(trackTotal);
|
||||
panelTotal.Dock = DockStyle.Top;
|
||||
panelTotal.Location = new Point(0, 308);
|
||||
panelTotal.Margin = new Padding(4);
|
||||
panelTotal.MaximumSize = new Size(0, 124);
|
||||
panelTotal.Name = "panelTotal";
|
||||
panelTotal.Size = new Size(520, 124);
|
||||
panelTotal.TabIndex = 40;
|
||||
//
|
||||
// labelTotal
|
||||
//
|
||||
labelTotal.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||
labelTotal.Location = new Point(396, 10);
|
||||
labelTotal.Margin = new Padding(4, 0, 4, 0);
|
||||
labelTotal.Name = "labelTotal";
|
||||
labelTotal.Size = new Size(116, 32);
|
||||
labelTotal.TabIndex = 12;
|
||||
labelTotal.Text = "SPL";
|
||||
labelTotal.TextAlign = ContentAlignment.TopRight;
|
||||
//
|
||||
// labelLeftTotal
|
||||
//
|
||||
labelLeftTotal.AutoSize = true;
|
||||
labelLeftTotal.Location = new Point(10, 10);
|
||||
labelLeftTotal.Margin = new Padding(4, 0, 4, 0);
|
||||
labelLeftTotal.Name = "labelLeftTotal";
|
||||
labelLeftTotal.Size = new Size(51, 32);
|
||||
labelLeftTotal.TabIndex = 11;
|
||||
labelLeftTotal.Text = "SPL";
|
||||
//
|
||||
// trackTotal
|
||||
//
|
||||
trackTotal.Location = new Point(6, 48);
|
||||
trackTotal.Margin = new Padding(4, 2, 4, 2);
|
||||
trackTotal.Maximum = 180;
|
||||
trackTotal.Minimum = 10;
|
||||
trackTotal.Name = "trackTotal";
|
||||
trackTotal.Size = new Size(508, 90);
|
||||
trackTotal.TabIndex = 10;
|
||||
trackTotal.TickFrequency = 5;
|
||||
trackTotal.TickStyle = TickStyle.TopLeft;
|
||||
trackTotal.Value = 125;
|
||||
//
|
||||
// panelTitleCPU
|
||||
//
|
||||
@@ -1534,55 +1583,6 @@ namespace GHelper
|
||||
buttonCPU.TextImageRelation = TextImageRelation.ImageBeforeText;
|
||||
buttonCPU.UseVisualStyleBackColor = false;
|
||||
//
|
||||
// panelA3
|
||||
//
|
||||
panelA3.AutoSize = true;
|
||||
panelA3.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||
panelA3.Controls.Add(labelA3);
|
||||
panelA3.Controls.Add(labelLeftA3);
|
||||
panelA3.Controls.Add(trackA3);
|
||||
panelA3.Dock = DockStyle.Top;
|
||||
panelA3.Location = new Point(0, 432);
|
||||
panelA3.Margin = new Padding(4);
|
||||
panelA3.MaximumSize = new Size(0, 124);
|
||||
panelA3.Name = "panelA3";
|
||||
panelA3.Size = new Size(520, 124);
|
||||
panelA3.TabIndex = 51;
|
||||
//
|
||||
// labelA3
|
||||
//
|
||||
labelA3.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||
labelA3.Location = new Point(396, 10);
|
||||
labelA3.Margin = new Padding(4, 0, 4, 0);
|
||||
labelA3.Name = "labelA3";
|
||||
labelA3.Size = new Size(116, 32);
|
||||
labelA3.TabIndex = 12;
|
||||
labelA3.Text = "SPPT";
|
||||
labelA3.TextAlign = ContentAlignment.TopRight;
|
||||
//
|
||||
// labelLeftA3
|
||||
//
|
||||
labelLeftA3.AutoSize = true;
|
||||
labelLeftA3.Location = new Point(10, 10);
|
||||
labelLeftA3.Margin = new Padding(4, 0, 4, 0);
|
||||
labelLeftA3.Name = "labelLeftA3";
|
||||
labelLeftA3.Size = new Size(66, 32);
|
||||
labelLeftA3.TabIndex = 11;
|
||||
labelLeftA3.Text = "SPPT";
|
||||
//
|
||||
// trackA3
|
||||
//
|
||||
trackA3.Location = new Point(6, 48);
|
||||
trackA3.Margin = new Padding(4, 2, 4, 2);
|
||||
trackA3.Maximum = 180;
|
||||
trackA3.Minimum = 10;
|
||||
trackA3.Name = "trackA3";
|
||||
trackA3.Size = new Size(508, 90);
|
||||
trackA3.TabIndex = 10;
|
||||
trackA3.TickFrequency = 5;
|
||||
trackA3.TickStyle = TickStyle.TopLeft;
|
||||
trackA3.Value = 125;
|
||||
//
|
||||
// Fans
|
||||
//
|
||||
AutoScaleDimensions = new SizeF(192F, 192F);
|
||||
@@ -1637,15 +1637,18 @@ namespace GHelper
|
||||
panelPower.ResumeLayout(false);
|
||||
panelPower.PerformLayout();
|
||||
panelApplyPower.ResumeLayout(false);
|
||||
panelB0.ResumeLayout(false);
|
||||
panelB0.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)trackB0).EndInit();
|
||||
panelC1.ResumeLayout(false);
|
||||
panelC1.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)trackC1).EndInit();
|
||||
panelA0.ResumeLayout(false);
|
||||
panelA0.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)trackA0).EndInit();
|
||||
panelCPU.ResumeLayout(false);
|
||||
panelCPU.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)trackCPU).EndInit();
|
||||
panelFast.ResumeLayout(false);
|
||||
panelFast.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)trackFast).EndInit();
|
||||
panelSlow.ResumeLayout(false);
|
||||
panelSlow.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)trackSlow).EndInit();
|
||||
panelTotal.ResumeLayout(false);
|
||||
panelTotal.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)trackTotal).EndInit();
|
||||
panelTitleCPU.ResumeLayout(false);
|
||||
panelTitleCPU.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)pictureBoxCPU).EndInit();
|
||||
@@ -1679,9 +1682,6 @@ namespace GHelper
|
||||
((System.ComponentModel.ISupportInitialize)pictureGPU).EndInit();
|
||||
panelNav.ResumeLayout(false);
|
||||
tableNav.ResumeLayout(false);
|
||||
panelA3.ResumeLayout(false);
|
||||
panelA3.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)trackA3).EndInit();
|
||||
ResumeLayout(false);
|
||||
PerformLayout();
|
||||
}
|
||||
@@ -1696,14 +1696,14 @@ namespace GHelper
|
||||
private Chart chartXGM;
|
||||
private Label labelTip;
|
||||
private Panel panelPower;
|
||||
private Panel panelB0;
|
||||
private Label labelB0;
|
||||
private Label labelLeftB0;
|
||||
private TrackBar trackB0;
|
||||
private Panel panelA0;
|
||||
private Label labelA0;
|
||||
private Label labelLeftA0;
|
||||
private TrackBar trackA0;
|
||||
private Panel panelCPU;
|
||||
private Label labelCPU;
|
||||
private Label labelLeftCPU;
|
||||
private TrackBar trackCPU;
|
||||
private Panel panelTotal;
|
||||
private Label labelTotal;
|
||||
private Label labelLeftTotal;
|
||||
private TrackBar trackTotal;
|
||||
private Panel panelTitleCPU;
|
||||
private PictureBox pictureBoxCPU;
|
||||
private Label labelPowerLimits;
|
||||
@@ -1737,10 +1737,10 @@ namespace GHelper
|
||||
private RComboBox comboBoost;
|
||||
private PictureBox picturePerf;
|
||||
private Label labelFans;
|
||||
private Panel panelC1;
|
||||
private Label labelC1;
|
||||
private Label labelLeftC1;
|
||||
private TrackBar trackC1;
|
||||
private Panel panelFast;
|
||||
private Label labelFast;
|
||||
private Label labelLeftFast;
|
||||
private TrackBar trackFast;
|
||||
private Panel panelBoost;
|
||||
private RComboBox comboModes;
|
||||
private RButton buttonAdd;
|
||||
@@ -1789,9 +1789,9 @@ namespace GHelper
|
||||
private TrackBar trackGPUClockLimit;
|
||||
private Label labelGPUClockLimitTitle;
|
||||
private RButton buttonCalibrate;
|
||||
private Panel panelA3;
|
||||
private Label labelA3;
|
||||
private Label labelLeftA3;
|
||||
private TrackBar trackA3;
|
||||
private Panel panelSlow;
|
||||
private Label labelSlow;
|
||||
private Label labelLeftSlow;
|
||||
private TrackBar trackSlow;
|
||||
}
|
||||
}
|
||||
108
app/Fans.cs
108
app/Fans.cs
@@ -5,6 +5,7 @@ using GHelper.UI;
|
||||
using GHelper.USB;
|
||||
using Ryzen;
|
||||
using System.Diagnostics;
|
||||
using System.Management;
|
||||
using System.Windows.Forms.DataVisualization.Charting;
|
||||
|
||||
namespace GHelper
|
||||
@@ -103,27 +104,27 @@ namespace GHelper
|
||||
|
||||
buttonReset.Click += ButtonReset_Click;
|
||||
|
||||
trackA0.Maximum = AsusACPI.MaxTotal;
|
||||
trackA0.Minimum = AsusACPI.MinTotal;
|
||||
trackTotal.Maximum = AsusACPI.MaxTotal;
|
||||
trackTotal.Minimum = AsusACPI.MinTotal;
|
||||
|
||||
trackA3.Maximum = AsusACPI.MaxTotal;
|
||||
trackA3.Minimum = AsusACPI.MinTotal;
|
||||
trackSlow.Maximum = AsusACPI.MaxTotal;
|
||||
trackSlow.Minimum = AsusACPI.MinTotal;
|
||||
|
||||
trackB0.Maximum = AsusACPI.MaxCPU;
|
||||
trackB0.Minimum = AsusACPI.MinCPU;
|
||||
trackCPU.Maximum = AsusACPI.MaxCPU;
|
||||
trackCPU.Minimum = AsusACPI.MinCPU;
|
||||
|
||||
trackC1.Maximum = AsusACPI.MaxTotal;
|
||||
trackC1.Minimum = AsusACPI.MinTotal;
|
||||
trackFast.Maximum = AsusACPI.MaxTotal;
|
||||
trackFast.Minimum = AsusACPI.MinTotal;
|
||||
|
||||
trackC1.Scroll += TrackPower_Scroll;
|
||||
trackB0.Scroll += TrackPower_Scroll;
|
||||
trackA0.Scroll += TrackPower_Scroll;
|
||||
trackA3.Scroll += TrackPower_Scroll;
|
||||
trackFast.Scroll += TrackPower_Scroll;
|
||||
trackCPU.Scroll += TrackPower_Scroll;
|
||||
trackTotal.Scroll += TrackPower_Scroll;
|
||||
trackSlow.Scroll += TrackPower_Scroll;
|
||||
|
||||
trackC1.MouseUp += TrackPower_MouseUp;
|
||||
trackB0.MouseUp += TrackPower_MouseUp;
|
||||
trackA0.MouseUp += TrackPower_MouseUp;
|
||||
trackA3.MouseUp += TrackPower_MouseUp;
|
||||
trackFast.MouseUp += TrackPower_MouseUp;
|
||||
trackCPU.MouseUp += TrackPower_MouseUp;
|
||||
trackTotal.MouseUp += TrackPower_MouseUp;
|
||||
trackSlow.MouseUp += TrackPower_MouseUp;
|
||||
|
||||
checkApplyFans.Click += CheckApplyFans_Click;
|
||||
checkApplyPower.Click += CheckApplyPower_Click;
|
||||
@@ -177,6 +178,7 @@ namespace GHelper
|
||||
|
||||
FillModes();
|
||||
InitAll();
|
||||
InitCPU();
|
||||
|
||||
comboBoost.SelectedValueChanged += ComboBoost_Changed;
|
||||
comboPowerMode.SelectedValueChanged += ComboPowerMode_Changed;
|
||||
@@ -267,6 +269,23 @@ namespace GHelper
|
||||
InitGPU();
|
||||
}
|
||||
|
||||
public void InitCPU()
|
||||
{
|
||||
Task.Run(async () =>
|
||||
{
|
||||
string CPUName;
|
||||
using (ManagementObjectSearcher myProcessorObject = new ManagementObjectSearcher("select * from Win32_Processor"))
|
||||
foreach (ManagementObject obj in myProcessorObject.Get())
|
||||
{
|
||||
CPUName = obj["Name"].ToString();
|
||||
Invoke(delegate
|
||||
{
|
||||
Text = Properties.Strings.FansAndPower + " - " + CPUName;
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void ToggleNavigation(int index = 0)
|
||||
{
|
||||
|
||||
@@ -789,42 +808,41 @@ namespace GHelper
|
||||
public void InitPower(bool changed = false)
|
||||
{
|
||||
|
||||
bool modeA0 = (Program.acpi.DeviceGet(AsusACPI.PPT_TotalA0) >= 0 || RyzenControl.IsAMD());
|
||||
bool modeA3 = Program.acpi.DeviceGet(AsusACPI.PPT_APUA3) >= 0;
|
||||
bool modeA = Program.acpi.DeviceGet(AsusACPI.PPT_APUA0) >= 0 || RyzenControl.IsAMD();
|
||||
bool modeB0 = Program.acpi.IsAllAmdPPT();
|
||||
bool modeC1 = Program.acpi.DeviceGet(AsusACPI.PPT_APUC1) >= 0;
|
||||
|
||||
panelA0.Visible = modeA0;
|
||||
panelB0.Visible = modeB0;
|
||||
panelTotal.Visible = modeA;
|
||||
panelCPU.Visible = modeB0;
|
||||
|
||||
panelApplyPower.Visible = panelTitleCPU.Visible = modeA0 || modeB0 || modeC1;
|
||||
panelApplyPower.Visible = panelTitleCPU.Visible = modeA || modeB0 || modeC1;
|
||||
|
||||
|
||||
// All AMD version has B0 but doesn't have C0 (Nvidia GPU) settings
|
||||
if (modeB0)
|
||||
{
|
||||
labelLeftA0.Text = "Platform (CPU + GPU)";
|
||||
labelLeftB0.Text = "CPU";
|
||||
panelC1.Visible = false;
|
||||
panelA3.Visible = false;
|
||||
labelLeftTotal.Text = "Platform (CPU + GPU)";
|
||||
labelLeftCPU.Text = "CPU";
|
||||
panelFast.Visible = false;
|
||||
panelSlow.Visible = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
panelA3.Visible = modeA3;
|
||||
panelSlow.Visible = modeA;
|
||||
|
||||
if (RyzenControl.IsAMD())
|
||||
{
|
||||
labelLeftA0.Text = "CPU Sustained (SPL)";
|
||||
labelLeftA3.Text = "CPU Slow (sPPT)";
|
||||
labelLeftC1.Text = "CPU Fast (fPPT)";
|
||||
panelC1.Visible = modeC1;
|
||||
labelLeftTotal.Text = "CPU Sustained (SPL)";
|
||||
labelLeftSlow.Text = "CPU Slow (sPPT)";
|
||||
labelLeftFast.Text = "CPU Fast (fPPT)";
|
||||
panelFast.Visible = modeC1;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
labelLeftA0.Text = "CPU Slow (PL1)";
|
||||
labelLeftA3.Text = "CPU Fast (PL2)";
|
||||
panelC1.Visible = false;
|
||||
labelLeftTotal.Text = "CPU Slow (PL1)";
|
||||
labelLeftSlow.Text = "CPU Fast (PL2)";
|
||||
panelFast.Visible = false;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -838,10 +856,10 @@ namespace GHelper
|
||||
|
||||
if (changed)
|
||||
{
|
||||
limit_total = trackA0.Value;
|
||||
limit_slow = trackA3.Value;
|
||||
limit_cpu = trackB0.Value;
|
||||
limit_fast = trackC1.Value;
|
||||
limit_total = trackTotal.Value;
|
||||
limit_slow = trackSlow.Value;
|
||||
limit_cpu = trackCPU.Value;
|
||||
limit_fast = trackFast.Value;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -868,17 +886,17 @@ namespace GHelper
|
||||
if (limit_fast > AsusACPI.MaxTotal) limit_fast = AsusACPI.MaxTotal;
|
||||
if (limit_fast < AsusACPI.MinTotal) limit_fast = AsusACPI.MinTotal;
|
||||
|
||||
trackA0.Value = limit_total;
|
||||
trackA3.Value = limit_slow;
|
||||
trackB0.Value = limit_cpu;
|
||||
trackC1.Value = limit_fast;
|
||||
trackTotal.Value = limit_total;
|
||||
trackSlow.Value = limit_slow;
|
||||
trackCPU.Value = limit_cpu;
|
||||
trackFast.Value = limit_fast;
|
||||
|
||||
checkApplyPower.Checked = apply;
|
||||
|
||||
labelA0.Text = trackA0.Value.ToString() + "W";
|
||||
labelA3.Text = trackA3.Value.ToString() + "W";
|
||||
labelB0.Text = trackB0.Value.ToString() + "W";
|
||||
labelC1.Text = trackC1.Value.ToString() + "W";
|
||||
labelTotal.Text = trackTotal.Value.ToString() + "W";
|
||||
labelSlow.Text = trackSlow.Value.ToString() + "W";
|
||||
labelCPU.Text = trackCPU.Value.ToString() + "W";
|
||||
labelFast.Text = trackFast.Value.ToString() + "W";
|
||||
|
||||
AppConfig.SetMode("limit_total", limit_total);
|
||||
AppConfig.SetMode("limit_slow", limit_slow);
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
||||
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
||||
<AssemblyVersion>0.145</AssemblyVersion>
|
||||
<AssemblyVersion>0.148</AssemblyVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
|
||||
@@ -551,6 +551,65 @@ public class Adl2
|
||||
int iAdapterIndex,
|
||||
int iEnabled);
|
||||
|
||||
// FPS
|
||||
|
||||
[DllImport(Atiadlxx_FileName)]
|
||||
public static extern int ADL2_Adapter_FrameMetrics_Start(
|
||||
IntPtr context,
|
||||
int iAdapterIndex,
|
||||
int VidPnSourceId
|
||||
);
|
||||
|
||||
[DllImport(Atiadlxx_FileName)]
|
||||
public static extern int ADL2_Adapter_FrameMetrics_Stop(
|
||||
IntPtr context,
|
||||
int iAdapterIndex,
|
||||
int VidPnSourceId
|
||||
);
|
||||
|
||||
[DllImport(Atiadlxx_FileName)]
|
||||
public static extern int ADL2_Adapter_FrameMetrics_Get(
|
||||
IntPtr context,
|
||||
int iAdapterIndex,
|
||||
int VidPnSourceId,
|
||||
out float iFramesPerSecond
|
||||
);
|
||||
|
||||
[DllImport(Atiadlxx_FileName)]
|
||||
public static extern int ADL2_FPS_Settings_Get(IntPtr context, int iAdapterIndex, out ADLFPSSettingsOutput lpFPSSettings);
|
||||
|
||||
[DllImport(Atiadlxx_FileName)]
|
||||
public static extern int ADL2_FPS_Settings_Set(IntPtr context, int iAdapterIndex, ADLFPSSettingsInput lpFPSSettings);
|
||||
|
||||
[DllImport(Atiadlxx_FileName)]
|
||||
public static extern int ADL2_FPS_Settings_Reset(IntPtr context, int iAdapterIndex);
|
||||
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
public struct ADLFPSSettingsOutput
|
||||
{
|
||||
public int ulSize;
|
||||
public int bACFPSEnabled;
|
||||
public int bDCFPSEnabled;
|
||||
public int ulACFPSCurrent;
|
||||
public int ulDCFPSCurrent;
|
||||
public int ulACFPSMaximum;
|
||||
public int ulACFPSMinimum;
|
||||
public int ulDCFPSMaximum;
|
||||
public int ulDCFPSMinimum;
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
public struct ADLFPSSettingsInput
|
||||
{
|
||||
public int ulSize;
|
||||
public int bGlobalSettings;
|
||||
public int ulACFPSCurrent;
|
||||
public int ulDCFPSCurrent;
|
||||
|
||||
// Assuming ulReserved is an array of 6 integers
|
||||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
|
||||
public int[] ulReserved;
|
||||
}
|
||||
// Clocks
|
||||
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
|
||||
@@ -9,7 +9,9 @@ public class AmdGpuControl : IGpuControl
|
||||
{
|
||||
private bool _isReady;
|
||||
private nint _adlContextHandle;
|
||||
|
||||
private readonly ADLAdapterInfo _internalDiscreteAdapter;
|
||||
private readonly ADLAdapterInfo? _iGPU;
|
||||
|
||||
public bool IsNvidia => false;
|
||||
|
||||
@@ -74,6 +76,8 @@ public class AmdGpuControl : IGpuControl
|
||||
_isReady = true;
|
||||
}
|
||||
|
||||
_iGPU = FindByType(ADLAsicFamilyType.Integrated);
|
||||
|
||||
}
|
||||
|
||||
public bool IsValid => _isReady && _adlContextHandle != nint.Zero;
|
||||
@@ -139,6 +143,52 @@ public class AmdGpuControl : IGpuControl
|
||||
return true;
|
||||
}
|
||||
|
||||
public void StartFPS()
|
||||
{
|
||||
if (_adlContextHandle == nint.Zero || _iGPU == null) return;
|
||||
ADL2_Adapter_FrameMetrics_Start(_adlContextHandle, ((ADLAdapterInfo)_iGPU).AdapterIndex, 0);
|
||||
}
|
||||
|
||||
public void StopFPS()
|
||||
{
|
||||
if (_adlContextHandle == nint.Zero || _iGPU == null) return;
|
||||
ADL2_Adapter_FrameMetrics_Stop(_adlContextHandle, ((ADLAdapterInfo)_iGPU).AdapterIndex, 0);
|
||||
}
|
||||
|
||||
public float GetFPS()
|
||||
{
|
||||
if (_adlContextHandle == nint.Zero || _iGPU == null) return 0;
|
||||
float fps;
|
||||
if (ADL2_Adapter_FrameMetrics_Get(_adlContextHandle, ((ADLAdapterInfo)_iGPU).AdapterIndex, 0, out fps) != Adl2.ADL_SUCCESS) return 0;
|
||||
return fps;
|
||||
}
|
||||
|
||||
public int GetFPSLimit()
|
||||
{
|
||||
if (_adlContextHandle == nint.Zero || _iGPU == null) return -1;
|
||||
ADLFPSSettingsOutput settings;
|
||||
if (ADL2_FPS_Settings_Get(_adlContextHandle, ((ADLAdapterInfo)_iGPU).AdapterIndex, out settings) != Adl2.ADL_SUCCESS) return -1;
|
||||
|
||||
Logger.WriteLine($"FPS Limit: {settings.ulACFPSCurrent}");
|
||||
|
||||
return settings.ulACFPSCurrent;
|
||||
}
|
||||
|
||||
public int SetFPSLimit(int limit)
|
||||
{
|
||||
if (_adlContextHandle == nint.Zero || _iGPU == null) return -1;
|
||||
|
||||
ADLFPSSettingsInput settings = new ADLFPSSettingsInput();
|
||||
|
||||
settings.ulACFPSCurrent = limit;
|
||||
settings.ulDCFPSCurrent = limit;
|
||||
settings.bGlobalSettings = 1;
|
||||
|
||||
if (ADL2_FPS_Settings_Set(_adlContextHandle, ((ADLAdapterInfo)_iGPU).AdapterIndex, settings) != Adl2.ADL_SUCCESS) return 0;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
public ADLODNPerformanceLevels? GetGPUClocks()
|
||||
{
|
||||
if (!IsValid) return null;
|
||||
|
||||
@@ -145,18 +145,6 @@ namespace GHelper.Gpu
|
||||
|
||||
if (eco == 1)
|
||||
{
|
||||
/*
|
||||
if (NvidiaSmi.GetDisplayActiveStatus())
|
||||
{
|
||||
DialogResult dialogResult = MessageBox.Show(Properties.Strings.EnableOptimusText, Properties.Strings.EnableOptimusTitle, MessageBoxButtons.YesNo);
|
||||
if (dialogResult == DialogResult.No)
|
||||
{
|
||||
InitGPUMode();
|
||||
return;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
HardwareControl.KillGPUApps();
|
||||
}
|
||||
|
||||
|
||||
748
app/Handheld.Designer.cs
generated
Normal file
748
app/Handheld.Designer.cs
generated
Normal file
@@ -0,0 +1,748 @@
|
||||
namespace GHelper
|
||||
{
|
||||
partial class Handheld
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
panelController = new Panel();
|
||||
buttonReset = new UI.RButton();
|
||||
panelVibra = new Panel();
|
||||
labelVibra = new Label();
|
||||
labelVibraTitle = new Label();
|
||||
trackVibra = new TrackBar();
|
||||
panelVibrationTitle = new Panel();
|
||||
pictureVibration = new PictureBox();
|
||||
labelVibraHeader = new Label();
|
||||
panelRT = new Panel();
|
||||
trackRTMax = new TrackBar();
|
||||
labelRT = new Label();
|
||||
trackRTMin = new TrackBar();
|
||||
labelRTTitle = new Label();
|
||||
panelLT = new Panel();
|
||||
trackLTMax = new TrackBar();
|
||||
labelLT = new Label();
|
||||
trackLTMin = new TrackBar();
|
||||
labelLTTitle = new Label();
|
||||
panelTDeadzone = new Panel();
|
||||
pictureTDeadzone = new PictureBox();
|
||||
labelTDeadzone = new Label();
|
||||
panelRS = new Panel();
|
||||
trackRSMax = new TrackBar();
|
||||
labelRS = new Label();
|
||||
trackRSMin = new TrackBar();
|
||||
labelRSTitle = new Label();
|
||||
panelLS = new Panel();
|
||||
trackLSMax = new TrackBar();
|
||||
labelLS = new Label();
|
||||
trackLSMin = new TrackBar();
|
||||
labelLSTitle = new Label();
|
||||
panelSDeadzone = new Panel();
|
||||
pictureSDeadzone = new PictureBox();
|
||||
labelSDeadzone = new Label();
|
||||
panelBindings = new Panel();
|
||||
tableBindings = new TableLayoutPanel();
|
||||
labelPrimary = new Label();
|
||||
labelSecondary = new Label();
|
||||
panelBindingsTitle = new Panel();
|
||||
pictureBindings = new PictureBox();
|
||||
labelBindings = new Label();
|
||||
panelController.SuspendLayout();
|
||||
panelVibra.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)trackVibra).BeginInit();
|
||||
panelVibrationTitle.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)pictureVibration).BeginInit();
|
||||
panelRT.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)trackRTMax).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)trackRTMin).BeginInit();
|
||||
panelLT.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)trackLTMax).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)trackLTMin).BeginInit();
|
||||
panelTDeadzone.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)pictureTDeadzone).BeginInit();
|
||||
panelRS.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)trackRSMax).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)trackRSMin).BeginInit();
|
||||
panelLS.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)trackLSMax).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)trackLSMin).BeginInit();
|
||||
panelSDeadzone.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)pictureSDeadzone).BeginInit();
|
||||
panelBindings.SuspendLayout();
|
||||
tableBindings.SuspendLayout();
|
||||
panelBindingsTitle.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)pictureBindings).BeginInit();
|
||||
SuspendLayout();
|
||||
//
|
||||
// panelController
|
||||
//
|
||||
panelController.AutoSize = true;
|
||||
panelController.Controls.Add(buttonReset);
|
||||
panelController.Controls.Add(panelVibra);
|
||||
panelController.Controls.Add(panelVibrationTitle);
|
||||
panelController.Controls.Add(panelRT);
|
||||
panelController.Controls.Add(panelLT);
|
||||
panelController.Controls.Add(panelTDeadzone);
|
||||
panelController.Controls.Add(panelRS);
|
||||
panelController.Controls.Add(panelLS);
|
||||
panelController.Controls.Add(panelSDeadzone);
|
||||
panelController.Dock = DockStyle.Left;
|
||||
panelController.Location = new Point(10, 10);
|
||||
panelController.Margin = new Padding(4);
|
||||
panelController.MinimumSize = new Size(560, 800);
|
||||
panelController.Name = "panelController";
|
||||
panelController.Padding = new Padding(0, 0, 0, 18);
|
||||
panelController.Size = new Size(560, 912);
|
||||
panelController.TabIndex = 45;
|
||||
//
|
||||
// buttonReset
|
||||
//
|
||||
buttonReset.Activated = false;
|
||||
buttonReset.Anchor = AnchorStyles.Bottom | AnchorStyles.Left;
|
||||
buttonReset.BackColor = SystemColors.ControlLight;
|
||||
buttonReset.BorderColor = Color.Transparent;
|
||||
buttonReset.BorderRadius = 2;
|
||||
buttonReset.FlatStyle = FlatStyle.Flat;
|
||||
buttonReset.Location = new Point(20, 840);
|
||||
buttonReset.Margin = new Padding(4, 2, 4, 2);
|
||||
buttonReset.Name = "buttonReset";
|
||||
buttonReset.Secondary = true;
|
||||
buttonReset.Size = new Size(239, 50);
|
||||
buttonReset.TabIndex = 54;
|
||||
buttonReset.Text = "Reset";
|
||||
buttonReset.UseVisualStyleBackColor = false;
|
||||
//
|
||||
// panelVibra
|
||||
//
|
||||
panelVibra.AutoSize = true;
|
||||
panelVibra.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||
panelVibra.Controls.Add(labelVibra);
|
||||
panelVibra.Controls.Add(labelVibraTitle);
|
||||
panelVibra.Controls.Add(trackVibra);
|
||||
panelVibra.Dock = DockStyle.Top;
|
||||
panelVibra.Location = new Point(0, 676);
|
||||
panelVibra.Margin = new Padding(4);
|
||||
panelVibra.MaximumSize = new Size(0, 124);
|
||||
panelVibra.Name = "panelVibra";
|
||||
panelVibra.Size = new Size(560, 124);
|
||||
panelVibra.TabIndex = 46;
|
||||
//
|
||||
// labelVibra
|
||||
//
|
||||
labelVibra.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||
labelVibra.Location = new Point(408, 14);
|
||||
labelVibra.Margin = new Padding(4, 0, 4, 0);
|
||||
labelVibra.Name = "labelVibra";
|
||||
labelVibra.Size = new Size(124, 32);
|
||||
labelVibra.TabIndex = 44;
|
||||
labelVibra.Text = "100%";
|
||||
labelVibra.TextAlign = ContentAlignment.TopRight;
|
||||
//
|
||||
// labelVibraTitle
|
||||
//
|
||||
labelVibraTitle.AutoSize = true;
|
||||
labelVibraTitle.Location = new Point(10, 14);
|
||||
labelVibraTitle.Margin = new Padding(4, 0, 4, 0);
|
||||
labelVibraTitle.Name = "labelVibraTitle";
|
||||
labelVibraTitle.Size = new Size(209, 32);
|
||||
labelVibraTitle.TabIndex = 43;
|
||||
labelVibraTitle.Text = "Vibration Strength";
|
||||
//
|
||||
// trackVibra
|
||||
//
|
||||
trackVibra.Location = new Point(6, 48);
|
||||
trackVibra.Margin = new Padding(4, 2, 4, 2);
|
||||
trackVibra.Maximum = 100;
|
||||
trackVibra.Name = "trackVibra";
|
||||
trackVibra.Size = new Size(546, 90);
|
||||
trackVibra.TabIndex = 42;
|
||||
trackVibra.TickFrequency = 5;
|
||||
trackVibra.TickStyle = TickStyle.TopLeft;
|
||||
trackVibra.Value = 100;
|
||||
//
|
||||
// panelVibrationTitle
|
||||
//
|
||||
panelVibrationTitle.AutoSize = true;
|
||||
panelVibrationTitle.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||
panelVibrationTitle.Controls.Add(pictureVibration);
|
||||
panelVibrationTitle.Controls.Add(labelVibraHeader);
|
||||
panelVibrationTitle.Dock = DockStyle.Top;
|
||||
panelVibrationTitle.Location = new Point(0, 616);
|
||||
panelVibrationTitle.Margin = new Padding(4);
|
||||
panelVibrationTitle.Name = "panelVibrationTitle";
|
||||
panelVibrationTitle.Size = new Size(560, 60);
|
||||
panelVibrationTitle.TabIndex = 53;
|
||||
//
|
||||
// pictureVibration
|
||||
//
|
||||
pictureVibration.BackgroundImage = Properties.Resources.icons8_soonvibes_32;
|
||||
pictureVibration.BackgroundImageLayout = ImageLayout.Zoom;
|
||||
pictureVibration.ErrorImage = null;
|
||||
pictureVibration.InitialImage = null;
|
||||
pictureVibration.Location = new Point(10, 18);
|
||||
pictureVibration.Margin = new Padding(4, 2, 4, 10);
|
||||
pictureVibration.Name = "pictureVibration";
|
||||
pictureVibration.Size = new Size(32, 32);
|
||||
pictureVibration.TabIndex = 41;
|
||||
pictureVibration.TabStop = false;
|
||||
//
|
||||
// labelVibraHeader
|
||||
//
|
||||
labelVibraHeader.AutoSize = true;
|
||||
labelVibraHeader.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||
labelVibraHeader.Location = new Point(45, 17);
|
||||
labelVibraHeader.Margin = new Padding(4, 0, 4, 0);
|
||||
labelVibraHeader.Name = "labelVibraHeader";
|
||||
labelVibraHeader.Size = new Size(121, 32);
|
||||
labelVibraHeader.TabIndex = 40;
|
||||
labelVibraHeader.Text = "Vibration";
|
||||
//
|
||||
// panelRT
|
||||
//
|
||||
panelRT.AutoSize = true;
|
||||
panelRT.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||
panelRT.Controls.Add(trackRTMax);
|
||||
panelRT.Controls.Add(labelRT);
|
||||
panelRT.Controls.Add(trackRTMin);
|
||||
panelRT.Controls.Add(labelRTTitle);
|
||||
panelRT.Dock = DockStyle.Top;
|
||||
panelRT.Location = new Point(0, 492);
|
||||
panelRT.Margin = new Padding(4);
|
||||
panelRT.MaximumSize = new Size(0, 124);
|
||||
panelRT.Name = "panelRT";
|
||||
panelRT.Size = new Size(560, 124);
|
||||
panelRT.TabIndex = 50;
|
||||
//
|
||||
// trackRTMax
|
||||
//
|
||||
trackRTMax.Location = new Point(272, 48);
|
||||
trackRTMax.Margin = new Padding(4, 2, 4, 2);
|
||||
trackRTMax.Maximum = 100;
|
||||
trackRTMax.Minimum = 50;
|
||||
trackRTMax.Name = "trackRTMax";
|
||||
trackRTMax.RightToLeft = RightToLeft.No;
|
||||
trackRTMax.Size = new Size(280, 90);
|
||||
trackRTMax.TabIndex = 30;
|
||||
trackRTMax.TickFrequency = 5;
|
||||
trackRTMax.TickStyle = TickStyle.TopLeft;
|
||||
trackRTMax.Value = 100;
|
||||
//
|
||||
// labelRT
|
||||
//
|
||||
labelRT.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||
labelRT.Location = new Point(363, 13);
|
||||
labelRT.Margin = new Padding(4, 0, 4, 0);
|
||||
labelRT.Name = "labelRT";
|
||||
labelRT.Size = new Size(176, 32);
|
||||
labelRT.TabIndex = 29;
|
||||
labelRT.Text = "0 - 100%";
|
||||
labelRT.TextAlign = ContentAlignment.TopRight;
|
||||
//
|
||||
// trackRTMin
|
||||
//
|
||||
trackRTMin.LargeChange = 100;
|
||||
trackRTMin.Location = new Point(6, 48);
|
||||
trackRTMin.Margin = new Padding(4, 2, 4, 2);
|
||||
trackRTMin.Maximum = 50;
|
||||
trackRTMin.Name = "trackRTMin";
|
||||
trackRTMin.RightToLeft = RightToLeft.No;
|
||||
trackRTMin.Size = new Size(280, 90);
|
||||
trackRTMin.SmallChange = 10;
|
||||
trackRTMin.TabIndex = 18;
|
||||
trackRTMin.TickFrequency = 5;
|
||||
trackRTMin.TickStyle = TickStyle.TopLeft;
|
||||
//
|
||||
// labelRTTitle
|
||||
//
|
||||
labelRTTitle.AutoSize = true;
|
||||
labelRTTitle.Location = new Point(10, 16);
|
||||
labelRTTitle.Margin = new Padding(4, 0, 4, 0);
|
||||
labelRTTitle.Name = "labelRTTitle";
|
||||
labelRTTitle.Size = new Size(151, 32);
|
||||
labelRTTitle.TabIndex = 17;
|
||||
labelRTTitle.Text = "Right Trigger";
|
||||
//
|
||||
// panelLT
|
||||
//
|
||||
panelLT.AutoSize = true;
|
||||
panelLT.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||
panelLT.Controls.Add(trackLTMax);
|
||||
panelLT.Controls.Add(labelLT);
|
||||
panelLT.Controls.Add(trackLTMin);
|
||||
panelLT.Controls.Add(labelLTTitle);
|
||||
panelLT.Dock = DockStyle.Top;
|
||||
panelLT.Location = new Point(0, 368);
|
||||
panelLT.Margin = new Padding(4);
|
||||
panelLT.MaximumSize = new Size(0, 124);
|
||||
panelLT.Name = "panelLT";
|
||||
panelLT.Size = new Size(560, 124);
|
||||
panelLT.TabIndex = 51;
|
||||
//
|
||||
// trackLTMax
|
||||
//
|
||||
trackLTMax.Location = new Point(272, 48);
|
||||
trackLTMax.Margin = new Padding(4, 2, 4, 2);
|
||||
trackLTMax.Maximum = 100;
|
||||
trackLTMax.Minimum = 50;
|
||||
trackLTMax.Name = "trackLTMax";
|
||||
trackLTMax.RightToLeft = RightToLeft.No;
|
||||
trackLTMax.Size = new Size(280, 90);
|
||||
trackLTMax.TabIndex = 30;
|
||||
trackLTMax.TickFrequency = 5;
|
||||
trackLTMax.TickStyle = TickStyle.TopLeft;
|
||||
trackLTMax.Value = 100;
|
||||
//
|
||||
// labelLT
|
||||
//
|
||||
labelLT.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||
labelLT.Location = new Point(363, 13);
|
||||
labelLT.Margin = new Padding(4, 0, 4, 0);
|
||||
labelLT.Name = "labelLT";
|
||||
labelLT.Size = new Size(176, 32);
|
||||
labelLT.TabIndex = 29;
|
||||
labelLT.Text = "0 - 100%";
|
||||
labelLT.TextAlign = ContentAlignment.TopRight;
|
||||
//
|
||||
// trackLTMin
|
||||
//
|
||||
trackLTMin.LargeChange = 100;
|
||||
trackLTMin.Location = new Point(6, 48);
|
||||
trackLTMin.Margin = new Padding(4, 2, 4, 2);
|
||||
trackLTMin.Maximum = 50;
|
||||
trackLTMin.Name = "trackLTMin";
|
||||
trackLTMin.RightToLeft = RightToLeft.No;
|
||||
trackLTMin.Size = new Size(280, 90);
|
||||
trackLTMin.SmallChange = 10;
|
||||
trackLTMin.TabIndex = 18;
|
||||
trackLTMin.TickFrequency = 5;
|
||||
trackLTMin.TickStyle = TickStyle.TopLeft;
|
||||
//
|
||||
// labelLTTitle
|
||||
//
|
||||
labelLTTitle.AutoSize = true;
|
||||
labelLTTitle.Location = new Point(10, 16);
|
||||
labelLTTitle.Margin = new Padding(4, 0, 4, 0);
|
||||
labelLTTitle.Name = "labelLTTitle";
|
||||
labelLTTitle.Size = new Size(135, 32);
|
||||
labelLTTitle.TabIndex = 17;
|
||||
labelLTTitle.Text = "Left Trigger";
|
||||
//
|
||||
// panelTDeadzone
|
||||
//
|
||||
panelTDeadzone.AutoSize = true;
|
||||
panelTDeadzone.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||
panelTDeadzone.Controls.Add(pictureTDeadzone);
|
||||
panelTDeadzone.Controls.Add(labelTDeadzone);
|
||||
panelTDeadzone.Dock = DockStyle.Top;
|
||||
panelTDeadzone.Location = new Point(0, 308);
|
||||
panelTDeadzone.Margin = new Padding(4);
|
||||
panelTDeadzone.Name = "panelTDeadzone";
|
||||
panelTDeadzone.Size = new Size(560, 60);
|
||||
panelTDeadzone.TabIndex = 52;
|
||||
//
|
||||
// pictureTDeadzone
|
||||
//
|
||||
pictureTDeadzone.BackgroundImage = Properties.Resources.icons8_xbox_lt_32;
|
||||
pictureTDeadzone.BackgroundImageLayout = ImageLayout.Zoom;
|
||||
pictureTDeadzone.ErrorImage = null;
|
||||
pictureTDeadzone.InitialImage = null;
|
||||
pictureTDeadzone.Location = new Point(10, 18);
|
||||
pictureTDeadzone.Margin = new Padding(4, 2, 4, 10);
|
||||
pictureTDeadzone.Name = "pictureTDeadzone";
|
||||
pictureTDeadzone.Size = new Size(32, 32);
|
||||
pictureTDeadzone.TabIndex = 41;
|
||||
pictureTDeadzone.TabStop = false;
|
||||
//
|
||||
// labelTDeadzone
|
||||
//
|
||||
labelTDeadzone.AutoSize = true;
|
||||
labelTDeadzone.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||
labelTDeadzone.Location = new Point(45, 17);
|
||||
labelTDeadzone.Margin = new Padding(4, 0, 4, 0);
|
||||
labelTDeadzone.Name = "labelTDeadzone";
|
||||
labelTDeadzone.Size = new Size(228, 32);
|
||||
labelTDeadzone.TabIndex = 40;
|
||||
labelTDeadzone.Text = "Trigger Deadzones";
|
||||
//
|
||||
// panelRS
|
||||
//
|
||||
panelRS.AutoSize = true;
|
||||
panelRS.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||
panelRS.Controls.Add(trackRSMax);
|
||||
panelRS.Controls.Add(labelRS);
|
||||
panelRS.Controls.Add(trackRSMin);
|
||||
panelRS.Controls.Add(labelRSTitle);
|
||||
panelRS.Dock = DockStyle.Top;
|
||||
panelRS.Location = new Point(0, 184);
|
||||
panelRS.Margin = new Padding(4);
|
||||
panelRS.MaximumSize = new Size(0, 124);
|
||||
panelRS.Name = "panelRS";
|
||||
panelRS.Size = new Size(560, 124);
|
||||
panelRS.TabIndex = 49;
|
||||
//
|
||||
// trackRSMax
|
||||
//
|
||||
trackRSMax.Location = new Point(272, 48);
|
||||
trackRSMax.Margin = new Padding(4, 2, 4, 2);
|
||||
trackRSMax.Maximum = 100;
|
||||
trackRSMax.Minimum = 50;
|
||||
trackRSMax.Name = "trackRSMax";
|
||||
trackRSMax.RightToLeft = RightToLeft.No;
|
||||
trackRSMax.Size = new Size(280, 90);
|
||||
trackRSMax.TabIndex = 30;
|
||||
trackRSMax.TickFrequency = 5;
|
||||
trackRSMax.TickStyle = TickStyle.TopLeft;
|
||||
trackRSMax.Value = 100;
|
||||
//
|
||||
// labelRS
|
||||
//
|
||||
labelRS.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||
labelRS.Location = new Point(363, 13);
|
||||
labelRS.Margin = new Padding(4, 0, 4, 0);
|
||||
labelRS.Name = "labelRS";
|
||||
labelRS.Size = new Size(176, 32);
|
||||
labelRS.TabIndex = 29;
|
||||
labelRS.Text = "0 - 100%";
|
||||
labelRS.TextAlign = ContentAlignment.TopRight;
|
||||
//
|
||||
// trackRSMin
|
||||
//
|
||||
trackRSMin.LargeChange = 100;
|
||||
trackRSMin.Location = new Point(6, 48);
|
||||
trackRSMin.Margin = new Padding(4, 2, 4, 2);
|
||||
trackRSMin.Maximum = 50;
|
||||
trackRSMin.Name = "trackRSMin";
|
||||
trackRSMin.RightToLeft = RightToLeft.No;
|
||||
trackRSMin.Size = new Size(280, 90);
|
||||
trackRSMin.SmallChange = 10;
|
||||
trackRSMin.TabIndex = 18;
|
||||
trackRSMin.TickFrequency = 5;
|
||||
trackRSMin.TickStyle = TickStyle.TopLeft;
|
||||
//
|
||||
// labelRSTitle
|
||||
//
|
||||
labelRSTitle.AutoSize = true;
|
||||
labelRSTitle.Location = new Point(10, 16);
|
||||
labelRSTitle.Margin = new Padding(4, 0, 4, 0);
|
||||
labelRSTitle.Name = "labelRSTitle";
|
||||
labelRSTitle.Size = new Size(126, 32);
|
||||
labelRSTitle.TabIndex = 17;
|
||||
labelRSTitle.Text = "Right Stick";
|
||||
//
|
||||
// panelLS
|
||||
//
|
||||
panelLS.AutoSize = true;
|
||||
panelLS.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||
panelLS.Controls.Add(trackLSMax);
|
||||
panelLS.Controls.Add(labelLS);
|
||||
panelLS.Controls.Add(trackLSMin);
|
||||
panelLS.Controls.Add(labelLSTitle);
|
||||
panelLS.Dock = DockStyle.Top;
|
||||
panelLS.Location = new Point(0, 60);
|
||||
panelLS.Margin = new Padding(4);
|
||||
panelLS.MaximumSize = new Size(0, 124);
|
||||
panelLS.Name = "panelLS";
|
||||
panelLS.Size = new Size(560, 124);
|
||||
panelLS.TabIndex = 48;
|
||||
//
|
||||
// trackLSMax
|
||||
//
|
||||
trackLSMax.Location = new Point(272, 48);
|
||||
trackLSMax.Margin = new Padding(4, 2, 4, 2);
|
||||
trackLSMax.Maximum = 100;
|
||||
trackLSMax.Minimum = 50;
|
||||
trackLSMax.Name = "trackLSMax";
|
||||
trackLSMax.RightToLeft = RightToLeft.No;
|
||||
trackLSMax.Size = new Size(280, 90);
|
||||
trackLSMax.TabIndex = 30;
|
||||
trackLSMax.TickFrequency = 5;
|
||||
trackLSMax.TickStyle = TickStyle.TopLeft;
|
||||
trackLSMax.Value = 100;
|
||||
//
|
||||
// labelLS
|
||||
//
|
||||
labelLS.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||
labelLS.Location = new Point(363, 13);
|
||||
labelLS.Margin = new Padding(4, 0, 4, 0);
|
||||
labelLS.Name = "labelLS";
|
||||
labelLS.Size = new Size(176, 32);
|
||||
labelLS.TabIndex = 29;
|
||||
labelLS.Text = "0 - 100%";
|
||||
labelLS.TextAlign = ContentAlignment.TopRight;
|
||||
//
|
||||
// trackLSMin
|
||||
//
|
||||
trackLSMin.LargeChange = 100;
|
||||
trackLSMin.Location = new Point(6, 48);
|
||||
trackLSMin.Margin = new Padding(4, 2, 4, 2);
|
||||
trackLSMin.Maximum = 50;
|
||||
trackLSMin.Name = "trackLSMin";
|
||||
trackLSMin.RightToLeft = RightToLeft.No;
|
||||
trackLSMin.Size = new Size(280, 90);
|
||||
trackLSMin.SmallChange = 10;
|
||||
trackLSMin.TabIndex = 18;
|
||||
trackLSMin.TickFrequency = 5;
|
||||
trackLSMin.TickStyle = TickStyle.TopLeft;
|
||||
//
|
||||
// labelLSTitle
|
||||
//
|
||||
labelLSTitle.AutoSize = true;
|
||||
labelLSTitle.Location = new Point(10, 16);
|
||||
labelLSTitle.Margin = new Padding(4, 0, 4, 0);
|
||||
labelLSTitle.Name = "labelLSTitle";
|
||||
labelLSTitle.Size = new Size(110, 32);
|
||||
labelLSTitle.TabIndex = 17;
|
||||
labelLSTitle.Text = "Left Stick";
|
||||
//
|
||||
// panelSDeadzone
|
||||
//
|
||||
panelSDeadzone.AutoSize = true;
|
||||
panelSDeadzone.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||
panelSDeadzone.Controls.Add(pictureSDeadzone);
|
||||
panelSDeadzone.Controls.Add(labelSDeadzone);
|
||||
panelSDeadzone.Dock = DockStyle.Top;
|
||||
panelSDeadzone.Location = new Point(0, 0);
|
||||
panelSDeadzone.Margin = new Padding(4);
|
||||
panelSDeadzone.Name = "panelSDeadzone";
|
||||
panelSDeadzone.Size = new Size(560, 60);
|
||||
panelSDeadzone.TabIndex = 43;
|
||||
//
|
||||
// pictureSDeadzone
|
||||
//
|
||||
pictureSDeadzone.BackgroundImage = Properties.Resources.icons8_joystick_32;
|
||||
pictureSDeadzone.BackgroundImageLayout = ImageLayout.Zoom;
|
||||
pictureSDeadzone.ErrorImage = null;
|
||||
pictureSDeadzone.InitialImage = null;
|
||||
pictureSDeadzone.Location = new Point(10, 18);
|
||||
pictureSDeadzone.Margin = new Padding(4, 2, 4, 10);
|
||||
pictureSDeadzone.Name = "pictureSDeadzone";
|
||||
pictureSDeadzone.Size = new Size(32, 32);
|
||||
pictureSDeadzone.TabIndex = 41;
|
||||
pictureSDeadzone.TabStop = false;
|
||||
//
|
||||
// labelSDeadzone
|
||||
//
|
||||
labelSDeadzone.AutoSize = true;
|
||||
labelSDeadzone.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||
labelSDeadzone.Location = new Point(45, 17);
|
||||
labelSDeadzone.Margin = new Padding(4, 0, 4, 0);
|
||||
labelSDeadzone.Name = "labelSDeadzone";
|
||||
labelSDeadzone.Size = new Size(199, 32);
|
||||
labelSDeadzone.TabIndex = 40;
|
||||
labelSDeadzone.Text = "Stick Deadzones";
|
||||
//
|
||||
// panelBindings
|
||||
//
|
||||
panelBindings.Controls.Add(tableBindings);
|
||||
panelBindings.Controls.Add(panelBindingsTitle);
|
||||
panelBindings.Dock = DockStyle.Left;
|
||||
panelBindings.Location = new Point(570, 10);
|
||||
panelBindings.MinimumSize = new Size(700, 0);
|
||||
panelBindings.Name = "panelBindings";
|
||||
panelBindings.Size = new Size(700, 912);
|
||||
panelBindings.TabIndex = 46;
|
||||
//
|
||||
// tableBindings
|
||||
//
|
||||
tableBindings.AutoSize = true;
|
||||
tableBindings.ColumnCount = 3;
|
||||
tableBindings.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 20F));
|
||||
tableBindings.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 40F));
|
||||
tableBindings.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 40F));
|
||||
tableBindings.Controls.Add(labelPrimary, 1, 0);
|
||||
tableBindings.Controls.Add(labelSecondary, 2, 0);
|
||||
tableBindings.Dock = DockStyle.Top;
|
||||
tableBindings.Location = new Point(0, 60);
|
||||
tableBindings.Name = "tableBindings";
|
||||
tableBindings.Padding = new Padding(5);
|
||||
tableBindings.RowCount = 1;
|
||||
tableBindings.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
|
||||
tableBindings.Size = new Size(700, 52);
|
||||
tableBindings.TabIndex = 49;
|
||||
//
|
||||
// labelPrimary
|
||||
//
|
||||
labelPrimary.AutoSize = true;
|
||||
labelPrimary.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||
labelPrimary.Location = new Point(147, 5);
|
||||
labelPrimary.Margin = new Padding(4, 0, 4, 0);
|
||||
labelPrimary.Name = "labelPrimary";
|
||||
labelPrimary.Padding = new Padding(5);
|
||||
labelPrimary.Size = new Size(115, 42);
|
||||
labelPrimary.TabIndex = 41;
|
||||
labelPrimary.Text = "Primary";
|
||||
//
|
||||
// labelSecondary
|
||||
//
|
||||
labelSecondary.AutoSize = true;
|
||||
labelSecondary.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||
labelSecondary.Location = new Point(423, 5);
|
||||
labelSecondary.Margin = new Padding(4, 0, 4, 0);
|
||||
labelSecondary.Name = "labelSecondary";
|
||||
labelSecondary.Padding = new Padding(5);
|
||||
labelSecondary.Size = new Size(144, 42);
|
||||
labelSecondary.TabIndex = 42;
|
||||
labelSecondary.Text = "Secondary";
|
||||
//
|
||||
// panelBindingsTitle
|
||||
//
|
||||
panelBindingsTitle.AutoSize = true;
|
||||
panelBindingsTitle.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||
panelBindingsTitle.Controls.Add(pictureBindings);
|
||||
panelBindingsTitle.Controls.Add(labelBindings);
|
||||
panelBindingsTitle.Dock = DockStyle.Top;
|
||||
panelBindingsTitle.Location = new Point(0, 0);
|
||||
panelBindingsTitle.Margin = new Padding(4);
|
||||
panelBindingsTitle.Name = "panelBindingsTitle";
|
||||
panelBindingsTitle.Size = new Size(700, 60);
|
||||
panelBindingsTitle.TabIndex = 44;
|
||||
//
|
||||
// pictureBindings
|
||||
//
|
||||
pictureBindings.BackgroundImage = Properties.Resources.icons8_next_32;
|
||||
pictureBindings.BackgroundImageLayout = ImageLayout.Zoom;
|
||||
pictureBindings.ErrorImage = null;
|
||||
pictureBindings.InitialImage = null;
|
||||
pictureBindings.Location = new Point(10, 18);
|
||||
pictureBindings.Margin = new Padding(4, 2, 4, 10);
|
||||
pictureBindings.Name = "pictureBindings";
|
||||
pictureBindings.Size = new Size(32, 32);
|
||||
pictureBindings.TabIndex = 41;
|
||||
pictureBindings.TabStop = false;
|
||||
//
|
||||
// labelBindings
|
||||
//
|
||||
labelBindings.AutoSize = true;
|
||||
labelBindings.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||
labelBindings.Location = new Point(45, 17);
|
||||
labelBindings.Margin = new Padding(4, 0, 4, 0);
|
||||
labelBindings.Name = "labelBindings";
|
||||
labelBindings.Size = new Size(558, 32);
|
||||
labelBindings.TabIndex = 40;
|
||||
labelBindings.Text = "Bindings for Gamepad or Auto (in-game) Mode";
|
||||
//
|
||||
// Handheld
|
||||
//
|
||||
AutoScaleDimensions = new SizeF(13F, 32F);
|
||||
AutoScaleMode = AutoScaleMode.Font;
|
||||
AutoSize = true;
|
||||
ClientSize = new Size(1286, 932);
|
||||
Controls.Add(panelBindings);
|
||||
Controls.Add(panelController);
|
||||
MaximizeBox = false;
|
||||
MinimizeBox = false;
|
||||
Name = "Handheld";
|
||||
Padding = new Padding(10);
|
||||
ShowIcon = false;
|
||||
ShowInTaskbar = false;
|
||||
Text = "Controller";
|
||||
panelController.ResumeLayout(false);
|
||||
panelController.PerformLayout();
|
||||
panelVibra.ResumeLayout(false);
|
||||
panelVibra.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)trackVibra).EndInit();
|
||||
panelVibrationTitle.ResumeLayout(false);
|
||||
panelVibrationTitle.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)pictureVibration).EndInit();
|
||||
panelRT.ResumeLayout(false);
|
||||
panelRT.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)trackRTMax).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)trackRTMin).EndInit();
|
||||
panelLT.ResumeLayout(false);
|
||||
panelLT.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)trackLTMax).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)trackLTMin).EndInit();
|
||||
panelTDeadzone.ResumeLayout(false);
|
||||
panelTDeadzone.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)pictureTDeadzone).EndInit();
|
||||
panelRS.ResumeLayout(false);
|
||||
panelRS.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)trackRSMax).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)trackRSMin).EndInit();
|
||||
panelLS.ResumeLayout(false);
|
||||
panelLS.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)trackLSMax).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)trackLSMin).EndInit();
|
||||
panelSDeadzone.ResumeLayout(false);
|
||||
panelSDeadzone.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)pictureSDeadzone).EndInit();
|
||||
panelBindings.ResumeLayout(false);
|
||||
panelBindings.PerformLayout();
|
||||
tableBindings.ResumeLayout(false);
|
||||
tableBindings.PerformLayout();
|
||||
panelBindingsTitle.ResumeLayout(false);
|
||||
panelBindingsTitle.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)pictureBindings).EndInit();
|
||||
ResumeLayout(false);
|
||||
PerformLayout();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private Panel panelController;
|
||||
private Panel panelVibra;
|
||||
private Label labelVibra;
|
||||
private Label labelVibraTitle;
|
||||
private TrackBar trackVibra;
|
||||
private Panel panelLS;
|
||||
private TrackBar trackLSMax;
|
||||
private Label labelLS;
|
||||
private TrackBar trackLSMin;
|
||||
private Label labelLSTitle;
|
||||
private Panel panelSDeadzone;
|
||||
private PictureBox pictureSDeadzone;
|
||||
private Label labelSDeadzone;
|
||||
private Panel panelRS;
|
||||
private TrackBar trackRSMax;
|
||||
private Label labelRS;
|
||||
private TrackBar trackRSMin;
|
||||
private Label labelRSTitle;
|
||||
private Panel panelRT;
|
||||
private TrackBar trackRTMax;
|
||||
private Label labelRT;
|
||||
private TrackBar trackRTMin;
|
||||
private Label labelRTTitle;
|
||||
private Panel panelLT;
|
||||
private TrackBar trackLTMax;
|
||||
private Label labelLT;
|
||||
private TrackBar trackLTMin;
|
||||
private Label labelLTTitle;
|
||||
private Panel panelTDeadzone;
|
||||
private PictureBox pictureTDeadzone;
|
||||
private Label labelTDeadzone;
|
||||
private Panel panelVibrationTitle;
|
||||
private PictureBox pictureVibration;
|
||||
private Label labelVibraHeader;
|
||||
private UI.RButton buttonReset;
|
||||
private Panel panelBindings;
|
||||
private Panel panelBindingsTitle;
|
||||
private PictureBox pictureBindings;
|
||||
private Label labelBindings;
|
||||
private TableLayoutPanel tableBindings;
|
||||
private Label labelPrimary;
|
||||
private Label labelSecondary;
|
||||
}
|
||||
}
|
||||
205
app/Handheld.cs
Normal file
205
app/Handheld.cs
Normal file
@@ -0,0 +1,205 @@
|
||||
using GHelper.Ally;
|
||||
using GHelper.UI;
|
||||
|
||||
namespace GHelper
|
||||
{
|
||||
public partial class Handheld : RForm
|
||||
{
|
||||
|
||||
public Handheld()
|
||||
{
|
||||
InitializeComponent();
|
||||
InitTheme(true);
|
||||
|
||||
Shown += Handheld_Shown;
|
||||
|
||||
Init();
|
||||
|
||||
trackLSMin.Scroll += Controller_Scroll;
|
||||
trackLSMax.Scroll += Controller_Scroll;
|
||||
trackRSMin.Scroll += Controller_Scroll;
|
||||
trackRSMax.Scroll += Controller_Scroll;
|
||||
|
||||
trackLTMin.Scroll += Controller_Scroll;
|
||||
trackLTMax.Scroll += Controller_Scroll;
|
||||
trackRTMin.Scroll += Controller_Scroll;
|
||||
trackRTMax.Scroll += Controller_Scroll;
|
||||
|
||||
trackVibra.Scroll += Controller_Scroll;
|
||||
|
||||
buttonReset.Click += ButtonReset_Click;
|
||||
|
||||
trackLSMin.ValueChanged += Controller_Complete;
|
||||
trackLSMax.ValueChanged += Controller_Complete;
|
||||
trackRSMin.ValueChanged += Controller_Complete;
|
||||
trackRSMax.ValueChanged += Controller_Complete;
|
||||
|
||||
trackLTMin.ValueChanged += Controller_Complete;
|
||||
trackLTMax.ValueChanged += Controller_Complete;
|
||||
trackRTMin.ValueChanged += Controller_Complete;
|
||||
trackRTMax.ValueChanged += Controller_Complete;
|
||||
|
||||
trackVibra.ValueChanged += Controller_Complete;
|
||||
|
||||
FillBinding("m1", "M1", AllyControl.BindM1);
|
||||
FillBinding("m2", "M2", AllyControl.BindM2);
|
||||
|
||||
FillBinding("a", "A");
|
||||
FillBinding("b", "B");
|
||||
FillBinding("x", "X");
|
||||
FillBinding("y", "Y");
|
||||
|
||||
FillBinding("du", "DPadUp");
|
||||
FillBinding("dd", "DPadDown");
|
||||
|
||||
FillBinding("dl", "DPadLeft");
|
||||
FillBinding("dr", "DPadRight");
|
||||
|
||||
FillBinding("rb", "RBumper");
|
||||
FillBinding("lb", "LBumper");
|
||||
|
||||
FillBinding("rs", "RStick");
|
||||
FillBinding("ll", "LStick");
|
||||
|
||||
FillBinding("vb", "View");
|
||||
FillBinding("mb", "Menu");
|
||||
}
|
||||
|
||||
private RComboBox ComboBinding(string name, int value)
|
||||
{
|
||||
var combo = new RComboBox();
|
||||
combo.BorderColor = Color.White;
|
||||
combo.ButtonColor = Color.FromArgb(255, 255, 255);
|
||||
combo.Dock = DockStyle.Fill;
|
||||
combo.Name = name;
|
||||
combo.Margin = new Padding(5, 5, 5, 5);
|
||||
|
||||
combo.DropDownStyle = ComboBoxStyle.DropDownList;
|
||||
combo.DisplayMember = "Value";
|
||||
combo.ValueMember = "Key";
|
||||
foreach (var item in AllyControl.BindCodes)
|
||||
{
|
||||
combo.Items.Add(new KeyValuePair<int, string>(item.Key, item.Value));
|
||||
if (item.Key == value) combo.SelectedItem = item;
|
||||
}
|
||||
combo.SelectedValueChanged += Binding_SelectedValueChanged;
|
||||
|
||||
return combo;
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void FillBinding(string binding, string label, int defaultValue = -1)
|
||||
{
|
||||
tableBindings.RowStyles.Add(new RowStyle(SizeType.AutoSize));
|
||||
tableBindings.Controls.Add(new Label { Text = label, Anchor = AnchorStyles.Left, Dock = DockStyle.Fill, Padding = new Padding(5, 5, 5, 5) }, 0, tableBindings.RowCount);
|
||||
|
||||
tableBindings.Controls.Add(ComboBinding("bind_" + binding, AppConfig.Get("bind_" + binding, defaultValue)), 1, tableBindings.RowCount);
|
||||
tableBindings.Controls.Add(ComboBinding("bind2_" + binding, AppConfig.Get("bind2_" + binding)), 2, tableBindings.RowCount);
|
||||
|
||||
tableBindings.RowCount++;
|
||||
|
||||
}
|
||||
|
||||
private void Binding_SelectedValueChanged(object? sender, EventArgs e)
|
||||
{
|
||||
|
||||
if (sender is null) return;
|
||||
RComboBox combo = (RComboBox)sender;
|
||||
|
||||
int value = ((KeyValuePair<int, string>)combo.SelectedItem).Key;
|
||||
|
||||
if (value >= 0) AppConfig.Set(combo.Name, value);
|
||||
else AppConfig.Remove(combo.Name);
|
||||
|
||||
AllyControl.ApplyMode();
|
||||
}
|
||||
|
||||
private void Controller_Complete(object? sender, EventArgs e)
|
||||
{
|
||||
AllyControl.SetDeadzones();
|
||||
}
|
||||
|
||||
private void ButtonReset_Click(object? sender, EventArgs e)
|
||||
{
|
||||
trackLSMin.Value = 0;
|
||||
trackLSMax.Value = 100;
|
||||
trackRSMin.Value = 0;
|
||||
trackRSMax.Value = 100;
|
||||
|
||||
trackLTMin.Value = 0;
|
||||
trackLTMax.Value = 100;
|
||||
trackRTMin.Value = 0;
|
||||
trackRTMax.Value = 100;
|
||||
|
||||
trackVibra.Value = 100;
|
||||
|
||||
AppConfig.Remove("ls_min");
|
||||
AppConfig.Remove("ls_max");
|
||||
AppConfig.Remove("rs_min");
|
||||
AppConfig.Remove("rs_max");
|
||||
|
||||
AppConfig.Remove("lt_min");
|
||||
AppConfig.Remove("lt_max");
|
||||
AppConfig.Remove("rt_min");
|
||||
AppConfig.Remove("rt_max");
|
||||
AppConfig.Remove("vibra");
|
||||
|
||||
VisualiseController();
|
||||
|
||||
}
|
||||
|
||||
private void Init()
|
||||
{
|
||||
trackLSMin.Value = AppConfig.Get("ls_min", 0);
|
||||
trackLSMax.Value = AppConfig.Get("ls_max", 100);
|
||||
trackRSMin.Value = AppConfig.Get("rs_min", 0);
|
||||
trackRSMax.Value = AppConfig.Get("rs_max", 100);
|
||||
|
||||
trackLTMin.Value = AppConfig.Get("lt_min", 0);
|
||||
trackLTMax.Value = AppConfig.Get("lt_max", 100);
|
||||
trackRTMin.Value = AppConfig.Get("rt_min", 0);
|
||||
trackRTMax.Value = AppConfig.Get("rt_max", 100);
|
||||
|
||||
trackVibra.Value = AppConfig.Get("vibra", 100);
|
||||
|
||||
VisualiseController();
|
||||
}
|
||||
|
||||
private void VisualiseController()
|
||||
{
|
||||
labelLS.Text = $"{trackLSMin.Value} - {trackLSMax.Value}%";
|
||||
labelRS.Text = $"{trackRSMin.Value} - {trackRSMax.Value}%";
|
||||
|
||||
labelLT.Text = $"{trackLTMin.Value} - {trackLTMax.Value}%";
|
||||
labelRT.Text = $"{trackRTMin.Value} - {trackRTMax.Value}%";
|
||||
|
||||
labelVibra.Text = $"{trackVibra.Value}%";
|
||||
}
|
||||
|
||||
private void Controller_Scroll(object? sender, EventArgs e)
|
||||
{
|
||||
AppConfig.Set("ls_min", trackLSMin.Value);
|
||||
AppConfig.Set("ls_max", trackLSMax.Value);
|
||||
AppConfig.Set("rs_min", trackRSMin.Value);
|
||||
AppConfig.Set("rs_max", trackRSMax.Value);
|
||||
|
||||
AppConfig.Set("lt_min", trackLTMin.Value);
|
||||
AppConfig.Set("lt_max", trackLTMax.Value);
|
||||
AppConfig.Set("rt_min", trackRTMin.Value);
|
||||
AppConfig.Set("rt_max", trackRTMax.Value);
|
||||
|
||||
AppConfig.Set("vibra", trackVibra.Value);
|
||||
|
||||
VisualiseController();
|
||||
|
||||
}
|
||||
|
||||
private void Handheld_Shown(object? sender, EventArgs e)
|
||||
{
|
||||
Height = Program.settingsForm.Height;
|
||||
Top = Program.settingsForm.Top;
|
||||
Left = Program.settingsForm.Left - Width - 5;
|
||||
}
|
||||
}
|
||||
}
|
||||
120
app/Handheld.resx
Normal file
120
app/Handheld.resx
Normal file
@@ -0,0 +1,120 @@
|
||||
<?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 id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<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>
|
||||
</root>
|
||||
@@ -1,7 +1,4 @@
|
||||
using Microsoft.Win32;
|
||||
using System.Diagnostics;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace GHelper.Helpers
|
||||
{
|
||||
@@ -21,35 +18,6 @@ namespace GHelper.Helpers
|
||||
"AsusCertService"
|
||||
};
|
||||
|
||||
public static void SetChargeLimit(int newValue)
|
||||
{
|
||||
// Set the path to the .ini file
|
||||
string path = @"C:\ProgramData\ASUS\ASUS System Control Interface\ASUSOptimization\Customization.ini";
|
||||
|
||||
|
||||
// Make a backup copy of the INI file
|
||||
string backupPath = path + ".bak";
|
||||
File.Copy(path, backupPath, true);
|
||||
|
||||
string fileContents = File.ReadAllText(path, Encoding.Unicode);
|
||||
|
||||
// Find the section [BatteryHealthCharging]
|
||||
string sectionPattern = @"\[BatteryHealthCharging\]\s*(version=\d+)?\s+value=(\d+)";
|
||||
Match sectionMatch = Regex.Match(fileContents, sectionPattern);
|
||||
if (sectionMatch.Success)
|
||||
{
|
||||
// Replace the value with the new value
|
||||
string oldValueString = sectionMatch.Groups[2].Value;
|
||||
int oldValue = int.Parse(oldValueString);
|
||||
string newSection = sectionMatch.Value.Replace($"value={oldValue}", $"value={newValue}");
|
||||
|
||||
// Replace the section in the file contents
|
||||
fileContents = fileContents.Replace(sectionMatch.Value, newSection);
|
||||
|
||||
File.WriteAllText(path, fileContents, Encoding.Unicode);
|
||||
}
|
||||
}
|
||||
|
||||
public static bool IsRunning()
|
||||
{
|
||||
return Process.GetProcessesByName("AsusOptimization").Count() > 0;
|
||||
@@ -72,25 +40,6 @@ namespace GHelper.Helpers
|
||||
}
|
||||
|
||||
|
||||
public static void SetBacklightOffDelay(int value = 60)
|
||||
{
|
||||
try
|
||||
{
|
||||
RegistryKey myKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\ASUS\ASUS System Control Interface\AsusOptimization\ASUS Keyboard Hotkeys", true);
|
||||
if (myKey != null)
|
||||
{
|
||||
myKey.SetValue("TurnOffKeybdLight", value, RegistryValueKind.DWord);
|
||||
myKey.Close();
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Logger.WriteLine(ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static void StopAsusServices()
|
||||
{
|
||||
foreach (string service in services)
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using HidSharp;
|
||||
using GHelper.USB;
|
||||
using GHelper.Ally;
|
||||
|
||||
namespace GHelper.Input
|
||||
{
|
||||
@@ -7,17 +8,26 @@ namespace GHelper.Input
|
||||
{
|
||||
|
||||
CancellationTokenSource cancellationTokenSource = new CancellationTokenSource();
|
||||
Action<int> _handler;
|
||||
|
||||
public KeyboardListener(Action<int> KeyHandler)
|
||||
{
|
||||
_handler = KeyHandler;
|
||||
var task = Task.Run(Listen);
|
||||
}
|
||||
|
||||
private void Listen () {
|
||||
|
||||
HidStream? input = AsusHid.FindHidStream(AsusHid.INPUT_ID);
|
||||
|
||||
|
||||
// Fallback
|
||||
if (input == null)
|
||||
int count = 0;
|
||||
|
||||
while (input == null && count++ < 5)
|
||||
{
|
||||
Aura.Init();
|
||||
Thread.Sleep(1000);
|
||||
input = input = AsusHid.FindHidStream(AsusHid.INPUT_ID);
|
||||
Thread.Sleep(2000);
|
||||
input = AsusHid.FindHidStream(AsusHid.INPUT_ID);
|
||||
}
|
||||
|
||||
if (input == null)
|
||||
@@ -28,39 +38,35 @@ namespace GHelper.Input
|
||||
|
||||
Logger.WriteLine($"Input: {input.Device.DevicePath}");
|
||||
|
||||
var task = Task.Run(() =>
|
||||
try
|
||||
{
|
||||
try
|
||||
while (!cancellationTokenSource.Token.IsCancellationRequested)
|
||||
{
|
||||
while (!cancellationTokenSource.Token.IsCancellationRequested)
|
||||
|
||||
// Emergency break
|
||||
if (input == null || !input.CanRead)
|
||||
{
|
||||
|
||||
// Emergency break
|
||||
if (input == null || !input.CanRead)
|
||||
{
|
||||
Logger.WriteLine("Listener terminated");
|
||||
break;
|
||||
}
|
||||
|
||||
input.ReadTimeout = int.MaxValue;
|
||||
|
||||
var data = input.Read();
|
||||
if (data.Length > 1 && data[0] == AsusHid.INPUT_ID && data[1] > 0 && data[1] != 236)
|
||||
{
|
||||
Logger.WriteLine($"Key: {data[1]}");
|
||||
KeyHandler(data[1]);
|
||||
}
|
||||
Logger.WriteLine("Listener terminated");
|
||||
break;
|
||||
}
|
||||
|
||||
Logger.WriteLine("Listener stopped");
|
||||
input.ReadTimeout = int.MaxValue;
|
||||
|
||||
var data = input.Read();
|
||||
if (data.Length > 1 && data[0] == AsusHid.INPUT_ID && data[1] > 0 && data[1] != 236)
|
||||
{
|
||||
Logger.WriteLine($"Key: {data[1]}");
|
||||
_handler(data[1]);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Logger.WriteLine(ex.ToString());
|
||||
}
|
||||
});
|
||||
|
||||
Logger.WriteLine("Listener stopped");
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Logger.WriteLine(ex.ToString());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -171,7 +171,7 @@ namespace GHelper.Mode
|
||||
Task.Run(async () =>
|
||||
{
|
||||
await Task.Delay(TimeSpan.FromSeconds(1));
|
||||
Program.acpi.DeviceSet(AsusACPI.PPT_TotalA0, 80, "PowerLimit Fix A0");
|
||||
Program.acpi.DeviceSet(AsusACPI.PPT_APUA0, 80, "PowerLimit Fix A0");
|
||||
Program.acpi.DeviceSet(AsusACPI.PPT_APUA3, 80, "PowerLimit Fix A3");
|
||||
});
|
||||
}
|
||||
@@ -261,10 +261,10 @@ namespace GHelper.Mode
|
||||
if (limit_slow < AsusACPI.MinTotal) return;
|
||||
|
||||
// SPL and SPPT
|
||||
if (Program.acpi.DeviceGet(AsusACPI.PPT_TotalA0) >= 0)
|
||||
if (Program.acpi.DeviceGet(AsusACPI.PPT_APUA0) >= 0)
|
||||
{
|
||||
Program.acpi.DeviceSet(AsusACPI.PPT_TotalA0, limit_total, "PowerLimit A0");
|
||||
Program.acpi.DeviceSet(AsusACPI.PPT_APUA3, limit_slow, "PowerLimit A3");
|
||||
Program.acpi.DeviceSet(AsusACPI.PPT_APUA3, limit_total, "PowerLimit A3");
|
||||
Program.acpi.DeviceSet(AsusACPI.PPT_APUA0, limit_slow, "PowerLimit A0");
|
||||
customPower = limit_total;
|
||||
}
|
||||
else if (RyzenControl.IsAMD())
|
||||
@@ -319,7 +319,6 @@ namespace GHelper.Mode
|
||||
int clock_limit = AppConfig.GetMode("gpu_clock_limit");
|
||||
|
||||
if (core == -1 && memory == -1 && clock_limit == -1) return;
|
||||
|
||||
//if ((gpu_core > -5 && gpu_core < 5) && (gpu_memory > -5 && gpu_memory < 5)) launchAsAdmin = false;
|
||||
|
||||
if (Program.acpi.DeviceGet(AsusACPI.GPUEco) == 1) { Logger.WriteLine("Clocks: Eco"); return; }
|
||||
|
||||
@@ -221,6 +221,63 @@
|
||||
LightingSetting[i] = ls;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
protected override PollingRate ParsePollingRate(byte[] packet)
|
||||
{
|
||||
if (packet[1] == 0x12 && packet[2] == 0x04 && packet[3] == 0x00)
|
||||
{
|
||||
return (PollingRate)packet[9];
|
||||
}
|
||||
|
||||
return PollingRate.PR125Hz;
|
||||
}
|
||||
|
||||
protected override byte[] GetUpdatePollingRatePacket(PollingRate pollingRate)
|
||||
{
|
||||
return new byte[] { reportId, 0x51, 0x31, 0x02, 0x00, (byte)pollingRate };
|
||||
}
|
||||
|
||||
protected override bool ParseAngleSnapping(byte[] packet)
|
||||
{
|
||||
if (packet[1] == 0x12 && packet[2] == 0x04 && packet[3] == 0x00)
|
||||
{
|
||||
return packet[13] == 0x01;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
protected override byte[] GetUpdateAngleSnappingPacket(bool angleSnapping)
|
||||
{
|
||||
return new byte[] { reportId, 0x51, 0x31, 0x04, 0x00, (byte)(angleSnapping ? 0x01 : 0x00) };
|
||||
}
|
||||
|
||||
protected override DebounceTime ParseDebounce(byte[] packet)
|
||||
{
|
||||
if (packet[1] != 0x12 || packet[2] != 0x04 || packet[3] != 0x00)
|
||||
{
|
||||
return DebounceTime.MS12;
|
||||
}
|
||||
|
||||
if (packet[11] < 0x02)
|
||||
{
|
||||
return DebounceTime.MS12;
|
||||
}
|
||||
|
||||
if (packet[11] > 0x07)
|
||||
{
|
||||
return DebounceTime.MS32;
|
||||
}
|
||||
|
||||
return (DebounceTime)packet[11];
|
||||
}
|
||||
|
||||
protected override byte[] GetUpdateDebouncePacket(DebounceTime debounce)
|
||||
{
|
||||
return new byte[] { reportId, 0x51, 0x31, 0x03, 0x00, ((byte)debounce) };
|
||||
}
|
||||
}
|
||||
|
||||
//P502
|
||||
|
||||
106
app/Peripherals/Mouse/Models/SpathaX.cs
Normal file
106
app/Peripherals/Mouse/Models/SpathaX.cs
Normal file
@@ -0,0 +1,106 @@
|
||||
|
||||
namespace GHelper.Peripherals.Mouse.Models
|
||||
{
|
||||
//SPATHA_WIRELESS
|
||||
public class SpathaX : AsusMouse
|
||||
{
|
||||
public SpathaX() : base(0x0B05, 0x1979, "mi_00", true)
|
||||
{
|
||||
}
|
||||
|
||||
protected SpathaX(ushort vendorId, bool wireless) : base(0x0B05, vendorId, "mi_00", wireless)
|
||||
{
|
||||
}
|
||||
|
||||
public override string GetDisplayName()
|
||||
{
|
||||
return "ROG Spatha X (Wireless)";
|
||||
}
|
||||
|
||||
public override PollingRate[] SupportedPollingrates()
|
||||
{
|
||||
return new PollingRate[] {
|
||||
PollingRate.PR250Hz,
|
||||
PollingRate.PR500Hz,
|
||||
PollingRate.PR1000Hz
|
||||
};
|
||||
}
|
||||
|
||||
public override bool HasAngleSnapping()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public override int ProfileCount()
|
||||
{
|
||||
return 5;
|
||||
}
|
||||
|
||||
public override int DPIProfileCount()
|
||||
{
|
||||
return 4;
|
||||
}
|
||||
|
||||
public override int MaxDPI()
|
||||
{
|
||||
return 19_000;
|
||||
}
|
||||
|
||||
public override bool HasXYDPI()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public override bool HasDebounceSetting()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public override bool HasLiftOffSetting()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public override bool HasRGB()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public override LightingZone[] SupportedLightingZones()
|
||||
{
|
||||
return new LightingZone[] { LightingZone.Logo, LightingZone.Scrollwheel, LightingZone.Underglow };
|
||||
}
|
||||
|
||||
public override bool HasAutoPowerOff()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public override bool HasAngleTuning()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public override bool HasLowBatteryWarning()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public override bool HasDPIColors()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public class SpathaXWired : SpathaX
|
||||
{
|
||||
public SpathaXWired() : base(0x1977, false)
|
||||
{
|
||||
}
|
||||
|
||||
public override string GetDisplayName()
|
||||
{
|
||||
return "ROG Spatha X (Wired)";
|
||||
}
|
||||
}
|
||||
}
|
||||
179
app/Peripherals/Mouse/Models/StrixCarry.cs
Normal file
179
app/Peripherals/Mouse/Models/StrixCarry.cs
Normal file
@@ -0,0 +1,179 @@
|
||||
namespace GHelper.Peripherals.Mouse.Models
|
||||
{
|
||||
//P508
|
||||
public class StrixCarry : AsusMouse
|
||||
{
|
||||
public StrixCarry() : base(0x0B05, 0x18B4, "mi_01", true)
|
||||
{
|
||||
}
|
||||
|
||||
public override int DPIProfileCount()
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
|
||||
public override string GetDisplayName()
|
||||
{
|
||||
return "ROG Strix Carry (Wireless)";
|
||||
}
|
||||
|
||||
public override PollingRate[] SupportedPollingrates()
|
||||
{
|
||||
return new PollingRate[] {
|
||||
PollingRate.PR125Hz,
|
||||
PollingRate.PR250Hz,
|
||||
PollingRate.PR500Hz,
|
||||
PollingRate.PR1000Hz
|
||||
};
|
||||
}
|
||||
|
||||
public override int ProfileCount()
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
public override int MaxDPI()
|
||||
{
|
||||
return 7_200;
|
||||
}
|
||||
public override int DPIIncrements()
|
||||
{
|
||||
return 100;
|
||||
}
|
||||
|
||||
public override bool HasDebounceSetting()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public override bool HasLiftOffSetting()
|
||||
{
|
||||
//Potentially does nothing. AC does not show the setting, but the mouse responds to it and stores it.
|
||||
return true;
|
||||
}
|
||||
|
||||
public override bool HasRGB()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public override bool HasAutoPowerOff()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public override bool HasAngleSnapping()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
public override bool HasXYDPI()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public override bool CanChangeDPIProfile()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
//Has 25% increments only.
|
||||
protected override int ParseBattery(byte[] packet)
|
||||
{
|
||||
if (packet[1] == 0x12 && packet[2] == 0x07)
|
||||
{
|
||||
return packet[7] * 25;
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
protected override PowerOffSetting ParsePowerOffSetting(byte[] packet)
|
||||
{
|
||||
if (packet[1] == 0x12 && packet[2] == 0x07)
|
||||
{
|
||||
return (PowerOffSetting)packet[5];
|
||||
}
|
||||
|
||||
return PowerOffSetting.Never;
|
||||
}
|
||||
|
||||
protected override PollingRate ParsePollingRate(byte[] packet)
|
||||
{
|
||||
if (packet[1] == 0x12 && packet[2] == 0x04 && packet[3] == 0x00)
|
||||
{
|
||||
return (PollingRate)packet[9];
|
||||
}
|
||||
|
||||
return PollingRate.PR125Hz;
|
||||
}
|
||||
|
||||
protected override byte[] GetUpdatePollingRatePacket(PollingRate pollingRate)
|
||||
{
|
||||
return new byte[] { reportId, 0x51, 0x31, 0x02, 0x00, (byte)pollingRate };
|
||||
}
|
||||
|
||||
protected override bool ParseAngleSnapping(byte[] packet)
|
||||
{
|
||||
if (packet[1] == 0x12 && packet[2] == 0x04 && packet[3] == 0x00)
|
||||
{
|
||||
return packet[13] == 0x01;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
protected override byte[] GetUpdateAngleSnappingPacket(bool angleSnapping)
|
||||
{
|
||||
return new byte[] { reportId, 0x51, 0x31, 0x04, 0x00, (byte)(angleSnapping ? 0x01 : 0x00) };
|
||||
}
|
||||
|
||||
protected override DebounceTime ParseDebounce(byte[] packet)
|
||||
{
|
||||
if (packet[1] != 0x12 || packet[2] != 0x04 || packet[3] != 0x00)
|
||||
{
|
||||
return DebounceTime.MS12;
|
||||
}
|
||||
|
||||
if (packet[11] < 0x02)
|
||||
{
|
||||
return DebounceTime.MS12;
|
||||
}
|
||||
|
||||
if (packet[11] > 0x07)
|
||||
{
|
||||
return DebounceTime.MS32;
|
||||
}
|
||||
|
||||
return (DebounceTime)packet[11];
|
||||
}
|
||||
|
||||
protected override byte[] GetUpdateDebouncePacket(DebounceTime debounce)
|
||||
{
|
||||
return new byte[] { reportId, 0x51, 0x31, 0x03, 0x00, ((byte)debounce) };
|
||||
}
|
||||
|
||||
protected override int ParseProfile(byte[] packet)
|
||||
{
|
||||
if (packet[1] == 0x12 && packet[2] == 0x00 && packet[3] == 0x00)
|
||||
{
|
||||
return packet[10];
|
||||
}
|
||||
Logger.WriteLine(GetDisplayName() + ": Failed to decode active profile");
|
||||
return 0;
|
||||
}
|
||||
|
||||
protected override int ParseDPIProfile(byte[] packet)
|
||||
{
|
||||
if (packet[1] == 0x12 && packet[2] == 0x00 && packet[3] == 0x00)
|
||||
{
|
||||
return packet[11];
|
||||
}
|
||||
Logger.WriteLine(GetDisplayName() + ": Failed to decode active profile");
|
||||
return 1;
|
||||
}
|
||||
|
||||
protected override byte[] GetUpdateEnergySettingsPacket(int lowBatteryWarning, PowerOffSetting powerOff)
|
||||
{
|
||||
return new byte[] { 0x00, 0x51, 0x37, 0x00, 0x00, (byte)powerOff, 0x00, (byte)lowBatteryWarning };
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -212,6 +212,8 @@ namespace GHelper.Peripherals
|
||||
DetectMouse(new Chakram());
|
||||
DetectMouse(new ChakramWired());
|
||||
DetectMouse(new ChakramCore());
|
||||
DetectMouse(new SpathaX());
|
||||
DetectMouse(new StrixCarry());
|
||||
}
|
||||
|
||||
public static void DetectMouse(AsusMouse am)
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
using GHelper.Ally;
|
||||
using GHelper.Battery;
|
||||
using GHelper.Display;
|
||||
using GHelper.Gpu;
|
||||
@@ -30,6 +31,7 @@ namespace GHelper
|
||||
|
||||
public static ModeControl modeControl = new ModeControl();
|
||||
public static GPUModeControl gpuControl = new GPUModeControl(settingsForm);
|
||||
public static AllyControl allyControl = new AllyControl(settingsForm);
|
||||
public static ScreenControl screenControl = new ScreenControl();
|
||||
public static ClamshellModeControl clamshellControl = new ClamshellModeControl();
|
||||
|
||||
@@ -194,6 +196,10 @@ namespace GHelper
|
||||
|
||||
if (settingsForm.matrixForm is not null && settingsForm.matrixForm.Text != "")
|
||||
settingsForm.matrixForm.InitTheme();
|
||||
|
||||
if (settingsForm.handheldForm is not null && settingsForm.handheldForm.Text != "")
|
||||
settingsForm.handheldForm.InitTheme();
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -225,6 +231,8 @@ namespace GHelper
|
||||
|
||||
settingsForm.AutoKeyboard();
|
||||
settingsForm.matrixControl.SetMatrix(true);
|
||||
|
||||
allyControl.Init();
|
||||
}
|
||||
|
||||
private static void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)
|
||||
|
||||
50
app/Properties/Resources.Designer.cs
generated
50
app/Properties/Resources.Designer.cs
generated
@@ -220,6 +220,16 @@ namespace GHelper.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap icons8_controller_32 {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("icons8-controller-32", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
@@ -310,6 +320,16 @@ namespace GHelper.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap icons8_joystick_32 {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("icons8-joystick-32", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
@@ -430,6 +450,16 @@ namespace GHelper.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap icons8_next_32 {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("icons8-next-32", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
@@ -550,6 +580,16 @@ namespace GHelper.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap icons8_soonvibes_32 {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("icons8-soonvibes-32", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
@@ -610,6 +650,16 @@ namespace GHelper.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap icons8_xbox_lt_32 {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("icons8-xbox-lt-32", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
|
||||
@@ -118,176 +118,152 @@
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="brightness_up" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\brightness-up.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_temperature_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-temperature-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="backlight_down" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\backlight-down.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_mute_unmute_96" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-mute-unmute-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-hibernate-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-hibernate-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-quit-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-quit-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-fiat-500-48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-fiat-500-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_microphone_96" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-microphone-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_voltage_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-voltage-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-project-management-48 (1)" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-project-management-48 (1).png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-charging-battery-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-charging-battery-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="lighting_dot_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\lighting_dot_32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_touchpad_96" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-touchpad-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-automation-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-automation-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_maus_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-maus-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-help-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-help-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-software-32-white" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-software-32-white.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_add_64" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-add-64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-game-controller-48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-game-controller-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-refresh-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-refresh-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_share_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-share-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="standard" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\standard.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="lighting_dot_24" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\lighting_dot_24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_charged_battery_96" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-charged-battery-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="lighting_dot_24" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\lighting_dot_24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-bicycle-48 (1)" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-bicycle-48 (1).png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="brightness_down" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\brightness-down.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_batterie_voll_geladen_48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-batterie-voll-geladen-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_charging_battery_96" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-charging-battery-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="eco" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\eco.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-video-card-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-video-card-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="lighting_dot_48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\lighting_dot_48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-rocket-48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-rocket-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_edit_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-edit-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="backlight_up" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\backlight-up.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_video_48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-video-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-save-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-save-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-log-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-log-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_function" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-function-mac-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-keyboard-32 (1)" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-keyboard-32 (1).png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-fan-48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-fan-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="icons8_microphone_96" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-microphone-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_maus_48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-maus-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_remove_64" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-remove-64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="icons8-bicycle-48 (1)" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-bicycle-48 (1).png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_mauszeiger_50" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-mauszeiger-50.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="eco" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\eco.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-matrix-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-matrix-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="icons8_mute_unmute_96" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-mute-unmute-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-keyboard-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-keyboard-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="icons8_batterie_voll_geladen_48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-batterie-voll-geladen-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_fan_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-fan-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="lighting_dot_48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\lighting_dot_48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_software_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-software-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="icons8-quit-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-quit-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-gauge-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-gauge-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="icons8-controller-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-controller-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-leaf-48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-leaf-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="icons8-next-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-next-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="ultimate" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\ultimate.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="icons8-automation-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-automation-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-spa-flower-48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-spa-flower-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="backlight" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\backlight.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-settings-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-settings-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="brightness_up" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\brightness-up.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_processor_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-processor-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-fiat-500-48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-fiat-500-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_touchpad_96" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-touchpad-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-game-controller-48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-game-controller-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-help-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-help-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-matrix-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-matrix-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-laptop-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-laptop-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_remove_64" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-remove-64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_function" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-function-mac-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-joystick-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-joystick-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-keyboard-32 (1)" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-keyboard-32 (1).png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-spa-flower-48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-spa-flower-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-video-card-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-video-card-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="backlight" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\backlight.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-refresh-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-refresh-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-hibernate-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-hibernate-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="ultimate" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\ultimate.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-keyboard-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-keyboard-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-fan-48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-fan-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-settings-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-settings-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_maus_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-maus-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_charging_battery_96" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-charging-battery-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="dot_ultimate" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\dot-ultimate.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="brightness_down" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\brightness-down.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="backlight_up" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\backlight-up.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="backlight_down" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\backlight-down.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-rocket-48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-rocket-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="dot_standard" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\dot-standard.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_rocket_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-rocket-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-project-management-48 (1)" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-project-management-48 (1).png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_mauszeiger_50" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-mauszeiger-50.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-save-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-save-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_ladende_batterie_48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-ladende-batterie-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_rocket_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-rocket-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="icons8_video_48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-video-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="MFont" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Font.otf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
@@ -295,10 +271,49 @@
|
||||
<data name="dot_eco" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\dot-eco.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="dot_standard" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\dot-standard.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="icons8-gauge-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-gauge-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="dot_ultimate" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\dot-ultimate.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="standard" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\standard.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_fan_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-fan-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_voltage_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-voltage-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-software-32-white" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-software-32-white.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-log-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-log-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_temperature_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-temperature-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-leaf-48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-leaf-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_add_64" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-add-64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_software_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-software-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8_share_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-share-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-soonvibes-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-soonvibes-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="lighting_dot_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\lighting_dot_32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-charging-battery-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-charging-battery-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="icons8-xbox-lt-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\icons8-xbox-lt-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -124,10 +124,10 @@
|
||||
<value>Não foi possível conectar ao ASUS ACPI. O programa não funciona sem esse serviço. Tente instalar Asus System Control Interface</value>
|
||||
</data>
|
||||
<data name="AlertAPUMemoryRestart" xml:space="preserve">
|
||||
<value>Restart your device to apply changes</value>
|
||||
<value>Reinicie o dispositivo para aplicar as alterações</value>
|
||||
</data>
|
||||
<data name="AlertAPUMemoryRestartTitle" xml:space="preserve">
|
||||
<value>Restart now?</value>
|
||||
<value>Reiniciar agora?</value>
|
||||
</data>
|
||||
<data name="AlertDGPU" xml:space="preserve">
|
||||
<value>Parece que o GPU está em uso pesado, desativá-lo?</value>
|
||||
@@ -169,7 +169,7 @@
|
||||
<value>Ajuste automático dos modos de energia do Windows</value>
|
||||
</data>
|
||||
<data name="APUMemory" xml:space="preserve">
|
||||
<value>Memory Assigned to GPU</value>
|
||||
<value>Memória Alocada à GPU</value>
|
||||
</data>
|
||||
<data name="AsusServicesRunning" xml:space="preserve">
|
||||
<value>Serviços da Asus em execução</value>
|
||||
@@ -250,10 +250,10 @@
|
||||
<value>Tempo limite ligado à corrente / na bateria (0 - ON)</value>
|
||||
</data>
|
||||
<data name="BacklightTimeoutBattery" xml:space="preserve">
|
||||
<value>Backlight Timeout when on battery</value>
|
||||
<value>Desligar o ecrã após (em Bateria)</value>
|
||||
</data>
|
||||
<data name="BacklightTimeoutPlugged" xml:space="preserve">
|
||||
<value>Backlight Timeout when plugged</value>
|
||||
<value>Desligar o ecrã após (ligado à corrente)</value>
|
||||
</data>
|
||||
<data name="Balanced" xml:space="preserve">
|
||||
<value>Equilibrado</value>
|
||||
|
||||
@@ -118,16 +118,16 @@
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="Acceleration" xml:space="preserve">
|
||||
<value>Acceleration</value>
|
||||
<value>Accelerare</value>
|
||||
</data>
|
||||
<data name="ACPIError" xml:space="preserve">
|
||||
<value>Nu se poate conecta la ASUS ACPI. Aplicația nu poate funcționa fără aceasta. Încercați să instalați Asus System Control Interface</value>
|
||||
</data>
|
||||
<data name="AlertAPUMemoryRestart" xml:space="preserve">
|
||||
<value>Restart your device to apply changes</value>
|
||||
<value>Reporniți dispozitivul pentru a aplica modificările</value>
|
||||
</data>
|
||||
<data name="AlertAPUMemoryRestartTitle" xml:space="preserve">
|
||||
<value>Restart now?</value>
|
||||
<value>Reporniți acum?</value>
|
||||
</data>
|
||||
<data name="AlertDGPU" xml:space="preserve">
|
||||
<value>Se pare că GPU-ul este folosit intens, dezactivați?</value>
|
||||
@@ -169,34 +169,34 @@
|
||||
<value>Reglare automată a modului de alimentare Windows</value>
|
||||
</data>
|
||||
<data name="APUMemory" xml:space="preserve">
|
||||
<value>Memory Assigned to GPU</value>
|
||||
<value>Memorie alocată GPU-ului</value>
|
||||
</data>
|
||||
<data name="AsusServicesRunning" xml:space="preserve">
|
||||
<value>Servicii Asus în derulare</value>
|
||||
</data>
|
||||
<data name="AuraBatteryState" xml:space="preserve">
|
||||
<value>Battery State</value>
|
||||
<value>Starea bateriei</value>
|
||||
</data>
|
||||
<data name="AuraBreathe" xml:space="preserve">
|
||||
<value>Respirație</value>
|
||||
</data>
|
||||
<data name="AuraClockwise" xml:space="preserve">
|
||||
<value>Clockwise</value>
|
||||
<value>În sensul acelor de ceas</value>
|
||||
</data>
|
||||
<data name="AuraColorCycle" xml:space="preserve">
|
||||
<value>Ciclu de culori</value>
|
||||
</data>
|
||||
<data name="AuraComet" xml:space="preserve">
|
||||
<value>Comet</value>
|
||||
<value>Cometă</value>
|
||||
</data>
|
||||
<data name="AuraCounterClockwise" xml:space="preserve">
|
||||
<value>Counterclockwise</value>
|
||||
<value>În sens invers acelor de ceas</value>
|
||||
</data>
|
||||
<data name="AuraFast" xml:space="preserve">
|
||||
<value>Rapid</value>
|
||||
</data>
|
||||
<data name="AuraLightingMode" xml:space="preserve">
|
||||
<value>Lighting Mode</value>
|
||||
<value>Mod iluminare</value>
|
||||
</data>
|
||||
<data name="AuraNormal" xml:space="preserve">
|
||||
<value>Normal</value>
|
||||
@@ -205,10 +205,10 @@
|
||||
<value>Curcubeu</value>
|
||||
</data>
|
||||
<data name="AuraRandomColor" xml:space="preserve">
|
||||
<value>Random</value>
|
||||
<value>Aleatoriu</value>
|
||||
</data>
|
||||
<data name="AuraReact" xml:space="preserve">
|
||||
<value>React</value>
|
||||
<value>Reacție</value>
|
||||
</data>
|
||||
<data name="AuraSlow" xml:space="preserve">
|
||||
<value>Încet</value>
|
||||
@@ -220,7 +220,7 @@
|
||||
<value>Stroboscop</value>
|
||||
</data>
|
||||
<data name="AuraZoneAll" xml:space="preserve">
|
||||
<value>All</value>
|
||||
<value>Toate</value>
|
||||
</data>
|
||||
<data name="AuraZoneDock" xml:space="preserve">
|
||||
<value>Dock</value>
|
||||
@@ -229,10 +229,10 @@
|
||||
<value>Logo</value>
|
||||
</data>
|
||||
<data name="AuraZoneScroll" xml:space="preserve">
|
||||
<value>Scrollwheel</value>
|
||||
<value>Rotiță scroll</value>
|
||||
</data>
|
||||
<data name="AuraZoneUnderglow" xml:space="preserve">
|
||||
<value>Underglow</value>
|
||||
<value>Iluminare de jos</value>
|
||||
</data>
|
||||
<data name="AutoApply" xml:space="preserve">
|
||||
<value>Aplicare automată</value>
|
||||
@@ -250,16 +250,16 @@
|
||||
<value>Timeout conectat / folosind bateria (0 - ON)</value>
|
||||
</data>
|
||||
<data name="BacklightTimeoutBattery" xml:space="preserve">
|
||||
<value>Backlight Timeout when on battery</value>
|
||||
<value>Timp oprire iluminare pe baterie</value>
|
||||
</data>
|
||||
<data name="BacklightTimeoutPlugged" xml:space="preserve">
|
||||
<value>Backlight Timeout when plugged</value>
|
||||
<value>Timp oprire iluminare când e conectat</value>
|
||||
</data>
|
||||
<data name="Balanced" xml:space="preserve">
|
||||
<value>Echilibrat</value>
|
||||
</data>
|
||||
<data name="BatteryCharge" xml:space="preserve">
|
||||
<value>Charge</value>
|
||||
<value>Încărcare</value>
|
||||
</data>
|
||||
<data name="BatteryChargeLimit" xml:space="preserve">
|
||||
<value>Limita de încărcare a bateriei</value>
|
||||
@@ -268,7 +268,7 @@
|
||||
<value>Sănătatea bateriei</value>
|
||||
</data>
|
||||
<data name="BatteryLimitFull" xml:space="preserve">
|
||||
<value>One time charge to 100%</value>
|
||||
<value>Încarcă o dată la 100%</value>
|
||||
</data>
|
||||
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
||||
<value>Actualizări BIOS și Driver</value>
|
||||
@@ -277,7 +277,7 @@
|
||||
<value>Pornire</value>
|
||||
</data>
|
||||
<data name="BootSound" xml:space="preserve">
|
||||
<value>Boot Sound</value>
|
||||
<value>Sunet la pornire</value>
|
||||
</data>
|
||||
<data name="Brightness" xml:space="preserve">
|
||||
<value>Luminozitate</value>
|
||||
@@ -289,7 +289,7 @@
|
||||
<value>Mărirea luminozității</value>
|
||||
</data>
|
||||
<data name="Calibrate" xml:space="preserve">
|
||||
<value>Calibrate</value>
|
||||
<value>Calibrează</value>
|
||||
</data>
|
||||
<data name="Charging" xml:space="preserve">
|
||||
<value>Se încarcă</value>
|
||||
@@ -304,7 +304,7 @@
|
||||
<value>Personalizat</value>
|
||||
</data>
|
||||
<data name="Deceleration" xml:space="preserve">
|
||||
<value>Deceleration</value>
|
||||
<value>Decelerare</value>
|
||||
</data>
|
||||
<data name="Default" xml:space="preserve">
|
||||
<value>Implicit</value>
|
||||
@@ -316,7 +316,7 @@
|
||||
<value>Se descarcă</value>
|
||||
</data>
|
||||
<data name="DownloadUpdate" xml:space="preserve">
|
||||
<value>Download</value>
|
||||
<value>Descarcă</value>
|
||||
</data>
|
||||
<data name="DriverAndSoftware" xml:space="preserve">
|
||||
<value>Drivers și Aplicații</value>
|
||||
@@ -336,7 +336,7 @@
|
||||
<value>NVIDIA Display Mode nu este setat la modul Optimus</value>
|
||||
</data>
|
||||
<data name="EnergySettings" xml:space="preserve">
|
||||
<value>Energy Settings</value>
|
||||
<value>Setări energie</value>
|
||||
</data>
|
||||
<data name="Extra" xml:space="preserve">
|
||||
<value>Extra</value>
|
||||
@@ -405,10 +405,10 @@
|
||||
<value>Temperatura țintă</value>
|
||||
</data>
|
||||
<data name="HibernateAfter" xml:space="preserve">
|
||||
<value>Minutes till Hibernation in sleep on battery (0 - OFF)</value>
|
||||
<value>Minute până la Hibernare în mod repaus pe baterie (0 - Oprit)</value>
|
||||
</data>
|
||||
<data name="High" xml:space="preserve">
|
||||
<value>High</value>
|
||||
<value>Ridicat</value>
|
||||
</data>
|
||||
<data name="KeyBindings" xml:space="preserve">
|
||||
<value>Asocieri taste</value>
|
||||
@@ -429,19 +429,19 @@
|
||||
<value>Ecran Laptop</value>
|
||||
</data>
|
||||
<data name="Lid" xml:space="preserve">
|
||||
<value>Lid</value>
|
||||
<value>Capac</value>
|
||||
</data>
|
||||
<data name="Lightbar" xml:space="preserve">
|
||||
<value>Lightbar</value>
|
||||
</data>
|
||||
<data name="Lighting" xml:space="preserve">
|
||||
<value>Lighting</value>
|
||||
<value>Iluminare</value>
|
||||
</data>
|
||||
<data name="Logo" xml:space="preserve">
|
||||
<value>Logo-ul</value>
|
||||
</data>
|
||||
<data name="Low" xml:space="preserve">
|
||||
<value>Low</value>
|
||||
<value>Scăzut</value>
|
||||
</data>
|
||||
<data name="MatrixAudio" xml:space="preserve">
|
||||
<value>Vizualizator audio</value>
|
||||
@@ -471,37 +471,37 @@
|
||||
<value>Imagine</value>
|
||||
</data>
|
||||
<data name="MaxRefreshTooltip" xml:space="preserve">
|
||||
<value>Valoare maximă refresh rate pentru latență mai mică</value>
|
||||
<value>Rata maximă de reîmprospătare pentru latență mai mică</value>
|
||||
</data>
|
||||
<data name="MinRefreshTooltip" xml:space="preserve">
|
||||
<value>60Hz refresh rate pentru a economisi bateria</value>
|
||||
<value>60Hz rată de reîmprospătare pentru a economisi bateria</value>
|
||||
</data>
|
||||
<data name="Minute" xml:space="preserve">
|
||||
<value>Minute</value>
|
||||
<value>Minut</value>
|
||||
</data>
|
||||
<data name="Minutes" xml:space="preserve">
|
||||
<value>Minutes</value>
|
||||
<value>Minute</value>
|
||||
</data>
|
||||
<data name="MouseAngleSnapping" xml:space="preserve">
|
||||
<value>Angle Snapping</value>
|
||||
<value>Fixare mișcare la unghi</value>
|
||||
</data>
|
||||
<data name="MouseAutoPowerOff" xml:space="preserve">
|
||||
<value>Auto Power Off After</value>
|
||||
<value>Oprire automată după</value>
|
||||
</data>
|
||||
<data name="MouseButtonResponse" xml:space="preserve">
|
||||
<value>Button Response</value>
|
||||
<value>Răspuns buton</value>
|
||||
</data>
|
||||
<data name="MouseLiftOffDistance" xml:space="preserve">
|
||||
<value>Lift Off Distance</value>
|
||||
<value>Distanța de oprire</value>
|
||||
</data>
|
||||
<data name="MouseLowBatteryWarning" xml:space="preserve">
|
||||
<value>Low Battery Warning at</value>
|
||||
<value>Avertizare baterie scăzută la</value>
|
||||
</data>
|
||||
<data name="MousePerformance" xml:space="preserve">
|
||||
<value>Performance</value>
|
||||
<value>Performanță</value>
|
||||
</data>
|
||||
<data name="MouseSynchronize" xml:space="preserve">
|
||||
<value>Synchronize with mouse</value>
|
||||
<value>Sincronizare cu mouse-ul</value>
|
||||
</data>
|
||||
<data name="Multizone" xml:space="preserve">
|
||||
<value>Multizone</value>
|
||||
@@ -510,7 +510,7 @@
|
||||
<value>Oprire microfon</value>
|
||||
</data>
|
||||
<data name="Never" xml:space="preserve">
|
||||
<value>Never</value>
|
||||
<value>Niciodată</value>
|
||||
</data>
|
||||
<data name="NewUpdates" xml:space="preserve">
|
||||
<value>Actualizări noi</value>
|
||||
@@ -519,7 +519,7 @@
|
||||
<value>Nu există actualizări noi</value>
|
||||
</data>
|
||||
<data name="NotConnected" xml:space="preserve">
|
||||
<value>Not Connected</value>
|
||||
<value>Neconectat</value>
|
||||
</data>
|
||||
<data name="OpenGHelper" xml:space="preserve">
|
||||
<value>Deschide fereastra G-Helper</value>
|
||||
@@ -543,7 +543,7 @@
|
||||
<value>Mod</value>
|
||||
</data>
|
||||
<data name="Peripherals" xml:space="preserve">
|
||||
<value>Peripherals</value>
|
||||
<value>Periferice</value>
|
||||
</data>
|
||||
<data name="PictureGif" xml:space="preserve">
|
||||
<value>Poză / Gif</value>
|
||||
@@ -552,7 +552,7 @@
|
||||
<value>Redare / Pauză</value>
|
||||
</data>
|
||||
<data name="PollingRate" xml:space="preserve">
|
||||
<value>Polling Rate</value>
|
||||
<value>Rată sondaj</value>
|
||||
</data>
|
||||
<data name="PowerLimits" xml:space="preserve">
|
||||
<value>Limite de putere</value>
|
||||
@@ -564,13 +564,13 @@
|
||||
<value>PrintScreen</value>
|
||||
</data>
|
||||
<data name="Profile" xml:space="preserve">
|
||||
<value>Profile</value>
|
||||
<value>Profil</value>
|
||||
</data>
|
||||
<data name="Quit" xml:space="preserve">
|
||||
<value>Închide</value>
|
||||
</data>
|
||||
<data name="RestartGPU" xml:space="preserve">
|
||||
<value>Something is using dGPU and preventing Eco mode. Let G-Helper try to restart dGPU in device manager? (Please proceed at your own risk)</value>
|
||||
<value>Ceva folosește dGPU și previne modul Eco. Permiteți G-Helper să repornească dGPU în managerul de dispozitive? (Continuați pe propriul risc)</value>
|
||||
</data>
|
||||
<data name="RPM" xml:space="preserve">
|
||||
<value>RPM</value>
|
||||
|
||||
BIN
app/Resources/icons8-controller-32.png
Normal file
BIN
app/Resources/icons8-controller-32.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 396 B |
BIN
app/Resources/icons8-joystick-32.png
Normal file
BIN
app/Resources/icons8-joystick-32.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 288 B |
BIN
app/Resources/icons8-next-32.png
Normal file
BIN
app/Resources/icons8-next-32.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 248 B |
BIN
app/Resources/icons8-soonvibes-32.png
Normal file
BIN
app/Resources/icons8-soonvibes-32.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 773 B |
BIN
app/Resources/icons8-xbox-lt-32.png
Normal file
BIN
app/Resources/icons8-xbox-lt-32.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 458 B |
231
app/Settings.Designer.cs
generated
231
app/Settings.Designer.cs
generated
@@ -64,6 +64,8 @@ namespace GHelper
|
||||
labelCPUFan = new Label();
|
||||
panelGPU = new Panel();
|
||||
labelTipGPU = new Label();
|
||||
tableAMD = new TableLayoutPanel();
|
||||
buttonFPS = new RButton();
|
||||
tableGPU = new TableLayoutPanel();
|
||||
buttonStopGPU = new RButton();
|
||||
buttonEco = new RButton();
|
||||
@@ -108,6 +110,14 @@ namespace GHelper
|
||||
panelPeripheralsTile = new Panel();
|
||||
picturePeripherals = new PictureBox();
|
||||
labelPeripherals = new Label();
|
||||
panelAlly = new Panel();
|
||||
tableLayoutAlly = new TableLayoutPanel();
|
||||
buttonBacklight = new RButton();
|
||||
buttonControllerMode = new RButton();
|
||||
panelAllyTitle = new Panel();
|
||||
pictureAlly = new PictureBox();
|
||||
labelAlly = new Label();
|
||||
buttonController = new RButton();
|
||||
panelMatrix.SuspendLayout();
|
||||
tableLayoutMatrix.SuspendLayout();
|
||||
panelMatrixTitle.SuspendLayout();
|
||||
@@ -122,6 +132,7 @@ namespace GHelper
|
||||
panelCPUTitle.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)picturePerf).BeginInit();
|
||||
panelGPU.SuspendLayout();
|
||||
tableAMD.SuspendLayout();
|
||||
tableGPU.SuspendLayout();
|
||||
panelGPUTitle.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)pictureGPU).BeginInit();
|
||||
@@ -141,6 +152,10 @@ namespace GHelper
|
||||
tableLayoutPeripherals.SuspendLayout();
|
||||
panelPeripheralsTile.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)picturePeripherals).BeginInit();
|
||||
panelAlly.SuspendLayout();
|
||||
tableLayoutAlly.SuspendLayout();
|
||||
panelAllyTitle.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)pictureAlly).BeginInit();
|
||||
SuspendLayout();
|
||||
//
|
||||
// panelMatrix
|
||||
@@ -152,7 +167,7 @@ namespace GHelper
|
||||
panelMatrix.Controls.Add(panelMatrixTitle);
|
||||
panelMatrix.Controls.Add(checkMatrix);
|
||||
panelMatrix.Dock = DockStyle.Top;
|
||||
panelMatrix.Location = new Point(11, 747);
|
||||
panelMatrix.Location = new Point(11, 827);
|
||||
panelMatrix.Margin = new Padding(0);
|
||||
panelMatrix.Name = "panelMatrix";
|
||||
panelMatrix.Padding = new Padding(20, 20, 20, 10);
|
||||
@@ -282,7 +297,7 @@ namespace GHelper
|
||||
panelBattery.Controls.Add(sliderBattery);
|
||||
panelBattery.Controls.Add(panelBatteryTitle);
|
||||
panelBattery.Dock = DockStyle.Top;
|
||||
panelBattery.Location = new Point(11, 1265);
|
||||
panelBattery.Location = new Point(11, 1485);
|
||||
panelBattery.Margin = new Padding(0);
|
||||
panelBattery.Name = "panelBattery";
|
||||
panelBattery.Padding = new Padding(20, 20, 20, 10);
|
||||
@@ -374,7 +389,7 @@ namespace GHelper
|
||||
panelFooter.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||
panelFooter.Controls.Add(tableButtons);
|
||||
panelFooter.Dock = DockStyle.Top;
|
||||
panelFooter.Location = new Point(11, 1440);
|
||||
panelFooter.Location = new Point(11, 1660);
|
||||
panelFooter.Margin = new Padding(0);
|
||||
panelFooter.Name = "panelFooter";
|
||||
panelFooter.Padding = new Padding(20);
|
||||
@@ -649,6 +664,7 @@ namespace GHelper
|
||||
panelGPU.AutoSize = true;
|
||||
panelGPU.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||
panelGPU.Controls.Add(labelTipGPU);
|
||||
panelGPU.Controls.Add(tableAMD);
|
||||
panelGPU.Controls.Add(tableGPU);
|
||||
panelGPU.Controls.Add(panelGPUTitle);
|
||||
panelGPU.Dock = DockStyle.Top;
|
||||
@@ -656,7 +672,7 @@ namespace GHelper
|
||||
panelGPU.Margin = new Padding(0);
|
||||
panelGPU.Name = "panelGPU";
|
||||
panelGPU.Padding = new Padding(20, 20, 20, 0);
|
||||
panelGPU.Size = new Size(827, 352);
|
||||
panelGPU.Size = new Size(827, 432);
|
||||
panelGPU.TabIndex = 1;
|
||||
panelGPU.TabStop = true;
|
||||
//
|
||||
@@ -664,12 +680,53 @@ namespace GHelper
|
||||
//
|
||||
labelTipGPU.Dock = DockStyle.Top;
|
||||
labelTipGPU.ForeColor = SystemColors.GrayText;
|
||||
labelTipGPU.Location = new Point(20, 316);
|
||||
labelTipGPU.Location = new Point(20, 396);
|
||||
labelTipGPU.Margin = new Padding(4, 0, 4, 0);
|
||||
labelTipGPU.Name = "labelTipGPU";
|
||||
labelTipGPU.Size = new Size(787, 36);
|
||||
labelTipGPU.TabIndex = 20;
|
||||
//
|
||||
// tableAMD
|
||||
//
|
||||
tableAMD.AutoSize = true;
|
||||
tableAMD.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||
tableAMD.ColumnCount = 3;
|
||||
tableAMD.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33F));
|
||||
tableAMD.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33F));
|
||||
tableAMD.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33F));
|
||||
tableAMD.Controls.Add(buttonFPS, 0, 0);
|
||||
tableAMD.Dock = DockStyle.Top;
|
||||
tableAMD.Location = new Point(20, 316);
|
||||
tableAMD.Margin = new Padding(8, 4, 8, 4);
|
||||
tableAMD.Name = "tableAMD";
|
||||
tableAMD.RowCount = 1;
|
||||
tableAMD.RowStyles.Add(new RowStyle(SizeType.Absolute, 80F));
|
||||
tableAMD.Size = new Size(787, 80);
|
||||
tableAMD.TabIndex = 24;
|
||||
tableAMD.Visible = false;
|
||||
//
|
||||
// buttonFPS
|
||||
//
|
||||
buttonFPS.Activated = false;
|
||||
buttonFPS.BackColor = SystemColors.ControlLightLight;
|
||||
buttonFPS.BorderColor = Color.Transparent;
|
||||
buttonFPS.BorderRadius = 5;
|
||||
buttonFPS.Dock = DockStyle.Fill;
|
||||
buttonFPS.FlatAppearance.BorderSize = 0;
|
||||
buttonFPS.FlatStyle = FlatStyle.Flat;
|
||||
buttonFPS.ForeColor = SystemColors.ControlText;
|
||||
buttonFPS.Image = Properties.Resources.icons8_video_48;
|
||||
buttonFPS.ImageAlign = ContentAlignment.MiddleRight;
|
||||
buttonFPS.Location = new Point(4, 4);
|
||||
buttonFPS.Margin = new Padding(4);
|
||||
buttonFPS.Name = "buttonFPS";
|
||||
buttonFPS.Secondary = false;
|
||||
buttonFPS.Size = new Size(254, 72);
|
||||
buttonFPS.TabIndex = 11;
|
||||
buttonFPS.Text = "FPS Limit OFF";
|
||||
buttonFPS.TextImageRelation = TextImageRelation.ImageBeforeText;
|
||||
buttonFPS.UseVisualStyleBackColor = false;
|
||||
//
|
||||
// tableGPU
|
||||
//
|
||||
tableGPU.AutoSize = true;
|
||||
@@ -885,7 +942,7 @@ namespace GHelper
|
||||
panelScreen.Controls.Add(tableScreen);
|
||||
panelScreen.Controls.Add(panelScreenTitle);
|
||||
panelScreen.Dock = DockStyle.Top;
|
||||
panelScreen.Location = new Point(11, 571);
|
||||
panelScreen.Location = new Point(11, 651);
|
||||
panelScreen.Margin = new Padding(0);
|
||||
panelScreen.Name = "panelScreen";
|
||||
panelScreen.Padding = new Padding(20, 20, 20, 0);
|
||||
@@ -1056,7 +1113,7 @@ namespace GHelper
|
||||
panelKeyboard.Controls.Add(tableLayoutKeyboard);
|
||||
panelKeyboard.Controls.Add(panelKeyboardTitle);
|
||||
panelKeyboard.Dock = DockStyle.Top;
|
||||
panelKeyboard.Location = new Point(11, 923);
|
||||
panelKeyboard.Location = new Point(11, 1143);
|
||||
panelKeyboard.Margin = new Padding(0);
|
||||
panelKeyboard.Name = "panelKeyboard";
|
||||
panelKeyboard.Padding = new Padding(20);
|
||||
@@ -1232,7 +1289,7 @@ namespace GHelper
|
||||
panelVersion.Controls.Add(labelCharge);
|
||||
panelVersion.Controls.Add(checkStartup);
|
||||
panelVersion.Dock = DockStyle.Top;
|
||||
panelVersion.Location = new Point(11, 1384);
|
||||
panelVersion.Location = new Point(11, 1604);
|
||||
panelVersion.Margin = new Padding(4);
|
||||
panelVersion.Name = "panelVersion";
|
||||
panelVersion.Size = new Size(827, 56);
|
||||
@@ -1257,7 +1314,7 @@ namespace GHelper
|
||||
panelPeripherals.Controls.Add(tableLayoutPeripherals);
|
||||
panelPeripherals.Controls.Add(panelPeripheralsTile);
|
||||
panelPeripherals.Dock = DockStyle.Top;
|
||||
panelPeripherals.Location = new Point(11, 1067);
|
||||
panelPeripherals.Location = new Point(11, 1287);
|
||||
panelPeripherals.Margin = new Padding(0);
|
||||
panelPeripherals.Name = "panelPeripherals";
|
||||
panelPeripherals.Padding = new Padding(20, 20, 20, 10);
|
||||
@@ -1391,18 +1448,154 @@ namespace GHelper
|
||||
labelPeripherals.TabIndex = 40;
|
||||
labelPeripherals.Text = "Peripherals";
|
||||
//
|
||||
// panelAlly
|
||||
//
|
||||
panelAlly.AccessibleRole = AccessibleRole.Grouping;
|
||||
panelAlly.AutoSize = true;
|
||||
panelAlly.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||
panelAlly.Controls.Add(tableLayoutAlly);
|
||||
panelAlly.Controls.Add(panelAllyTitle);
|
||||
panelAlly.Dock = DockStyle.Top;
|
||||
panelAlly.Location = new Point(11, 1003);
|
||||
panelAlly.Margin = new Padding(0);
|
||||
panelAlly.Name = "panelAlly";
|
||||
panelAlly.Padding = new Padding(20, 20, 20, 0);
|
||||
panelAlly.Size = new Size(827, 140);
|
||||
panelAlly.TabIndex = 8;
|
||||
panelAlly.TabStop = true;
|
||||
panelAlly.Visible = false;
|
||||
//
|
||||
// tableLayoutAlly
|
||||
//
|
||||
tableLayoutAlly.AutoSize = true;
|
||||
tableLayoutAlly.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||
tableLayoutAlly.ColumnCount = 3;
|
||||
tableLayoutAlly.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33F));
|
||||
tableLayoutAlly.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33F));
|
||||
tableLayoutAlly.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33F));
|
||||
tableLayoutAlly.Controls.Add(buttonController, 0, 0);
|
||||
tableLayoutAlly.Controls.Add(buttonBacklight, 0, 0);
|
||||
tableLayoutAlly.Controls.Add(buttonControllerMode, 0, 0);
|
||||
tableLayoutAlly.Dock = DockStyle.Top;
|
||||
tableLayoutAlly.Location = new Point(20, 60);
|
||||
tableLayoutAlly.Margin = new Padding(8, 4, 8, 4);
|
||||
tableLayoutAlly.Name = "tableLayoutAlly";
|
||||
tableLayoutAlly.RowCount = 1;
|
||||
tableLayoutAlly.RowStyles.Add(new RowStyle(SizeType.Absolute, 80F));
|
||||
tableLayoutAlly.Size = new Size(787, 80);
|
||||
tableLayoutAlly.TabIndex = 23;
|
||||
//
|
||||
// buttonBacklight
|
||||
//
|
||||
buttonBacklight.Activated = false;
|
||||
buttonBacklight.BackColor = SystemColors.ControlLightLight;
|
||||
buttonBacklight.BorderColor = Color.Transparent;
|
||||
buttonBacklight.BorderRadius = 5;
|
||||
buttonBacklight.Dock = DockStyle.Fill;
|
||||
buttonBacklight.FlatAppearance.BorderSize = 0;
|
||||
buttonBacklight.FlatStyle = FlatStyle.Flat;
|
||||
buttonBacklight.ForeColor = SystemColors.ControlText;
|
||||
buttonBacklight.Image = Properties.Resources.backlight;
|
||||
buttonBacklight.ImageAlign = ContentAlignment.MiddleRight;
|
||||
buttonBacklight.Location = new Point(266, 4);
|
||||
buttonBacklight.Margin = new Padding(4);
|
||||
buttonBacklight.Name = "buttonBacklight";
|
||||
buttonBacklight.Secondary = false;
|
||||
buttonBacklight.Size = new Size(254, 72);
|
||||
buttonBacklight.TabIndex = 10;
|
||||
buttonBacklight.Text = "100%";
|
||||
buttonBacklight.TextImageRelation = TextImageRelation.ImageBeforeText;
|
||||
buttonBacklight.UseVisualStyleBackColor = false;
|
||||
//
|
||||
// buttonControllerMode
|
||||
//
|
||||
buttonControllerMode.Activated = false;
|
||||
buttonControllerMode.BackColor = SystemColors.ControlLightLight;
|
||||
buttonControllerMode.BorderColor = Color.Transparent;
|
||||
buttonControllerMode.BorderRadius = 5;
|
||||
buttonControllerMode.Dock = DockStyle.Fill;
|
||||
buttonControllerMode.FlatAppearance.BorderSize = 0;
|
||||
buttonControllerMode.FlatStyle = FlatStyle.Flat;
|
||||
buttonControllerMode.ForeColor = SystemColors.ControlText;
|
||||
buttonControllerMode.Image = Properties.Resources.icons8_game_controller_48;
|
||||
buttonControllerMode.ImageAlign = ContentAlignment.MiddleRight;
|
||||
buttonControllerMode.Location = new Point(4, 4);
|
||||
buttonControllerMode.Margin = new Padding(4);
|
||||
buttonControllerMode.Name = "buttonControllerMode";
|
||||
buttonControllerMode.Secondary = false;
|
||||
buttonControllerMode.Size = new Size(254, 72);
|
||||
buttonControllerMode.TabIndex = 9;
|
||||
buttonControllerMode.Text = Properties.Strings.AutoMode;
|
||||
buttonControllerMode.TextImageRelation = TextImageRelation.ImageBeforeText;
|
||||
buttonControllerMode.UseVisualStyleBackColor = false;
|
||||
//
|
||||
// panelAllyTitle
|
||||
//
|
||||
panelAllyTitle.Controls.Add(pictureAlly);
|
||||
panelAllyTitle.Controls.Add(labelAlly);
|
||||
panelAllyTitle.Dock = DockStyle.Top;
|
||||
panelAllyTitle.Location = new Point(20, 20);
|
||||
panelAllyTitle.Margin = new Padding(4);
|
||||
panelAllyTitle.Name = "panelAllyTitle";
|
||||
panelAllyTitle.Size = new Size(787, 40);
|
||||
panelAllyTitle.TabIndex = 25;
|
||||
//
|
||||
// pictureAlly
|
||||
//
|
||||
pictureAlly.BackgroundImage = Properties.Resources.icons8_controller_32;
|
||||
pictureAlly.BackgroundImageLayout = ImageLayout.Zoom;
|
||||
pictureAlly.Location = new Point(5, 0);
|
||||
pictureAlly.Margin = new Padding(4);
|
||||
pictureAlly.Name = "pictureAlly";
|
||||
pictureAlly.Size = new Size(32, 32);
|
||||
pictureAlly.TabIndex = 27;
|
||||
pictureAlly.TabStop = false;
|
||||
//
|
||||
// labelAlly
|
||||
//
|
||||
labelAlly.AutoSize = true;
|
||||
labelAlly.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||
labelAlly.Location = new Point(42, -2);
|
||||
labelAlly.Margin = new Padding(8, 0, 8, 0);
|
||||
labelAlly.Name = "labelAlly";
|
||||
labelAlly.Size = new Size(181, 32);
|
||||
labelAlly.TabIndex = 26;
|
||||
labelAlly.Text = "Ally Controller";
|
||||
//
|
||||
// buttonController
|
||||
//
|
||||
buttonController.Activated = false;
|
||||
buttonController.BackColor = SystemColors.ControlLight;
|
||||
buttonController.BorderColor = Color.Transparent;
|
||||
buttonController.BorderRadius = 5;
|
||||
buttonController.Dock = DockStyle.Fill;
|
||||
buttonController.FlatAppearance.BorderSize = 0;
|
||||
buttonController.FlatStyle = FlatStyle.Flat;
|
||||
buttonController.ForeColor = SystemColors.ControlText;
|
||||
buttonController.ImageAlign = ContentAlignment.MiddleRight;
|
||||
buttonController.Location = new Point(528, 4);
|
||||
buttonController.Margin = new Padding(4);
|
||||
buttonController.Name = "buttonController";
|
||||
buttonController.Secondary = true;
|
||||
buttonController.Size = new Size(255, 72);
|
||||
buttonController.TabIndex = 11;
|
||||
buttonController.Text = "Controller";
|
||||
buttonController.TextImageRelation = TextImageRelation.ImageBeforeText;
|
||||
buttonController.UseVisualStyleBackColor = false;
|
||||
//
|
||||
// SettingsForm
|
||||
//
|
||||
AutoScaleDimensions = new SizeF(192F, 192F);
|
||||
AutoScaleMode = AutoScaleMode.Dpi;
|
||||
AutoSize = true;
|
||||
AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||
ClientSize = new Size(849, 1552);
|
||||
ClientSize = new Size(849, 1717);
|
||||
Controls.Add(panelFooter);
|
||||
Controls.Add(panelVersion);
|
||||
Controls.Add(panelBattery);
|
||||
Controls.Add(panelPeripherals);
|
||||
Controls.Add(panelKeyboard);
|
||||
Controls.Add(panelAlly);
|
||||
Controls.Add(panelMatrix);
|
||||
Controls.Add(panelScreen);
|
||||
Controls.Add(panelGPU);
|
||||
@@ -1414,6 +1607,7 @@ namespace GHelper
|
||||
MinimumSize = new Size(822, 71);
|
||||
Name = "SettingsForm";
|
||||
Padding = new Padding(11);
|
||||
ShowIcon = false;
|
||||
StartPosition = FormStartPosition.CenterScreen;
|
||||
Text = "G-Helper";
|
||||
panelMatrix.ResumeLayout(false);
|
||||
@@ -1436,6 +1630,7 @@ namespace GHelper
|
||||
((System.ComponentModel.ISupportInitialize)picturePerf).EndInit();
|
||||
panelGPU.ResumeLayout(false);
|
||||
panelGPU.PerformLayout();
|
||||
tableAMD.ResumeLayout(false);
|
||||
tableGPU.ResumeLayout(false);
|
||||
panelGPUTitle.ResumeLayout(false);
|
||||
panelGPUTitle.PerformLayout();
|
||||
@@ -1464,6 +1659,12 @@ namespace GHelper
|
||||
panelPeripheralsTile.ResumeLayout(false);
|
||||
panelPeripheralsTile.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)picturePeripherals).EndInit();
|
||||
panelAlly.ResumeLayout(false);
|
||||
panelAlly.PerformLayout();
|
||||
tableLayoutAlly.ResumeLayout(false);
|
||||
panelAllyTitle.ResumeLayout(false);
|
||||
panelAllyTitle.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)pictureAlly).EndInit();
|
||||
ResumeLayout(false);
|
||||
PerformLayout();
|
||||
}
|
||||
@@ -1547,5 +1748,15 @@ namespace GHelper
|
||||
private Label labelCharge;
|
||||
private RButton buttonFnLock;
|
||||
private RButton buttonBatteryFull;
|
||||
private Panel panelAlly;
|
||||
private TableLayoutPanel tableLayoutAlly;
|
||||
private RButton buttonControllerMode;
|
||||
private Panel panelAllyTitle;
|
||||
private Label labelAlly;
|
||||
private PictureBox pictureAlly;
|
||||
private RButton buttonBacklight;
|
||||
private TableLayoutPanel tableAMD;
|
||||
private RButton buttonFPS;
|
||||
private RButton buttonController;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using GHelper.AnimeMatrix;
|
||||
using GHelper.Ally;
|
||||
using GHelper.AnimeMatrix;
|
||||
using GHelper.AutoUpdate;
|
||||
using GHelper.Battery;
|
||||
using GHelper.Display;
|
||||
@@ -11,6 +12,7 @@ using GHelper.Peripherals;
|
||||
using GHelper.Peripherals.Mouse;
|
||||
using GHelper.UI;
|
||||
using GHelper.USB;
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.Timers;
|
||||
|
||||
@@ -23,6 +25,7 @@ namespace GHelper
|
||||
|
||||
public GPUModeControl gpuControl;
|
||||
ScreenControl screenControl = new ScreenControl();
|
||||
AllyControl allyControl;
|
||||
AutoUpdateControl updateControl;
|
||||
|
||||
AsusMouseSettings? mouseSettings;
|
||||
@@ -35,6 +38,7 @@ namespace GHelper
|
||||
public Fans? fansForm;
|
||||
public Extra? extraForm;
|
||||
public Updates? updatesForm;
|
||||
public Handheld? handheldForm;
|
||||
|
||||
static long lastRefresh;
|
||||
static long lastBatteryRefresh;
|
||||
@@ -54,6 +58,7 @@ namespace GHelper
|
||||
gpuControl = new GPUModeControl(this);
|
||||
updateControl = new AutoUpdateControl(this);
|
||||
matrixControl = new AniMatrixControl(this);
|
||||
allyControl = new AllyControl(this);
|
||||
|
||||
buttonSilent.Text = Properties.Strings.Silent;
|
||||
buttonBalanced.Text = Properties.Strings.Balanced;
|
||||
@@ -156,6 +161,7 @@ namespace GHelper
|
||||
|
||||
buttonFans.Click += ButtonFans_Click;
|
||||
buttonKeyboard.Click += ButtonKeyboard_Click;
|
||||
buttonController.Click += ButtonHandheld_Click;
|
||||
|
||||
pictureColor.Click += PictureColor_Click;
|
||||
pictureColor2.Click += PictureColor2_Click;
|
||||
@@ -227,6 +233,10 @@ namespace GHelper
|
||||
buttonBatteryFull.MouseLeave += ButtonBatteryFull_MouseLeave;
|
||||
buttonBatteryFull.Click += ButtonBatteryFull_Click;
|
||||
|
||||
buttonControllerMode.Click += ButtonControllerMode_Click;
|
||||
buttonBacklight.Click += ButtonBacklight_Click;
|
||||
buttonFPS.Click += ButtonFPS_Click;
|
||||
|
||||
Text = "G-Helper " + (ProcessHelper.IsUserAdministrator() ? "—" : "-") + " " + AppConfig.GetModelShort();
|
||||
TopMost = AppConfig.Is("topmost");
|
||||
|
||||
@@ -240,6 +250,77 @@ namespace GHelper
|
||||
panelPerformance.Focus();
|
||||
}
|
||||
|
||||
private void ButtonHandheld_Click(object? sender, EventArgs e)
|
||||
{
|
||||
if (handheldForm == null || handheldForm.Text == "")
|
||||
{
|
||||
handheldForm = new Handheld();
|
||||
AddOwnedForm(handheldForm);
|
||||
}
|
||||
|
||||
if (handheldForm.Visible)
|
||||
{
|
||||
handheldForm.Close();
|
||||
}
|
||||
else
|
||||
{
|
||||
//handheldForm.FormPosition();
|
||||
handheldForm.Show();
|
||||
}
|
||||
}
|
||||
|
||||
private void ButtonFPS_Click(object? sender, EventArgs e)
|
||||
{
|
||||
allyControl.ToggleFPSLimit();
|
||||
}
|
||||
|
||||
private void ButtonBacklight_Click(object? sender, EventArgs e)
|
||||
{
|
||||
allyControl.ToggleBacklight();
|
||||
}
|
||||
|
||||
private void ButtonControllerMode_Click(object? sender, EventArgs e)
|
||||
{
|
||||
allyControl.ToggleMode();
|
||||
}
|
||||
|
||||
public void VisualiseAlly(bool visible = false)
|
||||
{
|
||||
if (!visible) return;
|
||||
|
||||
panelAlly.Visible = true;
|
||||
panelKeyboardTitle.Visible = false;
|
||||
panelKeyboard.Padding = new Padding(20, 0, 20, 20);
|
||||
|
||||
tableAMD.Visible = true;
|
||||
}
|
||||
|
||||
public void VisualiseController(ControllerMode mode)
|
||||
{
|
||||
switch (mode)
|
||||
{
|
||||
case ControllerMode.Gamepad:
|
||||
buttonControllerMode.Text = "Gamepad";
|
||||
break;
|
||||
case ControllerMode.Mouse:
|
||||
buttonControllerMode.Text = "Mouse";
|
||||
break;
|
||||
default:
|
||||
buttonControllerMode.Text = "Auto";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public void VisualiseBacklight(int backlight)
|
||||
{
|
||||
buttonBacklight.Text = Math.Round((double)backlight*33.33).ToString() + "%";
|
||||
}
|
||||
|
||||
public void VisualiseFPSLimit(int limit)
|
||||
{
|
||||
buttonFPS.Text = "FPS Limit " + ((limit > 0 && limit < 120) ? limit : "OFF");
|
||||
}
|
||||
|
||||
private void SettingsForm_LostFocus(object? sender, EventArgs e)
|
||||
{
|
||||
lastLostFocus = DateTimeOffset.Now.ToUnixTimeMilliseconds();
|
||||
@@ -1214,6 +1295,12 @@ namespace GHelper
|
||||
|
||||
public void VisualiseGPUMode(int GPUMode = -1)
|
||||
{
|
||||
if (AppConfig.IsAlly() && !Program.acpi.IsXGConnected())
|
||||
{
|
||||
tableGPU.Visible = false;
|
||||
GPUMode = AsusACPI.GPUModeEco;
|
||||
}
|
||||
|
||||
ButtonEnabled(buttonOptimized, true);
|
||||
ButtonEnabled(buttonEco, true);
|
||||
ButtonEnabled(buttonStandard, true);
|
||||
@@ -1237,13 +1324,11 @@ namespace GHelper
|
||||
buttonOptimized.Activated = GPUAuto;
|
||||
labelGPU.Text = Properties.Strings.GPUMode + ": " + Properties.Strings.GPUModeEco;
|
||||
Program.trayIcon.Icon = Properties.Resources.eco;
|
||||
IconHelper.SetIcon(this, Properties.Resources.dot_eco);
|
||||
break;
|
||||
case AsusACPI.GPUModeUltimate:
|
||||
buttonUltimate.Activated = true;
|
||||
labelGPU.Text = Properties.Strings.GPUMode + ": " + Properties.Strings.GPUModeUltimate;
|
||||
Program.trayIcon.Icon = Properties.Resources.ultimate;
|
||||
IconHelper.SetIcon(this, Properties.Resources.dot_ultimate);
|
||||
break;
|
||||
default:
|
||||
buttonOptimized.BorderColor = colorStandard;
|
||||
@@ -1251,7 +1336,6 @@ namespace GHelper
|
||||
buttonOptimized.Activated = GPUAuto;
|
||||
labelGPU.Text = Properties.Strings.GPUMode + ": " + Properties.Strings.GPUModeStandard;
|
||||
Program.trayIcon.Icon = Properties.Resources.standard;
|
||||
IconHelper.SetIcon(this, Properties.Resources.dot_standard);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -57,7 +57,7 @@ public static class AsusHid
|
||||
return null;
|
||||
}
|
||||
|
||||
public static void WriteInput(byte[] data, string log = "USB")
|
||||
public static void WriteInput(byte[] data, string? log = "USB")
|
||||
{
|
||||
foreach (var device in FindDevices(INPUT_ID))
|
||||
{
|
||||
@@ -68,7 +68,7 @@ public static class AsusHid
|
||||
var payload = new byte[device.GetMaxFeatureReportLength()];
|
||||
Array.Copy(data, payload, data.Length);
|
||||
stream.SetFeature(payload);
|
||||
Logger.WriteLine($"{log} Feature {device.ProductID.ToString("X")}|{device.GetMaxFeatureReportLength()}: {BitConverter.ToString(data)}");
|
||||
if (log is not null) Logger.WriteLine($"{log} {device.ProductID.ToString("X")}|{device.GetMaxFeatureReportLength()}: {BitConverter.ToString(data)}");
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
||||
@@ -76,8 +76,8 @@ namespace GHelper.USB
|
||||
public static Color Color1 = Color.White;
|
||||
public static Color Color2 = Color.Black;
|
||||
|
||||
static bool isACPI = AppConfig.IsTUF() || AppConfig.IsVivobook();
|
||||
static bool isStrix = AppConfig.IsStrix();
|
||||
static bool isACPI = AppConfig.IsTUF() || AppConfig.IsVivobook() || AppConfig.IsProArt();
|
||||
static bool isStrix = AppConfig.IsStrix() && !AppConfig.IsNoDirectRGB();
|
||||
|
||||
static bool isStrix4Zone = AppConfig.IsStrixLimitedRGB();
|
||||
static bool isStrixNumpad = AppConfig.IsStrixNumpad();
|
||||
@@ -105,6 +105,14 @@ namespace GHelper.USB
|
||||
{ AuraMode.AMBIENT, "Ambient"},
|
||||
};
|
||||
|
||||
private static Dictionary<AuraMode, string> _modesAlly = new Dictionary<AuraMode, string>
|
||||
{
|
||||
{ AuraMode.AuraStatic, Properties.Strings.AuraStatic },
|
||||
{ AuraMode.AuraBreathe, Properties.Strings.AuraBreathe },
|
||||
{ AuraMode.AuraColorCycle, Properties.Strings.AuraColorCycle },
|
||||
{ AuraMode.AuraStrobe, Properties.Strings.AuraStrobe },
|
||||
};
|
||||
|
||||
private static Dictionary<AuraMode, string> _modesStrix = new Dictionary<AuraMode, string>
|
||||
{
|
||||
{ AuraMode.AuraStatic, Properties.Strings.AuraStatic },
|
||||
@@ -161,6 +169,11 @@ namespace GHelper.USB
|
||||
return _modesSingleColor;
|
||||
}
|
||||
|
||||
if (AppConfig.IsAlly())
|
||||
{
|
||||
return _modesAlly;
|
||||
}
|
||||
|
||||
if (AppConfig.IsAdvantageEdition())
|
||||
{
|
||||
return _modes;
|
||||
@@ -264,6 +277,9 @@ namespace GHelper.USB
|
||||
if (isACPI) Program.acpi.TUFKeyboardBrightness(brightness);
|
||||
|
||||
AsusHid.Write(new byte[] { AsusHid.AURA_ID, 0xba, 0xc5, 0xc4, (byte)brightness }, log);
|
||||
|
||||
if (AppConfig.IsAlly()) ApplyAura();
|
||||
|
||||
if (AppConfig.ContainsModel("GA503"))
|
||||
AsusHid.WriteInput(new byte[] { AsusHid.INPUT_ID, 0xba, 0xc5, 0xc4, (byte)brightness }, log);
|
||||
});
|
||||
@@ -527,18 +543,18 @@ namespace GHelper.USB
|
||||
return;
|
||||
}
|
||||
|
||||
if (isStrix)
|
||||
{
|
||||
ApplyDirect(Enumerable.Repeat(color, AURA_ZONES).ToArray(), init);
|
||||
return;
|
||||
}
|
||||
|
||||
if (AppConfig.IsNoDirectRGB())
|
||||
{
|
||||
AsusHid.Write(new List<byte[]> { AuraMessage(AuraMode.AuraStatic, color, color, 0xeb, isSingleColor), MESSAGE_SET });
|
||||
return;
|
||||
}
|
||||
|
||||
if (isStrix)
|
||||
{
|
||||
ApplyDirect(Enumerable.Repeat(color, AURA_ZONES).ToArray(), init);
|
||||
return;
|
||||
}
|
||||
|
||||
if (init)
|
||||
{
|
||||
//Init();
|
||||
@@ -558,7 +574,7 @@ namespace GHelper.USB
|
||||
|
||||
}
|
||||
|
||||
public static void ApplyAura()
|
||||
public static void ApplyAura(double colorDim = 1)
|
||||
{
|
||||
|
||||
Mode = (AuraMode)AppConfig.Get("aura_mode");
|
||||
@@ -566,6 +582,25 @@ namespace GHelper.USB
|
||||
SetColor(AppConfig.Get("aura_color"));
|
||||
SetColor2(AppConfig.Get("aura_color2"));
|
||||
|
||||
Color _Color1 = Color1;
|
||||
Color _Color2 = Color2;
|
||||
|
||||
// Ally lower brightness fix
|
||||
if (AppConfig.IsAlly())
|
||||
{
|
||||
switch (InputDispatcher.GetBacklight())
|
||||
{
|
||||
case 1: colorDim = 0.1; break;
|
||||
case 2: colorDim = 0.3; break;
|
||||
}
|
||||
|
||||
if (colorDim < 1)
|
||||
{
|
||||
_Color1 = Color.FromArgb((int)(Color1.R * colorDim), (int)(Color1.G * colorDim), (int)(Color1.B * colorDim));
|
||||
_Color2 = Color.FromArgb((int)(Color2.R * colorDim), (int)(Color2.G * colorDim), (int)(Color2.B * colorDim));
|
||||
}
|
||||
}
|
||||
|
||||
timer.Enabled = false;
|
||||
|
||||
Logger.WriteLine($"AuraMode: {Mode}");
|
||||
@@ -594,7 +629,7 @@ namespace GHelper.USB
|
||||
|
||||
int _speed = (Speed == AuraSpeed.Normal) ? 0xeb : (Speed == AuraSpeed.Fast) ? 0xf5 : 0xe1;
|
||||
|
||||
AsusHid.Write(new List<byte[]> { AuraMessage(Mode, Color1, Color2, _speed, isSingleColor), MESSAGE_APPLY, MESSAGE_SET });
|
||||
AsusHid.Write(new List<byte[]> { AuraMessage(Mode, _Color1, _Color2, _speed, isSingleColor), MESSAGE_APPLY, MESSAGE_SET });
|
||||
|
||||
if (isACPI)
|
||||
Program.acpi.TUFKeyboardRGB(Mode, Color1, _speed);
|
||||
@@ -624,6 +659,8 @@ namespace GHelper.USB
|
||||
break;
|
||||
}
|
||||
|
||||
if (isACPI) Program.acpi.TUFKeyboardRGB(AuraMode.AuraStatic, color, 0xeb);
|
||||
|
||||
AsusHid.Write(new List<byte[]> { AuraMessage(AuraMode.AuraStatic, color, color, 0xeb, isSingleColor), MESSAGE_APPLY, MESSAGE_SET });
|
||||
|
||||
}
|
||||
|
||||
@@ -78,7 +78,6 @@ namespace GHelper
|
||||
InitializeComponent();
|
||||
InitTheme(true);
|
||||
|
||||
|
||||
LoadUpdates(true);
|
||||
|
||||
//buttonRefresh.Visible = false;
|
||||
|
||||
@@ -84,9 +84,9 @@ Each BIOS mode is paired with matching Windows Power Mode. You can adjust this s
|
||||
|
||||
### 🔖 Important Notice
|
||||
|
||||
G-Helper is **not** an operating system, firmware or a driver. It doesn't "run" your hardware in realtime anyhow.
|
||||
G-Helper is **NOT** an operating system, firmware or a driver. It **DOESN'T** "run" your hardware in realtime anyhow.
|
||||
|
||||
It's an app that lets you select (already predefined and stored in BIOS) operating modes and (optionally) set some settings that already exist on your device (same as Armoury Crate).
|
||||
It's an app that lets you select (already predefined and stored in BIOS) operating modes and (optionally) set some settings that already exist on your device (same as Armoury Crate). If you use same mode / settings as in Armoury Crate - performance of your device won't be different.
|
||||
|
||||
Role of G-Helper for your laptop is similar to a role of a remote control for your TV.
|
||||
|
||||
@@ -117,6 +117,7 @@ Huge thanks to [@IceStormNG](https://github.com/IceStormNG) 👑 for contributio
|
||||
- ``Shift + M1 / M2`` - Backlight brightness Down / Up
|
||||
- ``Fn + C`` - Fn-Lock
|
||||
- ``Fn + Shift + F7 / F8`` - Matrix brightness Down / Up
|
||||
- ``Fn + Shift + F7 / F8`` - Screenpad brightness Down / Up
|
||||
- ``Ctrl + Shift + F20`` - Mute Microphone
|
||||
- ``Ctrl + Shift + Alt + F14`` - Eco Mode
|
||||
- ``Ctrl + Shift + Alt + F15`` - Standard Mode
|
||||
|
||||
Reference in New Issue
Block a user