3 // based on a keyboard map from an 'xkb/symbols/fr' file
5 // $XFree86: xc/programs/xkbcomp/symbols/fr,v 1.2 2002/11/22 04:03:28 dawes Exp $
7 partial default alphanumeric_keys
12 name[Group1]="France";
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 ] };
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 ] };
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 ] };
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 ] };
45 include "level3(ralt_switch)"
48 partial alphanumeric_keys
49 xkb_symbols "Sundeadkeys" {
51 // Modifies the basic French layout to use the Sun dead keys
55 key <AD11> { [SunFA_Circum, SunFA_Diaeresis ] };
56 key <AB07> { [comma, question, SunFA_Acute, dead_doubleacute ] };
59 partial alphanumeric_keys
60 xkb_symbols "sundeadkeys" {
61 include "fr(Sundeadkeys)"
63 name[Group1]="France - Sun dead keys";
66 partial alphanumeric_keys
67 xkb_symbols "nodeadkeys" {
69 // Modifies the basic French layout to eliminate all dead keys
73 name[Group1]="France - Eliminate dead keys";
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 ] };
85 // Unicode French derivative
86 // Loose refactoring of the historic Linux French keyboard layout
88 // Copyright © 2006 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
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>
95 // ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
96 // │ ³ ¸ │ 1 ̨ │ 2 É │ 3 ˘ │ 4 — │ 5 – │ 6 ‑ │ 7 È │ 8 ™ │ 9 Ç │ 0 À │ ° ≠ │ + ± ┃ ⌫ Retour┃
97 // │ ² ¹ │ & ˇ │ é ~ │ " # │ ' { │ ( [ │ - | │ è ` │ _ \ │ ç ^ │ à @ │ ) ] │ = } ┃ arrière┃
98 // ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
99 // ┃ ┃ A Æ │ Z  │ E ¢ │ R Ê │ T Þ │ Y Ÿ │ U Û │ I Î │ O Œ │ P Ô │ ¨ ˚ │ £ Ø ┃Entrée ┃
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 insécable ⍽ ┃ ┃ ┃ ┃
109 // ┃Ctrl ┃Meta ┃Alt ┃ ␣ Espace ␣ ┃AltGr ⇮┃Menu ┃Ctrl ┃
110 // ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
111 partial alphanumeric_keys
115 include "level3(ralt_switch)"
116 include "keypad(oss)"
118 name[Group1]="France - Alternative";
121 key <TLDE> { [ twosuperior, threesuperior, onesuperior, dead_cedilla ] }; // ² ³ ¹ ¸
122 key <AE01> { [ ampersand, 1, dead_caron, dead_ogonek ] }; // & 1 ˇ ̨
123 key <AE02> { [ eacute, 2, asciitilde, Eacute ] }; // é 2 ~ É
124 key <AE03> { [ quotedbl, 3, numbersign, dead_breve ] }; // " 3 # ˘
125 key <AE04> { [ apostrophe, 4, braceleft, 0x1002014 ] }; // ' 4 { — (tiret cadratin)
126 key <AE05> { [ parenleft, 5, bracketleft, 0x1002013 ] }; // ( 5 [ – (tiret demi-cadratin)
127 key <AE06> { [ minus, 6, bar, 0x1002011 ] }; // - 6 | ‑ (tiret insécable)
128 key <AE07> { [ egrave, 7, grave, Egrave ] }; // è 7 ` È
129 key <AE08> { [ underscore, 8, backslash, trademark ] }; // _ 8 \ ™
130 key <AE09> { [ ccedilla, 9, asciicircum, Ccedilla ] }; // ç 9 ^ Ç
131 key <AE10> { [ agrave, 0, at, Agrave ] }; // à 0 @ À
132 key <AE11> { [ parenright, degree, bracketright, notequal ] }; // ) ° ] ≠
133 key <AE12> { [ equal, plus, braceright, plusminus ] }; // = + } ±
136 key <AD01> { [ a, A, ae, AE ] }; // a A æ Æ
137 key <AD02> { [ z, Z, acircumflex, Acircumflex ] }; // z Z â Â
138 key <AD03> { [ e, E, EuroSign, cent ] }; // e E € ¢
139 key <AD04> { [ r, R, ecircumflex, Ecircumflex ] }; // r R ê Ê
140 key <AD05> { [ t, T, thorn, THORN ] }; // t T þ Þ
141 key <AD06> { [ y, Y, ydiaeresis, Ydiaeresis ] }; // y Y ÿ Ÿ
142 key <AD07> { [ u, U, ucircumflex, Ucircumflex ] }; // u U û Û
143 key <AD08> { [ i, I, icircumflex, Icircumflex ] }; // i I î Î
144 key <AD09> { [ o, O, oe, OE ] }; // o O œ Œ
145 key <AD10> { [ p, P, ocircumflex, Ocircumflex ] }; // p P ô Ô
146 key <AD11> { [ dead_circumflex, dead_diaeresis, dead_tilde, dead_abovering ] }; // ^ ̈ ̃ ˚
147 key <AD12> { [ dollar, sterling, oslash, Ooblique ] }; // $ £ ø Ø
150 key <AC01> { [ q, Q, adiaeresis, Adiaeresis ] }; // q Q ä Ä
151 key <AC02> { [ s, S, ssharp, doublelowquotemark ] }; // s S ß „
152 key <AC03> { [ d, D, ediaeresis, Ediaeresis ] }; // d D ë Ë
153 key <AC04> { [ f, F, leftsinglequotemark, singlelowquotemark ] }; // f F ‘ ‚
154 key <AC05> { [ g, G, rightsinglequotemark, yen ] }; // g G ’ ¥
155 key <AC06> { [ h, H, eth, ETH ] }; // h H ð Ð
156 key <AC07> { [ j, J, udiaeresis, Udiaeresis ] }; // j J ü Ü
157 key <AC08> { [ k, K, idiaeresis, Idiaeresis ] }; // k K ï Ï
158 key <AC09> { [ l, L, 0x1000140, 0x100013F ] }; // l L ŀ Ŀ
159 key <AC10> { [ m, M, odiaeresis, Odiaeresis ] }; // m M ö Ö
160 key <AC11> { [ ugrave, percent, dead_acute, Ugrave ] }; // ù % ' Ù
161 key <BKSL> { [ asterisk, mu, dead_grave, dead_macron ] }; // * µ ` ̄
164 key <LSGT> { [ less, greater, lessthanequal, greaterthanequal ] }; // < > ≤ ≥
165 key <AB01> { [ w, W, guillemotleft, leftdoublequotemark ] }; // w W « “
166 key <AB02> { [ x, X, guillemotright, rightdoublequotemark ] }; // x X » ”
167 key <AB03> { [ c, C, copyright, registered ] }; // c C © ®
168 key <AB04> { [ v, V, 0x100202F, leftarrow ] }; // v V ⍽ ← (espace fine insécable)
169 key <AB05> { [ b, B, downarrow, uparrow ] }; // b B ↓ ↑
170 key <AB06> { [ n, N, notsign, rightarrow ] }; // n N ¬ →
171 key <AB07> { [ comma, question, questiondown, 0x1002026 ] }; // , ? ¿ …
172 key <AB08> { [ semicolon, period, multiply, 0x10022C5 ] }; // ; . × ⋅
173 key <AB09> { [ colon, slash, division, 0x1002215 ] }; // : / ÷ ∕
174 key <AB10> { [ exclam, section, exclamdown, 0x1002212 ] }; // ! § ¡ −
176 // Make nobreakspace harder to hit
177 key <SPCE> { [ space, space, space, nobreakspace ] }; // ␣ ␣ ␣ ⍽ (espace insécable)
180 partial alphanumeric_keys
181 xkb_symbols "oss_latin9" {
183 // Restricts the fr(oss) layout to latin9 symbols
186 include "keypad(oss_latin9)"
188 name[Group1]="France - Alternative, latin-9 only";
191 key <AE01> { [ ampersand, 1, dead_caron, dead_cedilla ] }; // & 1 ˇ ¸
192 key <AE03> { [ quotedbl, 3, numbersign, dead_tilde ] }; // " 3 # ~
193 key <AE04> { [ apostrophe, 4, braceleft, underscore ] }; // ' 4 { _
194 key <AE05> { [ parenleft, 5, bracketleft, minus ] }; // ( 5 [ -
195 key <AE06> { [ minus, 6, bar, minus ] }; // - 6 | -
196 key <AE08> { [ underscore, 8, backslash, backslash ] }; // _ 8 \ \
197 key <AE11> { [ parenright, degree, bracketright, equal ] }; // ) ° ] =
200 key <AC02> { [ s, S, ssharp, guillemotleft ] }; // s S ß «
201 key <AC04> { [ f, F, apostrophe, apostrophe ] }; // f F ' '
202 key <AC05> { [ g, G, apostrophe, yen ] }; // g G ' ¥
203 key <AC09> { [ l, L, periodcentered, periodcentered ] }; // l L · ·
204 key <BKSL> { [ asterisk, mu, dead_grave, dead_circumflex ] }; // * µ ` ^
207 key <LSGT> { [ less, greater, less, greater ] }; // < > < >
208 key <AB01> { [ w, W, guillemotleft, guillemotleft ] }; // w W « «
209 key <AB02> { [ x, X, guillemotright, guillemotright ] }; // x X » »
210 key <AB04> { [ v, V, nobreakspace, less ] }; // v V ⍽ < (espace insécable)
211 key <AB05> { [ b, B, minus, asciicircum ] }; // b B - ^
212 key <AB06> { [ n, N, notsign, greater ] }; // n N ¬ >
213 key <AB07> { [ comma, question, questiondown, period ] }; // , ? ¿ .
214 key <AB08> { [ semicolon, period, multiply, periodcentered ] }; // ; . × ·
215 key <AB09> { [ colon, slash, division, slash ] }; // : / ÷ /
216 key <AB10> { [ exclam, section, exclamdown, minus ] }; // ! § ¡ -
219 partial alphanumeric_keys
220 xkb_symbols "oss_Sundeadkeys" {
222 // Modifies the basic fr(oss) layout to use the Sun dead keys
227 key <TLDE> { [ twosuperior, threesuperior, onesuperior, SunFA_Cedilla ] }; // ¹ ² ³ ¸
230 key <AD11> { [ SunFA_Circum, SunFA_Diaeresis, SunFA_Tilde, dead_abovering ] }; // ^ ̈ ̃ ˚
233 key <AC11> { [ ugrave, percent, SunFA_Acute, Ugrave ] }; // ù % ' Ù
234 key <BKSL> { [ asterisk, mu, SunFA_Grave, dead_macron ] }; // * µ ` ̄
237 partial alphanumeric_keys
238 xkb_symbols "oss_sundeadkeys" {
240 include "fr(oss_Sundeadkeys)"
242 name[Group1]="France - Alternative, Sun dead keys";
245 partial alphanumeric_keys
246 xkb_symbols "oss_nodeadkeys" {
248 // Modifies the basic fr(oss) layout to eliminate all dead keys
252 name[Group1]="France - Alternative, eliminate dead keys";
254 key <TLDE> { [ twosuperior, threesuperior, onesuperior, cedilla ] }; // ² ³ ¹ ¸
255 key <AE01> { [ ampersand, 1, caron, ogonek ] }; // & 1 ˇ ̨
256 key <AE03> { [ quotedbl, 3, numbersign, breve ] }; // " 3 # ˘
259 key <AD11> { [ dead_circumflex, dead_diaeresis, asciitilde, Aring ] }; // ^ ̈ ̃ Å
260 key <AC11> { [ ugrave, percent, acute, Ugrave ] }; // ù % ' Ù
261 key <BKSL> { [ asterisk, mu, grave, macron ] }; // * µ ` ̄
265 // Historic Linux French keyboard layout (fr-latin9)
266 // Copyright (c) 199x, 2002 Rene Cougnenc (original work)
267 // Guylhem Aznar <clavier @ externe.net> (maintainer)
268 // Nicolas Mailhot <Nicolas.Mailhot @ laposte.net>
269 // (XFree86 submission)
271 // $XFree86: xc/programs/xkbcomp/symbols/fr-latin9,v 1.1 2002/12/20 02:07:11 dawes Exp $
273 // This layout has long been distributed and refined outside official channels.
274 // To this day it remains more feature-rich and popular than the 'fr' layout.
276 // This file is derived from an original version by Guylhem Aznar. The
277 // original version is always available from:
278 // http://en.tldp.org/HOWTO/Francophones-HOWTO.html
279 // and is distributed under a GPL license.
281 // The author has given permission for this derived version to be distributed
282 // under the standard XFree86 license. He would like all changes to this
283 // version be send to him at <clavier @ externe.net> so he can sync the
284 // identically named linux console map (kbd, linux-console) and this
285 // fileout-of-tree GPL version.
287 // Now follows the keyboard design description in French.
288 // (If you can't read it you probably have no business changing this file anyway:)
290 // Les accents circonflexes des principales voyelles sont obtenus avec
291 // la touche Alt_Gr, les trémas sont obtenus par Alt_Gr + Shift.
293 // ____ _________ _____________ _______
294 // | S A| S = Shift, A = AltGr + Shift | Imprime | Arrêt défil | Pause |
295 // | s a| s = normal, a = AltGr | Exec | | Halte |
296 // ¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯
297 // ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ _______
298 // | œ "| 1 ·| 2 É| 3 ,| 4 '| 5 "| 6 || 7 È| 8 ¯| 9 Ç| 0 À| ° ÿ| + °| <-- |
299 // | Œ "| & '| é ~| " #| ' {| ( [| - || è `| _ \| ç ^| à @| ) ]| = }| |
300 // ========================================================================
301 // | |<- | A ä| Z Å| E ¢| R Ç| T Þ| Y Ý| U ü| I ï| O ö| P '| " `| $ ë| , |
302 // | ->| | a â| z å| e €| r ç| t þ| y ý| u û| i î| o ô| p ¶| ^ ~| £ ê| <-' |
303 // ===================================================================¬ |
304 // | | Q Ä| S Ø| D Ë| F ª| G Æ| H Ð| J Ü| K Ï| L Ö| M º| % Ù| µ ¥| |
305 // | MAJ | q Â| s ø| d Ê| f ±| g æ| h ð| j Û| k Î| l Ô| m ¹| ù ²| * ³| |
306 // ========================================================================
307 // | ^ | > | W | X | C | V | B | N | ? | . | / | § | ^ |
308 // | | | < || w «| x »| c ©| v ®| b ß| n ¬| , ¿| ; ×| : ÷| ! ¡| | |
309 // ========================================================================
311 // | Ctrl | Super| Alt | Space Nobreakspace | AltGr | Super|Menu | Ctrl |
312 // ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯ ¯¯¯¯¯¯
315 // Si les touches mortes fonctionnent, utiliser les accents dits
316 // « morts », i.e. fonctionnant comme l'accent circonflexe & le
317 // tréma des machines à écrire ; sont disponibles :
319 // (^) : accent circonflexe,
320 // Shift+(^) : tréma,
321 // Shift+AltGr (^) : tilde,
322 // AltGr (1) : accent aigu,
323 // AltGr (7) : accent grave
325 // Pour s'en servir, procéder comme avec l'accent circonflexe & le tréma
326 // sur les vielles machines à écrire :
328 // AltGr (1) puis e : é
329 // Shift+AltGr (1) puis e : É ...
330 partial alphanumeric_keys
332 xkb_symbols "latin9" {
336 name[Group1]="France - (Legacy) Alternative";
338 key <TLDE> { [ oe, OE, leftdoublequotemark, rightdoublequotemark ] };
339 key <AE01> { [ ampersand, 1, dead_acute, periodcentered ] };
340 key <AE02> { [ eacute, 2, asciitilde, Eacute ] };
341 key <AE03> { [ quotedbl, 3, numbersign, cedilla ] };
342 key <AE04> { [ apostrophe, 4, braceleft, acute ] };
343 key <AE05> { [ parenleft, 5, bracketleft, diaeresis ] };
344 key <AE06> { [ minus, 6, bar, brokenbar ] };
345 key <AE07> { [ egrave, 7, dead_grave, Egrave ] };
346 key <AE08> { [ underscore, 8, backslash, macron ] };
347 key <AE09> { [ ccedilla, 9, asciicircum, Ccedilla ] };
348 key <AE10> { [ agrave, 0, at, Agrave ] };
349 key <AE11> { [ parenright, degree, bracketright, ydiaeresis ] };
350 key <AE12> { [ equal, plus, braceright, dead_abovering ] };
352 key <AD01> { [ a, A, acircumflex, adiaeresis ] };
353 key <AD02> { [ z, Z, aring, Aring ] };
354 key <AD03> { [ e, E, EuroSign, cent ] };
355 key <AD04> { [ r, R, ccedilla, Ccedilla ] };
356 key <AD05> { [ t, T, thorn, THORN ] };
357 key <AD06> { [ y, Y, yacute, Yacute ] };
358 key <AD07> { [ u, U, ucircumflex, udiaeresis ] };
359 key <AD08> { [ i, I, icircumflex, idiaeresis ] };
360 key <AD09> { [ o, O, ocircumflex, odiaeresis ] };
361 key <AD10> { [ p, P, paragraph, quoteleft ] };
362 key <AD11> { [ dead_circumflex, dead_diaeresis, dead_tilde, quoteright ] };
363 key <AD12> { [ dollar, sterling, ecircumflex, ediaeresis ] };
365 key <AC01> { [ q, Q, Acircumflex, Adiaeresis ] };
366 key <AC02> { [ s, S, oslash, Ooblique ] };
367 key <AC03> { [ d, D, Ecircumflex, Ediaeresis ] };
368 key <AC04> { [ f, F, plusminus, ordfeminine ] };
369 key <AC05> { [ g, G, ae, AE ] };
370 key <AC06> { [ h, H, eth, ETH ] };
371 key <AC07> { [ j, J, Ucircumflex, Udiaeresis ] };
372 key <AC08> { [ k, K, Icircumflex, Idiaeresis ] };
373 key <AC09> { [ l, L, Ocircumflex, Odiaeresis ] };
374 key <AC10> { [ m, M, onesuperior, masculine ] };
375 key <AC11> { [ ugrave, percent, twosuperior, Ugrave ] };
376 key <BKSL> { [ asterisk, mu, threesuperior, yen ] };
378 key <LSGT> { [ less, greater, bar ] };
379 key <AB01> { [ w, W, guillemotleft ] };
380 key <AB02> { [ x, X, guillemotright ] };
381 key <AB03> { [ c, C, copyright ] };
382 key <AB04> { [ v, V, registered ] };
383 key <AB05> { [ b, B, ssharp ] };
384 key <AB06> { [ n, N, notsign ] };
385 key <AB07> { [ comma, question, questiondown ] };
386 key <AB08> { [ semicolon, period, multiply ] };
387 key <AB09> { [ colon, slash, division ] };
388 key <AB10> { [ exclam, section, exclamdown ] };
390 key <SPCE> { [ space, space, nobreakspace ] };
392 // French uses a comma as decimal separator, but keyboards are labeled with a period
393 // Will take effect when KP_Decimal is mapped to the locale decimal separator
394 key <KPDL> { [ KP_Delete, period, KP_Delete, KP_Decimal ] };
396 include "level3(ralt_switch)"
399 partial alphanumeric_keys
400 xkb_symbols "latin9_Sundeadkeys" {
402 // Modifies the basic fr-latin9 layout to use the Sun dead keys
406 key <AE01> { [ ampersand, 1, SunFA_Acute, periodcentered ] };
407 key <AE07> { [ egrave, 7, SunFA_Grave, Egrave ] };
408 key <AD11> { [ SunFA_Circum, SunFA_Diaeresis, SunFA_Tilde, quoteright ] };
412 partial alphanumeric_keys
413 xkb_symbols "latin9_sundeadkeys" {
415 include "fr(latin9_Sundeadkeys)"
417 name[Group1]="France - (Legacy) Alternative, Sun dead keys";
420 partial alphanumeric_keys
421 xkb_symbols "latin9_nodeadkeys" {
423 // Modifies the basic fr-latin9 layout to eliminate all dead keys
427 name[Group1]="France - (Legacy) Alternative, eliminate dead keys";
429 key <AE01> { [ ampersand, 1, apostrophe, periodcentered ] };
430 key <AE07> { [ egrave, 7, grave, Egrave ] };
431 key <AE12> { [ equal, plus, braceright ] };
432 key <AD11> { [ asciicircum, diaeresis, asciitilde, quoteright ] };
435 // Bépo : Improved ergonomic french keymap using Dvorak method.
436 // Built by community on 'Dvorak Fr' mailing list :
437 // dvorak-fr@gpl.insa-lyon.fr and on its wiki : http://gpl.insa-lyon.fr/Dvorak-Fr/ .
438 // XOrg integration in 2006 by Frédéric Boiteux <fboiteux @ free.fr>
440 // Bépo layout (6.2.1.1 version) for a pc105 keyboard (french) :
442 // │ S A│ S = Shift, A = AltGr + Shift
443 // │ s a│ s = normal, a = AltGr
446 // ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
447 // │ $ │ 1 ¹ │ 2 ² │ 3 ³ │ 4 ° │ 5 ˚ │ 6 │ 7 │ 8 │ 9 │ 0 │ ^ │ µ ┃ ⌫ Retour┃
448 // │ @ # │ _ { │ " } │ « < │ » > │ ( [ │ ) ] │ + ± │ - ¬ │ * × │ / ÷ │ = ¯ │ % ┃ arrière┃
449 // ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
450 // ┃ ┃ B │ É ˊ │ P ¶ │ O Œ │ È ` │ Ç │ V │ D Ð │ L │ F │ J │ Z ┃Entrée ┃
451 // ┃Tab ↹ ┃ b | │ é & │ p § │ o œ │ è ` │ ç │ v │ d ð │ l £ │ f ª │ j │ z ┃ ⏎ ┃
452 // ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃
453 // ┃ ┃ A Æ │ U Ù │ I ˇ │ E │ ? │ C ¢ │ T Þ │ S │ N │ R │ M │ ! ┃ ┃
454 // ┃Maj ⇬ ┃ a æ │ u ù │ i ̈ │ e € │ , ¿ │ c © │ t þ │ s ß │ n │ r ® │ m º │ ˆ ¡ ┃ ┃
455 // ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫
456 // ┃ ┃ ù │ À ˜ │ H │ Y │ : · │ K │ ; │ Q │ G │ X │ W ┃ ┃
457 // ┃Shift ⇧┃ ê / │ à ~ │ h ! │ y ¥ │ . \ │ k │ ' │ q │ g │ x │ w ┃Shift ⇧ ┃
458 // ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛
459 // ┃ ┃ ┃ ┃ ⍽ Espace insécable ␣ ┃ ┃ ┃ ┃
460 // ┃Ctrl ┃Meta ┃Alt ┃ ␣ Espace ␣ ┃AltGr ⇮┃Menu ┃Ctrl ┃
461 // ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
462 partial alphanumeric_keys
465 include "keypad(oss)"
467 name[Group1]= "France - Bepo, ergonomic, Dvorak way";
470 key <TLDE> { [ at, dollar, numbersign ] }; // @ $ #
471 key <AE01> { [ underscore, 1, braceleft, onesuperior ] }; // _ 1 { ¹
472 key <AE02> { [ quotedbl, 2, braceright, twosuperior ] }; // " 2 } ²
473 key <AE03> { [ guillemotleft, 3, less, threesuperior ] }; // « 3 < ³
474 key <AE04> { [ guillemotright, 4, greater, degree ] }; // » 4 > °
475 key <AE05> { [ parenleft, 5, bracketleft, dead_abovering ] }; // ( 5 [ ˚
476 key <AE06> { [ parenright, 6, bracketright ] }; // ) 6 ]
477 key <AE07> { [ plus, 7, plusminus ] }; // + 7 ±
478 key <AE08> { [ minus, 8, notsign ] }; // - 8 ¬
479 key <AE09> { [ asterisk, 9, multiply ] }; // * 9 ×
480 key <AE10> { [ slash, 0, division ] }; // / 0 ÷
481 key <AE11> { [ equal, asciicircum, macron ] }; // = ^ ¯
482 key <AE12> { [ percent, mu ] }; // % µ
485 key <AD01> { [ b, B, bar ] }; // b B |
486 key <AD02> { [ eacute, Eacute, ampersand, dead_acute ] }; // é É & ˊ
487 key <AD03> { [ p, P, section, paragraph ] }; // p P § ¶
488 key <AD04> { [ o, O, oe, OE ] }; // o O œ Œ
489 key <AD05> { [ egrave, Egrave, grave, dead_grave ] }; // è È ` `
490 key <AD06> { [ ccedilla, Ccedilla ] }; // ç Ç
491 key <AD07> { [ v, V ] }; // v V
492 key <AD08> { [ d, D, eth, ETH ] }; // d D ð Ð
493 key <AD09> { [ l, L, sterling ] }; // l L £
494 key <AD10> { [ f, F, ordfeminine ] }; // f F ª
495 key <AD11> { [ j, J ] }; // j J
496 key <AD12> { [ z, Z ] }; // z Z
499 key <AC01> { [ a, A, ae, AE ] }; // a A æ Æ
500 key <AC02> { [ u, U, ugrave, Ugrave ] }; // u U ù Ù
501 key <AC03> { [ i, I, dead_diaeresis, dead_caron ] }; // i I ̈ ˇ
502 key <AC04> { [ e, E, EuroSign ] }; // e E €
503 key <AC05> { [ comma, question, questiondown ] }; // , ? ¿
504 key <AC06> { [ c, C, copyright, cent ] }; // c C © ¢
505 key <AC07> { [ t, T, thorn, Thorn ] }; // t T þ Þ
506 key <AC08> { [ s, S, ssharp ] }; // s S ß
507 key <AC09> { [ n, N ] }; // n N
508 key <AC10> { [ r, R, registered ] }; // r R ®
509 key <AC11> { [ m, M, masculine ] }; // m M º
510 key <BKSL> { [ dead_circumflex, exclam, exclamdown ] }; // ^ ! ¡
513 key <LSGT> { [ ecircumflex, ugrave, slash ] }; // ê ù /
514 key <AB01> { [ agrave, Agrave, asciitilde, dead_tilde ] }; // à À ~ ~
515 key <AB02> { [ h, H, exclam ] }; // h H !
516 key <AB03> { [ y, Y, yen ] }; // y Y ¥
517 key <AB04> { [ period, colon, backslash, periodcentered ] }; // . : \ ·
518 key <AB05> { [ k, K ] }; // k K
519 key <AB06> { [ apostrophe, semicolon ] }; // ' ;
520 key <AB07> { [ q, Q, oslash, Ooblique ] }; // q Q ø Ø
521 key <AB08> { [ g, G ] }; // g G
522 key <AB09> { [ x, X ] }; // x X
523 key <AB10> { [ w, W ] }; // w W
525 key <SPCE> { [ space, nobreakspace, space, space ] }; // ␣ ⍽ (espace insécable) ␣ ␣
527 include "level3(ralt_switch)"
530 partial alphanumeric_keys
531 xkb_symbols "bepo_latin9" {
533 // Restricts the fr(bepo) layout to latin9 symbols
535 include "keypad(oss_latin9)"
538 name[Group1]="France - Bepo, ergonomic, Dvorak way, latin-9 only";
540 // at now, no difference (oss keypad excepted), but will change !
544 // Keymap Dvorak pour le Français
545 // par Josselin Mouette <josselin.mouette@ens-lyon.org>.
547 partial alphanumeric_keys
548 xkb_symbols "dvorak" {
550 name[Group1]= "France - (Legacy) Dvorak";
552 key <TLDE> { [ oe, OE, ae, AE ] };
554 key <AE01> { [ slash, 1, ampersand, onesuperior ] };
555 key <AE02> { [ plus, 2, asciitilde, twosuperior ] };
556 key <AE03> { [ minus, 3, numbersign, threesuperior ] };
557 key <AE04> { [ asterisk, 4, less, guillemotleft ] };
558 key <AE05> { [ equal, 5, greater, guillemotright ] };
559 key <AE06> { [ backslash, 6, at, notsign ] };
560 key <AE07> { [ parenleft, 7, dead_circumflex, multiply ] };
561 key <AE08> { [ grave, 8, dead_grave, division ] };
562 key <AE09> { [ parenright, 9, asciicircum, plusminus ] };
563 key <AE10> { [ quotedbl, 0, dead_diaeresis, dead_diaeresis ] };
564 key <AE11> { [bracketleft, braceleft, bar, degree ] };
565 key <AE12> { [bracketright, braceright, percent, percent ] };
567 key <AD01> { [ colon, question, question, questiondown ] };
568 key <AD02> { [ agrave, Agrave, aring, Aring ] };
569 key <AD03> { [ eacute, Eacute, EuroSign, cent ] };
570 key <AD04> { [ g, G, oslash, Ooblique ] };
571 key <AD05> { [ period, exclam, periodcentered, exclamdown ] };
572 key <AD06> { [ h, H, eth, ETH ] };
573 key <AD07> { [ v, V ] };
574 key <AD08> { [ c, C, copyright, registered ] };
575 key <AD09> { [ m, M, mu, mu ] };
576 key <AD10> { [ k, K, dollar, dollar ] };
577 key <AD11> { [ egrave, Egrave, sterling, sterling ] };
578 key <AD12> { [ z, Z, yen, yen ] };
580 key <AC01> { [ o, O, ocircumflex, Ocircumflex ] };
581 key <AC02> { [ a, A, acircumflex, Acircumflex ] };
582 key <AC03> { [ u, U, ucircumflex, Ucircumflex ] };
583 key <AC04> { [ e, E, ecircumflex, Ecircumflex ] };
584 key <AC05> { [ b, B, ssharp, ssharp ] };
585 key <AC06> { [ f, F ] };
586 key <AC07> { [ s, S ] };
587 key <AC08> { [ t, T, thorn, THORN ] };
588 key <AC09> { [ n, N, ntilde, Ntilde ] };
589 key <AC10> { [ d, D, section, section ] };
590 key <AC11> { [ w, W, paragraph, paragraph ] };
591 key <BKSL> { [ ugrave, Ugrave, masculine, ordfeminine ] };
593 key <AB01> { [ apostrophe, underscore, dead_acute, macron ] };
594 key <AB02> { [ q, Q, guillemotleft, guillemotleft ] };
595 key <AB03> { [ comma, semicolon, guillemotright, guillemotright ] };
596 key <AB04> { [ i, I, icircumflex, Icircumflex ] };
597 key <AB05> { [ y, Y, ydiaeresis, Ydiaeresis ] };
598 key <AB06> { [ x, X, ediaeresis, Ediaeresis ] };
599 key <AB07> { [ r, R, udiaeresis, Udiaeresis ] };
600 key <AB08> { [ l, L, adiaeresis, Adiaeresis ] };
601 key <AB09> { [ p, P, odiaeresis, Odiaeresis ] };
602 key <AB10> { [ j, J, idiaeresis, Idiaeresis ] };
604 key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
605 key <LSGT> { [ ccedilla, Ccedilla ] };
607 include "level3(ralt_switch)"
610 // Marc.Shapiro@inria.fr 19-sep-1998
611 // modifications : Etienne Herlent <eherlent@linux-france.org> june 2000
612 // adapted to the new input layer :
613 // Martin Costabel <costabel@wanadoo.fr> 3-jan-2001
614 // adapted for Latin9 alphabet (ISO-8859-15):
615 // Etienne Herlent <eherlent@linux-france.org> march 2005
617 // This map is an almost-complete mapping of the standard French
618 // MacIntosh keyboard under Xwindows. I tried to remain as faithful
619 // as possible to the Mac meaning of each key. I did this entirely by
620 // hand and by intuition, relying on the Clavier (Keyboard?) Desktop
621 // Accessory for the Mac meaning of keys, and on reading keysymdef.h
622 // to intuit the corresponding X names. Lacking proper documentation,
623 // I may have made some mistakes.
625 // Entries marked CHECK are particularly uncertain
627 // Entries marked MISSING mark Mac characters for which I was unable
628 // to find a corresponding keysym. (Some for sure don't: e.g. the
629 // Apple mark and the oe/OE character; others I may have simply not
632 // Copied from macintosh_vndr/fr
633 partial alphanumeric_keys
636 name[Group1]= "France - Macintosh";
638 // Alphanumeric section
639 key <TLDE> { [ at, numbersign, periodcentered, Ydiaeresis ] }; // MISSING: Ydiaeresis; eherlent : ok in Latin9
640 key <AE01> { [ ampersand, 1, VoidSymbol, dead_acute ] }; // MISSING: Apple
641 key <AE02> { [ eacute, 2, ediaeresis, Eacute ] };
642 key <AE03> { [ quotedbl, 3, VoidSymbol, VoidSymbol ] }; // CHECK all quotemarks
643 key <AE04> { [ apostrophe, 4, VoidSymbol, VoidSymbol ] };
644 key <AE05> { [ parenleft, 5, braceleft, bracketleft ] };
646 key <AE06> { [ section, 6, paragraph, aring ] };
647 key <AE07> { [ egrave, 7, guillemotleft, guillemotright ] };
648 key <AE08> { [ exclam, 8, exclamdown, Ucircumflex ] };
649 key <AE09> { [ ccedilla, 9, Ccedilla, Aacute ] };
650 key <AE10> { [ agrave, 0, oslash, VoidSymbol ] }; // MISSING: Oslash
651 key <AE11> { [ parenright, degree, braceright, bracketright ] };
652 key <AE12> { [ minus, underscore, emdash, endash ] }; // CHECK dashes
654 key <AD01> { [ a, A, ae, AE ] };
655 key <AD02> { [ z, Z, Acircumflex, Aring ] };
656 key <AD03> { [ e, E, ecircumflex, Ecircumflex ] };
657 key <AD04> { [ r, R, registered, currency ] };
658 key <AD05> { [ t, T, VoidSymbol, VoidSymbol ] };
659 key <AD06> { [ y, Y, Uacute, Ydiaeresis ] }; // MISSING: Ydiaeresis; eherlent : ok in Latin9
660 key <AD07> { [ u, U, VoidSymbol, ordfeminine ] }; // MISSING: ordmasculine?
661 key <AD08> { [ i, I, icircumflex, idiaeresis ] };
662 key <AD09> { [ o, O, oe, OE ] }; // MISSING: oe, OE lacking in Latin1; eherlent ok in Latin9
663 key <AD10> { [ p, P, VoidSymbol, VoidSymbol ] };
664 key <AD11> { [dead_circumflex,dead_diaeresis, ocircumflex, Ocircumflex ] };
665 key <AD12> { [ dollar, asterisk, EuroSign, yen ] }; // eherlent : EuroSign in Latin9
667 key <AC01> { [ q, Q, acircumflex, Agrave ] };
668 key <AC02> { [ s, S, Ograve, VoidSymbol ] };
669 key <AC03> { [ d, D, VoidSymbol, VoidSymbol ] };
670 key <AC04> { [ f, F, VoidSymbol, periodcentered ] }; // MISSING: oblong script f??
671 key <AC05> { [ g, G, VoidSymbol, VoidSymbol ] }; // MISSING: kerned fi, fl
672 key <AC06> { [ h, H, Igrave, Icircumflex ] };
673 key <AC07> { [ j, J, Idiaeresis, Iacute ] };
674 key <AC08> { [ k, K, Egrave, Ediaeresis ] };
675 key <AC09> { [ l, L, notsign, bar ] };
676 key <AC10> { [ m, M, mu, Oacute ] };
677 key <AC11> { [ ugrave,percent, Ugrave, ucircumflex ] }; // MISSING: per-mille
678 key <BKSL> { [ dead_grave, sterling, at, numbersign ] };
680 key <LSGT> { [ less, greater, VoidSymbol, VoidSymbol ] };
681 key <AB01> { [ w, W, VoidSymbol, VoidSymbol ] }; // MISSING: half-guillemot (single angle bracket)
682 key <AB02> { [ x, X, VoidSymbol, VoidSymbol ] }; // CHECK similarequal; MISSING: extra-slanted slash
683 key <AB03> { [ c, C, copyright, cent ] };
684 key <AB04> { [ v, V, diamond, leftradical ] }; // CHECK diamond, leftradical
685 key <AB05> { [ b, B, ssharp, VoidSymbol ] }; // CHECK: Greek_beta or ssharp?; MISSING: oblong script s
686 key <AB06> { [ n, N, dead_tilde, asciitilde ] };
687 key <AB07> { [ comma, question, VoidSymbol, questiondown ] };
688 key <AB08> { [ semicolon, period, VoidSymbol, periodcentered ] };
689 key <AB09> { [ colon, slash, division, backslash ] };
690 key <AB10> { [ equal, plus, VoidSymbol, plusminus ] };
692 key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
693 // End alphanumeric section
695 key <KPDL> { [ comma,KP_Decimal ] };
697 include "level3(ralt_switch)"