<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sat, Jan 26, 2013 at 3:41 AM, Andriy Rysin <span dir="ltr"><<a href="mailto:arysin@gmail.com" target="_blank">arysin@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
On 01/15/2013 03:11 PM, Weng Xuetian wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Hi,<br>
Under linux, input method is always being a mess:<br>
1. Start it correctly<br>
ubuntu, debian: im-switch, im-config<br>
fedora: imsettings<br>
opensuse: their own script and I don't really know package name about it.<br>
<br>
im-switch and im-config have bug so long time, and all of them are distro<br>
specific.<br>
<br>
2. Relation betwen keyboard layout and input method<br>
Agree it or not, keyboard layout is only a kinds of special input method, and<br>
it should live with input method,<br>
<br>
Now, more and more input method are taking care of keyboard layout (which<br>
means it would just conflict with kde's own keyboard layout settings), but<br>
it's the correct way to go:<br>
Here comes my beloved usecase :D<br>
User is using a Chinese input method, which expect it to be something similar<br>
with qwerty, but if you're using a de layout, it will type some non-sense<br>
character.<br>
<br>
And idea is, input method have layout on its own, and should be take care by<br>
input method itself (if they can).<br>
<br>
So, leaving user with keyboard layout settings provided by kde if input method<br>
can already handle it doesn't make any sense.<br>
<br>
Under upper idea, I wrote some code, now it's only complete the idea 1.<br>
<a href="https://github.com/csslayer/kde-input-method" target="_blank">https://github.com/csslayer/<u></u>kde-input-method</a><br>
<br>
Currently it only have fcitx's profile for test (since I'm selffish fcitx<br>
dev), but it's trivial to add others (gcin, hime, ibus, maliit).<br>
<br>
It provides distro independent start up and environment handling (by global<br>
kde env script), input method process starting and monitoring (by kded).<br>
<br>
BTW kded part can be also adopted by plasma-active.<br>
<br>
Configure button in kcm is not implemented yet.<br>
<br>
Currently it has its own kcm, which I want to have it sit in kcm-component-<br>
chooser. And for backward compatibilty, it can be switch to "none" and in that<br>
way nothing will be affected.<br>
<br>
And I need input from kcm-keyboard maintainer (already in CC) and non-CJK<br>
people. I'm not sure about which list should be CC to, so I only send to kde-<br>
devel for now.<br>
<br>
Regards,<br>
Xuetian<br>
</blockquote>
Hi<br>
<br>
I am a current (even if somewhat recently passive :)) KDE keyboard 
module maintainer and I promised Weng to reply so here it goes.<br>
<br>
1. I've never used IM and have pretty vague understanding how it works so I am open for discussion<br>
2. I don't plan to use IM (current keyboard layout implementation in KDE
 is good enough for me), but I don't mind to take a look at it if it's 
implemented as an additional feature and I can play with it temporarily 
to see if it bring something cool for users like me<br>
3. There's probably tons of users that like me are ok (more or less - 
there's still open bugs) with current keyboard layout support in KDE and
 we *cannot* break things for them, especially not in 4.x branch 
(although I suspect people would prefer things they use not being broken
 in 5.x as well :))<br>
4. There's tons of features requests implemented and bugs fixed in KDE 
keyboard module for last 10 years, this is the baggage I would not just 
trash<br>
5. I have story of GNOME keyboard module maintainer leaving after dozen 
of years of development because keyboard layouts management code in 
GNOME was superseded by IM module<br>
6. I have also stories that GNOME keyboard layouts got pretty much 
unusable for many users after this switch (unless you do the trick to 
activate old code)<br>
7. Now having said that I also agree that many people need IM and also 
that keyboard layout module and IM are trying to do pretty much the same
 thing (at high level that is), so making them work together (or at 
least show up together for the user in UI) would be the right way to go;
 actually there's pretty old feature request (<a href="https://bugs.kde.org/show_bug.cgi?id=109845" target="_blank">https://bugs.kde.org/show_bug.cgi?id=109845</a>) to do exactly that<br>
8. With 1-7 in mind I would say I am in favor of adding IM module to KDE, as long as:<br>
    a) it does not override, remove, or hide existing keyboard layout module<br>
    b) it is off by default (like keyboard layout module itself)<br>
    c) it makes sense that if IM is turned on, keyboard layout 
configuration (or to be exact some part of it) will be disabled (as it's
 functionality is taken over by IM)<br>
    d) as user needs to see which module (IM or keyboard layout) is 
active, the IM control UI should reside in the same UI as keyboard 
layout (I would suggest another tab), thus when user enables IM he can 
easily see which parts of keyboard module is taken over by IM and which 
he still can (or should) change<br>
    e) there's still some functionality from the old module that will be
 useful even if IM is active (i.e. xkb options to define keys behavior) -
 we need to analyze which parts are taken over by IM activation and 
which ones work in parallel<br>
<br>
I looked a bit at the code below at github and I don't see it doing 
anything special, if I understand it right it just allows to configure 
which IM module to use and pass some parameters, kded module then will 
take care of IM daemon/qt module activation. Somebody who uses and 
understands IM probably should try it to see if it works and if it does 
we can target this for 4.11 if we can meet criteria in 8.<br>
<br>
I'll update the bug 109845 to point to this conversation in case somebody there is still interested enough to get involved.<br>
<br>
Regards,<br>
Andriy<br>
<br>
P.S. adding kde-core-devel as even though it's not about core libs, it still about core KDE workspace functionality<br></blockquote><div><br></div><div>I do have input methods enabled, so I have a few observations:<br>

<br></div><div>1. Some input methods have a really nasty habit of taking over your computer and can be hard if not impossible to turn off <br></div><div>2. In practice there is little, if any, fundamental difference between the two in principle from a user point of view<br>

<br></div><div>So I am 100% against making any input methods backend a hard dependency for KDE.<br><br></div><div>My proposal would be the following:<br><br></div><div>1. Keep the existing keyboard layout controls completely as-is.<br>

<br></div><div>2. Have, as an optional dependency, input methods backends<br><br></div><div>3. If an IM is installed, add its list of method to the existing list of keyboard layouts.  It would not replace or remove any existing layouts, and would probably not even be listed separately.  Users don't really need to know or care if they are using a keyboard layout or IM.<br>

<br></div><div>4. Under the hood, if an IM is selected it can handle setting the keyboard layout to whatever it needs.  But the user should not need to know this is happening.<br><br></div><div>5. If the user switches to a non-IM keyboard layout the IM is switched off and the existing layout system is used.<br>

<br></div><div>I think this would allow people to have full use of keyboard layouts and IMs without requiring IMs or interfering with existing layouts.<br><br>However I don't know the underlying technology behind the IMs so this may not be feasible.<br>

</div></div><br></div></div>