2 // based on a keyboard map from an 'xkb/symbols/fr' file
4 // $XFree86: xc/programs/xkbcomp/symbols/fr,v 1.2 2002/11/22 04:03:28 dawes Exp $
6 partial default alphanumeric_keys
11 name[Group1]="French";
13 key <AE01> { [ ampersand, 1, onesuperior, exclamdown ] };
14 key <AE02> { [ eacute, 2, asciitilde, oneeighth ] };
15 key <AE03> { [ quotedbl, 3, numbersign, sterling ] };
16 key <AE04> { [apostrophe, 4, braceleft, dollar ] };
17 key <AE05> { [ parenleft, 5, bracketleft, threeeighths ] };
18 key <AE06> { [ minus, 6, bar, fiveeighths ] };
19 key <AE07> { [ egrave, 7, grave, seveneighths ] };
20 key <AE08> { [underscore, 8, backslash, trademark ] };
21 key <AE09> { [ ccedilla, 9, asciicircum, plusminus ] };
22 key <AE10> { [ agrave, 0, at, degree ] };
23 key <AE11> { [parenright, degree, bracketright, questiondown ] };
24 key <AE12> { [ equal, plus, braceright, dead_ogonek ] };
26 key <AD01> { [ a, A, ae, AE ] };
27 key <AD02> { [ z, Z, guillemotleft, less ] };
28 key <AD03> { [ e, E, EuroSign, cent ] };
29 key <AD11> { [dead_circumflex, dead_diaeresis, dead_diaeresis, dead_abovering ] };
30 key <AD12> { [ dollar, sterling, currency, dead_macron ] };
32 key <AC01> { [ q, Q, at, Greek_OMEGA ] };
33 key <AC10> { [ m, M, mu, masculine ] };
34 key <AC11> { [ ugrave, percent, dead_circumflex, dead_caron] };
35 key <TLDE> { [twosuperior, asciitilde, notsign, notsign ] };
37 key <BKSL> { [ asterisk, mu, dead_grave, dead_breve ] };
38 key <AB01> { [ w, W, lstroke, Lstroke ] };
39 key <AB07> { [ comma, question, dead_acute, dead_doubleacute ] };
40 key <AB08> { [ semicolon, period, horizconnector, multiply ] };
41 key <AB09> { [ colon, slash, periodcentered, division ] };
42 key <AB10> { [ exclam, section, dead_belowdot, dead_abovedot ] };
44 include "level3(ralt_switch_multikey)"
47 partial alphanumeric_keys
48 xkb_symbols "Sundeadkeys" {
50 // Modifies the basic French layout to use the Sun dead keys
54 key <AD11> { [SunFA_Circum, SunFA_Diaeresis ] };
55 key <AB07> { [comma, question, SunFA_Acute, dead_doubleacute ] };
58 partial alphanumeric_keys
59 xkb_symbols "sundeadkeys" {
60 include "fr(Sundeadkeys)"
64 partial alphanumeric_keys
65 xkb_symbols "nodeadkeys" {
67 // Modifies the basic French layout to eliminate all dead keys
71 key <AE12> { [ equal, plus, braceright, ogonek ] };
72 key <AD11> { [asciicircum, diaeresis ] };
73 key <AD12> { [ dollar, sterling, currency, macron ] };
74 key <AC11> { [ ugrave, percent, asciicircum, caron ] };
75 key <BKSL> { [ asterisk, mu, grave, breve ] };
76 key <AB07> { [ comma, question, acute, doubleacute ] };
77 key <AB10> { [ exclam, section, dead_belowdot, abovedot ] };
80 // Historic Linux French keyboard layout (fr-latin9)
81 // Copyright (c) 199x, 2002 Rene Cougnenc (original work)
82 // Guylhem Aznar <clavier @ externe.net> (maintainer)
83 // Nicolas Mailhot <Nicolas.Mailhot @ laposte.net>
84 // (XFree86 submission)
86 // $XFree86: xc/programs/xkbcomp/symbols/fr-latin9,v 1.1 2002/12/20 02:07:11 dawes Exp $
88 // This layout has long been distributed and refined outside official channels.
89 // To this day it remains more feature-rich and popular than the 'fr' layout.
91 // This file is derived from an original version by Guylhem Aznar. The
92 // original version is always available from:
93 // http://en.tldp.org/HOWTO/Francophones-HOWTO.html
94 // and is distributed under a GPL license.
96 // The author has given permission for this derived version to be distributed
97 // under the standard XFree86 license. He would like all changes to this
98 // version be send to him at <clavier @ externe.net> so he can sync the
99 // identically named linux console map (kbd, linux-console) and this
100 // fileout-of-tree GPL version.
102 // Now follows the keyboard design description in French.
103 // (If you can't read it you probably have no business changing this file anyway:)
105 // Les accents circonflexes des principales voyelles sont obtenus avec
106 // la touche Alt_Gr, les trémas sont obtenus par Alt_Gr + Shift.
108 // ____ _________ _____________ _______
109 // | S A| S = Shift, A = AltGr + Shift | Imprime | Arrêt défil | Pause |
110 // | s a| s = normal, a = AltGr | Exec | | Halte |
111 // ¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯
112 // ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ _______
113 // | ½ "| 1 ·| 2 É| 3 ,| 4 '| 5 "| 6 || 7 È| 8 ¯| 9 Ç| 0 À| ° ÿ| + °| <-- |
114 // | ¼ "| & '| é ~| " #| ' {| ( [| - || è `| _ \| ç ^| à @| ) ]| = }| |
115 // ========================================================================
116 // | |<- | A ä| Z Å| E ¢| R Ç| T Þ| Y Ý| U ü| I ï| O ö| P '| " `| $ ë| , |
117 // | ->| | a â| z å| e ¤| r ç| t þ| y ý| u û| i î| o ô| p ¶| ^ ~| £ ê| <-' |
118 // ===================================================================¬ |
119 // | | Q Ä| S Ø| D Ë| F ª| G Æ| H Ð| J Ü| K Ï| L Ö| M º| % Ù| µ ¥| |
120 // | MAJ | q Â| s ø| d Ê| f ±| g æ| h ð| j Û| k Î| l Ô| m ¹| ù ²| * ³| |
121 // ========================================================================
122 // | ^ | > | W | X | C | V | B | N | ? | . | / | § | ^ |
123 // | | | < || w «| x »| c ©| v ®| b ß| n ¬| , ¿| ; ×| : ÷| ! ¡| | |
124 // ========================================================================
126 // | Ctrl | Meta | Alt | Space Nobreakspace | AltGr | Multi|Menu | Ctrl |
127 // ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯ ¯¯¯¯¯¯
130 // Si les touches mortes fonctionnent, utiliser les accents dits
131 // « morts », i.e. fonctionnant comme l'accent circonflexe & le
132 // tréma des machines à écrire ; sont disponibles :
134 // (^) : accent circonflexe,
135 // Shift+(^) : tréma,
136 // Shift+AltGr (^) : tilde,
137 // AltGr (1) : accent aigu,
138 // AltGr (7) : accent grave
140 // Pour s'en servir, procéder comme avec l'accent circonflexe & le tréma
141 // sur les vielles machines à écrire :
143 // AltGr (1) puis e : é
144 // Shift+AltGr (1) puis e : É ...
146 partial alphanumeric_keys
148 xkb_symbols "latin9" {
152 name[Group1]="fr-latin9";
154 key <TLDE> { [ oe, OE, leftdoublequotemark, rightdoublequotemark ] };
155 key <AE01> { [ ampersand, 1, dead_acute, periodcentered ] };
156 key <AE02> { [ eacute, 2, asciitilde, Eacute ] };
157 key <AE03> { [ quotedbl, 3, numbersign, cedilla ] };
158 key <AE04> { [ apostrophe, 4, braceleft, acute ] };
159 key <AE05> { [ parenleft, 5, bracketleft, diaeresis ] };
160 key <AE06> { [ minus, 6, bar, brokenbar ] };
161 key <AE07> { [ egrave, 7, dead_grave, Egrave ] };
162 key <AE08> { [ underscore, 8, backslash, macron ] };
163 key <AE09> { [ ccedilla, 9, asciicircum, Ccedilla ] };
164 key <AE10> { [ agrave, 0, at, Agrave ] };
165 key <AE11> { [ parenright, degree, bracketright, ydiaeresis ] };
166 key <AE12> { [ equal, plus, braceright, dead_abovering ] };
168 key <AD01> { [ a, A, acircumflex, adiaeresis ] };
169 key <AD02> { [ z, Z, aring, Aring ] };
170 key <AD03> { [ e, E, EuroSign, cent ] };
171 key <AD04> { [ r, R, ccedilla, Ccedilla ] };
172 key <AD05> { [ t, T, thorn, THORN ] };
173 key <AD06> { [ y, Y, yacute, Yacute ] };
174 key <AD07> { [ u, U, ucircumflex, udiaeresis ] };
175 key <AD08> { [ i, I, icircumflex, idiaeresis ] };
176 key <AD09> { [ o, O, ocircumflex, odiaeresis ] };
177 key <AD10> { [ p, P, paragraph, quoteleft ] };
178 key <AD11> { [ dead_circumflex, dead_diaeresis, dead_tilde, quoteright ] };
179 key <AD12> { [ dollar, sterling, ecircumflex, ediaeresis ] };
181 key <AC01> { [ q, Q, Acircumflex, Adiaeresis ] };
182 key <AC02> { [ s, S, oslash, Ooblique ] };
183 key <AC03> { [ d, D, Ecircumflex, Ediaeresis ] };
184 key <AC04> { [ f, F, plusminus, ordfeminine ] };
185 key <AC05> { [ g, G, ae, AE ] };
186 key <AC06> { [ h, H, eth, ETH ] };
187 key <AC07> { [ j, J, Ucircumflex, Udiaeresis ] };
188 key <AC08> { [ k, K, Icircumflex, Idiaeresis ] };
189 key <AC09> { [ l, L, Ocircumflex, Odiaeresis ] };
190 key <AC10> { [ m, M, onesuperior, masculine ] };
191 key <AC11> { [ ugrave, percent, twosuperior, Ugrave ] };
192 key <BKSL> { [ asterisk, mu, threesuperior, yen ] };
194 key <LSGT> { [ less, greater, bar ] };
195 key <AB01> { [ w, W, guillemotleft ] };
196 key <AB02> { [ x, X, guillemotright ] };
197 key <AB03> { [ c, C, copyright ] };
198 key <AB04> { [ v, V, registered ] };
199 key <AB05> { [ b, B, ssharp ] };
200 key <AB06> { [ n, N, notsign ] };
201 key <AB07> { [ comma, question, questiondown ] };
202 key <AB08> { [ semicolon, period, multiply ] };
203 key <AB09> { [ colon, slash, division ] };
204 key <AB10> { [ exclam, section, exclamdown ] };
206 key <SPCE> { [ space, space, nobreakspace ] };
208 // French uses a comma as decimal separator, but keyboards are labeled with a period
209 // Will take effect when KP_Decimal is mapped to the locale decimal separator
210 key <KPDL> { [ KP_Delete, period, KP_Delete, KP_Decimal ] };
212 include "level3(ralt_switch_multikey)"
215 partial alphanumeric_keys
216 xkb_symbols "latin9_Sundeadkeys" {
218 // Modifies the basic fr-latin9 layout to use the Sun dead keys
222 key <AE01> { [ ampersand, 1, SunFA_Acute, periodcentered ] };
223 key <AE07> { [ egrave, 7, SunFA_Grave, Egrave ] };
224 key <AD11> { [ SunFA_Circum, SunFA_Diaeresis, SunFA_Tilde, quoteright ] };
228 partial alphanumeric_keys
229 xkb_symbols "latin9_sundeadkeys" {
231 include "fr(latin9_Sundeadkeys)"
235 partial alphanumeric_keys
236 xkb_symbols "latin9_nodeadkeys" {
238 // Modifies the basic fr-latin9 layout to eliminate all dead keys
242 key <AE01> { [ ampersand, 1, apostrophe, periodcentered ] };
243 key <AE07> { [ egrave, 7, grave, Egrave ] };
244 key <AE12> { [ equal, plus, braceright ] };
245 key <AD11> { [ asciicircum, diaeresis, asciitilde, quoteright ] };