iBus - the new input framework

10 messages Options
Embed this post
Permalink
Huang Peng-2

iBus - the new input framework

Reply Threaded More More options
Print post
Permalink
Hi all,
I am developing a new input framework - iBus (Intelligent Input Bus).
It is almost completed, and it already has several engines (Chinese
PinYin, Chinese Chewing, Japanese Anthy, Korean Hangul, M17n and
general table engines). It can also support gtk, qt4 and XIM
applications (qt3 are supported via XIM). It has entered the test
stage. So I wish you may download and try it. If you have any
questions or suggestions, please tell me.

homepage: http://code.google.com/p/ibus/
discuss group: http://groups.google.com/group/ibus-user
Fedora 9 users may download rpm packages from below link.
https://admin.fedoraproject.org/updates/ibus-table-0.1.1.20080901-1.fc9,ibus-pinyin-0.1.1.20080901-1.fc9,ibus-m17n-0.1.1.20080901-1.fc9,ibus-chewing-0.1.1.20080901-1.fc9,ibus-hangul-0.1.1.20080901-1.fc9,ibus-anthy-0.1.1.20080901-1.fc9,ibus-0.1.1.20080901-1.fc9

Thanks,
Huang Peng

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Scim-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/scim-devel
Ryo Dairiki-2

Re: iBus - the new input framework

Reply Threaded More More options
Print post
Permalink
Hi,

    I'm now writing im-plugin for fbterm, which allows you displaying
CJK text on vesafb.

Last week, a Chinese contacted me to request for console Chinese input.
He said they don't use X at all, and don't want to install it either.
So I have to achieve console pinyin input, which X at all.

I'm thinking of writing Fbterm-iBus, instead of Fbterm-SCIM.
Because it's difficult to use SCIM completely without X. :(
I think there has been no iBus configuration tool works on console,
but I think it's easy. Isn't it? :)

Any opinion is welcome.

Fbterm: http://code.google.com/p/fbterm/

Regards,
Ryo Dairiki <[hidden email]>

Huang Peng wrote:

> Hi all,
> I am developing a new input framework - iBus (Intelligent Input Bus).
> It is almost completed, and it already has several engines (Chinese
> PinYin, Chinese Chewing, Japanese Anthy, Korean Hangul, M17n and
> general table engines). It can also support gtk, qt4 and XIM
> applications (qt3 are supported via XIM). It has entered the test
> stage. So I wish you may download and try it. If you have any
> questions or suggestions, please tell me.
>
> homepage: http://code.google.com/p/ibus/
> discuss group: http://groups.google.com/group/ibus-user
> Fedora 9 users may download rpm packages from below link.
> https://admin.fedoraproject.org/updates/ibus-table-0.1.1.20080901-1.fc9,ibus-pinyin-0.1.1.20080901-1.fc9,ibus-m17n-0.1.1.20080901-1.fc9,ibus-chewing-0.1.1.20080901-1.fc9,ibus-hangul-0.1.1.20080901-1.fc9,ibus-anthy-0.1.1.20080901-1.fc9,ibus-0.1.1.20080901-1.fc9
>
> Thanks,
> Huang Peng
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> Scim-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/scim-devel
>
>  


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Scim-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/scim-devel
Huang Peng-2

Re: iBus - the new input framework

Reply Threaded More More options
Print post
Permalink


On Sun, Sep 7, 2008 at 5:06 PM, Ryo Dairiki <[hidden email]> wrote:
Hi,

   I'm now writing im-plugin for fbterm, which allows you displaying
CJK text on vesafb.

Last week, a Chinese contacted me to request for console Chinese input.
He said they don't use X at all, and don't want to install it either.
So I have to achieve console pinyin input, which X at all.

I'm thinking of writing Fbterm-iBus, instead of Fbterm-SCIM.
Because it's difficult to use SCIM completely without X. :(
I think there has been no iBus configuration tool works on console,
but I think it's easy. Isn't it? :)
 
