fr revision 1.1.1.8 1 // based on a keyboard map from an 'xkb/symbols/fr' file
2
3 partial default alphanumeric_keys
4 xkb_symbols "basic" {
5
6 include "latin"
7
8 name[Group1]="French";
9
10 key <AE01> { [ ampersand, 1, onesuperior, exclamdown ] };
11 key <AE02> { [ eacute, 2, asciitilde, oneeighth ] };
12 key <AE03> { [ quotedbl, 3, numbersign, sterling ] };
13 key <AE04> { [apostrophe, 4, braceleft, dollar ] };
14 key <AE05> { [ parenleft, 5, bracketleft, threeeighths ] };
15 key <AE06> { [ minus, 6, bar, fiveeighths ] };
16 key <AE07> { [ egrave, 7, grave, seveneighths ] };
17 key <AE08> { [underscore, 8, backslash, trademark ] };
18 key <AE09> { [ ccedilla, 9, asciicircum, plusminus ] };
19 key <AE10> { [ agrave, 0, at, degree ] };
20 key <AE11> { [parenright, degree, bracketright, questiondown ] };
21 key <AE12> { [ equal, plus, braceright, dead_ogonek ] };
22
23 key <AD01> { [ a, A, ae, AE ] };
24 key <AD02> { [ z, Z, guillemotleft, less ] };
25 key <AD03> { [ e, E, EuroSign, cent ] };
26 key <AD11> { [dead_circumflex, dead_diaeresis, dead_diaeresis, dead_abovering ] };
27 key <AD12> { [ dollar, sterling, currency, dead_macron ] };
28
29 key <AC01> { [ q, Q, at, Greek_OMEGA ] };
30 key <AC10> { [ m, M, mu, masculine ] };
31 key <AC11> { [ ugrave, percent, dead_circumflex, dead_caron] };
32 key <TLDE> { [twosuperior, asciitilde, notsign, notsign ] };
33
34 key <BKSL> { [ asterisk, mu, dead_grave, dead_breve ] };
35 key <AB01> { [ w, W, lstroke, Lstroke ] };
36 key <AB07> { [ comma, question, dead_acute, dead_doubleacute ] };
37 key <AB08> { [ semicolon, period, horizconnector, multiply ] };
38 key <AB09> { [ colon, slash, periodcentered, division ] };
39 key <AB10> { [ exclam, section, dead_belowdot, dead_abovedot ] };
40
41 include "level3(ralt_switch)"
42 };
43
44 partial alphanumeric_keys
45 xkb_symbols "olpc" {
46 // Contact: Sayamindu Dasgupta <sayamindu (a] laptop.org>
47 include "fr(basic)"
48
49 name[Group1]="French";
50
51 key <I219> { [ less, greater ] };
52 key <AD11> { [ dead_circumflex, dead_diaeresis, notsign, dead_abovering ] };
53 key <AB08> { [ semicolon, period, underscore, multiply ] };
54 key <TLDE> { [ twosuperior, asciitilde, VoidSymbol, VoidSymbol ] };
55
56 // Some keys only have the Shift+AltGr character printed on them (alongside
57 // the unmodified one). Make such keys shift-invariant so that the printed
58 // value is achieved by pressing AltGr or Shift+AltGr.
59 key <AB02> { [ x, X, guillemotright, guillemotright ] };
60 key <AC02> { [ s, S, ssharp, ssharp ] };
61 key <AD02> { [ z, Z, guillemotleft, guillemotleft ] };
62 };
63
64 partial alphanumeric_keys
65 xkb_symbols "Sundeadkeys" {
66
67 // Modifies the basic French layout to use the Sun dead keys
68
69 include "fr(basic)"
70
71 key <AD11> { [dead_circumflex, dead_diaeresis ] };
72 key <AB07> { [comma, question, dead_acute, dead_doubleacute ] };
73 };
74
75 partial alphanumeric_keys
76 xkb_symbols "sundeadkeys" {
77 include "fr(Sundeadkeys)"
78
79 name[Group1]="French (Sun dead keys)";
80 };
81
82 partial alphanumeric_keys
83 xkb_symbols "nodeadkeys" {
84
85 // Modifies the basic French layout to eliminate all dead keys
86
87 include "fr(basic)"
88
89 name[Group1]="French (eliminate dead keys)";
90
91 key <AE12> { [ equal, plus, braceright, ogonek ] };
92 key <AD11> { [asciicircum, diaeresis ] };
93 key <AD12> { [ dollar, sterling, currency, macron ] };
94 key <AC11> { [ ugrave, percent, asciicircum, caron ] };
95 key <BKSL> { [ asterisk, mu, grave, breve ] };
96 key <AB07> { [ comma, question, acute, doubleacute ] };
97 key <AB10> { [ exclam, section, dead_belowdot, abovedot ] };
98 };
99
100
101 // Unicode French derivative
102 // Loose refactoring of the historic Linux French keyboard layout
103 //
104 // Copyright 2006-2008 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
105 //
106 // Credits (fr-latin1, fr-latin0, fr-latin9)
107 // 199x-1996 Ren Cougnenc
108 // 1997-2002 Guylhem Aznar <clavier @ externe.net>
109 // 2003-2006 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
110 //
111 //
112 // 1 2 3 4 5 6 7 8 9 0 + Retour
113 // & ~ " # ' { ( [ - | ` _ \ ^ @ ) ] = } arrire
114 //
115 // A Z E R T Y U I O P Entre
116 // Tab a z e r t y u i o p ^ ~ $
117 //
118 // Q S D F G H J K L M %
119 // Maj q s d f g h j k l m ' * `
120 //
121 // > W X C V B N ? . . /
122 // Shift < w x c v b n , ; : ! Shift
123 //
124 // Espace fine inscable
125 // Ctrl Meta Alt Espace Espace inscable AltGr Menu Ctrl
126 //
127 partial alphanumeric_keys
128 xkb_symbols "oss" {
129
130 include "latin"
131 include "level3(ralt_switch)"
132 include "nbsp(level4n)"
133 include "level5(rctrl_switch)"
134 include "keypad(oss)"
135
136 name[Group1]="French (alternative)";
137
138 // First row
139 key <TLDE> { [ twosuperior, threesuperior, onesuperior, dead_cedilla ] }; //
140 key <AE01> { [ ampersand, 1, dead_caron, dead_ogonek ] }; // & 1
141 key <AE02> { [ eacute, 2, asciitilde, Eacute ] }; // 2 ~
142 key <AE03> { [ quotedbl, 3, numbersign, dead_breve ] }; // " 3 #
143 key <AE04> { [ apostrophe, 4, braceleft, 0x1002014 ] }; // ' 4 { (tiret cadratin)
144 key <AE05> { [ parenleft, 5, bracketleft, 0x1002013 ] }; // ( 5 [ (tiret demi-cadratin)
145 key <AE06> { [ minus, 6, bar, 0x1002011 ] }; // - 6 | (tiret inscable)
146 key <AE07> { [ egrave, 7, grave, Egrave ] }; // 7 `
147 key <AE08> { [ underscore, 8, backslash, trademark ] }; // _ 8 \
148 key <AE09> { [ ccedilla, 9, asciicircum, Ccedilla ] }; // 9 ^
149 key <AE10> { [ agrave, 0, at, Agrave ] }; // 0 @
150 key <AE11> { [ parenright, degree, bracketright, notequal ] }; // ) ]
151 key <AE12> { [ equal, plus, braceright, plusminus ] }; // = + }
152
153 // Second row
154 key <AD01> { [ a, A, ae, AE ] }; // a A
155 key <AD02> { [ z, Z, acircumflex, Acircumflex ] }; // z Z
156 key <AD03> { [ e, E, EuroSign, cent ] }; // e E
157 key <AD04> { [ r, R, ecircumflex, Ecircumflex ] }; // r R
158 key <AD05> { [ t, T, thorn, THORN ] }; // t T
159 key <AD06> { [ y, Y, ydiaeresis, Ydiaeresis ] }; // y Y
160 key <AD07> { [ u, U, ucircumflex, Ucircumflex ] }; // u U
161 key <AD08> { [ i, I, icircumflex, Icircumflex ] }; // i I
162 key <AD09> { [ o, O, oe, OE ] }; // o O
163 key <AD10> { [ p, P, ocircumflex, Ocircumflex ] }; // p P
164 key <AD11> { [ dead_circumflex, dead_diaeresis, dead_tilde, dead_abovering ] }; // ^
165 key <AD12> { [ dollar, sterling, oslash, Ooblique ] }; // $
166
167 // Third row
168 key <AC01> { [ q, Q, adiaeresis, Adiaeresis ] }; // q Q
169 key <AC02> { [ s, S, ssharp, doublelowquotemark ] }; // s S
170 key <AC03> { [ d, D, ediaeresis, Ediaeresis ] }; // d D
171 key <AC04> { [ f, F, leftsinglequotemark, singlelowquotemark ] }; // f F
172 key <AC05> { [ g, G, rightsinglequotemark, yen ] }; // g G
173 key <AC06> { [ h, H, eth, ETH ] }; // h H
174 key <AC07> { [ j, J, udiaeresis, Udiaeresis ] }; // j J
175 key <AC08> { [ k, K, idiaeresis, Idiaeresis ] }; // k K
176 key <AC09> { [ l, L, 0x1000140, 0x100013F ] }; // l L
177 key <AC10> { [ m, M, odiaeresis, Odiaeresis ] }; // m M
178 key <AC11> { [ ugrave, percent, dead_acute, Ugrave ] }; // % '
179 key <BKSL> { [ asterisk, mu, dead_grave, dead_macron ] }; // * `
180
181 // Fourth row
182 key <LSGT> { [ less, greater, lessthanequal, greaterthanequal ] }; // < >
183 key <AB01> { [ w, W, guillemotleft, leftdoublequotemark ] }; // w W
184 key <AB02> { [ x, X, guillemotright, rightdoublequotemark ] }; // x X
185 key <AB03> { [ c, C, copyright, registered ] }; // c C
186 key <AB04> { [ v, V, 0x100202F, leftarrow ] }; // v V (espace fine inscable)
187 key <AB05> { [ b, B, downarrow, uparrow ] }; // b B
188 key <AB06> { [ n, N, notsign, rightarrow ] }; // n N
189 key <AB07> { [ comma, question, questiondown, 0x1002026 ] }; // , ?
190 key <AB08> { [ semicolon, period, multiply, 0x10022C5 ] }; // ; .
191 key <AB09> { [ colon, slash, division, 0x1002215 ] }; // : /
192 key <AB10> { [ exclam, section, exclamdown, 0x1002212 ] }; // !
193 };
194
195 partial alphanumeric_keys
196 xkb_symbols "oss_latin9" {
197
198 // Restricts the fr(oss) layout to latin9 symbols
199
200 include "fr(oss)"
201 include "keypad(oss_latin9)"
202
203 name[Group1]="French (alternative, latin-9 only)";
204
205 // First row
206 key <AE01> { [ ampersand, 1, dead_caron, dead_cedilla ] }; // & 1
207 key <AE03> { [ quotedbl, 3, numbersign, dead_tilde ] }; // " 3 # ~
208 key <AE04> { [ apostrophe, 4, braceleft, underscore ] }; // ' 4 { _
209 key <AE05> { [ parenleft, 5, bracketleft, minus ] }; // ( 5 [ -
210 key <AE06> { [ minus, 6, bar, minus ] }; // - 6 | -
211 key <AE08> { [ underscore, 8, backslash, backslash ] }; // _ 8 \ \
212 key <AE11> { [ parenright, degree, bracketright, equal ] }; // ) ] =
213
214 // Third row
215 key <AC02> { [ s, S, ssharp, guillemotleft ] }; // s S
216 key <AC04> { [ f, F, apostrophe, apostrophe ] }; // f F ' '
217 key <AC05> { [ g, G, apostrophe, yen ] }; // g G '
218 key <AC09> { [ l, L, periodcentered, periodcentered ] }; // l L
219 key <BKSL> { [ asterisk, mu, dead_grave, dead_circumflex ] }; // * ` ^
220
221 // Fourth row
222 key <LSGT> { [ less, greater, less, greater ] }; // < > < >
223 key <AB01> { [ w, W, guillemotleft, guillemotleft ] }; // w W
224 key <AB02> { [ x, X, guillemotright, guillemotright ] }; // x X
225 key <AB04> { [ v, V, nobreakspace, less ] }; // v V < (espace inscable)
226 key <AB05> { [ b, B, minus, asciicircum ] }; // b B - ^
227 key <AB06> { [ n, N, notsign, greater ] }; // n N >
228 key <AB07> { [ comma, question, questiondown, period ] }; // , ? .
229 key <AB08> { [ semicolon, period, multiply, periodcentered ] }; // ; .
230 key <AB09> { [ colon, slash, division, slash ] }; // : / /
231 key <AB10> { [ exclam, section, exclamdown, minus ] }; // ! -
232 };
233
234 partial alphanumeric_keys
235 xkb_symbols "oss_Sundeadkeys" {
236
237 // Modifies the basic fr(oss) layout to use the Sun dead keys
238
239 include "fr(oss)"
240
241 // First row
242 key <TLDE> { [ twosuperior, threesuperior, onesuperior, dead_cedilla ] }; //
243
244 // Second row
245 key <AD11> { [ dead_circumflex, dead_diaeresis, dead_tilde, dead_abovering ] }; // ^
246
247 //Third row
248 key <AC11> { [ ugrave, percent, dead_acute, Ugrave ] }; // % '
249 key <BKSL> { [ asterisk, mu, dead_grave, dead_macron ] }; // * `
250 };
251
252 partial alphanumeric_keys
253 xkb_symbols "oss_sundeadkeys" {
254
255 include "fr(oss_Sundeadkeys)"
256
257 name[Group1]="French (alternative, Sun dead keys)";
258 };
259
260 partial alphanumeric_keys
261 xkb_symbols "oss_nodeadkeys" {
262
263 // Modifies the basic fr(oss) layout to eliminate all dead keys
264
265 include "fr(oss)"
266
267 name[Group1]="French (alternative, eliminate dead keys)";
268
269 key <TLDE> { [ twosuperior, threesuperior, onesuperior, cedilla ] }; //
270 key <AE01> { [ ampersand, 1, caron, ogonek ] }; // & 1
271 key <AE03> { [ quotedbl, 3, numbersign, breve ] }; // " 3 #
272
273 // Second row
274 key <AD11> { [ asciicircum, diaeresis, asciitilde, Aring ] }; // ^
275 key <AC11> { [ ugrave, percent, acute, Ugrave ] }; // % '
276 key <BKSL> { [ asterisk, mu, grave, macron ] }; // * `
277 };
278
279
280 // Historic Linux French keyboard layout (fr-latin9)
281 // Copyright (c) 199x, 2002 Rene Cougnenc (original work)
282 // Guylhem Aznar <clavier @ externe.net> (maintainer)
283 // Nicolas Mailhot <Nicolas.Mailhot @ laposte.net>
284 // (XFree86 submission)
285 //
286 // This layout has long been distributed and refined outside official channels.
287 // To this day it remains more feature-rich and popular than the 'fr' layout.
288 //
289 // This file is derived from an original version by Guylhem Aznar. The
290 // original version is always available from:
291 // http://en.tldp.org/HOWTO/Francophones-HOWTO.html
292 // and is distributed under a GPL license.
293 //
294 // The author has given permission for this derived version to be distributed
295 // under the standard XFree86 license. He would like all changes to this
296 // version be send to him at <clavier @ externe.net> so he can sync the
297 // identically named linux console map (kbd, linux-console) and this
298 // fileout-of-tree GPL version.
299 //
300 // Now follows the keyboard design description in French.
301 // (If you can't read it you probably have no business changing this file anyway:)
302 //
303 // Les accents circonflexes des principales voyelles sont obtenus avec
304 // la touche Alt_Gr, les trmas sont obtenus par Alt_Gr + Shift.
305 //
306 // ____ _________ _____________ _______
307 // | S A| S = Shift, A = AltGr + Shift | Imprime | Arrt dfil | Pause |
308 // | s a| s = normal, a = AltGr | Exec | | Halte |
309 //
310 // ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ _______
311 // | "| 1 | 2 | 3 ,| 4 '| 5 "| 6 || 7 | 8 | 9 | 0 | | + | <-- |
312 // | "| & '| ~| " #| ' {| ( [| - || `| _ \| ^| @| ) ]| = }| |
313 // ========================================================================
314 // | |<- | A | Z | E | R | T | Y | U | I | O | P '| " `| $ | , |
315 // | ->| | a | z | e | r | t | y | u | i | o | p | ^ ~| | <-' |
316 // =================================================================== |
317 // | | Q | S | D | F | G | H | J | K | L | M | % | | |
318 // | MAJ | q | s | d | f | g | h | j | k | l | m | | * | |
319 // ========================================================================
320 // | ^ | > | W | X | C | V | B | N | ? | . | / | | ^ |
321 // | | | < || w | x | c | v | b | n | , | ; | : | ! | | |
322 // ========================================================================
323 // | | | | | | | | |
324 // | Ctrl | Super| Alt | Space Nobreakspace | AltGr | Super|Menu | Ctrl |
325 //
326 //
327 //
328 // Si les touches mortes fonctionnent, utiliser les accents dits
329 // morts , i.e. fonctionnant comme l'accent circonflexe & le
330 // trma des machines crire ; sont disponibles :
331 //
332 // (^) : accent circonflexe,
333 // Shift+(^) : trma,
334 // Shift+AltGr (^) : tilde,
335 // AltGr (1) : accent aigu,
336 // AltGr (7) : accent grave
337 //
338 // Pour s'en servir, procder comme avec l'accent circonflexe & le trma
339 // sur les vielles machines crire :
340 //
341 // AltGr (1) puis e :
342 // Shift+AltGr (1) puis e : ...
343 partial alphanumeric_keys
344
345 xkb_symbols "latin9" {
346
347 include "latin"
348 include "nbsp(level3)"
349
350 name[Group1]="French (legacy, alternative)";
351
352 key <TLDE> { [ oe, OE, leftdoublequotemark, rightdoublequotemark ] };
353 key <AE01> { [ ampersand, 1, dead_acute, periodcentered ] };
354 key <AE02> { [ eacute, 2, asciitilde, Eacute ] };
355 key <AE03> { [ quotedbl, 3, numbersign, cedilla ] };
356 key <AE04> { [ apostrophe, 4, braceleft, acute ] };
357 key <AE05> { [ parenleft, 5, bracketleft, diaeresis ] };
358 key <AE06> { [ minus, 6, bar, brokenbar ] };
359 key <AE07> { [ egrave, 7, dead_grave, Egrave ] };
360 key <AE08> { [ underscore, 8, backslash, macron ] };
361 key <AE09> { [ ccedilla, 9, asciicircum, Ccedilla ] };
362 key <AE10> { [ agrave, 0, at, Agrave ] };
363 key <AE11> { [ parenright, degree, bracketright, ydiaeresis ] };
364 key <AE12> { [ equal, plus, braceright, dead_abovering ] };
365
366 key <AD01> { [ a, A, acircumflex, adiaeresis ] };
367 key <AD02> { [ z, Z, aring, Aring ] };
368 key <AD03> { [ e, E, EuroSign, cent ] };
369 key <AD04> { [ r, R, ccedilla, Ccedilla ] };
370 key <AD05> { [ t, T, thorn, THORN ] };
371 key <AD06> { [ y, Y, yacute, Yacute ] };
372 key <AD07> { [ u, U, ucircumflex, udiaeresis ] };
373 key <AD08> { [ i, I, icircumflex, idiaeresis ] };
374 key <AD09> { [ o, O, ocircumflex, odiaeresis ] };
375 key <AD10> { [ p, P, paragraph, quoteleft ] };
376 key <AD11> { [ dead_circumflex, dead_diaeresis, dead_tilde, quoteright ] };
377 key <AD12> { [ dollar, sterling, ecircumflex, ediaeresis ] };
378
379 key <AC01> { [ q, Q, Acircumflex, Adiaeresis ] };
380 key <AC02> { [ s, S, oslash, Ooblique ] };
381 key <AC03> { [ d, D, Ecircumflex, Ediaeresis ] };
382 key <AC04> { [ f, F, plusminus, ordfeminine ] };
383 key <AC05> { [ g, G, ae, AE ] };
384 key <AC06> { [ h, H, eth, ETH ] };
385 key <AC07> { [ j, J, Ucircumflex, Udiaeresis ] };
386 key <AC08> { [ k, K, Icircumflex, Idiaeresis ] };
387 key <AC09> { [ l, L, Ocircumflex, Odiaeresis ] };
388 key <AC10> { [ m, M, onesuperior, masculine ] };
389 key <AC11> { [ ugrave, percent, twosuperior, Ugrave ] };
390 key <BKSL> { [ asterisk, mu, threesuperior, yen ] };
391
392 key <LSGT> { [ less, greater, bar ] };
393 key <AB01> { [ w, W, guillemotleft ] };
394 key <AB02> { [ x, X, guillemotright ] };
395 key <AB03> { [ c, C, copyright ] };
396 key <AB04> { [ v, V, registered ] };
397 key <AB05> { [ b, B, ssharp ] };
398 key <AB06> { [ n, N, notsign ] };
399 key <AB07> { [ comma, question, questiondown ] };
400 key <AB08> { [ semicolon, period, multiply ] };
401 key <AB09> { [ colon, slash, division ] };
402 key <AB10> { [ exclam, section, exclamdown ] };
403
404 // French uses a comma as decimal separator, but keyboards are labeled with a period
405 // Will take effect when KP_Decimal is mapped to the locale decimal separator
406 key <KPDL> { [ KP_Delete, KP_Decimal, KP_Delete, KP_Decimal ] };
407
408 include "level3(ralt_switch)"
409 };
410
411 partial alphanumeric_keys
412 xkb_symbols "latin9_Sundeadkeys" {
413
414 // Modifies the basic fr-latin9 layout to use the Sun dead keys
415
416 include "fr(latin9)"
417
418 key <AE01> { [ ampersand, 1, dead_acute, periodcentered ] };
419 key <AE07> { [ egrave, 7, dead_grave, Egrave ] };
420 key <AD11> { [ dead_circumflex, dead_diaeresis, dead_tilde, quoteright ] };
421
422 };
423
424 partial alphanumeric_keys
425 xkb_symbols "latin9_sundeadkeys" {
426
427 include "fr(latin9_Sundeadkeys)"
428
429 name[Group1]="French (legacy, alternative, Sun dead keys)";
430 };
431
432 partial alphanumeric_keys
433 xkb_symbols "latin9_nodeadkeys" {
434
435 // Modifies the basic fr-latin9 layout to eliminate all dead keys
436
437 include "fr(latin9)"
438
439 name[Group1]="French (legacy, alternative, eliminate dead keys)";
440
441 key <AE01> { [ ampersand, 1, apostrophe, periodcentered ] };
442 key <AE07> { [ egrave, 7, grave, Egrave ] };
443 key <AE12> { [ equal, plus, braceright ] };
444 key <AD11> { [ asciicircum, diaeresis, asciitilde, quoteright ] };
445 };
446
447 // Bpo:Improved ergonomic french keymap using Dvorak method.
448 // Built by community on 'Dvorak Fr / Bpo':
449 // see http://www.clavier-dvorak.org/wiki/ to join and help.
450 // XOrg integration (1.0rc2 version) in 2008
451 // by Frdric Boiteux <fboiteux at free dot fr>
452 //
453 // Bpo layout (1.0rc2 version) for a pc105 keyboard (french):
454 //
455 // S A S = Shift, A = AltGr + Shift
456 // s a s = normal, a = AltGr
457 //
458 //
459 //
460 // # 1 2 3 4 5 6 7 8 9 0 ` Retour
461 // $ " < > ( [ ) ] @ ^ + - / * = % arrire
462 //
463 // B P O ` ! V D L J Z W Entre
464 // Tab b | p & o ` v d l / j z w
465 //
466 // A U I E ; C T S R N M ,
467 // Maj a u i e , c t s r n m
468 //
469 // Y X : K ? Q G H F
470 // Shift / \ y { x } . k ~ ' q g h f Shift
471 //
472 // Espace insc. Espace insc. fin
473 // Ctrl Meta Alt (Espace) _ AltGr Menu Ctrl
474 //
475 partial alphanumeric_keys
476 xkb_symbols "bepo" {
477
478 include "level3(ralt_switch)"
479 include "keypad(oss)"
480
481 name[Group1]= "French (Bepo, ergonomic, Dvorak way)";
482
483 // First row
484 key <TLDE> { [ dollar, numbersign, endash, paragraph ] }; // $ #
485 key <AE01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ quotedbl, 1, emdash, doublelowquotemark ] }; // " 1
486 key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotleft, 2, less, leftdoublequotemark ] }; // 2 <
487 key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotright, 3, greater, rightdoublequotemark ] }; // 3 >
488 key <AE04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenleft, 4, bracketleft, lessthanequal ] }; // ( 4 [
489 key <AE05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenright, 5, bracketright, greaterthanequal ] }; // ) 5 ]
490 key <AE06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ at, 6, asciicircum ] }; // @ 6 ^
491 key <AE07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ plus, 7, plusminus, notsign ] }; // + 7
492 key <AE08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ minus, 8, U2212, onequarter ] }; // - 8
493 key <AE09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ slash, 9, division, onehalf ] }; // / 9
494 key <AE10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ asterisk, 0, multiply, threequarters ] }; // * 0
495 key <AE11> { [ equal, degree, notequal, minutes ] }; // =
496 key <AE12> { [ percent, grave, U2030, seconds ] }; // % `
497
498 // Second row
499 key <AD01> { [ b, B, bar, brokenbar ] }; // b B |
500 key <AD02> { [ eacute, Eacute, dead_acute, dead_doubleacute ] }; //
501 key <AD03> { [ p, P, ampersand, section ] }; // p P &
502 key <AD04> { [ o, O, oe, OE ] }; // o O
503 key <AD05> { [ egrave, Egrave, dead_grave, grave ] }; // ` `
504 key <AD06> { [ dead_circumflex, exclam, exclamdown ] }; // ^ !
505 key <AD07> { [ v, V, dead_caron ] }; // v V
506 key <AD08> { [ d, D, eth, ETH ] }; // d D
507 key <AD09> { [ l, L, dead_stroke ] }; // l L /
508 key <AD10> { [ j, J, U0133, U0132 ] }; // j J
509 key <AD11> { [ z, Z, schwa, SCHWA ] }; // z Z
510 key <AD12> { [ w, W, dead_breve ] }; // w W
511
512 // Third row
513 key <AC01> { [ a, A, ae, AE ] }; // a A
514 key <AC02> { [ u, U, ugrave, Ugrave ] }; // u U
515 key <AC03> { [ i, I, dead_diaeresis, dead_abovedot ] }; // i I
516 key <AC04> { [ e, E, EuroSign, dead_currency ] }; // e E
517 key <AC05> { [ comma, semicolon, rightsinglequotemark, dead_horn ] }; // , ;
518 key <AC06> { [ c, C, copyright, U017F ] }; // c C
519 key <AC07> { [ t, T, thorn, THORN ] }; // t T
520 key <AC08> { [ s, S, ssharp, U1E9E ] }; // s S
521 key <AC09> { [ r, R, registered, trademark ] }; // r R
522 key <AC10> { [ n, N, dead_tilde ] }; // n N ~
523 key <AC11> { [ m, M, dead_macron, masculine ] }; // m M
524 key <BKSL> { [ ccedilla, Ccedilla, dead_cedilla, dead_belowcomma ] }; // ,
525
526 // Fourth row
527 key <LSGT> { [ ecircumflex, Ecircumflex, slash ] }; // /
528 key <AB01> { [ agrave, Agrave, backslash ] }; // \
529 key <AB02> { [ y, Y, braceleft, leftsinglequotemark ] }; // y Y {
530 key <AB03> { [ x, X, braceright, rightsinglequotemark ] }; // x X }
531 key <AB04> { [ period, colon, ellipsis, periodcentered ] }; // . :
532 key <AB05> { [ k, K, asciitilde ] }; // k K ~
533 key <AB06> { [ apostrophe, question, questiondown, dead_hook ] }; // ' ?
534 key <AB07> { [ q, Q, dead_abovering, dead_belowdot ] }; // q Q
535 key <AB08> { [ g, G, dead_greek ] }; // g G
536 key <AB09> { [ h, H, dagger, doubledagger ] }; // h H
537 key <AB10> { [ f, F, dead_ogonek, ordfeminine ] }; // f F
538
539 key <SPCE> { [ space, nobreakspace, underscore, U202F ] }; // (espace inscable) _ (espace inscable fin)
540 };
541
542 partial alphanumeric_keys
543 xkb_symbols "bepo_latin9" {
544
545 // Restricts the fr(bepo) layout to latin9 symbols
546
547 include "fr(bepo)"
548 include "keypad(oss_latin9)"
549
550 name[Group1]="French (Bepo, ergonomic, Dvorak way, latin-9 only)";
551
552 key <TLDE> { [ dollar, numbersign, dollar, paragraph ] }; // $ # $
553
554 key <AE01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ quotedbl, 1 ] }; // " 1
555 key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotleft, 2, less ] }; // 2 <
556 key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotright, 3, greater ] }; // 3 >
557 key <AE04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenleft, 4, bracketleft ] }; // ( 4 [
558 key <AE05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenright, 5, bracketright ] }; // ) 5 ]
559 key <AE08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ minus, 8, minus, onequarter ] }; // - 8 -
560 key <AE11> { [ equal, degree ] }; // =
561 key <AE12> { [ percent, grave ] }; // % `
562
563 key <AD01> { [ b, B, bar ] }; // b B |
564 key <AD02> { [ eacute, Eacute, dead_acute ] }; //
565 key <AD10> { [ j, J ] }; // j J
566 key <AD11> { [ z, Z ] }; // z Z
567 key <AD12> { [ w, W ] }; // w W
568
569 key <AC03> { [ i, I, dead_diaeresis ] }; // i I
570 key <AC05> { [ comma, semicolon, comma, dead_horn ] }; // , ; ,
571 key <AC06> { [ c, C, copyright ] }; // c C
572 key <AC08> { [ s, S, ssharp ] }; // s S
573 key <AC09> { [ r, R, registered ] }; // r R
574 key <AC11> { [ m, M, macron, masculine ] }; // m M
575
576 key <AB02> { [ y, Y, braceleft ] }; // y Y {
577 key <AB03> { [ x, X, braceright ] }; // x X }
578 key <AB04> { [ period, colon ] }; // . :
579 key <AB09> { [ h, H ] }; // h H
580 key <AB10> { [ f, F, f, ordfeminine ] }; // f F
581
582 // Note: on a besoin de redfinir les niveaux 3 et 4,
583 // donc nbsp(level2) ne suffit pas!
584 key <SPCE> { [ space, nobreakspace, underscore, nobreakspace ] }; // (espace inscable) _ (espace inscable)
585 };
586
587 // Author : Francis Leboutte, http://www.algo.be/ergo/dvorak-fr.html
588 // thanks to Fabien Cazenave for his help
589 // Licence : X11
590 // Version : 0.3
591
592 // Base layer + dead AltGr key (`):
593 //
594 // * 1 2 3 4 5 6 7 8 9 0 + %
595 // _ = / - \ ^ ( ` ` ) " [ ]
596 //
597 // ? < > G ! H V C M K Z &
598 // : ' $ g . h v c m k z
599 //
600 // O A U E B F S T N D W #
601 // o a u e b f s t n d w ~
602 //
603 // | Q @ I Y X R L P J
604 // ; q { , } i y x r l p j
605 //
606 //
607 // ctrl super alt Espace Espace inscable alt super menu ctrl
608 //
609
610 // Notice the specific Caps_Lock layer:
611 //
612 // * 1 2 3 4 5 6 7 8 9 0 + %
613 //
614 //
615 // < >
616 //
617 //
618 //
619 //
620 //
621 // / -
622 //
623 //
624 //
625 // ctrl super alt Espace Espace inscable alt super menu ctrl
626 //
627
628 partial alphanumeric_keys modifier_keys
629 xkb_symbols "dvorak" {
630 name[Group1]="French (Dvorak)";
631
632 // First row
633 key <TLDE> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ underscore, asterisk ] };
634 key <AE01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ equal, 1 ] };
635 key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ slash, 2, plusminus ] };
636 key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ minus, 3, onequarter ] };
637 key <AE04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ egrave, 4, onehalf ] };
638 key <AE05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ backslash, 5, threequarters ] };
639 key <AE06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ dead_circumflex, 6 ] };
640 key <AE07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenleft, 7 ] };
641 key <AE08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ ISO_Level3_Latch, 8, grave ] };
642 key <AE09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenright, 9 ] };
643 key <AE10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ quotedbl, 0 ] };
644 key <AE11> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ bracketleft, plus ] };
645 key <AE12> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ bracketright, percent ] };
646
647 // Second row
648 key <AD01> { [ colon, question, ae, AE ] };
649 key <AD02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ apostrophe, less, dollar ] };
650 key <AD03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ eacute, greater, Eacute ] };
651 key <AD04> { [ g, G, EuroSign ] };
652 key <AD05> { [ period, exclam, degree ] };
653 key <AD06> { [ h, H ] };
654 key <AD07> { [ v, V ] };
655 key <AD08> { [ c, C, ccedilla, Ccedilla ] };
656 key <AD09> { [ m, M, mu ] };
657 key <AD10> { [ k, K ] };
658 key <AD11> { [ z, Z ] };
659 key <AD12> { [ dead_diaeresis, ampersand ] };
660
661 // Third row
662 key <AC01> { [ o, O, ograve, Ograve ] };
663 key <AC02> { [ a, A, agrave, Agrave ] };
664 key <AC03> { [ u, U, ugrave, Ugrave ] };
665 key <AC04> { [ e, E, egrave, Egrave ] };
666 key <AC05> { [ b, B ] };
667 key <AC06> { [ f, F ] };
668 key <AC07> { [ s, S, guillemotleft ] };
669 key <AC08> { [ t, T ] };
670 key <AC09> { [ n, N, guillemotright ] };
671 key <AC10> { [ d, D ] };
672 key <AC11> { [ w, W ] };
673 key <BKSL> { [ asciitilde, numbersign ] };
674
675 // Fourth row
676 key <LSGT> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ agrave, ccedilla, Agrave, Ccedilla, slash ] };
677 key <AB01> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ semicolon, bar, oe, OE, minus ] };
678 key <AB02> { [ q, Q, braceleft ] };
679 key <AB03> { [ comma, at, braceright ] };
680 key <AB04> { [ i, I, igrave, Igrave ] };
681 key <AB05> { [ y, Y, sterling ] };
682 key <AB06> { [ x, X ] };
683 key <AB07> { [ r, R, masculine ] };
684 key <AB08> { [ l, L ] };
685 key <AB09> { [ p, P, section ] };
686 key <AB10> { [ j, J ] };
687
688 key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
689 };
690
691 // C'WHERTY:Breton keyboard. Ar c'hlavier brezhoneg.
692 // Copyright 2009 Dominique Pell <dominique.pelle (a] gmail.com>
693 // Version: 0.1
694 //
695 //
696 // S A S = Reol = Shift, A = ArErl + Pennlizherenn = AltGr + Shift
697 // s a s = normal, a = AltGr
698 //
699 //
700 //
701 // $ 1 2 3 4 5 6 7 8 9 0 + Souza
702 // & " # ' { ( [ - | ` - \ @ ) ] = }
703 //
704 // Toalenn C'h W E R T Y U I O OE P * Enanka
705 // c'h w e r t y u i o oe p ^ /
706 //
707 // Prenn A S D F G H J K L M !
708 // Pennli a s d $ f g h j k l m ?
709 //
710 // Q Z X C V B N CH : ;
711 // Shift q < z > x c v b n ch . , Shift
712 //
713 // Espace inscable
714 // Reol Meta Erl Espace ArErl Menu Reol
715 //
716 partial alphanumeric_keys
717 xkb_symbols "bre" {
718
719 include "keypad(oss)"
720
721 name[Group1]= "French (Breton)";
722
723 // First row
724 key <TLDE> { [ twosuperior, dead_tilde, dead_abovedot, Greek_GAMMA ] };
725 key <AE01> { [ ampersand, 1, dead_macron, Greek_DELTA ] };
726 key <AE02> { [ eacute, 2, dead_acute, Greek_THETA ] };
727 key <AE03> { [ quotedbl, 3, numbersign, Greek_LAMDA ] };
728 key <AE04> { [ apostrophe, 4, braceleft, Greek_XI ] };
729 key <AE05> { [ parenleft, 5, bracketleft, Greek_PI ] };
730 key <AE06> { [ minus, 6, bar, Greek_SIGMA ] };
731 key <AE07> { [ egrave, 7, dead_grave, Greek_PHI ] };
732 key <AE08> { [ underscore, 8, backslash, Greek_PSI ] };
733 key <AE09> { [ ccedilla, 9, plusminus, Ccedilla ] };
734 key <AE10> { [ agrave, 0, at, Greek_OMEGA ] };
735 key <AE11> { [ parenright, dead_abovering, bracketright, ssharp ] };
736 key <AE12> { [ equal, plus, braceright, notsign ] };
737
738 // Second row
739 // Handling the C'H key correctly requires an inputmethod (XIM)
740 // See https://bugs.freedesktop.org/show_bug.cgi?id=19506
741 // key <AD01> { [ trigraph_c_h, trigraph_C_h, trigraph_C_H, Greek_alpha ] };
742 key <AD01> { [ UF8FD, UF8FE, UF8FF, Greek_alpha ] };
743 key <AD02> { [ w, W, Greek_omega, Greek_omega ] };
744 key <AD03> { [ e, E, EuroSign, Greek_epsilon ] };
745 key <AD04> { [ r, R, Greek_rho, Greek_rho ] };
746 key <AD05> { [ t, T, Greek_tau, Greek_tau ] };
747 key <AD06> { [ y, Y, Greek_psi, Greek_psi ] };
748 key <AD07> { [ u, U, Greek_upsilon, Greek_upsilon ] };
749 key <AD08> { [ i, I, idotless, Greek_iota ] };
750 key <AD09> { [ o, O, oe, OE ] };
751 key <AD10> { [ p, P, Greek_pi, Greek_pi ] };
752 key <AD11> { [ dead_circumflex, dead_diaeresis, guillemotleft, yen ] };
753 key <AD12> { [ slash, asterisk, guillemotright, sterling ] };
754
755 // Third row
756 key <AC01> { [ a, A, ae, AE ] };
757 key <AC02> { [ s, S, Greek_sigma, Greek_sigma ] };
758 key <AC03> { [ d, D, dollar, Greek_delta ] };
759 key <AC04> { [ f, F, Greek_phi, Greek_phi ] };
760 key <AC05> { [ g, G, Greek_gamma, Greek_gamma ] };
761 key <AC06> { [ h, H, Greek_eta, Greek_eta ] };
762 key <AC07> { [ j, J, Greek_finalsmallsigma, Greek_finalsmallsigma ] };
763 key <AC08> { [ k, K, Greek_kappa, Greek_kappa ] };
764 key <AC09> { [ l, L, Greek_lamda, Greek_lambda ] };
765 key <AC10> { [ m, M, Greek_mu, Greek_mu ] };
766 key <AC11> { [ ugrave, Ugrave, ubreve, registered ] };
767 key <BKSL> { [ question, exclam, questiondown, exclamdown ] };
768
769 // Fourth row
770 key <LSGT> { [ q, Q, less, Greek_theta ] };
771 key <AB01> { [ z, Z, greater, Greek_zeta ] };
772 key <AB02> { [ x, X, Greek_xi, Greek_xi ] };
773 key <AB03> { [ c, C, cent, Greek_chi ] };
774 key <AB04> { [ v, V ] };
775 key <AB05> { [ b, B, Greek_beta, Greek_beta ] };
776 key <AB06> { [ n, N, Greek_nu, Greek_nu ] };
777 // Handling the CH key correctly requires an inputmethod (XIM)
778 // See https://bugs.freedesktop.org/show_bug.cgi?id=19506
779 // key <AB07> { [ digraph_ch, digraph_Ch, digraph_CH, Greek_omicron ] };
780 key <AB07> { [ UF8FA, UF8FB, UF8FC, Greek_omicron ] };
781 key <AB08> { [ ntilde, Ntilde ] };
782 key <AB09> { [ period, colon, section, copyright ] };
783 key <AB10> { [ comma, semicolon, percent ] };
784
785 key <SPCE> { [ space, nobreakspace, space, nobreakspace ] };
786
787 include "level3(ralt_switch)"
788 };
789
790 // Occitan layout
791 // Author : 2009 Thomas Metz <tmetz @ free.fr>
792 // Derivated from the layout defined at http://www.panoccitan.org
793 // Version: 0.1
794 // From OSS french keyboard :
795 // - add , , , et , , , , , , ,
796 // - change position of , , , , , , , , ,
797 //
798 //
799 // 1 2 3 4 5 6 7 8 9 0 + Retour
800 // & ~ " # ' { ( [ - | ` _ \ ^ @ ) ] = } arrire
801 //
802 // A Z E R T Y U I O P Entre
803 // Tab a z e r t y u i o p ^ $
804 //
805 // Q S D F G H J K L M %
806 // Maj q s d f g h j k l m ' * `
807 //
808 // > W X C V B N ? . . /
809 // Shift < w x c v b n , ; : ! Shift
810 //
811 // Espace fine inscable
812 // Ctrl Meta Alt Espace Espace inscable AltGr Menu Ctrl
813 //
814 partial alphanumeric_keys
815 xkb_symbols "oci" {
816
817 include "fr(oss)"
818
819 name[Group1]= "Occitan";
820
821 // First row
822 key <TLDE> { [ twosuperior, threesuperior, onesuperior, dead_cedilla ] }; //
823 key <AE01> { [ ampersand, 1, dead_caron, dead_ogonek ] }; // & 1
824 key <AE02> { [ eacute, 2, asciitilde, Eacute ] }; // 2 ~
825 key <AE03> { [ quotedbl, 3, numbersign, dead_breve ] }; // " 3 #
826 key <AE04> { [ apostrophe, 4, braceleft, 0x1002014 ] }; // ' 4 { (tiret cadratin)
827 key <AE05> { [ parenleft, 5, bracketleft, 0x1002013 ] }; // ( 5 [ (tiret demi-cadratin)
828 key <AE06> { [ minus, 6, bar, 0x1002011 ] }; // - 6 | (tiret inscable)
829 key <AE07> { [ egrave, 7, grave, Egrave ] }; // 7 `
830 key <AE08> { [ underscore, 8, backslash, trademark ] }; // _ 8 \
831 key <AE09> { [ ccedilla, 9, asciicircum, Ccedilla ] }; // 9 ^
832 key <AE10> { [ agrave, 0, at, Agrave ] }; // 0 @
833 key <AE11> { [ parenright, degree, bracketright, notequal ] }; // ) ]
834 key <AE12> { [ equal, plus, braceright, plusminus ] }; // = + }
835
836 // Second row
837 key <AD01> { [ a, A, aacute, Aacute ] }; // a A
838 key <AD02> { [ z, Z, ae, AE ] }; // z Z
839 key <AD03> { [ e, E, EuroSign, cent ] }; // e E
840 key <AD04> { [ r, R, ecircumflex, Ecircumflex ] }; // r R
841 key <AD05> { [ t, T, ediaeresis, Ediaeresis ] }; // t T
842 key <AD06> { [ y, Y, ucircumflex, Ucircumflex ] }; // y Y
843 key <AD07> { [ u, U, uacute, Uacute ] }; // u U
844 key <AD08> { [ i, I, iacute, Iacute ] }; // i I
845 key <AD09> { [ o, O, oacute, Oacute ] }; // o O
846 key <AD10> { [ p, P, ograve, Ograve ] }; // p P
847 key <AD11> { [ dead_circumflex, dead_diaeresis, oe, OE ] }; // ^
848 key <AD12> { [ dollar, sterling, oslash, Ooblique ] }; // $
849
850 // Third row
851 key <AC01> { [ q, Q, adiaeresis, Adiaeresis ] }; // q Q
852 key <AC02> { [ s, S, ssharp, doublelowquotemark ] }; // s S
853 key <AC03> { [ d, D, acircumflex, Acircumflex ] }; // d D
854 key <AC04> { [ f, F, leftsinglequotemark, singlelowquotemark ] }; // f F
855 key <AC05> { [ g, G, rightsinglequotemark, yen ] }; // g G
856 key <AC06> { [ h, H, udiaeresis, Udiaeresis ] }; // h H
857 key <AC07> { [ j, J, icircumflex, Icircumflex] }; // j J
858 key <AC08> { [ k, K, idiaeresis, Idiaeresis] }; // k K
859 key <AC09> { [ l, L, ocircumflex, Ocircumflex ] }; // l L
860 key <AC10> { [ m, M, odiaeresis, Odiaeresis ] }; // m M
861 key <AC11> { [ ugrave, percent, dead_acute, Ugrave ] }; // % '
862 key <BKSL> { [ asterisk, mu, dead_grave, dead_macron ] }; // * `
863
864 // Fourth row
865 key <LSGT> { [ less, greater, lessthanequal, greaterthanequal ] }; // < >
866 key <AB01> { [ w, W, guillemotleft, leftdoublequotemark ] }; // w W
867 key <AB02> { [ x, X, guillemotright, rightdoublequotemark ] }; // x X
868 key <AB03> { [ c, C, copyright, registered ] }; // c C
869 key <AB04> { [ v, V, rightarrow, leftarrow ] }; // v V
870 key <AB05> { [ b, B, downarrow, uparrow ] }; // b B
871 key <AB06> { [ n, N, ntilde, Ntilde ] }; // n N
872 key <AB07> { [ comma, question, questiondown, 0x1002026 ] }; // , ?
873 key <AB08> { [ semicolon, period, multiply, 0x10022C5 ] }; // ; .
874 key <AB09> { [ colon, slash, division, 0x1002215 ] }; // : /
875 key <AB10> { [ exclam, section, exclamdown, 0x1002212 ] }; // !
876 };
877
878 // Marc.Shapiro (a] inria.fr 19-sep-1998
879 // modifications : Etienne Herlent <eherlent (a] linux-france.org> june 2000
880 // adapted to the new input layer :
881 // Martin Costabel <costabel (a] wanadoo.fr> 3-jan-2001
882 // adapted for Latin9 alphabet (ISO-8859-15):
883 // Etienne Herlent <eherlent (a] linux-france.org> march 2005
884
885 // This map is an almost-complete mapping of the standard French
886 // MacIntosh keyboard under Xwindows. I tried to remain as faithful
887 // as possible to the Mac meaning of each key. I did this entirely by
888 // hand and by intuition, relying on the Clavier (Keyboard?) Desktop
889 // Accessory for the Mac meaning of keys, and on reading keysymdef.h
890 // to intuit the corresponding X names. Lacking proper documentation,
891 // I may have made some mistakes.
892
893 // Entries marked CHECK are particularly uncertain
894
895 // Entries marked MISSING mark Mac characters for which I was unable
896 // to find a corresponding keysym. (Some for sure don't: e.g. the
897 // Apple mark and the oe/OE character; others I may have simply not
898 // found.)
899
900 // Copied from macintosh_vndr/fr
901 partial alphanumeric_keys
902 xkb_symbols "mac" {
903
904 name[Group1]= "French (Macintosh)";
905
906 // Alphanumeric section
907 key <TLDE> { [ at, numbersign, periodcentered, Ydiaeresis ] }; // MISSING: Ydiaeresis; eherlent : ok in Latin9
908 key <AE01> { [ ampersand, 1, VoidSymbol, dead_acute ] }; // MISSING: Apple
909 key <AE02> { [ eacute, 2, ediaeresis, Eacute ] };
910 key <AE03> { [ quotedbl, 3, VoidSymbol, VoidSymbol ] }; // CHECK all quotemarks
911 key <AE04> { [ apostrophe, 4, VoidSymbol, VoidSymbol ] };
912 key <AE05> { [ parenleft, 5, braceleft, bracketleft ] };
913 // CHECK section
914 key <AE06> { [ section, 6, paragraph, aring ] };
915 key <AE07> { [ egrave, 7, guillemotleft, guillemotright ] };
916 key <AE08> { [ exclam, 8, exclamdown, Ucircumflex ] };
917 key <AE09> { [ ccedilla, 9, Ccedilla, Aacute ] };
918 key <AE10> { [ agrave, 0, oslash, VoidSymbol ] }; // MISSING: Oslash
919 key <AE11> { [ parenright, degree, braceright, bracketright ] };
920 key <AE12> { [ minus, underscore, emdash, endash ] }; // CHECK dashes
921
922 key <AD01> { [ a, A, ae, AE ] };
923 key <AD02> { [ z, Z, Acircumflex, Aring ] };
924 key <AD03> { [ e, E, ecircumflex, Ecircumflex ] };
925 key <AD04> { [ r, R, registered, currency ] };
926 key <AD05> { [ t, T, VoidSymbol, VoidSymbol ] };
927 key <AD06> { [ y, Y, Uacute, Ydiaeresis ] }; // MISSING: Ydiaeresis; eherlent : ok in Latin9
928 key <AD07> { [ u, U, VoidSymbol, ordfeminine ] }; // MISSING: ordmasculine?
929 key <AD08> { [ i, I, icircumflex, idiaeresis ] };
930 key <AD09> { [ o, O, oe, OE ] }; // MISSING: oe, OE lacking in Latin1; eherlent ok in Latin9
931 key <AD10> { [ p, P, VoidSymbol, VoidSymbol ] };
932 key <AD11> { [dead_circumflex,dead_diaeresis, ocircumflex, Ocircumflex ] };
933 key <AD12> { [ dollar, asterisk, EuroSign, yen ] }; // eherlent : EuroSign in Latin9
934
935 key <AC01> { [ q, Q, acircumflex, Agrave ] };
936 key <AC02> { [ s, S, Ograve, VoidSymbol ] };
937 key <AC03> { [ d, D, VoidSymbol, VoidSymbol ] };
938 key <AC04> { [ f, F, VoidSymbol, periodcentered ] }; // MISSING: oblong script f??
939 key <AC05> { [ g, G, VoidSymbol, VoidSymbol ] }; // MISSING: kerned fi, fl
940 key <AC06> { [ h, H, Igrave, Icircumflex ] };
941 key <AC07> { [ j, J, Idiaeresis, Iacute ] };
942 key <AC08> { [ k, K, Egrave, Ediaeresis ] };
943 key <AC09> { [ l, L, notsign, bar ] };
944 key <AC10> { [ m, M, mu, Oacute ] };
945 key <AC11> { [ ugrave,percent, Ugrave, ucircumflex ] }; // MISSING: per-mille
946 key <BKSL> { [ dead_grave, sterling, at, numbersign ] };
947
948 key <LSGT> { [ less, greater, VoidSymbol, VoidSymbol ] };
949 key <AB01> { [ w, W, VoidSymbol, VoidSymbol ] }; // MISSING: half-guillemot (single angle bracket)
950 key <AB02> { [ x, X, VoidSymbol, VoidSymbol ] }; // CHECK similarequal; MISSING: extra-slanted slash
951 key <AB03> { [ c, C, copyright, cent ] };
952 key <AB04> { [ v, V, diamond, leftradical ] }; // CHECK diamond, leftradical
953 key <AB05> { [ b, B, ssharp, VoidSymbol ] }; // CHECK: Greek_beta or ssharp?; MISSING: oblong script s
954 key <AB06> { [ n, N, dead_tilde, asciitilde ] };
955 key <AB07> { [ comma, question, VoidSymbol, questiondown ] };
956 key <AB08> { [ semicolon, period, VoidSymbol, periodcentered ] };
957 key <AB09> { [ colon, slash, division, backslash ] };
958 key <AB10> { [ equal, plus, VoidSymbol, plusminus ] };
959
960 key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
961 // End alphanumeric section
962
963 key <KPDL> { [ comma,KP_Decimal ] };
964
965 include "level3(ralt_switch)"
966 };
967
968 partial alphanumeric_keys
969 xkb_symbols "geo" {
970 include "ge(basic)"
971
972 name[Group1]= "Georgian (France, AZERTY Tskapo)";
973
974 key <TLDE> { [ exclam, noSymbol ] };
975 key <AE01> { [ 0x0100201e, 1 ] };
976 key <AE02> { [ 0x01002116, 2 ] };
977 key <AE03> { [ percent, 3 ] };
978 key <AE04> { [ parenleft, 4 ] };
979 key <AE05> { [ colon, 5 ] };
980 key <AE06> { [ semicolon, 6 ] };
981 key <AE07> { [ question, 7 ] };
982 key <AE08> { [ 0x01002116, 8 ] };
983 key <AE09> { [ degree, 9 ] };
984 key <AE10> { [ parenright, 0 ] };
985 key <AE11> { [ minus, underscore, 0x01002014 ] };
986 key <AE12> { [ less, greater ] };
987
988 key <AD01> { [ 0x010010d0, 0x010010fa ] };
989 key <AD02> { [ 0x010010d6, Z ] };
990 key <AD03> { [ 0x010010d4, E, 0x010010f1 ] };
991 key <AD04> { [ 0x010010e0, 0x010000ae ] };
992 key <AD05> { [ 0x010010e2, T ] };
993 key <AD06> { [ 0x010010e7, 0x010010f8 ] };
994 key <AD07> { [ 0x010010e3, U ] };
995 key <AD08> { [ 0x010010d8, 0x010010f2 ] };
996 key <AD09> { [ 0x010010dd, O ] };
997 key <AD10> { [ 0x010010de, P ] };
998 key <AD11> { [ 0x010010d7, T ] };
999 key <AD12> { [ 0x010010eb, Z ] };
1000
1001 key <AC01> { [ 0x010010e5, Q ] };
1002 key <AC02> { [ 0x010010e1, S ] };
1003 key <AC03> { [ 0x010010d3, D ] };
1004 key <AC04> { [ 0x010010e4, 0x010010f6 ] };
1005 key <AC05> { [ 0x010010d2, 0x010010f9 ] };
1006 key <AC06> { [ 0x010010f0, 0x010010f5 ] };
1007 key <AC07> { [ 0x010010ef, 0x010010f7 ] };
1008 key <AC08> { [ 0x010010d9, K ] };
1009 key <AC09> { [ 0x010010da, L ] };
1010 key <AC10> { [ 0x010010db, M ] };
1011 key <AC11> { [ 0x010010df, J ] };
1012 key <BKSL> { [ 0x010010e9, 0x010000a9 ] };
1013
1014 key <LSGT> { [ guillemotleft,guillemotright ] };
1015 key <AB01> { [ 0x010010ec, W ] };
1016 key <AB02> { [ 0x010010ee, 0x010010f4 ] };
1017 key <AB03> { [ 0x010010ea, 0x010000a9 ] };
1018 key <AB04> { [ 0x010010d5, 0x010010f3 ] };
1019 key <AB05> { [ 0x010010d1, B ] };
1020 key <AB06> { [ 0x010010dc, 0x010010fc ] };
1021 key <AB07> { [ comma, 0x01002014 ] };
1022 key <AB08> { [ 0x010010e8, S ] };
1023 key <AB09> { [ 0x010010e6, noSymbol ] };
1024 key <AB10> { [ 0x010010ed, noSymbol ] };
1025
1026 };
1027
1028 // EXTRAS:
1029
1030 partial alphanumeric_keys
1031 xkb_symbols "sun_type6" {
1032 include "sun_vndr/fr(sun_type6)"
1033 };
1034