Native brightness OSD

This commit is contained in:
Serge
2023-05-22 11:18:57 +02:00
parent 2a5c2e02ac
commit 5134aaca9d
9 changed files with 50 additions and 36 deletions

View File

@@ -26,7 +26,7 @@ namespace GHelper.AnimeMatrix
try
{
mat = new AnimeMatrixDevice();
mat.WakeUp();
Task.Run(mat.WakeUp);
matrixTimer = new System.Timers.Timer(100);
matrixTimer.Elapsed += MatrixTimer_Elapsed;
}
@@ -123,6 +123,11 @@ namespace GHelper.AnimeMatrix
}
public void Dispose()
{
StopMatrixAudio();
}
void StopMatrixAudio()
{
if (AudioDevice is not null)

View File

@@ -193,10 +193,11 @@ namespace GHelper
return null;
}
public static void TouchpadToggle()
public static bool TouchpadToggle()
{
HidDevice? input = GetInputDevice();
if (input != null) input.WriteFeatureData(new byte[] { HID_ID,0xf4,0x6b});
if (input != null) return input.WriteFeatureData(new byte[] { HID_ID,0xf4,0x6b});
return false;
}
public static void RunListener(Action<int> KeyHandler)
@@ -249,36 +250,41 @@ namespace GHelper
public static void Init()
{
var devices = GetHidDevices(deviceIds);
foreach (HidDevice device in devices)
Task.Run(() =>
{
device.OpenDevice();
device.WriteFeatureData(LED_INIT1);
device.WriteFeatureData(LED_INIT2);
device.WriteFeatureData(LED_INIT3);
device.WriteFeatureData(LED_INIT4);
device.WriteFeatureData(LED_INIT5);
device.CloseDevice();
}
var devices = GetHidDevices(deviceIds);
foreach (HidDevice device in devices)
{
device.OpenDevice();
device.WriteFeatureData(LED_INIT1);
device.WriteFeatureData(LED_INIT2);
device.WriteFeatureData(LED_INIT3);
device.WriteFeatureData(LED_INIT4);
device.WriteFeatureData(LED_INIT5);
device.CloseDevice();
}
});
}
public static void ApplyBrightness(int brightness)
{
byte[] msg = { 0x5d, 0xba, 0xc5, 0xc4, (byte)brightness };
var devices = GetHidDevices(deviceIds);
foreach (HidDevice device in devices)
Task.Run(() =>
{
device.OpenDevice();
device.WriteFeatureData(msg);
Logger.WriteLine("USB-KB " + device.Capabilities.FeatureReportByteLength + ":" + BitConverter.ToString(msg));
device.CloseDevice();
}
byte[] msg = { 0x5d, 0xba, 0xc5, 0xc4, (byte)brightness };
if (AppConfig.ContainsModel("TUF"))
Program.acpi.TUFKeyboardBrightness(brightness);
var devices = GetHidDevices(deviceIds);
foreach (HidDevice device in devices)
{
device.OpenDevice();
device.WriteFeatureData(msg);
Logger.WriteLine("USB-KB " + device.Capabilities.FeatureReportByteLength + ":" + BitConverter.ToString(msg));
device.CloseDevice();
}
if (AppConfig.ContainsModel("TUF"))
Program.acpi.TUFKeyboardBrightness(brightness);
});
}

View File

@@ -41,7 +41,7 @@ public static class HardwareControl
if (fan > fanMax && fan < 110) SetFanMax(fan);
if (AppConfig.getConfig("fan_rpm") == 1)
return GHelper.Properties.Strings.FanSpeed + (fan * 100).ToString() + GHelper.Properties.Strings.RPM;
return GHelper.Properties.Strings.FanSpeed + (fan * 100).ToString() + "RPM";
else
return GHelper.Properties.Strings.FanSpeed + Math.Min(Math.Round((float)fan / fanMax * 100), 100).ToString() + "%"; // relatively to 6000 rpm
}

