20218fa2ab
True split-dict: partition dictionary across both halves
...
Importance-based partitioning — highest-importance entries on left
(central) for zero-latency local lookup, remainder on right
(peripheral) queried over BLE on miss. Both halves embed their own
MPHF binary. Configurable block size for tighter compression.
2026-07-02 14:27:37 +08:00
9d2d5e4e2d
Fix: generate steno_dict_path.h for dict embed
2026-07-02 09:17:05 +08:00
bc2e40caf4
Merge split-storage: BLE GATT dict protocol + split-aware build
...
Combined optimize-dict (MPHF compression, block-compressed strings,
formatter, undo, Unicode output) with split-storage (BLE GATT service,
LRU cache, peripheral-side dict embed).
Split-dict mode: central queries peripheral over BLE.
Non-split mode: dict embedded on central, local lookup.
2026-07-02 08:57:32 +08:00
2af45eafce
Steno engine with BLE split-storage architecture
...
Full steno engine: chord detection, MPHF/trie dict lookup, Plover
formatter (18 commands), undo (ring buffer), HID + Unicode output.
Split-storage specific:
- BLE GATT service for dict queries (query/prefix/batch)
- LRU cache on central side (CONFIG_STENO_SPLIT_CACHE_SIZE)
- Dict embedded on peripheral, engine runs on central
- 3-way dispatch: split_dict / MPHF / simple trie
Build system: auto-fetch Plover dict, MPHF compiler with block
compression (~56K entries in 420KB), CMake integration.
2026-07-02 02:06:37 +08:00
1ec204b845
Scaffolding: ZMK module structure, Kconfig, DTS, behavior driver
...
- zephyr/module.yml with dts_root for dt-bindings
- Kconfig: STENO_ENGINE, dict selection (Plover/Lapwing/test),
MPHF toggle, Unicode modes, history size, multi-stroke timeout
- DTS behavior binding (one_param, steno key index)
- behavior_steno.c: chord accumulation, all-up detection,
multi-stroke buffering with timeout, star undo, formatter pipeline,
3-way dict dispatch (split/MPHF/simple trie)
- dict_embed.S: .incbin from generated header path
- steno_keys.h: 23-key layout, bit positions matching compiler
2026-07-02 02:04:28 +08:00
234bc8d731
Initial project: benchmarks, status doc, gitignore
2026-06-24 16:51:44 +08:00