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

View File

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

View File

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

View File

@@ -1,12 +1,12 @@
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;
}
public override bool HasEnergySettings()
public override bool HasAutoPowerOff()
{
return true;
}
@@ -59,11 +59,26 @@
{
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.
DetectMouse(new ChakramX());
DetectMouse(new ChakramXWired());
DetectMouse(new P711());
DetectMouse(new P711Wired());
DetectMouse(new GladiusIII());
DetectMouse(new GladiusIIIWired());
}
public static void DetectMouse(AsusMouse am)