iBus has several parts: ibus-daemon, input engines, ibus-panel, ibus-conf, ibus-setup UIs, clients (gtk im module, qt immoudel and xim clients). Every parts are separated Linux processes. They conmunicatted with others parts by dbus IPC library. The core (ibus-daemon) & input engines can works without X system. You may try  only run ibus-daemon & ibus-engine-pinyin in your system. It can work. But without ibus-panel, users can not choices candidates from candidates window.

I don't know how the im-plugin of fbterm works in detail. But I think maybe you has two ways to implement it.

1. Develop a new ibus-panel without X for fbterm.
2. Improve ibus, to make ibus-daemons can send candidates to clients, clients will display candidates by self.
     You may find a method "set_capabilities" in bus.py. We could define a new capability like show_candidates_by_self. If an IC has this capability, ibus will send candidates to this IC instead of ibus-panel. And the client can get candidates and show them by self.

 


Any opinion is welcome.

Fbterm: http://code.google.com/p/fbterm/




-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Scim-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/scim-devel
Huang Peng-2

Re: iBus - the new input framework

Reply Threaded More More options
Print post
Permalink


On Sun, Sep 7, 2008 at 6:14 PM, Huang Peng <[hidden email]> wrote:


On Sun, Sep 7, 2008 at 5:06 PM, Ryo Dairiki <[hidden email]> wrote:
Hi,

   I'm now writing im-plugin for fbterm, which allows you displaying
CJK text on vesafb.

Last week, a Chinese contacted me to request for console Chinese input.
He said they don't use X at all, and don't want to install it either.
So I have to achieve console pinyin input, which X at all.

I'm thinking of writing Fbterm-iBus, instead of Fbterm-SCIM.
Because it's difficult to use SCIM completely without X. :(
I think there has been no iBus configuration tool works on console,
but I think it's easy. Isn't it? :)
 
iBus has several parts: ibus-daemon, input engines, ibus-panel, ibus-conf, ibus-setup UIs, clients (gtk im module, qt immoudel and xim clients). Every parts are separated Linux processes. They conmunicatted with others parts by dbus IPC library. The core (ibus-daemon) & input engines can works without X system. You may try  only run ibus-daemon & ibus-engine-pinyin in your system. It can work. But without ibus-panel, users can not choices candidates from candidates window.

I don't know how the im-plugin of fbterm works in detail. But I think maybe you has two ways to implement it.

1. Develop a new ibus-panel without X for fbterm.
2. Improve ibus, to make ibus-daemons can send candidates to clients, clients will display candidates by self.
     You may find a method "set_capabilities" in bus.py. We could define a new capability like show_candidates_by_self. If an IC has this capability, ibus will send candidates to this IC instead of ibus-panel. And the client can get candidates and show them by self.

For your requirements, I wrote a demo code and push it into git repository . You may find it in test folder. The demo code is console program, you may use Ctrl + V (instead of Ctrl + space) to enable the ibus engine.  Is it what you expect?



-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Scim-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/scim-devel
Ryo Dairiki-2

Re: iBus - the new input framework

Reply Threaded More More options
Print post
Permalink
Hi,

Huang Peng wrote:

