I started learnig Arabic recently. Perhaps I should write down words and sentences by hand for memorising them, but I the lazy man avoided handwriting and decided to use Emacs-bidi to type in a textbook. At first, I adopted an input method based on ArabTeX. Then I changed to a native Arabic layout with some modification for vowel signs. However, I liked neither. So I decided to design my own layout.
If a consonant has a trivial Latin transliteration, it occupies the position of its counterpart on the DVORAK keyboard. This strategy was adopted for quick learning, rather than efficiency, but the resulting layout is not that bad.
| Latin | Arabic |
|---|---|
| b | baa |
| t | taa |
| j | jiim |
| d | daal |
| r | raa |
| z | zaay |
| s | siin |
| g | ghayn |
| f | faa |
| q | qaaf |
| k | kaaf |
| l | laam |
| m | miim |
| n | nuun |
| h | haa |
| w | waaw |
| y | yaa |
Next, I placed the unsettled Arabic characters so that more frequently used ones are typed more easily. The frequency information is based on the textbook that I am using. It may be biased, but it should work as a rough estimate. Unfortunately, the number of keys is not sufficient to allocate all the necessary characters. Thus some rarely used characters are allocated to the shifted position of their associated character.
| Latin | Arabic |
|---|---|
| e | alif |
| u | alif with hamza above |
| o | alif wasla |
| a | ain |
| i | taa marbuta |
| c | shiin |
| v | Taa |
| p | Haa |
| ' | dhaal |
| ; | thaa |
| x | khaa |
| / | hamza |
| Latin | Arabic |
|---|---|
| " | DHaa |
| S | Saad |
| D | Daad |
| W | waaw with hamza |
| Y | yaa with hamza |
| E | alif maqsura |
| U | alif with hamza below |
| O | alif with madda |
Usually, only consonants are used to write Arabic text. On the other hand, what I type to learn Arabic is a textbook for beginners where almost all the consonant letters carry vowel signs. Therefore it is impontant that I can input vowel signs smoothly.
So I assigned the topmost row to the vowel signs and its shifted position to the Arabic-Indic digits. The latter assignment makes some ASCII symbols unavailable, but such symbols rarely appear in an Arabic textbook for beginners. The idea of moving digits to shifted positions for making room for additional characters is inspired by the AZERTY French keyboard.
The assignment of the vowel signs is based on the frequency information mentioned above. The right and left hands are roughly evenly used for vowel signs. Since the topmost row is far from the home position, the middle fingers, which are the longest, take charge of the most frequent signs.
The following is the final layout with some more assignments for various signs. First, the layout without shift.
The next one is the layout with shift.
As I wrote in French and German , keeping one key held down while hitting another key is more difficult than hitting two keys consecutively. Therefore I made it possible to get the same character by prefixing a backslash. In Emacs, this layout is implemented as a Quail package.
Now you can type Emacs commands efficiently, English text smoothly, French and German text simultaneously, Japanese text without conversion and Arabic text comfortably. And this is the end of The Most Aggressive Keyboard Customisation in the Town. I am using this keyboard layout for everyday's work, and it really works. If you are interested, please try the virtual keyboard. (Don't worry; it will not change anything on your computer.)
If you think your keyboard customisation is more aggressive and more convenient than mine, please let me know. I doubt there exist more aggressive customisations, but if there are, I am ready to adopt a new one to live an easier life.
Thank you for reading.