.XCompose convert a single character

Ilya Anfimov ilan at tzirechnoy.com
Wed Jul 22 11:49:51 UTC 2020


On Thu, Jul 09, 2020 at 06:44:48PM +0000, Ajith R wrote:
> Hi All,
> 
> I am new to Linux. I am using Debian GNU Linux 10 with KDE 5.14.5.
> 
> I want to make a cutom keyboard layout for my mother tongue Malayalam (Kerala, India). I have managed to write the layout (by modifying the /usr/share/X11/xkb/symbols/in file and apparently it is working  ok. One character in Malayalam U0D19 ??? is not used as such (except rarely when referring to the character itself). It is used as conjuncts, mostly as its geminate form. To get the geminate form one need to type UD019 ??? followed by U0D4D ??? followed by UD019 ??? again to get ?????????. If I could get every UD019 ??? converted to ?????????, it could save a lot of key press (1 in place of three). I learned that .XCompose is the place to do that. However, my .XCompose is not working. Its current content is as below.
> 
> include "%L" 
> 
> <???>            : "?????????"

 Good day!

 I see that you have a lot of non-breaking spaces (0xC2 0xA0 in UTF8,
Unicode point A0)
e.g. betwen `include "%L"' and EOL and between <...> and :
 It could be the reason for parser failure.

 Haven't tried this yet, also this could be not the case
if that appeared only when copying .XCompose text to e-mail message.

 Also, try setting environment GTK_IM_MODULE to xim

GTK_IM_MODULE=xim
export GTK_IM_MODULE

somewhere in ~/.Xsession or so, or at least in a shell before
launching test app.
 The default GTK im module has some strange shortcomings
related to Compose sequences.


> 
> I also tried 
> 
> include "%L" 
> 
> <q> <q>           : "QQ"
> 
> to see if the english characters would work, but to no avail.
> 
> I read here https://dominiko.livejournal.com/20206.html that something similar was done, but couldn't really understand what I am doing wrong.
> 
> I am trying this forum after trying Debian mail list unsuccesfully.
> 
> My queries
> 
> 1) Does the .XCompose mechanism permit conversion of a single /multiple charcter(s)  to a string without using Compose / dead keys?

 Yes.

> 2) If so, what is wrong with my .XCompose file?
> 3) If my specification of the .XCompose file is okay, how do I find out what is wrong (and correct it)?

 Probably it is, apart from spacing.
 However, the bundled XCompose used hex unicode representation
for trigger strings (parts of specification before ":"), e.g. <U0D19> --
so it could be safer to use them.

> 4) Does the xkbmap system directly permit output of a string when a single key is pressed (without the help of .XCompose)?

 No.

> 
> 
> Thanks,
> ajith
> 
> _______________________________________________
> xorg at lists.x.org: X.Org support
> Archives: http://lists.freedesktop.org/archives/xorg
> Info: https://lists.x.org/mailman/listinfo/xorg
> Your subscription address: %(user_address)s


More information about the xorg mailing list