Skip to content

wlmouse: high-speed, turbo, angle tune, button combinations, DPI stages, and artwork behind a receiver - #162

Closed
ydw1904 wants to merge 4 commits into
OpenMouse-Project:control-panelfrom
ydw1904:feat/wlmouse-settings
Closed

wlmouse: high-speed, turbo, angle tune, button combinations, DPI stages, and artwork behind a receiver#162
ydw1904 wants to merge 4 commits into
OpenMouse-Project:control-panelfrom
ydw1904:feat/wlmouse-settings

Conversation

@ydw1904

@ydw1904ydw1904 commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

App side of OpenMouse-Project/mouse-protocol#52, which teaches the WLmouse
driver four sensor settings, the mouse behind a shared receiver, and the full
DPI stage table. Needs that PR merged and the protocol dependency bumped
before it typechecks.

WLmouse DPI stage editor, six stages read off a Beast Max 1K

Processing card

Three new switches beside the ones already there, plus angle tune reusing the
same -30..+30 select Pulsar Pro has — shown for any mouse that reports the
field, and left in the Pro card for Pulsar so it is not offered twice.

Turbo is greyed out while high-speed mode is off, which is the firmware's own
rule: it will not hold turbo on without it. The shared hyper-mode switch reads
"High-speed mode" for WLMouse, the name their own tool uses, and stays "Hyper
mode" elsewhere.

Artwork behind a shared receiver

The 1K receiver enumerates under one product id whatever mouse is paired with
it, so keying art by product id could never work for those — every one of them
came up as the generic placeholder. The driver now reads the paired model, so
this adds the name fallbacks that pick up the render.

Preview fixture

The ?preview=wlmouse fixture gains the new fields and a DPI stage table, so
the one WLmouse device the app can render without hardware matches what the
real mouse now reports.

Testing

  • npm run build clean and 114 tests passing, against a local build of
    mouse-protocol#52.
  • Hardware: a Beast Max on the 1K receiver — stage table, artwork by name, and
    the four settings all confirmed in the running app.

🤖 Generated with Claude Code

@ydw1904ydw1904 changed the title wlmouse: show high-speed, turbo, angle tune, and button combinationswlmouse: high-speed, turbo, angle tune, button combinations, DPI stages, and artwork behind a receiverSep 5, 2026
ydw1904and others added 3 commits September 6, 2026 15:53
…se-settings
# Conflicts:
#	src/ui/device-images.test.ts
`applyAngleTuning` lost the escape from `°`, so a staged angle read
"Angle tuning 1200b0" in the pending bar. Noticed because the WLmouse angle
control now stages through this function.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…se-settings
# Conflicts:
#	src/app/cards/AdvancedCards.tsx
#	src/app/cards/availability.ts
#	src/device/controller.ts
#	src/device/types.ts
…se-settings
# Conflicts:
#	src/app/cards/AdvancedCards.tsx
#	src/app/cards/availability.ts
#	src/device/controller.ts
#	src/ui/device-images.test.ts
@ydw1904

Copy link
Copy Markdown
ContributorAuthor

Closing: this landed already via #177 (pr162-fix). feat/wlmouse-settings now has zero unique content against control-panel — the branch is purely behind it. The last commit here, 3524408 (restore the degree sign in the angle tuning pending label), is superseded too: #177 rewrote applyAngleTuning, and both refs now read Angle tune ${degrees}° identically. Merging this would only re-apply stale code over the FAQ work.

@ydw1904ydw1904 closed this Sep 6, 2026
Sign up for freeto 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.

1 participant

@ydw1904