Bug 3716 - Keyboard layout for Thaana script
Summary: Keyboard layout for Thaana script
Alias: None
Product: xkeyboard-config
Classification: Unclassified
Component: General (show other bugs)
Version: unspecified
Hardware: x86 (IA32) Linux (All)
: low enhancement
Assignee: xkb
QA Contact:
Keywords: i18n
: 3717 (view as bug list)
Depends on:
Reported: 2005-07-06 17:47 UTC by Daniel Stone
Modified: 2006-04-26 11:53 UTC (History)
0 users

See Also:
i915 platform:
i915 features:

Thaana Keyboard Map (4.12 KB, text/plain)
2005-08-22 10:03 UTC, Askholia

Description FreeDesktop Bugzilla Database Corruption Fix User 2005-07-06 17:47:56 UTC
Hi team, 
Its been over a few days I've been using linux. I have been looking for ways  
to use 'dhivehi' script in Fedora Core 3. Dhivehi is a language used in the  
Maldives and can be written from right-to-left, much like Arabic with strokes  
below and above the letters.  
Since this language was not included in the keyboard layouts during initial  
installations, I was wondering whether there's a way to submit the keyboard  
map for this language. In spite of the fact that I am not a developer, I  
would very much like to see this language being used along  
with other languages like Hindu, Tamil and Singhalese. Presently, Dhivehi is 
supported by Windows XP and other Microshot Office Products. 
Before I go on I would like to give you a brief overview of how this language  
looks like and how it ought to work in the righ-to-left cursor context. 
For instance, the word 'sa', if pronounced and written in dhivehi, the text  
would be typed (supposing the cursor now moves from right-to-left):  
where, the cursor is indicated in square brackets. The 'a' is a stroke that  
will appear on top of the Dhivehi letter equivalent of 's'. 
My request here is to see whether it is possible to develop the keyboard  
layout for this language for it to be used in Xorg and/or other desktop 
interfaces such as KDE/Gnome.   
Being a new linux user, I must apologise for the lack of details and 
specificity of the problem. I look forward to using Dhivehi in linux OS and 
hopefully encouraging Maldivians to use Open-source software.  
Please find further resources about 'thaana' here: 
Thanking for your time and cooperation, 
Kind Regards 
Comment 1 Chris Lee 2005-07-06 20:03:53 UTC
*** Bug 3717 has been marked as a duplicate of this bug. ***
Comment 2 Sergey V. Udaltsov 2005-07-24 05:48:00 UTC
Askholia, there is no problem to support these language and alphabet (since there is already support fo 
Arabic). Though, there are two sides of it:
1. Entering the symbols. In order to do this, we need some file which would map keys to the symbols of 
your alphabet. The examples of these files can be found in /usr/X11R6/lib/X11/xkb/symbols directory. 
I would gladly accept such a file from you into our repository. Just look at some of them - they are 
more or less self-explanatory. I cannot do it myself since I have no slightest idea about your layout (not 
the alphabet, but the keyboard layout).
2. Entering right-to-left. I'm afraid, this is beyond the scope of xkeyboard-config. You are probably 
better off talking to the people supporting the widget set you are using (for example, gtk or qt).
Comment 3 FreeDesktop Bugzilla Database Corruption Fix User 2005-07-24 16:02:07 UTC
Created attachment 3126 [details] [review]

According to Sergey V. Udaltsov's advice, I've looked at some keymaps in
/usr/X11R6/lib/X11/xkb/symbols and figured out that its a simple mapping of the
keys from left-to-right with their names. Since I dont know much about Unicode
encoding or any other font-related specifications, I feign no extensive
knowledge as to how it works.

What I did was look at this Phonetic Keyboard
(http://www.mcst.gov.mv/News_and_Events/xpfonts.htm) and enter the name of the
thaana symbols that matches the rows of keys on the keyboard. Had this been
incorrectly done, please advise.

If I understand correctly, what Udaltsov was pointing out was the layout of the
keyboard which maps the thaana symbols. Its pretty much easy for local uses
because almost all of the letters are phonetic- except the ones represented
with modifier keys.

Hoping that this would help somewhat, please reccommend anything else that
you'd need to get the development underway.

Many thanks
Comment 4 FreeDesktop Bugzilla Database Corruption Fix User 2005-07-25 00:26:53 UTC
Created attachment 3132 [details] [review]
Mighty Mouse Horizontal Scrolling

This is a graphic representation of what I modified in the sample thaana script
file. Its nothing much, but ought to give the basic idea of how the keyboard is
laid out WITHOUT modifiers.

I'll upload one with the modifier keys later onwards.

Comment 5 Sergey V. Udaltsov 2005-07-25 06:27:05 UTC
OK, I put your layout into 'div' file. Actually, regarding the description. In
your comments, and in wikipedia, there is Dhivehi. But in ISO standard, it is
Divehi. What would be the right way?
Comment 6 Sergey V. Udaltsov 2005-07-25 06:50:26 UTC
Askholia, actually, your file contains a lot of invalid symbols. Could you
please check it against keysymdef.h (you can find it in /usr/X11R6/include/X11).
There, you'll find all awailable keysyms - just remove the 'X_' prefix. Thanks
Comment 7 FreeDesktop Bugzilla Database Corruption Fix User 2005-07-26 05:49:39 UTC
Created attachment 3142 [details] [review]
Try preferred preprocessors before falling back to CPP

I've corrected most of the symbols names that weren't in the keysymdef.h. Most
of the characters that were incorrectly referred to, like thaana_comma is now
replaced by "Arabic_comma". Some other characters like "Allah", which is an
Arabic word however, are not represented on the keyboard or the Unicode map. I
don't know how or why it appears on the Standard Divehi (which, by the way, is
how Thaana script is referred to in Win XP) Phonetic Keyboard.

