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]="French";
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)"
65 partial alphanumeric_keys
66 xkb_symbols "nodeadkeys" {
68 // Modifies the basic French layout to eliminate all dead keys
72 key <AE12> { [ equal, plus, braceright, ogonek ] };
73 key <AD11> { [asciicircum, diaeresis ] };
74 key <AD12> { [ dollar, sterling, currency, macron ] };
75 key <AC11> { [ ugrave, percent, asciicircum, caron ] };
76 key <BKSL> { [ asterisk, mu, grave, breve ] };
77 key <AB07> { [ comma, question, acute, doubleacute ] };
78 key <AB10> { [ exclam, section, dead_belowdot, abovedot ] };
81 // Historic Linux French keyboard layout (fr-latin9)
82 // Copyright (c) 199x, 2002 Rene Cougnenc (original work)
83 // Guylhem Aznar <clavier @ externe.net> (maintainer)
84 // Nicolas Mailhot <Nicolas.Mailhot @ laposte.net>
85 // (XFree86 submission)
87 // $XFree86: xc/programs/xkbcomp/symbols/fr-latin9,v 1.1 2002/12/20 02:07:11 dawes Exp $
89 // This layout has long been distributed and refined outside official channels.
90 // To this day it remains more feature-rich and popular than the 'fr' layout.
92 // This file is derived from an original version by Guylhem Aznar. The
93 // original version is always available from:
94 // http://en.tldp.org/HOWTO/Francophones-HOWTO.html
95 // and is distributed under a GPL license.
97 // The author has given permission for this derived version to be distributed
98 // under the standard XFree86 license. He would like all changes to this
99 // version be send to him at <clavier @ externe.net> so he can sync the
100 // identically named linux console map (kbd, linux-console) and this
101 // fileout-of-tree GPL version.
103 // Now follows the keyboard design description in French.
104 // (If you can't read it you probably have no business changing this file anyway:)
106 // Les accents circonflexes des principales voyelles sont obtenus avec
107 // la touche Alt_Gr, les trémas sont obtenus par Alt_Gr + Shift.
109 // ____ _________ _____________ _______
110 // | S A| S = Shift, A = AltGr + Shift | Imprime | Arrêt défil | Pause |
111 // | s a| s = normal, a = AltGr | Exec | | Halte |
112 // ¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯
113 // ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ _______
114 // | ½ "| 1 ·| 2 É| 3 ,| 4 '| 5 "| 6 || 7 È| 8 ¯| 9 Ç| 0 À| ° ÿ| + °| <-- |
115 // | ¼ "| & '| é ~| " #| ' {| ( [| - || è `| _ \| ç ^| à @| ) ]| = }| |
116 // ========================================================================
117 // | |<- | A ä| Z Å| E ¢| R Ç| T Þ| Y Ý| U ü| I ï| O ö| P '| " `| $ ë| , |
118 // | ->| | a â| z å| e ¤| r ç| t þ| y ý| u û| i î| o ô| p ¶| ^ ~| £ ê| <-' |
119 // ===================================================================¬ |
120 // | | Q Ä| S Ø| D Ë| F ª| G Æ| H Ð| J Ü| K Ï| L Ö| M º| % Ù| µ ¥| |
121 // | MAJ | q Â| s ø| d Ê| f ±| g æ| h ð| j Û| k Î| l Ô| m ¹| ù ²| * ³| |
122 // ========================================================================
123 // | ^ | > | W | X | C | V | B | N | ? | . | / | § | ^ |
124 // | | | < || w «| x »| c ©| v ®| b ß| n ¬| , ¿| ; ×| : ÷| ! ¡| | |
125 // ========================================================================
127 // | Ctrl | Meta | Alt | Space Nobreakspace | AltGr | Multi|Menu | Ctrl |
128 // ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯ ¯¯¯¯¯¯
131 // Si les touches mortes fonctionnent, utiliser les accents dits
132 // « morts », i.e. fonctionnant comme l'accent circonflexe & le
133 // tréma des machines à écrire ; sont disponibles :
135 // (^) : accent circonflexe,
136 // Shift+(^) : tréma,
137 // Shift+AltGr (^) : tilde,
138 // AltGr (1) : accent aigu,
139 // AltGr (7) : accent grave
141 // Pour s'en servir, procéder comme avec l'accent circonflexe & le tréma
142 // sur les vielles machines à écrire :
144 // AltGr (1) puis e : é
145 // Shift+AltGr (1) puis e : É ...
147 partial alphanumeric_keys
149 xkb_symbols "latin9" {
153 name[Group1]="fr-latin9";
155 key <TLDE> { [ oe, OE, leftdoublequotemark, rightdoublequotemark ] };
156 key <AE01> { [ ampersand, 1, dead_acute, periodcentered ] };
157 key <AE02> { [ eacute, 2, asciitilde, Eacute ] };
158 key <AE03> { [ quotedbl, 3, numbersign, cedilla ] };
159 key <AE04> { [ apostrophe, 4, braceleft, acute ] };
160 key <AE05> { [ parenleft, 5, bracketleft, diaeresis ] };
161 key <AE06> { [ minus, 6, bar, brokenbar ] };
162 key <AE07> { [ egrave, 7, dead_grave, Egrave ] };
163 key <AE08> { [ underscore, 8, backslash, macron ] };
164 key <AE09> { [ ccedilla, 9, asciicircum, Ccedilla ] };
165 key <AE10> { [ agrave, 0, at, Agrave ] };
166 key <AE11> { [ parenright, degree, bracketright, ydiaeresis ] };
167 key <AE12> { [ equal, plus, braceright, dead_abovering ] };
169 key <AD01> { [ a, A, acircumflex, adiaeresis ] };
170 key <AD02> { [ z, Z, aring, Aring ] };
171 key <AD03> { [ e, E, EuroSign, cent ] };
172 key <AD04> { [ r, R, ccedilla, Ccedilla ] };
173 key <AD05> { [ t, T, thorn, THORN ] };
174 key <AD06> { [ y, Y, yacute, Yacute ] };
175 key <AD07> { [ u, U, ucircumflex, udiaeresis ] };
176 key <AD08> { [ i, I, icircumflex, idiaeresis ] };
177 key <AD09> { [ o, O, ocircumflex, odiaeresis ] };
178 key <AD10> { [ p, P, paragraph, quoteleft ] };
179 key <AD11> { [ dead_circumflex, dead_diaeresis, dead_tilde, quoteright ] };
180 key <AD12> { [ dollar, sterling, ecircumflex, ediaeresis ] };
182 key <AC01> { [ q, Q, Acircumflex, Adiaeresis ] };
183 key <AC02> { [ s, S, oslash, Ooblique ] };
184 key <AC03> { [ d, D, Ecircumflex, Ediaeresis ] };
185 key <AC04> { [ f, F, plusminus, ordfeminine ] };
186 key <AC05> { [ g, G, ae, AE ] };
187 key <AC06> { [ h, H, eth, ETH ] };
188 key <AC07> { [ j, J, Ucircumflex, Udiaeresis ] };
189 key <AC08> { [ k, K, Icircumflex, Idiaeresis ] };
190 key <AC09> { [ l, L, Ocircumflex, Odiaeresis ] };
191 key <AC10> { [ m, M, onesuperior, masculine ] };
192 key <AC11> { [ ugrave, percent, twosuperior, Ugrave ] };
193 key <BKSL> { [ asterisk, mu, threesuperior, yen ] };
195 key <LSGT> { [ less, greater, bar ] };
196 key <AB01> { [ w, W, guillemotleft ] };
197 key <AB02> { [ x, X, guillemotright ] };
198 key <AB03> { [ c, C, copyright ] };
199 key <AB04> { [ v, V, registered ] };
200 key <AB05> { [ b, B, ssharp ] };
201 key <AB06> { [ n, N, notsign ] };
202 key <AB07> { [ comma, question, questiondown ] };
203 key <AB08> { [ semicolon, period, multiply ] };
204 key <AB09> { [ colon, slash, division ] };
205 key <AB10> { [ exclam, section, exclamdown ] };
207 key <SPCE> { [ space, space, nobreakspace ] };
209 // French uses a comma as decimal separator, but keyboards are labeled with a period
210 // Will take effect when KP_Decimal is mapped to the locale decimal separator
211 key <KPDL> { [ KP_Delete, period, KP_Delete, KP_Decimal ] };
213 include "level3(ralt_switch)"
216 partial alphanumeric_keys
217 xkb_symbols "latin9_Sundeadkeys" {
219 // Modifies the basic fr-latin9 layout to use the Sun dead keys
223 key <AE01> { [ ampersand, 1, SunFA_Acute, periodcentered ] };
224 key <AE07> { [ egrave, 7, SunFA_Grave, Egrave ] };
225 key <AD11> { [ SunFA_Circum, SunFA_Diaeresis, SunFA_Tilde, quoteright ] };
229 partial alphanumeric_keys
230 xkb_symbols "latin9_sundeadkeys" {
232 include "fr(latin9_Sundeadkeys)"
236 partial alphanumeric_keys
237 xkb_symbols "latin9_nodeadkeys" {
239 // Modifies the basic fr-latin9 layout to eliminate all dead keys
243 key <AE01> { [ ampersand, 1, apostrophe, periodcentered ] };
244 key <AE07> { [ egrave, 7, grave, Egrave ] };
245 key <AE12> { [ equal, plus, braceright ] };
246 key <AD11> { [ asciicircum, diaeresis, asciitilde, quoteright ] };
249 // Keymap Dvorak pour le Français
250 // par Josselin Mouette <josselin.mouette@ens-lyon.org>.
252 partial alphanumeric_keys
253 xkb_symbols "dvorak" {
255 name[Group1]= "French dvorak";
257 key <TLDE> { [ oe, OE, ae, AE ] };
259 key <AE01> { [ slash, 1, ampersand, onesuperior ] };
260 key <AE02> { [ plus, 2, asciitilde, twosuperior ] };
261 key <AE03> { [ minus, 3, numbersign, threesuperior ] };
262 key <AE04> { [ asterisk, 4, less, guillemotleft ] };
263 key <AE05> { [ equal, 5, greater, guillemotright ] };
264 key <AE06> { [ backslash, 6, at, notsign ] };
265 key <AE07> { [ parenleft, 7, dead_circumflex, multiply ] };
266 key <AE08> { [ grave, 8, dead_grave, division ] };
267 key <AE09> { [ parenright, 9, asciicircum, plusminus ] };
268 key <AE10> { [ quotedbl, 0, dead_diaeresis, dead_diaeresis ] };
269 key <AE11> { [bracketleft, braceleft, bar, degree ] };
270 key <AE12> { [bracketright, braceright, percent, percent ] };
272 key <AD01> { [ colon, question, question, questiondown ] };
273 key <AD02> { [ agrave, Agrave, aring, Aring ] };
274 key <AD03> { [ eacute, Eacute, EuroSign, cent ] };
275 key <AD04> { [ g, G, oslash, Ooblique ] };
276 key <AD05> { [ period, exclam, periodcentered, exclamdown ] };
277 key <AD06> { [ h, H, eth, ETH ] };
278 key <AD07> { [ v, V ] };
279 key <AD08> { [ c, C, copyright, registered ] };
280 key <AD09> { [ m, M, mu, mu ] };
281 key <AD10> { [ k, K, dollar, dollar ] };
282 key <AD11> { [ egrave, Egrave, sterling, sterling ] };
283 key <AD12> { [ z, Z, yen, yen ] };
285 key <AC01> { [ o, O, ocircumflex, Ocircumflex ] };
286 key <AC02> { [ a, A, acircumflex, Acircumflex ] };
287 key <AC03> { [ u, U, ucircumflex, Ucircumflex ] };
288 key <AC04> { [ e, E, ecircumflex, Ecircumflex ] };
289 key <AC05> { [ b, B, ssharp, ssharp ] };
290 key <AC06> { [ f, F ] };
291 key <AC07> { [ s, S ] };
292 key <AC08> { [ t, T, thorn, THORN ] };
293 key <AC09> { [ n, N, ntilde, Ntilde ] };
294 key <AC10> { [ d, D, section, section ] };
295 key <AC11> { [ w, W, paragraph, paragraph ] };
296 key <BKSL> { [ ugrave, Ugrave, masculine, ordfeminine ] };
298 key <AB01> { [ apostrophe, underscore, dead_acute, macron ] };
299 key <AB02> { [ q, Q, guillemotleft, guillemotleft ] };
300 key <AB03> { [ comma, semicolon, guillemotright, guillemotright ] };
301 key <AB04> { [ i, I, icircumflex, Icircumflex ] };
302 key <AB05> { [ y, Y, ydiaeresis, Ydiaeresis ] };
303 key <AB06> { [ x, X, ediaeresis, Ediaeresis ] };
304 key <AB07> { [ r, R, udiaeresis, Udiaeresis ] };
305 key <AB08> { [ l, L, adiaeresis, Adiaeresis ] };
306 key <AB09> { [ p, P, odiaeresis, Odiaeresis ] };
307 key <AB10> { [ j, J, idiaeresis, Idiaeresis ] };
309 key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
310 key <LSGT> { [ ccedilla, Ccedilla ] };
312 include "level3(ralt_switch)"