feat(q5_max): expand chord table with Greek alphabet and math symbols #22

Merged
rootiest merged 1 commits from feat/chords into main 2026-04-23 03:08:15 +00:00
Owner

Summary

  • Completes the Greek alphabet (gamma → psi, 21 new entries) with short aliases for longer names (eps, ups, omi)
  • Adds blackboard-bold number-set symbols: real ℝ, nat ℕ, intgr ℤ, rat ℚ, cmplx ℂ, aleph
  • Adds calculus symbols: integ ∫, iint ∬, oint ∮, partial/prt ∂, nabla ∇, sum ∑, prod
  • Adds set theory: elem ∈, notin ∉, sub/subeq ⊂⊆, sup/supeq ⊃⊇, union ∪, inter ∩, empty
  • Adds logic: forall ∀, exists ∃, nexist ∄, land ∧, lor ∨, xor ⊕, impl ⟹, iff
  • Adds geometry: angle/ang ∠, perp ⊥, parl
  • Adds floor/ceiling brackets: lfl ⌊, rfl ⌋, lcl ⌈, rcl
  • Adds equiv ≡ and prop

All sequences are ≤ 8 characters. Disambiguation notes applied where a shorter sequence is a prefix of a longer different-output entry (mu/mute, sub/subeq, sup/supeq).

Test plan

  • Compile firmware: qmk compile -kb keychron/q5_max/ansi_encoder -km via
  • Flash and verify a sample from each new group (e.g. gamma → γ, integ → ∫, elem → ∈, forall → ∀, real → ℝ)
  • Confirm disambiguation behaviour: type mu, wait >300 ms → μ; type mute🔇
  • Confirm aliases: eps → ε, prt → ∂, ang → ∠
## Summary - Completes the Greek alphabet (gamma → psi, 21 new entries) with short aliases for longer names (`eps`, `ups`, `omi`) - Adds blackboard-bold number-set symbols: `real` ℝ, `nat` ℕ, `intgr` ℤ, `rat` ℚ, `cmplx` ℂ, `aleph` ℵ - Adds calculus symbols: `integ` ∫, `iint` ∬, `oint` ∮, `partial`/`prt` ∂, `nabla` ∇, `sum` ∑, `prod` ∏ - Adds set theory: `elem` ∈, `notin` ∉, `sub`/`subeq` ⊂⊆, `sup`/`supeq` ⊃⊇, `union` ∪, `inter` ∩, `empty` ∅ - Adds logic: `forall` ∀, `exists` ∃, `nexist` ∄, `land` ∧, `lor` ∨, `xor` ⊕, `impl` ⟹, `iff` ⟺ - Adds geometry: `angle`/`ang` ∠, `perp` ⊥, `parl` ∥ - Adds floor/ceiling brackets: `lfl` ⌊, `rfl` ⌋, `lcl` ⌈, `rcl` ⌉ - Adds `equiv` ≡ and `prop` ∝ All sequences are ≤ 8 characters. Disambiguation notes applied where a shorter sequence is a prefix of a longer different-output entry (`mu`/`mute`, `sub`/`subeq`, `sup`/`supeq`). ## Test plan - [x] Compile firmware: `qmk compile -kb keychron/q5_max/ansi_encoder -km via` - [x] Flash and verify a sample from each new group (e.g. `gamma` → γ, `integ` → ∫, `elem` → ∈, `forall` → ∀, `real` → ℝ) - [x] Confirm disambiguation behaviour: type `mu`, wait >300 ms → μ; type `mute` → 🔇 - [x] Confirm aliases: `eps` → ε, `prt` → ∂, `ang` → ∠
rootiest added 6 commits 2026-04-23 02:52:34 +00:00
Adds a new HID_CMD_BATTERY (0x44) command to the shared qmk-host protocol.
When the keyboard is in wireless transport mode (BT or 2.4G) the firmware
now pushes the current battery percentage to the host:

- Periodic push every 5 minutes via timer_read32()/timer_elapsed32(); fires
  immediately on the first matrix_scan_user() call after boot so qmk-host
  gets a reading as soon as the keyboard connects over USB in wireless mode.
- Redundant sends are suppressed: g_last_sent_bat tracks the last value
  transmitted and the packet is skipped when the level has not changed.
- Query-response path: qmk-host can send CMD_BATTERY with HID_FLAG_QUERY at
  any time; the keyboard replies with the current percentage or
  HID_BATT_UNAVAILABLE (0xFF) when in USB transport mode.
- All battery and transport code is guarded by #ifdef LK_WIRELESS_ENABLE so
  the keymap compiles cleanly on any wired-only build.

Firmware size delta: +160 bytes (well within flash budget).
Add 21 Greek letters (gamma–psi, completing the full alphabet), six
blackboard-bold number-set symbols (ℝ ℕ ℤ ℚ ℂ ℵ), and 44 new math
entries covering calculus (∫ ∂ ∇ ∑ ∏), set theory (∈ ∉ ⊂ ⊆ ∪ ∩ ∅),
logic (∀ ∃ ∧ ∨ ⟹ ⟺), geometry (∠ ⊥ ∥), and floor/ceiling brackets.

Aliases provided for longer sequences (eps→ε, prt→∂, ups→υ, omi→ο,
ang→∠).  Disambiguation notes added for mu/mute, sub/subeq, sup/supeq.
rootiest changed target branch from main to feat/speculative-hold 2026-04-23 02:56:15 +00:00
rootiest changed target branch from feat/speculative-hold to main 2026-04-23 02:59:39 +00:00
rootiest force-pushed feat/chords from cace1c242d to 4a1533b189 2026-04-23 03:01:46 +00:00 Compare
rootiest merged commit 3b497e6eba into main 2026-04-23 03:08:15 +00:00
rootiest deleted branch feat/chords 2026-04-23 03:08:16 +00:00
Sign in to join this conversation.