Illume improvements

From Openmoko

Revision as of 11:13, 24 June 2009 by Khiraly (Talk | contribs)

Jump to: navigation, search

Contents

Show always the actual characters at the bottom

When you type words using the illume keyboard, often you dont see what you have typed so far. Especially, when there is no similar word in the match list (upper middle). You can check the chars, using the top-left button, and wait for the list to appear (it is always the first item at the top), but it is time consuming process, especially, when you type a lot.

The goal of this modification, is to always display at the bottom (dead area) the already typed characters as-is. It would be very useful. I (Khiraly) have already done the theme part (illume.edc), there is "only" the C source part left. But Im stuck, please help (see sections below).

Modify the theme (illume.edc) file (DONE)

Here is the patch and a screenshot: Illume display char patch

Display char.png


Modify illume C source code (TODO, need help)

Checkout the illume source:

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

Obtaining the current word, is possibly in the e_kbd_int.c file using:

 e_kbd_buf_actual_string_get(ki->kbuf)

function call.

Maybe we should inject our code somewhere around the line 1757:

  ki->base_obj = _theme_obj_new(ki->win->evas,

ki->themedir, "e/modules/kbd/base/default");

Because this is the .edc object where our TEXT part is.

Multiple mode for each dictionaries

Current situation:

Each kbd file is hardwired. If it is type ALPHA, it cant be changed.

1. Terminal type, it echoes the typed char directly.
2. Alpha type, it autocorrect the world and inject a space after it

Proposed solution:

DONT hardwire the kbd type, make it selectable instead.

1. Terminal type (like the old)
2. Alpha type WITHOUT space (NEW) 
3. Alpha type WITH space (like the old)

Language specific local dictionaries

Currently each dicitonary pollutes the same local file, which is memory mapped in illume keyboard. Using multiple language concurrently degrades the dictionary accuracy (thats it, it propose german words in english texts and vice-versa)

Personal tools

Show always the actual characters at the bottom

When you type words using the illume keyboard, often you dont see what you have typed so far. Especially, when there is no similar word in the match list (upper middle). You can check the chars, using the top-left button, and wait for the list to appear (it is always the first item at the top), but it is time consuming process, especially, when you type a lot.

The goal of this modification, is to always display at the bottom (dead area) the already typed characters as-is. It would be very useful. I (Khiraly) have already done the theme part (illume.edc), there is "only" the C source part left. But Im stuck, please help (see sections below).

Modify the theme (illume.edc) file (DONE)

Here is the patch and a screenshot: Illume display char patch

Display char.png


Modify illume C source code (TODO, need help)

Checkout the illume source:

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

Obtaining the current word, is possibly in the e_kbd_int.c file using:

 e_kbd_buf_actual_string_get(ki->kbuf)

function call.

Maybe we should inject our code somewhere around the line 1757:

  ki->base_obj = _theme_obj_new(ki->win->evas,

ki->themedir, "e/modules/kbd/base/default");

Because this is the .edc object where our TEXT part is.

Multiple mode for each dictionaries

Current situation:

Each kbd file is hardwired. If it is type ALPHA, it cant be changed.

1. Terminal type, it echoes the typed char directly.
2. Alpha type, it autocorrect the world and inject a space after it

Proposed solution:

DONT hardwire the kbd type, make it selectable instead.

1. Terminal type (like the old)
2. Alpha type WITHOUT space (NEW) 
3. Alpha type WITH space (like the old)

Language specific local dictionaries

Currently each dicitonary pollutes the same local file, which is memory mapped in illume keyboard. Using multiple language concurrently degrades the dictionary accuracy (thats it, it propose german words in english texts and vice-versa)