Add Amharic keyboard to your website using Keywrite
Eyuel Berga Woldemichael
Posted on April 8, 2021
Keywrite a Javascript library that allows you to type non-latin scripts in any web based application using a standard keyboard. See the Docs for more info.
In this post, I will show you how you can add Keywrite along with pre-made input-methods for Ethiopic scripts to a web application and start typing in Amharic.
We will create a simple webpack project. Lets start by initializing our project:
We have created two components for the name and bio inputs,these are the nameInput and bioInput functions. We also create a new instance of KeywriteWeb with the HTMLInputElement or HTMLTextareaElement. Using the on property we toggle the keyboard on and off. This is what the AddToggle function does.
Also update the index.html file in the dist folder to look like this:
That's it! Now you should have a working Amharic keyboard in your web app. Hope you like the post, please share your comments and suggestions in the discussion below.
JavaScript Input Method Editor (IME) library for adding configurable input methods to web inputs
Keywrite is a JavaScript Input Method Editor (IME) library for adding configurable input methods to the web. It enables users to input text in a language that can't be represented easily on a standard QWERTY keyboard. See the Docs for more info.
Features π
Ease of Use: Keywrite can be integrated to most modern web frameworks with ease.
Flexible: You can configure Keywrite with multiple Input-methods, change between them at runtime.
Custom Input Method: You can easily define your own Input-methods and add them to Keywrite
Fully Extendable: You can extend the Keywrite core API easily to support different use-cases.
Typescript Support: The codebase is completely written in typescript
Installing Keywrite
To use Keywrite on web projects, all you need to do is install the
@keywrite/web package:
$ yarn add @keywrite/web
# or
$ npm install @keywrite/web
Contributing
Feel like contributing? That's awesome! We have a
contributing guide to helpβ¦