>
>
> On Sun, Sep 7, 2008 at 6:14 PM, Huang Peng <[hidden email]
> <mailto:[hidden email]>> wrote:
>
>
>
>     On Sun, Sep 7, 2008 at 5:06 PM, Ryo Dairiki
>     <[hidden email]
>     <mailto:[hidden email]>> wrote:
>
>         Hi,
>
>            I'm now writing im-plugin for fbterm, which allows you
>         displaying
>         CJK text on vesafb.
>
>         Last week, a Chinese contacted me to request for console
>         Chinese input.
>         He said they don't use X at all, and don't want to install it
>         either.
>         So I have to achieve console pinyin input, which X at all.
>
>         I'm thinking of writing Fbterm-iBus, instead of Fbterm-SCIM.
>         Because it's difficult to use SCIM completely without X. :(
>         I think there has been no iBus configuration tool works on
>         console,
>         but I think it's easy. Isn't it? :)
>
>      
>     iBus has several parts: ibus-daemon, input engines, ibus-panel,
>     ibus-conf, ibus-setup UIs, clients (gtk im module, qt immoudel and
>     xim clients). Every parts are separated Linux processes. They
>     conmunicatted with others parts by dbus IPC library. The core
>     (ibus-daemon) & input engines can works without X system. You may
>     try  only run ibus-daemon & ibus-engine-pinyin in your system. It
>     can work. But without ibus-panel, users can not choices candidates
>     from candidates window.
>
>     I don't know how the im-plugin of fbterm works in detail. But I
>     think maybe you has two ways to implement it.
>
>     1. Develop a new ibus-panel without X for fbterm.
>     2. Improve ibus, to make ibus-daemons can send candidates to
>     clients, clients will display candidates by self.
>          You may find a method "set_capabilities" in bus.py. We could
>     define a new capability like show_candidates_by_self. If an IC has
>     this capability, ibus will send candidates to this IC instead of
>     ibus-panel. And the client can get candidates and show them by self.
>
>
> For your requirements, I wrote a demo code and push it into git
> repository . You may find it in test folder. The demo code is console
> program, you may use Ctrl + V (instead of Ctrl + space) to enable the
> ibus engine.  Is it what you expect?

Yes, it is.

Now the most of the problem has been solved!
I'll start writing it.

Thank you for your advice and test code. :)

Regards,
Ryo

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Scim-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/scim-devel
Huang Peng-2

Re: iBus - the new input framework

Reply Threaded More More options
Print post
Permalink


On Tue, Sep 9, 2008 at 12:33 AM, Ryo Dairiki <[hidden email]> wrote:
Hi,

Huang Peng wrote:
>
>
> On Sun, Sep 7, 2008 at 6:14 PM, Huang Peng <[hidden email]
> <mailto:[hidden email]>> wrote:
>
>
>
>     On Sun, Sep 7, 2008 at 5:06 PM, Ryo Dairiki
>     <[hidden email]
>     <mailto:[hidden email]>> wrote:
>
>         Hi,
>
>            I'm now writing im-plugin for fbterm, which allows you
>         displaying
>         CJK text on vesafb.
>
>         Last week, a Chinese contacted me to request for console
>         Chinese input.
>         He said they don't use X at all, and don't want to install it
>         either.
>         So I have to achieve console pinyin input, which X at all.
>
>         I'm thinking of writing Fbterm-iBus, instead of Fbterm-SCIM.
>         Because it's difficult to use SCIM completely without X. :(
>         I think there has been no iBus configuration tool works on
>         console,
>         but I think it's easy. Isn't it? :)
>
>
>     iBus has several parts: ibus-daemon, input engines, ibus-panel,
>     ibus-conf, ibus-setup UIs, clients (gtk im module, qt immoudel and
>     xim clients). Every parts are separated Linux processes. They
>     conmunicatted with others parts by dbus IPC library. The core
>     (ibus-daemon) & input engines can works without X system. You may
>     try  only run ibus-daemon & ibus-engine-pinyin in your system. It
>     can work. But without ibus-panel, users can not choices candidates
>     from candidates window.
>
>     I don't know how the im-plugin of fbterm works in detail. But I
>     think maybe you has two ways to implement it.
>
>     1. Develop a new ibus-panel without X for fbterm.
>     2. Improve ibus, to make ibus-daemons can send candidates to
>     clients, clients will display candidates by self.
>          You may find a method "set_capabilities" in bus.py. We could
>     define a new capability like show_candidates_by_self. If an IC has
>     this capability, ibus will send candidates to this IC instead of
>     ibus-panel. And the client can get candidates and show them by self.
>
>
> For your requirements, I wrote a demo code and push it into git
> repository . You may find it in test folder. The demo code is console
> program, you may use Ctrl + V (instead of Ctrl + space) to enable the
> ibus engine.  Is it what you expect?

