Adding "alt-intl" xkb keyboard to simple.xml not working correctly?

37 views
Skip to first unread message

Rik Shaw

unread,
May 2, 2018, 1:18:47 PM5/2/18
to ibus-user
Previously, I had gotten advice on how to add an xkb keyboard to the ibus input method selection list by modifying simple.xml.  I am trying to use this technique to add the "English (US, alternative international)" keyboard.  Here is the code I am adding to simple.xml:

    <engine>
      <name>xkb:us:alt-intl:eng</name>
      <language>eng</language>
      <license>GPL</license>
      <author>Wasta Linux Team &lt;wasta.li...@gmail.com&gt;</author>
      <layout>us</layout>
      <layout_variant>alt-intl</layout_variant>
      <longname>English (US, alternative international)</longname>
      <description>English (US, alternative international)</description>
      <icon>ibus-keyboard</icon>
      <rank>1</rank>
    </engine>

The keyboard is found by ibus, and is added.  After restarting ibus, however, it doesn't key correctly as compared directly with the xkb keyboard.  For example, typing ' c should result in ç but instead ć is being typed.  This ć matches what the "English (US, international with dead keys)" should make when typing ' c.

So I am confused as to why the alt-intl keyboard is not working correctly in ibus?  It does work correctly when only using xkb.  In Ubuntu, the specification for the alt-intl keyboard is found in /usr/share/X11/xkb/symbols/us, and is this:

xkb_symbols "alt-intl" {

  include "us"
  name[Group1]= "English (US, alternative international)";

  key <TLDE> { [ dead_grave, dead_tilde,    grave,          asciitilde    ] };
  key <AE05> { [          5, percent,        EuroSign                ] };
  key <AE06> { [      6, dead_circumflex, asciicircum,    asciicircum   ] };
  key <AE09> { [      9, parenleft, leftsinglequotemark,  dead_breve ] };
  key <AE10> { [      0, parenright, rightsinglequotemark, dead_abovering ] };
  key <AE11> { [      minus, underscore,    dead_macron,      dead_belowdot ] };
  key <AE12> { [      equal, plus,        dead_doubleacute, dead_horn        ] };

  key <AD03> { [          e, E,             EuroSign,         cent        ] };

  key <AC10> { [  semicolon, colon,         dead_ogonek,   dead_diaeresis  ] };
  key <AC11> { [ dead_acute, dead_diaeresis, apostrophe,    quotedbl        ] };

  key <AB08> { [      comma, less,         dead_cedilla,  dead_caron        ] };
  key <AB09> { [     period, greater,         dead_abovedot, dead_circumflex ] };
  key <AB10> { [      slash, question,         dead_hook,        dead_hook        ] };

  key <LSGT> { [ backslash,   bar,            backslash,      bar ] };

  include "level3(ralt_switch)"
};

So is there any help that can be given to make the alt-intl keyboard type correctly when used through ibus?

Thank you,

Rik

Rik Shaw

unread,
May 2, 2018, 1:19:52 PM5/2/18
to ibus-user
PS.  This is on Ubuntu 16.04, using ibus 1.5.11.  Possibly an update will fix the issue but I have not been able to test yet in Ubuntu 18.04.

Takao Fujiwara

unread,
May 4, 2018, 3:53:41 AM5/4/18
to ibus...@googlegroups.com
You could see `dead_acute` using xev command when you press `'`.
I think us(alt-intl) does not define what `dead_acute` + `c` expresses
but it's defined in compose key.
You could run ibus-daemon with LC_CTYPE=pt_BR to get `ç` instead of `ć`:
```
ibus exit
env LC_CTYPE=pt_BR.UTF-8 ibus-daemon --xim &
```


or You can configure $HOME/ibus/Compose or $HOME/.XCompose file to
override EN compose.
> --
> --
> You received this message because you are subscribed to the Google
> Groups "ibus-user" group.
> iBus project web page: http://code.google.com/p/ibus/
> iBus project group: http://groups.google.com/group/ibus-user?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "ibus-user" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to ibus-user+...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages