fr revision 1.1.1.2 1 // $XKeyboardConfig$
2
3 // based on a keyboard map from an 'xkb/symbols/fr' file
4 //
5 // $XFree86: xc/programs/xkbcomp/symbols/fr,v 1.2 2002/11/22 04:03:28 dawes Exp $
6
7 partial default alphanumeric_keys
8 xkb_symbols "basic" {
9
10 include "latin"
11
12 name[Group1]="France";
13
14 key <AE01> { [ ampersand, 1, onesuperior, exclamdown ] };
15 key <AE02> { [ eacute, 2, asciitilde, oneeighth ] };
16 key <AE03> { [ quotedbl, 3, numbersign, sterling ] };
17 key <AE04> { [apostrophe, 4, braceleft, dollar ] };
18 key <AE05> { [ parenleft, 5, bracketleft, threeeighths ] };
19 key <AE06> { [ minus, 6, bar, fiveeighths ] };
20 key <AE07> { [ egrave, 7, grave, seveneighths ] };
21 key <AE08> { [underscore, 8, backslash, trademark ] };
22 key <AE09> { [ ccedilla, 9, asciicircum, plusminus ] };
23 key <AE10> { [ agrave, 0, at, degree ] };
24 key <AE11> { [parenright, degree, bracketright, questiondown ] };
25 key <AE12> { [ equal, plus, braceright, dead_ogonek ] };
26
27 key <AD01> { [ a, A, ae, AE ] };
28 key <AD02> { [ z, Z, guillemotleft, less ] };
29 key <AD03> { [ e, E, EuroSign, cent ] };
30 key <AD11> { [dead_circumflex, dead_diaeresis, dead_diaeresis, dead_abovering ] };
31 key <AD12> { [ dollar, sterling, currency, dead_macron ] };
32
33 key <AC01> { [ q, Q, at, Greek_OMEGA ] };
34 key <AC10> { [ m, M, mu, masculine ] };
35 key <AC11> { [ ugrave, percent, dead_circumflex, dead_caron] };
36 key <TLDE> { [twosuperior, asciitilde, notsign, notsign ] };
37
38 key <BKSL> { [ asterisk, mu, dead_grave, dead_breve ] };
39 key <AB01> { [ w, W, lstroke, Lstroke ] };
40 key <AB07> { [ comma, question, dead_acute, dead_doubleacute ] };
41 key <AB08> { [ semicolon, period, horizconnector, multiply ] };
42 key <AB09> { [ colon, slash, periodcentered, division ] };
43 key <AB10> { [ exclam, section, dead_belowdot, dead_abovedot ] };
44
45 include "level3(ralt_switch)"
46 };
47
48 partial alphanumeric_keys
49 xkb_symbols "Sundeadkeys" {
50
51 // Modifies the basic French layout to use the Sun dead keys
52
53 include "fr(basic)"
54
55 key <AD11> { [SunFA_Circum, SunFA_Diaeresis ] };
56 key <AB07> { [comma, question, SunFA_Acute, dead_doubleacute ] };
57 };
58
59 partial alphanumeric_keys
60 xkb_symbols "sundeadkeys" {
61 include "fr(Sundeadkeys)"
62
63 name[Group1]="France - Sun dead keys";
64 };
65
66 partial alphanumeric_keys
67 xkb_symbols "nodeadkeys" {
68
69 // Modifies the basic French layout to eliminate all dead keys
70
71 include "fr(basic)"
72
73 name[Group1]="France - Eliminate dead keys";
74
75 key <AE12> { [ equal, plus, braceright, ogonek ] };
76 key <AD11> { [asciicircum, diaeresis ] };
77 key <AD12> { [ dollar, sterling, currency, macron ] };
78 key <AC11> { [ ugrave, percent, asciicircum, caron ] };
79 key <BKSL> { [ asterisk, mu, grave, breve ] };
80 key <AB07> { [ comma, question, acute, doubleacute ] };
81 key <AB10> { [ exclam, section, dead_belowdot, abovedot ] };
82 };
83
84
85 // Unicode French derivative
86 // Loose refactoring of the historic Linux French keyboard layout
87 //
88 // Copyright 2006-2008 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
89 //
90 // Credits (fr-latin1, fr-latin0, fr-latin9)
91 // 199x-1996 Ren Cougnenc
92 // 1997-2002 Guylhem Aznar <clavier @ externe.net>
93 // 2003-2006 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
94 //
95 //
96 // 1 2 3 4 5 6 7 8 9 0 + Retour
97 // & ~ " # ' { ( [ - | ` _ \ ^ @ ) ] = } arrire
98 //
99 // A Z E R T Y U I O P Entre
100 // Tab a z e r t y u i o p ^ ~ $
101 //
102 // Q S D F G H J K L M %
103 // Maj q s d f g h j k l m ' * `
104 //
105 // > W X C V B N ? . . /
106 // Shift < w x c v b n , ; : ! Shift
107 //
108 // Espace fine inscable
109 // Ctrl Meta Alt Espace Espace inscable AltGr Menu Ctrl
110 //
111 partial alphanumeric_keys
112 xkb_symbols "oss" {
113
114 include "latin"
115 include "level3(ralt_switch)"
116 include "nbsp(level4nl)"
117 include "keypad(oss)"
118
119 name[Group1]="France - Alternative";
120
121 // First row
122 key <TLDE> { [ twosuperior, threesuperior, onesuperior, dead_cedilla ] }; //
123 key <AE01> { [ ampersand, 1, dead_caron, dead_ogonek ] }; // & 1
124 key <AE02> { [ eacute, 2, asciitilde, Eacute ] }; // 2 ~
125 key <AE03> { [ quotedbl, 3, numbersign, dead_breve ] }; // " 3 #
126 key <AE04> { [ apostrophe, 4, braceleft, 0x1002014 ] }; // ' 4 { (tiret cadratin)
127 key <AE05> { [ parenleft, 5, bracketleft, 0x1002013 ] }; // ( 5 [ (tiret demi-cadratin)
128 key <AE06> { [ minus, 6, bar, 0x1002011 ] }; // - 6 | (tiret inscable)
129 key <AE07> { [ egrave, 7, grave, Egrave ] }; // 7 `
130 key <AE08> { [ underscore, 8, backslash, trademark ] }; // _ 8 \
131 key <AE09> { [ ccedilla, 9, asciicircum, Ccedilla ] }; // 9 ^
132 key <AE10> { [ agrave, 0, at, Agrave ] }; // 0 @
133 key <AE11> { [ parenright, degree, bracketright, notequal ] }; // ) ]
134 key <AE12> { [ equal, plus, braceright, plusminus ] }; // = + }
135
136 // Second row
137 key <AD01> { [ a, A, ae, AE ] }; // a A
138 key <AD02> { [ z, Z, acircumflex, Acircumflex ] }; // z Z
139 key <AD03> { [ e, E, EuroSign, cent ] }; // e E
140 key <AD04> { [ r, R, ecircumflex, Ecircumflex ] }; // r R
141 key <AD05> { [ t, T, thorn, THORN ] }; // t T
142 key <AD06> { [ y, Y, ydiaeresis, Ydiaeresis ] }; // y Y
143 key <AD07> { [ u, U, ucircumflex, Ucircumflex ] }; // u U
144 key <AD08> { [ i, I, icircumflex, Icircumflex ] }; // i I
145 key <AD09> { [ o, O, oe, OE ] }; // o O
146 key <AD10> { [ p, P, ocircumflex, Ocircumflex ] }; // p P
147 key <AD11> { [ dead_circumflex, dead_diaeresis, dead_tilde, dead_abovering ] }; // ^
148 key <AD12> { [ dollar, sterling, oslash, Ooblique ] }; // $
149
150 // Third row
151 key <AC01> { [ q, Q, adiaeresis, Adiaeresis ] }; // q Q
152 key <AC02> { [ s, S, ssharp, doublelowquotemark ] }; // s S
153 key <AC03> { [ d, D, ediaeresis, Ediaeresis ] }; // d D
154 key <AC04> { [ f, F, leftsinglequotemark, singlelowquotemark ] }; // f F
155 key <AC05> { [ g, G, rightsinglequotemark, yen ] }; // g G
156 key <AC06> { [ h, H, eth, ETH ] }; // h H
157 key <AC07> { [ j, J, udiaeresis, Udiaeresis ] }; // j J
158 key <AC08> { [ k, K, idiaeresis, Idiaeresis ] }; // k K
159 key <AC09> { [ l, L, 0x1000140, 0x100013F ] }; // l L
160 key <AC10> { [ m, M, odiaeresis, Odiaeresis ] }; // m M
161 key <AC11> { [ ugrave, percent, dead_acute, Ugrave ] }; // % '
162 key <BKSL> { [ asterisk, mu, dead_grave, dead_macron ] }; // * `
163
164 // Fourth row
165 key <LSGT> { [ less, greater, lessthanequal, greaterthanequal ] }; // < >
166 key <AB01> { [ w, W, guillemotleft, leftdoublequotemark ] }; // w W
167 key <AB02> { [ x, X, guillemotright, rightdoublequotemark ] }; // x X
168 key <AB03> { [ c, C, copyright, registered ] }; // c C
169 key <AB04> { [ v, V, 0x100202F, leftarrow ] }; // v V (espace fine inscable)
170 key <AB05> { [ b, B, downarrow, uparrow ] }; // b B
171 key <AB06> { [ n, N, notsign, rightarrow ] }; // n N
172 key <AB07> { [ comma, question, questiondown, 0x1002026 ] }; // , ?
173 key <AB08> { [ semicolon, period, multiply, 0x10022C5 ] }; // ; .
174 key <AB09> { [ colon, slash, division, 0x1002215 ] }; // : /
175 key <AB10> { [ exclam, section, exclamdown, 0x1002212 ] }; // !
176 };
177
178 partial alphanumeric_keys
179 xkb_symbols "oss_latin9" {
180
181 // Restricts the fr(oss) layout to latin9 symbols
182
183 include "fr(oss)"
184 include "keypad(oss_latin9)"
185
186 name[Group1]="France - Alternative, latin-9 only";
187
188 // First row
189 key <AE01> { [ ampersand, 1, dead_caron, dead_cedilla ] }; // & 1
190 key <AE03> { [ quotedbl, 3, numbersign, dead_tilde ] }; // " 3 # ~
191 key <AE04> { [ apostrophe, 4, braceleft, underscore ] }; // ' 4 { _
192 key <AE05> { [ parenleft, 5, bracketleft, minus ] }; // ( 5 [ -
193 key <AE06> { [ minus, 6, bar, minus ] }; // - 6 | -
194 key <AE08> { [ underscore, 8, backslash, backslash ] }; // _ 8 \ \
195 key <AE11> { [ parenright, degree, bracketright, equal ] }; // ) ] =
196
197 // Third row
198 key <AC02> { [ s, S, ssharp, guillemotleft ] }; // s S
199 key <AC04> { [ f, F, apostrophe, apostrophe ] }; // f F ' '
200 key <AC05> { [ g, G, apostrophe, yen ] }; // g G '
201 key <AC09> { [ l, L, periodcentered, periodcentered ] }; // l L
202 key <BKSL> { [ asterisk, mu, dead_grave, dead_circumflex ] }; // * ` ^
203
204 // Fourth row
205 key <LSGT> { [ less, greater, less, greater ] }; // < > < >
206 key <AB01> { [ w, W, guillemotleft, guillemotleft ] }; // w W
207 key <AB02> { [ x, X, guillemotright, guillemotright ] }; // x X
208 key <AB04> { [ v, V, nobreakspace, less ] }; // v V < (espace inscable)
209 key <AB05> { [ b, B, minus, asciicircum ] }; // b B - ^
210 key <AB06> { [ n, N, notsign, greater ] }; // n N >
211 key <AB07> { [ comma, question, questiondown, period ] }; // , ? .
212 key <AB08> { [ semicolon, period, multiply, periodcentered ] }; // ; .
213 key <AB09> { [ colon, slash, division, slash ] }; // : / /
214 key <AB10> { [ exclam, section, exclamdown, minus ] }; // ! -
215 };
216
217 partial alphanumeric_keys
218 xkb_symbols "oss_Sundeadkeys" {
219
220 // Modifies the basic fr(oss) layout to use the Sun dead keys
221
222 include "fr(oss)"
223
224 // First row
225 key <TLDE> { [ twosuperior, threesuperior, onesuperior, SunFA_Cedilla ] }; //
226
227 // Second row
228 key <AD11> { [ SunFA_Circum, SunFA_Diaeresis, SunFA_Tilde, dead_abovering ] }; // ^
229
230 //Third row
231 key <AC11> { [ ugrave, percent, SunFA_Acute, Ugrave ] }; // % '
232 key <BKSL> { [ asterisk, mu, SunFA_Grave, dead_macron ] }; // * `
233 };
234
235 partial alphanumeric_keys
236 xkb_symbols "oss_sundeadkeys" {
237
238 include "fr(oss_Sundeadkeys)"
239
240 name[Group1]="France - Alternative, Sun dead keys";
241 };
242
243 partial alphanumeric_keys
244 xkb_symbols "oss_nodeadkeys" {
245
246 // Modifies the basic fr(oss) layout to eliminate all dead keys
247
248 include "fr(oss)"
249
250 name[Group1]="France - Alternative, eliminate dead keys";
251
252 key <TLDE> { [ twosuperior, threesuperior, onesuperior, cedilla ] }; //
253 key <AE01> { [ ampersand, 1, caron, ogonek ] }; // & 1
254 key <AE03> { [ quotedbl, 3, numbersign, breve ] }; // " 3 #
255
256 // Second row
257 key <AD11> { [ asciicircum, diaeresis, asciitilde, Aring ] }; // ^
258 key <AC11> { [ ugrave, percent, acute, Ugrave ] }; // % '
259 key <BKSL> { [ asterisk, mu, grave, macron ] }; // * `
260 };
261
262
263 // Historic Linux French keyboard layout (fr-latin9)
264 // Copyright (c) 199x, 2002 Rene Cougnenc (original work)
265 // Guylhem Aznar <clavier @ externe.net> (maintainer)
266 // Nicolas Mailhot <Nicolas.Mailhot @ laposte.net>
267 // (XFree86 submission)
268 //
269 // $XFree86: xc/programs/xkbcomp/symbols/fr-latin9,v 1.1 2002/12/20 02:07:11 dawes Exp $
270 //
271 // This layout has long been distributed and refined outside official channels.
272 // To this day it remains more feature-rich and popular than the 'fr' layout.
273 //
274 // This file is derived from an original version by Guylhem Aznar. The
275 // original version is always available from:
276 // http://en.tldp.org/HOWTO/Francophones-HOWTO.html
277 // and is distributed under a GPL license.
278 //
279 // The author has given permission for this derived version to be distributed
280 // under the standard XFree86 license. He would like all changes to this
281 // version be send to him at <clavier @ externe.net> so he can sync the
282 // identically named linux console map (kbd, linux-console) and this
283 // fileout-of-tree GPL version.
284 //
285 // Now follows the keyboard design description in French.
286 // (If you can't read it you probably have no business changing this file anyway:)
287 //
288 // Les accents circonflexes des principales voyelles sont obtenus avec
289 // la touche Alt_Gr, les trmas sont obtenus par Alt_Gr + Shift.
290 //
291 // ____ _________ _____________ _______
292 // | S A| S = Shift, A = AltGr + Shift | Imprime | Arrt dfil | Pause |
293 // | s a| s = normal, a = AltGr | Exec | | Halte |
294 //
295 // ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ _______
296 // | "| 1 | 2 | 3 ,| 4 '| 5 "| 6 || 7 | 8 | 9 | 0 | | + | <-- |
297 // | "| & '| ~| " #| ' {| ( [| - || `| _ \| ^| @| ) ]| = }| |
298 // ========================================================================
299 // | |<- | A | Z | E | R | T | Y | U | I | O | P '| " `| $ | , |
300 // | ->| | a | z | e | r | t | y | u | i | o | p | ^ ~| | <-' |
301 // =================================================================== |
302 // | | Q | S | D | F | G | H | J | K | L | M | % | | |
303 // | MAJ | q | s | d | f | g | h | j | k | l | m | | * | |
304 // ========================================================================
305 // | ^ | > | W | X | C | V | B | N | ? | . | / | | ^ |
306 // | | | < || w | x | c | v | b | n | , | ; | : | ! | | |
307 // ========================================================================
308 // | | | | | | | | |
309 // | Ctrl | Super| Alt | Space Nobreakspace | AltGr | Super|Menu | Ctrl |
310 //
311 //
312 //
313 // Si les touches mortes fonctionnent, utiliser les accents dits
314 // morts , i.e. fonctionnant comme l'accent circonflexe & le
315 // trma des machines crire ; sont disponibles :
316 //
317 // (^) : accent circonflexe,
318 // Shift+(^) : trma,
319 // Shift+AltGr (^) : tilde,
320 // AltGr (1) : accent aigu,
321 // AltGr (7) : accent grave
322 //
323 // Pour s'en servir, procder comme avec l'accent circonflexe & le trma
324 // sur les vielles machines crire :
325 //
326 // AltGr (1) puis e :
327 // Shift+AltGr (1) puis e : ...
328 partial alphanumeric_keys
329
330 xkb_symbols "latin9" {
331
332 include "latin"
333 include "nbsp(level3)"
334
335 name[Group1]="France - (Legacy) Alternative";
336
337 key <TLDE> { [ oe, OE, leftdoublequotemark, rightdoublequotemark ] };
338 key <AE01> { [ ampersand, 1, dead_acute, periodcentered ] };
339 key <AE02> { [ eacute, 2, asciitilde, Eacute ] };
340 key <AE03> { [ quotedbl, 3, numbersign, cedilla ] };
341 key <AE04> { [ apostrophe, 4, braceleft, acute ] };
342 key <AE05> { [ parenleft, 5, bracketleft, diaeresis ] };
343 key <AE06> { [ minus, 6, bar, brokenbar ] };
344 key <AE07> { [ egrave, 7, dead_grave, Egrave ] };
345 key <AE08> { [ underscore, 8, backslash, macron ] };
346 key <AE09> { [ ccedilla, 9, asciicircum, Ccedilla ] };
347 key <AE10> { [ agrave, 0, at, Agrave ] };
348 key <AE11> { [ parenright, degree, bracketright, ydiaeresis ] };
349 key <AE12> { [ equal, plus, braceright, dead_abovering ] };
350
351 key <AD01> { [ a, A, acircumflex, adiaeresis ] };
352 key <AD02> { [ z, Z, aring, Aring ] };
353 key <AD03> { [ e, E, EuroSign, cent ] };
354 key <AD04> { [ r, R, ccedilla, Ccedilla ] };
355 key <AD05> { [ t, T, thorn, THORN ] };
356 key <AD06> { [ y, Y, yacute, Yacute ] };
357 key <AD07> { [ u, U, ucircumflex, udiaeresis ] };
358 key <AD08> { [ i, I, icircumflex, idiaeresis ] };
359 key <AD09> { [ o, O, ocircumflex, odiaeresis ] };
360 key <AD10> { [ p, P, paragraph, quoteleft ] };
361 key <AD11> { [ dead_circumflex, dead_diaeresis, dead_tilde, quoteright ] };
362 key <AD12> { [ dollar, sterling, ecircumflex, ediaeresis ] };
363
364 key <AC01> { [ q, Q, Acircumflex, Adiaeresis ] };
365 key <AC02> { [ s, S, oslash, Ooblique ] };
366 key <AC03> { [ d, D, Ecircumflex, Ediaeresis ] };
367 key <AC04> { [ f, F, plusminus, ordfeminine ] };
368 key <AC05> { [ g, G, ae, AE ] };
369 key <AC06> { [ h, H, eth, ETH ] };
370 key <AC07> { [ j, J, Ucircumflex, Udiaeresis ] };
371 key <AC08> { [ k, K, Icircumflex, Idiaeresis ] };
372 key <AC09> { [ l, L, Ocircumflex, Odiaeresis ] };
373 key <AC10> { [ m, M, onesuperior, masculine ] };
374 key <AC11> { [ ugrave, percent, twosuperior, Ugrave ] };
375 key <BKSL> { [ asterisk, mu, threesuperior, yen ] };
376
377 key <LSGT> { [ less, greater, bar ] };
378 key <AB01> { [ w, W, guillemotleft ] };
379 key <AB02> { [ x, X, guillemotright ] };
380 key <AB03> { [ c, C, copyright ] };
381 key <AB04> { [ v, V, registered ] };
382 key <AB05> { [ b, B, ssharp ] };
383 key <AB06> { [ n, N, notsign ] };
384 key <AB07> { [ comma, question, questiondown ] };
385 key <AB08> { [ semicolon, period, multiply ] };
386 key <AB09> { [ colon, slash, division ] };
387 key <AB10> { [ exclam, section, exclamdown ] };
388
389 // French uses a comma as decimal separator, but keyboards are labeled with a period
390 // Will take effect when KP_Decimal is mapped to the locale decimal separator
391 key <KPDL> { [ KP_Delete, period, KP_Delete, KP_Decimal ] };
392
393 include "level3(ralt_switch)"
394 };
395
396 partial alphanumeric_keys
397 xkb_symbols "latin9_Sundeadkeys" {
398
399 // Modifies the basic fr-latin9 layout to use the Sun dead keys
400
401 include "fr(latin9)"
402
403 key <AE01> { [ ampersand, 1, SunFA_Acute, periodcentered ] };
404 key <AE07> { [ egrave, 7, SunFA_Grave, Egrave ] };
405 key <AD11> { [ SunFA_Circum, SunFA_Diaeresis, SunFA_Tilde, quoteright ] };
406
407 };
408
409 partial alphanumeric_keys
410 xkb_symbols "latin9_sundeadkeys" {
411
412 include "fr(latin9_Sundeadkeys)"
413
414 name[Group1]="France - (Legacy) Alternative, Sun dead keys";
415 };
416
417 partial alphanumeric_keys
418 xkb_symbols "latin9_nodeadkeys" {
419
420 // Modifies the basic fr-latin9 layout to eliminate all dead keys
421
422 include "fr(latin9)"
423
424 name[Group1]="France - (Legacy) Alternative, eliminate dead keys";
425
426 key <AE01> { [ ampersand, 1, apostrophe, periodcentered ] };
427 key <AE07> { [ egrave, 7, grave, Egrave ] };
428 key <AE12> { [ equal, plus, braceright ] };
429 key <AD11> { [ asciicircum, diaeresis, asciitilde, quoteright ] };
430 };
431
432 // Bpo:Improved ergonomic french keymap using Dvorak method.
433 // Built by community on 'Dvorak Fr' mailing list:
434 // dvorak-fr (a] gpl.insa-lyon.fr and on its wiki: http://gpl.insa-lyon.fr/Dvorak-Fr/ .
435 // XOrg integration in 2006 by Frdric Boiteux <fboiteux @ free.fr>
436 //
437 // Bpo layout (6.2.1.1 version) for a pc105 keyboard (french):
438 //
439 // S A S = Shift, A = AltGr + Shift
440 // s a s = normal, a = AltGr
441 //
442 //
443 //
444 // $ 1 2 3 4 5 6 7 8 9 0 ^ Retour
445 // @ # _ { " } < > ( [ ) ] + - * / = % arrire
446 //
447 // B P O ` V D L F J Z Entre
448 // Tab b | & p o ` v d l f j z
449 //
450 // A U I E ? C T S N R M !
451 // Maj a u i e , c t s n r m
452 //
453 // H Y : K ; Q G X W
454 // Shift / ~ h ! y . \ k ' q g x w Shift
455 //
456 // Espace inscable
457 // Ctrl Meta Alt Espace AltGr Menu Ctrl
458 //
459 partial alphanumeric_keys
460 xkb_symbols "bepo" {
461
462 include "keypad(oss)"
463
464 name[Group1]= "France - Bepo, ergonomic, Dvorak way";
465
466 // First row
467 key <TLDE> { [ at, dollar, numbersign ] }; // @ $ #
468 key <AE01> { [ underscore, 1, braceleft, onesuperior ] }; // _ 1 {
469 key <AE02> { [ quotedbl, 2, braceright, twosuperior ] }; // " 2 }
470 key <AE03> { [ guillemotleft, 3, less, threesuperior ] }; // 3 <
471 key <AE04> { [ guillemotright, 4, greater, degree ] }; // 4 >
472 key <AE05> { [ parenleft, 5, bracketleft, dead_abovering ] }; // ( 5 [
473 key <AE06> { [ parenright, 6, bracketright ] }; // ) 6 ]
474 key <AE07> { [ plus, 7, plusminus ] }; // + 7
475 key <AE08> { [ minus, 8, notsign ] }; // - 8
476 key <AE09> { [ asterisk, 9, multiply ] }; // * 9
477 key <AE10> { [ slash, 0, division ] }; // / 0
478 key <AE11> { [ equal, asciicircum, macron ] }; // = ^
479 key <AE12> { [ percent, mu ] }; // %
480
481 // Second row
482 key <AD01> { [ b, B, bar ] }; // b B |
483 key <AD02> { [ eacute, Eacute, ampersand, dead_acute ] }; // &
484 key <AD03> { [ p, P, section, paragraph ] }; // p P
485 key <AD04> { [ o, O, oe, OE ] }; // o O
486 key <AD05> { [ egrave, Egrave, grave, dead_grave ] }; // ` `
487 key <AD06> { [ ccedilla, Ccedilla ] }; //
488 key <AD07> { [ v, V ] }; // v V
489 key <AD08> { [ d, D, eth, ETH ] }; // d D
490 key <AD09> { [ l, L, sterling ] }; // l L
491 key <AD10> { [ f, F, ordfeminine ] }; // f F
492 key <AD11> { [ j, J ] }; // j J
493 key <AD12> { [ z, Z ] }; // z Z
494
495 // Third row
496 key <AC01> { [ a, A, ae, AE ] }; // a A
497 key <AC02> { [ u, U, ugrave, Ugrave ] }; // u U
498 key <AC03> { [ i, I, dead_diaeresis, dead_caron ] }; // i I
499 key <AC04> { [ e, E, EuroSign ] }; // e E
500 key <AC05> { [ comma, question, questiondown ] }; // , ?
501 key <AC06> { [ c, C, copyright, cent ] }; // c C
502 key <AC07> { [ t, T, thorn, Thorn ] }; // t T
503 key <AC08> { [ s, S, ssharp ] }; // s S
504 key <AC09> { [ n, N ] }; // n N
505 key <AC10> { [ r, R, registered ] }; // r R
506 key <AC11> { [ m, M, masculine ] }; // m M
507 key <BKSL> { [ dead_circumflex, exclam, exclamdown ] }; // ^ !
508
509 // Fourth row
510 key <LSGT> { [ ecircumflex, ugrave, slash ] }; // /
511 key <AB01> { [ agrave, Agrave, asciitilde, dead_tilde ] }; // ~ ~
512 key <AB02> { [ h, H, exclam ] }; // h H !
513 key <AB03> { [ y, Y, yen ] }; // y Y
514 key <AB04> { [ period, colon, backslash, periodcentered ] }; // . : \
515 key <AB05> { [ k, K ] }; // k K
516 key <AB06> { [ apostrophe, semicolon ] }; // ' ;
517 key <AB07> { [ q, Q, oslash, Ooblique ] }; // q Q
518 key <AB08> { [ g, G ] }; // g G
519 key <AB09> { [ x, X ] }; // x X
520 key <AB10> { [ w, W ] }; // w W
521
522 key <SPCE> { [ space, nobreakspace, space, space ] }; // (espace inscable)
523
524 include "level3(ralt_switch)"
525 };
526
527 partial alphanumeric_keys
528 xkb_symbols "bepo_latin9" {
529
530 // Restricts the fr(bepo) layout to latin9 symbols
531
532 include "keypad(oss_latin9)"
533 include "fr(bepo)"
534
535 name[Group1]="France - Bepo, ergonomic, Dvorak way, latin-9 only";
536
537 // at now, no difference (oss keypad excepted), but will change !
538 };
539
540 // Author : Francis Leboutte, http://www.algo.be/ergo/dvorak-fr.html
541 // thanks to Fabien Cazenave for his help
542 // Licence : X11 (the layout itself is released under CC-NC-ND licence)
543 // Version : 0.3
544
545 // Base layer + dead AltGr key (`):
546 //
547 // * 1 2 3 4 5 6 7 8 9 0 + %
548 // _ = / - \ ^ ( ` ` ) " [ ]
549 //
550 // ? < > G ! H V C M K Z &
551 // : ' $ g . h v c m k z
552 //
553 // O A U E B F S T N D W #
554 // o a u e b f s t n d w ~
555 //
556 // | Q @ I Y X R L P J
557 // ; q { , } i y x r l p j
558 //
559 //
560 // ctrl super alt Espace Espace inscable alt super menu ctrl
561 //
562
563 // Notice the specific Caps_Lock layer:
564 //
565 // * 1 2 3 4 5 6 7 8 9 0 + %
566 //
567 //
568 // < >
569 //
570 //
571 //
572 //
573 //
574 // / -
575 //
576 //
577 //
578 // ctrl super alt Espace Espace inscable alt super menu ctrl
579 //
580
581 partial alphanumeric_keys modifier_keys
582 xkb_symbols "dvorak" {
583 name[Group1]="France - Dvorak";
584
585 // First row
586 key <TLDE> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ underscore, asterisk ] };
587 key <AE01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ equal, 1 ] };
588 key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ slash, 2, plusminus ] };
589 key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ minus, 3, onequarter ] };
590 key <AE04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ egrave, 4, onehalf ] };
591 key <AE05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ backslash, 5, threequarters ] };
592 key <AE06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ dead_circumflex, 6 ] };
593 key <AE07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenleft, 7 ] };
594 key <AE08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ ISO_Level3_Latch, 8, grave ] };
595 key <AE09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenright, 9 ] };
596 key <AE10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ quotedbl, 0 ] };
597 key <AE11> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ bracketleft, plus ] };
598 key <AE12> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ bracketright, percent ] };
599
600 // Second row
601 key <AD01> { [ colon, question, ae, AE ] };
602 key <AD02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ apostrophe, less, dollar ] };
603 key <AD03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ eacute, greater, Eacute ] };
604 key <AD04> { [ g, G, EuroSign ] };
605 key <AD05> { [ period, exclam, degree ] };
606 key <AD06> { [ h, H ] };
607 key <AD07> { [ v, V ] };
608 key <AD08> { [ c, C, ccedilla, Ccedilla ] };
609 key <AD09> { [ m, M, mu ] };
610 key <AD10> { [ k, K ] };
611 key <AD11> { [ z, Z ] };
612 key <AD12> { [ dead_diaeresis, ampersand ] };
613
614 // Third row
615 key <AC01> { [ o, O, ograve, Ograve ] };
616 key <AC02> { [ a, A, agrave, Agrave ] };
617 key <AC03> { [ u, U, ugrave, Ugrave ] };
618 key <AC04> { [ e, E, egrave, Egrave ] };
619 key <AC05> { [ b, B ] };
620 key <AC06> { [ f, F ] };
621 key <AC07> { [ s, S, guillemotleft ] };
622 key <AC08> { [ t, T ] };
623 key <AC09> { [ n, N, guillemotright ] };
624 key <AC10> { [ d, D ] };
625 key <AC11> { [ w, W ] };
626 key <BKSL> { [ asciitilde, numbersign ] };
627
628 // Fourth row
629 key <LSGT> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ agrave, ccedilla, Agrave, Ccedilla, slash ] };
630 key <AB01> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ semicolon, bar, oe, OE, minus ] };
631 key <AB02> { [ q, Q, braceleft ] };
632 key <AB03> { [ comma, at, braceright ] };
633 key <AB04> { [ i, I, igrave, Igrave ] };
634 key <AB05> { [ y, Y, sterling ] };
635 key <AB06> { [ x, X ] };
636 key <AB07> { [ r, R, masculine ] };
637 key <AB08> { [ l, L ] };
638 key <AB09> { [ p, P, section ] };
639 key <AB10> { [ j, J ] };
640
641 key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
642 };
643
644 // Marc.Shapiro (a] inria.fr 19-sep-1998
645 // modifications : Etienne Herlent <eherlent (a] linux-france.org> june 2000
646 // adapted to the new input layer :
647 // Martin Costabel <costabel (a] wanadoo.fr> 3-jan-2001
648 // adapted for Latin9 alphabet (ISO-8859-15):
649 // Etienne Herlent <eherlent (a] linux-france.org> march 2005
650
651 // This map is an almost-complete mapping of the standard French
652 // MacIntosh keyboard under Xwindows. I tried to remain as faithful
653 // as possible to the Mac meaning of each key. I did this entirely by
654 // hand and by intuition, relying on the Clavier (Keyboard?) Desktop
655 // Accessory for the Mac meaning of keys, and on reading keysymdef.h
656 // to intuit the corresponding X names. Lacking proper documentation,
657 // I may have made some mistakes.
658
659 // Entries marked CHECK are particularly uncertain
660
661 // Entries marked MISSING mark Mac characters for which I was unable
662 // to find a corresponding keysym. (Some for sure don't: e.g. the
663 // Apple mark and the oe/OE character; others I may have simply not
664 // found.)
665
666 // Copied from macintosh_vndr/fr
667 partial alphanumeric_keys
668 xkb_symbols "mac" {
669
670 name[Group1]= "France - Macintosh";
671
672 // Alphanumeric section
673 key <TLDE> { [ at, numbersign, periodcentered, Ydiaeresis ] }; // MISSING: Ydiaeresis; eherlent : ok in Latin9
674 key <AE01> { [ ampersand, 1, VoidSymbol, dead_acute ] }; // MISSING: Apple
675 key <AE02> { [ eacute, 2, ediaeresis, Eacute ] };
676 key <AE03> { [ quotedbl, 3, VoidSymbol, VoidSymbol ] }; // CHECK all quotemarks
677 key <AE04> { [ apostrophe, 4, VoidSymbol, VoidSymbol ] };
678 key <AE05> { [ parenleft, 5, braceleft, bracketleft ] };
679 // CHECK section
680 key <AE06> { [ section, 6, paragraph, aring ] };
681 key <AE07> { [ egrave, 7, guillemotleft, guillemotright ] };
682 key <AE08> { [ exclam, 8, exclamdown, Ucircumflex ] };
683 key <AE09> { [ ccedilla, 9, Ccedilla, Aacute ] };
684 key <AE10> { [ agrave, 0, oslash, VoidSymbol ] }; // MISSING: Oslash
685 key <AE11> { [ parenright, degree, braceright, bracketright ] };
686 key <AE12> { [ minus, underscore, emdash, endash ] }; // CHECK dashes
687
688 key <AD01> { [ a, A, ae, AE ] };
689 key <AD02> { [ z, Z, Acircumflex, Aring ] };
690 key <AD03> { [ e, E, ecircumflex, Ecircumflex ] };
691 key <AD04> { [ r, R, registered, currency ] };
692 key <AD05> { [ t, T, VoidSymbol, VoidSymbol ] };
693 key <AD06> { [ y, Y, Uacute, Ydiaeresis ] }; // MISSING: Ydiaeresis; eherlent : ok in Latin9
694 key <AD07> { [ u, U, VoidSymbol, ordfeminine ] }; // MISSING: ordmasculine?
695 key <AD08> { [ i, I, icircumflex, idiaeresis ] };
696 key <AD09> { [ o, O, oe, OE ] }; // MISSING: oe, OE lacking in Latin1; eherlent ok in Latin9
697 key <AD10> { [ p, P, VoidSymbol, VoidSymbol ] };
698 key <AD11> { [dead_circumflex,dead_diaeresis, ocircumflex, Ocircumflex ] };
699 key <AD12> { [ dollar, asterisk, EuroSign, yen ] }; // eherlent : EuroSign in Latin9
700
701 key <AC01> { [ q, Q, acircumflex, Agrave ] };
702 key <AC02> { [ s, S, Ograve, VoidSymbol ] };
703 key <AC03> { [ d, D, VoidSymbol, VoidSymbol ] };
704 key <AC04> { [ f, F, VoidSymbol, periodcentered ] }; // MISSING: oblong script f??
705 key <AC05> { [ g, G, VoidSymbol, VoidSymbol ] }; // MISSING: kerned fi, fl
706 key <AC06> { [ h, H, Igrave, Icircumflex ] };
707 key <AC07> { [ j, J, Idiaeresis, Iacute ] };
708 key <AC08> { [ k, K, Egrave, Ediaeresis ] };
709 key <AC09> { [ l, L, notsign, bar ] };
710 key <AC10> { [ m, M, mu, Oacute ] };
711 key <AC11> { [ ugrave,percent, Ugrave, ucircumflex ] }; // MISSING: per-mille
712 key <BKSL> { [ dead_grave, sterling, at, numbersign ] };
713
714 key <LSGT> { [ less, greater, VoidSymbol, VoidSymbol ] };
715 key <AB01> { [ w, W, VoidSymbol, VoidSymbol ] }; // MISSING: half-guillemot (single angle bracket)
716 key <AB02> { [ x, X, VoidSymbol, VoidSymbol ] }; // CHECK similarequal; MISSING: extra-slanted slash
717 key <AB03> { [ c, C, copyright, cent ] };
718 key <AB04> { [ v, V, diamond, leftradical ] }; // CHECK diamond, leftradical
719 key <AB05> { [ b, B, ssharp, VoidSymbol ] }; // CHECK: Greek_beta or ssharp?; MISSING: oblong script s
720 key <AB06> { [ n, N, dead_tilde, asciitilde ] };
721 key <AB07> { [ comma, question, VoidSymbol, questiondown ] };
722 key <AB08> { [ semicolon, period, VoidSymbol, periodcentered ] };
723 key <AB09> { [ colon, slash, division, backslash ] };
724 key <AB10> { [ equal, plus, VoidSymbol, plusminus ] };
725
726 key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
727 // End alphanumeric section
728
729 key <KPDL> { [ comma,KP_Decimal ] };
730
731 include "level3(ralt_switch)"
732 };
733
734 partial alphanumeric_keys
735 xkb_symbols "geo" {
736 include "ge(basic)"
737
738 name[Group1]= "France - Georgian AZERTY Tskapo";
739
740 key <TLDE> { [ exclam, noSymbol ] };
741 key <AE01> { [ 0x0100201e, 1 ] };
742 key <AE02> { [ 0x01002116, 2 ] };
743 key <AE03> { [ percent, 3 ] };
744 key <AE04> { [ parenleft, 4 ] };
745 key <AE05> { [ colon, 5 ] };
746 key <AE06> { [ semicolon, 6 ] };
747 key <AE07> { [ question, 7 ] };
748 key <AE08> { [ 0x01002116, 8 ] };
749 key <AE09> { [ degree, 9 ] };
750 key <AE10> { [ parenright, 0 ] };
751 key <AE11> { [ minus, underscore, 0x01002014 ] };
752 key <AE12> { [ less, greater ] };
753
754 key <AD01> { [ 0x010010d0, 0x010010fa ] };
755 key <AD02> { [ 0x010010d6, Z ] };
756 key <AD03> { [ 0x010010d4, E, 0x010010f1 ] };
757 key <AD04> { [ 0x010010e0, 0x010000ae ] };
758 key <AD05> { [ 0x010010e2, T ] };
759 key <AD06> { [ 0x010010e7, 0x010010f8 ] };
760 key <AD07> { [ 0x010010e3, U ] };
761 key <AD08> { [ 0x010010d8, 0x010010f2 ] };
762 key <AD09> { [ 0x010010dd, O ] };
763 key <AD10> { [ 0x010010de, P ] };
764 key <AD11> { [ 0x010010d7, T ] };
765 key <AD12> { [ 0x010010eb, Z ] };
766
767 key <AC01> { [ 0x010010e5, Q ] };
768 key <AC02> { [ 0x010010e1, S ] };
769 key <AC03> { [ 0x010010d3, D ] };
770 key <AC04> { [ 0x010010e4, 0x010010f6 ] };
771 key <AC05> { [ 0x010010d2, 0x010010f9 ] };
772 key <AC06> { [ 0x010010f0, 0x010010f5 ] };
773 key <AC07> { [ 0x010010ef, 0x010010f7 ] };
774 key <AC08> { [ 0x010010d9, K ] };
775 key <AC09> { [ 0x010010da, L ] };
776 key <AC10> { [ 0x010010db, M ] };
777 key <AC11> { [ 0x010010df, J ] };
778 key <BKSL> { [ 0x010010e9, 0x010000a9 ] };
779
780 key <LSGT> { [ guillemotleft,guillemotright ] };
781 key <AB01> { [ 0x010010ec, W ] };
782 key <AB02> { [ 0x010010ee, 0x010010f4 ] };
783 key <AB03> { [ 0x010010ea, 0x010000a9 ] };
784 key <AB04> { [ 0x010010d5, 0x010010f3 ] };
785 key <AB05> { [ 0x010010d1, B ] };
786 key <AB06> { [ 0x010010dc, 0x010010fc ] };
787 key <AB07> { [ comma, 0x01002014 ] };
788 key <AB08> { [ 0x010010e8, S ] };
789 key <AB09> { [ 0x010010e6, noSymbol ] };
790 key <AB10> { [ 0x010010ed, noSymbol ] };
791
792 };
793
794