RFR: 8305418: [Linux] Replace obsolete XIM as Input Method Editor
Thiago Milczarek Sayao
tsayao at openjdk.org
Sun Sep 3 22:08:13 UTC 2023
On Sun, 2 Apr 2023 20:38:25 GMT, Thiago Milczarek Sayao <tsayao at openjdk.org> wrote:
> This replaces obsolete XIM and uses gtk api for IME.
> Gtk uses [ibus](https://github.com/ibus/ibus)
>
> Gtk3+ uses relative positioning (as Wayland does), so I've added a Relative positioning on `InputMethodRequest`.
Thank you for the feedback. Will look into it.
I'm sure I am missing details of other languages.
@kevinrushforth Is there anyone at Oracle that could provide guidance on language variations so I can make this right?
Yeah, I know many things are probably no working. The plan is to get feedback and keep fixing until it's all good.
I only speak/read latin-based languages so I have never needed IME.
The process is now reporting KEY_PRESS events even if filtered by IME.
@beldenfox You seem to have a lot of expertise on the topic. Should dead keys be reported as KEY_PRESS with the corresponding character?
I asked around on Gtk IRC and `gdk_keyval_to_unicode` won't work for dead keys. We need a custom map including dead keys as seen on [gdkkeyuni.c](https://gitlab.gnome.org/GNOME/gtk/-/blob/gtk-3-24/gdk/gdkkeyuni.c)
Dead keys should work now, but not sure I covered them all.
Yesterday I was reading some of the Mac code for handling IME to understand it better. I started to get the idea.
@beldenfox Your test app is very handy.
This is the current state:
[Screencast from 03-09-2023 15:47:01.webm](https://github.com/openjdk/jfx/assets/30704286/db30803a-0c8b-450d-95a1-81bf80a4b2ff)
I did put a lot of work on it.
Now I need feedback from users if everything is working as expected. I'm unsure if I missed a detail from a specific language/culture.
-------------
PR Comment: https://git.openjdk.org/jfx/pull/1080#issuecomment-1494229776
PR Comment: https://git.openjdk.org/jfx/pull/1080#issuecomment-1496737066
PR Comment: https://git.openjdk.org/jfx/pull/1080#issuecomment-1498124303
PR Comment: https://git.openjdk.org/jfx/pull/1080#issuecomment-1546904623
PR Comment: https://git.openjdk.org/jfx/pull/1080#issuecomment-1546999336
PR Comment: https://git.openjdk.org/jfx/pull/1080#issuecomment-1547013377
PR Comment: https://git.openjdk.org/jfx/pull/1080#issuecomment-1549412139
PR Comment: https://git.openjdk.org/jfx/pull/1080#issuecomment-1704374033
PR Comment: https://git.openjdk.org/jfx/pull/1080#issuecomment-1704417064
More information about the openjfx-dev
mailing list