Skip to content

OpenBangla/OpenBangla-Keyboard

Repository files navigation

OpenBangla Keyboard (OBK)

(বাংলায় পড়ুন)

OpenBangla Keyboard is an open source, Unicode compliant, Bangla input method for GNU/Linux systems. It’s a full-fledged Bangla input method with typing automation tools, includes many famous typing methods such as Avro Phonetic, Probhat, Munir Optima, National (Jatiya) etc.

Most features of Avro Keyboard are present in OpenBangla Keyboard. So Avro Keyboard users will feel right at home in Linux with OpenBangla Keyboard.

CI   Github Downloads  

🔥
This project is powered by github 🌟s. Go ahead and star it please!

🚧 🚧 Ongoing developments happen on the develop branch. 🚧 🚧

Features

  • Features a Top Bar like Avro Keyboard for easy configuration.

  • Layout Viewer

  • Phonetic Keyboard Layout (Avro Phonetic)

    • 100% compatibility with current Avro Phonetic scheme.

    • Dictionary support can predict and suggest phonetically similar words with correct spelling on the fly.

    • Autocorrect feature for numerous commonly mistyped words.

    • Autocorrect support brings commonly used English words to Bangla (like, Facebook, download etc.) even with their original English spelling.

    • User can add and edit autocorrect entries.

    • Support for preview window to see originally typed text right under the cursor.

  • Fixed Keyboard Layout

    • OpenBangla Keyboard comes with Probhat, Munir Optima, Avro Easy, Bornona, National (Jatiya) keyboard layouts out of the box.

    • OpenBangla Keyboard supports Avro Keyboard Layout files (version 5).

  • Typing Automation tools for Fixed Keyboard layout

    • Automatic vowel forming.

    • Old style "Reph".

    • Traditional "-Kar" joining.

    • Automatic "Chandrabindu" position fixing.

Installation

If you had installed OpenBangla Keyboard 1.5.1 or earlier version, please uninstall it first.

Open your terminal and run this command on your bash shell. NB : It has to be BASH, otherwise it won’t work.

bash -c "$(wget -q https://raw.githubusercontent.com/OpenBangla/OpenBangla-Keyboard/master/tools/install.sh -O -)"

If this does not workout for you please create an Issue. While we look into the problem you can check the Wiki for Distrowise/Distro-specific Install Instructions.

Archlinux and it’s derivatives

💡
There is a video tutorial about installing OpenBangla Keyboard in Arch Linux. You may check that out from here.

There are two packages for OpenBangla Keyboard in the Arch User Repository(AUR). Use openbangla-keyboard if you want to make and install the package from source. Otherwise, use openbangla-keyboard-bin to use the binary package released for Arch and its derivatives by the maintainer. You can install it in one command with your favorite aur helper. Example commands for some popular tools:

openbangla-keyboard

  • $ pacaur -S openbangla-keyboard

  • $ yay -S openbangla-keyboard

  • $ yaourt -S openbangla-keyboard

openbangla-keyboard-bin

  • $ pacaur -S openbangla-keyboard-bin

  • $ yay -S openbangla-keyboard-bin

  • $ yaourt -S openbangla-keyboard-bin

Or install manually:

sudo pacman -S base-devel git
git clone https://aur.archlinux.org/openbangla-keyboard.git
cd openbangla-keyboard
makepkg -risc

We also provide a .pkg.tar.zst package for Arch Linux which you can download the installation package from releases page and install OpenBangla Keyboard on your system by running the following command:

$ sudo pacman -U package.pkg.tar.zst

Others

You can also install by downloading necessary packages from our Releases page.

Finally

After you have installed OpenBangla Keyboard, you may need to configure your desktop environment.

If this does not work out for you, please create an Issue.

Community

We are on Github Discussions and Facebook.

Compiling on GNU/Linux

OpenBangla Keyboard currently has the following build dependencies:

  • GNU GCC, G++ compiler or Clang

  • Rust 1.34.0 or later

  • GNU Make or Ninja

  • CMake

  • Qt 5.5 or later

  • iBus development library

  • Zstandard compression library (zstd)

Ubuntu & Debian derivatives

On a Ubuntu/Debian system you can easily install them like this:

sudo apt-get install build-essential rustc cargo cmake libibus-1.0-dev qtbase5-dev qtbase5-dev-tools libzstd-dev

Fedora

On a Fedora system you can easily install them like this:

sudo dnf install @buildsys-build rust cargo cmake qt5-qtdeclarative-devel ibus-devel libzstd-devel

Arch Linux & it’s derivatives

On a Arch Linux / Arch Based system you can easily install them like this:

sudo pacman -S base-devel rust cmake qt5-base libibus zstd

openSUSE

On openSUSE & derivatives you can easily install them like this:

sudo zypper install libQt5Core-devel libQt5Widgets-devel libQt5Network-devel libzstd-devel libzstd1 cmake make ninja rust ibus-devel ibus clang gcc patterns-devel-base-devel_basis

Solus

On Solus you can easily install them like this:

sudo eopkg install -c system.devel rust qt5-base-devel ibus-devel zstd-devel git

Finally

After you have installed required libraries and binaries, clone this repository and change to the cloned folder:

git clone --recursive https://github.com/OpenBangla/OpenBangla-Keyboard.git
cd OpenBangla-Keyboard

Then issue the build commands:

mkdir build && cd build
cmake ..
make
sudo make install

Acknowledgements

License

This project is licensed under GPL 3 Licence.

Made with ❤️ by Muhammad Mominul Huque and ✨ contributors ✨!