Added more features to be selected and deselected individually. Renamed the P711 to Gladius III. Mouse classes will be named by their product name, not their internal name to find them easier.

This commit is contained in:
IceStormNG
2023-07-24 19:19:31 +02:00
parent c67f079f30
commit 90ba7b6c08
5 changed files with 86 additions and 20 deletions

View File

@@ -381,6 +381,10 @@ namespace GHelper
if (!mouse.HasAngleSnapping()) if (!mouse.HasAngleSnapping())
{ {
checkBoxAngleSnapping.Visible = false; checkBoxAngleSnapping.Visible = false;
}
if (!mouse.HasAngleTuning())
{
labelAngleAdjustmentValue.Visible = false; labelAngleAdjustmentValue.Visible = false;
sliderAngleAdjustment.Visible = false; sliderAngleAdjustment.Visible = false;
} }
@@ -411,7 +415,7 @@ namespace GHelper
panelBatteryState.Visible = false; panelBatteryState.Visible = false;
} }
if (mouse.HasEnergySettings()) if (mouse.HasAutoPowerOff())
{ {
comboBoxAutoPowerOff.Items.AddRange(new string[]{ comboBoxAutoPowerOff.Items.AddRange(new string[]{
" 1 "+ Properties.Strings.Minute, " 1 "+ Properties.Strings.Minute,
@@ -422,7 +426,15 @@ namespace GHelper
Properties.Strings.Never, Properties.Strings.Never,
}); });
} }
else
if (!mouse.HasLowBatteryWarning())
{
labelLowBatteryWarning.Visible = false;
labelLowBatteryWarningValue.Visible = false;
sliderLowBatteryWarning.Visible = false;
}
if (!mouse.HasAutoPowerOff() && !mouse.HasLowBatteryWarning())
{ {
panelEnergy.Visible = false; panelEnergy.Visible = false;
} }
@@ -477,10 +489,14 @@ namespace GHelper
if (mouse.HasAngleSnapping()) if (mouse.HasAngleSnapping())
{ {
checkBoxAngleSnapping.Checked = mouse.AngleSnapping; checkBoxAngleSnapping.Checked = mouse.AngleSnapping;
}
if (mouse.HasAngleTuning())
{
sliderAngleAdjustment.Value = mouse.AngleAdjustmentDegrees; sliderAngleAdjustment.Value = mouse.AngleAdjustmentDegrees;
} }
if (mouse.HasEnergySettings()) if (mouse.HasAutoPowerOff())
{ {
if (mouse.PowerOffSetting == PowerOffSetting.Never) if (mouse.PowerOffSetting == PowerOffSetting.Never)
{ {
@@ -490,9 +506,11 @@ namespace GHelper
{ {
comboBoxAutoPowerOff.SelectedIndex = (int)mouse.PowerOffSetting; comboBoxAutoPowerOff.SelectedIndex = (int)mouse.PowerOffSetting;
} }
}
if (mouse.HasLowBatteryWarning())
{
sliderLowBatteryWarning.Value = mouse.LowBatteryWarning; sliderLowBatteryWarning.Value = mouse.LowBatteryWarning;
} }
if (mouse.HasLiftOffSetting()) if (mouse.HasLiftOffSetting())

View File

@@ -276,7 +276,12 @@ namespace GHelper.Peripherals.Mouse
return true; return true;
} }
public virtual bool HasEnergySettings() public virtual bool HasAutoPowerOff()
{
return false;
}
public virtual bool HasLowBatteryWarning()
{ {
return false; return false;
} }
@@ -330,7 +335,7 @@ namespace GHelper.Peripherals.Mouse
public void SetEnergySettings(int lowBatteryWarning, PowerOffSetting powerOff) public void SetEnergySettings(int lowBatteryWarning, PowerOffSetting powerOff)
{ {
if (!HasEnergySettings()) if (!HasAutoPowerOff() && !HasLowBatteryWarning())
{ {
return; return;
} }
@@ -345,7 +350,7 @@ namespace GHelper.Peripherals.Mouse
public void ReadBattery() public void ReadBattery()
{ {
if (!HasBattery() && !HasEnergySettings()) if (!HasBattery() && !HasAutoPowerOff())
{ {
return; return;
} }
@@ -369,10 +374,18 @@ namespace GHelper.Peripherals.Mouse
} }
} }
if (HasEnergySettings()) if (HasAutoPowerOff())
{ {
PowerOffSetting = ParsePowerOffSetting(response); PowerOffSetting = ParsePowerOffSetting(response);
}
if (HasLowBatteryWarning())
{
LowBatteryWarning = ParseLowBatteryWarning(response); LowBatteryWarning = ParseLowBatteryWarning(response);
}
if (HasLowBatteryWarning() || HasAutoPowerOff())
{
Logger.WriteLine(GetDisplayName() + ": Got Auto Power Off: " + PowerOffSetting + " - Low Battery Warnning at: " + LowBatteryWarning + "%"); Logger.WriteLine(GetDisplayName() + ": Got Auto Power Off: " + PowerOffSetting + " - Low Battery Warnning at: " + LowBatteryWarning + "%");
} }
@@ -467,6 +480,10 @@ namespace GHelper.Peripherals.Mouse
{ {
return false; return false;
} }
public virtual bool HasAngleTuning()
{
return false;
}
public virtual string PollingRateDisplayString(PollingRate pollingRate) public virtual string PollingRateDisplayString(PollingRate pollingRate)
{ {
@@ -567,7 +584,9 @@ namespace GHelper.Peripherals.Mouse
if (HasAngleSnapping()) if (HasAngleSnapping())
{ {
AngleSnapping = ParseAngleSnapping(response); AngleSnapping = ParseAngleSnapping(response);
AngleAdjustmentDegrees = ParseAngleAdjustment(response); if (HasAngleTuning())
AngleAdjustmentDegrees = ParseAngleAdjustment(response);
Logger.WriteLine(GetDisplayName() + ": Angle Snapping enabled: " + AngleSnapping + ", Angle Adjustment: " + AngleAdjustmentDegrees + "°"); Logger.WriteLine(GetDisplayName() + ": Angle Snapping enabled: " + AngleSnapping + ", Angle Adjustment: " + AngleAdjustmentDegrees + "°");
} }
} }
@@ -608,7 +627,7 @@ namespace GHelper.Peripherals.Mouse
public void SetAngleAdjustment(short angleAdjustment) public void SetAngleAdjustment(short angleAdjustment)
{ {
if (!HasAngleSnapping()) if (!HasAngleTuning())
{ {
return; return;
} }
@@ -632,7 +651,7 @@ namespace GHelper.Peripherals.Mouse
public abstract int DPIProfileCount(); public abstract int DPIProfileCount();
public virtual bool HasDPIColors() public virtual bool HasDPIColors()
{ {
return true; return false;
} }
public virtual bool CanChangeDPIProfile() public virtual bool CanChangeDPIProfile()

View File

@@ -55,11 +55,25 @@ namespace GHelper.Peripherals.Mouse.Models
return true; return true;
} }
public override bool HasEnergySettings() public override bool HasAutoPowerOff()
{ {
return true; return true;
} }
public override bool HasAngleTuning()
{
return true;
}
public override bool HasLowBatteryWarning()
{
return true;
}
public override bool HasDPIColors()
{
return true;
}
} }
public class ChakramXWired : ChakramX public class ChakramXWired : ChakramX

