An open API service indexing awesome lists of open source software.

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.

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 🇧ðŸ‡Đ