Post History
I answered this question over SE, as it can be found here. UPDATE. I've found that the latest commit in the IBus source has the blacklist already implemented, and that all Latin American layouts...
Answer
#1: Initial revision
_I answered this question over SE, as it can be found [here](https://unix.stackexchange.com/a/704228/135504)._ <hr /> **UPDATE.** I've found that [the latest commit in the IBus source](https://github.com/ibus/ibus/blob/16df64edadc21f50906e5442b73425b9256fbf65/engine/denylist.txt) has the blacklist already implemented, and that _all Latin American layouts are blacklisted by default_. This affects the generation process, which is done with a Python script on build time, which in turn, sources the available X layouts from `/usr/share/X11/xkb/rules/evdev.xml`, [as this comment clearly states](https://github.com/ibus/ibus/issues/2322#issuecomment-1027763150). The exact commit on which this restriction was implemented [is here](https://github.com/ibus/ibus/commit/568d58dfadefa801b96058c1155daecff3d51605). As for the reason why this was done, is honestly beyond me, and until this situation is properly addressed, the fix I propose below must be applied _every time IBus is updated_ (as stated [in this previous answer](https://askubuntu.com/a/1242981)). <hr /> I've faced the same problem in Xubuntu 22.04, and recently used a workaround that involves editing a whitelist. Even though it's been suggested that [IBus 1.5.23 would include a blacklist, in place of the currently used whitelist](https://fedoraproject.org/wiki/Changes/IBus_1.5.23), so that engines added would automatically appear as selectable layouts, it seems this feature is yet to be implemented (I have version 1.5.26 right now). What I did to make it work is as follows: 1. Open the file `/usr/share/ibus/component/simple.xml` using `sudo`, and your editor of choice. 2. Locate the `xkb:es::spa` engine. In my machine, it looks like this: <engine> <name>xkb:es::spa</name> <language>es</language> <license>GPL</license> <author>Peng Huang <shawn.p.huang@gmail.com></author> <layout>es</layout> <longname>Spanish</longname> <description>Spanish</description> <icon>ibus-keyboard</icon> <rank>50</rank> </engine> 3. Once found, copy the `<engine>` tag and paste it beside it (as a sibling, on the same level), and change the following tag values: * `name`, from `xkb:es::spa` to `xkb:latam::spa`. * `layout`, from `es` to `latam`. * `longname`, to any text of your choice so that you can distinguish it from other layouts. It should now look like this: <!-- I added this one. vvv --> <engine> <name>xkb:latam::spa</name> <language>es</language> <license>GPL</license> <author>Aura Lesse Programmer</author> <layout>latam</layout> <longname>Spanish Latam</longname> <description>Spanish Latam</description> <icon>ibus-keyboard</icon> <rank>50</rank> </engine> <!-- I added this one. ^^^ --> <engine> <name>xkb:es::spa</name> <language>es</language> <license>GPL</license> <author>Peng Huang <shawn.p.huang@gmail.com></author> <layout>es</layout> <longname>Spanish</longname> <description>Spanish</description> <icon>ibus-keyboard</icon> <rank>50</rank> </engine> 4. Once the new engine is added, save the file. 5. Restart the IBus service, by issuing the command `ibus restart`. 6. Once IBus restarts, type `ibus list-engine` and check that the new engine appears in the list. In my machine, I have the following configurations. The one I added is `Spanish Latam`. $ ibus list-engine | grep -A 7 Espa idioma: Español xkb:es:nodeadkeys:spa - Spanish (no dead keys) xkb:es:winkeys:spa - Spanish (Windows) xkb:es:dvorak:spa - Spanish (Dvorak) xkb:es:deadtilde:spa - Spanish (dead tilde) xkb:latam::spa - Spanish Latam xkb:es:mac:spa - Spanish (Macintosh) xkb:es::spa - Spanish 7. Using `ibus-setup` or `ibus engine`, set the layout to the one you previosuly created. At this point, it should work. I hope this works for you. :)