Illume

From Openmoko

(Difference between revisions)
Jump to: navigation, search
(Dbus: +see also threads)
(SPAM Undo revision 84584 by Xadmin (Talk))
 
(29 intermediate revisions by 11 users not shown)
Line 46: Line 46:
 
The icons you see on the desktop
 
The icons you see on the desktop
  
=Virtual Keyboard=
+
=Virtual Touchscreen Illume Keyboard=
 
+
{{Main|Illume keyboard}}
Illume's own virtual keyboard and protocol and vkbd setup.
+
 
+
=== How to install the illume (Raster's) keyboard ? ===
+
 
+
Short answer:
+
 
+
<pre>
+
opkg install illume-config-illume
+
</pre>
+
 
+
Detailed answer:
+
<pre>
+
#Get the qwerty button if not there yet
+
opkg install illume-config
+
 
+
#Turn off built-in qtopia keyboard
+
#Add/modify "export QTOPIA_NO_VIRTUAL_KEYBOARD=1" in /etc/X11/Xsession.d/89qtopia
+
 
+
opkg install illume-config-illume
+
 
+
#Purge E's cache
+
rm -rf ~/.e/e/config/illume
+
 
+
#Restart X
+
/etc/init.d/xserver-nodm restart
+
</pre>
+
 
+
Then switch keyboard from "None" to "Default" in Illume's preferences.
+
 
+
Tips when the howto over doesn't work: See [[Keyboard Toggle]] or change /etc/enlightenment/default_profile
+
to point to the illume profile instead of asu.
+
 
+
=== How to use [[Illume_keyboard|(Raster's) keyboard]]? ===
+
 
+
* 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
+
<br>
+
* 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
+
<br>
+
* With "q" keyboard:
+
* Sliding left over the keyboard sends a backspace
+
* Sliding right over the keyboard sends a space
+
 
+
=== List of illume keyboards ===
+
{|class="wikitable" border="1" cellpadding="5" cellspacing="0"
+
| icon || type || package || comments
+
|-
+
| [[Image:Qwerty.png]] || terminal || [http://trac.enlightenment.org/e/browser/trunk/e/src/modules/illume/keyboards/Terminal.kbd English QWERTY layout] || Installed by default.
+
|-
+
| [[Image:Qwerty-dutch-nl.png]] || terminal || [http://www.opkg.org/package_87.html Dutch QWERTY layout] || Based upon QWERTY terminal layout.
+
|-
+
| [[Image:Azerty-french-fr.png]] || terminal || French AZERTY layout || Based upon QWERTY terminal layout. TODO: Icon needs AZERTY overlay.
+
|-
+
| [[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://lucky.awardspace.co.uk/home/openmoko Russian ЙЦУКЕН layout] || Based upon QWERTY terminal layout. TODO: Icon needs  ЙЦУКЕН overlay.
+
|-
+
| [[Image:Dvorak.png]] || terminal || [http://tg.x-net.hu/openmoko/keyboards/ Dvorak layout ] || Based upon QWERTY terminal layout.
+
|-
+
| [[Image:Alpha.png]] || alphanumeric || [http://trac.enlightenment.org/e/browser/trunk/e/src/modules/illume/keyboards/Default.kbd English QWERTY layout] ||  Installed by default.
+
|-
+
| [[Image:alpha.png]] || alphanumeric || [http://jmccloud.jm.funpic.de/kbd/ English QWERTY layout with more space between the keys] || Based upon QWERTY alphanumeric layout. Asymmetric and optimized for right handed finger input.
+
|-
+
| [[Image:Alpha-hebrew-il.png]] || alphanumeric || [http://stosb.com/openmoko/illume-keyboards-hebrew_0.2_armv4t.ipk Hebrew פםןךטא layout] || In case there are squares instead of Hebrew letters, change illume's font.
+
|-
+
| [[Image:Alpha-danish-dk.png]] || alphanumeric || [https://projects.openmoko.org/projects/danish-illume/ Danish QWERTY 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://milad.rastian.com/tmp/Persian.kbd Perisan QWERTZ layout] || Based upon QWERTY alphanumeric layout. TODO: Create new icon for the Persian alphabet of پﺏﺍ like the transparent ABC.
+
|-
+
 
+
| [[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://lists.openmoko.org/pipermail/community/2008-September/030096.html Numeric layout with bigger numbers and numeric layout with function keys] || 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. TODO: Rasterman, can you verify this and improve this procedure where needed?
+
 
+
==== How to install a new Keyboard Layout ====
+
 
+
* copy or download the kbd File to <pre>/usr/lib/enlightenment/modules/illume/keyboards</pre>
+
* issue the command: 'killall -HUP enlightenment'
+
* if that didn't work do: now restart the XServer with the following command <pre>/etc/init.d/xserver-nodm restart</pre>
+
* you should now be able to select the newly installed keyboard
+
 
+
==== How to make your own Keyboard Layout (Illustration)====
+
 
+
 
+
<pre>
+
##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
+
</pre>
+
 
+
a list of keysyms can be found [http://www.in-ulm.de/~mascheck/X11/keysyms.txt here]
+
  
 
=Configuration=
 
=Configuration=
Line 169: Line 55:
 
=Dbus=
 
=Dbus=
  
What is this dbus goop?
+
What is this [[dbus]] goop?
  
 
= See also =
 
= See also =
Line 175: Line 61:
 
Raster explains mostly everything in [http://lists.openmoko.org/pipermail/community/2009-January/038836.html this] and [http://lists.openmoko.org/pipermail/community/2009-January/039125.html that] thread. We still need a good synthesis though.
 
Raster explains mostly everything in [http://lists.openmoko.org/pipermail/community/2009-January/038836.html this] and [http://lists.openmoko.org/pipermail/community/2009-January/039125.html that] thread. We still need a good synthesis though.
  
[[Category:System Developers]]
+
= Issues =
 +
* no support for freedesktop systray specifications [http://trac.enlightenment.org/e/ticket/455 bug# 455]
 +
* no support for EWMH (it seems only _NET_ACTIVE_WINDOW is working) [http://trac.enlightenment.org/e/ticket/456 bug# 456]
 +
* X11-16 broken and suggested as being unusable [http://trac.enlightenment.org/e/ticket/454 bug# 454]
 +
* keyboard doesn't work in landscape mode (disabling/enabling keyboard (in one go) in settings works around it) [http://trac.enlightenment.org/e/ticket/358 bug# 358]
 +
* no support for subfolders [http://trac.enlightenment.org/e/ticket/457 bug# 457]
 +
* if no keyboard is selected, no application can work in full screen [http://trac.enlightenment.org/e/ticket/398 bug# 398]
 +
 
 +
''please correct the above if wrong a/o add workarounds''
 +
 
 
[[Category:Om 2008.8]]
 
[[Category:Om 2008.8]]
 +
[[Category:Middleware]]

Latest revision as of 08:42, 14 September 2011


il·lume (ĭ-lōōm') tr.v. To illuminate. Bringing light to the darkness of the mobile world.

Contents

[edit] Introduction

Illume is a module for Enlightenment that modifies the user interface of enlightenment to work cleanly and nicely on a mobile device - such as an Openmoko phone. It is currently geared more for a 480x640 (VGA) portrait mode screen but can be trivially modified to work on QVGA or any other resolution. The Final goal is to have it work on a wide range of resolutions seamlessly.

Illume-Keyboard-Screenshot.png

It combines an application launcher interface along with an application manager and switcher, virtual keyboard support, as well as forcing certain simple layout policies on applications (such as making their main windows borderless and fullscreen except for Illume's control bar), as well as support for the X11 port of qtopia.

[edit] Getting Started

Here is how to get started and install Illume on your desktop and try it out. This would also allow development on it, adding features you need and testing them. For this you will want code. First you will want Enlightenment's latest and greatest. How much do you want? You can get the whole repository, or just the bits you need. If you want the whole thing in one checkout, please see http://svn.enlightenment.org for information. If you want to just get a quick script that does it for you try http://www.rasterman.com/files/get_e.sh - this script will check out only the bits of SVN you need. It also assumes you have sudo root access and if on Ubuntu or Debian it will try and install packages known to be needed for building, or useful. Read the script if you are not sure. If it doesn't know what distribution you use, you will need to try and have a working compiler, autotools etc. etc. yourself. Once you have run this and built and installed everything you will need illume, so fetch it with:

svn checkout http://svn.enlightenment.org/svn/e/trunk/e/src/modules/illume/

Now you just need to build it like everything else. (it is assumed you know about CFLAGS, LDFLAGS, PKG_CONFIG_PATH, PATH etc. in installing software and compiling it). Illume compiles like everything else in E land - standard autotools, so (in Illume's source directory):

./autogen.sh
make
sudo make install

This will compile and install Illume. As Illume is a module, not a program in its own right, you need to run it with Enlightenment, so use the provided run-script:

./x-ui.sh

and if you have Xephyr installed and everything went ok, a 480x640 window will pop up - with Enlightenment in it on your DISPLAY=:1 X display with all your system's app icons there.

[edit] Slipshelf

The bar at the top

[edit] Gadgets

The gadgets in the Slipshelf

[edit] Launcher

The icons you see on the desktop

[edit] Virtual Touchscreen Illume Keyboard

Main article: Illume keyboard


[edit] Configuration

How to configure illume via its own config dialog

[edit] Dbus

What is this dbus goop?

[edit] See also

Raster explains mostly everything in this and that thread. We still need a good synthesis though.

[edit] Issues

  • no support for freedesktop systray specifications bug# 455
  • no support for EWMH (it seems only _NET_ACTIVE_WINDOW is working) bug# 456
  • X11-16 broken and suggested as being unusable bug# 454
  • keyboard doesn't work in landscape mode (disabling/enabling keyboard (in one go) in settings works around it) bug# 358
  • no support for subfolders bug# 457
  • if no keyboard is selected, no application can work in full screen bug# 398

please correct the above if wrong a/o add workarounds

Personal tools
Key pages on:
Om 2008


il·lume (ĭ-lōōm') tr.v. To illuminate. Bringing light to the darkness of the mobile world.

Introduction

Illume is a module for Enlightenment that modifies the user interface of enlightenment to work cleanly and nicely on a mobile device - such as an Openmoko phone. It is currently geared more for a 480x640 (VGA) portrait mode screen but can be trivially modified to work on QVGA or any other resolution. The Final goal is to have it work on a wide range of resolutions seamlessly.

Illume-Keyboard-Screenshot.png

It combines an application launcher interface along with an application manager and switcher, virtual keyboard support, as well as forcing certain simple layout policies on applications (such as making their main windows borderless and fullscreen except for Illume's control bar), as well as support for the X11 port of qtopia.

Getting Started

Here is how to get started and install Illume on your desktop and try it out. This would also allow development on it, adding features you need and testing them. For this you will want code. First you will want Enlightenment's latest and greatest. How much do you want? You can get the whole repository, or just the bits you need. If you want the whole thing in one checkout, please see http://svn.enlightenment.org for information. If you want to just get a quick script that does it for you try http://www.rasterman.com/files/get_e.sh - this script will check out only the bits of SVN you need. It also assumes you have sudo root access and if on Ubuntu or Debian it will try and install packages known to be needed for building, or useful. Read the script if you are not sure. If it doesn't know what distribution you use, you will need to try and have a working compiler, autotools etc. etc. yourself. Once you have run this and built and installed everything you will need illume, so fetch it with:

svn checkout http://svn.enlightenment.org/svn/e/trunk/e/src/modules/illume/

Now you just need to build it like everything else. (it is assumed you know about CFLAGS, LDFLAGS, PKG_CONFIG_PATH, PATH etc. in installing software and compiling it). Illume compiles like everything else in E land - standard autotools, so (in Illume's source directory):

./autogen.sh
make
sudo make install

This will compile and install Illume. As Illume is a module, not a program in its own right, you need to run it with Enlightenment, so use the provided run-script:

./x-ui.sh

and if you have Xephyr installed and everything went ok, a 480x640 window will pop up - with Enlightenment in it on your DISPLAY=:1 X display with all your system's app icons there.

Slipshelf

The bar at the top

Gadgets

The gadgets in the Slipshelf

Launcher

The icons you see on the desktop

Virtual Keyboard

Illume's own virtual keyboard and protocol and vkbd setup.

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

Short answer:

opkg install illume-config-illume

Detailed answer:

#Get the qwerty button if not there yet
opkg install illume-config

#Turn off built-in qtopia keyboard
#Add/modify "export QTOPIA_NO_VIRTUAL_KEYBOARD=1" in /etc/X11/Xsession.d/89qtopia

opkg install illume-config-illume

#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.

Tips when the howto over doesn't work: See Keyboard Toggle or change /etc/enlightenment/default_profile to point to the illume profile instead of asu.

How to use (Raster's) keyboard?

  • 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

List of illume keyboards

icon type package comments
Qwerty.png terminal English QWERTY layout Installed by default.
Qwerty-dutch-nl.png terminal Dutch QWERTY layout Based upon QWERTY terminal layout.
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. TODO: Icon needs ЙЦУКЕН overlay.
Dvorak.png terminal Dvorak layout Based upon QWERTY terminal layout.
Alpha.png alphanumeric English QWERTY layout Installed by default.
Alpha.png alphanumeric English QWERTY layout with more space between the keys Based upon QWERTY alphanumeric layout. Asymmetric and optimized for right handed finger input.
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.png numeric Numeric layout with bigger numbers and numeric layout with function keys 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. TODO: Rasterman, can you verify this and improve this procedure where needed?

How to install a new Keyboard Layout

  • 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

How to make your own Keyboard 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

Configuration

How to configure illume via its own config dialog

Dbus

What is this dbus goop?

See also

Raster explains mostly everything in this and that thread. We still need a good synthesis though.