Illume keyboard
From Openmoko
(→List of illume keyboards: heading chg; more) |
|||
(58 intermediate revisions by 8 users not shown) | |||
Line 1: | Line 1: | ||
− | '''[[Illume]] keyboard''' (aka '''Raster Keyboard''', as it has been made by user:Rasterman) is a non-predictive, corrective virtual [http://en.wikipedia.org/wiki/Keyboard_%28computing%29#Touchscreens touchscreen keyboard]. | + | '''[[Illume]] keyboard''' (aka '''Raster's Keyboard''', as it has been made by user:Rasterman) is a non-predictive, optionally corrective virtual [http://en.wikipedia.org/wiki/Keyboard_%28computing%29#Touchscreens touchscreen keyboard]. |
− | The Illume keyboard is the default touchscreen keyboard in [[Om 2009]]. | + | The Illume keyboard is the default touchscreen keyboard in [[Om 2009]] and [[SHR]]. |
− | == How to use | + | == How to use == |
− | The Illume keyboard has been thought | + | The Illume keyboard has been thought 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. | + | 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. (090809: Hopefully not my passwords and other sensitive phrases?) |
− | + | The '''dictionary language''' can be changed with the '''top left button''' marked with upward arrow-like feature - default: | |
+ | *English (US) | ||
+ | *English (US) Small | ||
+ | |||
+ | The illume '''keyboard layout''' (and corrective mode) can be changed with the '''top right button''', marked with "ab"-like feature - typically: | ||
*Default | *Default | ||
*Number | *Number | ||
*Terminal | *Terminal | ||
− | |||
− | 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 [[ | + | 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 [[#Localization]]. |
Default mode works like this: | Default mode works like this: | ||
Line 31: | Line 34: | ||
Raster explained this in a long and detailed post, [http://lists.openmoko.org/nabble.html#nabble-td2115715 here] | Raster explained this in a long and detailed post, [http://lists.openmoko.org/nabble.html#nabble-td2115715 here] | ||
− | How to use | + | How to use gestures: |
* Sliding down over any keyboard sends Enter | * Sliding down over any keyboard sends Enter | ||
* Sliding up over any keyboard switches to the next keyboard | * Sliding up over any keyboard switches to the next keyboard | ||
Line 47: | Line 50: | ||
* Sliding right over the keyboard sends a space | * Sliding right over the keyboard sends a space | ||
− | == How to install | + | == How to install == |
{{Note|This install section might not be up to date for Om 2009}} | {{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 | Make sure you have installed illume-config (qwerty button) and illume-config-illume | ||
Line 77: | Line 80: | ||
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. | 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. | ||
− | == | + | == How to toggle the corrective mode on and off ? == |
− | === | + | {{Note|20100101: Unknown if this also works for illume keyboard}} |
− | To install another layout from the list. Copy the | + | Quick and Dirty version of toggle the corrective mode on and off is a small script that renames the dictionary words.dawg to words.dawg.off and back. The dict is still loaded, but after restart you can work without corrective mode, because the the corrective mode is dependend on the dictionary. |
+ | You can find the dictionary in the folder /opt/Qtopia/etc/dict/en_US | ||
+ | |||
+ | == Localization == | ||
+ | ===Adding 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 <layoutpackage> | ||
E.g.: | E.g.: | ||
opkg install http://www.aitel.hist.no/~helgehaf/openmoko/illume-keyboards-norwegian-no_0.1_all.ipk | opkg install http://www.aitel.hist.no/~helgehaf/openmoko/illume-keyboards-norwegian-no_0.1_all.ipk | ||
− | ===List of | + | ===List of layouts=== |
+ | |||
+ | {{note|Some are available from [[SHR]]'s repositories (illume-keyboard-LANG) and hopefully will be available in other repos soon.<br>Show the list:<br><pre>opkg list | grep "illume\-keyboard*" | more</pre>}} | ||
+ | |||
{| class="wikitable sortable" border="1" cellpadding="5" cellspacing="0" | {| class="wikitable sortable" border="1" cellpadding="5" cellspacing="0" | ||
! icon !! type (mode) !! package !! comments | ! icon !! type (mode) !! package !! comments | ||
Line 98: | Line 109: | ||
| [[Image:Qwerty-norwegian-no.png]] || terminal || [http://www.aitel.hist.no/~helgehaf/openmoko/ Norwegian QWERTY layout] || Based upon QWERTY terminal layout. | | [[Image:Qwerty-norwegian-no.png]] || terminal || [http://www.aitel.hist.no/~helgehaf/openmoko/ Norwegian QWERTY layout] || Based upon QWERTY terminal layout. | ||
|- | |- | ||
− | | [[Image:Terminal-russian-ru.png]] || terminal || [http:// | + | | [[Image:Qwerty.png]] || terminal || [http://leth.yi.org/files/Swedish.kbd Swedish QWERTY layout] || Based upon QWERTY terminal layout. (modified norweigan) |
+ | |- | ||
+ | | [[Image:Terminal-russian-ru.png]] || terminal || [http://kyllene.net/openmoko Russian ЙЦУКЕН layout] || Based upon QWERTY terminal layout. | ||
|- | |- | ||
| [[Image:Dvorak.png]] || terminal || [http://tg.x-net.hu/openmoko/keyboards/ Dvorak layout ] || Based upon QWERTY terminal layout. | | [[Image:Dvorak.png]] || terminal || [http://tg.x-net.hu/openmoko/keyboards/ Dvorak layout ] || Based upon QWERTY terminal layout. | ||
Line 112: | Line 125: | ||
| [[Image:Alpha-german-de.png]] || alphanumeric || [http://www.hackenberger.at/openmoko/German.kbd German QWERTZ layout] || Based upon QWERTY alphanumeric layout. | | [[Image:Alpha-german-de.png]] || alphanumeric || [http://www.hackenberger.at/openmoko/German.kbd German QWERTZ layout] || Based upon QWERTY alphanumeric layout. | ||
|- | |- | ||
− | | [[Image:Alpha.png]] || alphanumeric || [http:// | + | | [[Image:Alpha-german-de.png]] || alphanumeric || [http://d-a300.selfip.net/files/Neo%202.0.kbd Basic Neo 2.0 layout] || Based upon German QWERTZ layout. Only first layer (letters). |
+ | |- | ||
+ | | [[Image:Persian.png]] || alphanumeric || [http://build.shr-project.org/shr-unstable/ipk/all/illume-keyboard-persian_0.0+gitr4+9bd2c8f060c48eee3ab247838d8ecf2cf7082472-r3.4_all.ipk Persian QWERTZ layout] || Persian layout. | ||
|- | |- | ||
| [[Image:numeric.png]] || numeric || [http://trac.enlightenment.org/e/browser/trunk/e/src/modules/illume/keyboards/Numbers.kbd Numeric layout] || Installed by default. | | [[Image:numeric.png]] || numeric || [http://trac.enlightenment.org/e/browser/trunk/e/src/modules/illume/keyboards/Numbers.kbd Numeric layout] || Installed by default. | ||
Line 119: | Line 134: | ||
|- | |- | ||
| [[Image:browse.png]] || numeric || [http://www.opkg.org/package_144.html Finger friendly browse layout] || Derived from numeric layout. | | [[Image:browse.png]] || numeric || [http://www.opkg.org/package_144.html Finger friendly browse layout] || Derived from numeric layout. | ||
+ | |- | ||
+ | | ? || numeric || [http://lists.openmoko.org/pipermail/community/2008-September/030088.html Bigger numbers layout and Numbers with Function keys layout] || Unknown if same as one of the above numeric layouts. Good for playing games in ScummVM. | ||
|} | |} | ||
− | |||
− | |||
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. [http://www.youtube.com/watch?v=F6QNL1mvXdI Here] is a video of this procedure. | 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. [http://www.youtube.com/watch?v=F6QNL1mvXdI Here] is a video of this procedure. | ||
Line 127: | Line 142: | ||
'''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. | '''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 | + | === How to install a new layout === |
{{Note|This install section might not be up to date for Om 2009}} | {{Note|This install section might not be up to date for Om 2009}} | ||
Line 135: | Line 150: | ||
* you should now be able to select the newly installed keyboard | * you should now be able to select the newly installed keyboard | ||
− | === How to make your own | + | === How to make your own layout (illustration)=== |
<pre> | <pre> | ||
Line 157: | Line 172: | ||
a list of keysyms can be found [http://www.in-ulm.de/~mascheck/X11/keysyms.txt here] | a list of keysyms can be found [http://www.in-ulm.de/~mascheck/X11/keysyms.txt here] | ||
− | === How to | + | Note: the keyboard layout must start with <code>##KBDCONF-1.0</code>. Do not add comments before this line. |
− | + | ||
+ | === How to install a different dictionary === | ||
+ | A few non-English dictionaries are included in the SHR distribution. You can list them with the opkg tool: | ||
+ | opkg list | grep illume-dic | ||
+ | |||
+ | An alternative is to use the dictionary from your desktop. 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. | ||
+ | Install myspell with your prefered dictionary on the desktop and copy the <code>*.dict</code> file to the freerunner. The dictionaries usually sit in <code>/usr/share/myspell/dicts</code>. Copy the file ending with <code>.dic</code> to where the window manager will find it. With the Illume profile this path is: | ||
+ | /usr/lib/enlightenment/modules/illume/dicts/ | ||
+ | With Illume2 the path is: | ||
+ | /usr/lib/enlightenment/modules/illume-keyboard/dicts/ | ||
+ | Example for the copy command: | ||
+ | scp /usr/share/myspell/dicts/french.dic root@192.168.0.202:/usr/lib/enlightenment/modules/illume/dicts/French.dic | ||
+ | Now you can choose your language in the upper left corner of the keyboard. | ||
+ | |||
+ | If you'd rather not use any prefabricated dictionary you can install an empty file as dictionary: | ||
+ | touch /usr/lib/enlightenment/modules/illume/dicts/None.dic | ||
+ | By using it, it will get filled by the words you use and after time it will start correcting based on your previous typing. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
[[Category:Touchscreen keyboards| ]] | [[Category:Touchscreen keyboards| ]] |
Latest revision as of 01:35, 31 August 2010
Illume keyboard (aka Raster's Keyboard, as it has been made by user:Rasterman) is a non-predictive, optionally corrective virtual touchscreen keyboard.
The Illume keyboard is the default touchscreen keyboard in Om 2009 and SHR.
Contents |
[edit] How to use
The Illume keyboard has been thought 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. (090809: Hopefully not my passwords and other sensitive phrases?)
The dictionary language can be changed with the top left button marked with upward arrow-like feature - default:
- English (US)
- English (US) Small
The illume keyboard layout (and corrective mode) can be changed with the top right button, marked with "ab"-like feature - typically:
- Default
- Number
- Terminal
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 #Localization.
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 gestures:
- 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
[edit] How to install
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
export QTOPIA_NO_VIRTUAL_KEYBOARD=1
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.
[edit] How to toggle the corrective mode on and off ?
NOTE: 20100101: Unknown if this also works for illume keyboard |
Quick and Dirty version of toggle the corrective mode on and off is a small script that renames the dictionary words.dawg to words.dawg.off and back. The dict is still loaded, but after restart you can work without corrective mode, because the the corrective mode is dependend on the dictionary.
You can find the dictionary in the folder /opt/Qtopia/etc/dict/en_US
[edit] Localization
[edit] Adding 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>
E.g.:
opkg install http://www.aitel.hist.no/~helgehaf/openmoko/illume-keyboards-norwegian-no_0.1_all.ipk
[edit] List of layouts
NOTE: Some are available from SHR's repositories (illume-keyboard-LANG) and hopefully will be available in other repos soon. Show the list: opkg list | grep "illume\-keyboard*" | more |
icon | type (mode) | package | comments |
---|---|---|---|
![]() |
alphanumeric | Arabic QWERTY layout | optimized for arabic alphanumeric layout. |
![]() |
terminal | English QWERTY layout | Installed by default. |
![]() |
terminal | Dutch QWERTY layout | Based upon QWERTY terminal layout, optimised for Dutch, usable for most north-western European languages. |
![]() |
terminal | French AZERTY layout | Based upon QWERTY terminal layout. TODO: Icon needs AZERTY overlay. |
![]() |
terminal | Norwegian QWERTY layout | Based upon QWERTY terminal layout. |
![]() |
terminal | Swedish QWERTY layout | Based upon QWERTY terminal layout. (modified norweigan) |
![]() |
terminal | Russian ЙЦУКЕН layout | Based upon QWERTY terminal layout. |
![]() |
terminal | Dvorak layout | Based upon QWERTY terminal layout. |
![]() |
alphanumeric | English QWERTY layout | Installed by default. |
![]() |
alphanumeric | English finger friendly QWERTY layout | Based upon QWERTY alphanumeric layout. |
![]() |
alphanumeric | Hebrew פםןךטא layout | In case there are squares instead of Hebrew letters, change illume's font. |
![]() |
alphanumeric | Danish QWERTY layout | Based upon QWERTY alphanumeric layout. |
![]() |
alphanumeric | German QWERTZ layout | Based upon QWERTY alphanumeric layout. |
![]() |
alphanumeric | Basic Neo 2.0 layout | Based upon German QWERTZ layout. Only first layer (letters). |
![]() |
alphanumeric | Persian QWERTZ layout | Persian layout. |
![]() |
numeric | Numeric layout | Installed by default. |
![]() |
numeric | Alternative finger friendly numeric layout | Major improvement on numeric layout. |
![]() |
numeric | Finger friendly browse layout | Derived from numeric layout. |
? | numeric | Bigger numbers layout and Numbers with Function keys layout | Unknown if same as one of the above numeric layouts. Good for playing games in ScummVM. |
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.
[edit] How to install a new layout
NOTE: This install section might not be up to date for Om 2009 |
- copy or download the kbd File to
/usr/lib/enlightenment/modules/illume/keyboards
- 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
[edit] How to make your own layout (illustration)
##KBDCONF-1.0 kbd 450 150 # keyboard type e.g. TERMINAL, ALPHA (this one shows up when writing an sms), NUMERIC, SYMBOL type TERMINAL # 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 #columns: #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
Note: the keyboard layout must start with ##KBDCONF-1.0
. Do not add comments before this line.
[edit] How to install a different dictionary
A few non-English dictionaries are included in the SHR distribution. You can list them with the opkg tool:
opkg list | grep illume-dic
An alternative is to use the dictionary from your desktop. 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.
Install myspell with your prefered dictionary on the desktop and copy the *.dict
file to the freerunner. The dictionaries usually sit in /usr/share/myspell/dicts
. Copy the file ending with .dic
to where the window manager will find it. With the Illume profile this path is:
/usr/lib/enlightenment/modules/illume/dicts/
With Illume2 the path is:
/usr/lib/enlightenment/modules/illume-keyboard/dicts/
Example for the copy command:
scp /usr/share/myspell/dicts/french.dic root@192.168.0.202:/usr/lib/enlightenment/modules/illume/dicts/French.dic
Now you can choose your language in the upper left corner of the keyboard.
If you'd rather not use any prefabricated dictionary you can install an empty file as dictionary:
touch /usr/lib/enlightenment/modules/illume/dicts/None.dic
By using it, it will get filled by the words you use and after time it will start correcting based on your previous typing.