Yes, it is.

Now the most of the problem has been solved!
I'll start writing it.

Thank you for your advice and test code. :)

You are welcome.
I am interested about this project. I think ibus should have a text console frontend too.
So could you tell me how do you implement this program? It is a plug-in of fbterm or a separate text console program? If it is a separate text console program, maybe I could get some ideas from it or include it in ibus project. :)





-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Scim-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/scim-devel
Ryo Dairiki-2

Re: iBus - the new input framework

Reply Threaded More More options
Print post
Permalink
Hi,

Huang Peng wrote:
>
> You are welcome.
> I am interested about this project. I think ibus should have a text
> console frontend too.
> So could you tell me how do you implement this program? It is a
> plug-in of fbterm or a separate text console program? If it is a
> separate text console program, maybe I could get some ideas from it or
> include it in ibus project. :)

Fbterm is a console emulator which works on vesafb.
It render glyph by freetype, so you can see CJK characters on console.
Here, the screenshot:

screenshot

I'm thinking of adding IM plugin support to fbterm itself.
It steals key event from fbterm key handling mechanism.
It displays preedit and candidate table by interrupting screen rendering
of fbterm.
I also plan to make fbterm to load im-plugins semi-dynamically, like gtk
and qt.

UIM-Fep is UIM frotend program for console, which is the only choice for
this purpose currently.
It's a separate program from vesafb terminal emulator, and it's a simple
terminal emulator too.
The major weakness of this program are as follows,

1. Cannot handle kanji-related keys properly, as console emulator (or
console module of kernel) eats them.
Fbterm uses keycode remapping mechanism inside it it capture some
special key sequence,
and I've succeeded to capture kanji-related keys by using them last week.

2. Some programs don't work properly on uim-fep, and nobody is reluctant
to fix it.
UIM-Fep is not a console emulator, but UIM frontend.

Maybe, both problem can be solved by this patch.
I wish we can give fully CJK-supported console for Linux users in the
future.

Regards,
Ryo Dairiki <[hidden email]>

P.S.
I don't have enough time to concentrate on developing it now, so it
won't come so early.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Scim-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/scim-devel
liucougar

Re: iBus - the new input framework

Reply Threaded More More options
Print post
Permalink
In reply to this post by Huang Peng-2
Could you describe how it is different from SCIM?

thanks
Cougar

Huang Peng-2 wrote:
Hi all,
I am developing a new input framework - iBus (Intelligent Input Bus).
It is almost completed, and it already has several engines (Chinese
PinYin, Chinese Chewing, Japanese Anthy, Korean Hangul, M17n and
general table engines). It can also support gtk, qt4 and XIM
applications (qt3 are supported via XIM). It has entered the test
stage. So I wish you may download and try it. If you have any
questions or suggestions, please tell me.

homepage: http://code.google.com/p/ibus/
discuss group: http://groups.google.com/group/ibus-user
Fedora 9 users may download rpm packages from below link.
https://admin.fedoraproject.org/updates/ibus-table-0.1.1.20080901-1.fc9,ibus-pinyin-0.1.1.20080901-1.fc9,ibus-m17n-0.1.1.20080901-1.fc9,ibus-chewing-0.1.1.20080901-1.fc9,ibus-hangul-0.1.1.20080901-1.fc9,ibus-anthy-0.1.1.20080901-1.fc9,ibus-0.1.1.20080901-1.fc9

Thanks,
Huang Peng

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Scim-devel mailing list
Scim-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/scim-devel
Huang Peng-2

Re: iBus - the new input framework

Reply Threaded More More options
Print post
Permalink
Hi,

Please read ibus.pdf from http://ibus-user.googlegroups.com . It describes the architecture of ibus.

BRs
Huang Peng

