//##### NOTE: the norm is not yet definitive ###### // Tifinagh keyboards; as defined by the Moroccan norm PNM 17.1.000 // there are 4 layouts defined: // * tifinagh(strict): basic layout (only standard moroccan orthography // letters), in strict mode (eg, undefining some level1 positions) // * tifinagh(basic): basic layout like the previous, but without // undefined positions at level1) // * tifinagh(extended): extended layout, with all tifinagh accessible // * tifinagh(phonetic): this one doesn't follow moroccan norm, but // instead does a phonetic mapping of tifinagh tokeys having // some latin alphabet values; it is based on thefirst // tifinagh kbd version present in Mandrakelinux 10.0, and // it may be easier to remember the places where tifinagh letters // not covered by moroccan orthography are located. // // NOTE: the moroccan keyboard has two keys that send a *string* // instead of a single character; as currently XKB can't define // a way to do that, what is done is that some unused unicode // values of the tifinagh block are sent instead (U+2D6D and U+2D6E) // and they are mapped in the Compose file; the result is transparent // for programs using Compose file, but may be problematic for // others, or when the Compose file lacks the translation lines. // here are the two lines to add to Compose file: // // <U2d6d> : "ⴳⵯ" // <U2d6e> : "ⴽⵯ" // // 2004-03-22 Pablo Saratxaga <pablo@mandriva.com> partial alphanumeric_keys xkb_symbols "strict" { name[Group1]="Tifinagh"; key <TLDE> { [ twosuperior ] }; key <AE01> { [ ampersand, 1 ] }; key <AE02> { [ NoSymbol, 2, asciitilde ] }; key <AE03> { [ quotedbl, 3, numbersign ] }; key <AE04> { [apostrophe, 4, braceleft ] }; key <AE05> { [ parenleft, 5, bracketleft ] }; key <AE06> { [ minus, 6, bar ] }; key <AE07> { [ NoSymbol, 7, grave ] }; key <AE08> { [underscore, 8, backslash ] }; key <AE09> { [ NoSymbol, 9, asciicircum ] }; key <AE10> { [ NoSymbol, 0, at ] }; key <AE11> { [parenright, degree, bracketright ] }; key <AE12> { [ equal, plus, braceright ] }; key <AD01> { [ 0x1002d30 ] }; key <AD02> { [ 0x1002d63, 0x1002d65 ] }; key <AD03> { [ 0x1002d3b, NoSymbol, EuroSign ] }; key <AD04> { [ 0x1002d54, 0x1002d55 ] }; key <AD05> { [ 0x1002d5c, 0x1002d5f ] }; key <AD06> { [ 0x1002d62 ] }; key <AD07> { [ 0x1002d53 ] }; key <AD08> { [ 0x1002d49 ] }; key <AD09> { [ 0x1002d44 ] }; key <AD10> { [ 0x1002d43 ] }; key <AD11> { [ 0x1002d6f ] }; key <AD12> { [ dollar, sterling, currency ] }; key <AC01> { [ 0x1002d47 ] }; key <AC02> { [ 0x1002d59, 0x1002d5a ] }; key <AC03> { [ 0x1002d37, 0x1002d39 ] }; key <AC04> { [ 0x1002d3c ] }; key <AC05> { [ 0x1002d33, 0x1002d6d ] }; // kw key <AC06> { [ 0x1002d40 ] }; key <AC07> { [ 0x1002d4a ] }; key <AC08> { [ 0x1002d3d, 0x1002d6e ] }; // gw key <AC09> { [ 0x1002d4d ] }; key <AC10> { [ 0x1002d4e ] }; key <AC11> { [ NoSymbol, percent ] }; key <BKSL> { [ asterisk, mu ] }; key <LSGT> { [ less, greater ] }; key <AB01> { [ 0x1002d61 ] }; key <AB02> { [ 0x1002d45 ] }; key <AB03> { [ 0x1002d5b ] }; key <AB04> { [ 0x1002d56 ] }; key <AB05> { [ 0x1002d31 ] }; key <AB06> { [ 0x1002d4f ] }; key <AB07> { [ comma, question ] }; key <AB08> { [ semicolon, period ] }; key <AB09> { [ colon, slash ] }; key <AB10> { [ exclam, section ] }; key <RALT> { type[Group1]="TWO_LEVEL", [ ISO_Level3_Shift, Multi_key ] }; modifier_map Mod5 { <RALT> }; }; partial default alphanumeric_keys xkb_symbols "basic" { include "pc/tifinagh(strict)" key <AE02> { [ asciitilde, 2, asciitilde ] }; key <AE07> { [ grave, 7, grave ] }; key <AE09> { [ asciicircum, 9, asciicircum ] }; key <AE10> { [ at, 0, at ] }; key <AC11> { [ percent, percent ] }; }; partial alphanumeric_keys xkb_symbols "extended" { include "pc/tifinagh(basic)" key <TLDE> { [ twosuperior, 0x100200d ] }; key <AE02> { [ 0x1002d52, 2, asciitilde ] }; key <AE07> { [ 0x1002d64, 7, grave ] }; key <AE09> { [ 0x4002014, 9, asciicircum ] }; key <AE10> { [ 0x100200c, 0, at ] }; key <AD01> { [ 0x1002d30, 0x1002d36 ] }; key <AD03> { [ 0x1002d3b, 0x1002d57, EuroSign ] }; key <AD06> { [ 0x1002d62, 0x1002d42 ] }; key <AD07> { [ 0x1002d53, 0x1002d4c ] }; key <AD08> { [ 0x1002d49, 0x1002d58 ] }; key <AD09> { [ 0x1002d44, 0x1002d5d ] }; key <AD10> { [ 0x1002d43, 0x1002d5e ] }; key <AD11> { [ 0x1002d6f, 0x1002d60 ] }; key <AC01> { [ 0x1002d47, 0x1002d48 ] }; key <AC04> { [ 0x1002d3c, 0x1002d35 ] }; key <AC06> { [ 0x1002d40, 0x1002d41 ] }; key <AC07> { [ 0x1002d4a, 0x1002d4b ] }; key <AC09> { [ 0x1002d4d, 0x1002d38 ] }; key <AC10> { [ 0x1002d4e, 0x1002d3a ] }; key <AC11> { [ 0x1002d51, percent ] }; key <AB01> { [ 0x1002d61, 0x1002d3e ] }; key <AB02> { [ 0x1002d45, 0x1002d46 ] }; key <AB03> { [ 0x1002d5b, 0x1002d3f ] }; key <AB04> { [ 0x1002d56, 0x1002d34 ] }; key <AB05> { [ 0x1002d31, 0x1002d32 ] }; key <AB06> { [ 0x1002d4f, 0x1002d50 ] }; key <SPCE> { [ space, space, nobreakspace ] }; }; partial alphanumeric_keys xkb_symbols "phonetic" { name[Group1]="Tifinagh"; key <LatA> { [ 0x1002d30 ] }; key <LatZ> { [ 0x1002d63, 0x1002d65, 0x1002d64 ] }; key <LatE> { [ 0x1002d3b, 0x1002d3b, EuroSign ] }; key <LatR> { [ 0x1002d54, 0x1002d55 ] }; key <LatT> { [ 0x1002d5c, 0x1002d5f, 0x1002d5d ] }; key <LatY> { [ 0x1002d62 ] }; key <LatU> { [ 0x1002d53 ] }; key <LatI> { [ 0x1002d49 ] }; key <LatO> { [ 0x1002d44 ] }; key <LatP> { [ 0x1002d43, 0x1002d52 ] }; key <LatQ> { [ 0x1002d47, 0x1002d48 ] }; key <LatS> { [ 0x1002d59, 0x1002d5a ] }; key <LatD> { [ 0x1002d37, 0x1002d39, 0x1002d38, 0x1002d3a ] }; key <LatF> { [ 0x1002d3c ] }; key <LatG> { [ 0x1002d33, 0x1002d36, 0x1002d34, 0x1002d35 ] }; key <LatH> { [ 0x1002d40, 0x1002d42, 0x1002d41 ] }; key <LatJ> { [ 0x1002d4a, 0x1002d4c, 0x1002d4b ] }; key <LatK> { [ 0x1002d3d, 0x1002d3e, 0x1002d3f ] }; key <LatL> { [ 0x1002d4d ] }; key <LatM> { [ 0x1002d4e ] }; key <LatW> { [ 0x1002d61, 0x1002d6f, 0x1002d60 ] }; key <LatX> { [ 0x1002d45, 0x1002d46 ] }; key <LatC> { [ 0x1002d5b, 0x1002d5e ] }; key <LatV> { [ 0x1002d56, 0x1002d57, 0x1002d58 ] }; key <LatB> { [ 0x1002d31, 0x1002d31, 0x1002d32 ] }; key <LatN> { [ 0x1002d4f, 0x1002d50, 0x1002d51 ] }; key <RALT> { type[Group1]="TWO_LEVEL", [ ISO_Level3_Shift, Multi_key ] }; modifier_map Mod5 { <RALT> }; };