CodeKeyboard Rebuild Notes

How a coder-friendly Android IME actually works, part by part

Posted by ikouchiha47 on August 08, 2026

CodeKeyboard — split Sofle-inspired layout

Written so a human or an LLM can rebuild the keyboard without inventing APIs.

CodeKeyboard is a system Android keyboard (IME), not a text box demo — split Sofle-inspired layout, multiple layers, home-row modifiers, and on-device prediction that learns personal and mixed-script typing (Banglish included) without a server. These notes walk through the canvas rendering, composing/selection handling, the suggestion strategy stack, bigram prediction, fuzzy correction, and the build/CI/F-Droid pipeline — in the order the system actually depends on itself, not the order features got added.

Source: github.com/ikouchiha47/codekeyboard


Table of Contents

  1. CodeKeyboard Part 1: Why, and the Three Layers
  2. CodeKeyboard Part 2: Keys, Dual Layout, Gestures
  3. CodeKeyboard Part 3: Composing, Selection, Recompose
  4. CodeKeyboard Part 4: Suggestion Bar, Strategy Stack, Tries, Learning
  5. CodeKeyboard Part 5: Bigram Next-Word Prediction
  6. CodeKeyboard Part 6: Fuzzy Correction, Emoji, Snippets, Trie Decay
  7. CodeKeyboard Part 7: Build, CI, F-Droid, Future Work