https://github.com/wpexpertinbd/bangla-keyboard
Free, open-source Bijoy-style Bangla keyboard for macOS, Windows & Linux â one shared reorder engine, three native shells. macOS shipping; Windows/Linux in progress.
https://github.com/wpexpertinbd/bangla-keyboard
bangla bangla-fonts bangla-keyboard bengali bengali-typing cross-platform ibus keyboard keyboard-layout linux mac macos tsf unicode windows
Last synced: about 5 hours ago
JSON representation
Free, open-source Bijoy-style Bangla keyboard for macOS, Windows & Linux â one shared reorder engine, three native shells. macOS shipping; Windows/Linux in progress.
- Host: GitHub
- URL: https://github.com/wpexpertinbd/bangla-keyboard
- Owner: wpexpertinbd
- License: mit
- Created: 2026-06-23T13:52:37.000Z (7 days ago)
- Default Branch: main
- Last Pushed: 2026-06-28T21:30:00.000Z (1 day ago)
- Last Synced: 2026-06-28T22:25:18.584Z (1 day ago)
- Topics: bangla, bangla-fonts, bangla-keyboard, bengali, bengali-typing, cross-platform, ibus, keyboard, keyboard-layout, linux, mac, macos, tsf, unicode, windows
- Language: C
- Size: 2.59 MB
- Stars: 21
- Watchers: 0
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
Bangla Keyboard
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 ð§ðĐ
---
## Platforms
| OS | What it is | Status | Folder |
|----|-----------|--------|--------|
| ð **macOS** | Native `.keylayout` (Unicode + Classic) + smart installer `.pkg`/`.dmg` | â
**shipping** | [`macos/`](macos/) |
| ðŠ **Windows** | Tray app (Bangla Unicode + Classic) running the shared engine, + a TSF IME | â
**v1.0.0** | [`windows/`](windows/) |
| ð§ **Linux** | IBus / Fcitx5 engine running the shared engine | ⎠planned | [`linux/`](linux/) |
**macOS users:** grab the latest `.pkg`/`.dmg` from [**Releases**](../../releases) and see
[`macos/README.md`](macos/README.md).
## How it works â one engine, three thin shells
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`](SPEC.md)** â the OS-neutral specification: keymap, algorithm, and the test
corpus every port must pass. **The contract.**
- **[`engine/`](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`](SPEC.md), port [`engine/Engine.swift`](engine/Engine.swift)
> headless first, pass the §7 tests, then wire the OS shell. Don't hand-port the macOS
> deadkey `.keylayout` â the engine is the clean model.
## Repository layout
```
.
âââ 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
```
## License
MIT â see [`LICENSE`](LICENSE). De-branded; not affiliated with any commercial Bangla
keyboard or font vendor â see [`DISCLAIMER.md`](DISCLAIMER.md).
Made with care by BiswasHost ð§ðĐ