View File

@@ -1,12 +1,12 @@
namespace GHelper.Peripherals.Mouse.Models namespace GHelper.Peripherals.Mouse.Models
{ {
public class P711 : AsusMouse public class GladiusIII : AsusMouse
{ {
public P711() : base(0x0B05, 0x1A70, "mi_00", true) public GladiusIII() : base(0x0B05, 0x1A70, "mi_00", true)
{ {
} }
protected P711(ushort vendorId, bool wireless) : base(0x0B05, vendorId, "mi_00", wireless) protected GladiusIII(ushort vendorId, bool wireless) : base(0x0B05, vendorId, "mi_00", wireless)
{ {
} }
@@ -50,7 +50,7 @@
return true; return true;
} }
public override bool HasEnergySettings() public override bool HasAutoPowerOff()
{ {
return true; return true;
} }
@@ -59,11 +59,26 @@
{ {
return true; return true;
} }
public override bool HasAngleTuning()
{
return true;
}
public override bool HasLowBatteryWarning()
{
return true;
}
public override bool HasDPIColors()
{
return true;
}
} }
public class P711Wired : P711 public class GladiusIIIWired : GladiusIII
{ {
public P711Wired() : base(0x1A72, false) public GladiusIIIWired() : base(0x1A72, false)
{ {
} }

View File

@@ -138,8 +138,8 @@ namespace GHelper.Peripherals
//Add one line for every supported mouse class here to support them. //Add one line for every supported mouse class here to support them.
DetectMouse(new ChakramX()); DetectMouse(new ChakramX());
DetectMouse(new ChakramXWired()); DetectMouse(new ChakramXWired());
DetectMouse(new P711()); DetectMouse(new GladiusIII());
DetectMouse(new P711Wired()); DetectMouse(new GladiusIIIWired());
} }
public static void DetectMouse(AsusMouse am) public static void DetectMouse(AsusMouse am)