I am using ibus for input in different languages (mostly I use English and Russian, but also sometimes also Esperanto, Ukrainian, Greek, German, French etc). For English I use the xkb:us::eng
engine which is essentially the basic xkb table for English. However I can’t find any way as to how to use xkb options inside ibus. When the xkb engine is one, setxkbmap -query
gives the following output:
rules: evdev
model: pc105
layout: us
options: compose:menu,grp:caps_toggle
But I’d prefer to have other set of options. For one, I don’t need grp:caps_toggle
at all, as I disabled and remapped the capslock key in ~/.Xmodmap
Plus I’d like to have typographical symbols, lv3 switch by Alt_R and other handy things from setxkbmap
. Before ibus I used uim with the us keyboard and I had the following in my startup file:
setxkbmap "us" -option "compose:menu,lv3:ralt_switch,grp_led:scroll,misc:typo,terminate:ctrl_alt_bksp"
uim used its engines on top of xkb, so all those options worked in both in direct mode and in any engine, at least ones from m17n. Ibus, on the other hand, uses xkb as one of its engines, so calling setxkbmap
seems to break everything. How do I pass options to xkb engines inside ibus? Is it even possible?
Additional question: how do I use the same xkb options for m17n engines? In ibus GUI there is a preferences tab for m17n engines, but it only has a “Use US keyboard layout” checkmark without any way to specify which exactly xkb layout is to be used and with which options. I use m17n:ru:kbd
engine (rather than xkb one) for Russian, but I’d like to have all the handy options from xkb when I use it. Same for all the other languages/engines I occasionally use.