IBus needs to distinguish whether key events are generated by keyboard or OSK
Affected version
All
Bug summary
Some IBus language engines need to distinguish whether key events are generated by physical keyboards or On-screen keyboards with ibus_input_context_set_capabilities()
Steps to reproduce
- Enable ibus-anthy Hiragana mode with the panel indicator menu in GNOME Wayland
- Run gedit or gnome-text-editor
- Type "a" and several space keys with your physical keyboard and the candidate window is show
- Click a candidate on the candidate window
- Enable ibus-anthy Hiragana mode with the panel indicator menu in GNOME Wayland
- Run gedit or gnome-text-editor
- Enable On-screen keyboard
- Type "a" and several space keys with OSK and the candidate window is show
- Click a candidate on OSK
What did you expect to happen
The former case is ibus-anthy is expected to select the candidate only but the later case is ibus-anthy is expected to commit the candidate. To change the behavior, I think mutter sets a flag for OSK and calling ibus_input_context_set_capabilities() with IBUS_CAP_OSK is good.