View source for Illume keyboard

From Openmoko

Jump to: navigation, search

You do not have permission to edit this page, for the following reasons:

  • The action you have requested is limited to users in the group: Administrators.
  • You must confirm your email address before editing pages. Please set and validate your email address through your user preferences.

You can view and copy the source of this page:

Template used on this page:

Return to Illume keyboard.

Personal tools

Illume keyboard (aka Raster's Keyboard, as it has been made by user:Rasterman) is a non-predictive, corrective virtual touchscreen keyboard.

The Illume keyboard is the default touchscreen keyboard in Om 2009.

How to use

The Illume keyboard has been thought not to guess the word you want to type and suggest it to you before you end typing, but to take into account the fact that since the keyboard space is little, you might have pressed a wrong key while typing.

It is intended to work with a dictionary for your language, any dictionary taken from the /usr/share/dict directory of your linux distro is ok. After you have the dictionary, the keyboard learns new words as you type them.

Illume keyboard has three modes you can use:

  • Default
  • Number
  • Terminal

You can switch with the button on top right.

Number and Terminal are quite self-explaining, the only interesting thing is that if you feel like changing their layout to something more comfortable to you, then read Illume_keyboard#How_to_install_a_new_Keyboard_Layout.

Default mode works like this:

  • you type a sequence of letters
  • for each letter you type the keyboard takes into consideration the distance from the point you pressed and ANY letter in the neighborhood, not only the one you pressed. This is because you might have missed the letter you wanted to type.
  • while you type, the keyboard makes a combination of all the words that you could have typed, looks for them in the dictionary and presents them in an order that depends both on their frequency use and the distance from coordinates from where you touch the screen.

Now tips and usage tricks:

  • if you want to enter a word that it's not in the keyboard, you simply enter it, then push the button on top left. That button shows the complete list of the possible words, and on top of it the one you really entered.
  • if you push a letter and keep it pushed for a couple seconds, you enter exactly that letter.
  • to backspace or whitespace you slide with your finger on any place in the keyboard from right to left or from left to right.

You do not need to erase that much, keep in mind that the keyboard is done to correct your errors, so if you realize you pushed the wrong letter, go on typing instead of erasing.

Raster explained this in a long and detailed post, here

How to use:

  • Sliding down over any keyboard sends Enter
  • Sliding up over any keyboard switches to the next keyboard
  • Tapping the upper-right key ("a", "1" or "q") lists the available keyboards
  • Tapping the upper-left key "Abc" lists the available dictionaries

  • With "a" keyboard:
  • Sliding left over the keyboard deletes the last entered key
  • Sliding right over the keyboard sends the composed word
  • Tapping the upper-left key "Abc" during the composition of a word

lists all possible words in order to choose the right one

  • With "q" keyboard:
  • Sliding left over the keyboard sends a backspace
  • Sliding right over the keyboard sends a space

How to install the illume (Raster's) keyboard ?

NOTE: This install section might not be up to date for Om 2009

Make sure you have installed illume-config (qwerty button) and illume-config-illume

opkg install illume-config illume-config-illume 

Turn off built-in qtopia keyboard:

Edit /etc/X11/Xsession.d/89qtopia and set


Add it if it is not there.

Purge E's cache

rm -rf ~/.e/e/config/illume

Restart X

/etc/init.d/xserver-nodm restart

Then switch keyboard from "None" to "Default" in Illume's preferences.

  • Troubleshoting

If this does not work for your installation: See Keyboard Toggle or change /etc/enlightenment/default_profile to point to the illume profile instead of asu.


Changing illume keyboard layout via an opkg package

To install another layout from the list in the next section. Copy the package link and insert it instead of <layoutpackage> or via the SHR's repositories (illume-keyboard-LANG) and hopefully will be available in other repositories soon (where? Which prefix http-link?):

opkg install <layoutpackage>


opkg install

List of illume keyboards

icon type (mode) package comments
Arabic.png alphanumeric Arabic QWERTY layout optimized for arabic alphanumeric layout.
Qwerty.png terminal English QWERTY layout Installed by default.
Qwerty-dutch-nl.png terminal Dutch QWERTY layout Based upon QWERTY terminal layout, optimised for Dutch, usable for most north-western European languages.
Azerty-french-fr.png terminal French AZERTY layout Based upon QWERTY terminal layout. TODO: Icon needs AZERTY overlay.
Qwerty-norwegian-no.png terminal Norwegian QWERTY layout Based upon QWERTY terminal layout.
Terminal-russian-ru.png terminal Russian ЙЦУКЕН layout Based upon QWERTY terminal layout.
Dvorak.png terminal Dvorak layout Based upon QWERTY terminal layout.
Alpha.png alphanumeric English QWERTY layout Installed by default.
Alpha.png alphanumeric English finger friendly QWERTY layout Based upon QWERTY alphanumeric layout.
Alpha-hebrew-il.png alphanumeric Hebrew פםןךטא layout In case there are squares instead of Hebrew letters, change illume's font.
Alpha-danish-dk.png alphanumeric Danish QWERTY layout Based upon QWERTY alphanumeric layout.
Alpha-german-de.png alphanumeric German QWERTZ layout Based upon QWERTY alphanumeric layout.
Alpha.png alphanumeric Perisan QWERTZ layout Based upon QWERTY alphanumeric layout. TODO: Create new icon for the Persian alphabet of پﺏﺍ like the transparent ABC.
Numeric.png numeric Numeric layout Installed by default.
Numeric-alt.png numeric Alternative finger friendly numeric layout Major improvement on numeric layout.
Browse.png numeric Finger friendly browse layout Derived from numeric layout.

NOTE: They are all available from SHR's repositories (illume-keyboard-LANG) and hopefully will be available in other repos soon.

Icons are created by hand in a 25x25 PNG with the GIMP according to color picker values of flags in Wikipedia. The reason for this is, that no rescaling or ant-alias artifacts will emerge in this small raster. Subsequently, import this in Inkscape and type the characters. Note that for keyboard layout that are not connected to a single particular country, like Persian, no flag backgrouns is needed. Each character is typed twice in Arial Black or bold Arial. For alphanumeric, use the ABC of that language, for 'QWERTY' use the 6 first characters on the top row, note that for languages that read from richt to left is to use 'first'/last 6 characters on the right side. One characters is white with a black border of 0.5 and one is black without border but with a blur of 15 (see CTRL+SHIFT+F slider at the bottom). Reposition the whole lot and put everything in the correct layer. Export a 25x25 PNG with the background bitmap, which is also the selected export area, and you are done. Here is a video of this procedure.

TODO: Rasterman, can you verify this and improve this procedure where needed? Especially improve details on which font to use and which Gaussian blur to use.

How to install a new Keyboard Layout

NOTE: This install section might not be up to date for Om 2009

  • copy or download the kbd File to
  • issue the command:
    killall -HUP enlightenment
  • if that didn't work do: now restart the XServer with the following command
    /etc/init.d/xserver-nodm restart
  • you should now be able to select the newly installed keyboard

How to make your own Keyboard Layout (Illustration)

kbd 450 150

# keyboard type e.g. TERMINAL, ALPHA (this one shows up when writing an sms), NUMERIC, SYMBOL
# an icon for the keyboard so you know which one you have
icon qwerty.png

#key  x-coordinate  y-coordinate width-of-key height-of-key
#state     symbol(shown on the key)    keysym(output of the key)
key   0   0  30  30
  normal   ` grave
  shift    ~ asciitilde
  capslock ` grave

a list of keysyms can be found here

How to import dictionaries

If you want to use illume's predictive keyboard in a language other than US English, you should import your own dictionary. You can find a .dic file that works with illume in myspell or hunspell. If you have it installed on your linux machine, you should find the dictionary file in
Just copy it over to
on your phone. Now you should be able to select it via the dictionary selector on the illume keyboard. The drawback is that they don't come with predefined frequency values though, so predictions won't be very good at first until illume has learned by usage. Still a "dumb" dictionary in your own language should work much better than a smart English one for non-english texts.

The Terminal layout has an empty dictionary. The words you type are entered automatically in the dictionary.

To add another language you have to do the following steps:

  • Get a dictionary file from your computer.

On Debian/Ubuntu systems, it is located in /usr/share/dict Here is a Portuguese dictionary for OpenMoko’s Illume keyboard.

To add a dictionary you can find them by typing :

apt-cache search wordlist|grep ^w|sort

and install it on your computer with :

apt-get install wfrench # (replace french with your language)
  • Copy the dictionary to your freerunner in /usr/lib/enlightenment/modules/illume/dicts/

for example do :

scp /usr/share/dict/french root@
  • Now you can choose your language in the upper left corner of the keyboard !