1default partial
2xkb_symbols "fr" {
3    name[Group1] = "French (Canada)";
4
5    key <TLDE>	{ [ numbersign,       bar,     backslash ]	};
6    key <AE01>	{ [         1,     exclam,     plusminus ]	};
7    key <AE02>	{ [         2,   quotedbl,            at ]	};
8    key <AE03>	{ [         3,      slash,      sterling ]	};
9    key <AE04>	{ [         4,     dollar,          cent ]	};
10    key <AE05>	{ [         5,    percent,      currency ] 	};
11    key <AE06>	{ [         6,   question,       notsign ]	};
12    key <AE07>	{ [         7,  ampersand,     brokenbar ]	};
13    key <AE08>	{ [         8,   asterisk,   twosuperior ]	};
14    key <AE09>	{ [         9,  parenleft, threesuperior ]	};
15    key <AE10>	{ [         0, parenright,    onequarter ]	};
16    key <AE11>	{ [     minus, underscore,       onehalf ]	};
17    key <AE12>	{ [     equal,       plus, threequarters ]	};
18
19    key <AD01>	{ [         q,          Q ]	};
20    key <AD02>	{ [         w,          W ]	};
21    key <AD03>	{ [         e,          E,   EuroSign ]	};
22    key <AD04>	{ [         r,          R ]	};
23    key <AD05>	{ [         t,          T ]	};
24    key <AD06>	{ [         y,          Y,   yen      ]	};
25    key <AD07>	{ [         u,          U ]	};
26    key <AD08>	{ [         i,          I ]	};
27    key <AD09>	{ [         o,          O,   section ]	};
28    key <AD10>	{ [         p,          P, paragraph ]	};
29    key <AD11>	{ [dead_circumflex, dead_circumflex, bracketleft  ]	};
30    key <AD12>	{ [   dead_cedilla,  dead_diaeresis, bracketright ]	};
31
32    key <AC01>	{ [         a,          A ]	};
33    key <AC02>	{ [         s,          S ]	};
34    key <AC03>	{ [         d,          D ]	};
35    key <AC04>	{ [         f,          F ]	};
36    key <AC05>	{ [         g,          G ]	};
37    key <AC06>	{ [         h,          H ]	};
38    key <AC07>	{ [         j,          J ]	};
39    key <AC08>	{ [         k,          K ]	};
40    key <AC09>	{ [         l,          L ]	};
41    key <AC10>	{ [ semicolon,      colon, asciitilde ]	};
42    key <AC11>	{ [dead_grave, dead_grave,  braceleft ]	};
43    key <BKSL>	{ [      less,    greater, braceright ]	};
44
45    key <LSGT>	{ [guillemotleft, guillemotright, degree]	};
46    key <AB01>	{ [         z,          Z ]	};
47    key <AB02>	{ [         x,          X ]	};
48    key <AB03>	{ [         c,          C ]	};
49    key <AB04>	{ [         v,          V ]	};
50    key <AB05>	{ [         b,          B ]	};
51    key <AB06>	{ [         n,          N ]	};
52    key <AB07>	{ [         m,          M,           mu ]	};
53    key <AB08>	{ [     comma, apostrophe,       macron ]	};
54    key <AB09>	{ [    period,     period,       hyphen ]	};
55    key <AB10>	{ [    eacute,     Eacute,   dead_acute ]	};
56
57    key <SPCE>	{ [     space,      space, nobreakspace ]	};
58
59    include "level3(ralt_switch)"
60};
61
62xkb_symbols "fr-dvorak" {
63    name[Group1] = "French (Canada, Dvorak)";
64
65    key <TLDE>  { [ numbersign,       bar,     backslash ]  };
66    key <AE01>  { [         1,     exclam,     plusminus ]  };
67    key <AE02>  { [         2,   quotedbl,            at ]  };
68    key <AE03>  { [         3,      slash,      sterling ]  };
69    key <AE04>  { [         4,     dollar,          cent ]  };
70    key <AE05>  { [         5,    percent,      currency ]  };
71    key <AE06>  { [         6,   question,       notsign ]  };
72    key <AE07>  { [         7,  ampersand,     brokenbar ]  };
73    key <AE08>  { [         8,   asterisk,   twosuperior ]  };
74    key <AE09>  { [         9,  parenleft, threesuperior ]  };
75    key <AE10>  { [         0, parenright,    onequarter ]  };
76    key <AE11>  { [dead_circumflex, dead_circumflex, bracketleft  ] };
77    key <AE12>  { [   dead_cedilla,  dead_diaeresis, bracketright ] };
78
79    key <AD01>  { [dead_grave, dead_grave,  braceleft ] };
80    key <AD02>  { [     comma, apostrophe,       macron ]   };
81    key <AD03>  { [    period,     period,       hyphen ]   };
82    key <AD04>  { [         p,          P, paragraph ]  };
83    key <AD05>  { [         y,          Y ] };
84    key <AD06>  { [         f,          F ] };
85    key <AD07>  { [         g,          G ] };
86    key <AD08>  { [         c,          C ] };
87    key <AD09>  { [         r,          R ] };
88    key <AD10>  { [         l,          L ] };
89    key <AD11>  { [    eacute,     Eacute,   dead_acute ]   };
90    key <AD12>  { [     equal,       plus, threequarters ]  };
91
92    key <AC01>  { [         a,          A ] };
93    key <AC02>  { [         o,          O,   section ]  };
94    key <AC03>  { [         e,          E ] };
95    key <AC04>  { [         u,          U ] };
96    key <AC05>  { [         i,          I ] };
97    key <AC06>  { [         d,          D ] };
98    key <AC07>  { [         h,          H ] };
99    key <AC08>  { [         t,          T ] };
100    key <AC09>  { [         n,          N ] };
101    key <AC10>  { [         s,          S ] };
102    key <AC11>  { [     minus, underscore,       onehalf ]  };
103    key <BKSL>  { [      less,    greater, braceright ] };
104
105    key <LSGT>  { [guillemotleft, guillemotright, degree]   };
106    key <AB01>  { [ semicolon,      colon, asciitilde ] };
107    key <AB02>  { [         q,          Q ] };
108    key <AB03>  { [         j,          J ] };
109    key <AB04>  { [         k,          K ] };
110    key <AB05>  { [         x,          X ] };
111    key <AB06>  { [         b,          B ] };
112    key <AB07>  { [         m,          M,           mu ]   };
113    key <AB08>  { [         w,          W ] };
114    key <AB09>  { [         v,          V ] };
115    key <AB10>  { [         z,          Z ] };
116
117    key <SPCE>  { [     space,      space, nobreakspace ]   };
118
119    include "level3(ralt_switch)"
120};
121
122partial
123xkb_symbols "fr-legacy" {
124
125    include "ca(fr)"
126
127    name[Group1] = "French (Canada, legacy)";
128
129    key <TLDE>	{ [    degree,     degree,       notsign ]	};
130    key <AE01>	{ [         1,     exclam,   onesuperior ]	};
131
132    key <AE03>	{ [         3, numbersign, threesuperior ]	};
133    key <AE04>	{ [         4,     dollar,    onequarter ]	};
134    key <AE05>	{ [         5,    percent,       onehalf ] 	};
135    key <AE06>	{ [         6,   question, threequarters ]	};
136    key <AE07>	{ [         7,  ampersand,     braceleft ]	};
137    key <AE08>	{ [         8,   asterisk,   bracketleft ]	};
138    key <AE09>	{ [         9,  parenleft,  bracketright,   plusminus ]	};
139    key <AE10>	{ [         0, parenright,    braceright ]	};
140    key <AE11>	{ [     minus, underscore,           bar, questiondown]	};
141    key <AE12>	{ [     equal,       plus,  dead_cedilla ]	};
142
143    key <AD04>	{ [         r,          R,     paragraph,  registered ]	};
144    key <AD06>	{ [         y,          Y,           yen ]	};
145    key <AD09>	{ [         o,          O,        oslash,      Oslash ] };
146    key <AD10>	{ [         p,          P,         thorn,       THORN ]	};
147    key <AD11>	{ [dead_circumflex, dead_circumflex,           degree ]	};
148    key <AD12>	{ [  ccedilla,   Ccedilla, dead_tilde, dead_diaeresis ]	};
149
150    key <AC01>	{ [         a,          A,            ae,          AE ]	};
151    key <AC02>	{ [         s,          S,        ssharp,     section ]	};
152    key <AC03>	{ [         d,          D,           eth,         ETH ]	};
153    key <AC04>	{ [         f,          F,   ordfeminine ]	};
154    key <AC10>	{ [ semicolon,      colon,    dead_acute,  dead_acute ]	};
155    key <AC11>	{ [    egrave,     Egrave ]	};
156    key <BKSL>	{ [    agrave,     Agrave,    dead_grave ]	};
157
158    key <LSGT>	{ [    ugrave,     Ugrave,     backslash,         bar ]	};
159    key <AB01>	{ [         z,          Z, guillemotleft  ]	};
160    key <AB02>	{ [         x,          X, guillemotright ]	};
161    key <AB03>	{ [         c,          C,          cent,   copyright ]	};
162    key <AB07>	{ [         m,          M,            mu,   masculine ]	};
163    key <AB08>	{ [     comma, apostrophe,         less ]	};
164    key <AB09>	{ [    period,     period,      greater ]	};
165    key <AB10>	{ [    eacute,     Eacute,        slash ]	};
166};
167
168// Inuktitut keyboard layout, by Pablo Saratxaga <pablo@mandrakesoft.com>.
169alphanumeric_keys
170xkb_symbols "ike" {
171
172    name[Group1]= "Inuktitut";
173
174    key	<AE01> { [ 0x01001595, 1		]	};
175    key	<AE02> { [ 0x01001449, 2		]	};
176    key	<AE03> { [ 0x01001550, 3		]	};
177    key	<AE04> { [ 0x01001483, 4		]	};
178    key	<AE05> { [ 0x01001466, 5		]	};
179    key	<AE06> { [ 0x01001585, 6		]	};
180    key	<AE07> { [ 0x010014bb, 7		]	};
181    key	<AE08> { [ 0x010014d0, 8		]	};
182    key	<AE09> { [ 0x010014ea, 9		]	};
183    key	<AE10> { [ 0x0100153e, 0		]	};
184    key	<AE11> { [ minus,	  underscore	]	};
185    key	<AE12> { [ 0x0100155d, equal		]	};
186
187	key <AD01> { [ 0x0100158f, 0x0100148b	]	};
188	key <AD02> { [ 0x01001403, 0x01001431	]	};
189	key <AD03> { [ 0x0100157f, 0x01001546	]	};
190	key <AD04> { [ 0x0100146d, 0x01001596	]	};
191	key <AD05> { [ 0x0100144e, 0x01001671	]	};
192	key <AD06> { [ 0x010014ef, 0x01001673	]	};
193	key <AD07> { [ 0x010014a5, 0x01001675	]	};
194	key <AD08> { [ 0x010014c2, 0x010015a4	]	};
195	key <AD09> { [ 0x010014d5, 0x010015a0	]	};
196	key <AD10> { [ 0x01001528, 0x010015a6	]	};
197	key <AD11> { [ 0x010014a1, 0x01001505	]	};
198	key <AD12> { [ dead_abovedot, 0x0100141e]	};
199
200	key <AC01> { [ 0x01001591, 0x0100148d	]	};
201	key <AC02> { [ 0x01001405, 0x01001433	]	};
202	key <AC03> { [ 0x01001581, 0x01001548	]	};
203	key <AC04> { [ 0x0100146f, 0x01001555	]	};
204	key <AC05> { [ 0x01001450, parenleft 	]	};
205	key <AC06> { [ 0x010014f1, parenright	]	};
206	key <AC07> { [ 0x010014a7, 0x0100152a	]	};
207	key <AC08> { [ 0x010014c4, 0x01001557	]	};
208	key <AC09> { [ 0x010014d7, 0x010015a2	]	};
209	key <AC10> { [ semicolon,  colon     	]	};
210	key <AC11> { [ apostrophe, quotedbl     ]	};
211
212	key <AB01> { [ 0x01001593, 0x01001490	]	};
213	key <AB02> { [ 0x0100140a, 0x01001438	]	};
214	key <AB03> { [ 0x01001583, 0x0100154b	]	};
215	key <AB04> { [ 0x01001472, question  	]	};
216	key <AB05> { [ 0x01001455, 0x0100157c	]	};
217	key <AB06> { [ 0x010014f4, 0x010014c7	]	};
218	key <AB07> { [ 0x010014aa, 0x010014da	]	};
219	key <AB08> { [ comma,      less      	]	};
220	key <AB09> { [ period,     greater   	]	};
221	key <AB10> { [ 0x0100152d, 0x01001559	]	};
222
223    key	<TLDE> { [ 0x0100157b, 0x01001575	]	};
224    key	<LSGT> { [ 0x01001579, 0x01001577	]	};
225    key	<BKSL> { [ backslash,  bar		]	};
226};
227
228partial
229xkb_symbols "multix" {
230
231    name[Group1] = "Canadian (CSA)";
232
233    key.type[group1]="EIGHT_LEVEL_SEMIALPHABETIC";
234    key <TLDE> {[     slash,  backslash,            bar, NoSymbol,       NoSymbol,        hyphen ]};
235    key <AE01> {[         1,     exclam,      plusminus, NoSymbol,    onesuperior,    exclamdown ]};
236    key <AE02> {[         2,         at,             at, NoSymbol,    twosuperior,      NoSymbol ]};
237    key <AE03> {[         3, numbersign,       sterling, NoSymbol,  threesuperior,      sterling ]};
238    key <AE04> {[         4,     dollar,       currency, NoSymbol,     onequarter,      EuroSign ]};
239    key <AE05> {[         5,    percent,       NoSymbol, NoSymbol,        onehalf,  threeeighths ]};
240    key <AE06> {[         6,   question,       NoSymbol, NoSymbol,  threequarters,   fiveeighths ]};
241    key <AE07> {[         7,  ampersand,      braceleft, NoSymbol,       NoSymbol,  seveneighths ]};
242    key <AE08> {[         8,   asterisk,     braceright, NoSymbol,       NoSymbol,     trademark ]};
243    key <AE09> {[         9,  parenleft,    bracketleft, NoSymbol,       NoSymbol,     plusminus ]};
244    key <AE10> {[         0, parenright,   bracketright, NoSymbol                                ]};
245    key <AE11> {[     minus, underscore,        onehalf, NoSymbol,       NoSymbol,  questiondown ]};
246    key <AE12> {[     equal,       plus,        notsign, NoSymbol,   dead_cedilla,   dead_ogonek ]};
247
248    key <AD01> {[         q,          Q,       NoSymbol, NoSymbol,       NoSymbol,   Greek_OMEGA ]};
249    key <AD02> {[         w,          W,       NoSymbol, NoSymbol,        lstroke,       Lstroke ]};
250    key <AD03> {[         e,          E,       EuroSign, NoSymbol,             oe,            OE ]};
251    key <AD04> {[         r,          R,       NoSymbol, NoSymbol,      paragraph,    registered ]};
252    key <AD05> {[         t,          T,       NoSymbol, NoSymbol,         tslash,        Tslash ]};
253    key <AD06> {[         y,          Y,       NoSymbol, NoSymbol,      leftarrow,           yen ]};
254    key <AD07> {[         u,          U,       NoSymbol, NoSymbol,      downarrow,       uparrow ]};
255    key <AD08> {[         i,          I,       NoSymbol, NoSymbol,     rightarrow,      idotless ]};
256    key <AD09> {[         o,          O,        section, NoSymbol,         oslash,        Oslash ]};
257    key <AD10> {[         p,          P,      paragraph, NoSymbol,          thorn,         THORN ]};
258
259    key.type[group1]="EIGHT_LEVEL";
260    key <AD11> {[dead_circumflex, dead_diaeresis, dead_grave, NoSymbol, NoSymbol, dead_abovering ]};
261
262    key.type[group1]="EIGHT_LEVEL_SEMIALPHABETIC";
263    key <AD12> {[  ccedilla,   Ccedilla,     asciitilde, NoSymbol,     dead_tilde,   dead_macron ]};
264
265    key <AC01> {[         a,          A,       NoSymbol, NoSymbol,             ae,            AE ]};
266    key <AC02> {[         s,          S,       NoSymbol, NoSymbol,         ssharp,       section ]};
267    key <AC03> {[         d,          D,       NoSymbol, NoSymbol,            eth,           ETH ]};
268    key <AC04> {[         f,          F,       NoSymbol, NoSymbol,       NoSymbol,   ordfeminine ]};
269    key <AC05> {[         g,          G,       NoSymbol, NoSymbol,            eng,           ENG ]};
270    key <AC06> {[         h,          H,       NoSymbol, NoSymbol,        hstroke,       Hstroke ]};
271    key <AC07> {[         j,          J,       NoSymbol, NoSymbol,          U0133,         U0132 ]}; // ij IJ
272    key <AC08> {[         k,          K,       NoSymbol, NoSymbol,            kra,      NoSymbol ]};
273    key <AC09> {[         l,          L,       NoSymbol, NoSymbol,          U0140,         U013F ]}; // ŀ Ŀ
274
275    key.type[group1]="EIGHT_LEVEL";
276    key <AC10> {[ semicolon,      colon,         degree, NoSymbol,  dead_acute, dead_doubleacute ]};
277
278    key.type[group1]="EIGHT_LEVEL_SEMIALPHABETIC";
279    key <AC11> {[    egrave,     Egrave,      braceleft, NoSymbol,       NoSymbol,    dead_caron ]};
280    key <BKSL> {[    agrave,     Agrave,     braceright, NoSymbol,       NoSymbol,    dead_breve ]};
281
282    key <LSGT> {[    ugrave,     Ugrave,         degree, NoSymbol,       NoSymbol,     brokenbar ]};
283    key <AB01> {[         z,          Z,  guillemotleft, NoSymbol ]};
284    key <AB02> {[         x,          X, guillemotright, NoSymbol ]};
285    key <AB03> {[         c,          C,       NoSymbol, NoSymbol,           cent,     copyright ]};
286    key <AB04> {[         v,          V,       NoSymbol, NoSymbol,  leftdoublequotemark,  leftsinglequotemark ]};
287    key <AB05> {[         b,          B,       NoSymbol, NoSymbol, rightdoublequotemark, rightsinglequotemark ]};
288    key <AB06> {[         n,          N,       NoSymbol, NoSymbol,          U0149,         U266A ]}; // ʼn ♪
289    key <AB07> {[         m,          M,             mu, NoSymbol,             mu,     masculine ]};
290
291    key.type[group1]="EIGHT_LEVEL";
292    key <AB08> {[     comma, apostrophe,           less, NoSymbol, Greek_horizbar,      multiply ]};
293    key <AB09> {[    period,   quotedbl,        greater, NoSymbol, periodcentered,      division ]};
294
295    key.type[group1]="EIGHT_LEVEL_SEMIALPHABETIC";
296    key <AB10> {[    eacute,     Eacute,     dead_acute, NoSymbol,       NoSymbol, dead_abovedot ]};
297
298    include "nbsp(level3)"
299
300    include "level3(ralt_switch)"
301    include "level5(rctrl_switch)"
302};
303
304// OLPC Section
305xkb_symbols "olpc" {
306
307    include "ca(fr)"
308
309    key <AE02>	{ [          2,    quotedbl,          ograve,        Ograve ] };
310    key <AE03>	{ [          3,    slash,          at,        VoidSymbol ] };
311
312    key <AD03>	{ [          e,    E,          EuroSign, VoidSymbol]	};
313
314    key <AB09>	{ [  period,         period,         0x1002010 ]	};
315
316    key <I219>  { [  guillemotleft,  guillemotright, degree, VoidSymbol ] };
317};
318
319partial alphanumeric_keys
320xkb_symbols "eng" {
321    include "us(basic)"
322    name[Group1] = "English (Canada)";
323
324    key <LSGT>  { [ backslash, bar, VoidSymbol, VoidSymbol ] };
325};
326
327// EXTRAS:
328
329partial alphanumeric_keys
330xkb_symbols "kut" {
331
332    // Ejective U0313 and acute accents are taken from shs layout.
333    include "ca(shs)"
334
335    name[Group1]= "Kutenai";
336
337    key <AD05> {[          t,        T,  U01C2,  U01C2  ]}; // alveolar click
338
339    key <AB03> {[          c,        C,  cent,   cent   ]};
340    key <AB09> {[     period,  greater,  periodcentered ]};
341    key <AB10> {[      slash, question,  U0294          ]}; // glottal stop
342
343    key <AC10> {[  semicolon,    colon,  U02BE,  U02BE  ]}; // MODIFIER LETTER RIGHT HALF RING
344    key <AC11> {[ apostrophe, quotedbl,  U0315,  U0315  ]}; // COMBINING COMMA ABOVE RIGHT
345};
346
347// Secwepemctsin keyboard for X11
348// written by Neskie Manuel <neskiem@gmail.com>
349partial alphanumeric_keys
350xkb_symbols "shs" {
351
352    include "us"
353
354    name[Group1]= "Secwepemctsin";
355
356    // Using a "dead key" to get a COMBINING COMMA ABOVE
357    // for ejectives on q, l, t, s, m, g, k, p, w, y, r.
358    // The Compose key is used for the other acutes and grave.
359
360    key <AB08>	{ [ comma, less, U0313    ]	};
361    key <AC01>	{ [ a, A, aacute, Aacute  ]	};
362    key <AD03>	{ [ e, E, eacute, Eacute  ]	};
363    key <AD07>	{ [ u, U, uacute, Uacute  ]	};
364    key <AD08>	{ [ i, I, iacute, Iacute  ]	};
365    key <AD09>	{ [ o, O, oacute, Oacute  ]	};
366
367    include "level3(ralt_switch)"
368    include "compose(rctrl)"
369};
370
371
372partial alphanumeric_keys
373	xkb_symbols "sun_type6" {
374	include "sun_vndr/ca(sun_type6)"
375};
376