Skip to content

docs(design): key-picker rethink design note (#16)#26

Merged
numachang merged 1 commit into
mainfrom
docs/key-picker-rethink
Jun 5, 2026
Merged

docs(design): key-picker rethink design note (#16)#26
numachang merged 1 commit into
mainfrom
docs/key-picker-rethink

Conversation

@numachang

Copy link
Copy Markdown
Owner

Adds the working design note for issue #16: inverting the binding editor so the behavior is derived from filled Hold/Tap slots instead of selected first.

What this is

docs/design/key-picker-rethink.md — a codebase-grounded expansion of the issue:

  • Maps the proposal onto the current components (BehaviorBindingPicker, BehaviorParametersPicker, the HidUsagePicker grid) with line refs and the BehaviorMap data model.
  • The derivation table (tap/hold slot contents → &kp / &mt / &lt / &mo / &none).
  • The three interaction shapes: (a) tile-select, (b) slot-fill, (c) parameterised tiles.
  • The staged 1-PR-per-step plan (Steps 1–5+).
  • Edge cases: polymorphic hold slot (needs a layer-or-modifier composite picker), ZMK implicit-modifier encoding, invalid-combination states, migration-period dual-UI state sync.
  • Capability-awareness, non-goals, open questions.

Design only — no code change. Step 1 lands separately.

Credit to upstream zmkfirmware/zmk-studio (Apache-2.0); direction is adjacent to upstream PR zmkfirmware#159 (Grid Picker for HID Usage). Anything fork-specific stays here.

Refs #16.

🤖 Generated with Claude Code

Capture the design for inverting the binding editor so the behavior is
derived from filled Hold/Tap slots instead of selected first. Grounds the
issue #16 proposal in the current code (component names, line refs, the
BehaviorMap data model) and lays out the staged 1-PR-per-step plan,
capability-awareness, edge cases (polymorphic hold slot, implicit-modifier
encoding, invalid-combination states, migration dual-UI sync) and open
questions.

Design only; no behavior change. Refs #16.

Co-Authored-By: Claude <noreply@anthropic.com>
@numachang
numachang merged commit 437d5a6 into main Jun 5, 2026
1 of 2 checks passed
@numachang
numachang deleted the docs/key-picker-rethink branch June 5, 2026 14:18
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