OpenBangla Keyboard: a Bangla input method for Linux with Avro Phonetic parity
An OpenSource, Unicode compliant Bengali Input Method
At a glance
- What is it?
- OpenBangla Keyboard is a Unicode compliant Bangla input method for GNU/Linux, written in C++ on Qt and IBus, offering the Avro Phonetic scheme plus fixed layouts and typing automation for vowel forming and Reph. It suits a Linux user who types Bangla daily, and its install path has a wrinkle worth reading before you run it.
- Who is it for?
- OpenBangla Keyboard fits a Linux user who needs a Unicode compliant Bangla input method with the Avro Phonetic scheme at parity with the Avro Keyboard most Bangla speakers already know, plus the fixed layouts and the typing automation that fixed schemes normally leave to the user.
- Can I use it commercially?
- Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository last received commits 6 days ago.
- What is it written in?
- Mainly C++, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.
Editorial analysis
The target is GNU/Linux, and the input method is IBus
OpenBangla Keyboard is an open source, Unicode compliant Bangla input method for GNU/Linux systems, and the platform targeting is not incidental. The build dependencies listed for compiling on GNU/Linux include the iBus development library, and the whole project is built around Qt 5.5 or later with Rust 1.34.0 or newer in the toolchain, using GNU Make or Ninja and CMake. That combination tells you the shape of the thing: a Qt user interface sitting in front of the IBus input method framework, with Rust and the zstandard compression library doing part of the work. The repository layout matches that reading, with a src directory, a cmake directory, a data directory that holds the layout files and images, a tools directory that contains the install script, and a UPDATES.json file. The primary language of the project is listed as C++, and the project is licensed under GPL-3.0.
Avro Phonetic parity is the headline feature
The reason a Bangla speaker would switch from a Windows tool to this one is the phonetic scheme. OpenBangla Keyboard includes a phonetic keyboard layout, Avro Phonetic, with a claim of 100% compatibility with the current Avro Phonetic scheme, and the readme says most features of the Avro Keyboard are present so that users will feel at home. On top of that the dictionary can predict and suggest phonetically similar words with correct spelling on the fly, and there is an autocorrect feature for commonly mistyped words, which is extended to a specific and useful case: commonly used English words can be brought into Bangla, so words like Facebook or download can be typed with their original English spelling and come out in Bangla. Users can add and edit autocorrect entries themselves. There is also a preview window so you can see the originally typed text right under the cursor, which matters in a phonetic scheme where what you type and what you get are not the same characters.
Fixed layouts come with the typing automation most of them lack
The fixed keyboard layouts are where the second set of features lives. Out of the box the package ships Probhat, Munir Optima, Avro Easy, Bornona and National, also called Jatiya, and it can read Avro Keyboard layout files of version 5, which is how a user carries their existing configuration over. The typing automation tools are for the fixed layouts and they cover the parts of Bangla typing that are genuinely tedious. Vowels are formed automatically. The old style Reph is handled. The traditional Kar joining is applied, and the Chandrabindu position is fixed automatically. The Chandrabindu case is the one that catches out people learning to type Bangla, because its position changes depending on the character it follows, so a tool that places it correctly removes a whole class of errors. The trade-off with the phonetic scheme is the mirror image of its advantage, since these automations are doing the work that a phonetic scheme simply does not require you to think about.
The install command is a shell script fetched at runtime, and the shell matters
The documented install for most distributions is a single command in a terminal, and the readme is emphatic about the shell. It has to be BASH, otherwise it will not work.
bash -c "$(wget -q https://raw.githubusercontent.com/OpenBangla/OpenBangla-Keyboard/master/tools/install.sh -O -)"That is a fetch and execute of a script from a branch rather than from a tagged release, so it is worth reading the script before you run it if you care what it does to your system. Two other things are stated plainly. If you installed OpenBangla Keyboard 1.5.1 or an earlier version, you are asked to uninstall it first, which is the kind of instruction that exists because of a real migration problem. And after installation you may still need to configure your desktop environment, with a wiki page on configuring the environment for the details. If the script does not work for you, the project asks you to open an issue, and points to the wiki for distrowise and distro specific install instructions as the alternative while you wait.
Arch has two AUR packages, and one is a prebuilt binary
Arch Linux and its derivatives are covered with two packages in the Arch User Repository, and the difference between them is where the build happens. openbangla-keyboard builds the package from source, while openbangla-keyboard-bin uses the binary package released for Arch by the maintainer. The readme shows the same one line install for each with three different AUR helpers, pacaur, yay and yaourt, one command per package. If you prefer to do it by hand, the sequence is to install the build tools, clone the AUR repository, change into it and run makepkg.
sudo pacman -S base-devel git
git clone https://aur.archlinux.org/openbangla-keyboard.git
cd openbangla-keyboard
makepkg -riscThere is also a .pkg.tar.zst package published on the releases page that you can install directly.
$ sudo pacman -U package.pkg.tar.zstFor every other distribution the fallback is the releases page, where the necessary packages can be downloaded.
Building it yourself is a per distribution dependency list
If you would rather compile, the readme gives the build dependency list and a package command for each of the major families. On Ubuntu and Debian derivatives it is a single apt-get line.
sudo apt-get install build-essential rustc cargo cmake libibus-1.0-dev qtbase5-dev qtbase5-dev-tools libzstd-devFedora has the equivalent with dnf and the @buildsys-build group.
sudo dnf install @buildsys-build rust cargo cmake qt5-qtdeclarative-devel ibus-devel libzstd-develArch lists base-devel, rust, cmake, qt5-base, libibus and zstd, and openSUSE and Solus each get a longer line of their own packages.
sudo pacman -S base-devel rust cmake qt5-base libibus zstdThe general requirements are a GNU GCC and G++ compiler or Clang, Rust 1.34.0 or later, GNU Make or Ninja, CMake, Qt 5.5 or later, the iBus development library and the zstandard compression library. The repository also carries a CMakeLists.txt at the top level, a version.txt file, a CHANGELOG, and a sonar-project.properties file, which points to a static analysis setup in the project's continuous integration.
Development happens on a branch, and the release tags are old
The readme carries a warning that ongoing development happens on the develop branch, with the master branch shown as the stable one. That matters if you are following the project closely, because the work you see in the repository is not the work in the released package. On releases, the tags are 2.0.0 from 2020-10-01, 1.5.1 from 2018-10-12 and 1.5.0 from 2018-06-30, so the published release line is well behind the last push to the repository, which was on 2026-10-17. The version numbers are tied to the project's own scheme rather than to a distribution's, and the data directory holds the layout definitions that the package ships. Community support is on GitHub Discussions and on a Facebook page, and the readme asks for issues to be filed for installation problems, which is where the maintainer looks first when the script fails on a particular setup.
Editorial conclusion
OpenBangla Keyboard fits a Linux user who needs a Unicode compliant Bangla input method with the Avro Phonetic scheme at parity with the Avro Keyboard most Bangla speakers already know, plus the fixed layouts and the typing automation that fixed schemes normally leave to the user. It does not fit a Windows or macOS user, since the project targets GNU/Linux and builds on the IBus input method, and it does not fit a distribution where the maintainer script is not the route you want to take, since the Arch packages and the distrowise wiki page are the alternatives. Before you install, uninstall any OpenBangla Keyboard 1.5.1 or earlier version as the documentation asks, run the install command under bash rather than another shell, and plan to configure your desktop environment afterwards.
Frequently asked questions
What is OpenBangla Keyboard?
It is an open source, Unicode compliant Bangla input method for GNU/Linux systems. It ships the Avro Phonetic layout plus fixed layouts, with a dictionary, autocorrect and typing automation for vowel forming and Reph.
How do I install OpenBangla Keyboard on Linux?
The documented command is bash -c "$(wget -q https://raw.githubusercontent.com/OpenBangla/OpenBangla-Keyboard/master/tools/install.sh -O -)", and it has to be run under bash rather than another shell. Arch users can install the openbangla-keyboard or openbangla-keyboard-bin packages from the AUR, and other distributions can take the packages from the releases page.
Does OpenBangla Keyboard work with Avro Keyboard layout files?
Yes, it supports Avro Keyboard layout files of version 5. The phonetic layout is described as 100% compatible with the current Avro Phonetic scheme, and most Avro Keyboard features are said to be present.
What are the build dependencies for OpenBangla Keyboard?
GNU GCC and G++ or Clang, Rust 1.34.0 or later, GNU Make or Ninja, CMake, Qt 5.5 or later, the iBus development library and the zstandard compression library. The readme also gives an apt-get line for Ubuntu and Debian, a dnf line for Fedora and package lines for Arch, openSUSE and Solus.
Which fixed Bangla keyboard layouts ship with OpenBangla Keyboard?
Probhat, Munir Optima, Avro Easy, Bornona and National, also called Jatiya, all included out of the box. The typing automation tools for these fixed layouts handle automatic vowel forming, old style Reph, traditional Kar joining and Chandrabindu position fixing.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/openbangla-openbangla-keyboard)Was this useful?