<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>