added Maroccan layouts, b.fd.o#9950
[xorg/xkeyboard-config] / symbols / ma
1 // Arabic AZERTY with modern Latin digits 
2 partial default alphanumeric_keys
3 xkb_symbols "arabic" {
4     include "ara(azerty)"
5
6     name[Group1]="Morocco";
7 };
8
9 // French AZERTY keyboard used when typing French
10 partial alphanumeric_keys
11 xkb_symbols "french" {
12     include "fr(basic)"
13
14     name[Group1]="Morocco - French";
15 };
16
17 // Clavier unicode tifinaghe de base réalisé par l'IRCAM (Institut Royal de la Culture Amazighe du Maroc) http://www.ircam.ma/
18 // Support des lettres unicode tifinaghe-IRCAM, néotifinaghes & touarègues.
19 // Les caractères tifinaghes sont accessibles en SHIFT positions pour le niveau 2, en ALTGR positions pour le niveau 3
20 // Polices tifinaghes Unicode à télécharger depuis :
21 // http://www.ircam.ma/documents/policesclavierunicode/hapaxber.ttf (licence non libre, libre téléchargement et distribution uniquement)
22 // Minihowto ici: http://perso.menara.ma/~kebdani/tamazgha/gnu_amazigh.html
23
24 partial alphanumeric_keys
25 xkb_symbols "tifinagh" {
26
27     name[Group1]="Morocco - Tifinagh";
28
29     key <TLDE>  { [ twosuperior, NoAction ]     };
30     key <AE01>  { [ ampersand,          1 ]     };
31     key <AE02>  { [ NoAction,          2, asciitilde    ]       };
32     key <AE03>  { [  quotedbl,          3, numbersign   ]       };
33     key <AE04>  { [apostrophe,          4, braceleft    ]       };
34     key <AE05>  { [ parenleft,          5, bracketleft  ]       };
35     key <AE06>  { [     minus,          6, bar  ]       };
36     key <AE07>  { [         NoAction ,  7 ]     };
37     key <AE08>  { [underscore,          8, backslash    ]       };
38     key <AE09>  { [NoAction,         9, asciicircum     ]       };
39     key <AE10>  { [       NoAction ,          0, at             ]       };
40     key <AE11>  { [parenright,     degree, bracketright ]       };
41     key <AE12>  { [     equal,       plus, braceright   ]       };
42
43     key <AD01>  { [ 0x1002d30 ] };
44     key <AD02>  { [ 0x1002d63, 0x1002d65 ]      };
45     key <AD03>  { [ 0x1002d3b, NoAction,0x10020ac ]     };
46     key <AD04>  { [ 0x1002d54, 0x1002d55 ]      };
47     key <AD05>  { [ 0x1002d5c, 0x1002d5f ]      };
48     key <AD06>  { [ 0x1002d62 ] };
49     key <AD07>  { [ 0x1002d53 ] };
50     key <AD08>  { [ 0x1002d49 ] };
51     key <AD09>  { [ 0x1002d44 ] };
52     key <AD10>  { [ 0x1002d43 ] };
53     key <AD11>  { [ 0x1002d6f ]   };
54     key <AD12>  { [    dollar,   sterling,   0x10000a4] };
55
56     key <AC01>  { [ 0x1002d47 ] };
57     key <AC02>  { [ 0x1002d59, 0x1002d5a ]      };
58     key <AC03>  { [ 0x1002d37, 0x1002d39 ]      };
59     key <AC04>  { [ 0x1002d3c ] };
60     key <AC05>  { [ 0x1002d33, 0x1002d33]       };
61     key <AC06>  { [ 0x1002d40 ] };
62     key <AC07>  { [ 0x1002d4a ] };
63     key <AC08>  { [ 0x1002d3d,  0x1002d3d  ]    };
64     key <AC09>  { [ 0x1002d4d ] };
65     key <AC10>  { [ 0x1002d4e ] };
66     key <AC11>  { [    NoAction ,   percent ]   };
67     key <BKSL>  { [  asterisk,         mu ]     };
68
69     key <AB01>  { [ 0x1002d61 ] };
70     key <AB02>  { [ 0x1002d45 ] };
71     key <AB03>  { [ 0x1002d5b ] };
72     key <AB04>  { [ 0x1002d56 ] };
73     key <AB05>  { [ 0x1002d31 ] };
74     key <AB06>  { [ 0x1002d4f ] };
75     key <AB07>  { [     comma,   question ] };
76     key <AB08>  { [ semicolon,     period ] };
77     key <AB09>  { [     colon,      slash ] };
78     key <AB10>  { [    exclam,    section ] };
79
80     key <SPCE>  { [    space,    space,  nobreakspace ] };
81
82
83     key <RALT>  { type[Group1]="TWO_LEVEL",
84                   [ ISO_Level3_Shift, Multi_key ]   };
85     modifier_map Mod5   { <RALT> };
86 };
87
88 partial alphanumeric_keys
89 xkb_symbols "tifinagh-phonetic" {
90
91     name[Group1]="Morocco - Tifinagh Phonetic";
92     include "ma(tifinagh)"
93
94     key <LatA>  { [ 0x1002d30 ] };
95     key <LatZ>  { [ 0x1002d63, 0x1002d65 ]      };
96     key <LatE>  { [ 0x1002d3b, NoAction,0x10020ac ]     };
97     key <LatR>  { [ 0x1002d54, 0x1002d55 ]      };
98     key <LatT>  { [ 0x1002d5c, 0x1002d5f ]      };
99     key <LatY>  { [ 0x1002d62 ] };
100     key <LatU>  { [ 0x1002d53 ] };
101     key <LatI>  { [ 0x1002d49 ] };
102     key <LatO>  { [ 0x1002d44 ] };
103     key <LatP>  { [ 0x1002d43 ] };
104
105     key <LatQ>  { [ 0x1002d47 ] };
106     key <LatS>  { [ 0x1002d59, 0x1002d5a ]      };
107     key <LatD>  { [ 0x1002d37, 0x1002d39 ]      };
108     key <LatF>  { [ 0x1002d3c ] };
109     key <LatG>  { [ 0x1002d33 ] };
110     key <LatH>  { [ 0x1002d40 ] };
111     key <LatJ>  { [ 0x1002d4a ] };
112     key <LatK>  { [ 0x1002d3d ] };
113     key <LatL>  { [ 0x1002d4d ] };
114     key <LatM>  { [ 0x1002d4e ] };
115
116     key <LatW>  { [ 0x1002d61,0x1002d6f ]       };
117     key <LatX>  { [ 0x1002d45 ] };
118     key <LatC>  { [ 0x1002d5b ] };
119     key <LatV>  { [ 0x1002d56 ] };
120     key <LatB>  { [ 0x1002d31 ] };
121     key <LatN>  { [ 0x1002d4f ] };
122
123     key <RALT>  { type[Group1]="TWO_LEVEL",
124                   [ ISO_Level3_Shift, Multi_key ]   };
125     modifier_map Mod5   { <RALT> };
126 };
127
128 // Clavier unicode tifinaghe étendu réalisé par l'IRCAM (Institut Royal de la Culture Amazighe du Maroc) http://www.ircam.ma/
129 // Support des lettres unicode tifinaghe-IRCAM, néotifinaghes & touarègues.
130 // Les caractères tifinaghes sont accessibles en SHIFT positions pour le niveau 2, en ALTGR positions pour le niveau 3
131 // Polices tifinaghes Unicode à télécharger depuis :
132 // http://www.ircam.ma/documents/policesclavierunicode/hapaxber.ttf (licence non libre, libre téléchargement et distribution uniquement)
133 // Minihowto ici: http://perso.menara.ma/~kebdani/tamazgha/gnu_amazigh.html
134
135 partial alphanumeric_keys
136 xkb_symbols "tifinagh-extended" {
137
138     name[Group1]="Morocco - Tifinagh Extended";
139
140     key <TLDE>  { [ twosuperior,0x100200C ]     };
141     key <AE01>  { [ ampersand,          1 ]     };
142     key <AE02>  { [0x1002d52,          2, asciitilde    ]       };
143     key <AE03>  { [  quotedbl,          3, numbersign   ]       };
144     key <AE04>  { [apostrophe,          4, braceleft    ]       };
145     key <AE05>  { [ parenleft,          5, bracketleft  ]       };
146     key <AE06>  { [ minus,          6, bar              ]       };
147     key <AE07>  { [ 0x1002d64 ,  7 ]    };
148     key <AE08>  { [underscore,          8, backslash    ]       };
149     key <AE09>  { [ 0x1002014,         9, asciicircum   ]       };
150     key <AE10>  { [ 0x100200d,          0, at   ]       };
151     key <AE11>  { [parenright,   degree, bracketright   ]       };
152     key <AE12>  { [     equal,       plus, braceright   ]       };
153
154     key <AD01>  { [ 0x1002d30, 0x1002d36 ]      };
155     key <AD02>  { [ 0x1002d63, 0x1002d65 ]      };
156     key <AD03>  { [ 0x1002d3b, 0x1002d57, 0x10020ac ]   };
157     key <AD04>  { [ 0x1002d54, 0x1002d55 ]      };
158     key <AD05>  { [ 0x1002d5c, 0x1002d5f ]      };
159     key <AD06>  { [ 0x1002d62, 0x1002d42 ]      };
160     key <AD07>  { [ 0x1002d53, 0x1002d4c ]      };
161     key <AD08>  { [ 0x1002d49, 0x1002d58 ]      };
162     key <AD09>  { [ 0x1002d44, 0x1002d5d ]      };
163     key <AD10>  { [ 0x1002d43, 0x1002d5e ]      };
164     key <AD11>  { [ 0x1002d6f, 0x1002d60 ]   };
165     key <AD12>  { [    dollar,   sterling,   0x10000a4] };
166
167     key <AC01>  { [ 0x1002d47, 0x1002d48 ]      };
168     key <AC02>  { [ 0x1002d59, 0x1002d5a ]      };
169     key <AC03>  { [ 0x1002d37, 0x1002d39 ]      };
170     key <AC04>  { [ 0x1002d3c, 0x1002d35 ]      };
171     key <AC05>  { [ 0x1002d33, 0x1002d33 ]      };
172     key <AC06>  { [ 0x1002d40, 0x1002d41 ]      };
173     key <AC07>  { [ 0x1002d4a, 0x1002d4b ]      };
174     key <AC08>  { [ 0x1002d3d, 0x1002d3d ]      };
175     key <AC09>  { [ 0x1002d4d, 0x1002d38 ]      };
176     key <AC10>  { [ 0x1002d4e, 0x1002d3a ]      };
177     key <AC11>  { [ 0x1002d51,  percent  ]      };
178     key <BKSL>  { [ asterisk,   mu       ]      };
179
180     key <AB01>  { [ 0x1002d61, 0x1002d3e ]      };
181     key <AB02>  { [ 0x1002d45, 0x1002d46 ]      };
182     key <AB03>  { [ 0x1002d5b, 0x1002d3f ]      };
183     key <AB04>  { [ 0x1002d56, 0x1002d34 ]      };
184     key <AB05>  { [ 0x1002d31, 0x1002d32 ]      };
185     key <AB06>  { [ 0x1002d4f, 0x1002d50 ]      };
186     key <AB07>  { [     comma,  question ]    };
187     key <AB08>  { [ semicolon,    period ]    };
188     key <AB09>  { [     colon,     slash ]    };
189     key <AB10>  { [    exclam,   section ]    };
190
191     key <SPCE>  { [    space,    space,  nobreakspace ] };
192
193
194     key <RALT>  { type[Group1]="TWO_LEVEL",
195                   [ ISO_Level3_Shift, Multi_key ]   };
196     modifier_map Mod5   { <RALT> };
197 };
198
199 partial alphanumeric_keys
200 xkb_symbols "tifinagh-extended-phonetic" {
201     include "ma(tifinagh-extended)"
202
203     name[Group1]="Morocco - Tifinagh Extended Phonetic";
204
205     key <LatA>  { [ 0x1002d30 ] };
206     key <LatZ>  { [ 0x1002d63, 0x1002d65 ]      };
207     key <LatE>  { [ 0x1002d3b, NoAction,0x10020ac ]     };
208     key <LatR>  { [ 0x1002d54, 0x1002d55 ]      };
209     key <LatT>  { [ 0x1002d5c, 0x1002d5f ]      };
210     key <LatY>  { [ 0x1002d62 ] };
211     key <LatU>  { [ 0x1002d53 ] };
212     key <LatI>  { [ 0x1002d49 ] };
213     key <LatO>  { [ 0x1002d44 ] };
214     key <LatP>  { [ 0x1002d43 ] };
215
216     key <LatQ>  { [ 0x1002d47 ] };
217     key <LatS>  { [ 0x1002d59, 0x1002d5a ]      };
218     key <LatD>  { [ 0x1002d37, 0x1002d39 ]      };
219     key <LatF>  { [ 0x1002d3c ] };
220     key <LatG>  { [ 0x1002d33 ] };
221     key <LatH>  { [ 0x1002d40 ] };
222     key <LatJ>  { [ 0x1002d4a ] };
223     key <LatK>  { [ 0x1002d3d ] };
224     key <LatL>  { [ 0x1002d4d ] };
225     key <LatM>  { [ 0x1002d4e ] };
226
227     key <LatW>  { [ 0x1002d61 ] };
228     key <LatX>  { [ 0x1002d45 ] };
229     key <LatC>  { [ 0x1002d5b ] };
230     key <LatV>  { [ 0x1002d56 ] };
231     key <LatB>  { [ 0x1002d31 ] };
232     key <LatN>  { [ 0x1002d4f ] };
233
234     key <RALT>  { type[Group1]="TWO_LEVEL",
235                   [ ISO_Level3_Shift, Multi_key ]   };
236     modifier_map Mod5   { <RALT> };
237 };
238
239 // Tifinagh keyboard; improved from the IRCAM layout to make all
240 // tifinagh chars in unicode accessible (in shift positions for most
241 // touareg letters; in altgr position for spirants.
242
243 partial alphanumeric_keys
244 xkb_symbols "tifinagh-alt" {
245
246     name[Group1]="Morocco - Tifinagh Alternative";
247
248     key <TLDE>  { [ twosuperior, asciitilde ]   };
249     key <AE01>  { [ ampersand,          1 ]     };
250     key <AE02>  { [asciitilde,          2, asciitilde   ]       };
251     key <AE03>  { [  quotedbl,          3, numbersign   ]       };
252     key <AE04>  { [apostrophe,          4, braceleft    ]       };
253     key <AE05>  { [ parenleft,          5, bracketleft  ]       };
254     key <AE06>  { [     minus,          6, bar          ]       };
255     key <AE07>  { [     grave,          7, grave        ]       };
256     key <AE08>  { [underscore,          8, backslash    ]       };
257     key <AE09>  { [asciicircum,         9, asciicircum  ]       };
258     key <AE10>  { [        at,          0, at           ]       };
259     key <AE11>  { [parenright,     degree, bracketright ]       };
260     key <AE12>  { [     equal,       plus, braceright   ]       };
261
262     key <AD01>  { [ 0x1002d30 ] };
263     key <AD02>  { [ 0x1002d63, 0x1002d65, 0x1002d64 ]   };
264     key <AD03>  { [ 0x1002d3b ] };
265     key <AD04>  { [ 0x1002d54, 0x1002d55 ]      };
266     key <AD05>  { [ 0x1002d5c, 0x1002d5f, 0x1002d5d ]   };
267     key <AD06>  { [ 0x1002d62 ] };
268     key <AD07>  { [ 0x1002d53 ] };
269     key <AD08>  { [ 0x1002d49 ] };
270     key <AD09>  { [ 0x1002d44 ] };
271     key <AD10>  { [ 0x1002d43, 0x1002d52 ]      };
272     key <AD11>  { [ dead_circumflex ] };
273     key <AD12>  { [    dollar,   sterling ]     };
274
275     key <AC01>  { [ 0x1002d47, 0x1002d48 ]      };
276     key <AC02>  { [ 0x1002d59, 0x1002d5a ]      };
277     key <AC03>  { [ 0x1002d37, 0x1002d39, 0x1002d38, 0x1002d3a ]        };
278     key <AC04>  { [ 0x1002d3c ] };
279     key <AC05>  { [ 0x1002d33, 0x1002d36, 0x1002d34, 0x1002d35 ]        };
280     key <AC06>  { [ 0x1002d40, 0x1002d42, 0x1002d41 ]   };
281     key <AC07>  { [ 0x1002d4a, 0x1002d4c, 0x1002d4b ]   };
282     key <AC08>  { [ 0x1002d3d, 0x1002d3e, 0x1002d3f ]   };
283     key <AC09>  { [ 0x1002d4d ] };
284     key <AC10>  { [ 0x1002d4e ] };
285     key <AC11>  { [ percent ]   };
286     key <BKSL>  { [  asterisk,         mu ]     };
287
288     key <AB01>  { [ 0x1002d61, 0x1002d6f, 0x1002d60 ]   };
289     key <AB02>  { [ 0x1002d45, 0x1002d46 ]      };
290     key <AB03>  { [ 0x1002d5b, 0x1002d5e ]      };
291     key <AB04>  { [ 0x1002d56, 0x1002d57, 0x1002d58 ]   };
292     key <AB05>  { [ 0x1002d31, 0x1002d31, 0x1002d32 ]   };
293     key <AB06>  { [ 0x1002d4f, 0x1002d50, 0x1002d51 ]   };
294     key <AB07>  { [     comma,   question ] };
295     key <AB08>  { [ semicolon,     period ] };
296     key <AB09>  { [     colon,      slash ] };
297     key <AB10>  { [    exclam,    section ] };
298
299     key <RALT>  { type[Group1]="TWO_LEVEL",
300                   [ ISO_Level3_Shift, Multi_key ]   };
301     modifier_map Mod5   { <RALT> };
302 };
303
304 partial alphanumeric_keys
305 xkb_symbols "tifinagh-alt-phonetic" {
306     include "ma(tifinagh-alt)"
307
308     name[Group1]="Morocco - Tifinagh Alternative Phonetic";
309
310     key <LatA>  { [ 0x1002d30 ] };
311     key <LatZ>  { [ 0x1002d63, 0x1002d65, 0x1002d64 ]   };
312     key <LatE>  { [ 0x1002d3b ] };
313     key <LatR>  { [ 0x1002d54, 0x1002d55 ]      };
314     key <LatT>  { [ 0x1002d5c, 0x1002d5f, 0x1002d5d ]   };
315     key <LatY>  { [ 0x1002d62 ] };
316     key <LatU>  { [ 0x1002d53 ] };
317     key <LatI>  { [ 0x1002d49 ] };
318     key <LatO>  { [ 0x1002d44 ] };
319     key <LatP>  { [ 0x1002d43, 0x1002d52 ]      };
320
321     key <LatQ>  { [ 0x1002d47, 0x1002d48 ]      };
322     key <LatS>  { [ 0x1002d59, 0x1002d5a ]      };
323     key <LatD>  { [ 0x1002d37, 0x1002d39, 0x1002d38, 0x1002d3a ]        };
324     key <LatF>  { [ 0x1002d3c ] };
325     key <LatG>  { [ 0x1002d33, 0x1002d36, 0x1002d34, 0x1002d35 ]        };
326     key <LatH>  { [ 0x1002d40, 0x1002d42, 0x1002d41 ]   };
327     key <LatJ>  { [ 0x1002d4a, 0x1002d4c, 0x1002d4b ]   };
328     key <LatK>  { [ 0x1002d3d, 0x1002d3e, 0x1002d3f ]   };
329     key <LatL>  { [ 0x1002d4d ] };
330     key <LatM>  { [ 0x1002d4e ] };
331
332     key <LatW>  { [ 0x1002d61, 0x1002d6f, 0x1002d60 ]   };
333     key <LatX>  { [ 0x1002d45, 0x1002d46 ]      };
334     key <LatC>  { [ 0x1002d5b, 0x1002d5e ]      };
335     key <LatV>  { [ 0x1002d56, 0x1002d57, 0x1002d58 ]   };
336     key <LatB>  { [ 0x1002d31, 0x1002d31, 0x1002d32 ]   };
337     key <LatN>  { [ 0x1002d4f, 0x1002d50, 0x1002d51 ]   };
338
339     key <RALT>  { type[Group1]="TWO_LEVEL",
340                   [ ISO_Level3_Shift, Multi_key ]   };
341     modifier_map Mod5   { <RALT> };
342 };
343