Input Method Development

Sébastien Lorquet squalyl at
Thu Feb 7 09:13:41 CET 2008

(keeping dda at and communitylist in the loop)

This is totally understandable. :) We will explain to you the best as we

If you want to make a korean keyboard with a key for each letter then you'll
need a keyboard with...

(sit down before next line)

 ... 11,172 letters, ie from \uAC00 to \uD7A3 + 24 "single letters" or jamos

see here:

Of course there is a special method.
The korean keyboard layout is a single qwerty, each key with a "jamo"
(single letters).

The 11172 syllabes are made of combined jamos , and a state machine can be
used to track which keys have been pressed, and how they have to be
combined. See my previous messages for an explanation.
However when I searched the Internet for my use, I did not find a lot of
information on this, so I did the research.

About you soft keyboard, I think the problem can be solved with the use of
plugins, ie a method that takes keystrokes and outputs characters. For
European scripts, the routine will be quite trivial, but for other scripts,
this is needed. With such plugins, we can also imagine support for other
complex scripts such as chinese or indian or whatever. An input method will
then be made of an XML file describing the layout, and a .so to hold the
key->character translation algorithm.


2008/2/7, Jeremiah Flerchinger <jeremiah.flerchinger at>:
> Please forgive me for not putting much thought into the problem before.
> I'm really only familiar with European languages & none of this work is
> in my area of expertise.  I have started some reading on IME and other
> input methods.  I'll have to think about the issue and what extensions
> would eventually need to be made.
> Jeremiah Flerchinger wrote:
> > The idea behind what I started is that you can make a soft keyboard
> > with any number of rows & keys.  Each key could be assigned any
> > arbitrary utf-8 value.  If more symbols are needed a file can be
> > created describing another keyboard layout with additional keys.
> > Maybe it's impractical to have a key for each character & place them
> > all into different keyboard layouts.  Any insight to the problem and
> > how keyboards are typically used/configured in Korea would be
> > appreciated.  Even though I would be unable to do localization, I
> > could try to rethink the current design to further meet international
> > needs.
> >
> > Sébastien Lorquet wrote:
> >> Hi,
> >>
> >> nicely done, this program is complementary with what I did!
> >>
> >> But a Korean IME engine will require additions to your program, it's
> >> not only a matter of xml layout.
> >> Maybe a plugin system that receives key presses and emits characters.
> >> Basically it's a state machine that will read latin letters and
> >> output korean letters according to combinations. I have a small
> >> "keypress stack" and a ~60KB "next states" file. for example, you
> >> type "b a" and you get a "ba" syllabe as a single Unicode character.
> >>
> >> Not to mention we will need to add a korean font in the neo.
> >>
> >> I'm happy with this project. I'm OK to help, if needed.
> >>
> >> Sebastien
> >

Sébastien LORQUET - 이세영 (李世榮)
Ingénieur ENSPG 2006 / ENSIMAG-ASI 2007
-------------- next part --------------
An HTML attachment was scrubbed...

More information about the community mailing list