diff --git a/src/device/controller.ts b/src/device/controller.ts index 6cbfd3a..0c961f7 100644 --- a/src/device/controller.ts +++ b/src/device/controller.ts @@ -190,6 +190,7 @@ import { BytechHidClient } from "@openmouse/protocol/drivers/bytech/hid"; import { FaterHidClient } from "@openmouse/protocol/drivers/fater/hid"; import { RapooHidClient } from "@openmouse/protocol/drivers/rapoo/hid"; import { CoolerMasterHidClient } from "@openmouse/protocol/drivers/coolermaster/hid"; +import { RedragonM690ProHidClient } from "@openmouse/protocol/drivers/redragon/m690-pro-hid"; import { parsePreviewMode, previewsEnabled, type PreviewMode } from "../preview-modes"; import { sleepLabel } from "./options"; import { traitsFor } from "./traits"; @@ -264,7 +265,7 @@ function activeAs(...classes: ClientClass[]): T | null { const DM_CLASSES = [WLMouseHidClient, LamzuHidClient, LamzuAtlantisHidClient, AtkHidClient, AtkBitmouseHidClient, NinjutsoHidClient] as const; const RAZER_CLASSES = [RazerHidClient, RazerViperMiniHidClient, RazerViperHidClient, RazerCobraHidClient] as const; -const NEEDS_OPEN = [LamzuAtlantisHidClient, TeevolutionHidClient, VgnF2HidClient, KeychronNapeHidClient, Keychron8kNordicHidClient, WLMouseBeastX4kHidClient, ModdoHidClient, ZaunkoenigHidClient, CorsairHidClient, FantechHidClient, WallhackMouseHidClient, WallhackKeyboardHidClient, GloriousHidClient, GloriousClassicHidClient, MchoseHidClient, MchoseDockHidClient, MchoseA5ProMaxHidClient, MchoseV3HidClient, MicrosoftHidClient, DareuHidClient, IncottHidClient, BytechHidClient, RapooHidClient, FaterHidClient, CoolerMasterHidClient] as const; +const NEEDS_OPEN = [LamzuAtlantisHidClient, TeevolutionHidClient, VgnF2HidClient, KeychronNapeHidClient, Keychron8kNordicHidClient, WLMouseBeastX4kHidClient, ModdoHidClient, ZaunkoenigHidClient, CorsairHidClient, FantechHidClient, WallhackMouseHidClient, WallhackKeyboardHidClient, GloriousHidClient, GloriousClassicHidClient, MchoseHidClient, MchoseDockHidClient, MchoseA5ProMaxHidClient, MchoseV3HidClient, MicrosoftHidClient, DareuHidClient, IncottHidClient, BytechHidClient, RapooHidClient, FaterHidClient, CoolerMasterHidClient, RedragonM690ProHidClient] as const; const PULSAR_CLASSES = [PulsarHidClient, PulsarProHidClient, PulsarXs1HidClient] as const; const logitechClient = (): LogitechHidppClient | null => activeAs(LogitechHidppClient); diff --git a/src/supported-devices-data.ts b/src/supported-devices-data.ts index e788c9f..0c4fc0e 100644 --- a/src/supported-devices-data.ts +++ b/src/supported-devices-data.ts @@ -91,6 +91,7 @@ export const SUPPORTED_DEVICES: readonly SupportedDeviceEntry[] = [ { brand: "Redragon", model: "M696 Pro", status: "driver" }, { brand: "Redragon", model: "M721 Pro", status: "driver" }, { brand: "Redragon", model: "M724 K1NG 1K", status: "supported", pids: [0xfc7a] }, + { brand: "Redragon", model: "M690 PRO", status: "supported", pids: [0x2e, 0x2f] }, { brand: "Ryunix", model: "KYU Pro MX1", status: "supported", pids: [0x26e, 0x26f] }, { brand: "Delux", model: "M800 Mini", status: "supported", pids: [0xfa60, 0xfa55] }, { brand: "Dareu", model: "A950 PRO Mg", status: "supported", pids: [0x1114, 0x1117] },