feat(q5_max): chord-based unicode/emoji input system #1

Merged
rootiest merged 3 commits from q5_dev into main 2026-04-06 17:31:50 +00:00

3 Commits

Author SHA1 Message Date
rootiest bdcec0fd7e docs(CLAUDE.md): add git conventions section
PR Lint keyboards / lint (pull_request) Failing after 2m18s
Pull Request Labeler / triage (pull_request) Successful in 17s
2026-04-06 12:23:49 -04:00
rootiest e1bed8ec91 docs: add CLAUDE.md with project guidelines and venv requirement
Document build commands, code style, and development workflow for the
Q5 Max via keymap. Emphasize that all qmk commands must be run inside
the project Python venv (.venv/bin/activate) rather than the system qmk.
2026-04-06 12:23:49 -04:00
rootiest c819c83b80 feat(q5_max): add chord-based unicode/emoji input system
Implement a chord-mode unicode entry system activated by Fn1+LeftAlt
(CHORD_KEY). Supports two activation styles: tap CHORD_KEY then type
the sequence within a 2-second window, or hold CHORD_KEY, type the
sequence, and release to commit.

- Add chord_unicode.c/h with a ~110-entry table covering math symbols
  (°²³√≈≠≤≥±÷×∞π), Greek letters, currency, fractions, arrows,
  typography, and a broad emoji set
- Prefix-aware matching with a 300ms disambiguation timer handles
  same-prefix alias pairs (e.g. lte/lteq→≤, inf/infty→∞) cleanly
- Backspace deletes, Enter confirms, Escape cancels while in chord mode
- Modifier and layer key-up events pass through so TT(FN1) release
  correctly deactivates the layer while chord mode is active
- Enable UNICODE_ENABLE and wire chord_unicode.c into the build
2026-04-06 12:23:35 -04:00