The "Allah" (Shift-F) character therefore was left unchanged. Please reccommend
a proper way to treat this.

Apart from this, I've also modified all the character symbol names to match
those in Unicode Standard, Version 4.1. One thing which still has me baffled is
the nature of these keymaps. If possible can you briefly explain what these
names "key <AE05>", for instance means?

Are they standard key names for cross-platform hardware or is it based on a
particular input method for X? Bearing in mind, I barely know what I am doing,
please advise on how the keymaps, character encoding and these odd characters
would affect one another so that we may avoid further confusion later onwards.

Do find further information about thaana Unicode fonts here,

Once again, I thank you for your prompt replies and ready commitment to this

Comment 8 James Cloos 2005-07-26 06:10:35 UTC
>The "Allah" (Shift-F) character therefore was left unchanged.

It may be that that correlates with U+FDF2 ARABIC LIGATURE ALLAH ISOLATED FORM.

If so then the keysym value should be 0x100fdf2, so you should be able to use
that value directly in lieu of a symbol.

/etc/X11/xkb/symbols/pc/ar on my box has an example of doing that.
Comment 9 Sergey V. Udaltsov 2005-07-26 06:32:21 UTC

First, for some reason you are creating two-group layout. Could you please
restrict yourself to one group (the group is limited by [] characters).

Second. It seems, a lot of arabic characters are missing from the keysymdef. In
this case I don't see any way to deal with it but just use plain unicode. If you
look at the Arabic layout - you'll see the examples (0x1000660 - ORed with
0x1000000). So, instead of syntaxically incorrect THAANA LETTER RAA - just use
corresponding uncode. I know, it is not nice - but it is the best we can do so

No need to thank me. I just reply when I have time:)

Comment 10 Sergey V. Udaltsov 2005-07-26 08:53:08 UTC
<AE05> is a keycode. For the way it is defined, see keycodes/xfree86. Also, the
geometry/pc file shows some keyboards having <AE05> key.
Comment 11 Sergey V. Udaltsov 2005-08-13 09:24:38 UTC
Askholia, the release 0.6 of xkeyboard-config is RSN (in less than 2 week).
Would you be able to finish this layout by next weekend?
Comment 12 Askholia 2005-08-22 07:09:27 UTC
My apologies for the delay in replying. I will get right on to it, and 
hopefully, get this done in the next two or three days.

Comment 13 Sergey V. Udaltsov 2005-08-22 07:33:54 UTC
Askholia, thanks. It would be great if you could do it by Wednesday...
Comment 14 Askholia 2005-08-22 10:03:09 UTC
Created attachment 2982 [details]
Thaana Keyboard Map

Please post any syntax errors or comments duely. Will make any amendments as
soon as possible. 

Comment 15 Sergey V. Udaltsov 2005-08-22 13:49:31 UTC
ok, again I see two groups here, but the first one is never used. Can I just
skip it?
Comment 16 Sergey V. Udaltsov 2005-08-22 15:09:33 UTC
Also, if you don't mind, I'd call this layout 'mv' - since we are trying to keep
layouts country-based, so 'mv' stands for Maldives in iso3166.
Comment 17 Sergey V. Udaltsov 2005-08-22 15:13:59 UTC
anyway, committed and seems to be working. would you mind checking
xkeyboard-config CVS?
Comment 18 Askholia 2005-08-23 09:21:25 UTC
Yes, it'd be better if it conforms to existing standards. Any diversions are 
best resolved by adapting any standards presently used in X11. 

Comment 19 consent.m 2006-04-27 04:33:24 UTC

I was informed about this bug some time back ago by the person who posted it. 

Since I am all wet behind the earts when it comes to programming and software 
development, can someone please enlighten me whether these committments Sergey 
mentioned have already been implemented in the new Xorg releases?

If so, would the widget developers pick them up without further reporting (of 

Many thanks
Comment 20 Sergey V. Udaltsov 2006-04-27 04:53:07 UTC
Xorg 7.0 does not explicitly contain xkeyboard-config. But it recommends it as a
replacement of xkbdata (containing obsolete xkb config stuff). Most (all?)
modern distributions are using xkeyboard-config. So they should have Thaana
layout by this moment.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.