Status: in progress — branch feat/adaptive-key-geometry.
Make the keyboard adapt to how the user actually types — for both tapping and gesture/glide input — by learning per-user key geometry and applying a light context prior. Opt-in.
Full design: docs/ADAPTIVE_TYPING.md.
Summary
- One per-user model keyed by (key, layout, orientation): mean landing offset + variance + count. Content-free (no text), incognito-gated, opt-in.
- Gestures (hard requirement): adjust the per-key sweet spots in
ProximityInfo (Java-only, no native rebuild) so swipes match where your hand goes.
- Taps: bias
KeyDetector.detectHitKey toward the learned center, plus a completion-derived next-character prior — all hard-capped so a clear key press can't flip to a neighbor.
- Persistence: a new table in
leantype.db → rides the existing Advanced-tab backup/restore for free, backward-compatibly. Deletable via a "reset" action.
- Stats page: visualize the learned keyboard + per-key accuracy/consistency.
Build phases
- Foundation: opt-in pref + DB table + DAO +
TouchModelManager (EMA + capped geometry API).
- Learning + gesture/tap injection (testable on-device).
- Context prior (Layer A) for taps.
- Stats page + reset UI + strength tuning.
Safety / privacy
Hard caps + confidence gating (no wrong literals); content-free storage; respects incognito and the opt-in toggle; validate on-device that gesture recognition improves, not destabilizes.
Status: in progress — branch
feat/adaptive-key-geometry.Make the keyboard adapt to how the user actually types — for both tapping and gesture/glide input — by learning per-user key geometry and applying a light context prior. Opt-in.
Full design:
docs/ADAPTIVE_TYPING.md.Summary
ProximityInfo(Java-only, no native rebuild) so swipes match where your hand goes.KeyDetector.detectHitKeytoward the learned center, plus a completion-derived next-character prior — all hard-capped so a clear key press can't flip to a neighbor.leantype.db→ rides the existing Advanced-tab backup/restore for free, backward-compatibly. Deletable via a "reset" action.Build phases
TouchModelManager(EMA + capped geometry API).Safety / privacy
Hard caps + confidence gating (no wrong literals); content-free storage; respects incognito and the opt-in toggle; validate on-device that gesture recognition improves, not destabilizes.