[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-devel
Subject:    Re: Input method integration
From:       Andriy Rysin <arysin () gmail ! com>
Date:       2012-06-27 16:24:59
Message-ID: CAOZT1o0c++4=L4avbMsg0pn0fqiax7Soozqfg-afsRE8MPjZzA () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


Hi Weng,

I'm a maintainer of keyboard module and I'd like to see input methods
integrated in keyboard module. Although I am not sure about replacing
keyboard module altogether - it has a lot of features, I'm open to
extending it especially if it's done in modular fashion.

Please note I know pretty much nothing about IM so I would need detailed
information on what is to be done.

Could you please prepare a technical reasoning and details of proposed
changes so I and potentially others could evaluate the impact?

Thanks,
Andriy

Andriy
On Jun 27, 2012 12:11 PM, "Weng Xuetian" <wengxt@gmail.com> wrote:

> Hi,
> I raise this question maybe because gnome guy recently is doing some
> thing similar.
> 
> Well, first I'd talk a little about myself.. I'm main developer of
> fcitx [1], and currently maintain kimpanel [2] in kdeplasma-addons, so
> mainly what I have done in linux world is all about input method.
> 
> If you guys are not familiar with input method [3], input method is an
> application provide text input service, for CJK people, input method
> is a must to let people type in their native language (also needed by
> other people, but CJK people use them most). You could think that as
> "text conversion service", and some input method engines are just like
> keyboard layout, but most of them are more complex. Input method
> framework (IMF) is a service that provides a bunch of different
> engines for different languages, and not be easy to changed at
> runtime.
> 
> Current state of input method outside linux world:
> Windows and mac manage keyboard layout together as input method, so a
> keyboard layout is just a "special" input method in windows and mac
> world. They have a unified configuration UI to add, remove, sort input
> method.
> 
> For KDE, KDE provides a UI for configure keyboard layout [4], which
> maybe replace or extended to show and configure input method. For
> desktop there are several IMF , scim is not active developed for a
> long time, uim, gcin/hime, ibus, and fcitx. IBus and fcitx both
> provide some easy way to manage input method via dbus. All existing
> ibus setup is mostly based on pygtk and gtk. For fcitx itself, I've
> already work on http://github.com/fcitx/kcm-fcitx/, since it provides
> something like kxmlgui so it's more easy to make it toolkit free.
> 
> For plasma guy, if you know about Maliit, maliit is also a IMF
> specialized for on-screen typing. But let's talk about desktop for
> now.
> 
> For both ibus and fcitx, there are some function duplication with
> kcm_keyboard and kded_keyboard itself. From my point of view, it would
> be better to let input method manage the keyboard layout, which may
> need to hide the existing kcm_keyboard part and replace it with IMF
> configuration.
> 
> For fcitx, I've already implemented
> https://github.com/fcitx/kcm-fcitx/ and it's already packaged by
> distro for sometime. But this time I'd also like to see deeper
> integration for input method inside KDE.
> 
> So my proposal it something like this:
> 1. add a default application option for different IMF, and set
> corresponding environment variable required by IMF.
> I have a toy kcm for this idea at:
> http://kde-apps.org/content/show.php/kcm+imchooser?content=146776
> 2. if possible, replace or change the kcm keyboard to support IMF kcm,
> or using external command.
> 
> Comments are welcome.
> 
> [1] http://code.google.com/p/fcitx/
> [2]
> https://projects.kde.org/projects/kde/kdeplasma-addons/repository/revisions/master/show/applets/kimpanel
>  [3] http://en.wikipedia.org/wiki/Input_method
> [4]
> https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/show/kcontrol/keyboard
>  
> > > Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to
> unsubscribe <<
> 


[Attachment #5 (text/html)]

<p>Hi Weng,</p>
<p>I&#39;m a maintainer of keyboard module and I&#39;d like to see input methods \
integrated in keyboard module. Although I am not sure about replacing keyboard module \
altogether - it has a lot of features, I&#39;m open to extending it especially if \
it&#39;s done in modular fashion.</p>

<p>Please note I know pretty much nothing about IM so I would need detailed \
information on what is to be done.</p> <p>Could you please prepare a technical \
reasoning and details of proposed changes so I and potentially others could evaluate \
the impact?</p> <p>Thanks,<br>
Andriy</p>
<p>Andriy</p>
<div class="gmail_quote">On Jun 27, 2012 12:11 PM, &quot;Weng Xuetian&quot; &lt;<a \
href="mailto:wengxt@gmail.com">wengxt@gmail.com</a>&gt; wrote:<br \
type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 \
.8ex;border-left:1px #ccc solid;padding-left:1ex"> Hi,<br>
I raise this question maybe because gnome guy recently is doing some<br>
thing similar.<br>
<br>
Well, first I&#39;d talk a little about myself.. I&#39;m main developer of<br>
fcitx [1], and currently maintain kimpanel [2] in kdeplasma-addons, so<br>
mainly what I have done in linux world is all about input method.<br>
<br>
If you guys are not familiar with input method [3], input method is an<br>
application provide text input service, for CJK people, input method<br>
is a must to let people type in their native language (also needed by<br>
other people, but CJK people use them most). You could think that as<br>
&quot;text conversion service&quot;, and some input method engines are just like<br>
keyboard layout, but most of them are more complex. Input method<br>
framework (IMF) is a service that provides a bunch of different<br>
engines for different languages, and not be easy to changed at<br>
runtime.<br>
<br>
Current state of input method outside linux world:<br>
Windows and mac manage keyboard layout together as input method, so a<br>
keyboard layout is just a &quot;special&quot; input method in windows and mac<br>
world. They have a unified configuration UI to add, remove, sort input<br>
method.<br>
<br>
For KDE, KDE provides a UI for configure keyboard layout [4], which<br>
maybe replace or extended to show and configure input method. For<br>
desktop there are several IMF , scim is not active developed for a<br>
long time, uim, gcin/hime, ibus, and fcitx. IBus and fcitx both<br>
provide some easy way to manage input method via dbus. All existing<br>
ibus setup is mostly based on pygtk and gtk. For fcitx itself, I&#39;ve<br>
already work on <a href="http://github.com/fcitx/kcm-fcitx/" \
target="_blank">http://github.com/fcitx/kcm-fcitx/</a>, since it provides<br> \
something like kxmlgui so it&#39;s more easy to make it toolkit free.<br> <br>
For plasma guy, if you know about Maliit, maliit is also a IMF<br>
specialized for on-screen typing. But let&#39;s talk about desktop for<br>
now.<br>
<br>
For both ibus and fcitx, there are some function duplication with<br>
kcm_keyboard and kded_keyboard itself. From my point of view, it would<br>
be better to let input method manage the keyboard layout, which may<br>
need to hide the existing kcm_keyboard part and replace it with IMF<br>
configuration.<br>
<br>
For fcitx, I&#39;ve already implemented<br>
<a href="https://github.com/fcitx/kcm-fcitx/" \
target="_blank">https://github.com/fcitx/kcm-fcitx/</a> and it&#39;s already packaged \
by<br> distro for sometime. But this time I&#39;d also like to see deeper<br>
integration for input method inside KDE.<br>
<br>
So my proposal it something like this:<br>
1. add a default application option for different IMF, and set<br>
corresponding environment variable required by IMF.<br>
I have a toy kcm for this idea at:<br>
<a href="http://kde-apps.org/content/show.php/kcm+imchooser?content=146776" \
target="_blank">http://kde-apps.org/content/show.php/kcm+imchooser?content=146776</a><br>
 2. if possible, replace or change the kcm keyboard to support IMF kcm,<br>
or using external command.<br>
<br>
Comments are welcome.<br>
<br>
[1] <a href="http://code.google.com/p/fcitx/" \
target="_blank">http://code.google.com/p/fcitx/</a><br> [2] <a \
href="https://projects.kde.org/projects/kde/kdeplasma-addons/repository/revisions/master/show/applets/kimpanel" \
target="_blank">https://projects.kde.org/projects/kde/kdeplasma-addons/repository/revisions/master/show/applets/kimpanel</a><br>


[3] <a href="http://en.wikipedia.org/wiki/Input_method" \
target="_blank">http://en.wikipedia.org/wiki/Input_method</a><br> [4] <a \
href="https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/show/kcontrol/keyboard" \
target="_blank">https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/show/kcontrol/keyboard</a><br>


<br>
&gt;&gt; Visit <a href="http://mail.kde.org/mailman/listinfo/kde-devel#unsub" \
target="_blank">http://mail.kde.org/mailman/listinfo/kde-devel#unsub</a> to \
unsubscribe &lt;&lt;<br> </blockquote></div>



>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic