<div dir="ltr"><div><div>Hi<br><br></div>I've just started to learn about XKB. Sorry I post my question here if it is the wrong place, I couldn't find any forum!<br><br></div><div>I work on a project for local languages in Togo, we're working on 25 languages there (<a href="http://en.globalbility.org" target="_blank">en.globalbility.org</a>). We want to make a new keyboard that are based on the French one that include symbols for local languages. I've tested with the XKB system inside Ubuntu and made a first test keybord (really not final version, just to test it).<br><br></div><div>I have problem as there are several of the languages use tones on their symbols like acute accent ( ´ ), grave accent ( <b>`</b> ), circumflex ( <b>ˆ </b>) tilde ( <b>~ </b>) and macron ( ¯ ) on top of them.<br><br></div><div>Here are the extra symbols I've added to the keyboard:<br>ʒ ɛ ǝ ƴ ʋ ɩ ɔ ʊ ɗ ɖ ƒ ɣ ɦ ɲ ɓ ŋ<br><br></div><div>It should be possible to write them like this (examples from texts we have produced):<br>ί ɔ́ ɛ́ <br>ɛ̀ ɔ̀<br>ɔ̃ ɛ̃ ɔ̃ ĩ<br>ɛ̄<br>î<br><br></div><div>How can I modify these kinds of combination symbols?<br><br>I try to click AltGr+` and after AltGr+ɛ to get ɛ̀, but then noting happens, and after I only get ɛ (without grave accent). Why? Is it because the keyboard missunderstand when I click AltGr two times? How can I solve this?<br><br></div>Here is the small file I made to test it:<br><br><span style="color:rgb(102,0,0)">default  partial alphanumeric_keys<br>xkb_symbols "basic" {<br><br>    // First we include the whole French keyboard<br>    include "fr"<br><br>    // We give our new keyboard a name<br>    name[Group1]="French (Togo)";<br><br>    // Then we start to change the keys on the French keyboard.<br>    // Each key have a unique number.<br>    // Each key have 4 values: default, shift, altgr, shift+altgr  (altgr is the right side 'alt' key)<br><br>    // First row<br><br><br>    // Second row<br>    key <AD02>    { [    z,    Z,    U0292,    U01B7 ] };    // U0292 = ʒ (small), U01B7 = Ʒ (capital)<br>    key <AD03>    { [    e,    E,    U025B,    U0190 ]    };    // U025B = ɛ (small), U0190 = Ɛ (capital)<br>    key <AD04>    { [    r,    R,    U01DD,    U018E ] };    // U01DD = ǝ (small), U018E = Ǝ (capital)<br>    key <AD06>    { [    y,    Y,    U01B4,    U01B3 ] };    // U01B4 = ƴ (small), U01B3 = Ƴ (capital)<br>    key <AD07>    { [    u,    U,    U028B,    U01B2 ] };    // U028B = ʋ (small), U01B2 = Ʋ (capital)<br>    key <AD08>    { [    i,    I,    U0269,    U0196 ] };    // U0269 = ɩ (small), U0196 = Ɩ (capital)<br>    key <AD09>    { [    o,    O,    U0254,    U0186 ] };    // U0254 = ɔ (small), U0186 = Ɔ (capital)<br><br>    // Third row<br>    key <AC01>    { [    q,    Q,    U028A,    U01B1 ] };    // U028A = ʊ (small), U01B1 = Ʊ (capital)<br>    key <AC02>    { [    s,    S,    U0257,    U018A ] };    // U0257 = ɗ (small), U0189 = Ɗ (capital)<br>    key <AC03>    { [    d,    D,    U0256,    U0189 ] };    // U0256 = ɖ (small), U0189 = Ɖ (capital)<br>    key <AC04>    { [    f,    F,    U0192,    U0191 ] };    // U0192 = ƒ (small), U0191 = Ƒ (capital)<br>    key <AC05>    { [    g,    G,    U0263,    U0194 ] };    // U0263 = ɣ (small), U0194 = Ɣ (capital)<br>    key <AC06>    { [    h,    H,    U0266,    U0124 ] };    // U0266 = ɦ (small), U0124 = Ĥ (capital)<br>    key <AC10>    { [    m,    M,    U0272,    U019D ] };    // U0272 = ɲ (small), U019D = Ɲ (capital)<br><br><br>    // Fourth row<br>    key <AB05>  { [    b,    B,    U0253,    U0181 ] };    // U0253 = ɓ (small), U0181 = Ɓ (capital)<br>    key <AB06>    { [    n,    N,    U014B,    U014A ] };    // U014B = ŋ (small), U014A = Ŋ (capital)<br><br><br>};</span><br></div>