Compare commits

..

10 Commits

Author SHA1 Message Date
Serge
ba0bac11b5 Exception wrapping 2024-05-02 12:35:36 +02:00
Serge
8241700fe7 Merge branch 'main' of https://github.com/seerge/g-helper 2024-05-02 11:05:50 +02:00
Serge
2ff1a59ff9 ASUS Rog Keris Wired #2517 2024-05-02 11:05:48 +02:00
Serge
18d6f694a0 New Crowdin updates (#2525)
* New translations strings.resx (Korean)

* New translations strings.resx (Korean)
2024-05-02 00:44:00 +02:00
Serge
9fe283b620 Multizone toggle improvements https://github.com/seerge/g-helper/issues/1957 2024-05-01 21:27:31 +02:00
Serge
b7e4ec50a6 Version bump 2024-05-01 21:09:05 +02:00
Serge
927fc382a5 Miniled toggle tweaks 2024-05-01 21:08:39 +02:00
Serge
ed728de661 UI fix https://github.com/seerge/g-helper/issues/2515 2024-05-01 21:05:08 +02:00
Serge
a1a317d952 Added S540 to the Oled list #2519 2024-04-30 12:31:41 +02:00
Serge
123fbc414f Overdrive UI Tweaks https://github.com/seerge/g-helper/issues/2497 2024-04-28 10:39:21 +02:00
13 changed files with 131 additions and 80 deletions

View File

@@ -411,12 +411,12 @@ public static class AppConfig
public static bool IsOLED() public static bool IsOLED()
{ {
return ContainsModel("OLED") || IsSlash() || ContainsModel("M7600") || ContainsModel("UX64") || ContainsModel("UX34") || ContainsModel("UX53") || ContainsModel("K360") || ContainsModel("X150") || ContainsModel("M350") || ContainsModel("K650") || ContainsModel("UM53") || ContainsModel("K660") || ContainsModel("UX84") || ContainsModel("M650") || ContainsModel("K340") || ContainsModel("K350") || ContainsModel("M140") || ContainsModel("UM340"); return ContainsModel("OLED") || IsSlash() || ContainsModel("M7600") || ContainsModel("UX64") || ContainsModel("UX34") || ContainsModel("UX53") || ContainsModel("K360") || ContainsModel("X150") || ContainsModel("M350") || ContainsModel("K650") || ContainsModel("UM53") || ContainsModel("K660") || ContainsModel("UX84") || ContainsModel("M650") || ContainsModel("K340") || ContainsModel("K350") || ContainsModel("M140") || ContainsModel("UM340") || ContainsModel("S540");
} }
public static bool IsNoOverdrive() public static bool IsNoOverdrive()
{ {
return Is("no_overdrive") || IsOLED(); return Is("no_overdrive");
} }
public static bool IsNoSleepEvent() public static bool IsNoSleepEvent()

View File

@@ -167,6 +167,9 @@ public class AsusACPI
public const int PCoreMax = 16; public const int PCoreMax = 16;
public const int ECoreMax = 16; public const int ECoreMax = 16;
private bool? _allAMD = null;
private bool? _overdrive = null;
[DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Unicode)] [DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Unicode)]
private static extern IntPtr CreateFile( private static extern IntPtr CreateFile(
@@ -636,8 +639,14 @@ public class AsusACPI
public bool IsAllAmdPPT() public bool IsAllAmdPPT()
{ {
//return false; if (_allAMD is null) _allAMD = DeviceGet(PPT_CPUB0) >= 0 && DeviceGet(PPT_GPUC0) < 0;
return DeviceGet(PPT_CPUB0) >= 0 && DeviceGet(PPT_GPUC0) < 0; return (bool)_allAMD;
}
public bool IsOverdriveSupported()
{
if (_overdrive is null) _overdrive = DeviceGet(ScreenOverdrive) >= 0;
return (bool)_overdrive;
} }
public bool IsNVidiaGPU() public bool IsNVidiaGPU()

View File

@@ -51,10 +51,10 @@ namespace GHelper.Display
ScreenNative.SetRefreshRate(laptopScreen, frequency); ScreenNative.SetRefreshRate(laptopScreen, frequency);
} }
if (overdrive >= 0) if (Program.acpi.IsOverdriveSupported() && overdrive >= 0)
{ {
if (AppConfig.IsNoOverdrive()) overdrive = 0; if (AppConfig.IsNoOverdrive()) overdrive = 0;
if (!AppConfig.IsOLED() && overdrive != Program.acpi.DeviceGet(AsusACPI.ScreenOverdrive)) if (overdrive != Program.acpi.DeviceGet(AsusACPI.ScreenOverdrive))
{ {
Program.acpi.DeviceSet(AsusACPI.ScreenOverdrive, overdrive, "ScreenOverdrive"); Program.acpi.DeviceSet(AsusACPI.ScreenOverdrive, overdrive, "ScreenOverdrive");
} }
@@ -65,7 +65,10 @@ namespace GHelper.Display
if (Program.acpi.DeviceGet(AsusACPI.ScreenMiniled1) >= 0) if (Program.acpi.DeviceGet(AsusACPI.ScreenMiniled1) >= 0)
Program.acpi.DeviceSet(AsusACPI.ScreenMiniled1, miniled, "Miniled1"); Program.acpi.DeviceSet(AsusACPI.ScreenMiniled1, miniled, "Miniled1");
else else
{
Program.acpi.DeviceSet(AsusACPI.ScreenMiniled2, miniled, "Miniled2"); Program.acpi.DeviceSet(AsusACPI.ScreenMiniled2, miniled, "Miniled2");
Thread.Sleep(100);
}
} }
InitScreen(); InitScreen();
@@ -84,7 +87,7 @@ namespace GHelper.Display
} }
} }
public int ToogleMiniled() public string ToogleMiniled()
{ {
int miniled1 = Program.acpi.DeviceGet(AsusACPI.ScreenMiniled1); int miniled1 = Program.acpi.DeviceGet(AsusACPI.ScreenMiniled1);
int miniled2 = Program.acpi.DeviceGet(AsusACPI.ScreenMiniled2); int miniled2 = Program.acpi.DeviceGet(AsusACPI.ScreenMiniled2);
@@ -92,24 +95,45 @@ namespace GHelper.Display
Logger.WriteLine($"MiniledToggle: {miniled1} {miniled2}"); Logger.WriteLine($"MiniledToggle: {miniled1} {miniled2}");
int miniled; int miniled;
string name;
if (miniled1 >= 0) if (miniled1 >= 0)
{ {
miniled = (miniled1 == 1) ? 0 : 1; switch (miniled1)
{
case 1:
miniled = 0;
name = Properties.Strings.OneZone;
break;
default:
miniled = 1;
name = Properties.Strings.Multizone;
break;
}
} }
else else
{ {
switch (miniled2) switch (miniled2)
{ {
case 1: miniled = 2; break; case 1:
case 2: miniled = 0; break; miniled = 2;
default: miniled = 1; break; name = Properties.Strings.OneZone;
break;
case 2:
miniled = 0;
name = Properties.Strings.Multizone;
break;
default:
miniled = 1;
name = Properties.Strings.MultizoneStrong;
break;
} }
} }
AppConfig.Set("miniled", miniled); AppConfig.Set("miniled", miniled);
SetScreen(miniled: miniled); SetScreen(miniled: miniled);
return miniled;
return name;
} }
public void InitScreen() public void InitScreen()
@@ -119,7 +143,7 @@ namespace GHelper.Display
int maxFrequency = ScreenNative.GetMaxRefreshRate(laptopScreen); int maxFrequency = ScreenNative.GetMaxRefreshRate(laptopScreen);
bool screenAuto = AppConfig.Is("screen_auto"); bool screenAuto = AppConfig.Is("screen_auto");
bool overdriveSetting = !AppConfig.IsNoOverdrive(); bool overdriveSetting = Program.acpi.IsOverdriveSupported() && !AppConfig.IsNoOverdrive();
int overdrive = AppConfig.IsNoOverdrive() ? 0 : Program.acpi.DeviceGet(AsusACPI.ScreenOverdrive); int overdrive = AppConfig.IsNoOverdrive() ? 0 : Program.acpi.DeviceGet(AsusACPI.ScreenOverdrive);

