Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions build/check-bundle-size.ts
Original file line numberDiff line numberDiff line change
Expand Up@@ -15,8 +15,11 @@ const BUDGET_BYTES: Record<string, number> = {
// fixtures retain their separate allowance below; the measured aggregate
// is 573.4 kB with them, plus the ~11 kB Hall of Fame chunk. Raised again
// from 590 kB for the Razer button-mapping card and its codec: the measured
// aggregate is 588.2 kB, which left under 2 kB of headroom.
".js": 600_000,
// aggregate is 588.2 kB, which left under 2 kB of headroom. Raised again to
// 610 kB for the Pulsar XS-1 feature-report driver and 4K receiver support
// (mouse-protocol 3c3a445): the X3 family codec plus the 4K DPI/polling work
// adds ~1.3 kB to the measured aggregate.
".js": 610_000,
};

const ASSETS = join("dist", "assets");
Expand Down
3 changes: 2 additions & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions src/device/controller.ts
Original file line numberDiff line numberDiff line change
Expand Up@@ -2558,6 +2558,9 @@ export function toggleDongleLed(): void {
apply: async () => {
const client = pulsarClient();
if (!client) throw new Error("The receiver is no longer connected.");
if (!("setDongleLed" in client)) {
throw new Error("This Pulsar device does not expose a receiver LED control.");
}
await client.setDongleLed(enabled);
},
});
Expand Down
3 changes: 3 additions & 0 deletions src/supported-mice.test.ts
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,6 +17,7 @@ import {
NINJUTSO_RECEIVER_PRODUCT_IDS,
} from "@openmouse/protocol/ninjutso";
import { ORBITAL_DEVICES } from "@openmouse/protocol/orbital";
import { PULSAR_XS1_PRODUCT_IDS } from "@openmouse/protocol/pulsar";
import { RAZER_PRODUCTS } from "@openmouse/protocol/razer-devices";
import { TEEVOLUTION_PRODUCT_IDS } from "@openmouse/protocol/teevolution";
import { ZAUNKOENIG_PRODUCT_IDS } from "@openmouse/protocol/zaunkoenig";
Expand DownExpand Up@@ -100,6 +101,8 @@ const PID_UNIVERSE = new Set<number>([
0x1960, 0x1961, 0x1962, 0x1968, 0x1970, 0x1972, 0x1982,
// VGN Dragonfly F2 Master+ (drivers/vgn/hid.ts).
0xfb56, 0xfb57,
// Pulsar X3 family on the Sonix XS-1 feature interface (drivers/pulsar/pulsar-xs1-hid.ts).
...PULSAR_XS1_PRODUCT_IDS,
// Finalmouse ULX dongle (drivers/finalmouse/hid.ts).
0x0100,
]);
Expand Down
4 changes: 2 additions & 2 deletions src/supported-mice.ts
Original file line numberDiff line numberDiff line change
Expand Up@@ -407,9 +407,9 @@ export const MICE: Mouse[] = [
note: "Pulsar driver (VID 0x3710) — collection-based detection" },
{ brand: "Pulsar", model: "X2 V3 ES Mini", status: "supported", req: 2,
note: "Pulsar driver (VID 0x3710) — collection-based detection" },
{ brand: "Pulsar", model: "X3 Medium", status: "likely", req: 1,
{ brand: "Pulsar", model: "X3 Medium", status: "supported", req: 1,
pids: [0x3409, 0x3410, 0x5402, 0x5403],
note: "XS-1 driver written for PIDs 0x3409/0x3410/0x5402/0x5403 — pending merge + hardware test" },
note: "XS-1 feature-report driver (usage 0xffff:1) — PIDs pinned in the protocol registry" },
{ brand: "Pulsar", model: "X2F", status: "supported", req: 1,
note: "Pulsar driver (VID 0x3710) — collection-based detection" },

Expand Down