Re: More than one Unicode code-point in a X11 Keyboard file


On Mon, Apr 26, 2004 at 12:48:58PM +0700, Javier SOLA wrote:
> Hi,
> I am trying to write a keyboard driver for Khmer language and in some 
> cases letters are composed of two Unicode points... does anybody know if 
> it is possible to generate two Unicode code-points with one single key 
> stroke in XKB files.

You can, using Compose file.

For that issue a code that you don't otherwise use (one of the not
attributed ones from the khmer bloc for example); then in
the Compose file you define that code to give the real string.

I use it for arabic keyboard that has a+l digraph keys;
in /usr/X11R6/lib/X11/locale/en_US.UTF-8/Compose file:

# Arabic digraphs
<Ufef5> : "لآ"
<Ufef7> : "لأ"
<Ufef9> : "لإ"
<Ufefb> : "لا"

(between quotes there is simply the UTF-8 string I want)
and then in the keyboard layout:

    key <AC05> {  [      Arabic_lam,       0x100fef7      ]     };


Note that for Compose to work you must select "X input mode" in gtk
input menu; and you must have a correct locale setting.
To make that the default, put export GTK_IM_MODULE=xim
somewhere in your ~/.profile or similar.

Note also that programs not using Compose (those are extremely rare;
usually either emulators that want to map keyboard at a low level,
or antediluvian programs; they won't likely be able to display any khmer
alphabet at all anyway), or if you don't have the proper lines in
the Compose file, you will be typing incorrect unicode characters.
But if you are able to add/edit an XKB keyboard layout then you can also
edit Compose file.

Ki ça vos våye bén,
Pablo Saratxaga		PGP Key available, key ID: 0xD9B85466
[you can write me in Walloon, Spanish, French, English, Catalan or Esperanto]
[min povas skribi en valona, esperanta, angla aux latinidaj lingvoj]

Attachment: pgpMgHGmZUDMs.pgp
Description: PGP signature

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]