Avro Keyboard
Avro Keyboard () is a free and open source graphical keyboard software developed by OmicronLab for the Microsoft Windows, Linux, MacOS, and several other software additionally adapted its phonetic layout for Android and iOS operating system. It is the first free Unicode and ANSI compliant Bengali keyboard interface for Windows that was published on 26 March 2003.

Avro Keyboard has support for fixed keyboard layout and phonetic layout named "Avro Phonetic" that allows typing Bengali through romanized transliteration. Avro Keyboard comes with many additional features; auto correction, spell checker, a font fixer tool to set default Bengali font, a keyboard layout editor, Unicode to ANSI converter, ANSI to Unicode converter and a set of Bengali Unicode and ANSI fonts. This software is provided in a Standard Installer edition and Portable edition for Windows.

Development
Development of Avro Keyboard was started in 2003 by Dr. Mehdi Hasan Khan, a student from Mymensingh Medical College. It was first published on web for free download on 26 March 2003 under Creative Commons Attribution-NoDerivs 3.0 Unported License. Initially, it was developed in Visual Basic, which was later transferred to Delphi. After discussion, OmicronLab published the source code of windows version under MPL 1.1 license with the Avro Keyboard 5.0.5 public beta 1.

Initially, the Linux version of it, v0.0.1, was written in C++, using scim, licensed under GPLv2 on 2 September 2009.  Later, it moved to iBus and javascript for its Linux version, first release on 20 July 2012, under MPL. Avro was further developed primarily by Sarim Khan  along with Rifat Un Nabi, Tanbin Islam Siyam, Ryan Kamal, Shabab Mustafa and Nipon Haque from OmicronLab. Currently, the JavaScript version is freezed, porting is under way to Golang, intended to be released in next major release.

The macOS version, written in Objective-C, was released on 15 December 2013. Several language implementation and bindings are maintained officially. A web-based version is under development.

Features 

Avro Keyboard has customizable mode switching with automatic tracking and has a larger field of compatibility. Users can get all popular Bengali typing methods in a single software. 
Other features include:
 Both Unicode and ANSI support:  Avro keyboard supports writing Bengali text in both Unicode and ANSI. But just because Bengali language is a complex language script & only Unicode has the fully supports therefore 'Unicode' is the default output rendering for Avro. To write Bengali ANSI is pretty outdated encoding system & it is not recommended.
 English to Bengali phonetic typing:  If 'ami banglay gan gai' is typed then 'আমি বাংলায় গান গাই' will be written.
Traditional fixed keyboard layout-based typing:  Several fixed keyboard layouts like Probhat, Jatiya (National), Bornona, Avro Easy, Munir Optima are provided with Avro keyboard software to write Bengali.
Mouse-based Bengali typing:  Typing can be done by clicking the character symbols on the keyboard layout picture.
Spell Check on the fly:  For phonetic typing, Avro keyboard provides a list of correct word on the fly from dictionary based on the typing. Correct word can be chosen from the list.
Spell checker program:  Avro provided a spell checker as separate program. There is a spell checker plug-in for Microsoft Word.
Input language/input locale support:  If the Bengali language support is absent in the operating system even then Bengali script can be written by installing Avro.
Customizable mode-switching (single key/key combination):  Single key or multiple key combination can be used to switch between languages.
Automatic keyboard mode and input language tracking:  If Bengali and English are being typed in two different programs then Avro can detect the language and can continue typing in the correct language.
Key layout viewer on the fly:  A keyboard layout image can be seen on the screen for typing help.
Customizing Keyboard layout:  New Keyboard layout can be created or the character settlement of existing keyboard keys can be rearranged by using the Avro keyboard layout changer which can be distributed and adopted like plugins.
Unicode and ANSI based fonts availability:  Avro supports and provides Bengali Unicode and ANSI standard fonts. Any Unicode based Bengali font can be used with Avro besides ANSI fonts.
User editable dictionary support for phonetic typing:  There is a Bengali dictionary in Avro keyboard for automatic correction. The editions of two auto correct dictionaries of different computers can be merged.
Keyboard macro support:  Multiple key can be combined to write custom word or sentence as a command.
Unicode to Bijoy converter:  There is a program called Unicode to Bijoy converter to convert Unicode Bengali text to ASCII (or Bijoy) standard.
Avro Converter:  Avro converter can convert ASCII/ANSI based Bangla documents written by Bijoy, Alpona, Proshika Shabda and Proborton formats to Unicode, without losing formatting. Avro Converter supports a variety of document types (*.txt, *.rft, *.doc, *.docx, *.mdb) conversion by OLE Automation method. With development focus solely on Avro Keyboard, OmicronLab has discontinued further development of Avro Converter.
Support forum for products:  There is an online forum from the OmicronLab accompanied with homepage to help the user of their products and discuss various issues. This forum is also used for feature suggestion and further development.
Assamese language can be typed by Avro.

