Skip to content

Add Nape Pro onboard assignments and orientation on Profiles - #118

Open
dwei30 wants to merge 4 commits into
OpenMouse-Project:devfrom
dwei30:nape-pro
Open

Add Nape Pro onboard assignments and orientation on Profiles#118
dwei30 wants to merge 4 commits into
OpenMouse-Project:devfrom
dwei30:nape-pro

Conversation

@dwei30

@dwei30 dwei30 commented Aug 17, 2026

Copy link
Copy Markdown

Summary

  • Show Nape Pro onboard layers on Profiles: inspect a stored layer, switch the mouse to it, and reload.
  • Add a G502-style assignment grid on the open layer for 01 / 02 / 03 / 04 / M1 / M2 plus independent scroll CW/CCW. Changes stage until Apply, then flash sequentially with confirm + re-read.
  • Add a per-layer Orientation control (0°–315° in 45° steps) in that same grid; it stages with the remaps.
  • Rename Keychron APIs as Nape-only (KeychronNapeLayers, ?preview=keychron-nape). M-series mice should not reuse this UI.

Depends on the mouse-protocol Nape remap/orientation PR. Pin @openmouse/protocol to that commit before merge (or after it lands on main).

Test plan

  • ?preview=keychron-nape: Profiles lists layers 0–7, assignments and 90° orientation load without a device
  • Wired Nape Pro: open a layer, remap a button, Apply; Launcher (or a re-read) shows the new mapping on that layer only
  • Scroll CW and CCW can be set independently
  • Change orientation on the active layer, Apply: live heading updates; other layers keep their saved angle
  • Change orientation on an inactive layer, Apply, then switch to it: heading follows the saved value
  • Unknown firmware codes still show as Custom mapping (preserved)
  • After the protocol PR merges, bump @openmouse/protocol off the local path / fork pin

@dwei30

dwei30 commented Aug 17, 2026

Copy link
Copy Markdown
Author

CI fails until mouse-protocol #29 is merged as this PR needs APIs that are not on protocol main yet.

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.

1 participant