using System.Runtime.CompilerServices; namespace GHelper.Peripherals.Mouse.Models { //P713_Wireless public class HarpeAceAimLabEdition : AsusMouse { public HarpeAceAimLabEdition() : base(0x0B05, 0x1A94, "mi_00", true) { } protected HarpeAceAimLabEdition(ushort productId, bool wireless, string endpoint, byte reportId) : base(0x0B05, productId, endpoint, wireless, reportId) { } public override int DPIProfileCount() { return 4; } public override string GetDisplayName() { return "ROG Harpe Ace Aim Lab Edition (Wireless)"; } public override PollingRate[] SupportedPollingrates() { return new PollingRate[] { PollingRate.PR125Hz, PollingRate.PR250Hz, PollingRate.PR500Hz, PollingRate.PR1000Hz }; } public override int ProfileCount() { return 5; } public override int MaxDPI() { return 36_000; } public override int MinDPI() { return 50; } public override bool HasXYDPI() { return true; } public override bool HasDebounceSetting() { return true; } public override bool HasLiftOffSetting() { return true; } public override bool HasRGB() { return true; } public override LightingZone[] SupportedLightingZones() { return new LightingZone[] { LightingZone.Scrollwheel }; } public override bool IsLightingModeSupported(LightingMode lightingMode) { return lightingMode == LightingMode.Static || lightingMode == LightingMode.Breathing || lightingMode == LightingMode.ColorCycle || lightingMode == LightingMode.React || lightingMode == LightingMode.BatteryState || lightingMode == LightingMode.Off; } public override bool HasAutoPowerOff() { return true; } public override bool HasAngleSnapping() { return true; } public override bool HasAngleTuning() { return true; } public override bool HasLowBatteryWarning() { return true; } public override bool HasDPIColors() { return true; } public override int AngleTuningStep() { return 1; } public override int AngleTuningMin() { return -30; } public override int AngleTuningMax() { return 30; } public override bool HasAcceleration() { return true; } public override bool HasDeceleration() { return true; } public override int MaxAcceleration() { return 9; } public override int MaxDeceleration() { return 9; } } public class HarpeAceAimLabEditionWired : HarpeAceAimLabEdition { public HarpeAceAimLabEditionWired() : base(0x1A92, false, "mi_00", 0x00) { } public override string GetDisplayName() { return "ROG Harpe Ace Aim Lab Edition (Wired)"; } } public class HarpeAceAimLabEditionOmni : HarpeAceAimLabEdition { public HarpeAceAimLabEditionOmni() : base(0x1ACE, true, "mi_02&col03", 0x03) { } public override string GetDisplayName() { return "ROG Harpe Ace Aim Lab Edition (OMNI)"; } public override int USBPacketSize() { return 64; } } }