On Sat, Oct 11, 2008 at 3:39 PM, LiuCougar <[hidden email]> wrote:

Could you describe how it is different from SCIM?

thanks
Cougar


Huang Peng-2 wrote:
>
> Hi all,
> I am developing a new input framework - iBus (Intelligent Input Bus).
> It is almost completed, and it already has several engines (Chinese
> PinYin, Chinese Chewing, Japanese Anthy, Korean Hangul, M17n and
> general table engines). It can also support gtk, qt4 and XIM
> applications (qt3 are supported via XIM). It has entered the test
> stage. So I wish you may download and try it. If you have any
> questions or suggestions, please tell me.
>
> homepage: http://code.google.com/p/ibus/
> discuss group: http://groups.google.com/group/ibus-user
> Fedora 9 users may download rpm packages from below link.
> https://admin.fedoraproject.org/updates/ibus-table-0.1.1.20080901-1.fc9,ibus-pinyin-0.1.1.20080901-1.fc9,ibus-m17n-0.1.1.20080901-1.fc9,ibus-chewing-0.1.1.20080901-1.fc9,ibus-hangul-0.1.1.20080901-1.fc9,ibus-anthy-0.1.1.20080901-1.fc9,ibus-0.1.1.20080901-1.fc9
>
> Thanks,
> Huang Peng
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's
> challenge
> Build the coolest Linux based applications with Moblin SDK & win great
> prizes
> Grand prize is a trip for two to an Open Source event anywhere in the
> world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> Scim-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/scim-devel
>
>

--
View this message in context: http://www.nabble.com/iBus---the-new-input-framework-tp19256362p19930407.html
Sent from the scim-devel mailing list archive at Nabble.com.


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Scim-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/scim-devel


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Scim-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/scim-devel
Mat

Re: iBus - the new input framework

Reply Threaded More More options
Print post
Permalink
In reply to this post by Ryo Dairiki-2
Hello Huang Peng, and Ryo Dairiki,

I am the author of UCIMF(http://ucimf.sf.net).
I am really happy to see the discussion here, and willing to help this ideal come true.
Is there any develope plan or repository could I follow and join?

Thanks first for your great works :-)

sincerely, Mat.

Ryo Dairiki-2 wrote:
Hi,

Huang Peng wrote:
>
> You are welcome.
> I am interested about this project. I think ibus should have a text
> console frontend too.
> So could you tell me how do you implement this program? It is a
> plug-in of fbterm or a separate text console program? If it is a
> separate text console program, maybe I could get some ideas from it or
> include it in ibus project. :)

Fbterm is a console emulator which works on vesafb.
It render glyph by freetype, so you can see CJK characters on console.
Here, the screenshot:

screenshot

I'm thinking of adding IM plugin support to fbterm itself.
It steals key event from fbterm key handling mechanism.
It displays preedit and candidate table by interrupting screen rendering
of fbterm.
I also plan to make fbterm to load im-plugins semi-dynamically, like gtk
and qt.

UIM-Fep is UIM frotend program for console, which is the only choice for
this purpose currently.
It's a separate program from vesafb terminal emulator, and it's a simple
terminal emulator too.
The major weakness of this program are as follows,

1. Cannot handle kanji-related keys properly, as console emulator (or
console module of kernel) eats them.
Fbterm uses keycode remapping mechanism inside it it capture some
special key sequence,
and I've succeeded to capture kanji-related keys by using them last week.

2. Some programs don't work properly on uim-fep, and nobody is reluctant
to fix it.
UIM-Fep is not a console emulator, but UIM frontend.

Maybe, both problem can be solved by this patch.
I wish we can give fully CJK-supported console for Linux users in the
future.

Regards,
Ryo Dairiki <ryo-dairiki@users.sourceforge.net>

P.S.
I don't have enough time to concentrate on developing it now, so it
won't come so early.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Scim-devel mailing list
Scim-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/scim-devel