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,
*** Bug 3717 has been marked as a duplicate of this bug. ***
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).
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.
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.
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?
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
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
>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.
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:)
<AE05> is a keycode. For the way it is defined, see keycodes/xfree86. Also, the
geometry/pc file shows some keyboards having <AE05> key.
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?
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.
Askholia, thanks. It would be great if you could do it by Wednesday...
Created attachment 2982 [details]
Thaana Keyboard Map
Please post any syntax errors or comments duely. Will make any amendments as
soon as possible.
ok, again I see two groups here, but the first one is never used. Can I just
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.
anyway, committed and seems to be working. would you mind checking
Yes, it'd be better if it conforms to existing standards. Any diversions are
best resolved by adapting any standards presently used in X11.
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
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.