mirror of
https://github.com/jkocon/g-helper.git
synced 2026-02-23 13:00:52 +01:00
Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
011fdeeb36 | ||
|
|
3df0aa04de | ||
|
|
9f364a331c | ||
|
|
08af10afef | ||
|
|
4ea59d2669 | ||
|
|
5eb0c1d095 | ||
|
|
a8c32470b3 | ||
|
|
45709eb7d6 | ||
|
|
ecbd926d81 | ||
|
|
1cca7a5881 |
@@ -413,7 +413,7 @@ public static class AppConfig
|
|||||||
|
|
||||||
public static bool IsDUO()
|
public static bool IsDUO()
|
||||||
{
|
{
|
||||||
return ContainsModel("Duo") || ContainsModel("GX550") || ContainsModel("GX650");
|
return ContainsModel("Duo") || ContainsModel("GX550") || ContainsModel("GX650") || ContainsModel("UX840");
|
||||||
}
|
}
|
||||||
|
|
||||||
// G14 2020 has no aura, but media keys instead
|
// G14 2020 has no aura, but media keys instead
|
||||||
@@ -454,7 +454,7 @@ public static class AppConfig
|
|||||||
|
|
||||||
public static bool IsOLED()
|
public static bool IsOLED()
|
||||||
{
|
{
|
||||||
return ContainsModel("OLED") || IsSlash() || ContainsModel("M7600") || ContainsModel("UX64") || ContainsModel("UX34") || ContainsModel("UX53") || ContainsModel("K360") || ContainsModel("X150") || ContainsModel("M350") || ContainsModel("K650") || ContainsModel("UM53") || ContainsModel("K660") || ContainsModel("UX84") || ContainsModel("M650") || ContainsModel("M550") || ContainsModel("K340") || ContainsModel("K350") || ContainsModel("M140") || ContainsModel("UM340") || ContainsModel("S540") || ContainsModel("M7400") || ContainsModel("N650") || ContainsModel("HN7306") || ContainsModel("H7606") || ContainsModel("UX5406") || ContainsModel("UM5606");
|
return ContainsModel("OLED") || IsSlash() || ContainsModel("M7600") || ContainsModel("UX64") || ContainsModel("UX34") || ContainsModel("UX53") || ContainsModel("K360") || ContainsModel("X150") || ContainsModel("M350") || ContainsModel("K650") || ContainsModel("UM53") || ContainsModel("K660") || ContainsModel("UX84") || ContainsModel("M650") || ContainsModel("M550") || ContainsModel("K340") || ContainsModel("K350") || ContainsModel("M140") || ContainsModel("UM340") || ContainsModel("S540") || ContainsModel("M7400") || ContainsModel("N650") || ContainsModel("HN7306") || ContainsModel("H7606") || ContainsModel("UX5406") || ContainsModel("M5606");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsNoOverdrive()
|
public static bool IsNoOverdrive()
|
||||||
|
|||||||
@@ -6,7 +6,14 @@ namespace GHelper.Display
|
|||||||
{
|
{
|
||||||
|
|
||||||
public const int MAX_REFRESH = 1000;
|
public const int MAX_REFRESH = 1000;
|
||||||
|
public static int MIN_RATE = AppConfig.Get("min_rate", 60);
|
||||||
|
public static int MAX_RATE = AppConfig.Get("max_rate");
|
||||||
|
|
||||||
|
public static int GetMaxRate(string? laptopScreen)
|
||||||
|
{
|
||||||
|
if (MAX_RATE > 0) return MAX_RATE;
|
||||||
|
else return ScreenNative.GetMaxRefreshRate(laptopScreen);
|
||||||
|
}
|
||||||
|
|
||||||
public void AutoScreen(bool force = false)
|
public void AutoScreen(bool force = false)
|
||||||
{
|
{
|
||||||
@@ -15,7 +22,7 @@ namespace GHelper.Display
|
|||||||
if (SystemInformation.PowerStatus.PowerLineStatus == PowerLineStatus.Online)
|
if (SystemInformation.PowerStatus.PowerLineStatus == PowerLineStatus.Online)
|
||||||
SetScreen(MAX_REFRESH, 1);
|
SetScreen(MAX_REFRESH, 1);
|
||||||
else
|
else
|
||||||
SetScreen(60, 0);
|
SetScreen(MIN_RATE, 0);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -29,7 +36,7 @@ namespace GHelper.Display
|
|||||||
var refreshRate = ScreenNative.GetRefreshRate(laptopScreen);
|
var refreshRate = ScreenNative.GetRefreshRate(laptopScreen);
|
||||||
if (refreshRate < 0) return;
|
if (refreshRate < 0) return;
|
||||||
|
|
||||||
ScreenNative.SetRefreshRate(laptopScreen, refreshRate > 60 ? 60 : ScreenNative.GetMaxRefreshRate(laptopScreen));
|
ScreenNative.SetRefreshRate(laptopScreen, refreshRate > MIN_RATE ? MIN_RATE : GetMaxRate(laptopScreen));
|
||||||
InitScreen();
|
InitScreen();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -43,7 +50,7 @@ namespace GHelper.Display
|
|||||||
|
|
||||||
if (frequency >= MAX_REFRESH)
|
if (frequency >= MAX_REFRESH)
|
||||||
{
|
{
|
||||||
frequency = ScreenNative.GetMaxRefreshRate(laptopScreen);
|
frequency = GetMaxRate(laptopScreen);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (frequency > 0 && frequency != refreshRate)
|
if (frequency > 0 && frequency != refreshRate)
|
||||||
@@ -151,7 +158,7 @@ namespace GHelper.Display
|
|||||||
{
|
{
|
||||||
var laptopScreen = ScreenNative.FindLaptopScreen();
|
var laptopScreen = ScreenNative.FindLaptopScreen();
|
||||||
int frequency = ScreenNative.GetRefreshRate(laptopScreen);
|
int frequency = ScreenNative.GetRefreshRate(laptopScreen);
|
||||||
int maxFrequency = ScreenNative.GetMaxRefreshRate(laptopScreen);
|
int maxFrequency = GetMaxRate(laptopScreen);
|
||||||
|
|
||||||
if (maxFrequency > 0) AppConfig.Set("max_frequency", maxFrequency);
|
if (maxFrequency > 0) AppConfig.Set("max_frequency", maxFrequency);
|
||||||
else maxFrequency = AppConfig.Get("max_frequency");
|
else maxFrequency = AppConfig.Get("max_frequency");
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
||||||
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
||||||
<AssemblyVersion>0.196</AssemblyVersion>
|
<AssemblyVersion>0.197</AssemblyVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||||
|
|||||||
@@ -106,7 +106,7 @@ public class Startup
|
|||||||
{
|
{
|
||||||
|
|
||||||
td.RegistrationInfo.Description = "G-Helper Auto Start";
|
td.RegistrationInfo.Description = "G-Helper Auto Start";
|
||||||
td.Triggers.Add(new LogonTrigger { UserId = WindowsIdentity.GetCurrent().Name, Delay = TimeSpan.FromSeconds(1) });
|
td.Triggers.Add(new LogonTrigger { UserId = WindowsIdentity.GetCurrent().Name, Delay = TimeSpan.FromSeconds(2) });
|
||||||
td.Actions.Add(strExeFilePath);
|
td.Actions.Add(strExeFilePath);
|
||||||
|
|
||||||
if (ProcessHelper.IsUserAdministrator())
|
if (ProcessHelper.IsUserAdministrator())
|
||||||
|
|||||||
@@ -118,6 +118,13 @@ namespace GHelper.Input
|
|||||||
|
|
||||||
if (!AppConfig.Is("skip_hotkeys"))
|
if (!AppConfig.Is("skip_hotkeys"))
|
||||||
{
|
{
|
||||||
|
|
||||||
|
if (AppConfig.IsDUO())
|
||||||
|
{
|
||||||
|
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F7);
|
||||||
|
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F8);
|
||||||
|
}
|
||||||
|
|
||||||
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F13);
|
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F13);
|
||||||
|
|
||||||
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F14);
|
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F14);
|
||||||
@@ -129,8 +136,6 @@ namespace GHelper.Input
|
|||||||
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F19);
|
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F19);
|
||||||
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F20);
|
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F20);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
hook.RegisterHotKey(ModifierKeys.Control, Keys.VolumeDown);
|
hook.RegisterHotKey(ModifierKeys.Control, Keys.VolumeDown);
|
||||||
hook.RegisterHotKey(ModifierKeys.Control, Keys.VolumeUp);
|
hook.RegisterHotKey(ModifierKeys.Control, Keys.VolumeUp);
|
||||||
hook.RegisterHotKey(ModifierKeys.Shift, Keys.VolumeDown);
|
hook.RegisterHotKey(ModifierKeys.Shift, Keys.VolumeDown);
|
||||||
@@ -435,6 +440,12 @@ namespace GHelper.Input
|
|||||||
case Keys.F4:
|
case Keys.F4:
|
||||||
Program.settingsForm.BeginInvoke(Program.settingsForm.allyControl.ToggleModeHotkey);
|
Program.settingsForm.BeginInvoke(Program.settingsForm.allyControl.ToggleModeHotkey);
|
||||||
break;
|
break;
|
||||||
|
case Keys.F7:
|
||||||
|
SetScreenpad(-10);
|
||||||
|
break;
|
||||||
|
case Keys.F8:
|
||||||
|
SetScreenpad(10);
|
||||||
|
break;
|
||||||
case Keys.F13:
|
case Keys.F13:
|
||||||
ToggleScreenRate();
|
ToggleScreenRate();
|
||||||
break;
|
break;
|
||||||
@@ -735,6 +746,7 @@ namespace GHelper.Input
|
|||||||
KeyProcess("fne");
|
KeyProcess("fne");
|
||||||
return;
|
return;
|
||||||
case 174: // FN+F5
|
case 174: // FN+F5
|
||||||
|
case 157: // Zenbook DUO FN+F
|
||||||
modeControl.CyclePerformanceMode(Control.ModifierKeys == Keys.Shift);
|
modeControl.CyclePerformanceMode(Control.ModifierKeys == Keys.Shift);
|
||||||
return;
|
return;
|
||||||
case 179: // FN+F4
|
case 179: // FN+F4
|
||||||
|
|||||||
@@ -10,6 +10,8 @@ namespace GHelper.Input
|
|||||||
CancellationTokenSource cancellationTokenSource = new CancellationTokenSource();
|
CancellationTokenSource cancellationTokenSource = new CancellationTokenSource();
|
||||||
Action<int> _handler;
|
Action<int> _handler;
|
||||||
|
|
||||||
|
static int retry = 0;
|
||||||
|
|
||||||
public KeyboardListener(Action<int> KeyHandler)
|
public KeyboardListener(Action<int> KeyHandler)
|
||||||
{
|
{
|
||||||
_handler = KeyHandler;
|
_handler = KeyHandler;
|
||||||
@@ -67,6 +69,12 @@ namespace GHelper.Input
|
|||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Logger.WriteLine($"Listener exited: {ex.Message}");
|
Logger.WriteLine($"Listener exited: {ex.Message}");
|
||||||
|
if (retry++ < 2)
|
||||||
|
{
|
||||||
|
Thread.Sleep(300);
|
||||||
|
Logger.WriteLine($"Restarting listener {retry}");
|
||||||
|
Listen();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -850,7 +850,7 @@ namespace GHelper
|
|||||||
|
|
||||||
private void Button60Hz_MouseHover(object? sender, EventArgs e)
|
private void Button60Hz_MouseHover(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
labelTipScreen.Text = Properties.Strings.MinRefreshTooltip;
|
labelTipScreen.Text = Properties.Strings.MinRefreshTooltip.Replace("60", ScreenControl.MIN_RATE.ToString());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ButtonScreen_MouseLeave(object? sender, EventArgs e)
|
private void ButtonScreen_MouseLeave(object? sender, EventArgs e)
|
||||||
@@ -860,7 +860,7 @@ namespace GHelper
|
|||||||
|
|
||||||
private void ButtonScreenAuto_MouseHover(object? sender, EventArgs e)
|
private void ButtonScreenAuto_MouseHover(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
labelTipScreen.Text = Properties.Strings.AutoRefreshTooltip;
|
labelTipScreen.Text = Properties.Strings.AutoRefreshTooltip.Replace("60", ScreenControl.MIN_RATE.ToString());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ButtonUltimate_MouseHover(object? sender, EventArgs e)
|
private void ButtonUltimate_MouseHover(object? sender, EventArgs e)
|
||||||
@@ -1215,7 +1215,7 @@ namespace GHelper
|
|||||||
private void Button60Hz_Click(object? sender, EventArgs e)
|
private void Button60Hz_Click(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
AppConfig.Set("screen_auto", 0);
|
AppConfig.Set("screen_auto", 0);
|
||||||
screenControl.SetScreen(60, 0);
|
screenControl.SetScreen(ScreenControl.MIN_RATE, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -1246,16 +1246,18 @@ namespace GHelper
|
|||||||
{
|
{
|
||||||
buttonScreenAuto.Activated = true;
|
buttonScreenAuto.Activated = true;
|
||||||
}
|
}
|
||||||
else if (frequency == 60)
|
else if (frequency == ScreenControl.MIN_RATE)
|
||||||
{
|
{
|
||||||
button60Hz.Activated = true;
|
button60Hz.Activated = true;
|
||||||
}
|
}
|
||||||
else if (frequency > 60)
|
else if (frequency > ScreenControl.MIN_RATE)
|
||||||
{
|
{
|
||||||
button120Hz.Activated = true;
|
button120Hz.Activated = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (maxFrequency > 60)
|
button60Hz.Text = ScreenControl.MIN_RATE + "Hz";
|
||||||
|
|
||||||
|
if (maxFrequency > ScreenControl.MIN_RATE)
|
||||||
{
|
{
|
||||||
button120Hz.Text = maxFrequency.ToString() + "Hz" + (overdriveSetting ? " + OD" : "");
|
button120Hz.Text = maxFrequency.ToString() + "Hz" + (overdriveSetting ? " + OD" : "");
|
||||||
panelScreen.Visible = true;
|
panelScreen.Visible = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user