fr revision 1.1.1.19 1 1.1.1.17 mrg default partial alphanumeric_keys
2 1.1 mrg xkb_symbols "basic" {
3 1.1 mrg
4 1.1 mrg include "latin"
5 1.1 mrg
6 1.1.1.7 mrg name[Group1]="French";
7 1.1 mrg
8 1.1 mrg key <AE01> { [ ampersand, 1, onesuperior, exclamdown ] };
9 1.1 mrg key <AE02> { [ eacute, 2, asciitilde, oneeighth ] };
10 1.1 mrg key <AE03> { [ quotedbl, 3, numbersign, sterling ] };
11 1.1 mrg key <AE04> { [apostrophe, 4, braceleft, dollar ] };
12 1.1 mrg key <AE05> { [ parenleft, 5, bracketleft, threeeighths ] };
13 1.1 mrg key <AE06> { [ minus, 6, bar, fiveeighths ] };
14 1.1 mrg key <AE07> { [ egrave, 7, grave, seveneighths ] };
15 1.1 mrg key <AE08> { [underscore, 8, backslash, trademark ] };
16 1.1 mrg key <AE09> { [ ccedilla, 9, asciicircum, plusminus ] };
17 1.1 mrg key <AE10> { [ agrave, 0, at, degree ] };
18 1.1 mrg key <AE11> { [parenright, degree, bracketright, questiondown ] };
19 1.1 mrg key <AE12> { [ equal, plus, braceright, dead_ogonek ] };
20 1.1 mrg
21 1.1 mrg key <AD01> { [ a, A, ae, AE ] };
22 1.1 mrg key <AD02> { [ z, Z, guillemotleft, less ] };
23 1.1 mrg key <AD03> { [ e, E, EuroSign, cent ] };
24 1.1 mrg key <AD11> { [dead_circumflex, dead_diaeresis, dead_diaeresis, dead_abovering ] };
25 1.1 mrg key <AD12> { [ dollar, sterling, currency, dead_macron ] };
26 1.1 mrg
27 1.1 mrg key <AC01> { [ q, Q, at, Greek_OMEGA ] };
28 1.1 mrg key <AC10> { [ m, M, mu, masculine ] };
29 1.1 mrg key <AC11> { [ ugrave, percent, dead_circumflex, dead_caron] };
30 1.1 mrg key <TLDE> { [twosuperior, asciitilde, notsign, notsign ] };
31 1.1 mrg
32 1.1 mrg key <BKSL> { [ asterisk, mu, dead_grave, dead_breve ] };
33 1.1 mrg key <AB01> { [ w, W, lstroke, Lstroke ] };
34 1.1 mrg key <AB07> { [ comma, question, dead_acute, dead_doubleacute ] };
35 1.1 mrg key <AB08> { [ semicolon, period, horizconnector, multiply ] };
36 1.1 mrg key <AB09> { [ colon, slash, periodcentered, division ] };
37 1.1 mrg key <AB10> { [ exclam, section, dead_belowdot, dead_abovedot ] };
38 1.1 mrg
39 1.1 mrg include "level3(ralt_switch)"
40 1.1 mrg };
41 1.1 mrg
42 1.1 mrg partial alphanumeric_keys
43 1.1.1.3 ghen xkb_symbols "olpc" {
44 1.1.1.3 ghen // Contact: Sayamindu Dasgupta <sayamindu (a] laptop.org>
45 1.1.1.3 ghen include "fr(basic)"
46 1.1.1.3 ghen
47 1.1.1.7 mrg name[Group1]="French";
48 1.1.1.3 ghen
49 1.1.1.8 mrg key <I219> { [ less, greater ] };
50 1.1.1.8 mrg key <AD11> { [ dead_circumflex, dead_diaeresis, notsign, dead_abovering ] };
51 1.1.1.8 mrg key <AB08> { [ semicolon, period, underscore, multiply ] };
52 1.1.1.8 mrg key <TLDE> { [ twosuperior, asciitilde, VoidSymbol, VoidSymbol ] };
53 1.1.1.8 mrg
54 1.1.1.8 mrg // Some keys only have the Shift+AltGr character printed on them (alongside
55 1.1.1.8 mrg // the unmodified one). Make such keys shift-invariant so that the printed
56 1.1.1.8 mrg // value is achieved by pressing AltGr or Shift+AltGr.
57 1.1.1.8 mrg key <AB02> { [ x, X, guillemotright, guillemotright ] };
58 1.1.1.15 mrg key <AC02> { [ s, S, ssharp, U1E9E ] };
59 1.1.1.8 mrg key <AD02> { [ z, Z, guillemotleft, guillemotleft ] };
60 1.1.1.3 ghen };
61 1.1.1.3 ghen
62 1.1.1.3 ghen partial alphanumeric_keys
63 1.1 mrg xkb_symbols "nodeadkeys" {
64 1.1 mrg
65 1.1 mrg // Modifies the basic French layout to eliminate all dead keys
66 1.1 mrg
67 1.1 mrg include "fr(basic)"
68 1.1 mrg
69 1.1.1.13 mrg name[Group1]="French (no dead keys)";
70 1.1 mrg
71 1.1 mrg key <AE12> { [ equal, plus, braceright, ogonek ] };
72 1.1 mrg key <AD11> { [asciicircum, diaeresis ] };
73 1.1 mrg key <AD12> { [ dollar, sterling, currency, macron ] };
74 1.1 mrg key <AC11> { [ ugrave, percent, asciicircum, caron ] };
75 1.1 mrg key <BKSL> { [ asterisk, mu, grave, breve ] };
76 1.1 mrg key <AB07> { [ comma, question, acute, doubleacute ] };
77 1.1 mrg key <AB10> { [ exclam, section, dead_belowdot, abovedot ] };
78 1.1 mrg };
79 1.1 mrg
80 1.1 mrg
81 1.1 mrg // Unicode French derivative
82 1.1 mrg // Loose refactoring of the historic Linux French keyboard layout
83 1.1 mrg //
84 1.1 mrg // Copyright 2006-2008 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
85 1.1 mrg //
86 1.1 mrg // Credits (fr-latin1, fr-latin0, fr-latin9)
87 1.1 mrg // 199x-1996 Ren Cougnenc
88 1.1 mrg // 1997-2002 Guylhem Aznar <clavier @ externe.net>
89 1.1 mrg // 2003-2006 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
90 1.1 mrg //
91 1.1 mrg //
92 1.1.1.9 mrg // 1 2 3 4 5 6 7 8 9 0 + Retour
93 1.1 mrg // & ~ " # ' { ( [ - | ` _ \ ^ @ ) ] = } arrire
94 1.1 mrg //
95 1.1 mrg // A Z E R T Y U I O P Entre
96 1.1 mrg // Tab a z e r t y u i o p ^ ~ $
97 1.1 mrg //
98 1.1.1.9 mrg // Q S D F G H J K L M %
99 1.1 mrg // Maj q s d f g h j k l m ' * `
100 1.1 mrg //
101 1.1 mrg // > W X C V B N ? . . /
102 1.1 mrg // Shift < w x c v b n , ; : ! Shift
103 1.1 mrg //
104 1.1 mrg // Espace fine inscable
105 1.1 mrg // Ctrl Meta Alt Espace Espace inscable AltGr Menu Ctrl
106 1.1 mrg //
107 1.1 mrg partial alphanumeric_keys
108 1.1 mrg xkb_symbols "oss" {
109 1.1 mrg
110 1.1 mrg include "latin"
111 1.1 mrg include "level3(ralt_switch)"
112 1.1.1.8 mrg include "nbsp(level4n)"
113 1.1 mrg include "keypad(oss)"
114 1.1 mrg
115 1.1.1.13 mrg name[Group1]="French (alt.)";
116 1.1 mrg
117 1.1 mrg // First row
118 1.1.1.9 mrg key <TLDE> { [ twosuperior, threesuperior, onesuperior, dead_cedilla ] }; //
119 1.1 mrg key <AE01> { [ ampersand, 1, dead_caron, dead_ogonek ] }; // & 1
120 1.1 mrg key <AE02> { [ eacute, 2, asciitilde, Eacute ] }; // 2 ~
121 1.1 mrg key <AE03> { [ quotedbl, 3, numbersign, dead_breve ] }; // " 3 #
122 1.1 mrg key <AE04> { [ apostrophe, 4, braceleft, 0x1002014 ] }; // ' 4 { (tiret cadratin)
123 1.1 mrg key <AE05> { [ parenleft, 5, bracketleft, 0x1002013 ] }; // ( 5 [ (tiret demi-cadratin)
124 1.1 mrg key <AE06> { [ minus, 6, bar, 0x1002011 ] }; // - 6 | (tiret inscable)
125 1.1 mrg key <AE07> { [ egrave, 7, grave, Egrave ] }; // 7 `
126 1.1 mrg key <AE08> { [ underscore, 8, backslash, trademark ] }; // _ 8 \
127 1.1 mrg key <AE09> { [ ccedilla, 9, asciicircum, Ccedilla ] }; // 9 ^
128 1.1 mrg key <AE10> { [ agrave, 0, at, Agrave ] }; // 0 @
129 1.1.1.9 mrg key <AE11> { [ parenright, degree, bracketright, notequal ] }; // ) ]
130 1.1 mrg key <AE12> { [ equal, plus, braceright, plusminus ] }; // = + }
131 1.1 mrg
132 1.1 mrg // Second row
133 1.1 mrg key <AD01> { [ a, A, ae, AE ] }; // a A
134 1.1 mrg key <AD02> { [ z, Z, acircumflex, Acircumflex ] }; // z Z
135 1.1 mrg key <AD03> { [ e, E, EuroSign, cent ] }; // e E
136 1.1 mrg key <AD04> { [ r, R, ecircumflex, Ecircumflex ] }; // r R
137 1.1 mrg key <AD05> { [ t, T, thorn, THORN ] }; // t T
138 1.1 mrg key <AD06> { [ y, Y, ydiaeresis, Ydiaeresis ] }; // y Y
139 1.1 mrg key <AD07> { [ u, U, ucircumflex, Ucircumflex ] }; // u U
140 1.1 mrg key <AD08> { [ i, I, icircumflex, Icircumflex ] }; // i I
141 1.1 mrg key <AD09> { [ o, O, oe, OE ] }; // o O
142 1.1 mrg key <AD10> { [ p, P, ocircumflex, Ocircumflex ] }; // p P
143 1.1 mrg key <AD11> { [ dead_circumflex, dead_diaeresis, dead_tilde, dead_abovering ] }; // ^
144 1.1 mrg key <AD12> { [ dollar, sterling, oslash, Ooblique ] }; // $
145 1.1 mrg
146 1.1 mrg // Third row
147 1.1 mrg key <AC01> { [ q, Q, adiaeresis, Adiaeresis ] }; // q Q
148 1.1.1.9 mrg key <AC02> { [ s, S, ssharp, doublelowquotemark ] }; // s S
149 1.1 mrg key <AC03> { [ d, D, ediaeresis, Ediaeresis ] }; // d D
150 1.1 mrg key <AC04> { [ f, F, leftsinglequotemark, singlelowquotemark ] }; // f F
151 1.1 mrg key <AC05> { [ g, G, rightsinglequotemark, yen ] }; // g G
152 1.1 mrg key <AC06> { [ h, H, eth, ETH ] }; // h H
153 1.1 mrg key <AC07> { [ j, J, udiaeresis, Udiaeresis ] }; // j J
154 1.1 mrg key <AC08> { [ k, K, idiaeresis, Idiaeresis ] }; // k K
155 1.1 mrg key <AC09> { [ l, L, 0x1000140, 0x100013F ] }; // l L
156 1.1 mrg key <AC10> { [ m, M, odiaeresis, Odiaeresis ] }; // m M
157 1.1 mrg key <AC11> { [ ugrave, percent, dead_acute, Ugrave ] }; // % '
158 1.1 mrg key <BKSL> { [ asterisk, mu, dead_grave, dead_macron ] }; // * `
159 1.1 mrg
160 1.1 mrg // Fourth row
161 1.1 mrg key <LSGT> { [ less, greater, lessthanequal, greaterthanequal ] }; // < >
162 1.1 mrg key <AB01> { [ w, W, guillemotleft, leftdoublequotemark ] }; // w W
163 1.1 mrg key <AB02> { [ x, X, guillemotright, rightdoublequotemark ] }; // x X
164 1.1 mrg key <AB03> { [ c, C, copyright, registered ] }; // c C
165 1.1 mrg key <AB04> { [ v, V, 0x100202F, leftarrow ] }; // v V (espace fine inscable)
166 1.1 mrg key <AB05> { [ b, B, downarrow, uparrow ] }; // b B
167 1.1 mrg key <AB06> { [ n, N, notsign, rightarrow ] }; // n N
168 1.1 mrg key <AB07> { [ comma, question, questiondown, 0x1002026 ] }; // , ?
169 1.1 mrg key <AB08> { [ semicolon, period, multiply, 0x10022C5 ] }; // ; .
170 1.1 mrg key <AB09> { [ colon, slash, division, 0x1002215 ] }; // : /
171 1.1 mrg key <AB10> { [ exclam, section, exclamdown, 0x1002212 ] }; // !
172 1.1 mrg };
173 1.1 mrg
174 1.1 mrg partial alphanumeric_keys
175 1.1 mrg xkb_symbols "oss_latin9" {
176 1.1 mrg
177 1.1 mrg // Restricts the fr(oss) layout to latin9 symbols
178 1.1 mrg
179 1.1 mrg include "fr(oss)"
180 1.1 mrg include "keypad(oss_latin9)"
181 1.1 mrg
182 1.1.1.13 mrg name[Group1]="French (alt., Latin-9 only)";
183 1.1 mrg
184 1.1 mrg // First row
185 1.1 mrg key <AE01> { [ ampersand, 1, dead_caron, dead_cedilla ] }; // & 1
186 1.1 mrg key <AE03> { [ quotedbl, 3, numbersign, dead_tilde ] }; // " 3 # ~
187 1.1 mrg key <AE04> { [ apostrophe, 4, braceleft, underscore ] }; // ' 4 { _
188 1.1 mrg key <AE05> { [ parenleft, 5, bracketleft, minus ] }; // ( 5 [ -
189 1.1.1.9 mrg key <AE06> { [ minus, 6, bar, minus ] }; // - 6 | -
190 1.1.1.9 mrg key <AE08> { [ underscore, 8, backslash, backslash ] }; // _ 8 \ \
191 1.1 mrg key <AE11> { [ parenright, degree, bracketright, equal ] }; // ) ] =
192 1.1 mrg
193 1.1 mrg // Third row
194 1.1.1.9 mrg key <AC02> { [ s, S, ssharp, guillemotleft ] }; // s S
195 1.1 mrg key <AC04> { [ f, F, apostrophe, apostrophe ] }; // f F ' '
196 1.1 mrg key <AC05> { [ g, G, apostrophe, yen ] }; // g G '
197 1.1.1.9 mrg key <AC09> { [ l, L, periodcentered, periodcentered ] }; // l L
198 1.1.1.9 mrg key <BKSL> { [ asterisk, mu, dead_grave, dead_circumflex ] }; // * ` ^
199 1.1 mrg
200 1.1 mrg // Fourth row
201 1.1 mrg key <LSGT> { [ less, greater, less, greater ] }; // < > < >
202 1.1 mrg key <AB01> { [ w, W, guillemotleft, guillemotleft ] }; // w W
203 1.1 mrg key <AB02> { [ x, X, guillemotright, guillemotright ] }; // x X
204 1.1 mrg key <AB04> { [ v, V, nobreakspace, less ] }; // v V < (espace inscable)
205 1.1 mrg key <AB05> { [ b, B, minus, asciicircum ] }; // b B - ^
206 1.1 mrg key <AB06> { [ n, N, notsign, greater ] }; // n N >
207 1.1 mrg key <AB07> { [ comma, question, questiondown, period ] }; // , ? .
208 1.1 mrg key <AB08> { [ semicolon, period, multiply, periodcentered ] }; // ; .
209 1.1 mrg key <AB09> { [ colon, slash, division, slash ] }; // : / /
210 1.1 mrg key <AB10> { [ exclam, section, exclamdown, minus ] }; // ! -
211 1.1 mrg };
212 1.1 mrg
213 1.1 mrg partial alphanumeric_keys
214 1.1 mrg xkb_symbols "oss_nodeadkeys" {
215 1.1 mrg
216 1.1 mrg // Modifies the basic fr(oss) layout to eliminate all dead keys
217 1.1 mrg
218 1.1 mrg include "fr(oss)"
219 1.1 mrg
220 1.1.1.13 mrg name[Group1]="French (alt., no dead keys)";
221 1.1 mrg
222 1.1.1.9 mrg key <TLDE> { [ twosuperior, threesuperior, onesuperior, cedilla ] }; //
223 1.1 mrg key <AE01> { [ ampersand, 1, caron, ogonek ] }; // & 1
224 1.1 mrg key <AE03> { [ quotedbl, 3, numbersign, breve ] }; // " 3 #
225 1.1 mrg
226 1.1.1.9 mrg key <AD11> { [ asciicircum, diaeresis, asciitilde, Aring ] }; // ^
227 1.1 mrg key <AC11> { [ ugrave, percent, acute, Ugrave ] }; // % '
228 1.1 mrg key <BKSL> { [ asterisk, mu, grave, macron ] }; // * `
229 1.1 mrg };
230 1.1 mrg
231 1.1 mrg
232 1.1 mrg // Historic Linux French keyboard layout (fr-latin9)
233 1.1 mrg // Copyright (c) 199x, 2002 Rene Cougnenc (original work)
234 1.1 mrg // Guylhem Aznar <clavier @ externe.net> (maintainer)
235 1.1 mrg // Nicolas Mailhot <Nicolas.Mailhot @ laposte.net>
236 1.1 mrg // (XFree86 submission)
237 1.1 mrg //
238 1.1 mrg // This layout has long been distributed and refined outside official channels.
239 1.1 mrg // To this day it remains more feature-rich and popular than the 'fr' layout.
240 1.1 mrg //
241 1.1.1.9 mrg // This layout is derived from an original version by Guylhem Aznar.
242 1.1.1.9 mrg // The original version is always available from:
243 1.1 mrg // http://en.tldp.org/HOWTO/Francophones-HOWTO.html
244 1.1 mrg // and is distributed under a GPL license.
245 1.1 mrg //
246 1.1 mrg // The author has given permission for this derived version to be distributed
247 1.1 mrg // under the standard XFree86 license. He would like all changes to this
248 1.1.1.9 mrg // version to be sent to him at <clavier @ externe.net>, so he can sync
249 1.1.1.9 mrg // the identically named linux console map (kbd, linux-console) and his
250 1.1.1.9 mrg // out-of-tree GPL version.
251 1.1 mrg //
252 1.1 mrg // Now follows the keyboard design description in French.
253 1.1 mrg // (If you can't read it you probably have no business changing this file anyway:)
254 1.1 mrg //
255 1.1 mrg // Les accents circonflexes des principales voyelles sont obtenus avec
256 1.1 mrg // la touche Alt_Gr, les trmas sont obtenus par Alt_Gr + Shift.
257 1.1 mrg //
258 1.1 mrg // ____ _________ _____________ _______
259 1.1 mrg // | S A| S = Shift, A = AltGr + Shift | Imprime | Arrt dfil | Pause |
260 1.1 mrg // | s a| s = normal, a = AltGr | Exec | | Halte |
261 1.1 mrg //
262 1.1 mrg // ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ _______
263 1.1 mrg // | "| 1 | 2 | 3 ,| 4 '| 5 "| 6 || 7 | 8 | 9 | 0 | | + | <-- |
264 1.1 mrg // | "| & '| ~| " #| ' {| ( [| - || `| _ \| ^| @| ) ]| = }| |
265 1.1 mrg // ========================================================================
266 1.1 mrg // | |<- | A | Z | E | R | T | Y | U | I | O | P '| " `| $ | , |
267 1.1 mrg // | ->| | a | z | e | r | t | y | u | i | o | p | ^ ~| | <-' |
268 1.1 mrg // =================================================================== |
269 1.1 mrg // | | Q | S | D | F | G | H | J | K | L | M | % | | |
270 1.1 mrg // | MAJ | q | s | d | f | g | h | j | k | l | m | | * | |
271 1.1 mrg // ========================================================================
272 1.1 mrg // | ^ | > | W | X | C | V | B | N | ? | . | / | | ^ |
273 1.1 mrg // | | | < || w | x | c | v | b | n | , | ; | : | ! | | |
274 1.1 mrg // ========================================================================
275 1.1 mrg // | | | | | | | | |
276 1.1 mrg // | Ctrl | Super| Alt | Space Nobreakspace | AltGr | Super|Menu | Ctrl |
277 1.1 mrg //
278 1.1 mrg //
279 1.1 mrg //
280 1.1 mrg // Si les touches mortes fonctionnent, utiliser les accents dits
281 1.1 mrg // morts , i.e. fonctionnant comme l'accent circonflexe & le
282 1.1 mrg // trma des machines crire ; sont disponibles :
283 1.1 mrg //
284 1.1 mrg // (^) : accent circonflexe,
285 1.1 mrg // Shift+(^) : trma,
286 1.1.1.9 mrg // Shift+AltGr+(^) : tilde,
287 1.1.1.9 mrg // AltGr+(1) : accent aigu,
288 1.1.1.9 mrg // AltGr+(7) : accent grave
289 1.1 mrg //
290 1.1 mrg // Pour s'en servir, procder comme avec l'accent circonflexe & le trma
291 1.1 mrg // sur les vielles machines crire :
292 1.1 mrg //
293 1.1.1.9 mrg // AltGr+(1) puis e :
294 1.1.1.9 mrg // AltGr+(1) puis E :
295 1.1.1.9 mrg //
296 1.1 mrg partial alphanumeric_keys
297 1.1 mrg
298 1.1 mrg xkb_symbols "latin9" {
299 1.1 mrg
300 1.1 mrg include "latin"
301 1.1 mrg include "nbsp(level3)"
302 1.1 mrg
303 1.1.1.13 mrg name[Group1]="French (legacy, alt.)";
304 1.1 mrg
305 1.1 mrg key <TLDE> { [ oe, OE, leftdoublequotemark, rightdoublequotemark ] };
306 1.1 mrg key <AE01> { [ ampersand, 1, dead_acute, periodcentered ] };
307 1.1 mrg key <AE02> { [ eacute, 2, asciitilde, Eacute ] };
308 1.1 mrg key <AE03> { [ quotedbl, 3, numbersign, cedilla ] };
309 1.1 mrg key <AE04> { [ apostrophe, 4, braceleft, acute ] };
310 1.1 mrg key <AE05> { [ parenleft, 5, bracketleft, diaeresis ] };
311 1.1 mrg key <AE06> { [ minus, 6, bar, brokenbar ] };
312 1.1 mrg key <AE07> { [ egrave, 7, dead_grave, Egrave ] };
313 1.1 mrg key <AE08> { [ underscore, 8, backslash, macron ] };
314 1.1 mrg key <AE09> { [ ccedilla, 9, asciicircum, Ccedilla ] };
315 1.1 mrg key <AE10> { [ agrave, 0, at, Agrave ] };
316 1.1 mrg key <AE11> { [ parenright, degree, bracketright, ydiaeresis ] };
317 1.1 mrg key <AE12> { [ equal, plus, braceright, dead_abovering ] };
318 1.1 mrg
319 1.1 mrg key <AD01> { [ a, A, acircumflex, adiaeresis ] };
320 1.1 mrg key <AD02> { [ z, Z, aring, Aring ] };
321 1.1 mrg key <AD03> { [ e, E, EuroSign, cent ] };
322 1.1 mrg key <AD04> { [ r, R, ccedilla, Ccedilla ] };
323 1.1 mrg key <AD05> { [ t, T, thorn, THORN ] };
324 1.1 mrg key <AD06> { [ y, Y, yacute, Yacute ] };
325 1.1 mrg key <AD07> { [ u, U, ucircumflex, udiaeresis ] };
326 1.1 mrg key <AD08> { [ i, I, icircumflex, idiaeresis ] };
327 1.1 mrg key <AD09> { [ o, O, ocircumflex, odiaeresis ] };
328 1.1.1.9 mrg key <AD10> { [ p, P, paragraph, grave ] };
329 1.1.1.9 mrg key <AD11> { [ dead_circumflex, dead_diaeresis, dead_tilde, apostrophe ] };
330 1.1 mrg key <AD12> { [ dollar, sterling, ecircumflex, ediaeresis ] };
331 1.1 mrg
332 1.1 mrg key <AC01> { [ q, Q, Acircumflex, Adiaeresis ] };
333 1.1 mrg key <AC02> { [ s, S, oslash, Ooblique ] };
334 1.1 mrg key <AC03> { [ d, D, Ecircumflex, Ediaeresis ] };
335 1.1 mrg key <AC04> { [ f, F, plusminus, ordfeminine ] };
336 1.1 mrg key <AC05> { [ g, G, ae, AE ] };
337 1.1 mrg key <AC06> { [ h, H, eth, ETH ] };
338 1.1 mrg key <AC07> { [ j, J, Ucircumflex, Udiaeresis ] };
339 1.1 mrg key <AC08> { [ k, K, Icircumflex, Idiaeresis ] };
340 1.1 mrg key <AC09> { [ l, L, Ocircumflex, Odiaeresis ] };
341 1.1 mrg key <AC10> { [ m, M, onesuperior, masculine ] };
342 1.1 mrg key <AC11> { [ ugrave, percent, twosuperior, Ugrave ] };
343 1.1 mrg key <BKSL> { [ asterisk, mu, threesuperior, yen ] };
344 1.1 mrg
345 1.1 mrg key <LSGT> { [ less, greater, bar ] };
346 1.1 mrg key <AB01> { [ w, W, guillemotleft ] };
347 1.1 mrg key <AB02> { [ x, X, guillemotright ] };
348 1.1 mrg key <AB03> { [ c, C, copyright ] };
349 1.1 mrg key <AB04> { [ v, V, registered ] };
350 1.1.1.15 mrg key <AB05> { [ b, B, ssharp, U1E9E ] };
351 1.1 mrg key <AB06> { [ n, N, notsign ] };
352 1.1 mrg key <AB07> { [ comma, question, questiondown ] };
353 1.1 mrg key <AB08> { [ semicolon, period, multiply ] };
354 1.1 mrg key <AB09> { [ colon, slash, division ] };
355 1.1 mrg key <AB10> { [ exclam, section, exclamdown ] };
356 1.1 mrg
357 1.1 mrg // French uses a comma as decimal separator, but keyboards are labeled with a period
358 1.1 mrg // Will take effect when KP_Decimal is mapped to the locale decimal separator
359 1.1.1.3 ghen key <KPDL> { [ KP_Delete, KP_Decimal, KP_Delete, KP_Decimal ] };
360 1.1 mrg
361 1.1 mrg include "level3(ralt_switch)"
362 1.1 mrg };
363 1.1 mrg
364 1.1 mrg partial alphanumeric_keys
365 1.1 mrg xkb_symbols "latin9_nodeadkeys" {
366 1.1 mrg
367 1.1 mrg // Modifies the basic fr-latin9 layout to eliminate all dead keys
368 1.1 mrg
369 1.1 mrg include "fr(latin9)"
370 1.1 mrg
371 1.1.1.13 mrg name[Group1]="French (legacy, alt., no dead keys)";
372 1.1 mrg
373 1.1 mrg key <AE01> { [ ampersand, 1, apostrophe, periodcentered ] };
374 1.1 mrg key <AE07> { [ egrave, 7, grave, Egrave ] };
375 1.1 mrg key <AE12> { [ equal, plus, braceright ] };
376 1.1.1.9 mrg key <AD11> { [ asciicircum, diaeresis, asciitilde, apostrophe ] };
377 1.1 mrg };
378 1.1 mrg
379 1.1 mrg // Bpo:Improved ergonomic french keymap using Dvorak method.
380 1.1.1.3 ghen // Built by community on 'Dvorak Fr / Bpo':
381 1.1.1.3 ghen // see http://www.clavier-dvorak.org/wiki/ to join and help.
382 1.1.1.3 ghen // XOrg integration (1.0rc2 version) in 2008
383 1.1.1.3 ghen // by Frdric Boiteux <fboiteux at free dot fr>
384 1.1 mrg //
385 1.1.1.3 ghen // Bpo layout (1.0rc2 version) for a pc105 keyboard (french):
386 1.1.1.9 mrg //
387 1.1.1.9 mrg // S A S = Shift, A = AltGr + Shift
388 1.1.1.9 mrg // s a s = normal, a = AltGr
389 1.1.1.9 mrg //
390 1.1 mrg //
391 1.1 mrg //
392 1.1.1.3 ghen // # 1 2 3 4 5 6 7 8 9 0 ` Retour
393 1.1.1.3 ghen // $ " < > ( [ ) ] @ ^ + - / * = % arrire
394 1.1 mrg //
395 1.1.1.3 ghen // B P O ` ! V D L J Z W Entre
396 1.1.1.9 mrg // Tab b | p & o ` v d l / j z w
397 1.1 mrg //
398 1.1.1.9 mrg // A U I E ; C T S R N M ,
399 1.1.1.9 mrg // Maj a u i e , c t s r n m
400 1.1 mrg //
401 1.1.1.9 mrg // Y X : K ? Q G H F
402 1.1.1.3 ghen // Shift / \ y { x } . k ~ ' q g h f Shift
403 1.1 mrg //
404 1.1.1.3 ghen // Espace insc. Espace insc. fin
405 1.1.1.3 ghen // Ctrl Meta Alt (Espace) _ AltGr Menu Ctrl
406 1.1 mrg //
407 1.1 mrg partial alphanumeric_keys
408 1.1 mrg xkb_symbols "bepo" {
409 1.1 mrg
410 1.1.1.3 ghen include "level3(ralt_switch)"
411 1.1 mrg include "keypad(oss)"
412 1.1 mrg
413 1.1.1.17 mrg name[Group1]= "French (BEPO)";
414 1.1 mrg
415 1.1 mrg // First row
416 1.1.1.3 ghen key <TLDE> { [ dollar, numbersign, endash, paragraph ] }; // $ #
417 1.1.1.3 ghen key <AE01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ quotedbl, 1, emdash, doublelowquotemark ] }; // " 1
418 1.1.1.3 ghen key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotleft, 2, less, leftdoublequotemark ] }; // 2 <
419 1.1.1.3 ghen key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotright, 3, greater, rightdoublequotemark ] }; // 3 >
420 1.1.1.3 ghen key <AE04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenleft, 4, bracketleft, lessthanequal ] }; // ( 4 [
421 1.1.1.3 ghen key <AE05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenright, 5, bracketright, greaterthanequal ] }; // ) 5 ]
422 1.1.1.3 ghen key <AE06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ at, 6, asciicircum ] }; // @ 6 ^
423 1.1.1.3 ghen key <AE07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ plus, 7, plusminus, notsign ] }; // + 7
424 1.1.1.3 ghen key <AE08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ minus, 8, U2212, onequarter ] }; // - 8
425 1.1.1.3 ghen key <AE09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ slash, 9, division, onehalf ] }; // / 9
426 1.1.1.3 ghen key <AE10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ asterisk, 0, multiply, threequarters ] }; // * 0
427 1.1.1.3 ghen key <AE11> { [ equal, degree, notequal, minutes ] }; // =
428 1.1.1.14 mrg key <AE12> { [ percent, grave, permille, seconds ] }; // % `
429 1.1 mrg
430 1.1 mrg // Second row
431 1.1.1.3 ghen key <AD01> { [ b, B, bar, brokenbar ] }; // b B |
432 1.1.1.3 ghen key <AD02> { [ eacute, Eacute, dead_acute, dead_doubleacute ] }; //
433 1.1.1.3 ghen key <AD03> { [ p, P, ampersand, section ] }; // p P &
434 1.1 mrg key <AD04> { [ o, O, oe, OE ] }; // o O
435 1.1.1.3 ghen key <AD05> { [ egrave, Egrave, dead_grave, grave ] }; // ` `
436 1.1.1.3 ghen key <AD06> { [ dead_circumflex, exclam, exclamdown ] }; // ^ !
437 1.1.1.3 ghen key <AD07> { [ v, V, dead_caron ] }; // v V
438 1.1 mrg key <AD08> { [ d, D, eth, ETH ] }; // d D
439 1.1.1.3 ghen key <AD09> { [ l, L, dead_stroke ] }; // l L /
440 1.1.1.3 ghen key <AD10> { [ j, J, U0133, U0132 ] }; // j J
441 1.1.1.3 ghen key <AD11> { [ z, Z, schwa, SCHWA ] }; // z Z
442 1.1.1.3 ghen key <AD12> { [ w, W, dead_breve ] }; // w W
443 1.1 mrg
444 1.1 mrg // Third row
445 1.1 mrg key <AC01> { [ a, A, ae, AE ] }; // a A
446 1.1 mrg key <AC02> { [ u, U, ugrave, Ugrave ] }; // u U
447 1.1.1.3 ghen key <AC03> { [ i, I, dead_diaeresis, dead_abovedot ] }; // i I
448 1.1.1.3 ghen key <AC04> { [ e, E, EuroSign, dead_currency ] }; // e E
449 1.1.1.3 ghen key <AC05> { [ comma, semicolon, rightsinglequotemark, dead_horn ] }; // , ;
450 1.1.1.3 ghen key <AC06> { [ c, C, copyright, U017F ] }; // c C
451 1.1.1.3 ghen key <AC07> { [ t, T, thorn, THORN ] }; // t T
452 1.1.1.3 ghen key <AC08> { [ s, S, ssharp, U1E9E ] }; // s S
453 1.1.1.3 ghen key <AC09> { [ r, R, registered, trademark ] }; // r R
454 1.1.1.3 ghen key <AC10> { [ n, N, dead_tilde ] }; // n N ~
455 1.1.1.3 ghen key <AC11> { [ m, M, dead_macron, masculine ] }; // m M
456 1.1.1.3 ghen key <BKSL> { [ ccedilla, Ccedilla, dead_cedilla, dead_belowcomma ] }; // ,
457 1.1 mrg
458 1.1 mrg // Fourth row
459 1.1.1.3 ghen key <LSGT> { [ ecircumflex, Ecircumflex, slash ] }; // /
460 1.1.1.3 ghen key <AB01> { [ agrave, Agrave, backslash ] }; // \
461 1.1.1.3 ghen key <AB02> { [ y, Y, braceleft, leftsinglequotemark ] }; // y Y {
462 1.1.1.3 ghen key <AB03> { [ x, X, braceright, rightsinglequotemark ] }; // x X }
463 1.1.1.3 ghen key <AB04> { [ period, colon, ellipsis, periodcentered ] }; // . :
464 1.1.1.3 ghen key <AB05> { [ k, K, asciitilde ] }; // k K ~
465 1.1.1.3 ghen key <AB06> { [ apostrophe, question, questiondown, dead_hook ] }; // ' ?
466 1.1.1.3 ghen key <AB07> { [ q, Q, dead_abovering, dead_belowdot ] }; // q Q
467 1.1.1.8 mrg key <AB08> { [ g, G, dead_greek ] }; // g G
468 1.1.1.3 ghen key <AB09> { [ h, H, dagger, doubledagger ] }; // h H
469 1.1.1.3 ghen key <AB10> { [ f, F, dead_ogonek, ordfeminine ] }; // f F
470 1.1 mrg
471 1.1.1.3 ghen key <SPCE> { [ space, nobreakspace, underscore, U202F ] }; // (espace inscable) _ (espace inscable fin)
472 1.1 mrg };
473 1.1 mrg
474 1.1 mrg partial alphanumeric_keys
475 1.1 mrg xkb_symbols "bepo_latin9" {
476 1.1 mrg
477 1.1 mrg // Restricts the fr(bepo) layout to latin9 symbols
478 1.1 mrg
479 1.1 mrg include "fr(bepo)"
480 1.1.1.3 ghen include "keypad(oss_latin9)"
481 1.1 mrg
482 1.1.1.17 mrg name[Group1]="French (BEPO, Latin-9 only)";
483 1.1 mrg
484 1.1.1.3 ghen key <TLDE> { [ dollar, numbersign, dollar, paragraph ] }; // $ # $
485 1.1.1.3 ghen
486 1.1.1.3 ghen key <AE01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ quotedbl, 1 ] }; // " 1
487 1.1.1.3 ghen key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotleft, 2, less ] }; // 2 <
488 1.1.1.3 ghen key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotright, 3, greater ] }; // 3 >
489 1.1.1.3 ghen key <AE04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenleft, 4, bracketleft ] }; // ( 4 [
490 1.1.1.3 ghen key <AE05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenright, 5, bracketright ] }; // ) 5 ]
491 1.1.1.3 ghen key <AE08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ minus, 8, minus, onequarter ] }; // - 8 -
492 1.1.1.3 ghen key <AE11> { [ equal, degree ] }; // =
493 1.1.1.3 ghen key <AE12> { [ percent, grave ] }; // % `
494 1.1.1.3 ghen
495 1.1.1.3 ghen key <AD01> { [ b, B, bar ] }; // b B |
496 1.1.1.3 ghen key <AD02> { [ eacute, Eacute, dead_acute ] }; //
497 1.1.1.3 ghen key <AD10> { [ j, J ] }; // j J
498 1.1.1.3 ghen key <AD11> { [ z, Z ] }; // z Z
499 1.1.1.3 ghen key <AD12> { [ w, W ] }; // w W
500 1.1.1.3 ghen
501 1.1.1.3 ghen key <AC03> { [ i, I, dead_diaeresis ] }; // i I
502 1.1.1.3 ghen key <AC05> { [ comma, semicolon, comma, dead_horn ] }; // , ; ,
503 1.1.1.3 ghen key <AC06> { [ c, C, copyright ] }; // c C
504 1.1.1.15 mrg key <AC08> { [ s, S, ssharp, U1E9E ] }; // s S
505 1.1.1.3 ghen key <AC09> { [ r, R, registered ] }; // r R
506 1.1.1.3 ghen key <AC11> { [ m, M, macron, masculine ] }; // m M
507 1.1.1.3 ghen
508 1.1.1.3 ghen key <AB02> { [ y, Y, braceleft ] }; // y Y {
509 1.1.1.3 ghen key <AB03> { [ x, X, braceright ] }; // x X }
510 1.1.1.3 ghen key <AB04> { [ period, colon ] }; // . :
511 1.1.1.3 ghen key <AB09> { [ h, H ] }; // h H
512 1.1.1.3 ghen key <AB10> { [ f, F, f, ordfeminine ] }; // f F
513 1.1.1.3 ghen
514 1.1.1.3 ghen // Note: on a besoin de redfinir les niveaux 3 et 4,
515 1.1.1.3 ghen // donc nbsp(level2) ne suffit pas!
516 1.1.1.3 ghen key <SPCE> { [ space, nobreakspace, underscore, nobreakspace ] }; // (espace inscable) _ (espace inscable)
517 1.1 mrg };
518 1.1 mrg
519 1.1.1.16 mrg // Version 1.1rc2 of the Bpo keyboard layout,
520 1.1.1.16 mrg // normalized by the AFNOR NF Z71300 norm.
521 1.1.1.16 mrg //
522 1.1.1.16 mrg // Layout: https://bepo.fr/wiki/Version_1.1rc2
523 1.1.1.16 mrg // Normalization: https://normalisation.afnor.org/actualites/faq-clavier-francais/
524 1.1.1.16 mrg //
525 1.1.1.16 mrg //
526 1.1.1.16 mrg // # 1 2 3 4 5 6 7 8 9 0 `
527 1.1.1.16 mrg // $ " < > ( [ ) ] @ ^ + - / * = % <--
528 1.1.1.16 mrg //
529 1.1.1.16 mrg // |<- B _ P O ` ! V D L J Z W |
530 1.1.1.16 mrg // ->| b | p & o ` v d l / j z w <-'
531 1.1.1.16 mrg //
532 1.1.1.16 mrg // A U I E ; , C T S R N M
533 1.1.1.16 mrg // CAPS a u i e , ' c t s r n ~ m
534 1.1.1.16 mrg //
535 1.1.1.16 mrg // ^ ^ Y X : K ? Q G H F ^
536 1.1.1.16 mrg // | / \ y { x } . k ~ q g h f |
537 1.1.1.16 mrg //
538 1.1.1.16 mrg // Fine inscable Inscable
539 1.1.1.16 mrg // Ctrl WinG Alt Espace _ AltGr WinD WinM Ctrl
540 1.1.1.16 mrg //
541 1.1.1.16 mrg partial alphanumeric_keys
542 1.1.1.16 mrg xkb_symbols "bepo_afnor" {
543 1.1.1.16 mrg
544 1.1.1.17 mrg name[Group1]= "French (BEPO, AFNOR)";
545 1.1.1.16 mrg
546 1.1.1.16 mrg include "pc(pc105)"
547 1.1.1.16 mrg
548 1.1.1.16 mrg key <TLDE> { type[group1] = "FOUR_LEVEL", [ dollar, numbersign, endash, paragraph ] }; // $ #
549 1.1.1.16 mrg key <AE01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ quotedbl, 1, emdash, doublelowquotemark ] }; // " 1
550 1.1.1.16 mrg key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotleft, 2, less, leftdoublequotemark ] }; // 2 <
551 1.1.1.16 mrg key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotright, 3, greater, rightdoublequotemark ] }; // 3 >
552 1.1.1.16 mrg key <AE04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenleft, 4, bracketleft, U2A7D ] }; // ( 4 [
553 1.1.1.16 mrg key <AE05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenright, 5, bracketright, U2A7E ] }; // ) 5 ]
554 1.1.1.16 mrg key <AE06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ at, 6, asciicircum, U262D ] }; // @ 6 ^
555 1.1.1.16 mrg key <AE07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ plus, 7, plusminus, notsign ] }; // + 7
556 1.1.1.16 mrg key <AE08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ minus, 8, U2212, onequarter ] }; // - 8
557 1.1.1.16 mrg key <AE09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ slash, 9, division, onehalf ] }; // / 9
558 1.1.1.16 mrg key <AE10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ asterisk, 0, multiply, threequarters ] }; // * 0
559 1.1.1.16 mrg key <AE11> { type[group1] = "FOUR_LEVEL", [ equal, degree, notequal, minutes ] }; // =
560 1.1.1.16 mrg key <AE12> { type[group1] = "FOUR_LEVEL", [ percent, grave, U2030, seconds ] }; // % `
561 1.1.1.16 mrg
562 1.1.1.16 mrg key <AD01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ b, B, bar, underscore ] }; // b B | _
563 1.1.1.16 mrg key <AD02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ eacute, Eacute, dead_acute, heart ] }; //
564 1.1.1.16 mrg key <AD03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ p, P, ampersand, section ] }; // p P &
565 1.1.1.16 mrg key <AD04> { type[group1] = "FOUR_LEVEL_ALPHABETIC", [ o, O, oe, OE ] }; // o O
566 1.1.1.16 mrg key <AD05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ egrave, Egrave, dead_grave, grave ] }; // ` `
567 1.1.1.16 mrg key <AD06> { type[group1] = "FOUR_LEVEL", [ dead_circumflex, exclam, exclamdown, U2620 ] }; // ^ !
568 1.1.1.16 mrg key <AD07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ v, V, dead_caron, U2622 ] }; // v V
569 1.1.1.16 mrg key <AD08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ d, D, UFDD7, U2623 ] }; // d D
570 1.1.1.16 mrg key <AD09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ l, L, dead_stroke, sterling ] }; // l L /
571 1.1.1.16 mrg key <AD10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ j, J, U262E, U262F ] }; // j J
572 1.1.1.16 mrg key <AD11> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ z, Z, UFDD8, U2619 ] }; // z Z
573 1.1.1.16 mrg key <AD12> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ w, W, U269C, U267F ] }; // w W
574 1.1.1.16 mrg
575 1.1.1.16 mrg key <AC01> { type[group1] = "FOUR_LEVEL_ALPHABETIC", [ a, A, ae, AE ] }; // a A
576 1.1.1.16 mrg key <AC02> { type[group1] = "FOUR_LEVEL_ALPHABETIC", [ u, U, ugrave, Ugrave ] }; // u U
577 1.1.1.16 mrg key <AC03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ i, I, dead_diaeresis, dead_abovedot ] }; // i I
578 1.1.1.16 mrg key <AC04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ e, E, EuroSign, dead_currency ] }; // e E
579 1.1.1.16 mrg key <AC05> { type[group1] = "FOUR_LEVEL", [ comma, semicolon, apostrophe, dead_belowcomma ] }; // , ; ' ,
580 1.1.1.16 mrg key <AC06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ c, C, dead_cedilla, copyright ] }; // c C
581 1.1.1.16 mrg key <AC07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ t, T, UFDD5, trademark ] }; // t T
582 1.1.1.16 mrg key <AC08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ s, S, UFDD4, U017F ] }; // s S
583 1.1.1.16 mrg key <AC09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ r, R, dead_breve, registered ] }; // r R
584 1.1.1.16 mrg key <AC10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ n, N, dead_tilde, U2693 ] }; // n N ~
585 1.1.1.16 mrg key <AC11> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ m, M, dead_macron, U26FD ] }; // m M
586 1.1.1.16 mrg key <BKSL> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ ccedilla, Ccedilla, U2708, U1F12F ] }; //
587 1.1.1.16 mrg
588 1.1.1.16 mrg key <LSGT> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ ecircumflex, Ecircumflex, slash, asciicircum ] }; // / ^
589 1.1.1.16 mrg key <AB01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ agrave, Agrave, backslash, singlelowquotemark ] }; // \
590 1.1.1.16 mrg key <AB02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ y, Y, braceleft, leftsinglequotemark ] }; // y Y {
591 1.1.1.16 mrg key <AB03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ x, X, braceright, rightsinglequotemark ] }; // x X }
592 1.1.1.16 mrg key <AB04> { type[group1] = "FOUR_LEVEL", [ period, colon, ellipsis, periodcentered ] }; // . :
593 1.1.1.16 mrg key <AB05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ k, K, asciitilde, U2011 ] }; // k K ~
594 1.1.1.16 mrg key <AB06> { type[group1] = "FOUR_LEVEL", [ rightsinglequotemark, question, questiondown, dead_hook ] }; // ?
595 1.1.1.16 mrg key <AB07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ q, Q, dead_abovering, dead_horn ] }; // q Q
596 1.1.1.16 mrg key <AB08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ g, G, dead_greek, dagger ] }; // g G
597 1.1.1.16 mrg key <AB09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ h, H, dead_belowdot, doubledagger ] }; // h H
598 1.1.1.16 mrg key <AB10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ f, F, dead_ogonek, U26C4 ] }; // f F
599 1.1.1.16 mrg key <SPCE> { type[group1] = "FOUR_LEVEL", [ space, U202F, underscore, nobreakspace ] }; // _
600 1.1.1.16 mrg
601 1.1.1.16 mrg
602 1.1.1.16 mrg include "level3(ralt_switch)"
603 1.1.1.16 mrg };
604 1.1.1.16 mrg
605 1.1.1.2 mrg // Author : Francis Leboutte, http://www.algo.be/ergo/dvorak-fr.html
606 1.1.1.2 mrg // thanks to Fabien Cazenave for his help
607 1.1.1.7 mrg // Licence : X11
608 1.1.1.2 mrg // Version : 0.3
609 1.1.1.2 mrg
610 1.1.1.2 mrg // Base layer + dead AltGr key (`):
611 1.1.1.2 mrg //
612 1.1.1.2 mrg // * 1 2 3 4 5 6 7 8 9 0 + %
613 1.1.1.2 mrg // _ = / - \ ^ ( ` ` ) " [ ]
614 1.1.1.2 mrg //
615 1.1.1.2 mrg // ? < > G ! H V C M K Z &
616 1.1.1.2 mrg // : ' $ g . h v c m k z
617 1.1.1.2 mrg //
618 1.1.1.2 mrg // O A U E B F S T N D W #
619 1.1.1.2 mrg // o a u e b f s t n d w ~
620 1.1.1.2 mrg //
621 1.1.1.2 mrg // | Q @ I Y X R L P J
622 1.1.1.2 mrg // ; q { , } i y x r l p j
623 1.1.1.2 mrg //
624 1.1.1.2 mrg //
625 1.1.1.2 mrg // ctrl super alt Espace Espace inscable alt super menu ctrl
626 1.1.1.2 mrg //
627 1.1.1.2 mrg
628 1.1.1.2 mrg // Notice the specific Caps_Lock layer:
629 1.1.1.2 mrg //
630 1.1.1.2 mrg // * 1 2 3 4 5 6 7 8 9 0 + %
631 1.1.1.2 mrg //
632 1.1.1.2 mrg //
633 1.1.1.2 mrg // < >
634 1.1.1.2 mrg //
635 1.1.1.2 mrg //
636 1.1.1.2 mrg //
637 1.1.1.2 mrg //
638 1.1.1.2 mrg //
639 1.1.1.2 mrg // / -
640 1.1.1.2 mrg //
641 1.1.1.2 mrg //
642 1.1.1.2 mrg //
643 1.1.1.2 mrg // ctrl super alt Espace Espace inscable alt super menu ctrl
644 1.1.1.2 mrg //
645 1.1 mrg
646 1.1.1.2 mrg partial alphanumeric_keys modifier_keys
647 1.1 mrg xkb_symbols "dvorak" {
648 1.1.1.7 mrg name[Group1]="French (Dvorak)";
649 1.1 mrg
650 1.1.1.2 mrg // First row
651 1.1.1.2 mrg key <TLDE> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ underscore, asterisk ] };
652 1.1.1.2 mrg key <AE01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ equal, 1 ] };
653 1.1.1.2 mrg key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ slash, 2, plusminus ] };
654 1.1.1.2 mrg key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ minus, 3, onequarter ] };
655 1.1.1.2 mrg key <AE04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ egrave, 4, onehalf ] };
656 1.1.1.2 mrg key <AE05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ backslash, 5, threequarters ] };
657 1.1.1.2 mrg key <AE06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ dead_circumflex, 6 ] };
658 1.1.1.2 mrg key <AE07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenleft, 7 ] };
659 1.1.1.2 mrg key <AE08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ ISO_Level3_Latch, 8, grave ] };
660 1.1.1.2 mrg key <AE09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenright, 9 ] };
661 1.1.1.2 mrg key <AE10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ quotedbl, 0 ] };
662 1.1.1.2 mrg key <AE11> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ bracketleft, plus ] };
663 1.1.1.2 mrg key <AE12> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ bracketright, percent ] };
664 1.1.1.2 mrg
665 1.1.1.2 mrg // Second row
666 1.1.1.2 mrg key <AD01> { [ colon, question, ae, AE ] };
667 1.1.1.2 mrg key <AD02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ apostrophe, less, dollar ] };
668 1.1.1.2 mrg key <AD03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ eacute, greater, Eacute ] };
669 1.1.1.2 mrg key <AD04> { [ g, G, EuroSign ] };
670 1.1.1.2 mrg key <AD05> { [ period, exclam, degree ] };
671 1.1.1.2 mrg key <AD06> { [ h, H ] };
672 1.1.1.2 mrg key <AD07> { [ v, V ] };
673 1.1.1.2 mrg key <AD08> { [ c, C, ccedilla, Ccedilla ] };
674 1.1.1.2 mrg key <AD09> { [ m, M, mu ] };
675 1.1.1.2 mrg key <AD10> { [ k, K ] };
676 1.1.1.2 mrg key <AD11> { [ z, Z ] };
677 1.1.1.2 mrg key <AD12> { [ dead_diaeresis, ampersand ] };
678 1.1.1.2 mrg
679 1.1.1.2 mrg // Third row
680 1.1.1.2 mrg key <AC01> { [ o, O, ograve, Ograve ] };
681 1.1.1.2 mrg key <AC02> { [ a, A, agrave, Agrave ] };
682 1.1.1.2 mrg key <AC03> { [ u, U, ugrave, Ugrave ] };
683 1.1.1.2 mrg key <AC04> { [ e, E, egrave, Egrave ] };
684 1.1.1.2 mrg key <AC05> { [ b, B ] };
685 1.1.1.2 mrg key <AC06> { [ f, F ] };
686 1.1.1.2 mrg key <AC07> { [ s, S, guillemotleft ] };
687 1.1.1.2 mrg key <AC08> { [ t, T ] };
688 1.1.1.2 mrg key <AC09> { [ n, N, guillemotright ] };
689 1.1.1.2 mrg key <AC10> { [ d, D ] };
690 1.1.1.2 mrg key <AC11> { [ w, W ] };
691 1.1.1.2 mrg key <BKSL> { [ asciitilde, numbersign ] };
692 1.1.1.2 mrg
693 1.1.1.2 mrg // Fourth row
694 1.1.1.2 mrg key <LSGT> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ agrave, ccedilla, Agrave, Ccedilla, slash ] };
695 1.1.1.2 mrg key <AB01> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ semicolon, bar, oe, OE, minus ] };
696 1.1.1.2 mrg key <AB02> { [ q, Q, braceleft ] };
697 1.1.1.2 mrg key <AB03> { [ comma, at, braceright ] };
698 1.1.1.2 mrg key <AB04> { [ i, I, igrave, Igrave ] };
699 1.1.1.2 mrg key <AB05> { [ y, Y, sterling ] };
700 1.1.1.2 mrg key <AB06> { [ x, X ] };
701 1.1.1.2 mrg key <AB07> { [ r, R, masculine ] };
702 1.1.1.2 mrg key <AB08> { [ l, L ] };
703 1.1.1.2 mrg key <AB09> { [ p, P, section ] };
704 1.1.1.2 mrg key <AB10> { [ j, J ] };
705 1.1 mrg
706 1.1.1.2 mrg key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
707 1.1 mrg };
708 1.1 mrg
709 1.1.1.3 ghen // C'WHERTY:Breton keyboard. Ar c'hlavier brezhoneg.
710 1.1.1.3 ghen // Copyright 2009 Dominique Pell <dominique.pelle (a] gmail.com>
711 1.1.1.3 ghen // Version: 0.1
712 1.1.1.3 ghen //
713 1.1.1.9 mrg //
714 1.1.1.9 mrg // S A S = Reol = Shift, A = ArErl + Pennlizherenn = AltGr + Shift
715 1.1.1.9 mrg // s a s = normal, a = ArErl = AltGr
716 1.1.1.9 mrg //
717 1.1.1.3 ghen //
718 1.1.1.3 ghen //
719 1.1.1.3 ghen // $ 1 2 3 4 5 6 7 8 9 0 + Souza
720 1.1.1.3 ghen // & " # ' { ( [ - | ` - \ @ ) ] = }
721 1.1.1.3 ghen //
722 1.1.1.3 ghen // Toalenn C'h W E R T Y U I O OE P * Enanka
723 1.1.1.3 ghen // c'h w e r t y u i o oe p ^ /
724 1.1.1.3 ghen //
725 1.1.1.3 ghen // Prenn A S D F G H J K L M !
726 1.1.1.3 ghen // Pennli a s d $ f g h j k l m ?
727 1.1.1.3 ghen //
728 1.1.1.3 ghen // Q Z X C V B N CH : ;
729 1.1.1.3 ghen // Shift q < z > x c v b n ch . , Shift
730 1.1.1.3 ghen //
731 1.1.1.3 ghen // Espace inscable
732 1.1.1.3 ghen // Reol Meta Erl Espace ArErl Menu Reol
733 1.1.1.3 ghen //
734 1.1.1.3 ghen partial alphanumeric_keys
735 1.1.1.3 ghen xkb_symbols "bre" {
736 1.1.1.3 ghen
737 1.1.1.3 ghen include "keypad(oss)"
738 1.1.1.3 ghen
739 1.1.1.7 mrg name[Group1]= "French (Breton)";
740 1.1.1.3 ghen
741 1.1.1.3 ghen // First row
742 1.1.1.3 ghen key <TLDE> { [ twosuperior, dead_tilde, dead_abovedot, Greek_GAMMA ] };
743 1.1.1.3 ghen key <AE01> { [ ampersand, 1, dead_macron, Greek_DELTA ] };
744 1.1.1.3 ghen key <AE02> { [ eacute, 2, dead_acute, Greek_THETA ] };
745 1.1.1.3 ghen key <AE03> { [ quotedbl, 3, numbersign, Greek_LAMDA ] };
746 1.1.1.3 ghen key <AE04> { [ apostrophe, 4, braceleft, Greek_XI ] };
747 1.1.1.3 ghen key <AE05> { [ parenleft, 5, bracketleft, Greek_PI ] };
748 1.1.1.3 ghen key <AE06> { [ minus, 6, bar, Greek_SIGMA ] };
749 1.1.1.3 ghen key <AE07> { [ egrave, 7, dead_grave, Greek_PHI ] };
750 1.1.1.3 ghen key <AE08> { [ underscore, 8, backslash, Greek_PSI ] };
751 1.1.1.3 ghen key <AE09> { [ ccedilla, 9, plusminus, Ccedilla ] };
752 1.1.1.3 ghen key <AE10> { [ agrave, 0, at, Greek_OMEGA ] };
753 1.1.1.3 ghen key <AE11> { [ parenright, dead_abovering, bracketright, ssharp ] };
754 1.1.1.3 ghen key <AE12> { [ equal, plus, braceright, notsign ] };
755 1.1.1.3 ghen
756 1.1.1.3 ghen // Second row
757 1.1.1.3 ghen // Handling the C'H key correctly requires an inputmethod (XIM)
758 1.1.1.3 ghen // See https://bugs.freedesktop.org/show_bug.cgi?id=19506
759 1.1.1.3 ghen // key <AD01> { [ trigraph_c_h, trigraph_C_h, trigraph_C_H, Greek_alpha ] };
760 1.1.1.3 ghen key <AD01> { [ UF8FD, UF8FE, UF8FF, Greek_alpha ] };
761 1.1.1.3 ghen key <AD02> { [ w, W, Greek_omega, Greek_omega ] };
762 1.1.1.3 ghen key <AD03> { [ e, E, EuroSign, Greek_epsilon ] };
763 1.1.1.3 ghen key <AD04> { [ r, R, Greek_rho, Greek_rho ] };
764 1.1.1.3 ghen key <AD05> { [ t, T, Greek_tau, Greek_tau ] };
765 1.1.1.3 ghen key <AD06> { [ y, Y, Greek_psi, Greek_psi ] };
766 1.1.1.3 ghen key <AD07> { [ u, U, Greek_upsilon, Greek_upsilon ] };
767 1.1.1.3 ghen key <AD08> { [ i, I, idotless, Greek_iota ] };
768 1.1.1.3 ghen key <AD09> { [ o, O, oe, OE ] };
769 1.1.1.3 ghen key <AD10> { [ p, P, Greek_pi, Greek_pi ] };
770 1.1.1.3 ghen key <AD11> { [ dead_circumflex, dead_diaeresis, guillemotleft, yen ] };
771 1.1.1.3 ghen key <AD12> { [ slash, asterisk, guillemotright, sterling ] };
772 1.1.1.3 ghen
773 1.1.1.3 ghen // Third row
774 1.1.1.3 ghen key <AC01> { [ a, A, ae, AE ] };
775 1.1.1.3 ghen key <AC02> { [ s, S, Greek_sigma, Greek_sigma ] };
776 1.1.1.3 ghen key <AC03> { [ d, D, dollar, Greek_delta ] };
777 1.1.1.3 ghen key <AC04> { [ f, F, Greek_phi, Greek_phi ] };
778 1.1.1.3 ghen key <AC05> { [ g, G, Greek_gamma, Greek_gamma ] };
779 1.1.1.3 ghen key <AC06> { [ h, H, Greek_eta, Greek_eta ] };
780 1.1.1.3 ghen key <AC07> { [ j, J, Greek_finalsmallsigma, Greek_finalsmallsigma ] };
781 1.1.1.3 ghen key <AC08> { [ k, K, Greek_kappa, Greek_kappa ] };
782 1.1.1.3 ghen key <AC09> { [ l, L, Greek_lamda, Greek_lambda ] };
783 1.1.1.3 ghen key <AC10> { [ m, M, Greek_mu, Greek_mu ] };
784 1.1.1.3 ghen key <AC11> { [ ugrave, Ugrave, ubreve, registered ] };
785 1.1.1.3 ghen key <BKSL> { [ question, exclam, questiondown, exclamdown ] };
786 1.1.1.3 ghen
787 1.1.1.3 ghen // Fourth row
788 1.1.1.3 ghen key <LSGT> { [ q, Q, less, Greek_theta ] };
789 1.1.1.3 ghen key <AB01> { [ z, Z, greater, Greek_zeta ] };
790 1.1.1.3 ghen key <AB02> { [ x, X, Greek_xi, Greek_xi ] };
791 1.1.1.3 ghen key <AB03> { [ c, C, cent, Greek_chi ] };
792 1.1.1.3 ghen key <AB04> { [ v, V ] };
793 1.1.1.3 ghen key <AB05> { [ b, B, Greek_beta, Greek_beta ] };
794 1.1.1.3 ghen key <AB06> { [ n, N, Greek_nu, Greek_nu ] };
795 1.1.1.3 ghen // Handling the CH key correctly requires an inputmethod (XIM)
796 1.1.1.3 ghen // See https://bugs.freedesktop.org/show_bug.cgi?id=19506
797 1.1.1.3 ghen // key <AB07> { [ digraph_ch, digraph_Ch, digraph_CH, Greek_omicron ] };
798 1.1.1.3 ghen key <AB07> { [ UF8FA, UF8FB, UF8FC, Greek_omicron ] };
799 1.1.1.3 ghen key <AB08> { [ ntilde, Ntilde ] };
800 1.1.1.3 ghen key <AB09> { [ period, colon, section, copyright ] };
801 1.1.1.3 ghen key <AB10> { [ comma, semicolon, percent ] };
802 1.1.1.3 ghen
803 1.1.1.3 ghen key <SPCE> { [ space, nobreakspace, space, nobreakspace ] };
804 1.1.1.3 ghen
805 1.1.1.3 ghen include "level3(ralt_switch)"
806 1.1.1.3 ghen };
807 1.1.1.3 ghen
808 1.1.1.3 ghen // Occitan layout
809 1.1.1.3 ghen // Author : 2009 Thomas Metz <tmetz @ free.fr>
810 1.1.1.9 mrg // Derived from the layout defined at http://www.panoccitan.org
811 1.1.1.3 ghen // Version: 0.1
812 1.1.1.9 mrg // Differences from OSS French keyboard :
813 1.1.1.3 ghen // - add , , , et , , , , , , ,
814 1.1.1.3 ghen // - change position of , , , , , , , , ,
815 1.1.1.9 mrg //
816 1.1.1.3 ghen //
817 1.1.1.9 mrg // 1 2 3 4 5 6 7 8 9 0 + Retour
818 1.1.1.3 ghen // & ~ " # ' { ( [ - | ` _ \ ^ @ ) ] = } arrire
819 1.1.1.3 ghen //
820 1.1.1.3 ghen // A Z E R T Y U I O P Entre
821 1.1.1.3 ghen // Tab a z e r t y u i o p ^ $
822 1.1.1.3 ghen //
823 1.1.1.9 mrg // Q S D F G H J K L M %
824 1.1.1.3 ghen // Maj q s d f g h j k l m ' * `
825 1.1.1.3 ghen //
826 1.1.1.3 ghen // > W X C V B N ? . . /
827 1.1.1.3 ghen // Shift < w x c v b n , ; : ! Shift
828 1.1.1.3 ghen //
829 1.1.1.3 ghen // Espace fine inscable
830 1.1.1.3 ghen // Ctrl Meta Alt Espace Espace inscable AltGr Menu Ctrl
831 1.1.1.3 ghen //
832 1.1.1.3 ghen partial alphanumeric_keys
833 1.1.1.3 ghen xkb_symbols "oci" {
834 1.1.1.3 ghen
835 1.1.1.8 mrg include "fr(oss)"
836 1.1.1.3 ghen
837 1.1.1.7 mrg name[Group1]= "Occitan";
838 1.1.1.3 ghen
839 1.1.1.3 ghen key <AD01> { [ a, A, aacute, Aacute ] }; // a A
840 1.1.1.3 ghen key <AD02> { [ z, Z, ae, AE ] }; // z Z
841 1.1.1.3 ghen key <AD05> { [ t, T, ediaeresis, Ediaeresis ] }; // t T
842 1.1.1.3 ghen key <AD06> { [ y, Y, ucircumflex, Ucircumflex ] }; // y Y
843 1.1.1.3 ghen key <AD07> { [ u, U, uacute, Uacute ] }; // u U
844 1.1.1.3 ghen key <AD08> { [ i, I, iacute, Iacute ] }; // i I
845 1.1.1.3 ghen key <AD09> { [ o, O, oacute, Oacute ] }; // o O
846 1.1.1.3 ghen key <AD10> { [ p, P, ograve, Ograve ] }; // p P
847 1.1.1.3 ghen key <AD11> { [ dead_circumflex, dead_diaeresis, oe, OE ] }; // ^
848 1.1.1.3 ghen
849 1.1.1.9 mrg key <AC03> { [ d, D, acircumflex, Acircumflex ] }; // d D
850 1.1.1.3 ghen key <AC06> { [ h, H, udiaeresis, Udiaeresis ] }; // h H
851 1.1.1.9 mrg key <AC07> { [ j, J, icircumflex, Icircumflex ] }; // j J
852 1.1.1.9 mrg key <AC08> { [ k, K, idiaeresis, Idiaeresis ] }; // k K
853 1.1.1.3 ghen key <AC09> { [ l, L, ocircumflex, Ocircumflex ] }; // l L
854 1.1.1.3 ghen
855 1.1.1.9 mrg key <AB04> { [ v, V, rightarrow, leftarrow ] }; // v V
856 1.1.1.9 mrg key <AB06> { [ n, N, ntilde, Ntilde ] }; // n N
857 1.1.1.3 ghen };
858 1.1.1.3 ghen
859 1.1 mrg // Marc.Shapiro (a] inria.fr 19-sep-1998
860 1.1 mrg // modifications : Etienne Herlent <eherlent (a] linux-france.org> june 2000
861 1.1 mrg // adapted to the new input layer :
862 1.1 mrg // Martin Costabel <costabel (a] wanadoo.fr> 3-jan-2001
863 1.1.1.9 mrg // adapted for Latin9 alphabet (ISO-8859-15):
864 1.1 mrg // Etienne Herlent <eherlent (a] linux-france.org> march 2005
865 1.1 mrg
866 1.1 mrg // This map is an almost-complete mapping of the standard French
867 1.1 mrg // MacIntosh keyboard under Xwindows. I tried to remain as faithful
868 1.1 mrg // as possible to the Mac meaning of each key. I did this entirely by
869 1.1 mrg // hand and by intuition, relying on the Clavier (Keyboard?) Desktop
870 1.1 mrg // Accessory for the Mac meaning of keys, and on reading keysymdef.h
871 1.1 mrg // to intuit the corresponding X names. Lacking proper documentation,
872 1.1 mrg // I may have made some mistakes.
873 1.1 mrg
874 1.1 mrg // Entries marked CHECK are particularly uncertain
875 1.1 mrg
876 1.1 mrg // Entries marked MISSING mark Mac characters for which I was unable
877 1.1 mrg // to find a corresponding keysym. (Some for sure don't: e.g. the
878 1.1 mrg // Apple mark and the oe/OE character; others I may have simply not
879 1.1 mrg // found.)
880 1.1 mrg
881 1.1 mrg // Copied from macintosh_vndr/fr
882 1.1 mrg partial alphanumeric_keys
883 1.1 mrg xkb_symbols "mac" {
884 1.1 mrg
885 1.1.1.7 mrg name[Group1]= "French (Macintosh)";
886 1.1 mrg
887 1.1.1.9 mrg key <TLDE> { [ at, numbersign, periodcentered, Ydiaeresis ] }; // MISSING: Ydiaeresis; eherlent : ok in Latin9
888 1.1 mrg key <AE01> { [ ampersand, 1, VoidSymbol, dead_acute ] }; // MISSING: Apple
889 1.1 mrg key <AE02> { [ eacute, 2, ediaeresis, Eacute ] };
890 1.1 mrg key <AE03> { [ quotedbl, 3, VoidSymbol, VoidSymbol ] }; // CHECK all quotemarks
891 1.1 mrg key <AE04> { [ apostrophe, 4, VoidSymbol, VoidSymbol ] };
892 1.1 mrg key <AE05> { [ parenleft, 5, braceleft, bracketleft ] };
893 1.1 mrg // CHECK section
894 1.1 mrg key <AE06> { [ section, 6, paragraph, aring ] };
895 1.1 mrg key <AE07> { [ egrave, 7, guillemotleft, guillemotright ] };
896 1.1 mrg key <AE08> { [ exclam, 8, exclamdown, Ucircumflex ] };
897 1.1 mrg key <AE09> { [ ccedilla, 9, Ccedilla, Aacute ] };
898 1.1 mrg key <AE10> { [ agrave, 0, oslash, VoidSymbol ] }; // MISSING: Oslash
899 1.1 mrg key <AE11> { [ parenright, degree, braceright, bracketright ] };
900 1.1 mrg key <AE12> { [ minus, underscore, emdash, endash ] }; // CHECK dashes
901 1.1 mrg
902 1.1 mrg key <AD01> { [ a, A, ae, AE ] };
903 1.1.1.9 mrg key <AD02> { [ z, Z, Acircumflex, Aring ] };
904 1.1 mrg key <AD03> { [ e, E, ecircumflex, Ecircumflex ] };
905 1.1 mrg key <AD04> { [ r, R, registered, currency ] };
906 1.1 mrg key <AD05> { [ t, T, VoidSymbol, VoidSymbol ] };
907 1.1 mrg key <AD06> { [ y, Y, Uacute, Ydiaeresis ] }; // MISSING: Ydiaeresis; eherlent : ok in Latin9
908 1.1 mrg key <AD07> { [ u, U, VoidSymbol, ordfeminine ] }; // MISSING: ordmasculine?
909 1.1 mrg key <AD08> { [ i, I, icircumflex, idiaeresis ] };
910 1.1.1.9 mrg key <AD09> { [ o, O, oe, OE ] }; // MISSING: oe, OE lacking in Latin1; eherlent ok in Latin9
911 1.1 mrg key <AD10> { [ p, P, VoidSymbol, VoidSymbol ] };
912 1.1 mrg key <AD11> { [dead_circumflex,dead_diaeresis, ocircumflex, Ocircumflex ] };
913 1.1.1.9 mrg key <AD12> { [ dollar, asterisk, EuroSign, yen ] }; // eherlent : EuroSign in Latin9
914 1.1 mrg
915 1.1.1.9 mrg key <AC01> { [ q, Q, acircumflex, Agrave ] };
916 1.1 mrg key <AC02> { [ s, S, Ograve, VoidSymbol ] };
917 1.1 mrg key <AC03> { [ d, D, VoidSymbol, VoidSymbol ] };
918 1.1 mrg key <AC04> { [ f, F, VoidSymbol, periodcentered ] }; // MISSING: oblong script f??
919 1.1 mrg key <AC05> { [ g, G, VoidSymbol, VoidSymbol ] }; // MISSING: kerned fi, fl
920 1.1 mrg key <AC06> { [ h, H, Igrave, Icircumflex ] };
921 1.1 mrg key <AC07> { [ j, J, Idiaeresis, Iacute ] };
922 1.1 mrg key <AC08> { [ k, K, Egrave, Ediaeresis ] };
923 1.1 mrg key <AC09> { [ l, L, notsign, bar ] };
924 1.1 mrg key <AC10> { [ m, M, mu, Oacute ] };
925 1.1 mrg key <AC11> { [ ugrave,percent, Ugrave, ucircumflex ] }; // MISSING: per-mille
926 1.1 mrg key <BKSL> { [ dead_grave, sterling, at, numbersign ] };
927 1.1 mrg
928 1.1 mrg key <LSGT> { [ less, greater, VoidSymbol, VoidSymbol ] };
929 1.1.1.9 mrg key <AB01> { [ w, W, VoidSymbol, VoidSymbol ] }; // MISSING: half-guillemot (single angle bracket)
930 1.1 mrg key <AB02> { [ x, X, VoidSymbol, VoidSymbol ] }; // CHECK similarequal; MISSING: extra-slanted slash
931 1.1 mrg key <AB03> { [ c, C, copyright, cent ] };
932 1.1 mrg key <AB04> { [ v, V, diamond, leftradical ] }; // CHECK diamond, leftradical
933 1.1.1.15 mrg key <AB05> { [ b, B, ssharp, U1E9E ] }; // CHECK: Greek_beta or ssharp?; MISSING: oblong script s
934 1.1 mrg key <AB06> { [ n, N, dead_tilde, asciitilde ] };
935 1.1 mrg key <AB07> { [ comma, question, VoidSymbol, questiondown ] };
936 1.1 mrg key <AB08> { [ semicolon, period, VoidSymbol, periodcentered ] };
937 1.1 mrg key <AB09> { [ colon, slash, division, backslash ] };
938 1.1 mrg key <AB10> { [ equal, plus, VoidSymbol, plusminus ] };
939 1.1 mrg
940 1.1 mrg key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
941 1.1 mrg
942 1.1 mrg key <KPDL> { [ comma,KP_Decimal ] };
943 1.1 mrg
944 1.1 mrg include "level3(ralt_switch)"
945 1.1 mrg };
946 1.1 mrg
947 1.1 mrg partial alphanumeric_keys
948 1.1 mrg xkb_symbols "geo" {
949 1.1 mrg include "ge(basic)"
950 1.1 mrg
951 1.1.1.7 mrg name[Group1]= "Georgian (France, AZERTY Tskapo)";
952 1.1 mrg
953 1.1 mrg key <TLDE> { [ exclam, noSymbol ] };
954 1.1 mrg key <AE01> { [ 0x0100201e, 1 ] };
955 1.1 mrg key <AE02> { [ 0x01002116, 2 ] };
956 1.1 mrg key <AE03> { [ percent, 3 ] };
957 1.1 mrg key <AE04> { [ parenleft, 4 ] };
958 1.1 mrg key <AE05> { [ colon, 5 ] };
959 1.1 mrg key <AE06> { [ semicolon, 6 ] };
960 1.1 mrg key <AE07> { [ question, 7 ] };
961 1.1 mrg key <AE08> { [ 0x01002116, 8 ] };
962 1.1 mrg key <AE09> { [ degree, 9 ] };
963 1.1 mrg key <AE10> { [ parenright, 0 ] };
964 1.1 mrg key <AE11> { [ minus, underscore, 0x01002014 ] };
965 1.1 mrg key <AE12> { [ less, greater ] };
966 1.1 mrg
967 1.1.1.14 mrg key <AD01> { [ Georgian_an, 0x010010fa ] };
968 1.1.1.14 mrg key <AD02> { [ Georgian_zen, Z ] };
969 1.1.1.14 mrg key <AD03> { [ Georgian_en, E, Georgian_he ] };
970 1.1.1.14 mrg key <AD04> { [ Georgian_rae, 0x010000ae ] };
971 1.1.1.14 mrg key <AD05> { [ Georgian_tar, T ] };
972 1.1.1.14 mrg key <AD06> { [ Georgian_qar, 0x010010f8 ] };
973 1.1.1.14 mrg key <AD07> { [ Georgian_un, U ] };
974 1.1.1.14 mrg key <AD08> { [ Georgian_in, Georgian_hie ] };
975 1.1.1.14 mrg key <AD09> { [ Georgian_on, O ] };
976 1.1.1.14 mrg key <AD10> { [ Georgian_par, P ] };
977 1.1.1.14 mrg key <AD11> { [ Georgian_tan, T ] };
978 1.1.1.14 mrg key <AD12> { [ Georgian_jil, Z ] };
979 1.1.1.14 mrg
980 1.1.1.14 mrg key <AC01> { [ Georgian_khar, Q ] };
981 1.1.1.14 mrg key <AC02> { [ Georgian_san, S ] };
982 1.1.1.14 mrg key <AC03> { [ Georgian_don, D ] };
983 1.1.1.14 mrg key <AC04> { [ Georgian_phar, Georgian_fi ] };
984 1.1.1.14 mrg key <AC05> { [ Georgian_gan, 0x010010f9 ] };
985 1.1.1.14 mrg key <AC06> { [ Georgian_hae, Georgian_hoe ] };
986 1.1.1.14 mrg key <AC07> { [ Georgian_jhan, 0x010010f7 ] };
987 1.1.1.14 mrg key <AC08> { [ Georgian_kan, K ] };
988 1.1.1.14 mrg key <AC09> { [ Georgian_las, L ] };
989 1.1.1.14 mrg key <AC10> { [ Georgian_man, M ] };
990 1.1.1.14 mrg key <AC11> { [ Georgian_zhar, J ] };
991 1.1.1.14 mrg key <BKSL> { [ Georgian_chin, 0x010000a9 ] };
992 1.1.1.14 mrg
993 1.1.1.14 mrg key <LSGT> { [ guillemotleft, guillemotright ] };
994 1.1.1.14 mrg key <AB01> { [ Georgian_cil, W ] };
995 1.1.1.14 mrg key <AB02> { [ Georgian_xan, Georgian_har ] };
996 1.1.1.14 mrg key <AB03> { [ Georgian_can, 0x010000a9 ] };
997 1.1.1.14 mrg key <AB04> { [ Georgian_vin, Georgian_we ] };
998 1.1.1.14 mrg key <AB05> { [ Georgian_ban, B ] };
999 1.1.1.14 mrg key <AB06> { [ Georgian_nar, 0x010010fc ] };
1000 1.1.1.14 mrg key <AB07> { [ comma, 0x01002014 ] };
1001 1.1.1.14 mrg key <AB08> { [ Georgian_shin, S ] };
1002 1.1.1.14 mrg key <AB09> { [ Georgian_ghan, noSymbol ] };
1003 1.1.1.14 mrg key <AB10> { [ Georgian_char, noSymbol ] };
1004 1.1 mrg };
1005 1.1.1.8 mrg
1006 1.1.1.14 mrg // US keyboard made French
1007 1.1.1.14 mrg //
1008 1.1.1.14 mrg // Copyright (C) 2018, Florent Gallaire <f (a] gallai.re>
1009 1.1.1.14 mrg partial alphanumeric_keys
1010 1.1.1.14 mrg xkb_symbols "us" {
1011 1.1.1.14 mrg
1012 1.1.1.19 mrg include "us(basic)"
1013 1.1.1.17 mrg name[Group1]= "French (US)";
1014 1.1.1.15 mrg
1015 1.1.1.15 mrg
1016 1.1.1.15 mrg key <TLDE> { [ grave, asciitilde, dead_grave ] };
1017 1.1.1.15 mrg key <AE06> { [ 6,asciicircum,dead_circumflex ] };
1018 1.1.1.14 mrg
1019 1.1.1.14 mrg key <AB01> { [ z, Z, acircumflex, Acircumflex ] }; //
1020 1.1.1.14 mrg key <AB03> { [ c, C, ccedilla, Ccedilla ] }; //
1021 1.1.1.14 mrg
1022 1.1.1.14 mrg key <AC01> { [ a, A, agrave, Agrave ] }; //
1023 1.1.1.14 mrg key <AC02> { [ s, S, ae, AE ] }; //
1024 1.1.1.14 mrg key <AC03> { [ d, D, ecircumflex, Ecircumflex ] }; //
1025 1.1.1.14 mrg key <AC04> { [ f, F, ediaeresis, Ediaeresis ] }; //
1026 1.1.1.14 mrg key <AC06> { [ h, H, udiaeresis, Udiaeresis ] }; //
1027 1.1.1.14 mrg key <AC07> { [ j, J, ucircumflex, Ucircumflex ] }; //
1028 1.1.1.14 mrg key <AC08> { [ k, K, icircumflex, Icircumflex ] }; //
1029 1.1.1.18 mrg key <AC11> { [apostrophe, quotedbl,dead_diaeresis, degree ] };
1030 1.1.1.14 mrg
1031 1.1.1.14 mrg key <AD03> { [ e, E, eacute, Eacute ] }; //
1032 1.1.1.14 mrg key <AD04> { [ r, R, egrave, Egrave ] }; //
1033 1.1.1.14 mrg key <AD06> { [ y, Y, ydiaeresis, Ydiaeresis ] }; //
1034 1.1.1.14 mrg key <AD07> { [ u, U, ugrave, Ugrave ] }; //
1035 1.1.1.14 mrg key <AD08> { [ i, I, idiaeresis, Idiaeresis ] }; //
1036 1.1.1.14 mrg key <AD09> { [ o, O, ocircumflex, Ocircumflex ] }; //
1037 1.1.1.14 mrg key <AD10> { [ p, P, oe, OE ] }; //
1038 1.1.1.14 mrg key <AD11> { [ bracketleft, braceleft, guillemotleft, leftdoublequotemark ] }; //
1039 1.1.1.14 mrg key <AD12> { [bracketright, braceright, guillemotright, rightdoublequotemark ] }; //
1040 1.1.1.14 mrg
1041 1.1.1.14 mrg key <AE04> { [ 4, dollar, EuroSign, currency ] }; //
1042 1.1.1.19 mrg
1043 1.1.1.19 mrg include "level3(ralt_switch)"
1044 1.1.1.19 mrg include "eurosign(5)"
1045 1.1.1.14 mrg };
1046 1.1.1.14 mrg
1047 1.1.1.8 mrg // EXTRAS:
1048 1.1.1.8 mrg
1049 1.1.1.8 mrg partial alphanumeric_keys
1050 1.1.1.8 mrg xkb_symbols "sun_type6" {
1051 1.1.1.8 mrg include "sun_vndr/fr(sun_type6)"
1052 1.1.1.8 mrg };
1053 1.1.1.12 snj
1054 1.1.1.12 snj
1055 1.1.1.12 snj partial alphanumeric_keys
1056 1.1.1.12 snj xkb_symbols "azerty" {
1057 1.1.1.13 mrg name[Group1]="French (AZERTY)";
1058 1.1.1.12 snj
1059 1.1.1.12 snj include "level3(ralt_switch)"
1060 1.1.1.12 snj
1061 1.1.1.12 snj // French AZERTY-Keyboard layout
1062 1.1.1.12 snj // Author : 2015, Mats Blakstad <mats @ globalbility.org>
1063 1.1.1.12 snj // Based on the layout at https://en.wikipedia.org/wiki/File:KB_France.svg
1064 1.1.1.12 snj
1065 1.1.1.12 snj // LAYOUT OVERVIEW
1066 1.1.1.12 snj // ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ _______
1067 1.1.1.12 snj // | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | | + | <-- |
1068 1.1.1.12 snj // | | & | ~| " #| ' {| ( [| - || `| _ \| ^| @| ) ]| = }| |
1069 1.1.1.12 snj // ========================================================================
1070 1.1.1.12 snj // | |<- | A | Z | E | R | T | Y | U | I | O | P | | $ | , |
1071 1.1.1.12 snj // | ->| | a | z | e | r | t | y | u | i | o | p | ^ | | <-' |
1072 1.1.1.12 snj // =================================================================== |
1073 1.1.1.12 snj // | | Q | S | D | F | G | H | J | K | L | M | % | | |
1074 1.1.1.12 snj // | MAJ | q | s | d | f | g | h | j | k | l | m | | * | |
1075 1.1.1.12 snj // ========================================================================
1076 1.1.1.12 snj // | ^ | > | W | X | C | V | B | N | ? | . | / | | ^ |
1077 1.1.1.12 snj // | | | < | w | x | c | v | b | n | , | ; | : | ! | | |
1078 1.1.1.12 snj // ========================================================================
1079 1.1.1.12 snj // | | | | | | | | |
1080 1.1.1.12 snj // | Ctrl | Super| Alt | Space Nobreakspace | AltGr | Super|Menu | Ctrl |
1081 1.1.1.12 snj //
1082 1.1.1.12 snj
1083 1.1.1.12 snj // First row
1084 1.1.1.12 snj key <TLDE> { [ twosuperior ] };
1085 1.1.1.12 snj key <AE01> { [ ampersand, 1 ] };
1086 1.1.1.12 snj key <AE02> { [ eacute, 2, asciitilde ] };
1087 1.1.1.12 snj key <AE03> { [ quotedbl, 3, numbersign ] };
1088 1.1.1.12 snj key <AE04> { [ apostrophe, 4, braceleft ] };
1089 1.1.1.12 snj key <AE05> { [ parenleft, 5, bracketleft ] };
1090 1.1.1.12 snj key <AE06> { [ minus, 6, bar ] };
1091 1.1.1.12 snj key <AE07> { [ egrave, 7, grave ] };
1092 1.1.1.12 snj key <AE08> { [ underscore, 8, backslash ] };
1093 1.1.1.12 snj key <AE09> { [ ccedilla, 9, asciicircum ] };
1094 1.1.1.12 snj key <AE10> { [ agrave, 0, at ] };
1095 1.1.1.12 snj key <AE11> { [ parenright, degree, bracketright ] };
1096 1.1.1.12 snj key <AE12> { [ equal, plus, braceright ] };
1097 1.1.1.12 snj
1098 1.1.1.12 snj // Second row
1099 1.1.1.12 snj key <AD01> { [ a, A ] };
1100 1.1.1.12 snj key <AD02> { [ z, Z ] };
1101 1.1.1.12 snj key <AD03> { [ e, E, EuroSign ] };
1102 1.1.1.12 snj key <AD04> { [ r, R ] };
1103 1.1.1.12 snj key <AD05> { [ t, T ] };
1104 1.1.1.12 snj key <AD06> { [ y, Y ] };
1105 1.1.1.12 snj key <AD07> { [ u, U ] };
1106 1.1.1.12 snj key <AD08> { [ i, I ] };
1107 1.1.1.12 snj key <AD09> { [ o, O ] };
1108 1.1.1.12 snj key <AD10> { [ p, P ] };
1109 1.1.1.12 snj key <AD11> { [ dead_circumflex,dead_diaeresis ] };
1110 1.1.1.12 snj key <AD12> { [ dollar, sterling, currency ] };
1111 1.1.1.12 snj
1112 1.1.1.12 snj // Third row
1113 1.1.1.12 snj key <AC01> { [ q, Q ] };
1114 1.1.1.12 snj key <AC02> { [ s, S ] };
1115 1.1.1.12 snj key <AC03> { [ d, D ] };
1116 1.1.1.12 snj key <AC04> { [ f, F ] };
1117 1.1.1.12 snj key <AC05> { [ g, G ] };
1118 1.1.1.12 snj key <AC06> { [ h, H ] };
1119 1.1.1.12 snj key <AC07> { [ j, J ] };
1120 1.1.1.12 snj key <AC08> { [ k, K ] };
1121 1.1.1.12 snj key <AC09> { [ l, L ] };
1122 1.1.1.12 snj key <AC10> { [ m, M ] };
1123 1.1.1.12 snj key <AC11> { [ ugrave, percent ] };
1124 1.1.1.12 snj key <BKSL> { [ asterisk, mu ] };
1125 1.1.1.12 snj
1126 1.1.1.12 snj // Fourth row
1127 1.1.1.12 snj key <LSGT> { [ less, greater ] };
1128 1.1.1.12 snj key <AB01> { [ w, W ] };
1129 1.1.1.12 snj key <AB02> { [ x, X ] };
1130 1.1.1.12 snj key <AB03> { [ c, C ] };
1131 1.1.1.12 snj key <AB04> { [ v, V ] };
1132 1.1.1.12 snj key <AB05> { [ b, B ] };
1133 1.1.1.12 snj key <AB06> { [ n, N ] };
1134 1.1.1.12 snj key <AB07> { [ comma, question ] };
1135 1.1.1.12 snj key <AB08> { [ semicolon, period ] };
1136 1.1.1.12 snj key <AB09> { [ colon, slash ] };
1137 1.1.1.12 snj key <AB10> { [ exclam, section ] };
1138 1.1.1.12 snj };
1139 1.1.1.14 mrg
1140 1.1.1.14 mrg // US keyboard made French (with dead keys, alternative)
1141 1.1.1.14 mrg //
1142 1.1.1.14 mrg // Copyright (C) 2018, Florent Gallaire <f (a] gallai.re>
1143 1.1.1.14 mrg
1144 1.1.1.14 mrg partial alphanumeric_keys
1145 1.1.1.14 mrg xkb_symbols "us-alt" {
1146 1.1.1.14 mrg
1147 1.1.1.19 mrg include "us(basic)"
1148 1.1.1.17 mrg name[Group1]= "French (US with dead keys, alt.)";
1149 1.1.1.14 mrg
1150 1.1.1.14 mrg key <AB03> { [ c, C, ccedilla, Ccedilla ] }; //
1151 1.1.1.14 mrg
1152 1.1.1.14 mrg key <AC01> { [ a, A, ae, AE ] }; //
1153 1.1.1.14 mrg key <AC11> { [dead_diaeresis, quotedbl, apostrophe ] };
1154 1.1.1.14 mrg
1155 1.1.1.14 mrg key <AD03> { [ e, E, eacute, Eacute ] }; //
1156 1.1.1.14 mrg key <AD09> { [ o, O, oe, OE ] }; //
1157 1.1.1.14 mrg key <AD11> { [ bracketleft, braceleft, guillemotleft, leftdoublequotemark ] }; //
1158 1.1.1.14 mrg key <AD12> { [bracketright, braceright, guillemotright, rightdoublequotemark ] }; //
1159 1.1.1.14 mrg
1160 1.1.1.14 mrg key <TLDE> { [dead_grave, asciitilde, grave ] };
1161 1.1.1.14 mrg key <AE06> { [dead_circumflex, asciicircum, 6 ] };
1162 1.1.1.14 mrg key <AE04> { [ 4, dollar, EuroSign, currency ] }; //
1163 1.1.1.19 mrg
1164 1.1.1.19 mrg include "level3(ralt_switch)"
1165 1.1.1.19 mrg include "eurosign(5)"
1166 1.1.1.14 mrg };
1167 1.1.1.14 mrg
1168 1.1.1.15 mrg // For physically modified US keyboard (Q <-> A, W <-> Z and ; <-> M)
1169 1.1.1.15 mrg //
1170 1.1.1.15 mrg // Copyright (C) 2018, Florent Gallaire <f (a] gallai.re>
1171 1.1.1.15 mrg
1172 1.1.1.15 mrg partial alphanumeric_keys
1173 1.1.1.15 mrg xkb_symbols "us-azerty" {
1174 1.1.1.15 mrg
1175 1.1.1.15 mrg include "us"
1176 1.1.1.15 mrg name[Group1]= "French (US, AZERTY)";
1177 1.1.1.15 mrg
1178 1.1.1.15 mrg key <AB01> { [ w, W, guillemotleft, leftdoublequotemark ] }; //
1179 1.1.1.15 mrg key <AB02> { [ x, X,guillemotright,rightdoublequotemark ] }; //
1180 1.1.1.15 mrg key <AB07> { [ semicolon, colon ] };
1181 1.1.1.15 mrg
1182 1.1.1.15 mrg key <AC01> { [ q, Q ] };
1183 1.1.1.15 mrg key <AC10> { [ m, M ] };
1184 1.1.1.15 mrg key <AC11> { [apostrophe, quotedbl, ugrave, Ugrave ] }; //
1185 1.1.1.15 mrg
1186 1.1.1.15 mrg key <AD01> { [ a, A, ae, AE ] }; //
1187 1.1.1.15 mrg key <AD02> { [ z, Z ] };
1188 1.1.1.15 mrg key <AD09> { [ o, O, oe, OE ] }; //
1189 1.1.1.15 mrg key <AD11> { [bracketleft, braceleft,dead_circumflex, dead_diaeresis ] };
1190 1.1.1.15 mrg
1191 1.1.1.15 mrg key <TLDE> { [ grave, asciitilde, dead_grave ] };
1192 1.1.1.15 mrg key <AE02> { [ 2, at, eacute, Eacute ] }; //
1193 1.1.1.15 mrg key <AE04> { [ 4, dollar, currency ] }; //
1194 1.1.1.15 mrg key <AE06> { [ 6,asciicircum,dead_circumflex ] };
1195 1.1.1.15 mrg key <AE07> { [ 7, ampersand, egrave, Egrave ] }; //
1196 1.1.1.15 mrg key <AE09> { [ 9, parenleft, ccedilla, Ccedilla ] }; //
1197 1.1.1.15 mrg key <AE10> { [ 0, parenright, agrave, Agrave ] }; //
1198 1.1.1.15 mrg
1199 1.1.1.15 mrg include "eurosign(e)"
1200 1.1.1.15 mrg include "level3(ralt_switch)"
1201 1.1.1.15 mrg };
1202 1.1.1.16 mrg
1203 1.1.1.16 mrg // Unicode French standardized new azerty
1204 1.1.1.16 mrg // Defined by the French national organization for standardization (AFNOR) in norm NF Z71-300 (http://norme-azerty.fr/)
1205 1.1.1.16 mrg //
1206 1.1.1.16 mrg // Credits
1207 1.1.1.16 mrg // 2019 Cimbali <me @ cimba.li>
1208 1.1.1.16 mrg //
1209 1.1.1.16 mrg //
1210 1.1.1.19 mrg // # 1 2 3 4 5 6 7 8 9 0 " Retour
1211 1.1.1.16 mrg // @ & ( [ ) ] _ ' arrire
1212 1.1.1.16 mrg //
1213 1.1.1.16 mrg // A Z E R T Y U I O P Entre
1214 1.1.1.16 mrg // Tab a z e r t { y } u i o p % - +
1215 1.1.1.16 mrg //
1216 1.1.1.19 mrg // Q S D F G H J K L M \
1217 1.1.1.16 mrg // Maj q s d $ f g h j k l | m / *
1218 1.1.1.16 mrg //
1219 1.1.1.19 mrg // > W X C V B N ? ! =
1220 1.1.1.19 mrg // Shift < w x c v b n ~ . , : ; Shift
1221 1.1.1.16 mrg //
1222 1.1.1.16 mrg // Espace fine inscable
1223 1.1.1.16 mrg // Ctrl Meta Alt Espace Espace inscable AltGr Menu Ctrl
1224 1.1.1.16 mrg //
1225 1.1.1.16 mrg partial alphanumeric_keys
1226 1.1.1.16 mrg xkb_symbols "afnor" {
1227 1.1.1.16 mrg
1228 1.1.1.16 mrg include "latin"
1229 1.1.1.16 mrg include "level3(ralt_switch)"
1230 1.1.1.16 mrg include "nbsp(level3n)"
1231 1.1.1.16 mrg include "keypad(oss)"
1232 1.1.1.16 mrg
1233 1.1.1.17 mrg name[Group1]="French (AZERTY, AFNOR)";
1234 1.1.1.16 mrg
1235 1.1.1.16 mrg // First row
1236 1.1.1.16 mrg key <TLDE> { [ at, numbersign, dead_breve, dead_invertedbreve ] }; // @ # //
1237 1.1.1.16 mrg key <AE01> { [ agrave, 1, section, Agrave ] }; // 1
1238 1.1.1.16 mrg key <AE02> { [ eacute, 2, dead_acute, Eacute ] }; // 2
1239 1.1.1.16 mrg key <AE03> { [ egrave, 3, dead_grave, Egrave ] }; // 3
1240 1.1.1.16 mrg key <AE04> { [ ecircumflex, 4, ampersand, Ecircumflex ] }; // 4 &
1241 1.1.1.16 mrg key <AE05> { [ parenleft, 5, bracketleft, dead_doubleacute ] }; // ( 5 [
1242 1.1.1.16 mrg key <AE06> { [ parenright, 6, bracketright, dead_doublegrave ] }; // ) 6 ]
1243 1.1.1.16 mrg key <AE07> { [ leftsinglequotemark, 7, dead_macron, VoidSymbol ] }; // 7
1244 1.1.1.16 mrg key <AE08> { [rightsinglequotemark, 8, underscore, emdash ] }; // 8 _
1245 1.1.1.16 mrg key <AE09> { [ guillemotleft, 9, leftdoublequotemark, VoidSymbol ] }; // 9
1246 1.1.1.16 mrg key <AE10> { [ guillemotright, 0, rightdoublequotemark, VoidSymbol ] }; // 0
1247 1.1.1.16 mrg key <AE11> { [ apostrophe, quotedbl, degree, dead_abovering ] }; // ' "
1248 1.1.1.16 mrg key <AE12> { [ dead_circumflex, dead_diaeresis, dead_caron, VoidSymbol ] }; // //
1249 1.1.1.16 mrg
1250 1.1.1.19 mrg // Second row
1251 1.1.1.16 mrg key <AD01> { [ a, A, ae, AE ] }; // a A
1252 1.1.1.16 mrg key <AD02> { [ z, Z, sterling, VoidSymbol ] }; // z Z
1253 1.1.1.16 mrg key <AD03> { [ e, E, EuroSign, VoidSymbol ] }; // e E
1254 1.1.1.16 mrg key <AD04> { [ r, R, registered, VoidSymbol ] }; // r R
1255 1.1.1.16 mrg key <AD05> { [ t, T, braceleft, trademark ] }; // t T {
1256 1.1.1.16 mrg key <AD06> { [ y, Y, braceright, VoidSymbol ] }; // y Y }
1257 1.1.1.16 mrg key <AD07> { [ u, U, ugrave, Ugrave ] }; // u U
1258 1.1.1.16 mrg key <AD08> { [ i, I, dead_abovedot, dead_belowdot ] }; // i I //
1259 1.1.1.16 mrg key <AD09> { [ o, O, oe, OE ] }; // o O
1260 1.1.1.16 mrg key <AD10> { [ p, P, percent, permille ] }; // p P %
1261 1.1.1.16 mrg key <AD11> { [ minus, endash, 0x1002212, 0x1002011 ] }; // - // signe moins (minus sign), trait d'union inscable (non-breaking hyphen)
1262 1.1.1.16 mrg key <AD12> { [ plus, plusminus, dagger, doubledagger ] }; // +
1263 1.1.1.16 mrg
1264 1.1.1.19 mrg // Third row
1265 1.1.1.16 mrg key <AC01> { [ q, Q, Greek_theta, VoidSymbol ] }; // q Q
1266 1.1.1.16 mrg key <AC02> { [ s, S, ssharp, 0x1001E9E ] }; // s S // lettre majuscule latine S dur (latin capital letter sharp s)
1267 1.1.1.16 mrg key <AC03> { [ d, D, dollar, VoidSymbol ] }; // d D $
1268 1.1.1.16 mrg key <AC04> { [ f, F, dead_currency, VoidSymbol ] }; // f F
1269 1.1.1.16 mrg key <AC05> { [ g, G, dead_greek, VoidSymbol ] }; // g G
1270 1.1.1.16 mrg key <AC06> { [ h, H, VoidSymbol, dead_belowmacron ] }; // h H // Missing dead key for other european keys ()
1271 1.1.1.16 mrg key <AC07> { [ j, J, VoidSymbol, VoidSymbol ] }; // j J
1272 1.1.1.16 mrg key <AC08> { [ k, K, dead_longsolidusoverlay, VoidSymbol ] }; // k K //
1273 1.1.1.16 mrg key <AC09> { [ l, L, bar, VoidSymbol ] }; // l L |
1274 1.1.1.16 mrg key <AC10> { [ m, M, infinity, VoidSymbol ] }; // m M
1275 1.1.1.16 mrg key <AC11> { [ slash, backslash, division, radical ] }; // / \
1276 1.1.1.16 mrg key <BKSL> { [ asterisk, onehalf, multiply, onequarter ] }; // *
1277 1.1.1.16 mrg
1278 1.1.1.16 mrg // Fourth row
1279 1.1.1.16 mrg key <LSGT> { [ less, greater, lessthanequal, greaterthanequal ] }; // < >
1280 1.1.1.16 mrg key <AB01> { [ w, W, ezh, EZH ] }; // w W
1281 1.1.1.16 mrg key <AB02> { [ x, X, copyright, VoidSymbol ] }; // x X
1282 1.1.1.16 mrg key <AB03> { [ c, C, ccedilla, Ccedilla ] }; // c C
1283 1.1.1.16 mrg key <AB04> { [ v, V, dead_cedilla, dead_ogonek ] }; // v V //
1284 1.1.1.16 mrg key <AB05> { [ b, B, dead_stroke, VoidSymbol ] }; // b B //
1285 1.1.1.16 mrg key <AB06> { [ n, N, dead_tilde, VoidSymbol ] }; // n N ~
1286 1.1.1.16 mrg key <AB07> { [ period, question, questiondown, VoidSymbol ] }; // . ?
1287 1.1.1.16 mrg key <AB08> { [ comma, exclam, exclamdown, dead_belowcomma ] }; // , ! //
1288 1.1.1.16 mrg key <AB09> { [ colon, ellipsis, periodcentered, VoidSymbol ] }; // :
1289 1.1.1.16 mrg key <AB10> { [ semicolon, equal, similarequal, notequal ] }; // ; =
1290 1.1.1.16 mrg };
1291