MaemoCJK Screencast in the scratchbox environment. Should work fine with the normal GTK widgets. With the custom widgets (e.g. Nokia browser), the input may not be recognized properly from time to time. The reason is obvious, but I just cannot think of any good solution to work it around at the moment.
You definitely need the CJK input for a cool device like N900. I thought about continuing with the original SCIM track, but I will try something new now. Here's what I'm going to experiment. Hildon Input Method Plugin Ibus The reason for the HIM plugin is that many people would like to switch back and forth between the Default-HIM & CJK. Additionally, considering that the Nokia browser doesn't support the preedit properly (i.e. native SCIM/UIM won't work with the N900 Nokia browser), I thought it was better to have the CJK support as the HIM plugin. The reason for the Ibus is that the Ibus client implementation can be really simple. See this as an example. The screenshot of my prototype application. Things to do are: 1) Rewrite this python prototype in C 2) Rewrite the above in the form of the HIM Plugin 3) Ibus tweaking. Some UI related daemons may not be necessary for N900 4) UI improvement 5) Debian packaging 6) Pynin and Hangul support Katsotaan.
There's one thing that I'm stuck. I would like the preedit window to pop up as you type, in the CJK mode. It shouldn't be there all the time. Currently, when I type in "watashi", the character "w" is sent to both the client and the cjk-preedit window. This results in "wわたし" in the client. As soon as the CJK mode is on, I would like the client to avoid receiving the key events, but HIM plugin doesn't allow me to propagate gdk events. I haven't been able to come up with a good solution for this problem. I tried key_snooper and gtk_invisible, but both aren't good enough. The best workaround may be to send the backspace to the client just like as follows as in this example . However, this doesn't work with the browser. This is because for the browser (or any custom gtk input widgets), the example code results in XFakeKeyEvent (Backspace) to the root window and naturally IBus is forced to swallow the Backspace unnecessarily. I guess ...
Comments
Post a Comment