Skip to content

Navigation Menu

Sign in
Sign up

keychron: offer the M6 in the browser picker - #71

Merged
snekxs merged 1 commit into
OpenMouse-Project:main from
ydw1904:fix/keychron-m6-picker-filters
Sep 7, 2026
Merged

keychron: offer the M6 in the browser picker #71
snekxs merged 1 commit into
OpenMouse-Project:main from
ydw1904:fix/keychron-m6-picker-filters

Conversation

@ydw1904

@ydw1904 ydw1904 commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Problem

The Keychron M6 is never detected, even though the driver (src/drivers/keychron/m6-hid.ts), its registry entry, and the app-side NEEDS_OPEN entry in openmouse all shipped.

KEYCHRON_M6_HID_FILTERS is defined in src/drivers/vendors.ts and referenced nowhere. It was never spread into SUPPORTED_HID_FILTERS, which is the list the app hands to navigator.hid.requestDevice(). Chrome therefore never offers the M6's 0xffc1 collection, the driver never sees a device, and the symptom is "not detected" rather than a connection error.

Fix

One line, next to the Nape filters:

 ...KEYCHRON_NAPE_HID_FILTERS,
+ ...KEYCHRON_M6_HID_FILTERS,

Guard

registry.test.ts already checks the other direction (every offered product id has a driver). This adds the missing direction: no exported *_FILTERS list may be absent from SUPPORTED_HID_FILTERS, so the next driver cannot land half-wired the same way.

The M6 was the only orphan of the 16 exported filter lists.

Verification

  • npm run build clean.
  • registry.test.ts 6/6 pass.
  • Confirmed the new test fails when the one-line fix is reverted.

🤖 Generated with Claude Code

KEYCHRON_M6_HID_FILTERS was defined but never spread into
SUPPORTED_HID_FILTERS, so navigator.hid.requestDevice never offered the
M6's 0xffc1 collection and the mouse was simply never detected, even
though the driver and its app-side registry entry both shipped.
Adds a test that fails on any exported *_FILTERS list that is not
offered, so the next driver cannot land half-wired the same way.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
snekxs merged commit 8e6113d into OpenMouse-Project:main Sep 7, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

2 participants

AltStyle によって変換されたページ (->オリジナル) /