View File

@@ -213,16 +213,18 @@ namespace GHelper
Program.settingsForm.BeginInvoke(Program.settingsForm.RunToast, backlightNames[backlight], ToastIcon.BacklightUp);
break;
case 16: // FN+F7
brightness = ScreenBrightness.Adjust(-10);
Program.settingsForm.BeginInvoke(Program.settingsForm.RunToast, brightness + "%", ToastIcon.BrightnessDown);
Program.acpi.DeviceSet(AsusACPI.UniversalControl, 0x10, "Brightness");
//brightness = ScreenBrightness.Adjust(-10);
//Program.settingsForm.BeginInvoke(Program.settingsForm.RunToast, brightness + "%", ToastIcon.BrightnessDown);
break;
case 32: // FN+F8
brightness = ScreenBrightness.Adjust(+10);
Program.settingsForm.BeginInvoke(Program.settingsForm.RunToast, brightness + "%", ToastIcon.BrightnessUp);
Program.acpi.DeviceSet(AsusACPI.UniversalControl, 0x20, "Brightness");
//brightness = ScreenBrightness.Adjust(+10);
//Program.settingsForm.BeginInvoke(Program.settingsForm.RunToast, brightness + "%", ToastIcon.BrightnessUp);
break;
case 107: // FN+F10
bool touchpadState = GetTouchpadState();
AsusUSB.TouchpadToggle();
if (!AsusUSB.TouchpadToggle()) Program.acpi.DeviceSet(AsusACPI.UniversalControl, 0x6B, "Touchpad");
Program.settingsForm.BeginInvoke(Program.settingsForm.RunToast, touchpadState ? "Off" : "On", ToastIcon.Touchpad);
break;
case 108: // FN+F11

View File

@@ -44,7 +44,7 @@ namespace GHelper
Thread.CurrentThread.CurrentUICulture = CultureInfo.CurrentUICulture;
Debug.WriteLine(CultureInfo.CurrentUICulture);
//Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture("es");
//Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture("uk");
CheckProcesses();
@@ -65,7 +65,7 @@ namespace GHelper
}
Logger.WriteLine("------------");
Logger.WriteLine("App launched: " + AppConfig.GetModel() + " :" + Assembly.GetExecutingAssembly().GetName().Version.ToString() + (IsUserAdministrator() ? "A" : ""));
Logger.WriteLine("App launched: " + AppConfig.GetModel() + " :" + Assembly.GetExecutingAssembly().GetName().Version.ToString() + CultureInfo.CurrentUICulture + (IsUserAdministrator() ? "A" : ""));
Application.EnableVisualStyles();

View File

@@ -169,7 +169,7 @@ namespace GHelper.Properties {
}
/// <summary>
/// Looks up a localized string similar to Auto adjust Windows Power Mode.
/// Looks up a localized string similar to Auto adjust Windows Power Modes.
/// </summary>
internal static string ApplyWindowsPowerPlan {
get {

View File

@@ -154,7 +154,7 @@
<value>Apply Power Limits</value>
</data>
<data name="ApplyWindowsPowerPlan" xml:space="preserve">
<value>Auto adjust Windows Power Mode</value>
<value>Auto adjust Windows Power Modes</value>
</data>
<data name="AuraBreathe" xml:space="preserve">
<value>Breathe</value>

View File

@@ -154,7 +154,7 @@
<value>Застосувати потужність</value>
</data>
<data name="ApplyWindowsPowerPlan" xml:space="preserve">
<value>Автоматично застосовувати Windows Power Mode</value>
<value>Автоматично застосовувати Windows Power Modes</value>
</data>
<data name="AuraBreathe" xml:space="preserve">
<value>Дихання</value>

View File

@@ -889,6 +889,7 @@ namespace GHelper
private void ButtonQuit_Click(object? sender, EventArgs e)
{
matrix.Dispose();
Close();
Program.trayIcon.Visible = false;
Application.Exit();