Issue: Cinnamon csd-keyboard fights IBus XKB layout changes (kr layout)
Description
When IBus activates the hangul engine, it changes the XKB layout to kr (because the hangul engine XML declares <layout>kr</layout>). Cinnamon's csd-keyboard daemon, which only knows about the user's configured input sources [('xkb', 'us')], detects this unexpected layout change and reverts it. This causes a "tug of war" between IBus and Cinnamon, breaking Korean input.
Environment
- Ubuntu 24.04 (noble)
- Cinnamon 6.6.7 desktop / X11
- IBus 1.5.29-2
- ibus-hangul 1.5.5-2build2
Steps to Reproduce
- Set Cinnamon input sources to only
[('xkb', 'us')]:
gsettings set org.cinnamon.desktop.input-sources sources "[('xkb', 'us')]"
- Activate ibus-hangul engine
- IBus changes layout to
kr → Cinnamon reverts to us → Korean input breaks
Workaround
Add kr to Cinnamon's input sources so csd-keyboard doesn't reject the layout change:
gsettings set org.cinnamon.desktop.input-sources sources "[('xkb', 'us'), ('xkb', 'kr')]"
Expected Behavior
Input method engines should be able to change XKB layouts without interference from the desktop environment's keyboard daemon. When IBus is handling input, Cinnamon's layout management should yield.
Actual Behavior
The desktop environment's keyboard daemon and the input method framework conflict over XKB layout control, silently breaking input.
Issue: Cinnamon csd-keyboard fights IBus XKB layout changes (kr layout)
Description
When IBus activates the hangul engine, it changes the XKB layout to
kr(because the hangul engine XML declares<layout>kr</layout>). Cinnamon'scsd-keyboarddaemon, which only knows about the user's configured input sources[('xkb', 'us')], detects this unexpected layout change and reverts it. This causes a "tug of war" between IBus and Cinnamon, breaking Korean input.Environment
Steps to Reproduce
[('xkb', 'us')]:kr→ Cinnamon reverts tous→ Korean input breaksWorkaround
Add
krto Cinnamon's input sources so csd-keyboard doesn't reject the layout change:Expected Behavior
Input method engines should be able to change XKB layouts without interference from the desktop environment's keyboard daemon. When IBus is handling input, Cinnamon's layout management should yield.
Actual Behavior
The desktop environment's keyboard daemon and the input method framework conflict over XKB layout control, silently breaking input.