In the ibus hangul engine, is there a way to know if it is Korean input mode or English input mode?


Hello.

If you look at the attached Ubuntu desktop capture file, when changing the Korean/English input mode with the Korean/English conversion key,
You can see that the Korean/English icon changes in the upper right corner of the panel.

I would like to know if there is a way to check the status of Korean/English input mode in my program.

My knowledge of ime is very insufficient, but the method I tried is as follows.


ibus_init();

IBusBus *bus = ibus_bus_new();

GDBusConnection* dConnection = ibus_bus_get_connection(bus);

IBusEngineDesc* gEngineDesc = ibus_bus_get_global_engine(bus);

printf(“Global Engine Desc: %s,%s,%s,%s,%s,%s\n”,
ibus_engine_desc_get_name(gEngineDesc),
ibus_engine_desc_get_longname(gEngineDesc),
ibus_engine_desc_get_layout(gEngineDesc),
ibus_engine_desc_get_language(gEngineDesc),
ibus_engine_desc_get_layout_variant(gEngineDesc),
ibus_engine_desc_get_layout_option(gEngineDesc) );

However, even if you change the Korean/English input mode using the Korean/English conversion key, the same contents are printed as below.
The input mode change status was unknown.

output: Global Engine Desc: hangul,Hangul,kr,ko,kr104


In my program, ibus api or gnome api, there’s a way to know if it’s in English or Korean.
Do you think there?

I’d appreciate it if you could help me with a small hint.

I used a translator, so I would appreciate it if you could understand even if I am not good at English.

Thank you.

This topic was automatically closed 45 days after the last reply. New replies are no longer allowed.