IME XIM server
Kensuke Matsuzaki
zakki@peppermint.jp
Mon Jan 3 22:39:00 GMT 2005
Thank you. I write more detail.
*How to use
XWin -xim -multiwindow&
xime&
XMODIFIERS=@im=XIME emacs&
*To do
1. off-the-spot and on-the-spot aren't implemented yet.
2. It supports Japanese locale only.
3. It can handle only CTEXT.
4. Multiwindow only.
*Problem
1. It ignores forwarded events from IM client.
2. When IME is open, it blocks all keyboard input.
General XIM server
Windows XWin X Client IM Server
| WM_KEYDOWN | XKeyEvent | XIM_FORWARW_EVENT |
|----------------->|-------------------->|--------------------->|
| | | XIM_COMMIT/FORWARD |
| | |<---------------------|
| | | |
IME-XIM need to call TranslateMessage, and it has to handle WM_IME_* message.
IME-XIM server idea
Windows XWin X Client IM Server
| WM_KEYDOWN | XKeyEvent | XIM_FORWARW_EVENT |
|------------------>|-------------------->|--------------------->|
|TranslateMessage(*)| | forward |
|<------------------|<-------------------------------------------|
IME| WM_IME_* | | |
|------------------>|------------------------------------------->|
| | | XIM_COMMIT |
| | |<---------------------|
| | | |
But I don't know how to do (*).
So now
Current IME-XIM implementation
Windows XWin X Client IM Server
| WM_KEYDOWN | XKeyEvent | XIM_FORWARW_EVENT |
|------------------>|-------------------->|--------------------->|ignore
|TranslateMessage(*)| | |
|<------------------| | |
IME| WM_IME_* | | |
|------------------>|------------------------------------------->|
| | | XIM_COMMIT/FORWARD |
| | |<---------------------|
| | | |
This causes problem #1 and #2.
Any idea?
--
Kensuke Matsuzaki
mailto:zakki@peppermint.jp
http://peppermint.jp
More information about the Cygwin-xfree
mailing list