[Top][All Lists]

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

Re: Request to add a new layout for Malayalam

From: Ajith R
Subject: Re: Request to add a new layout for Malayalam
Date: Sun, 5 Nov 2023 19:21:18 +0000 (UTC)

Dear Mike,

I could add a third layer of most of the rarerly used characters to the layout. 
I have also added user input variables. Both mim files have changed and are 
attached. I have also updated the gitlab repo 
(https://gitlab.com/ajithramayyan/puthunira) .

I have more doubts -

1) How can I specify a fourth level - one obtained by pressing Shift and the 
third level modifier together?

2) How do I specify the sequence of a character formed from a keypress using  
third level modifier followed by a first/second level character?

In the pnc layout  G-h forms ഩ. If this is followed by the "chillu" forming key 
- r, I want it to be changed to ൻ.  In the modified pnc mim file, line 269 I 
tried (G-hr "ൻ"), without any luck. What change does it require?

3) I also want the vowel keys to form the vowel signs when they are pressed 
after a consonant (or the gemination key I defined). Currently vowel signs are 
formed based on what was typed last. If not consonants, vowel letters form. 
While this is okay, it is not ideal. After pressing delete or moving the 
cursor, it will not provide vowel signs. Does 
 implement such a logic? Could you explain it a bit?

Thanks again for your time,

On Sunday, 5 November, 2023 at 03:13:16 pm IST, Mike FABIAN 
<mfabian@redhat.com> wrote: 

Ajith R <ajithramayyan@yahoo.co.in> さんはかきました:

> Dear Mike,
>> Great, thank you! I’ll try to make a new m17n-db release next week with
>> your new input method.
> That will be great! Thanks.
> QWERTY the common system layout, for example, has a set of characters you get 
> by pressing the keys by itself and another by pressing shift/caps.
> Malayalam has more than 100 unicode points. In the layout I submitted,
> uncommonly used characters are not included. I was not sure how to
> include them in my layout when the system layout has only the
> "unshifted" and "shifted" plains / layers. 
> If the system layout has more than two such sets - one set of
> 'unshifted' characters, another set of 'shifted' characters and an
> additional set of characters you get by pressing a third level
> modifier (say the window key), can ibus transform the characters you
> get when you press the third level modifier? Say, I have a modified
> system layout which returns, say Greek characters when I press the
> third level modifiers. Can I have ibus translate them to the malayalam
> archaic characters ( which are not included currently)? This was what
> I had in mind when I asked about support for more than two levels.
> Though I don't understand the
> example 
> https://git.savannah.nongnu.org/cgit/m17n/m17n-db.git/tree/MIM/bn-national-jatiya.mim
> completely, I think it implements most of the features I want in my
> pnC. A few doubts -
> 1) In expressions like ((G-i) "ঽ") ; U+09BD BENGALI SIGN AVAGRAHA, what does 
> G-i without the quotes represent?

The G- represents pressing the ISO_Level3_Shift key which is usually the
right Alt key (often also called the AltGr key). If you look at the
keyboard layout pictures in


you see that many of the QWERTY layouts have "Alt Gr" written on top of
the right Alt key. An exception is the US keyboard layout, which has a
second Alt key instead:

Wikipedia> The US keyboard layout has a second Alt key instead of the
Wikipedia> AltGr key and does not use any dead keys; this makes it
Wikipedia> inefficient for all but a handful of languages.

So don’t use the US keyboard layout if you want something like

((G-i) "ঽ")

to work, you can use the "English (India, with rupee)" keyboard layout
instead for example. It is basically a variant of the US layout changing
the right Alt key to ISO_Level3_Shift and adding a rupee sign on

$ grep -B2 -A 10 'xkb_symbols "eng"' /usr/share/X11/xkb/symbols/in

partial alphanumeric_keys
xkb_symbols "eng" {

    include "us(basic)"
    name[Group1]= "English (India, with rupee)";

    include "rupeesign(4)"
    include "level3(ralt_switch)"

$ grep -B4 -A3 'xkb_symbols "ralt_switch"' /usr/share/X11/xkb/symbols/level3 

// The default behaviour:
// the right Alt key (AltGr) chooses the third symbol engraved on a key.
default partial modifier_keys
xkb_symbols "ralt_switch" {
  key <RALT> {[  ISO_Level3_Shift  ], type[group1]="ONE_LEVEL" };

$ cat /usr/share/X11/xkb/symbols/rupeesign 
// keyboards having the RupeeSign on the 4 key
xkb_symbols "4" {
    key <AE04>  { [  NoSymbol,  NoSymbol,  U20B9 ]    };

As long as you use a keyboard layout which has ISO_Level3_Shift
somewhere, you can use the "G-" in m17n-db.

In Gnome you can select it like this (similar in other desktops):

> 2) Can you please point me to the documentation of features ‌/commands like 
> variable, set, cond etc

Some documentation is here:


especially this page:


and I also found it helpful to look at the other .mim files which
already exist in m17n-db as examples.

Mike FABIAN <mfabian@redhat.com>

Attachment: en-pn-eqf.mim
Description: Binary data

Attachment: ml-pn-c.mim
Description: Binary data

reply via email to

[Prev in Thread] Current Thread [Next in Thread]