Portable edition of Avro Keyboard

A portable edition of the Avro keyboard for Windows has been released on 2 July 2007.  It does not need any installation or access as administrator and suitable to carry in portable media (like USB drives).  It has a built-in 'automatic virtual font installer'.  The size of portable edition is smaller than the standard edition.

Avro Phonetic Layout 
Apart from providing traditional layouts, Avro developed a new layout which provides phonetic typing, that allows roman transliteration to Bengali. In spite some criticism for letting typing in foreign alphabets, it acclaimed much popularity, specially among young generation. The layout is adopted by various other keyboard software including  Ridmik keyboard (Android and iOS), Borno keyboard (Android and Windows), OpenBangla Keyboard (Linux) and others. It is also used by Universal Language Selector of Wiki projects for Bengali input. It was also used in Firefox OS for Bengali input, utilizing its JavaScript implementation, along with Probhat layout.

Awards and recognition 
Certified as a 100% clean from spyware/adware/virus on softpedia.
Has been added to the online solution directory of Microsoft for Indic language input.
Avro Keyboard has been listed as useful Bengali computing resource by the Unicode consortium.
Bangladesh Election Commission used Avro for internal use and found it satisfactory.
Added as a built in Keyboard in Bengali Wikipedia.
Bangladesh Association of Software and Information Services has given the 'Special Contribution to IT Award 2011' to Avro team for Avro Keyboard Software on 4 February 2011.

Conflict with Bijoy

Beginning
On 4 April 2010, Mustafa Jabbar, the proprietor of commercial and closed source Bijoy software and CEO of 'Ananda Computers' said in an article in daily Janakantha, hackers were responsible for spreading unlicensed copies of his Bijoy on the internet. He accused UNDP to help these hackers. He further claimed that UNDP had remarkable influence for selecting Avro for national ID database project by Bangladesh Election Commission. On the other hand, Avro developers denied all allegation against them. In addition, they charged Jabbar for continuous harassment in different stages and media by calling them thief and for that their petition was ignored there. They said that the developers behind Bengali computing happened to work under threat of legal persecution and law enforcing agencies. They indicated that Jabbar complained against Avro after losing around ৳50 million business in Bangladesh Election commission that used free Avro software instead of commercial Bijoy in the nation ID database project.

Reaction
Anger and protest have become apparent in Bangla blogosphere and Bangladeshi Facebook users for this accusation that Avro is a "pirated version" of 'Bijoy' and that the Avro team have been called hackers.

The Avro team was praised for saving around 50 million Bangladeshi taka of Bangladesh Election commission.

Legal proceeding
There is a keyboard layout, named UniBijoy, which was supplied with Avro Keyboard 4.5.1. Jabbar filed an application of copyright violation to the office of copyright, Bangladesh on 25 April 2010, claiming that UniBijoy is a copy of Bijoy.

Settlement
A settlement was made between Dr. Khan and Jabbar in a formal meeting on 16 June 2010 in Bangladesh Computer Council office in Agargaon, Dhaka at presence of many IT experts. According to that, Dr. Khan removes the UniBijoy keyboard layout from Avro keyboard software and Jabbar withdraws the allegation of copyright violation from Bangladesh copyright office by 20 August 2010. As a result, UniBijoy keyboard layout was removed from the Avro Keyboard version 4.5.2 which was released on 20 August 2010. Jabbar informed that the trial in copyright office is withheld and will be withdrawn. He congratulated Dr. Khan and said, "I am respectful to his creativity and expecting the development of Avro software."

References

External links
 Avro Keyboard official page
 OmicronLab
Avro Keyboard Online
 ibus-avro official page
 Exploring the base of Bangla in computers
 Making technology culture-specific
Avro online
 Bengali Fonts for Avro Keyboard

Freeware
Free software distributions
Linux configuration utilities
Keyboard layout software
Indic computing
Utilities for macOS
Utilities for Windows
Pascal (programming language) software