View File

@@ -166,7 +166,8 @@ namespace GHelper.Display
{ {
try try
{ {
var devices = GetAllDevices().ToArray(); var devicesList = GetAllDevices();
var devices = devicesList.ToArray();
string internalName = AppConfig.GetString("internal_display"); string internalName = AppConfig.GetString("internal_display");
foreach (var device in devices) foreach (var device in devices)

View File

@@ -223,10 +223,7 @@ namespace GHelper
checkUSBC.Visible = false; checkUSBC.Visible = false;
} }
if (AppConfig.IsOLED()) checkNoOverdrive.Visible = Program.acpi.IsOverdriveSupported();
{
checkNoOverdrive.Visible = false;
}
// Change text and hide irrelevant options on the ROG Ally, // Change text and hide irrelevant options on the ROG Ally,
// which is a bit of a special case piece of hardware. // which is a bit of a special case piece of hardware.
@@ -256,7 +253,6 @@ namespace GHelper
checkGpuApps.Visible = false; checkGpuApps.Visible = false;
checkUSBC.Visible = false; checkUSBC.Visible = false;
checkAutoToggleClamshellMode.Visible = false; checkAutoToggleClamshellMode.Visible = false;
checkNoOverdrive.Visible = false;
int apuMem = Program.acpi.GetAPUMem(); int apuMem = Program.acpi.GetAPUMem();
if (apuMem >= 0) if (apuMem >= 0)

View File

@@ -674,7 +674,7 @@ namespace GHelper
private void trackGPUClockLimit_Scroll(object? sender, EventArgs e) private void trackGPUClockLimit_Scroll(object? sender, EventArgs e)
{ {
int maxClock = (int)Math.Round((float)trackGPUClockLimit.Value / 50) * 50; int maxClock = (int)Math.Round((float)trackGPUClockLimit.Value / 5) * 5;
trackGPUClockLimit.Value = maxClock; trackGPUClockLimit.Value = maxClock;
AppConfig.SetMode("gpu_clock_limit", maxClock); AppConfig.SetMode("gpu_clock_limit", maxClock);

View File

@@ -15,7 +15,7 @@
<PlatformTarget>AnyCPU</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<ProduceReferenceAssembly>False</ProduceReferenceAssembly> <ProduceReferenceAssembly>False</ProduceReferenceAssembly>
<AllowUnsafeBlocks>True</AllowUnsafeBlocks> <AllowUnsafeBlocks>True</AllowUnsafeBlocks>
<AssemblyVersion>0.169</AssemblyVersion> <AssemblyVersion>0.170</AssemblyVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -15,22 +15,29 @@ namespace GHelper.Helpers
public bool IsExternalDisplayConnected() public bool IsExternalDisplayConnected()
{ {
var devices = ScreenInterrogatory.GetAllDevices().ToArray(); try
string internalName = AppConfig.GetString("internal_display");
foreach (var device in devices)
{ {
if (device.outputTechnology != ScreenInterrogatory.DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY.DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INTERNAL && var devicesList = ScreenInterrogatory.GetAllDevices();
device.outputTechnology != ScreenInterrogatory.DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY.DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EMBEDDED var devices = devicesList.ToArray();
&& device.monitorFriendlyDeviceName != internalName)
string internalName = AppConfig.GetString("internal_display");
foreach (var device in devices)
{ {
Logger.WriteLine("Found external screen: " + device.monitorFriendlyDeviceName + ":" + device.outputTechnology.ToString()); if (device.outputTechnology != ScreenInterrogatory.DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY.DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INTERNAL &&
device.outputTechnology != ScreenInterrogatory.DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY.DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EMBEDDED
&& device.monitorFriendlyDeviceName != internalName)
{
Logger.WriteLine("Found external screen: " + device.monitorFriendlyDeviceName + ":" + device.outputTechnology.ToString());
//Already found one, we do not have to check whether there are more
return true;
}
//Already found one, we do not have to check whether there are more
return true;
} }
} catch (Exception ex)
{
Logger.WriteLine(ex.ToString());
} }
return false; return false;

View File

@@ -490,8 +490,8 @@ namespace GHelper.Input
break; break;
case "miniled": case "miniled":
if (ScreenCCD.GetHDRStatus()) return; if (ScreenCCD.GetHDRStatus()) return;
int miniled = screenControl.ToogleMiniled(); string miniledName = screenControl.ToogleMiniled();
Program.toast.RunToast(miniled == 1 ? "Multi-Zone" : "Single-Zone", miniled == 1 ? ToastIcon.BrightnessUp : ToastIcon.BrightnessDown); Program.toast.RunToast(miniledName, miniledName == Properties.Strings.OneZone ? ToastIcon.BrightnessDown : ToastIcon.BrightnessUp);
break; break;
case "aura": case "aura":
Program.settingsForm.BeginInvoke(Program.settingsForm.CycleAuraMode); Program.settingsForm.BeginInvoke(Program.settingsForm.CycleAuraMode);

View File

@@ -159,6 +159,18 @@
} }
} }
public class ROGKerisWirelessWiredC : ROGKerisWireless
{
public ROGKerisWirelessWiredC() : base(0x195C, false)
{
}
public override string GetDisplayName()
{
return "ROG Keris (Wired)";
}
}
public class ROGKerisWirelessWired : ROGKerisWireless public class ROGKerisWirelessWired : ROGKerisWireless
{ {
public ROGKerisWirelessWired() : base(0x195E, false) public ROGKerisWirelessWired() : base(0x195E, false)

View File

@@ -191,6 +191,7 @@ namespace GHelper.Peripherals
DetectMouse(new GladiusII()); DetectMouse(new GladiusII());
DetectMouse(new ROGKerisWireless()); DetectMouse(new ROGKerisWireless());
DetectMouse(new ROGKerisWirelessWired()); DetectMouse(new ROGKerisWirelessWired());
DetectMouse(new ROGKerisWirelessWiredC());
DetectMouse(new ROGKerisWirelessEvaEdition()); DetectMouse(new ROGKerisWirelessEvaEdition());
DetectMouse(new ROGKerisWirelessEvaEditionWired()); DetectMouse(new ROGKerisWirelessEvaEditionWired());
DetectMouse(new TUFM4Wirelss()); DetectMouse(new TUFM4Wirelss());

View File

@@ -118,16 +118,16 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<data name="Acceleration" xml:space="preserve"> <data name="Acceleration" xml:space="preserve">
<value>Acceleration</value> <value>가속</value>
</data> </data>
<data name="ACPIError" xml:space="preserve"> <data name="ACPIError" xml:space="preserve">
<value>ASUS ACPI에 연결할 수 없어 응용 프로그램이 작동하지 않습니다. Asus System Control Interface를 먼저 설치하십시오.</value> <value>ASUS ACPI에 연결할 수 없어 응용 프로그램이 작동하지 않습니다. Asus System Control Interface를 먼저 설치하십시오.</value>
</data> </data>
<data name="AlertAPUMemoryRestart" xml:space="preserve"> <data name="AlertAPUMemoryRestart" xml:space="preserve">
<value>Restart your device to apply changes</value> <value>변경사항을 적용하려면 기기를 다시 시작하십시오.</value>
</data> </data>
<data name="AlertAPUMemoryRestartTitle" xml:space="preserve"> <data name="AlertAPUMemoryRestartTitle" xml:space="preserve">
<value>Restart now?</value> <value>지금 다시 시작하시겠습니까?</value>
</data> </data>
<data name="AlertDGPU" xml:space="preserve"> <data name="AlertDGPU" xml:space="preserve">
<value>GPU 사용량이 높습니다. 비활성화 하시겠습니까?</value> <value>GPU 사용량이 높습니다. 비활성화 하시겠습니까?</value>
@@ -142,10 +142,10 @@
<value>Ultimate 모드를 켜기 위해서는 다시 시작해야 합니다.</value> <value>Ultimate 모드를 켜기 위해서는 다시 시작해야 합니다.</value>
</data> </data>
<data name="AlertUltimateTitle" xml:space="preserve"> <data name="AlertUltimateTitle" xml:space="preserve">
<value>다시 시작하시겠습니까?</value> <value>지금 다시 시작하시겠습니까?</value>
</data> </data>
<data name="AllyController" xml:space="preserve"> <data name="AllyController" xml:space="preserve">
<value>Ally Controller</value> <value>Ally 컨트롤러</value>
</data> </data>
<data name="AnimationSpeed" xml:space="preserve"> <data name="AnimationSpeed" xml:space="preserve">
<value>애니메이션 속도</value> <value>애니메이션 속도</value>
@@ -250,25 +250,25 @@
<value>절전 모드 해제</value> <value>절전 모드 해제</value>
</data> </data>
<data name="BacklightLow" xml:space="preserve"> <data name="BacklightLow" xml:space="preserve">
<value>Low</value> <value>낮음</value>
</data> </data>
<data name="BacklightMax" xml:space="preserve"> <data name="BacklightMax" xml:space="preserve">
<value>Max</value> <value>최대</value>
</data> </data>
<data name="BacklightMid" xml:space="preserve"> <data name="BacklightMid" xml:space="preserve">
<value>Mid</value> <value>중간</value>
</data> </data>
<data name="BacklightOff" xml:space="preserve"> <data name="BacklightOff" xml:space="preserve">
<value>Off</value> <value>꺼짐</value>
</data> </data>
<data name="BacklightTimeout" xml:space="preserve"> <data name="BacklightTimeout" xml:space="preserve">
<value>전원 / 배터리 사용 중 자동 꺼짐 시간 (0 - 항상 켜짐)</value> <value>전원 / 배터리 사용 중 자동 꺼짐 시간 (0 - 항상 켜짐)</value>
</data> </data>
<data name="BacklightTimeoutBattery" xml:space="preserve"> <data name="BacklightTimeoutBattery" xml:space="preserve">
<value>Backlight Timeout when on battery</value> <value>배터리 사용 중 백라이트 자동 꺼짐</value>
</data> </data>
<data name="BacklightTimeoutPlugged" xml:space="preserve"> <data name="BacklightTimeoutPlugged" xml:space="preserve">
<value>Backlight Timeout when plugged</value> <value>전원 사용 중 백라이트 자동 꺼짐</value>
</data> </data>
<data name="Balanced" xml:space="preserve"> <data name="Balanced" xml:space="preserve">
<value>균형</value> <value>균형</value>
@@ -283,7 +283,7 @@
<value>배터리 수명</value> <value>배터리 수명</value>
</data> </data>
<data name="BatteryLimitFull" xml:space="preserve"> <data name="BatteryLimitFull" xml:space="preserve">
<value>One time charge to 100%</value> <value>이번만 100%까지 충전</value>
</data> </data>
<data name="Binding" xml:space="preserve"> <data name="Binding" xml:space="preserve">
<value>Binding</value> <value>Binding</value>
@@ -301,7 +301,7 @@
<value>부팅</value> <value>부팅</value>
</data> </data>
<data name="BootSound" xml:space="preserve"> <data name="BootSound" xml:space="preserve">
<value>Boot Sound</value> <value>부팅 사운드</value>
</data> </data>
<data name="Brightness" xml:space="preserve"> <data name="Brightness" xml:space="preserve">
<value>밝기</value> <value>밝기</value>
@@ -313,10 +313,10 @@
<value>밝기 증가</value> <value>밝기 증가</value>
</data> </data>
<data name="BWTrayIcon" xml:space="preserve"> <data name="BWTrayIcon" xml:space="preserve">
<value>Black and white tray icon</value> <value>흑백 트레이 아이콘</value>
</data> </data>
<data name="Calibrate" xml:space="preserve"> <data name="Calibrate" xml:space="preserve">
<value>Calibrate</value> <value>보정</value>
</data> </data>
<data name="Charging" xml:space="preserve"> <data name="Charging" xml:space="preserve">
<value>충전 중</value> <value>충전 중</value>
@@ -325,10 +325,10 @@
<value>색상</value> <value>색상</value>
</data> </data>
<data name="Contrast" xml:space="preserve"> <data name="Contrast" xml:space="preserve">
<value>Contrast</value> <value>대비</value>
</data> </data>
<data name="Controller" xml:space="preserve"> <data name="Controller" xml:space="preserve">
<value>Controller</value> <value>컨트롤러</value>
</data> </data>
<data name="CPUBoost" xml:space="preserve"> <data name="CPUBoost" xml:space="preserve">
<value>CPU 부스트</value> <value>CPU 부스트</value>
@@ -337,16 +337,16 @@
<value>사용자 설정</value> <value>사용자 설정</value>
</data> </data>
<data name="Deceleration" xml:space="preserve"> <data name="Deceleration" xml:space="preserve">
<value>Deceleration</value> <value>감속</value>
</data> </data>
<data name="Default" xml:space="preserve"> <data name="Default" xml:space="preserve">
<value>기본</value> <value>기본</value>
</data> </data>
<data name="DisableController" xml:space="preserve"> <data name="DisableController" xml:space="preserve">
<value>Disable Controller</value> <value>컨트롤러 비활성화</value>
</data> </data>
<data name="DisableOnLidClose" xml:space="preserve"> <data name="DisableOnLidClose" xml:space="preserve">
<value>Disable on lid close</value> <value>덮개를 닫을 시 비활성화</value>
</data> </data>
<data name="DisableOverdrive" xml:space="preserve"> <data name="DisableOverdrive" xml:space="preserve">
<value>화면 OD 끄기</value> <value>화면 OD 끄기</value>
@@ -355,7 +355,7 @@
<value>방전 중</value> <value>방전 중</value>
</data> </data>
<data name="DownloadColorProfiles" xml:space="preserve"> <data name="DownloadColorProfiles" xml:space="preserve">
<value>Download Color Profiles</value> <value>색 프로필 다운로드</value>
</data> </data>
<data name="DownloadUpdate" xml:space="preserve"> <data name="DownloadUpdate" xml:space="preserve">
<value>다운로드</value> <value>다운로드</value>
@@ -384,7 +384,7 @@
<value>Energy Settings</value> <value>Energy Settings</value>
</data> </data>
<data name="Export" xml:space="preserve"> <data name="Export" xml:space="preserve">
<value>Export Profile</value> <value>프로필 내보내기</value>
</data> </data>
<data name="Extra" xml:space="preserve"> <data name="Extra" xml:space="preserve">
<value>추가 설정</value> <value>추가 설정</value>
@@ -426,16 +426,16 @@
<value>Fn 키를 누르지 않고 Fn+F 핫키 작동</value> <value>Fn 키를 누르지 않고 Fn+F 핫키 작동</value>
</data> </data>
<data name="FnLockOff" xml:space="preserve"> <data name="FnLockOff" xml:space="preserve">
<value>FN-Lock Off</value> <value>FN-Lock 꺼짐</value>
</data> </data>
<data name="FnLockOn" xml:space="preserve"> <data name="FnLockOn" xml:space="preserve">
<value>FN-Lock On</value> <value>FN-Lock 켜짐</value>
</data> </data>
<data name="GPUBoost" xml:space="preserve"> <data name="GPUBoost" xml:space="preserve">
<value>다이나믹 부스트</value> <value>다이나믹 부스트</value>
</data> </data>
<data name="GPUChanging" xml:space="preserve"> <data name="GPUChanging" xml:space="preserve">
<value>충전 중</value> <value>바꾸는 중</value>
</data> </data>
<data name="GPUCoreClockOffset" xml:space="preserve"> <data name="GPUCoreClockOffset" xml:space="preserve">
<value>코어 클럭 오프셋</value> <value>코어 클럭 오프셋</value>
@@ -471,10 +471,10 @@
<value>높게</value> <value>높게</value>
</data> </data>
<data name="ImageRotation" xml:space="preserve"> <data name="ImageRotation" xml:space="preserve">
<value>Image Rotation</value> <value>이미지 방향</value>
</data> </data>
<data name="Import" xml:space="preserve"> <data name="Import" xml:space="preserve">
<value>Import Profile</value> <value>프로필 가져오기</value>
</data> </data>
<data name="KeyBindings" xml:space="preserve"> <data name="KeyBindings" xml:space="preserve">
<value>키 설정</value> <value>키 설정</value>
@@ -495,7 +495,7 @@
<value>화면</value> <value>화면</value>
</data> </data>
<data name="LEDStatusIndicators" xml:space="preserve"> <data name="LEDStatusIndicators" xml:space="preserve">
<value>LED Status Indicators</value> <value>LED 상태 표시등</value>
</data> </data>
<data name="Lid" xml:space="preserve"> <data name="Lid" xml:space="preserve">
<value>덮개</value> <value>덮개</value>
@@ -507,7 +507,7 @@
<value>조명</value> <value>조명</value>
</data> </data>
<data name="LockScreen" xml:space="preserve"> <data name="LockScreen" xml:space="preserve">
<value>Lock Screen</value> <value>잠금화면</value>
</data> </data>
<data name="Logo" xml:space="preserve"> <data name="Logo" xml:space="preserve">
<value>로고</value> <value>로고</value>
@@ -516,10 +516,10 @@
<value>낮게</value> <value>낮게</value>
</data> </data>
<data name="LSDeadzones" xml:space="preserve"> <data name="LSDeadzones" xml:space="preserve">
<value>Left Stick Deadzones</value> <value>왼쪽 스틱 데드존</value>
</data> </data>
<data name="LTDeadzones" xml:space="preserve"> <data name="LTDeadzones" xml:space="preserve">
<value>Left Trigger Deadzones</value> <value>왼쪽 트리거 데드존</value>
</data> </data>
<data name="MatrixAudio" xml:space="preserve"> <data name="MatrixAudio" xml:space="preserve">
<value>오디오 비주얼라이저</value> <value>오디오 비주얼라이저</value>
@@ -591,7 +591,7 @@
<value>Multi Zone Strong</value> <value>Multi Zone Strong</value>
</data> </data>
<data name="Muted" xml:space="preserve"> <data name="Muted" xml:space="preserve">
<value>Muted</value> <value>음소거</value>
</data> </data>
<data name="MuteMic" xml:space="preserve"> <data name="MuteMic" xml:space="preserve">
<value>마이크 음소거</value> <value>마이크 음소거</value>
@@ -609,10 +609,10 @@
<value>연결되지 않음</value> <value>연결되지 않음</value>
</data> </data>
<data name="Off" xml:space="preserve"> <data name="Off" xml:space="preserve">
<value>Off</value> <value>꺼짐</value>
</data> </data>
<data name="On" xml:space="preserve"> <data name="On" xml:space="preserve">
<value>On</value> <value>켜짐</value>
</data> </data>
<data name="OneZone" xml:space="preserve"> <data name="OneZone" xml:space="preserve">
<value>One Zone</value> <value>One Zone</value>
@@ -666,7 +666,7 @@
<value>종료</value> <value>종료</value>
</data> </data>
<data name="Reset" xml:space="preserve"> <data name="Reset" xml:space="preserve">
<value>Reset</value> <value>초기화</value>
</data> </data>
<data name="RestartGPU" xml:space="preserve"> <data name="RestartGPU" xml:space="preserve">
<value>dGPU가 사용중이기 때문에 Eco 모드로 전환할 수 없습니다. 장치 관리자에서 dGPU를 재시작하시겠습니까?</value> <value>dGPU가 사용중이기 때문에 Eco 모드로 전환할 수 없습니다. 장치 관리자에서 dGPU를 재시작하시겠습니까?</value>
@@ -675,10 +675,10 @@
<value>RPM</value> <value>RPM</value>
</data> </data>
<data name="RSDeadzones" xml:space="preserve"> <data name="RSDeadzones" xml:space="preserve">
<value>Right Stick Deadzones</value> <value>오른쪽 스틱 데드존</value>
</data> </data>
<data name="RTDeadzones" xml:space="preserve"> <data name="RTDeadzones" xml:space="preserve">
<value>Right Trigger Deadzones</value> <value>오른쪽 트리거 데드존</value>
</data> </data>
<data name="RunOnStartup" xml:space="preserve"> <data name="RunOnStartup" xml:space="preserve">
<value>시스템 시작 시 실행</value> <value>시스템 시작 시 실행</value>
@@ -759,7 +759,7 @@
<value>언더볼팅은 실험적이며 위험한 기능입니다. 적용 값이 너무 낮은 경우 시스템이 불안정해지고, 강제 종료되거나 데이터 손상을 유발할 수 있습니다. 낮은 값부터 적용하여 잘 작동하는지 확인해 보십시오.</value> <value>언더볼팅은 실험적이며 위험한 기능입니다. 적용 값이 너무 낮은 경우 시스템이 불안정해지고, 강제 종료되거나 데이터 손상을 유발할 수 있습니다. 낮은 값부터 적용하여 잘 작동하는지 확인해 보십시오.</value>
</data> </data>
<data name="Unmuted" xml:space="preserve"> <data name="Unmuted" xml:space="preserve">
<value>Unmuted</value> <value>음소거 해제</value>
</data> </data>
<data name="Updates" xml:space="preserve"> <data name="Updates" xml:space="preserve">
<value>업데이트</value> <value>업데이트</value>
@@ -768,16 +768,16 @@
<value>버전</value> <value>버전</value>
</data> </data>
<data name="VibrationStrength" xml:space="preserve"> <data name="VibrationStrength" xml:space="preserve">
<value>Vibration Strength</value> <value>진동 세기</value>
</data> </data>
<data name="VisualMode" xml:space="preserve"> <data name="VisualMode" xml:space="preserve">
<value>Visual Mode</value> <value>비주얼 모드</value>
</data> </data>
<data name="VisualModesHDR" xml:space="preserve"> <data name="VisualModesHDR" xml:space="preserve">
<value>Visual Modes are not available when HDR is active</value> <value>HDR이 켜져 있을 때에는 비주얼 모드를 사용할 수 없습니다.</value>
</data> </data>
<data name="VisualModesScreen" xml:space="preserve"> <data name="VisualModesScreen" xml:space="preserve">
<value>Visual Modes are not available when laptop screen is off</value> <value>노트북의 화면이 꺼져 있을 때에는 비주얼 모드를 사용할 수 없습니다.</value>
</data> </data>
<data name="VolumeDown" xml:space="preserve"> <data name="VolumeDown" xml:space="preserve">
<value>볼륨 작게</value> <value>볼륨 작게</value>
@@ -792,6 +792,6 @@
<value>창을 항상 맨 위로 유지</value> <value>창을 항상 맨 위로 유지</value>
</data> </data>
<data name="Zoom" xml:space="preserve"> <data name="Zoom" xml:space="preserve">
<value>Zoom</value> <value>확대/축소</value>
</data> </data>
</root> </root>

View File

@@ -1231,6 +1231,7 @@ namespace GHelper
else if (miniled2 >= 0) else if (miniled2 >= 0)
{ {
buttonMiniled.Enabled = !hdr; buttonMiniled.Enabled = !hdr;
if (hdr) miniled2 = 1; // Show HDR as Multizone Strong
switch (miniled2) switch (miniled2)
{ {
@@ -1248,9 +1249,9 @@ namespace GHelper
break; break;
// Multizone Off // Multizone Off
case 2: case 2:
buttonMiniled.Text = hdr ? Properties.Strings.Multizone : Properties.Strings.OneZone; buttonMiniled.Text = Properties.Strings.OneZone;
buttonMiniled.BorderColor = colorStandard; buttonMiniled.BorderColor = colorStandard;
buttonMiniled.Activated = hdr; buttonMiniled.Activated = false;
break; break;
} }
} }