Repository navigation
feat: expose LunaFury controls and game profiles - #598
Merged
Merged
Conversation
0.24.0 publishes the LunaFury APIs this branch needs (LunaFurySettings, LunaFuryButton, LunaFuryLightningMode, LunaFuryWheelGuard, MouseStatus.lunafury, MouseStatus.brand "LunaFury"), so the type-check against the pinned version now passes. tsc --noEmit clean, 287/287 tests, vite build clean.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Dependency and draft status
Depends on mouse-protocol #168.
This draft depends on the unreleased LunaFury APIs in
@openmouse/protocol.After the protocol changes are merged and published, the dependency and
lockfile will be updated and the standard CI checks rerun.
The current
0.23.0release lacks the new APIs. This candidate leaves themanifest and lockfile unchanged and includes no file or Git dependency,
preserving the existing approved-dependency CI policy.
Summary
and wheel anti-mistouch to Buttons, and sensor angle to Processing.
Controls use the existing cards, theme tokens, availability checks, and
staged setters. Unread controls stay hidden, with generic debounce as a
fallback.
hyperMode), TrackingMode (
performanceMode), Angle Snap, Motion Sync, and Ripple Control.Other brands' labels and the underlying command mappings are unchanged.
UI does. Hiding it preserves its stored value; staged writes follow the
mode dependency order.
Successive game switches preserve the original values of each changed
control, including valid zero values. Imported fields are validated, and
controls unavailable on the device are ignored.
remain
likely; LUNA33's hardware result is recorded below, while TYPE33remains unverified.
Hardware verification
I tested all implemented features on LUNA33 over both wired and 8K receiver
connections with firmware
0.0.26.0. TYPE33 has not been tested on hardware.Verification
The candidate is based on OpenMouse
c816aa6e93bc3f514b5a76f5ebbbb644e5846accand was tested with the packed localprotocol API. The application manifest and lockfile were unchanged:
npm run check: build and 287 tests passed.npm run size: CSS 194026 / 195000; JS 2046284 / 2085000 bytes.npm audit --audit-level=high: zero vulnerabilities.git diff --check: passed; changes are source-only and use LF.restore, unsupported/invalid imports, preserved zero values, multiple-game
namespace merging, and pending lightning/latency ordering.