A free, open-source fixed-layout Bangla keyboard for macOS, Windows, and Linux.
Type a prebase vowel before its consonant (the Windows-order habit) and get correct Unicode order.
No trademarked branding, no proprietary fonts — emits standard Unicode.
Built and maintained by BiswasHost 🇧🇩
| OS | What it is | Status | Folder |
|---|---|---|---|
| 🍎 macOS | Native .keylayout (Unicode + Classic) + smart installer .pkg/.dmg |
✅ shipping | macos/ |
| 🪟 Windows | Tray app (Bangla Unicode + Classic) running the shared engine, + a TSF IME | ✅ v1.0.0 | windows/ |
| 🐧 Linux | IBus / Fcitx5 engine running the shared engine | ⬜ planned | linux/ |
macOS users: grab the latest .pkg/.dmg from Releases and see
macos/README.md.
The value of this keyboard is syllable reordering (so ে+ক→কে, ভ া স র্ ন→ভার্সন,
ি ক ্ ষ→ক্ষি). A static OS layout can't do that; it needs a tiny stateful engine. So all
three platforms share one engine and wrap it in a thin OS-specific shell:
SPEC.md— the OS-neutral specification: keymap, algorithm, and the test corpus every port must pass. The contract.engine/— the canonical reference engine (Engine.swift, ~170 lines, verified). Each port reimplements this in its platform's language.
Porting to a new OS? Read
SPEC.md, portengine/Engine.swiftheadless first, pass the §7 tests, then wire the OS shell. Don't hand-port the macOS deadkey.keylayout— the engine is the clean model.
.
├── SPEC.md # shared engine spec — the contract for all ports
├── engine/ # canonical reference engine (Engine.swift) + notes
├── macos/ # shipping macOS build (.keylayout + installer)
├── windows/ # Windows TSF IME (in progress)
├── linux/ # Linux IBus/Fcitx engine (planned)
├── LICENSE # MIT
├── DISCLAIMER.md # not affiliated with any commercial keyboard/font vendor
└── SECURITY.md
MIT — see LICENSE. De-branded; not affiliated with any commercial Bangla
keyboard or font vendor — see DISCLAIMER.md.
Made with care by BiswasHost 🇧🇩