Skip to content

feat: bring back the dongle LED toggle as an Advanced card - #376

Merged
snekxs merged 1 commit into
OpenMouse-Project:mainfrom
ydw1904:feat/attackshark-dongle-led
Sep 29, 2026
Merged

snekxs merged 1 commit into
OpenMouse-Project:mainfrom
ydw1904:feat/attackshark-dongle-led

Conversation

@ydw1904

@ydw1904 ydw1904 commented Sep 28, 2026

Copy link
Copy Markdown
Contributor

Support ticket #125: the user turned their Attack Shark R5 Ultra's dongle LED off with old Attack Shark software that later dropped the option, and can't turn it back on. The protocol side is OpenMouse-Project/mouse-protocol#141.

Why a new card

The receiver LED button used to live on the old connection card (supportsDongleLed, Pulsar only) and was lost in d761e60. Since then toggleDongleLed() has had no UI, so Pulsar receivers that report dongleLedEnabled had no way to switch it.

Change

  • DongleLedCard (Advanced tab, WIRELESS): heading plus a switch, same layout as the auto-sleep card.
  • cardAvailability().dongleLed: typeof status.dongleLedEnabled === "boolean". The Pulsar driver sets brand: "Pulsar" and only reports a boolean for receivers it can read, so this matches the old gate for Pulsar. Pulsar Pro reports nothing and stays hidden.
  • toggleDongleLed() checks for any active client with setDongleLed(), not only Pulsar clients.
  • attack-shark preview fixture reports dongleLedEnabled: false.

Checks

  • npm run build and npm test (240/240) pass. tsc is also clean against the local mouse-protocol#141 branch.
  • Preview: ?preview=attack-shark shows the card (off), ?preview=pulsar shows it again (on), ?preview=crdrako has no card.
  • The preview has no mouse attached, so no write was exercised. Not tested on hardware.

Follow-up

The R5 Ultra only gets the card after mouse-protocol#141 is released and @openmouse/protocol is bumped here. Pulsar gets it back as soon as this merges.

The receiver LED button lived on the old connection card and was lost in
d761e60, leaving toggleDongleLed() with no UI. A small WIRELESS card now
shows whenever the driver reports a boolean dongleLedEnabled, which is what
the old Pulsar-only gate amounted to, and toggleDongleLed() accepts any
client with setDongleLed() so the Attack Shark R5 Ultra receiver
(mouse-protocol#141) can use it too.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@snekxs
snekxs merged commit e593a0c into OpenMouse-Project:main Sep 29, 2026
3 checks passed
@ydw1904
ydw1904 deleted the feat/attackshark-dongle-led branch September 29, 2026 14:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants