Adding multiple characters by a single keypress in X11 with XKB.

An-Najmus Saqib nsaqib188 at gmail.com
Sat Feb 22 17:58:27 PST 2014


Dear Xorg Volunteers,

I use a third-party software for Bengali typing in Windows named Avro
Keyboard. It provides a graphical keyboard layout editor (only in
windows-version, linux version supports only phonetic bengali typing).
I made my own layout with it as well as I'm using it for several
years. And I can type multiple Unicode characters with it (for Bengali
conjuncts).

A few months ago I started using Ubuntu (12.04). One of the biggest
problems I faced it was my Bengali typing. Then I started googling and
found here a way to make xkb layout in Ubuntu. Now I am writing a new
bengali custom keyboard layout in xkb. In Bengali I need to add some
conjuncts in my layout which is made up by multiple unicode
characters. How can I type those characters in a single keystroke? In
my layout I need these characters :

   key <AD04> { [   U09B0,  U09CD_U09B0,  U098B   ] }; // BENGALI RA,
BENGALI RO-FOLA, BENGALI VOCALIC R
   key <AB01> { [   U09AF,  U09CD_U09AF           ] }; // BENGALI YA,
BENGALI YA-FOLA
   key <AB02> { [   U09B7,  U0995_U09CD_U09B7     ] }; // BENGALI SSA,
BENGALI KHINYA

I searched the Internet, most of answers were about xim by editing the
compose file; it looked like a per-use setting. But I to use it
systemwide by xkb.

And  my Arabic layout because UFEFB is not supported (in search
option), so I need to use U0644_U0627.

Here I got that xkbcommon supports a syntax like this (but it's not
supported in X11) :

       key <HELO> { [ h, i, { h, e, l, l, o }, { H, E, L, L, O } ] };
// to produce 'h' from level 1, 'i' from level 2, 'hello' from level
3, and 'HELLO' from level 4.

Is there any alternative syntax for this in X11?


More information about the xorg-devel mailing list