Bug 71671

Summary: uim-byeoru follows system keyboard layout
Product: UIM Reporter: YongJoon Joe <developer>
Component: IM: Other IMsAssignee: uim-bugs
Status: NEW --- QA Contact:
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description YongJoon Joe 2013-11-16 04:56:17 UTC
Summary: Compare to Japanese, all of Hangul keyboard layouts without 'Hangul-romaja', 
their keyboard layout is independent which alphabet in inputted.
As a result, when the system's keyboard layout is not QWERTY, uim-byeoru not work properly, even Japanese works well.

Explanation:

I usually type 
1. Japanese(by dvorak) and English(by dvorak)
2. Korean and English(by dvorak)
3. Sometimes, QWERTY

I'm using dvorak for system default keyboard layout.
When I wants to use QWERTY, I change layout by hot-key for system keyboard layout.
So, it's not matter.
Also, I type Japanese by dvorak. So this also not matter. (It works well!)


However, when I type Korean (and English), this does not works well because byeoru's keyboard layout is not prepared when the system keyboard layout is dvorak.

This makes problems for me, and other 'not QWERTY system keyboard layout users'.


The problem is that, (without 'Hangul romaja' layout),
All the Hangul keyboard layouts are not depend on alphabet input, 
but only depends on its actual position of key. (I'm not sure these words are proper)


I think, this also matter when Japanese keyboard is used. 
Japanese keyboard also have some different characters against ASCII keyboard and the others.
However, All the Hangul keyboard layouts are 'only' depends on actual position of key.

I'm not sure this problem is depends on which component of uim, but please fix this problem.

P.S. :
I'm sorry for not familiar with system programming. So, many words could not be proper.
Comment 1 Jae-hyeon Park 2013-11-18 16:37:50 UTC
Hello,

many thanks for using uim-byeoru and reporting the issue.

Indeed, this is a known problem stemming from the fact that Korean input does not proceed by mapping each latin alphabet to (a component of) a Korean syllable, as is the case with romaji Japanese input.  For a proper implementation of Korean input which would work in an environment like yours, one would need to tell which physical key has been pressed, independent of to which alphabet the key is mapped.  One might obtain such information from the X11 keycode or something similar, if byeoru were an X11 application running outside uim.  At the level of a uim-scheme code, however, the key press handler receives a key event only after it has been already translated to an ascii code and therefore there is no way to figure out the physical location of the key.  [Other developers: please correct me if I missed something.]

Fortunately, uim is flexible enough for a workaround, which might work for you unless you switch between qwerty and dvorak too often.  It is straightforward to override the default alphabet-jamo mapping which is based on the Korean (and US) layout.  You should see immediately which variable to touch once you have a look at byeoru.scm under the scheme source directory of uim.  One can override it in the private configuration file.  If you are interested in this solution, I would be happy to tell you how in more detail.

Cheers,
Jae-hyeon
Comment 2 nemonein 2015-03-14 13:35:40 UTC
(In reply to Jae-hyeon Park from comment #1)
> Hello,
> 
> many thanks for using uim-byeoru and reporting the issue.
> 
> Indeed, this is a known problem stemming from the fact that Korean input
> does not proceed by mapping each latin alphabet to (a component of) a Korean
> syllable, as is the case with romaji Japanese input.  For a proper
> implementation of Korean input which would work in an environment like
> yours, one would need to tell which physical key has been pressed,
> independent of to which alphabet the key is mapped.  One might obtain such
> information from the X11 keycode or something similar, if byeoru were an X11
> application running outside uim.  At the level of a uim-scheme code,
> however, the key press handler receives a key event only after it has been
> already translated to an ascii code and therefore there is no way to figure
> out the physical location of the key.  [Other developers: please correct me
> if I missed something.]
> 
> Fortunately, uim is flexible enough for a workaround, which might work for
> you unless you switch between qwerty and dvorak too often.  It is
> straightforward to override the default alphabet-jamo mapping which is based
> on the Korean (and US) layout.  You should see immediately which variable to
> touch once you have a look at byeoru.scm under the scheme source directory
> of uim.  One can override it in the private configuration file.  If you are
> interested in this solution, I would be happy to tell you how in more detail.
> 
> Cheers,
> Jae-hyeon

Hello.
I emailed you, but I leave a message here, too.

I have the same problem like Joe.
Can you tell us how to make private configuration files?

Thanks in advance!
Comment 3 nemonein 2015-03-17 12:44:18 UTC
If someone want to know the method, please visit my blog below.
http://nemonein.egloos.com/5269527
http://nemonein.egloos.com/5269535

Though thery were written in Korean, I don't think it would matter to anyone who concerned about this issue.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.