diff --git a/src/check-scan.ts b/src/check-scan.ts index 2456fd3..65c4691 100644 --- a/src/check-scan.ts +++ b/src/check-scan.ts @@ -12,7 +12,7 @@ export const BRANDS: Record = { 0x1038: "SteelSeries", 0x1B1C: "Corsair", 0x0951: "HyperX / Kingston", - 0x0B05: "ASUS ROG", + 0x0B05: "Asus", 0x1E7D: "Roccat", 0x258A: "SinoWealth / Glorious", 0x30FA: "SinoWealth", diff --git a/src/supported-live.test.ts b/src/supported-live.test.ts index e865527..ebd6c24 100644 --- a/src/supported-live.test.ts +++ b/src/supported-live.test.ts @@ -41,7 +41,10 @@ test("canonicalBrand folds brand aliases onto the canonical name", () => { assert.equal(canonicalBrand("HSXJ"), "HXSJ"); assert.equal(canonicalBrand("Razer Basilisk"), "Razer"); assert.equal(canonicalBrand("MX Anywhere 3s"), "Logitech"); - assert.equal(canonicalBrand("ROG"), "ASUS ROG"); + assert.equal(canonicalBrand("ROG"), "Asus"); + assert.equal(canonicalBrand("ASUS"), "Asus"); + assert.equal(canonicalBrand("TUF"), "Asus"); + assert.equal(canonicalBrand("ASUS ROG"), "Asus"); assert.equal(canonicalBrand("rapoo Vpro"), "Rapoo"); assert.equal(canonicalBrand("Eyooso"), "E-YOOSO"); assert.equal(canonicalBrand("e-yooso"), "E-YOOSO"); diff --git a/src/supported-live.ts b/src/supported-live.ts index f2205e1..c3eb085 100644 --- a/src/supported-live.ts +++ b/src/supported-live.ts @@ -51,7 +51,10 @@ const BRAND_TYPOS: Record = { mxanywhere3: "Logitech", mxanywhere3s: "Logitech", hyperxpulsefirehastle2: "HyperX", - rog: "ASUS ROG", + rog: "Asus", + asus: "Asus", + asusrog: "Asus", + tuf: "Asus", }; /** diff --git a/src/supported-mice.ts b/src/supported-mice.ts index 685ec4c..b97e609 100644 --- a/src/supported-mice.ts +++ b/src/supported-mice.ts @@ -187,32 +187,32 @@ export const MICE: Mouse[] = [ // ATTACK SHARK ──────────────────────────────────────────────────────── { brand: "Attack Shark", model: "X3", status: "likely", req: 15, - note: "Driver implemented (0x25a7 family) — needs hardware test" }, + note: "0x25a7 GearHub protocol — needs hardware test" }, { brand: "Attack Shark", model: "X11", status: "likely", req: 10, note: "Driver implemented (0x1d57 / 0x25a7 families) — needs hardware test" }, { brand: "Attack Shark", model: "R5 Ultra", status: "supported", req: 7, pids: [0x0046, 0x0047], note: "PIDs 0x0046/0x0047 in the CompX/Lamzu driver (R5 Ultra profile)" }, { brand: "Attack Shark", model: "X6", status: "likely", req: 5, - note: "Driver implemented (0x25a7 family) — needs hardware test" }, + note: "0x25a7 GearHub protocol — needs hardware test" }, { brand: "Attack Shark", model: "R3", status: "likely", req: 4, note: "Driver implemented (0x373e family) — needs hardware test" }, { brand: "Attack Shark", model: "R1", status: "likely", req: 3, note: "Driver implemented (0x1d57 family) — needs hardware test" }, { brand: "Attack Shark", model: "X8 Ultra", status: "likely", req: 3, - note: "Driver implemented (0x25a7 family) — needs hardware test" }, - { brand: "Attack Shark", model: "X8 SE", status: "likely", req: 3, - note: "Driver implemented (0x25a7 family) — needs hardware test" }, + note: "0x25a7 GearHub protocol — needs hardware test" }, + { brand: "Attack Shark", model: "X8 SE", status: "supported", req: 2, + note: "0x25a7 GearHub protocol — DPI, polling, firmware" }, { brand: "Attack Shark", model: "X1", status: "likely", req: 2, - note: "Driver implemented (0x25a7 family) — needs hardware test" }, + note: "0x25a7 GearHub protocol — needs hardware test" }, { brand: "Attack Shark", model: "V3 Pro", status: "likely", req: 1, - note: "Driver implemented (0x25a7 family) — needs hardware test" }, + note: "0x25a7 GearHub protocol — needs hardware test" }, { brand: "Attack Shark", model: "X3 Pro", status: "likely", req: 1, - note: "Driver implemented (0x25a7 family) — needs hardware test" }, + note: "0x25a7 GearHub protocol — needs hardware test" }, { brand: "Attack Shark", model: "X11 SE", status: "likely", req: 1, note: "Driver implemented (0x1d57 / 0x25a7 families) — needs hardware test" }, { brand: "Attack Shark", model: "X8 PLUS", status: "likely", req: 1, - note: "Driver implemented (0x25a7 family) — needs hardware test" }, + note: "0x25a7 GearHub protocol — needs hardware test" }, { brand: "Attack Shark", model: "X12", status: "likely", req: 1, note: "Driver implemented (0x25a7 family) — needs hardware test" }, { brand: "Attack Shark", model: "R6", status: "likely", req: 1, @@ -470,16 +470,16 @@ export const MICE: Mouse[] = [ { brand: "Keychron", model: "M6", status: "quickwin", req: 1, note: "Keychron vendor covered; M6 PID not yet in KEYCHRON_PRODUCT_IDS" }, - // ASUS ROG ──────────────────────────────────────────────────────────── - { brand: "ASUS ROG", model: "Harpe Ace Aim Lab", status: "driver", req: 5, + // Asus ──────────────────────────────────────────────────────────────── + { brand: "Asus", model: "Harpe Ace Aim Lab", status: "driver", req: 5, note: "Armoury Crate protocol — not implemented" }, - { brand: "ASUS ROG", model: "TUF Gaming M5", status: "driver", req: 2, + { brand: "Asus", model: "TUF Gaming M5", status: "driver", req: 2, note: "Armoury Crate protocol — not implemented" }, - { brand: "ASUS ROG", model: "Gladius II Core", status: "driver", req: 1, + { brand: "Asus", model: "Gladius II Core", status: "driver", req: 1, note: "Armoury Crate protocol — not implemented" }, - { brand: "ASUS ROG", model: "Strix Impact III", status: "driver", req: 1, + { brand: "Asus", model: "Strix Impact III", status: "driver", req: 1, note: "Armoury Crate protocol — not implemented" }, - { brand: "ASUS ROG", model: "TUF Gaming M3 Gen 1", status: "driver", req: 1, + { brand: "Asus", model: "TUF Gaming M3 Gen 1", status: "driver", req: 1, note: "Armoury Crate protocol — not implemented" }, // OTHER DRIVER-NEEDED ─────────────────────────────────────────────────