Skip to content

csd-keyboard fights IBus XKB layout changes (kr layout reverted) #13772

@wintrover

Description

@wintrover

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

  1. Set Cinnamon input sources to only [('xkb', 'us')]:
    gsettings set org.cinnamon.desktop.input-sources sources "[('xkb', 'us')]"
  2. Activate ibus-hangul engine
  3. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions