Khmer Software Initiative

 

Khmer Keyboard

 

 
 

Unicode and the OpenType definition completely change the way in which Khmer is handled and typed.

In Khmer language –sometimes- vowels that are pronounced after a consonant are written before that consonant. Preexisting non-standard fonts and keyboards are prepared to type Khmer in the same order in which is handwritten (from left to right). Unicode and OpenType specify that now Khmer must be typed in speech order, that is, a vowel that is pronounced after a consonant is typed after that consonant, even if it is written before (the word processor and all other applications will place the vowel in the right place). There are other important changes in the way words are typed.

All these factors command the development of a new keyboard that is well adapted to the new way of typing. Keyboards are usually developed for typing at the highest possible speed, based on a study of what characters are more usually typed one after the other, and other typing frequency data.

 

 Assignment of Khmer script characters to individual keys

The KhmerOS project has designed a keyboard to work on Khmer Unicode. We do not claim to have the best Khmer Unicode keyboard on the world, but we do have though a lot about it. What follow are some of the most important reasons that have taken us to design it the way we have.

1) We looked a many keyboards that exist already, including Dvorak keyboards for fast typing and phonetic keyboards. At the end we decided that the most important factor was that the keyboard be accepted by current users. In order to do that, we needed to change as few letters as possible from the keyboards that people presently use (ABC and Lemon Keyboards). Therefore, the KhmerOS keyboard has maintained all consonants and dependent vowels in the same places, as well as some diacritics and independent vowels (there only one exception, mentioned later). All these keys are accessible either through a direct key or a shifted key.

 All Coeng consonants have been taken away from the keyboards as now they are formed by the Coeng character and the normal consonant key. Also all “incomplete vowel parts” (such as the second part of SRA AU) have been taken out, as well as the shifted positions of some vowels (high SRA I and similar ones), leaving quite a lot of space in the keyboard to add the complete vowels (such as SRA OE or SRA IE) and even then, only three planes are necessary, and not even complete (Normal, Shift, Alt-Gr).

2) Complete dependent vowels have been placed in the Normal and Shift states, considering in all cases their frequency of use. Characters that have a low usage frequency (independent vowels and diacritics) where placed under the Alt-Gr (left Alt) key.

3) Following Unicode methodology, which simplifies enormously the keyboard, Coeng consonants are constructed using a dead key (placed in letter j) and then the consonant key (shifted if the normal consonant is shifted). This has proved to lead to very fast typing.

4) An important decision was where to put the most used key in Khmer Unicode today, the Zero Width Space (ZWSP, word separator). This character is needed for text auto-formatting. Without it lines need to be broken by hand, and it does not work in websites. The second most used character is the Coeng sign, which also needed to be placed correctly. The decision was to place the ZWSP at the spacebar (as a word separator it is an intuitive place), place the real space in the Shift+Space position and then place the Coeng in a very easy to access key (in the middle raw and in the center of the keyboard). Of all the letters that are easy to access, letter J was the only one that had a free Shift position (that before was occupied by Coeng NYO), and therefore the one that could be used with the least changes. NYO (in letter J) was changed to the Shift position and Coeng was placed in the NYO position (normal j key).

5) The most usual dependent vowels such as the one used in the word AUI (give) are placed in very easy to access positions (Normal plane)..

6) Only consonants, vowels and diacritics are printed in the keyboard, not divination signs or lunar dates. These are accessible through the Ctrl+Alt+Shift combinations, but they are invisible to the 99,9% of user who will never use them. This leads to a very clean printed keyboard, in which for each key the two main Khmer letters will be more prominently printed that the Latin (English) letter for that key (which will also be smaller) and the character that will be accessible using the left Alt key.

7) We though for a long time if the keyboard should be done according to the Chuon Nat dictionary (the official reference, 20 vowels) or to what is currently being taught in Cambodia (23 vowels), which has been or final choice (among other factors, because the 23 vowels system seems to be favored by the government, and in no case would we want to confront them on these issues, we have to all work in the same direction).

The keyboard decription, as well as the drivers, can be found in our download page.

 

Keyboard Drivers

Once the keyboard has been defined, keyboard description files have to written for Microsoft and Linux, so that the systems will recognise the keyboard layouts. Tools are widely available to do this work.

In Microsoft it is possible to create native Microsoft Keyboard drivers (.kbd files) or two use a keyboard emulator that allows to easily change from Khmer to Western keyboard and back (as a matter fact, Microsoft Windows already allows something similar). The driver for the KhmerOS keyboard is available in the download page.

In Unix/Linux the modern way of handling keyboard maps under X is the XKB extension. XKB is very configurable and powerful, however, it is also very complex and not well documented. The XKB protocol was not made thinking about including in the keyboard characters that need more than one Unicode code-point to be represented, but we have got around this and the driver is also available for download..

Keyboard manufacturing

The initiative wants to make sure that Unicode keyboards are available when the first translated programs hit the Cambodian "any-software-for-two-dollars" shops. The initiative will work with computer manufacturers to assure that such keyboards exist.
Manufacturing keyboards comes down to manufacturing keys for keyboards, the rest of the keyboard is standard issue. The price of a standard keyboard in Cambodia is of 5 to 8 US$ in the market. The wholesale price should be around $4 dollars.
 

Page Last Updated: Friday, 22 October 2004

For any comments on the web, please contact the wembaster of this domain