MARK PAUL
All projects
/projects/hamp-keyboard·mobile· 2026
Featuredactive

Hamp Keyboard

Android keyboard fork of FUTO Keyboard that turns the spacebar into a cursor-control surface — all-direction swipe for character- and line-wise movement, plus a dark-first Charcoal & Ember theme.

Overview

Hamp Keyboard is a fork of FUTO Keyboard (itself a fork of AOSP LatinIME), customized to install side-by-side with the official app under its own package identity. Its core upgrade: the spacebar becomes a cursor-control surface. Swipe left/right to move the cursor character-by-character, up/down to move line-by-line — with faint chevrons on the spacebar advertising the gestures. The traditional arrow-key row remains available as an independent toggle (off by default), so users who never touch arrows get a one-row-shorter keyboard with larger keys, and users who want them can flip them back on. Ships a dark-first "Charcoal & Ember" design system with grouped settings cards, bundled Space Grotesk + DM Sans typography and a matching light variant. All upstream dependencies are vendored into the repository — no submodules, no external GitLab access. Written in C++ on the Android NDK against the LatinIME input-method framework.

Highlights

  • Spacebar becomes a cursor-control surface — character- and line-wise swipe
  • Arrow row kept as an independent toggle rather than removed
  • Fixed spacebar cursor behaviour in terminals such as Termius
  • No upstream payment, update-checking or crash-reporting subsystems

Technical architecture

  • Base: forked from FUTO Keyboard, itself a fork of AOSP LatinIME.
  • Package identity: application ID com.hamp.inputmethod.latin.hamp and namespace com.hamp.inputmethod.latin — fully independent of upstream, installs side-by-side.
  • Input layer: spacebar swipe handled in the LatinIME gesture pipeline, mapped to cursor movement or language switching via a configurable mode.
  • Theming: Charcoal & Ember — dark-first OKLCH-derived palette with a light variant, custom typography and circular icon tiles.
  • Build: all external dependencies (layouts, themes, dictionaries, translations, swipe models, AARs) vendored in-repo; ./gradlew assembleStableDebug.
Stack
C++Android NDKLatinIME / IMEGradleKotlin
Statusactive
Year2026