fr revision 1c606da7
1797b363dSmrgdefault  partial alphanumeric_keys
2154daed1Smrgxkb_symbols "basic" {
3154daed1Smrg
4154daed1Smrg    include "latin"
5154daed1Smrg
6bfd7cbc1Smrg    name[Group1]="French";
7154daed1Smrg
8154daed1Smrg    key <AE01>	{ [ ampersand,          1,  onesuperior,   exclamdown ]	};
9154daed1Smrg    key <AE02>	{ [    eacute,          2,   asciitilde,    oneeighth ]	};
10154daed1Smrg    key <AE03>	{ [  quotedbl,          3,   numbersign,     sterling ]	};
11154daed1Smrg    key <AE04>	{ [apostrophe,          4,    braceleft,       dollar ]	};
12154daed1Smrg    key <AE05>	{ [ parenleft,          5,  bracketleft, threeeighths ]	};
13154daed1Smrg    key <AE06>	{ [     minus,          6,          bar,  fiveeighths ]	};
14154daed1Smrg    key <AE07>	{ [    egrave,          7,        grave, seveneighths ]	};
15154daed1Smrg    key <AE08>	{ [underscore,          8,    backslash,    trademark ]	};
16154daed1Smrg    key <AE09>	{ [  ccedilla,          9,  asciicircum,    plusminus ]	};
17154daed1Smrg    key <AE10>	{ [    agrave,          0,           at,       degree ]	};
18154daed1Smrg    key <AE11>	{ [parenright,     degree, bracketright, questiondown ]	};
19154daed1Smrg    key <AE12>	{ [     equal,       plus,   braceright,  dead_ogonek ]	};
20154daed1Smrg
21154daed1Smrg    key <AD01>	{ [         a,          A,           ae,           AE ]	};
22154daed1Smrg    key <AD02>	{ [         z,          Z, guillemotleft,        less ]	};
23154daed1Smrg    key <AD03>	{ [         e,          E,     EuroSign,         cent ]	};
24154daed1Smrg    key <AD11>	{ [dead_circumflex, dead_diaeresis, dead_diaeresis, dead_abovering ] };
25154daed1Smrg    key <AD12>	{ [    dollar,   sterling,     currency,  dead_macron ]	};
26154daed1Smrg
27154daed1Smrg    key <AC01>	{ [         q,          Q,           at,  Greek_OMEGA ]	};
28154daed1Smrg    key <AC10>	{ [         m,          M,           mu,    masculine ]	};
29154daed1Smrg    key <AC11>	{ [    ugrave,    percent, dead_circumflex, dead_caron]	};
30154daed1Smrg    key <TLDE>	{ [twosuperior, asciitilde,     notsign,      notsign ]	};
31154daed1Smrg
32154daed1Smrg    key <BKSL>	{ [  asterisk,         mu,   dead_grave,   dead_breve ]	};
33154daed1Smrg    key <AB01>	{ [         w,          W,      lstroke,      Lstroke ]	};
34154daed1Smrg    key <AB07>	{ [     comma,   question,   dead_acute, dead_doubleacute ] };
35154daed1Smrg    key <AB08>	{ [ semicolon,     period, horizconnector,   multiply ]	};
36154daed1Smrg    key <AB09>	{ [     colon,      slash, periodcentered,   division ]	};
37154daed1Smrg    key <AB10>	{ [    exclam,    section, dead_belowdot, dead_abovedot ] };
38154daed1Smrg
39154daed1Smrg    include "level3(ralt_switch)"
40154daed1Smrg};
41154daed1Smrg
42c067fea9Sghenpartial alphanumeric_keys
43c067fea9Sghenxkb_symbols "olpc" {
44c067fea9Sghen    // Contact: Sayamindu Dasgupta <sayamindu@laptop.org>
45c067fea9Sghen    include "fr(basic)"
46c067fea9Sghen
47bfd7cbc1Smrg    name[Group1]="French";
48c067fea9Sghen
490412cdedSmrg    key <I219>	{ [ less, greater ]	};
500412cdedSmrg    key <AD11>	{ [ dead_circumflex, dead_diaeresis, notsign, dead_abovering ]	};
510412cdedSmrg    key <AB08>	{ [ semicolon, period, underscore, multiply ]	};
520412cdedSmrg    key <TLDE>	{ [ twosuperior, asciitilde, VoidSymbol, VoidSymbol ]	};
530412cdedSmrg
540412cdedSmrg    // Some keys only have the Shift+AltGr character printed on them (alongside
550412cdedSmrg    // the unmodified one). Make such keys shift-invariant so that the printed
560412cdedSmrg    // value is achieved by pressing AltGr or Shift+AltGr.
570412cdedSmrg    key <AB02>	{ [ x,  X,  guillemotright, guillemotright ]	};
589d99ee05Smrg    key <AC02>	{ [ s,  S,  ssharp, U1E9E ]	};
590412cdedSmrg    key <AD02>	{ [ z,  Z,  guillemotleft, guillemotleft ]	};
60c067fea9Sghen};
61c067fea9Sghen
62154daed1Smrgpartial alphanumeric_keys
63154daed1Smrgxkb_symbols "Sundeadkeys" {
64154daed1Smrg
65154daed1Smrg    // Modifies the basic French layout to use the Sun dead keys
66154daed1Smrg
67154daed1Smrg    include "fr(basic)"
68154daed1Smrg
69c067fea9Sghen    key <AD11>	{ [dead_circumflex, dead_diaeresis ]	};
70c067fea9Sghen    key <AB07>	{ [comma,   question,  dead_acute, dead_doubleacute ]	};
71154daed1Smrg};
72154daed1Smrg
73154daed1Smrgpartial alphanumeric_keys
74154daed1Smrgxkb_symbols "sundeadkeys" {
75154daed1Smrg    include "fr(Sundeadkeys)"
76154daed1Smrg
779184b9c8Smrg    name[Group1]="French (with Sun dead keys)";
78154daed1Smrg};
79154daed1Smrg
80154daed1Smrgpartial alphanumeric_keys
81154daed1Smrgxkb_symbols "nodeadkeys" {
82154daed1Smrg
83154daed1Smrg    // Modifies the basic French layout to eliminate all dead keys
84154daed1Smrg
85154daed1Smrg    include "fr(basic)"
86154daed1Smrg
879184b9c8Smrg    name[Group1]="French (no dead keys)";
88154daed1Smrg
89154daed1Smrg    key <AE12>	{ [     equal,       plus,   braceright,       ogonek ]	};
90154daed1Smrg    key <AD11>	{ [asciicircum,  diaeresis ]	};
91154daed1Smrg    key <AD12>	{ [    dollar,   sterling,     currency,       macron ]	};
92154daed1Smrg    key <AC11>	{ [    ugrave,    percent,  asciicircum,        caron ]	};
93154daed1Smrg    key <BKSL>	{ [  asterisk,         mu,        grave,        breve ]	};
94154daed1Smrg    key <AB07>	{ [     comma,   question,        acute,  doubleacute ]	};
95154daed1Smrg    key <AB10>	{ [    exclam,    section, dead_belowdot,    abovedot ]	};
96154daed1Smrg};
97154daed1Smrg
98154daed1Smrg
99154daed1Smrg// Unicode French derivative
100154daed1Smrg// Loose refactoring of the historic Linux French keyboard layout
101154daed1Smrg//
102154daed1Smrg// Copyright © 2006-2008 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
103154daed1Smrg//
104154daed1Smrg// Credits (fr-latin1, fr-latin0, fr-latin9)
105154daed1Smrg//   © 199x-1996 René Cougnenc ✝
106154daed1Smrg//   © 1997-2002 Guylhem Aznar <clavier @ externe.net>
107154daed1Smrg//   © 2003-2006 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
108154daed1Smrg//
109154daed1Smrg// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
110797b363dSmrg// │ ³ ¸ │ 1 ̨  │ 2 É │ 3 ˘ │ 4 — │ 5 – │ 6 ‑ │ 7 È │ 8 ™ │ 9 Ç │ 0 À │ ° ≠ │ + ± ┃ ⌫ Retour┃
111154daed1Smrg// │ ² ¹ │ & ˇ │ é ~ │ " # │ ' { │ ( [ │ - | │ è ` │ _ \ │ ç ^ │ à @ │ ) ] │ = } ┃  arrière┃
112154daed1Smrg// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
113154daed1Smrg// ┃       ┃ A Æ │ Z  │ E ¢ │ R Ê │ T Þ │ Y Ÿ │ U Û │ I Î │ O Œ │ P Ô │ ¨ ˚ │ £ Ø ┃Entrée ┃
114154daed1Smrg// ┃Tab ↹  ┃ a æ │ z â │ e € │ r ê │ t þ │ y ÿ │ u û │ i î │ o œ │ p ô │ ^ ~ │ $ ø ┃   ⏎   ┃
115154daed1Smrg// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓      ┃
116797b363dSmrg// ┃        ┃ Q Ä │ S „ │ D Ë │ F ‚ │ G ¥ │ H Ð │ J Ü │ K Ï │ L Ŀ │ M Ö │ % Ù │ µ ̄  ┃      ┃
117154daed1Smrg// ┃Maj ⇬   ┃ q ä │ s ß │ d ë │ f ‘ │ g ’ │ h ð │ j ü │ k ï │ l ŀ │ m ö │ ù ' │ * ` ┃      ┃
118154daed1Smrg// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫
119154daed1Smrg// ┃       ┃ > ≥ │ W “ │ X ” │ C ® │ V ← │ B ↑ │ N → │ ? … │ . . │ / ∕ │ § − ┃             ┃
120154daed1Smrg// ┃Shift ⇧┃ < ≤ │ w « │ x » │ c © │ v ⍽ │ b ↓ │ n ¬ │ , ¿ │ ; × │ : ÷ │ ! ¡ ┃Shift ⇧      ┃
121154daed1Smrg// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛
122154daed1Smrg// ┃       ┃       ┃       ┃ ␣         Espace fine insécable ⍽ ┃       ┃       ┃       ┃
123154daed1Smrg// ┃Ctrl   ┃Meta   ┃Alt    ┃ ␣ Espace       Espace insécable ⍽ ┃AltGr ⇮┃Menu   ┃Ctrl   ┃
124154daed1Smrg// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
125154daed1Smrgpartial alphanumeric_keys
126154daed1Smrgxkb_symbols "oss" {
127154daed1Smrg
128154daed1Smrg    include "latin"
129154daed1Smrg    include "level3(ralt_switch)"
1300412cdedSmrg    include "nbsp(level4n)"
131154daed1Smrg    include "keypad(oss)"
132154daed1Smrg
1339184b9c8Smrg    name[Group1]="French (alt.)";
134154daed1Smrg
135154daed1Smrg    // First row
136797b363dSmrg    key <TLDE>	{ [      twosuperior,    threesuperior,          onesuperior,          dead_cedilla ] }; // ² ³ ¹ ¸
137154daed1Smrg    key <AE01>	{ [        ampersand,                1,           dead_caron,           dead_ogonek ] }; // & 1 ˇ ̨
138154daed1Smrg    key <AE02>	{ [           eacute,                2,           asciitilde,                Eacute ] }; // é 2 ~ É
139154daed1Smrg    key <AE03>	{ [         quotedbl,                3,           numbersign,            dead_breve ] }; // " 3 # ˘
140154daed1Smrg    key <AE04>	{ [       apostrophe,                4,            braceleft,             0x1002014 ] }; // ' 4 { — (tiret cadratin)
141154daed1Smrg    key <AE05>	{ [        parenleft,                5,          bracketleft,             0x1002013 ] }; // ( 5 [ – (tiret demi-cadratin)
142154daed1Smrg    key <AE06>	{ [            minus,                6,                  bar,             0x1002011 ] }; // - 6 | ‑ (tiret insécable)
143154daed1Smrg    key <AE07>	{ [           egrave,                7,                grave,                Egrave ] }; // è 7 ` È
144154daed1Smrg    key <AE08>	{ [       underscore,                8,            backslash,             trademark ] }; // _ 8 \ ™
145154daed1Smrg    key <AE09>	{ [         ccedilla,                9,          asciicircum,              Ccedilla ] }; // ç 9 ^ Ç
146154daed1Smrg    key <AE10>	{ [           agrave,                0,                   at,                Agrave ] }; // à 0 @ À
147797b363dSmrg    key <AE11>	{ [       parenright,           degree,         bracketright,              notequal ] }; // ) ° ] ≠
148154daed1Smrg    key <AE12>	{ [            equal,             plus,           braceright,             plusminus ] }; // = + } ±
149154daed1Smrg
150154daed1Smrg    // Second row
151154daed1Smrg    key <AD01>	{ [                a,                A,                   ae,                    AE ] }; // a A æ Æ
152154daed1Smrg    key <AD02>	{ [                z,                Z,          acircumflex,           Acircumflex ] }; // z Z â Â
153154daed1Smrg    key <AD03>	{ [                e,                E,             EuroSign,                  cent ] }; // e E € ¢
154154daed1Smrg    key <AD04>	{ [                r,                R,          ecircumflex,           Ecircumflex ] }; // r R ê Ê
155154daed1Smrg    key <AD05>	{ [                t,                T,                thorn,                 THORN ] }; // t T þ Þ
156154daed1Smrg    key <AD06>	{ [                y,                Y,           ydiaeresis,            Ydiaeresis ] }; // y Y ÿ Ÿ
157154daed1Smrg    key <AD07>	{ [                u,                U,          ucircumflex,           Ucircumflex ] }; // u U û Û
158154daed1Smrg    key <AD08>	{ [                i,                I,          icircumflex,           Icircumflex ] }; // i I î Î
159154daed1Smrg    key <AD09>	{ [                o,                O,                   oe,                    OE ] }; // o O œ Œ
160154daed1Smrg    key <AD10>	{ [                p,                P,          ocircumflex,           Ocircumflex ] }; // p P ô Ô
161154daed1Smrg    key <AD11>	{ [  dead_circumflex,   dead_diaeresis,           dead_tilde,        dead_abovering ] }; // ^ ̈ ̃ ˚
162154daed1Smrg    key <AD12>	{ [           dollar,         sterling,               oslash,              Ooblique ] }; // $ £ ø Ø
163154daed1Smrg
164154daed1Smrg    // Third row
165154daed1Smrg    key <AC01>	{ [                q,                Q,           adiaeresis,            Adiaeresis ] }; // q Q ä Ä
166797b363dSmrg    key <AC02>	{ [                s,                S,               ssharp,    doublelowquotemark ] }; // s S ß „
167154daed1Smrg    key <AC03>	{ [                d,                D,           ediaeresis,            Ediaeresis ] }; // d D ë Ë
168154daed1Smrg    key <AC04>	{ [                f,                F,  leftsinglequotemark,    singlelowquotemark ] }; // f F ‘ ‚
169154daed1Smrg    key <AC05>	{ [                g,                G, rightsinglequotemark,                   yen ] }; // g G ’ ¥
170154daed1Smrg    key <AC06>	{ [                h,                H,                  eth,                   ETH ] }; // h H ð Ð
171154daed1Smrg    key <AC07>	{ [                j,                J,           udiaeresis,            Udiaeresis ] }; // j J ü Ü
172154daed1Smrg    key <AC08>	{ [                k,                K,           idiaeresis,            Idiaeresis ] }; // k K ï Ï
173154daed1Smrg    key <AC09>	{ [                l,                L,            0x1000140,             0x100013F ] }; // l L ŀ Ŀ
174154daed1Smrg    key <AC10>	{ [                m,                M,           odiaeresis,            Odiaeresis ] }; // m M ö Ö
175154daed1Smrg    key <AC11>	{ [           ugrave,          percent,           dead_acute,                Ugrave ] }; // ù % ' Ù
176154daed1Smrg    key <BKSL>	{ [         asterisk,               mu,           dead_grave,           dead_macron ] }; // * µ ` ̄
177154daed1Smrg
178154daed1Smrg    // Fourth row
179154daed1Smrg    key <LSGT>  { [             less,          greater,        lessthanequal,      greaterthanequal ] }; // < > ≤ ≥
180154daed1Smrg    key <AB01>  { [                w,                W,        guillemotleft,   leftdoublequotemark ] }; // w W « “
181154daed1Smrg    key <AB02>  { [                x,                X,       guillemotright,  rightdoublequotemark ] }; // x X » ”
182154daed1Smrg    key <AB03>  { [                c,                C,            copyright,            registered ] }; // c C © ®
183154daed1Smrg    key <AB04>  { [                v,                V,            0x100202F,             leftarrow ] }; // v V ⍽ ← (espace fine insécable)
184154daed1Smrg    key <AB05>  { [                b,                B,            downarrow,               uparrow ] }; // b B ↓ ↑
185154daed1Smrg    key <AB06>  { [                n,                N,              notsign,            rightarrow ] }; // n N ¬ →
186154daed1Smrg    key <AB07>  { [            comma,         question,         questiondown,             0x1002026 ] }; // , ? ¿ …
187154daed1Smrg    key <AB08>  { [        semicolon,           period,             multiply,             0x10022C5 ] }; // ; . × ⋅
188154daed1Smrg    key <AB09>  { [            colon,            slash,             division,             0x1002215 ] }; // : / ÷ ∕
189154daed1Smrg    key <AB10>  { [           exclam,          section,           exclamdown,             0x1002212 ] }; // ! § ¡ −
190154daed1Smrg};
191154daed1Smrg
192154daed1Smrgpartial alphanumeric_keys
193154daed1Smrgxkb_symbols "oss_latin9" {
194154daed1Smrg
195154daed1Smrg    // Restricts the fr(oss) layout to latin9 symbols
196154daed1Smrg
197154daed1Smrg    include "fr(oss)"
198154daed1Smrg    include "keypad(oss_latin9)"
199154daed1Smrg
2009184b9c8Smrg    name[Group1]="French (alt., Latin-9 only)";
201154daed1Smrg
202154daed1Smrg    // First row
203154daed1Smrg    key <AE01>	{ [        ampersand,                1,           dead_caron,          dead_cedilla ] }; // & 1 ˇ ¸
204154daed1Smrg    key <AE03>	{ [         quotedbl,                3,           numbersign,            dead_tilde ] }; // " 3 # ~
205154daed1Smrg    key <AE04>	{ [       apostrophe,                4,            braceleft,            underscore ] }; // ' 4 { _
206154daed1Smrg    key <AE05>	{ [        parenleft,                5,          bracketleft,                 minus ] }; // ( 5 [ -
207797b363dSmrg    key <AE06>	{ [            minus,                6,                  bar,                 minus ] }; // - 6 | -
208797b363dSmrg    key <AE08>	{ [       underscore,                8,            backslash,             backslash ] }; // _ 8 \ \
209154daed1Smrg    key <AE11>	{ [       parenright,           degree,         bracketright,                 equal ] }; // ) ° ] =
210154daed1Smrg
211154daed1Smrg    // Third row
212797b363dSmrg    key <AC02>	{ [                s,                S,               ssharp,         guillemotleft ] }; // s S ß «
213154daed1Smrg    key <AC04>	{ [                f,                F,           apostrophe,            apostrophe ] }; // f F ' '
214154daed1Smrg    key <AC05>	{ [                g,                G,           apostrophe,                   yen ] }; // g G ' ¥
215797b363dSmrg    key <AC09>	{ [                l,                L,       periodcentered,        periodcentered ] }; // l L · ·
216797b363dSmrg    key <BKSL>	{ [         asterisk,               mu,           dead_grave,       dead_circumflex ] }; // * µ ` ^
217154daed1Smrg
218154daed1Smrg    // Fourth row
219154daed1Smrg    key <LSGT>  { [             less,          greater,                 less,               greater ] }; // < > < >
220154daed1Smrg    key <AB01>  { [                w,                W,        guillemotleft,         guillemotleft ] }; // w W « «
221154daed1Smrg    key <AB02>  { [                x,                X,       guillemotright,        guillemotright ] }; // x X » »
222154daed1Smrg    key <AB04>  { [                v,                V,         nobreakspace,                  less ] }; // v V ⍽ < (espace insécable)
223154daed1Smrg    key <AB05>  { [                b,                B,                minus,           asciicircum ] }; // b B - ^
224154daed1Smrg    key <AB06>  { [                n,                N,              notsign,               greater ] }; // n N ¬ >
225154daed1Smrg    key <AB07>  { [            comma,         question,         questiondown,                period ] }; // , ? ¿ .
226154daed1Smrg    key <AB08>  { [        semicolon,           period,             multiply,        periodcentered ] }; // ; . × ·
227154daed1Smrg    key <AB09>  { [            colon,            slash,             division,                 slash ] }; // : / ÷ /
228154daed1Smrg    key <AB10>  { [           exclam,          section,           exclamdown,                 minus ] }; // ! § ¡ -
229154daed1Smrg};
230154daed1Smrg
231154daed1Smrgpartial alphanumeric_keys
232154daed1Smrgxkb_symbols "oss_Sundeadkeys" {
233154daed1Smrg
234154daed1Smrg    // Modifies the basic fr(oss) layout to use the Sun dead keys
235154daed1Smrg
236154daed1Smrg    include "fr(oss)"
237154daed1Smrg
238797b363dSmrg    key <TLDE>	{ [      twosuperior,    threesuperior,          onesuperior,          dead_cedilla ] }; // ¹ ² ³ ¸
239154daed1Smrg
240797b363dSmrg    key <AD11>	{ [  dead_circumflex,   dead_diaeresis,           dead_tilde,        dead_abovering ] }; // ^ ̈ ̃ ˚
241154daed1Smrg
242797b363dSmrg    key <AC11>	{ [           ugrave,          percent,           dead_acute,                Ugrave ] }; // ù % ' Ù
243797b363dSmrg    key <BKSL>	{ [         asterisk,               mu,           dead_grave,           dead_macron ] }; // * µ ` ̄
244154daed1Smrg};
245154daed1Smrg
246154daed1Smrgpartial alphanumeric_keys
247154daed1Smrgxkb_symbols "oss_sundeadkeys" {
248154daed1Smrg
249154daed1Smrg    include "fr(oss_Sundeadkeys)"
250154daed1Smrg
2519184b9c8Smrg    name[Group1]="French (alt., with Sun dead keys)";
252154daed1Smrg};
253154daed1Smrg
254154daed1Smrgpartial alphanumeric_keys
255154daed1Smrgxkb_symbols "oss_nodeadkeys" {
256154daed1Smrg
257154daed1Smrg    // Modifies the basic fr(oss) layout to eliminate all dead keys
258154daed1Smrg
259154daed1Smrg    include "fr(oss)"
260154daed1Smrg
2619184b9c8Smrg    name[Group1]="French (alt., no dead keys)";
262154daed1Smrg
263797b363dSmrg    key <TLDE>	{ [      twosuperior,    threesuperior,          onesuperior,               cedilla ] }; // ² ³ ¹ ¸
264154daed1Smrg    key <AE01>	{ [        ampersand,                1,                caron,                ogonek ] }; // & 1 ˇ ̨
265154daed1Smrg    key <AE03>	{ [         quotedbl,                3,           numbersign,                 breve ] }; // " 3 # ˘
266154daed1Smrg
267797b363dSmrg    key <AD11>	{ [      asciicircum,        diaeresis,           asciitilde,                 Aring ] }; // ^ ̈ ̃ Å
268154daed1Smrg    key <AC11>	{ [           ugrave,          percent,                acute,                Ugrave ] }; // ù % ' Ù
269154daed1Smrg    key <BKSL>	{ [         asterisk,               mu,                grave,                macron ] }; // * µ ` ̄
270154daed1Smrg};
271154daed1Smrg
272154daed1Smrg
273154daed1Smrg// Historic Linux French keyboard layout (fr-latin9)
274154daed1Smrg// Copyright (c) 199x, 2002 Rene Cougnenc (original work)
275154daed1Smrg//                          Guylhem Aznar <clavier @ externe.net> (maintainer)
276154daed1Smrg//                          Nicolas Mailhot <Nicolas.Mailhot @ laposte.net>
277154daed1Smrg//                              (XFree86 submission)
278154daed1Smrg//
279154daed1Smrg// This layout has long been distributed and refined outside official channels.
280154daed1Smrg// To this day it remains more feature-rich and popular than the 'fr' layout.
281154daed1Smrg//
282797b363dSmrg// This layout is derived from an original version by Guylhem Aznar.
283797b363dSmrg// The original version is always available from:
284154daed1Smrg// http://en.tldp.org/HOWTO/Francophones-HOWTO.html
285154daed1Smrg// and is distributed under a GPL license.
286154daed1Smrg//
287154daed1Smrg// The author has given permission for this derived version to be distributed
288154daed1Smrg// under the standard XFree86 license. He would like all changes to this
289797b363dSmrg// version to be sent to him at <clavier @ externe.net>, so he can sync
290797b363dSmrg// the identically named linux console map (kbd, linux-console) and his
291797b363dSmrg// out-of-tree GPL version.
292154daed1Smrg//
293154daed1Smrg// Now follows the keyboard design description in French.
294154daed1Smrg// (If you can't read it you probably have no business changing this file anyway:)
295154daed1Smrg//
296154daed1Smrg// Les accents circonflexes des principales voyelles sont obtenus avec
297154daed1Smrg// la touche Alt_Gr, les trémas sont obtenus par Alt_Gr + Shift.
298154daed1Smrg//
299154daed1Smrg//  ____                                     _________ _____________ _______
300154daed1Smrg// | S A| S = Shift,  A = AltGr + Shift     | Imprime | Arrêt défil | Pause |
301154daed1Smrg// | s a| s = normal, a = AltGr             |  Exec   |             | Halte |
302154daed1Smrg//  ¯¯¯¯                                     ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯
303154daed1Smrg//  ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ _______
304154daed1Smrg// | œ "| 1 ·| 2 É| 3 ,| 4 '| 5 "| 6 || 7 È| 8 ¯| 9 Ç| 0 À| ° ÿ| + °| <--   |
305154daed1Smrg// | Œ "| & '| é ~| " #| ' {| ( [| - || è `| _ \| ç ^| à @| ) ]| = }|       |
306154daed1Smrg//  ========================================================================
307154daed1Smrg// | |<-  | A ä| Z Å| E ¢| R Ç| T Þ| Y Ý| U ü| I ï| O ö| P '| " `| $ ë|   , |
308154daed1Smrg// |  ->| | a â| z å| e €| r ç| t þ| y ý| u û| i î| o ô| p ¶| ^ ~| £ ê| <-' |
309154daed1Smrg//  ===================================================================¬    |
310154daed1Smrg// |       | Q Ä| S Ø| D Ë| F ª| G Æ| H Ð| J Ü| K Ï| L Ö| M º| % Ù| µ ¥|    |
311154daed1Smrg// | MAJ   | q Â| s ø| d Ê| f ±| g æ| h ð| j Û| k Î| l Ô| m ¹| ù ²| * ³|    |
312154daed1Smrg//  ========================================================================
313154daed1Smrg// | ^   | >  | W  | X  | C  | V  | B  | N  | ?  | .  | /  | §  |     ^     |
314154daed1Smrg// | |   | < || w «| x »| c ©| v ®| b ß| n ¬| , ¿| ; ×| : ÷| ! ¡|     |     |
315154daed1Smrg//  ========================================================================
316154daed1Smrg// |      |      |      |                       |       |      |     |      |
317154daed1Smrg// | Ctrl | Super| Alt  | Space    Nobreakspace | AltGr | Super|Menu | Ctrl |
318154daed1Smrg//  ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯ ¯¯¯¯¯¯
319154daed1Smrg//
320154daed1Smrg//
321154daed1Smrg//		Si les touches mortes fonctionnent, utiliser les accents dits
322154daed1Smrg//		« morts », i.e. fonctionnant comme l'accent circonflexe & le
323154daed1Smrg//		tréma des machines à écrire ; sont disponibles :
324154daed1Smrg//
325154daed1Smrg// (^) : accent circonflexe,
326154daed1Smrg// Shift+(^) : tréma,
327797b363dSmrg// Shift+AltGr+(^) : tilde,
328797b363dSmrg// AltGr+(1) : accent aigu,
329797b363dSmrg// AltGr+(7) : accent grave
330154daed1Smrg//
331154daed1Smrg// Pour s'en servir, procéder comme avec l'accent circonflexe & le tréma
332154daed1Smrg// sur les vielles machines à écrire :
333154daed1Smrg//
334797b363dSmrg// AltGr+(1) puis e : é
335797b363dSmrg// AltGr+(1) puis E : É
336797b363dSmrg//
337154daed1Smrgpartial alphanumeric_keys
338154daed1Smrg
339154daed1Smrgxkb_symbols "latin9" {
340154daed1Smrg
341154daed1Smrg    include "latin"
342154daed1Smrg    include "nbsp(level3)"
343154daed1Smrg
3449184b9c8Smrg    name[Group1]="French (legacy, alt.)";
345154daed1Smrg
346154daed1Smrg    key <TLDE>	{ [              oe,              OE, leftdoublequotemark, rightdoublequotemark ] };
347154daed1Smrg    key <AE01>	{ [       ampersand,               1,          dead_acute,       periodcentered ] };
348154daed1Smrg    key <AE02>	{ [          eacute,               2,          asciitilde,               Eacute ] };
349154daed1Smrg    key <AE03>	{ [        quotedbl,               3,          numbersign,              cedilla ] };
350154daed1Smrg    key <AE04>	{ [      apostrophe,               4,           braceleft,                acute ] };
351154daed1Smrg    key <AE05>	{ [       parenleft,               5,         bracketleft,            diaeresis ] };
352154daed1Smrg    key <AE06>	{ [           minus,               6,                 bar,            brokenbar ] };
353154daed1Smrg    key <AE07>	{ [          egrave,               7,          dead_grave,               Egrave ] };
354154daed1Smrg    key <AE08>	{ [      underscore,               8,           backslash,               macron ] };
355154daed1Smrg    key <AE09>	{ [        ccedilla,               9,         asciicircum,             Ccedilla ] };
356154daed1Smrg    key <AE10>	{ [          agrave,               0,                  at,               Agrave ] };
357154daed1Smrg    key <AE11>	{ [      parenright,          degree,        bracketright,           ydiaeresis ] };
358154daed1Smrg    key <AE12>	{ [           equal,            plus,          braceright,       dead_abovering ] };
359154daed1Smrg
360154daed1Smrg    key <AD01>	{ [               a,               A,         acircumflex,           adiaeresis ] };
361154daed1Smrg    key <AD02>	{ [               z,               Z,               aring,                Aring ] };
362154daed1Smrg    key <AD03>	{ [               e,               E,            EuroSign,                 cent ] };
363154daed1Smrg    key <AD04>	{ [               r,               R,            ccedilla,             Ccedilla ] };
364154daed1Smrg    key <AD05>	{ [               t,               T,               thorn,                THORN ] };
365154daed1Smrg    key <AD06>	{ [               y,               Y,              yacute,               Yacute ] };
366154daed1Smrg    key <AD07>	{ [               u,               U,         ucircumflex,           udiaeresis ] };
367154daed1Smrg    key <AD08>	{ [               i,               I,         icircumflex,           idiaeresis ] };
368154daed1Smrg    key <AD09>	{ [               o,               O,         ocircumflex,           odiaeresis ] };
369797b363dSmrg    key <AD10>	{ [               p,               P,           paragraph,                grave ] };
370797b363dSmrg    key <AD11>	{ [ dead_circumflex,  dead_diaeresis,          dead_tilde,           apostrophe ] };
371154daed1Smrg    key <AD12>	{ [          dollar,	    sterling,         ecircumflex,           ediaeresis ] };
372154daed1Smrg
373154daed1Smrg    key <AC01>	{ [               q,               Q,         Acircumflex,           Adiaeresis ] };
374154daed1Smrg    key <AC02>	{ [               s,               S,              oslash,             Ooblique ] };
375154daed1Smrg    key <AC03>	{ [               d,               D,         Ecircumflex,           Ediaeresis ] };
376154daed1Smrg    key <AC04>	{ [               f,               F,           plusminus,          ordfeminine ] };
377154daed1Smrg    key <AC05>	{ [               g,               G,                  ae,                   AE ] };
378154daed1Smrg    key <AC06>	{ [               h,               H,                 eth,                  ETH ] };
379154daed1Smrg    key <AC07>	{ [               j,               J,         Ucircumflex,           Udiaeresis ] };
380154daed1Smrg    key <AC08>	{ [               k,               K,         Icircumflex,           Idiaeresis ] };
381154daed1Smrg    key <AC09>	{ [               l,               L,         Ocircumflex,           Odiaeresis ] };
382154daed1Smrg    key <AC10>	{ [               m,               M,         onesuperior,            masculine ] };
383154daed1Smrg    key <AC11>	{ [          ugrave,         percent,         twosuperior,               Ugrave ] };
384154daed1Smrg    key <BKSL>  { [        asterisk,              mu,       threesuperior,                  yen ] };
385154daed1Smrg
386154daed1Smrg    key <LSGT>	{ [            less,         greater,                 bar                       ] };
387154daed1Smrg    key <AB01>	{ [               w,               W,       guillemotleft	        	] };
388154daed1Smrg    key <AB02>	{ [               x,               X,      guillemotright                       ] };
389154daed1Smrg    key <AB03>	{ [               c,               C,           copyright                       ] };
390154daed1Smrg    key <AB04>	{ [               v,               V,          registered		        ] };
3919d99ee05Smrg    key <AB05>	{ [               b,               B,              ssharp,                U1E9E ] };
392154daed1Smrg    key <AB06>	{ [               n,               N,             notsign                       ] };
393154daed1Smrg    key <AB07>	{ [           comma,        question,        questiondown                       ] };
394154daed1Smrg    key <AB08>	{ [       semicolon,          period,            multiply		        ] };
395154daed1Smrg    key <AB09>	{ [           colon,           slash,            division                       ] };
396154daed1Smrg    key <AB10>	{ [          exclam,         section,          exclamdown                       ] };
397154daed1Smrg
398154daed1Smrg    // French uses a comma as decimal separator, but keyboards are labeled with a period
399154daed1Smrg    // Will take effect when KP_Decimal is mapped to the locale decimal separator
400c067fea9Sghen    key <KPDL>  { [       KP_Delete,      KP_Decimal,           KP_Delete,           KP_Decimal ] };
401154daed1Smrg
402154daed1Smrg    include "level3(ralt_switch)"
403154daed1Smrg};
404154daed1Smrg
405154daed1Smrgpartial alphanumeric_keys
406154daed1Smrgxkb_symbols "latin9_Sundeadkeys" {
407154daed1Smrg
408154daed1Smrg    // Modifies the basic fr-latin9 layout to use the Sun dead keys
409154daed1Smrg
410154daed1Smrg    include "fr(latin9)"
411154daed1Smrg
412c067fea9Sghen    key <AE01>	{ [       ampersand,               1,         dead_acute,       periodcentered ] };
413c067fea9Sghen    key <AE07>	{ [          egrave,               7,         dead_grave,               Egrave ] };
414797b363dSmrg    key <AD11>	{ [ dead_circumflex,  dead_diaeresis,         dead_tilde,           apostrophe ] };
415154daed1Smrg};
416154daed1Smrg
417154daed1Smrgpartial alphanumeric_keys
418154daed1Smrgxkb_symbols "latin9_sundeadkeys" {
419154daed1Smrg
420154daed1Smrg    include "fr(latin9_Sundeadkeys)"
421154daed1Smrg
4229184b9c8Smrg    name[Group1]="French (legacy, alt., with Sun dead keys)";
423154daed1Smrg};
424154daed1Smrg
425154daed1Smrgpartial alphanumeric_keys
426154daed1Smrgxkb_symbols "latin9_nodeadkeys" {
427154daed1Smrg
428154daed1Smrg    // Modifies the basic fr-latin9 layout to eliminate all dead keys
429154daed1Smrg
430154daed1Smrg    include "fr(latin9)"
431154daed1Smrg
4329184b9c8Smrg    name[Group1]="French (legacy, alt., no dead keys)";
433154daed1Smrg
434154daed1Smrg    key <AE01>	{ [       ampersand,               1,          apostrophe,       periodcentered ] };
435154daed1Smrg    key <AE07>	{ [          egrave,               7,               grave,               Egrave ] };
436154daed1Smrg    key <AE12>	{ [           equal,            plus,          braceright         	        ] };
437797b363dSmrg    key <AD11>	{ [	asciicircum,  	   diaeresis,          asciitilde,           apostrophe ] };
438154daed1Smrg};
439154daed1Smrg
440154daed1Smrg// Bépo : Improved ergonomic french keymap using Dvorak method.
441c067fea9Sghen// Built by community on 'Dvorak Fr / Bépo' :
442c067fea9Sghen// see http://www.clavier-dvorak.org/wiki/ to join and help.
443c067fea9Sghen// XOrg integration (1.0rc2 version) in 2008
444c067fea9Sghen// by Frédéric Boiteux <fboiteux at free dot fr>
445154daed1Smrg//
446c067fea9Sghen// Bépo layout (1.0rc2 version) for a pc105 keyboard (french) :
447797b363dSmrg// ┌─────┐
448797b363dSmrg// │ S A │   S = Shift,  A = AltGr + Shift
449797b363dSmrg// │ s a │   s = normal, a = AltGr
450797b363dSmrg// └─────┘
451154daed1Smrg//
452154daed1Smrg// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
453c067fea9Sghen// │ # ¶ │ 1 „ │ 2 “ │ 3 ” │ 4 ≤ │ 5 ≥ │ 6   │ 7 ¬ │ 8 ¼ │ 9 ½ │ 0 ¾ │ ° ′ │ ` ″ ┃ ⌫ Retour┃
454c067fea9Sghen// │ $ – │ " — │ « < │ » > │ ( [ │ ) ] │ @ ^ │ + ± │ - − │ / ÷ │ * × │ = ≠ │ % ‰ ┃  arrière┃
455154daed1Smrg// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
456c067fea9Sghen// ┃       ┃ B ¦ │ É ˝ │ P § │ O Œ │ È ` │ !   │ V   │ D Ð │ L   │ J IJ │ Z Ə │ W   ┃Entrée ┃
457797b363dSmrg// ┃Tab ↹  ┃ b | │ é ˊ │ p & │ o œ │ è ` │ ˆ ¡ │ v ˇ │ d ð │ l / │ j ij │ z ə │ w ̆  ┃   ⏎   ┃
458154daed1Smrg// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓      ┃
459797b363dSmrg// ┃        ┃ A Æ │ U Ù │ I ˙ │ E ¤ │ ; ̛  │ C ſ │ T Þ │ S ẞ │ R ™ │ N   │ M º │ Ç , ┃      ┃
460797b363dSmrg// ┃Maj ⇬   ┃ a æ │ u ù │ i ̈  │ e € │ , ’ │ c © │ t þ │ s ß │ r ® │ n ˜ │ m ¯ │ ç ¸ ┃      ┃
461154daed1Smrg// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫
462797b363dSmrg// ┃       ┃ Ê   │ À   │ Y ‘ │ X ’ │ : · │ K   │ ? ̉  │ Q ̣  │ G   │ H ‡ │ F ª ┃             ┃
463c067fea9Sghen// ┃Shift ⇧┃ ê / │ à \ │ y { │ x } │ . … │ k ~ │ ' ¿ │ q ˚ │ g µ │ h † │ f ˛ ┃Shift ⇧      ┃
464154daed1Smrg// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛
465c067fea9Sghen// ┃       ┃       ┃       ┃ Espace inséc.   Espace inséc. fin ┃       ┃       ┃       ┃
466c067fea9Sghen// ┃Ctrl   ┃Meta   ┃Alt    ┃ ␣ (Espace)      _               ␣ ┃AltGr ⇮┃Menu   ┃Ctrl   ┃
467154daed1Smrg// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
468154daed1Smrgpartial alphanumeric_keys
469154daed1Smrgxkb_symbols "bepo" {
470154daed1Smrg
471c067fea9Sghen    include "level3(ralt_switch)"
472154daed1Smrg    include "keypad(oss)"
473154daed1Smrg
474bfd7cbc1Smrg    name[Group1]= "French (Bepo, ergonomic, Dvorak way)";
475154daed1Smrg
476154daed1Smrg    // First row
477c067fea9Sghen    key <TLDE> { [          dollar,   numbersign,        endash,       paragraph ] }; // $ # – ¶
478c067fea9Sghen    key <AE01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [        quotedbl,            1,         emdash, doublelowquotemark ] }; // " 1 — „
479c067fea9Sghen    key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [   guillemotleft,            2,           less,  leftdoublequotemark ] }; // « 2 < “
480c067fea9Sghen    key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [  guillemotright,            3,        greater, rightdoublequotemark ] }; // » 3 > ”
481c067fea9Sghen    key <AE04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [       parenleft,            4,    bracketleft,      lessthanequal ] }; // ( 4 [ ≤
482c067fea9Sghen    key <AE05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [      parenright,            5,   bracketright,   greaterthanequal ] }; // ) 5 ] ≥
483c067fea9Sghen    key <AE06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [              at,            6,    asciicircum                 ] }; // @ 6 ^
484c067fea9Sghen    key <AE07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [            plus,            7,      plusminus,        notsign ] }; // + 7 ± ¬
485c067fea9Sghen    key <AE08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [           minus,            8,          U2212,     onequarter ] }; // - 8 − ¼
486c067fea9Sghen    key <AE09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [           slash,            9,       division,        onehalf ] }; // / 9 ÷ ½
487c067fea9Sghen    key <AE10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [        asterisk,            0,       multiply,  threequarters ] }; // * 0 × ¾
488c067fea9Sghen    key <AE11> { [           equal,       degree,       notequal,        minutes ] }; // = ° ≠ ′
489143081caSmrg    key <AE12> { [         percent,        grave,       permille,        seconds ] }; // % ` ‰ ″
490154daed1Smrg
491154daed1Smrg    // Second row
492c067fea9Sghen    key <AD01> { [               b,            B,            bar,      brokenbar ] }; // b B | ¦
493c067fea9Sghen    key <AD02> { [          eacute,       Eacute,     dead_acute, dead_doubleacute ] }; // é É ˊ ˝
494c067fea9Sghen    key <AD03> { [               p,            P,      ampersand,        section ] }; // p P & §
495154daed1Smrg    key <AD04> { [               o,            O,             oe,             OE ] }; // o O œ Œ
496c067fea9Sghen    key <AD05> { [          egrave,       Egrave,     dead_grave,          grave ] }; // è È ` `
497c067fea9Sghen    key <AD06> { [ dead_circumflex,       exclam,     exclamdown                 ] }; // ^ ! ¡
498c067fea9Sghen    key <AD07> { [               v,            V,     dead_caron                 ] }; // v V ˇ
499154daed1Smrg    key <AD08> { [               d,            D,            eth,            ETH ] }; // d D ð Ð
500c067fea9Sghen    key <AD09> { [               l,            L,    dead_stroke                 ] }; // l L /
501c067fea9Sghen    key <AD10> { [               j,            J,          U0133,          U0132 ] }; // j J ij IJ
502c067fea9Sghen    key <AD11> { [               z,            Z,          schwa,          SCHWA ] }; // z Z ə Ə
503c067fea9Sghen    key <AD12> { [               w,            W,     dead_breve                 ] }; // w W ̆
504154daed1Smrg
505154daed1Smrg    // Third row
506154daed1Smrg    key <AC01> { [               a,            A,             ae,             AE ] }; // a A æ Æ
507154daed1Smrg    key <AC02> { [               u,            U,         ugrave,         Ugrave ] }; // u U ù Ù
508c067fea9Sghen    key <AC03> { [               i,            I, dead_diaeresis,  dead_abovedot ] }; // i I ̈ ˙
509c067fea9Sghen    key <AC04> { [               e,            E,       EuroSign,  dead_currency ] }; // e E € ¤
510c067fea9Sghen    key <AC05> { [           comma,    semicolon, rightsinglequotemark, dead_horn ] }; // , ; ’ ̛
511c067fea9Sghen    key <AC06> { [               c,            C,      copyright,          U017F ] }; // c C © ſ
512c067fea9Sghen    key <AC07> { [               t,            T,          thorn,          THORN ] }; // t T þ Þ
513c067fea9Sghen    key <AC08> { [               s,            S,         ssharp,          U1E9E ] }; // s S ß ẞ
514c067fea9Sghen    key <AC09> { [               r,            R,     registered,      trademark ] }; // r R ® ™
515c067fea9Sghen    key <AC10> { [               n,            N,     dead_tilde                 ] }; // n N ~
516c067fea9Sghen    key <AC11> { [               m,            M,    dead_macron,      masculine ] }; // m M ̄ º
517c067fea9Sghen    key <BKSL> { [        ccedilla,     Ccedilla,   dead_cedilla, dead_belowcomma ] }; // ç Ç ¸ ,
518154daed1Smrg
519154daed1Smrg    // Fourth row
520c067fea9Sghen    key <LSGT> { [     ecircumflex,  Ecircumflex,          slash                 ] }; // ê Ê /
521c067fea9Sghen    key <AB01> { [          agrave,       Agrave,      backslash                 ] }; // à À \
522c067fea9Sghen    key <AB02> { [               y,            Y,      braceleft, leftsinglequotemark  ] }; // y Y { ‘
523c067fea9Sghen    key <AB03> { [               x,            X,     braceright, rightsinglequotemark ] }; // x X } ’
524c067fea9Sghen    key <AB04> { [          period,        colon,       ellipsis, periodcentered ] }; // . : … ·
525c067fea9Sghen    key <AB05> { [               k,            K,     asciitilde                 ] }; // k K ~
526c067fea9Sghen    key <AB06> { [      apostrophe,     question,   questiondown,      dead_hook ] }; // ' ? ¿ ̉
527c067fea9Sghen    key <AB07> { [               q,            Q, dead_abovering,  dead_belowdot ] }; // q Q ˚ ̣
5280412cdedSmrg    key <AB08> { [               g,            G,     dead_greek                 ] }; // g G µ
529c067fea9Sghen    key <AB09> { [               h,            H,         dagger,   doubledagger ] }; // h H † ‡
530c067fea9Sghen    key <AB10> { [               f,            F,    dead_ogonek,    ordfeminine ] }; // f F ̨ ª
531c067fea9Sghen
532c067fea9Sghen    key <SPCE> { [           space, nobreakspace,     underscore,          U202F ] }; // ␣ (espace insécable) _ (espace insécable fin)
533154daed1Smrg};
534154daed1Smrg
535154daed1Smrgpartial alphanumeric_keys
536154daed1Smrgxkb_symbols "bepo_latin9" {
537154daed1Smrg
538154daed1Smrg    // Restricts the fr(bepo) layout to latin9 symbols
539154daed1Smrg
540154daed1Smrg    include "fr(bepo)"
541c067fea9Sghen    include "keypad(oss_latin9)"
542154daed1Smrg
543797b363dSmrg    name[Group1]="French (Bepo, ergonomic, Dvorak way, Latin-9 only)";
544154daed1Smrg
545c067fea9Sghen    key <TLDE> { [          dollar,   numbersign,        dollar,       paragraph ] }; // $ # $ ¶
546c067fea9Sghen
547c067fea9Sghen    key <AE01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [        quotedbl,            1                                 ] }; // " 1
548c067fea9Sghen    key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [   guillemotleft,            2,           less                 ] }; // « 2 <
549c067fea9Sghen    key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [  guillemotright,            3,        greater                 ] }; // » 3 >
550c067fea9Sghen    key <AE04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [       parenleft,            4,    bracketleft                 ] }; // ( 4 [
551c067fea9Sghen    key <AE05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [      parenright,            5,   bracketright                 ] }; // ) 5 ]
552c067fea9Sghen    key <AE08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [           minus,            8,          minus,     onequarter ] }; // - 8 - ¼
553c067fea9Sghen    key <AE11> { [           equal,       degree                                 ] }; // = °
554c067fea9Sghen    key <AE12> { [         percent,        grave                                 ] }; // % `
555c067fea9Sghen
556c067fea9Sghen    key <AD01> { [               b,            B,            bar                 ] }; // b B |
557c067fea9Sghen    key <AD02> { [          eacute,       Eacute,     dead_acute                 ] }; // é É ˊ
558c067fea9Sghen    key <AD10> { [               j,            J                                 ] }; // j J
559c067fea9Sghen    key <AD11> { [               z,            Z                                 ] }; // z Z
560c067fea9Sghen    key <AD12> { [               w,            W                                 ] }; // w W
561c067fea9Sghen
562c067fea9Sghen    key <AC03> { [               i,            I, dead_diaeresis                 ] }; // i I ̈
563c067fea9Sghen    key <AC05> { [           comma,    semicolon,          comma,      dead_horn ] }; // , ; , ̛
564c067fea9Sghen    key <AC06> { [               c,            C,      copyright                 ] }; // c C ©
5659d99ee05Smrg    key <AC08> { [               s,            S,         ssharp,          U1E9E ] }; // s S ß ẞ
566c067fea9Sghen    key <AC09> { [               r,            R,     registered                 ] }; // r R ®
567c067fea9Sghen    key <AC11> { [               m,            M,         macron,      masculine ] }; // m M ̄ º
568c067fea9Sghen
569c067fea9Sghen    key <AB02> { [               y,            Y,      braceleft                 ] }; // y Y {
570c067fea9Sghen    key <AB03> { [               x,            X,     braceright                 ] }; // x X }
571c067fea9Sghen    key <AB04> { [          period,        colon                                 ] }; // . :
572c067fea9Sghen    key <AB09> { [               h,            H                                 ] }; // h H
573c067fea9Sghen    key <AB10> { [               f,            F,              f,    ordfeminine ] }; // f F   ª
574c067fea9Sghen
575c067fea9Sghen    // Note : on a besoin de redéfinir les niveaux 3 et 4,
576c067fea9Sghen    // donc nbsp(level2) ne suffit pas !
577c067fea9Sghen    key <SPCE> { [           space,  nobreakspace,    underscore,   nobreakspace ] }; // ␣ (espace insécable) _ (espace insécable)
578154daed1Smrg};
579154daed1Smrg
5801c606da7Smrg// Version 1.1rc2 of the Bépo keyboard layout, 
5811c606da7Smrg// normalized by the AFNOR NF Z71‐300 norm.
5821c606da7Smrg// 
5831c606da7Smrg// Layout: https://bepo.fr/wiki/Version_1.1rc2
5841c606da7Smrg// Normalization: https://normalisation.afnor.org/actualites/faq-clavier-francais/
5851c606da7Smrg// 
5861c606da7Smrg// ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔═════════╗
5871c606da7Smrg// │ # ¶│ 1 „│ 2 “│ 3 ”│ 4 ⩽│ 5 ⩾║ 6  │ 7 ¬│ 8 ¼│ 9 ½│ 0 ¾│ ° ′│ ` ″║         ║
5881c606da7Smrg// │ $ –│ " —│ « <│ » >│ ( [│ ) ]║ @ ^│ + ±│ - −│ / ÷│ * ×│ = ≠│ % ‰║ <--     ║
5891c606da7Smrg// ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦══════╣
5901c606da7Smrg// ║  |<-  ║ B _│ É  │ P §│ O Œ│ È `║ !  │ V  │ D  │ L £│ J  │ Z  │ W  ║   |  ║
5911c606da7Smrg// ║  ->|  ║ b |│ é ´│ p &│ o œ│ è `║ ˆ ¡│ v ˇ│ d ∞│ l /│ j  │ z ―│ w  ║ <-'  ║
5921c606da7Smrg// ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗     ║
5931c606da7Smrg// ║        ║ A Æ│ U Ù│ I ˙│ E ¤│ ; ,║ C ©│ T ™│ S ſ│ R ®│ N  │ M  │ Ç ©║     ║
5941c606da7Smrg// ║  CAPS  ║ a æ│ u ù│ i ¨│ e €│ , '║ c ¸│ t ᵉ│ s ß│ r ˘│ n ~│ m ¯│ ç  ║     ║
5951c606da7Smrg// ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔═╧════╩═════╣
5961c606da7Smrg// ║   ^  ║ Ê ^│ À ‚│ Y ‘│ X ’│ : ·│ K ‑║ ? ̉ │ Q ̛│ G †│ H ‡│ F  ║     ^      ║
5971c606da7Smrg// ║   |  ║ ê /│ à \│ y {│ x }│ . …│ k ~║ ’ ¿│ q °│ g µ│ h ̣ │ f ˛║     |      ║
5981c606da7Smrg// ╠══════╩╦═══╧══╦═╧═══╦╧════╧════╧════╧════╧════╧═╦══╧══╦═╧════╬═════╦══════╣
5991c606da7Smrg// ║       ║      ║     ║ Fine insécable  Insécable ║     ║      ║     ║      ║
6001c606da7Smrg// ║ Ctrl  ║ WinG ║ Alt ║ Espace                  _ ║AltGr║ WinD ║WinM ║ Ctrl ║
6011c606da7Smrg// ╚═══════╩══════╩═════╩═══════════════════════════╩═════╩══════╩═════╩══════╝
6021c606da7Smrgpartial alphanumeric_keys
6031c606da7Smrgxkb_symbols "bepo_afnor" {
6041c606da7Smrg
6051c606da7Smrg	name[Group1]= "French (Bepo, ergonomic, Dvorak way, AFNOR)";
6061c606da7Smrg
6071c606da7Smrg	include "pc(pc105)"
6081c606da7Smrg
6091c606da7Smrg	key <TLDE> { type[group1] = "FOUR_LEVEL", [ dollar, numbersign, endash, paragraph ] }; // $ # – ¶
6101c606da7Smrg	key <AE01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ quotedbl, 1, emdash, doublelowquotemark ] }; // " 1 — „
6111c606da7Smrg	key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotleft, 2, less, leftdoublequotemark ] }; // « 2 < “
6121c606da7Smrg	key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotright, 3, greater, rightdoublequotemark ] }; // » 3 > ”
6131c606da7Smrg	key <AE04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenleft, 4, bracketleft, U2A7D ] }; // ( 4 [ ⩽
6141c606da7Smrg	key <AE05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenright, 5, bracketright, U2A7E ] }; // ) 5 ] ⩾
6151c606da7Smrg	key <AE06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ at, 6, asciicircum, U262D ] }; // @ 6 ^ ☭
6161c606da7Smrg	key <AE07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ plus, 7, plusminus, notsign ] }; // + 7 ± ¬
6171c606da7Smrg	key <AE08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ minus, 8, U2212, onequarter ] }; // - 8 − ¼
6181c606da7Smrg	key <AE09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ slash, 9, division, onehalf ] }; // / 9 ÷ ½
6191c606da7Smrg	key <AE10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ asterisk, 0, multiply, threequarters ] }; // * 0 × ¾
6201c606da7Smrg	key <AE11> { type[group1] = "FOUR_LEVEL", [ equal, degree, notequal, minutes ] }; // = ° ≠ ′
6211c606da7Smrg	key <AE12> { type[group1] = "FOUR_LEVEL", [ percent, grave, U2030, seconds ] }; // % ` ‰ ″
6221c606da7Smrg
6231c606da7Smrg	key <AD01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ b, B, bar, underscore ] }; // b B | _
6241c606da7Smrg	key <AD02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ eacute, Eacute, dead_acute, heart ] }; // é É ´ ♥
6251c606da7Smrg	key <AD03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ p, P, ampersand, section ] }; // p P & §
6261c606da7Smrg	key <AD04> { type[group1] = "FOUR_LEVEL_ALPHABETIC", [ o, O, oe, OE ] }; // o O œ Œ
6271c606da7Smrg	key <AD05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ egrave, Egrave, dead_grave, grave ] }; // è È ` `
6281c606da7Smrg	key <AD06> { type[group1] = "FOUR_LEVEL", [ dead_circumflex, exclam, exclamdown, U2620 ] }; // ^ ! ¡ ☠
6291c606da7Smrg	key <AD07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ v, V, dead_caron, U2622 ] }; // v V ˇ ☢
6301c606da7Smrg	key <AD08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ d, D, UFDD7, U2623 ] }; // d D ∞ ☣
6311c606da7Smrg	key <AD09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ l, L, dead_stroke, sterling ] }; // l L / £
6321c606da7Smrg	key <AD10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ j, J, U262E, U262F ] }; // j J ☮ ☯
6331c606da7Smrg	key <AD11> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ z, Z, UFDD8, U2619 ] }; // z Z ― ☙
6341c606da7Smrg	key <AD12> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ w, W, U269C, U267F ] }; // w W ⚜ ♿
6351c606da7Smrg
6361c606da7Smrg	key <AC01> { type[group1] = "FOUR_LEVEL_ALPHABETIC", [ a, A, ae, AE ] }; // a A æ Æ
6371c606da7Smrg	key <AC02> { type[group1] = "FOUR_LEVEL_ALPHABETIC", [ u, U, ugrave, Ugrave ] }; // u U ù Ù
6381c606da7Smrg	key <AC03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ i, I, dead_diaeresis, dead_abovedot ] }; // i I ¨ ˙
6391c606da7Smrg	key <AC04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ e, E, EuroSign, dead_currency ] }; // e E € ¤
6401c606da7Smrg	key <AC05> { type[group1] = "FOUR_LEVEL", [ comma, semicolon, apostrophe, dead_belowcomma ] }; // , ; ' ,
6411c606da7Smrg	key <AC06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ c, C, dead_cedilla, copyright ] }; // c C ¸ ©
6421c606da7Smrg	key <AC07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ t, T, UFDD5, trademark ] }; // t T ᵉ ™
6431c606da7Smrg	key <AC08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ s, S, UFDD4, U017F ] }; // s S ß ſ
6441c606da7Smrg	key <AC09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ r, R, dead_breve, registered ] }; // r R ˘ ®
6451c606da7Smrg	key <AC10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ n, N, dead_tilde, U2693 ] }; // n N ~ ⚓
6461c606da7Smrg	key <AC11> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ m, M, dead_macron, U26FD ] }; // m M ¯ ⛽
6471c606da7Smrg	key <BKSL> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ ccedilla, Ccedilla, U2708, U1F12F ] }; // ç Ç ✈ ��
6481c606da7Smrg
6491c606da7Smrg	key <LSGT> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ ecircumflex, Ecircumflex, slash, asciicircum ] }; // ê Ê / ^
6501c606da7Smrg	key <AB01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ agrave, Agrave, backslash, singlelowquotemark ] }; // à À \ ‚
6511c606da7Smrg	key <AB02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ y, Y, braceleft, leftsinglequotemark ] }; // y Y { ‘
6521c606da7Smrg	key <AB03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ x, X, braceright, rightsinglequotemark ] }; // x X } ’
6531c606da7Smrg	key <AB04> { type[group1] = "FOUR_LEVEL", [ period, colon, ellipsis, periodcentered ] }; // . : … ·
6541c606da7Smrg	key <AB05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ k, K, asciitilde, U2011 ] }; // k K ~ ‑
6551c606da7Smrg	key <AB06> { type[group1] = "FOUR_LEVEL", [ rightsinglequotemark, question, questiondown, dead_hook ] }; // ’ ? ¿ ̉
6561c606da7Smrg	key <AB07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ q, Q, dead_abovering, dead_horn ] }; // q Q ˚ ̛
6571c606da7Smrg	key <AB08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ g, G, dead_greek, dagger ] }; // g G µ †
6581c606da7Smrg	key <AB09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ h, H, dead_belowdot, doubledagger ] }; // h H ̣ ‡
6591c606da7Smrg	key <AB10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ f, F, dead_ogonek, U26C4 ] }; // f F ˛ ⛄
6601c606da7Smrg	key <SPCE> { type[group1] = "FOUR_LEVEL", [ space, U202F, underscore, nobreakspace ] }; //     _  
6611c606da7Smrg
6621c606da7Smrg
6631c606da7Smrg	include "level3(ralt_switch)"
6641c606da7Smrg};
6651c606da7Smrg
6665a35480eSmrg// Author   : Francis Leboutte, http://www.algo.be/ergo/dvorak-fr.html
6675a35480eSmrg//            thanks to Fabien Cazenave for his help
668bfd7cbc1Smrg// Licence  : X11
6695a35480eSmrg// Version  : 0.3
6705a35480eSmrg
6715a35480eSmrg// Base layer + dead AltGr key (`):
6725a35480eSmrg// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━━┓
6735a35480eSmrg// │ *   │ 1   │ 2   │ 3   │ 4   │ 5   │ 6   │ 7   │ 8   │ 9   │ 0   │ +   │ %   ┃          ┃
6745a35480eSmrg// │ _   │ =   │ / ± │ - ¼ │ è ½ │ \ ¾ │ ^   │ (   │ ` ` │ )   │ "   │ [   │ ]   ┃ ⌫        ┃
6755a35480eSmrg// ┢━━━━━┷━━┱──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┺━━┳━━━━━━━┫
6765a35480eSmrg// ┃        ┃ ? Æ │ <   │ >   │ G   │ !   │ H   │ V   │ C Ç │ M   │ K   │ Z   │ &   ┃       ┃
6775a35480eSmrg// ┃ ↹      ┃ : æ │ ' $ │ é É │ g € │ . ° │ h   │ v   │ c ç │ m µ │ k   │ z   │ ¨   ┃       ┃
6785a35480eSmrg// ┣━━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓  ⏎   ┃
6795a35480eSmrg// ┃         ┃ O Ò │ A À │ U Ù │ E È │ B   │ F   │ S   │ T   │ N   │ D   │ W   │ #   ┃      ┃
6805a35480eSmrg// ┃ ⇬       ┃ o ò │ a à │ u ù │ e è │ b   │ f   │ s « │ t   │ n » │ d   │ w   │ ~   ┃      ┃
6815a35480eSmrg// ┣━━━━━━┳━━┹──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┲━━┷━━━━━┻━━━━━━┫
6825a35480eSmrg// ┃      ┃ ç Ç │ | Œ │ Q   │ @   │ I Ì │ Y   │ X   │ R   │ L   │ P   │ J   ┃               ┃
6835a35480eSmrg// ┃ ⇧    ┃ à À │ ; œ │ q { │ , } │ i ì │ y £ │ x   │ r º │ l   │ p § │ j   ┃ ⇧             ┃
6845a35480eSmrg// ┣━━━━━━┻┳━━━━┷━━┳━━┷━━━━┱┴─────┴─────┴─────┴─────┴─────┴─┲━━━┷━━━┳━┷━━━━━╋━━━━━━━┳━━━━━━━┫
6855a35480eSmrg// ┃       ┃       ┃       ┃ ␣                            ⍽ ┃       ┃       ┃       ┃       ┃
6865a35480eSmrg// ┃ ctrl  ┃ super ┃ alt   ┃ ␣ Espace    Espace insécable ⍽ ┃ alt   ┃ super ┃ menu  ┃ ctrl  ┃
6875a35480eSmrg// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┻━━━━━━━┛
6885a35480eSmrg
6895a35480eSmrg// Notice the specific Caps_Lock layer:
6905a35480eSmrg// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━━┓
6915a35480eSmrg// │ *   │ 1   │ 2   │ 3   │ 4   │ 5   │ 6   │ 7   │ 8   │ 9   │ 0   │ +   │ %   ┃          ┃
6925a35480eSmrg// │     │     │     │     │     │     │     │     │     │     │     │     │     ┃ ⌫        ┃
6935a35480eSmrg// ┢━━━━━┷━━┱──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┺━━┳━━━━━━━┫
6945a35480eSmrg// ┃        ┃     │ <   │ >   │     │     │     │     │     │     │     │     │     ┃       ┃
6955a35480eSmrg// ┃ ↹      ┃     │     │     │     │     │     │     │     │     │     │     │     ┃       ┃
6965a35480eSmrg// ┣━━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓  ⏎   ┃
6975a35480eSmrg// ┃         ┃     │     │     │     │     │     │     │     │     │     │     │     ┃      ┃
6985a35480eSmrg// ┃ ⇬       ┃     │     │     │     │     │     │     │     │     │     │     │     ┃      ┃
6995a35480eSmrg// ┣━━━━━━┳━━┹──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┲━━┷━━━━━┻━━━━━━┫
7005a35480eSmrg// ┃      ┃ /   │ -   │     │     │     │     │     │     │     │     │     ┃               ┃
7015a35480eSmrg// ┃ ⇧    ┃     │     │     │     │     │     │     │     │     │     │     ┃ ⇧             ┃
7025a35480eSmrg// ┣━━━━━━┻┳━━━━┷━━┳━━┷━━━━┱┴─────┴─────┴─────┴─────┴─────┴─┲━━━┷━━━┳━┷━━━━━╋━━━━━━━┳━━━━━━━┫
7035a35480eSmrg// ┃       ┃       ┃       ┃ ␣                            ⍽ ┃       ┃       ┃       ┃       ┃
7045a35480eSmrg// ┃ ctrl  ┃ super ┃ alt   ┃ ␣ Espace    Espace insécable ⍽ ┃ alt   ┃ super ┃ menu  ┃ ctrl  ┃
7055a35480eSmrg// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┻━━━━━━━┛
7065a35480eSmrg
7075a35480eSmrgpartial alphanumeric_keys modifier_keys
708154daed1Smrgxkb_symbols "dvorak" {
709bfd7cbc1Smrg  name[Group1]="French (Dvorak)";
7105a35480eSmrg
7115a35480eSmrg  // First row
7125a35480eSmrg  key <TLDE> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [       underscore,   asterisk                  ] };
7135a35480eSmrg  key <AE01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [            equal,          1                  ] };
7145a35480eSmrg  key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [            slash,          2,       plusminus ] };
7155a35480eSmrg  key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [            minus,          3,      onequarter ] };
7165a35480eSmrg  key <AE04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [           egrave,          4,         onehalf ] };
7175a35480eSmrg  key <AE05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [        backslash,          5,   threequarters ] };
7185a35480eSmrg  key <AE06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [  dead_circumflex,          6                  ] };
7195a35480eSmrg  key <AE07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [        parenleft,          7                  ] };
7205a35480eSmrg  key <AE08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ ISO_Level3_Latch,          8,           grave ] };
7215a35480eSmrg  key <AE09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [       parenright,          9                  ] };
7225a35480eSmrg  key <AE10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [         quotedbl,          0                  ] };
7235a35480eSmrg  key <AE11> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [      bracketleft,       plus                  ] };
7245a35480eSmrg  key <AE12> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [     bracketright,    percent                  ] };
7255a35480eSmrg
7265a35480eSmrg  // Second row
7275a35480eSmrg  key <AD01> { [            colon,         question,              ae,               AE ] };
7285a35480eSmrg  key <AD02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [       apostrophe,       less,          dollar ] };
7295a35480eSmrg  key <AD03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [           eacute,    greater,          Eacute ] };
7305a35480eSmrg  key <AD04> { [                g,                G,        EuroSign                   ] };
7315a35480eSmrg  key <AD05> { [           period,           exclam,          degree                   ] };
7325a35480eSmrg  key <AD06> { [                h,                H                                    ] };
7335a35480eSmrg  key <AD07> { [                v,                V                                    ] };
7345a35480eSmrg  key <AD08> { [                c,                C,        ccedilla,         Ccedilla ] };
7355a35480eSmrg  key <AD09> { [                m,                M,              mu                   ] };
7365a35480eSmrg  key <AD10> { [                k,                K                                    ] };
7375a35480eSmrg  key <AD11> { [                z,                Z                                    ] };
7385a35480eSmrg  key <AD12> { [   dead_diaeresis,        ampersand                                    ] };
7395a35480eSmrg
7405a35480eSmrg  // Third row
7415a35480eSmrg  key <AC01> { [                o,                O,          ograve,           Ograve ] };
7425a35480eSmrg  key <AC02> { [                a,                A,          agrave,           Agrave ] };
7435a35480eSmrg  key <AC03> { [                u,                U,          ugrave,           Ugrave ] };
7445a35480eSmrg  key <AC04> { [                e,                E,          egrave,           Egrave ] };
7455a35480eSmrg  key <AC05> { [                b,                B                                    ] };
7465a35480eSmrg  key <AC06> { [                f,                F                                    ] };
7475a35480eSmrg  key <AC07> { [                s,                S,   guillemotleft                   ] };
7485a35480eSmrg  key <AC08> { [                t,                T                                    ] };
7495a35480eSmrg  key <AC09> { [                n,                N,  guillemotright                   ] };
7505a35480eSmrg  key <AC10> { [                d,                D                                    ] };
7515a35480eSmrg  key <AC11> { [                w,                W                                    ] };
7525a35480eSmrg  key <BKSL> { [       asciitilde,       numbersign                                    ] };
7535a35480eSmrg
7545a35480eSmrg  // Fourth row
7555a35480eSmrg  key <LSGT> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [       agrave, ccedilla,  Agrave, Ccedilla,   slash ] };
7565a35480eSmrg  key <AB01> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [    semicolon,      bar,      oe,       OE,   minus ] };
7575a35480eSmrg  key <AB02> { [                q,                Q,       braceleft                   ] };
7585a35480eSmrg  key <AB03> { [            comma,               at,      braceright                   ] };
7595a35480eSmrg  key <AB04> { [                i,                I,          igrave,           Igrave ] };
7605a35480eSmrg  key <AB05> { [                y,                Y,        sterling                   ] };
7615a35480eSmrg  key <AB06> { [                x,                X                                    ] };
7625a35480eSmrg  key <AB07> { [                r,                R,       masculine                   ] };
7635a35480eSmrg  key <AB08> { [                l,                L                                    ] };
7645a35480eSmrg  key <AB09> { [                p,                P,         section                   ] };
7655a35480eSmrg  key <AB10> { [                j,                J                                    ] };
7665a35480eSmrg
7675a35480eSmrg  key <SPCE> { [            space,            space,    nobreakspace,     nobreakspace ] };
768154daed1Smrg};
769154daed1Smrg
770c067fea9Sghen// C'WHERTY: Breton keyboard. Ar c'hlavier brezhoneg.
771c067fea9Sghen// Copyright © 2009 Dominique Pellé <dominique.pelle@gmail.com>
772c067fea9Sghen// Version: 0.1
773c067fea9Sghen//
774797b363dSmrg// ┌─────┐
775797b363dSmrg// │ S A │   S = Reol = Shift,  A = ArErl + Pennlizherenn = AltGr + Shift
776797b363dSmrg// │ s a │   s = normal,        a = ArErl = AltGr
777797b363dSmrg// └─────┘
778c067fea9Sghen//
779c067fea9Sghen// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
780c067fea9Sghen// │ $ Γ │ 1 Δ │ 2 Θ │ 3 Λ │ 4 Ξ │ 5 Π │ 6 Σ │ 7 Φ │ 8 Ψ │ 9 Ç │ 0 Ω │ ° ß │ + ¬ ┃ ⌫ Souzañ┃
781c067fea9Sghen// │ ² ˙ │ & ¯ │ é ´ │ " # │ ' { │ ( [ │ - | │ è ` │ - \ │ ç ± │ à @ │ ) ] │ = } ┃         ┃
782c067fea9Sghen// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
783c067fea9Sghen// ┃Toalenn┃ C'h │ W ω │ E ε │ R ρ │ T τ │ Y ψ │ U υ │ I ι │ O OE│ P π │ ¨ ¥ │ * £ ┃Enankañ┃
784c067fea9Sghen// ┃     ↹ ┃ c'h │ w   │ e € │ r   │ t   │ y   │ u   │ i ı │ o oe│ p   │ ^ « │ / » ┃   ⏎   ┃
785c067fea9Sghen// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓      ┃
786c067fea9Sghen// ┃Prenn   ┃ A Æ │ S σ │ D δ │ F φ │ G γ │ H η │ J ς │ K κ │ L λ │ M μ │ Ù ® │ ! ¡ ┃      ┃
787c067fea9Sghen// ┃Pennli ⇬┃ a æ │ s   │ d $ │ f   │ g   │ h   │ j   │ k   │ l   │ m   │ ù ŭ │ ? ¿ ┃      ┃
788c067fea9Sghen// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫
789c067fea9Sghen// ┃       ┃ Q θ │ Z ζ │ X ξ │ C χ │ V   │ B β │ N ν │ CH  │ Ñ   │ : © │ ;   ┃             ┃
790c067fea9Sghen// ┃Shift ⇧┃ q < │ z > │ x   │ c ¢ │ v   │ b   │ n   │ ch  │ ñ   │ .   │ ,   ┃Shift ⇧      ┃
791c067fea9Sghen// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛
792c067fea9Sghen// ┃       ┃       ┃       ┃ ⍽ Espace insécable              ␣ ┃       ┃       ┃       ┃
793c067fea9Sghen// ┃Reol   ┃Meta   ┃Erl    ┃ ␣ Espace                        ␣ ┃ArErl ⇮┃Menu   ┃Reol   ┃
794c067fea9Sghen// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
795c067fea9Sghenpartial alphanumeric_keys
796c067fea9Sghenxkb_symbols "bre" {
797c067fea9Sghen
798c067fea9Sghen    include "keypad(oss)"
799c067fea9Sghen
800bfd7cbc1Smrg    name[Group1]= "French (Breton)";
801c067fea9Sghen
802c067fea9Sghen    // First row
803c067fea9Sghen    key <TLDE> { [     twosuperior,     dead_tilde,   dead_abovedot,    Greek_GAMMA ] };
804c067fea9Sghen    key <AE01> { [       ampersand,              1,     dead_macron,    Greek_DELTA ] };
805c067fea9Sghen    key <AE02> { [          eacute,              2,      dead_acute,    Greek_THETA ] };
806c067fea9Sghen    key <AE03> { [        quotedbl,              3,      numbersign,    Greek_LAMDA ] };
807c067fea9Sghen    key <AE04> { [      apostrophe,              4,       braceleft,       Greek_XI ] };
808c067fea9Sghen    key <AE05> { [       parenleft,              5,     bracketleft,       Greek_PI ] };
809c067fea9Sghen    key <AE06> { [           minus,              6,             bar,    Greek_SIGMA ] };
810c067fea9Sghen    key <AE07> { [          egrave,              7,      dead_grave,      Greek_PHI ] };
811c067fea9Sghen    key <AE08> { [      underscore,              8,       backslash,      Greek_PSI ] };
812c067fea9Sghen    key <AE09> { [        ccedilla,              9,       plusminus,       Ccedilla ] };
813c067fea9Sghen    key <AE10> { [          agrave,              0,              at,    Greek_OMEGA ] };
814c067fea9Sghen    key <AE11> { [      parenright, dead_abovering,    bracketright,         ssharp ] };
815c067fea9Sghen    key <AE12> { [           equal,           plus,      braceright,        notsign ] };
816c067fea9Sghen
817c067fea9Sghen    // Second row
818c067fea9Sghen    // Handling the C'H key correctly requires an inputmethod (XIM)
819c067fea9Sghen    // See https://bugs.freedesktop.org/show_bug.cgi?id=19506
820c067fea9Sghen // key <AD01> { [    trigraph_c_h,   trigraph_C_h,    trigraph_C_H,    Greek_alpha ] };
821c067fea9Sghen    key <AD01> { [           UF8FD,          UF8FE,           UF8FF,    Greek_alpha ] };
822c067fea9Sghen    key <AD02> { [               w,              W,     Greek_omega,    Greek_omega ] };
823c067fea9Sghen    key <AD03> { [               e,              E,        EuroSign,  Greek_epsilon ] };
824c067fea9Sghen    key <AD04> { [               r,              R,       Greek_rho,      Greek_rho ] };
825c067fea9Sghen    key <AD05> { [               t,              T,       Greek_tau,      Greek_tau ] };
826c067fea9Sghen    key <AD06> { [               y,              Y,       Greek_psi,      Greek_psi ] };
827c067fea9Sghen    key <AD07> { [               u,              U,   Greek_upsilon,  Greek_upsilon ] };
828c067fea9Sghen    key <AD08> { [               i,              I,        idotless,     Greek_iota ] };
829c067fea9Sghen    key <AD09> { [               o,              O,              oe,             OE ] };
830c067fea9Sghen    key <AD10> { [               p,              P,        Greek_pi,       Greek_pi ] };
831c067fea9Sghen    key <AD11> { [ dead_circumflex, dead_diaeresis,   guillemotleft,            yen ] };
832c067fea9Sghen    key <AD12> { [           slash,       asterisk,  guillemotright,       sterling ] };
833c067fea9Sghen
834c067fea9Sghen    // Third row
835c067fea9Sghen    key <AC01> { [               a,              A,              ae,             AE ] };
836c067fea9Sghen    key <AC02> { [               s,              S,     Greek_sigma,    Greek_sigma ] };
837c067fea9Sghen    key <AC03> { [               d,              D,          dollar,    Greek_delta ] };
838c067fea9Sghen    key <AC04> { [               f,              F,       Greek_phi,      Greek_phi ] };
839c067fea9Sghen    key <AC05> { [               g,              G,     Greek_gamma,    Greek_gamma ] };
840c067fea9Sghen    key <AC06> { [               h,              H,       Greek_eta,      Greek_eta ] };
841c067fea9Sghen    key <AC07> { [               j,              J, Greek_finalsmallsigma, Greek_finalsmallsigma ] };
842c067fea9Sghen    key <AC08> { [               k,              K,       Greek_kappa,  Greek_kappa ] };
843c067fea9Sghen    key <AC09> { [               l,              L,       Greek_lamda, Greek_lambda ] };
844c067fea9Sghen    key <AC10> { [               m,              M,          Greek_mu,     Greek_mu ] };
845c067fea9Sghen    key <AC11> { [          ugrave,         Ugrave,            ubreve,   registered ] };
846c067fea9Sghen    key <BKSL> { [        question,         exclam,      questiondown,   exclamdown ] };
847c067fea9Sghen
848c067fea9Sghen    // Fourth row
849c067fea9Sghen    key <LSGT> { [               q,              Q,            less,    Greek_theta ] };
850c067fea9Sghen    key <AB01> { [               z,              Z,         greater,     Greek_zeta ] };
851c067fea9Sghen    key <AB02> { [               x,              X,        Greek_xi,       Greek_xi ] };
852c067fea9Sghen    key <AB03> { [               c,              C,            cent,      Greek_chi ] };
853c067fea9Sghen    key <AB04> { [               v,              V                                  ] };
854c067fea9Sghen    key <AB05> { [               b,              B,      Greek_beta,     Greek_beta ] };
855c067fea9Sghen    key <AB06> { [               n,              N,        Greek_nu,       Greek_nu ] };
856c067fea9Sghen    // Handling the CH key correctly requires an inputmethod (XIM)
857c067fea9Sghen    // See https://bugs.freedesktop.org/show_bug.cgi?id=19506
858c067fea9Sghen // key <AB07> { [      digraph_ch,     digraph_Ch,      digraph_CH,  Greek_omicron ] };
859c067fea9Sghen    key <AB07> { [           UF8FA,          UF8FB,           UF8FC,  Greek_omicron ] };
860c067fea9Sghen    key <AB08> { [          ntilde,         Ntilde                                  ] };
861c067fea9Sghen    key <AB09> { [          period,          colon,         section,      copyright ] };
862c067fea9Sghen    key <AB10> { [           comma,      semicolon,         percent                 ] };
863c067fea9Sghen
864c067fea9Sghen    key <SPCE> { [           space,   nobreakspace,           space,   nobreakspace ] };
865c067fea9Sghen
866c067fea9Sghen    include "level3(ralt_switch)"
867c067fea9Sghen};
868c067fea9Sghen
869c067fea9Sghen// Occitan layout
870c067fea9Sghen// Author : 2009 Thomas Metz <tmetz @ free.fr>
871797b363dSmrg// Derived from the layout defined at http://www.panoccitan.org
872c067fea9Sghen// Version: 0.1
873797b363dSmrg// Differences from OSS French keyboard :
874c067fea9Sghen// - add á, í, ò, ó et ú, Á, Í, Ò, Ó, Ú, ñ, Ñ
875c067fea9Sghen// - change position of æ, ü, î, û, œ, ô, ö, ï, â, ë
876797b363dSmrg//
877c067fea9Sghen// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
878797b363dSmrg// │ ³ ¸ │ 1 ̨  │ 2 É │ 3 ˘ │ 4 — │ 5 – │ 6 ‑ │ 7 È │ 8 ™ │ 9 Ç │ 0 À │ ° ≠ │ + ± ┃ ⌫ Retour┃
879c067fea9Sghen// │ ² ¹ │ & ˇ │ é ~ │ " # │ ' { │ ( [ │ - | │ è ` │ _ \ │ ç ^ │ à @ │ ) ] │ = } ┃  arrière┃
880c067fea9Sghen// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
881c067fea9Sghen// ┃       ┃ A Á │ Z Æ │ E ¢ │ R Ê │ T Ë │ Y Û │ U Ú │ I Í │ O Ó │ P Ò │ ¨ Œ │ £ Ø ┃Entrée ┃
882c067fea9Sghen// ┃Tab ↹  ┃ a á │ z æ │ e € │ r ê │ t ë │ y û │ u ú │ i í │ o ó │ p ò │ ^ œ │ $ ø ┃   ⏎   ┃
883c067fea9Sghen// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓      ┃
884797b363dSmrg// ┃        ┃ Q Ä │ S „ │ D Â │ F ‚ │ G ¥ │ H Ü │ J Î │ K Ï │ L Ô │ M Ö │ % Ù │ µ ̄  ┃      ┃
885c067fea9Sghen// ┃Maj ⇬   ┃ q ä │ s ß │ d â │ f ‘ │ g ’ │ h ü │ j î │ k ï │ l ô │ m ö │ ù ' │ * ` ┃      ┃
886c067fea9Sghen// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫
887c067fea9Sghen// ┃       ┃ > ≥ │ W “ │ X ” │ C ® │ V ← │ B ↑ │ N Ñ │ ? … │ . . │ / ∕ │ § − ┃             ┃
888c067fea9Sghen// ┃Shift ⇧┃ < ≤ │ w « │ x » │ c © │ v → │ b ↓ │ n ñ │ , ¿ │ ; × │ : ÷ │ ! ¡ ┃Shift ⇧      ┃
889c067fea9Sghen// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛
890c067fea9Sghen// ┃       ┃       ┃       ┃ ␣         Espace fine insécable ⍽ ┃       ┃       ┃       ┃
891c067fea9Sghen// ┃Ctrl   ┃Meta   ┃Alt    ┃ ␣ Espace       Espace insécable ⍽ ┃AltGr ⇮┃Menu   ┃Ctrl   ┃
892c067fea9Sghen// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
893c067fea9Sghenpartial alphanumeric_keys
894c067fea9Sghenxkb_symbols "oci" {
895c067fea9Sghen
8960412cdedSmrg    include "fr(oss)"
897c067fea9Sghen
898bfd7cbc1Smrg    name[Group1]= "Occitan";
899c067fea9Sghen
900c067fea9Sghen    key <AD01>	{ [                a,                A,               aacute,                Aacute ] }; // a A á Á
901c067fea9Sghen    key <AD02>	{ [                z,                Z,                   ae,                    AE ] }; // z Z æ Æ
902c067fea9Sghen    key <AD05>	{ [                t,                T,           ediaeresis,            Ediaeresis ] }; // t T ë Ë
903c067fea9Sghen    key <AD06>	{ [                y,                Y,          ucircumflex,           Ucircumflex ] }; // y Y û Û
904c067fea9Sghen    key <AD07>	{ [                u,                U,               uacute,                Uacute ] }; // u U ú Ú
905c067fea9Sghen    key <AD08>	{ [                i,                I,               iacute,                Iacute ] }; // i I í Í
906c067fea9Sghen    key <AD09>	{ [                o,                O,               oacute,                Oacute ] }; // o O ó Ó
907c067fea9Sghen    key <AD10>	{ [                p,                P,               ograve,                Ograve ] }; // p P ò Ò
908c067fea9Sghen    key <AD11>	{ [  dead_circumflex,   dead_diaeresis,                   oe,                    OE ] }; // ^ ̈ ̃ œ Œ
909c067fea9Sghen
910797b363dSmrg    key <AC03>	{ [                d,                D,          acircumflex,           Acircumflex ] }; // d D â Â
911c067fea9Sghen    key <AC06>	{ [                h,                H,           udiaeresis,            Udiaeresis ] }; // h H ü Ü
912797b363dSmrg    key <AC07>	{ [                j,                J,          icircumflex,           Icircumflex ] }; // j J î Î
913797b363dSmrg    key <AC08>	{ [                k,                K,           idiaeresis,            Idiaeresis ] }; // k K ï Ï
914c067fea9Sghen    key <AC09>	{ [                l,                L,          ocircumflex,           Ocircumflex ] }; // l L ô Ô
915c067fea9Sghen
916797b363dSmrg    key <AB04>  { [                v,                V,           rightarrow,             leftarrow ] }; // v V → ←
917797b363dSmrg    key <AB06>  { [                n,                N,               ntilde,                Ntilde ] }; // n N ñ Ñ
918c067fea9Sghen};
919c067fea9Sghen
920154daed1Smrg// Marc.Shapiro@inria.fr 19-sep-1998
921154daed1Smrg// modifications : Etienne Herlent <eherlent@linux-france.org> june 2000
922154daed1Smrg// adapted to the new input layer :
923154daed1Smrg//        Martin Costabel <costabel@wanadoo.fr> 3-jan-2001
924797b363dSmrg// adapted for Latin9 alphabet (ISO-8859-15):
925154daed1Smrg//        Etienne Herlent <eherlent@linux-france.org> march 2005
926154daed1Smrg
927154daed1Smrg// This map is an almost-complete mapping of the standard French
928154daed1Smrg// MacIntosh keyboard under Xwindows.  I tried to remain as faithful
929154daed1Smrg// as possible to the Mac meaning of each key.	I did this entirely by
930154daed1Smrg// hand and by intuition, relying on the Clavier (Keyboard?) Desktop
931154daed1Smrg// Accessory for the Mac meaning of keys, and on reading keysymdef.h
932154daed1Smrg// to intuit the corresponding X names.	 Lacking proper documentation,
933154daed1Smrg// I may have made some mistakes.
934154daed1Smrg
935154daed1Smrg// Entries marked CHECK are particularly uncertain
936154daed1Smrg
937154daed1Smrg// Entries marked MISSING mark Mac characters for which I was unable
938154daed1Smrg// to find a corresponding keysym.  (Some for sure don't: e.g. the
939154daed1Smrg// Apple mark and the oe/OE character; others I may have simply not
940154daed1Smrg// found.)
941154daed1Smrg
942154daed1Smrg// Copied from macintosh_vndr/fr
943154daed1Smrgpartial alphanumeric_keys
944154daed1Smrgxkb_symbols "mac" {
945154daed1Smrg
946bfd7cbc1Smrg    name[Group1]= "French (Macintosh)";
947154daed1Smrg
948797b363dSmrg    key <TLDE> {	[          at, numbersign, periodcentered,  Ydiaeresis	]	}; // MISSING: Ydiaeresis; eherlent : ok in Latin9
949154daed1Smrg    key <AE01> {	[   ampersand,    1,   VoidSymbol,    dead_acute	]	}; // MISSING: Apple
950154daed1Smrg    key <AE02> {	[      eacute,    2,   ediaeresis,        Eacute	]	};
951154daed1Smrg    key <AE03> {	[    quotedbl,    3,   VoidSymbol,    VoidSymbol	] 	}; // CHECK all quotemarks
952154daed1Smrg    key <AE04> {	[  apostrophe,    4,   VoidSymbol,    VoidSymbol	] 	};
953154daed1Smrg    key <AE05> {	[   parenleft,    5,    braceleft,   bracketleft	]	};
954154daed1Smrg // CHECK section
955154daed1Smrg    key <AE06> {	[     section,    6,    paragraph,         aring	]	};
956154daed1Smrg    key <AE07> {	[      egrave,    7, guillemotleft, guillemotright	]	};
957154daed1Smrg    key <AE08> {	[      exclam,    8,   exclamdown,   Ucircumflex	]	};
958154daed1Smrg    key <AE09> {	[    ccedilla,    9,     Ccedilla,        Aacute	]	};
959154daed1Smrg    key <AE10> {	[      agrave,    0,       oslash,    VoidSymbol	]	}; // MISSING: Oslash
960154daed1Smrg    key <AE11> {	[  parenright, degree, braceright,  bracketright	]	};
961154daed1Smrg    key <AE12> {	[       minus, underscore, emdash,        endash	]	}; // CHECK dashes
962154daed1Smrg
963154daed1Smrg    key <AD01> {	[           a,  A,           ae,          AE	]	};
964797b363dSmrg    key <AD02> {	[           z,  Z,  Acircumflex,       Aring	]	};
965154daed1Smrg    key <AD03> {	[           e,  E,  ecircumflex, Ecircumflex	]	};
966154daed1Smrg    key <AD04> {	[           r,  R,   registered,    currency	]	};
967154daed1Smrg    key <AD05> {	[           t,  T,   VoidSymbol,  VoidSymbol	]	};
968154daed1Smrg    key <AD06> {	[           y,  Y,       Uacute,  Ydiaeresis	]	}; // MISSING: Ydiaeresis; eherlent : ok in Latin9
969154daed1Smrg    key <AD07> {	[           u,  U,   VoidSymbol, ordfeminine	]	}; // MISSING: ordmasculine?
970154daed1Smrg    key <AD08> {	[           i,  I,  icircumflex,  idiaeresis	]	};
971797b363dSmrg    key <AD09> {	[           o,  O,           oe,          OE	]	}; // MISSING: oe, OE lacking in Latin1; eherlent ok in Latin9
972154daed1Smrg    key <AD10> {	[           p,  P,   VoidSymbol,  VoidSymbol	]	};
973154daed1Smrg    key <AD11> {	[dead_circumflex,dead_diaeresis, ocircumflex, Ocircumflex	]	};
974797b363dSmrg    key <AD12> {	[      dollar, asterisk,   EuroSign, yen	]	}; // eherlent : EuroSign in Latin9
975154daed1Smrg
976797b363dSmrg    key <AC01> {	[         q, Q, acircumflex,         Agrave	]	};
977154daed1Smrg    key <AC02> {	[         s, S,      Ograve,     VoidSymbol	]	};
978154daed1Smrg    key <AC03> {	[         d, D,  VoidSymbol,     VoidSymbol	]	};
979154daed1Smrg    key <AC04> {	[         f, F,  VoidSymbol, periodcentered	]	}; // MISSING: oblong script f??
980154daed1Smrg    key <AC05> {	[         g, G,  VoidSymbol,     VoidSymbol	]	}; // MISSING: kerned fi, fl
981154daed1Smrg    key <AC06> {	[         h, H,      Igrave,    Icircumflex	]	};
982154daed1Smrg    key <AC07> {	[         j, J,  Idiaeresis,         Iacute	]	};
983154daed1Smrg    key <AC08> {	[         k, K,      Egrave,     Ediaeresis	]	};
984154daed1Smrg    key <AC09> {	[         l, L,     notsign,            bar	]	};
985154daed1Smrg    key <AC10> {	[         m, M,          mu,         Oacute	]	};
986154daed1Smrg    key <AC11> {	[    ugrave,percent, Ugrave,    ucircumflex	]	}; // MISSING: per-mille
987154daed1Smrg    key <BKSL> {	[ dead_grave, sterling,  at,     numbersign	]	};
988154daed1Smrg
989154daed1Smrg    key <LSGT> {	[      less, greater, VoidSymbol, VoidSymbol	]	};
990797b363dSmrg    key <AB01> {	[         w, W, VoidSymbol,   VoidSymbol	]	}; // MISSING: half-guillemot (single angle bracket)
991154daed1Smrg    key <AB02> {	[         x, X, VoidSymbol,   VoidSymbol	]	}; // CHECK similarequal; MISSING: extra-slanted slash
992154daed1Smrg    key <AB03> {	[         c, C,  copyright,         cent	]	};
993154daed1Smrg    key <AB04> {	[         v, V,    diamond,  leftradical	]	}; // CHECK diamond, leftradical
9949d99ee05Smrg    key <AB05> {	[         b, B,     ssharp,        U1E9E	]	}; // CHECK: Greek_beta or ssharp?; MISSING: oblong script s
995154daed1Smrg    key <AB06> {	[         n, N,  dead_tilde,  asciitilde	]	};
996154daed1Smrg    key <AB07> {	[     comma,  question, VoidSymbol,  questiondown	]	};
997154daed1Smrg    key <AB08> {	[ semicolon,  period, VoidSymbol,  periodcentered	]	};
998154daed1Smrg    key <AB09> {	[     colon,  slash,   division,        backslash	]	};
999154daed1Smrg    key <AB10> {	[     equal,   plus, VoidSymbol,        plusminus	]	};
1000154daed1Smrg
1001154daed1Smrg    key <SPCE> {	[     space,  space, nobreakspace,   nobreakspace	]	};
1002154daed1Smrg
1003154daed1Smrg    key <KPDL> {	[  comma,KP_Decimal	]	};
1004154daed1Smrg
1005154daed1Smrg    include "level3(ralt_switch)"
1006154daed1Smrg};
1007154daed1Smrg
1008154daed1Smrgpartial alphanumeric_keys
1009154daed1Smrgxkb_symbols "geo" {
1010154daed1Smrg    include "ge(basic)"
1011154daed1Smrg
1012bfd7cbc1Smrg    name[Group1]= "Georgian (France, AZERTY Tskapo)";
1013154daed1Smrg
1014154daed1Smrg    key <TLDE> { [ exclam, noSymbol ] };
1015154daed1Smrg    key <AE01> { [ 0x0100201e, 1 ] };
1016154daed1Smrg    key <AE02> { [ 0x01002116, 2 ] };
1017154daed1Smrg    key <AE03> { [ percent, 3    ] };
1018154daed1Smrg    key <AE04> { [ parenleft, 4  ] };
1019154daed1Smrg    key <AE05> { [ colon, 5      ] };
1020154daed1Smrg    key <AE06> { [ semicolon, 6  ] };
1021154daed1Smrg    key <AE07> { [ question, 7   ] };
1022154daed1Smrg    key <AE08> { [ 0x01002116, 8 ] };
1023154daed1Smrg    key <AE09> { [ degree, 9     ] };
1024154daed1Smrg    key <AE10> { [ parenright, 0 ] };
1025154daed1Smrg    key <AE11> { [ minus, underscore, 0x01002014 ] };
1026154daed1Smrg    key <AE12> { [ less, greater ] };
1027154daed1Smrg
1028143081caSmrg    key <AD01> { [ Georgian_an,    0x010010fa     ] };
1029143081caSmrg    key <AD02> { [ Georgian_zen,   Z              ] };
1030143081caSmrg    key <AD03> { [ Georgian_en,    E, Georgian_he ] };
1031143081caSmrg    key <AD04> { [ Georgian_rae,   0x010000ae     ] };
1032143081caSmrg    key <AD05> { [ Georgian_tar,   T              ] };
1033143081caSmrg    key <AD06> { [ Georgian_qar,   0x010010f8     ] };
1034143081caSmrg    key <AD07> { [ Georgian_un,    U              ] };
1035143081caSmrg    key <AD08> { [ Georgian_in,    Georgian_hie   ] };
1036143081caSmrg    key <AD09> { [ Georgian_on,    O              ] };
1037143081caSmrg    key <AD10> { [ Georgian_par,   P              ] };
1038143081caSmrg    key <AD11> { [ Georgian_tan,   T              ] };
1039143081caSmrg    key <AD12> { [ Georgian_jil,   Z              ] };
1040143081caSmrg
1041143081caSmrg    key <AC01> { [ Georgian_khar,  Q              ] };
1042143081caSmrg    key <AC02> { [ Georgian_san,   S              ] };
1043143081caSmrg    key <AC03> { [ Georgian_don,   D              ] };
1044143081caSmrg    key <AC04> { [ Georgian_phar,  Georgian_fi    ] };
1045143081caSmrg    key <AC05> { [ Georgian_gan,   0x010010f9     ] };
1046143081caSmrg    key <AC06> { [ Georgian_hae,   Georgian_hoe   ] };
1047143081caSmrg    key <AC07> { [ Georgian_jhan,  0x010010f7     ] };
1048143081caSmrg    key <AC08> { [ Georgian_kan,   K              ] };
1049143081caSmrg    key <AC09> { [ Georgian_las,   L              ] };
1050143081caSmrg    key <AC10> { [ Georgian_man,   M              ] };
1051143081caSmrg    key <AC11> { [ Georgian_zhar,  J              ] };
1052143081caSmrg    key <BKSL> { [ Georgian_chin,  0x010000a9     ] };
1053143081caSmrg
1054143081caSmrg    key <LSGT> { [ guillemotleft,  guillemotright ] };
1055143081caSmrg    key <AB01> { [ Georgian_cil,   W              ] };
1056143081caSmrg    key <AB02> { [ Georgian_xan,   Georgian_har   ] };
1057143081caSmrg    key <AB03> { [ Georgian_can,   0x010000a9     ] };
1058143081caSmrg    key <AB04> { [ Georgian_vin,   Georgian_we    ] };
1059143081caSmrg    key <AB05> { [ Georgian_ban,   B              ] };
1060143081caSmrg    key <AB06> { [ Georgian_nar,   0x010010fc     ] };
1061143081caSmrg    key <AB07> { [ comma,          0x01002014     ] };
1062143081caSmrg    key <AB08> { [ Georgian_shin,  S              ] };
1063143081caSmrg    key <AB09> { [ Georgian_ghan,  noSymbol       ] };
1064143081caSmrg    key <AB10> { [ Georgian_char,  noSymbol       ] };
1065154daed1Smrg
1066154daed1Smrg};
10670412cdedSmrg
1068143081caSmrg// US keyboard made French
1069143081caSmrg//
1070143081caSmrg// Copyright (C) 2018, Florent Gallaire <f@gallai.re>
1071143081caSmrgpartial alphanumeric_keys
1072143081caSmrgxkb_symbols "us" {
1073143081caSmrg
1074143081caSmrg    include "us(euro)"
10759d99ee05Smrg    name[Group1]= "French (US, with French letters)";
10769d99ee05Smrg
10779d99ee05Smrg
10789d99ee05Smrg    key <TLDE> { [     grave, asciitilde,    dead_grave                   ] };
10799d99ee05Smrg    key <AE06> { [         6,asciicircum,dead_circumflex                  ] };
1080143081caSmrg
1081143081caSmrg    key <AB01> { [	   z,          Z,   acircumflex,      Acircumflex ] }; // â Â
1082143081caSmrg    key <AB03> { [	   c,          C,      ccedilla,         Ccedilla ] }; // ç Ç
1083143081caSmrg
1084143081caSmrg    key <AC01> { [	   a,          A,        agrave,           Agrave ] }; // à À
1085143081caSmrg    key <AC02> { [	   s,          S,            ae,               AE ] }; // æ Æ
1086143081caSmrg    key <AC03> { [	   d,          D,   ecircumflex,      Ecircumflex ] }; // ê Ê
1087143081caSmrg    key <AC04> { [	   f,          F,    ediaeresis,       Ediaeresis ] }; // ë Ë
1088143081caSmrg    key <AC06> { [	   h,          H,    udiaeresis,       Udiaeresis ] }; // ü Ü
1089143081caSmrg    key <AC07> { [	   j,          J,   ucircumflex,      Ucircumflex ] }; // û Û
1090143081caSmrg    key <AC08> { [	   k,          K,   icircumflex,      Icircumflex ] }; // î Î
10919d99ee05Smrg    key <AC11> { [apostrophe,   quotedbl,dead_diaeresis                   ] };
1092143081caSmrg
1093143081caSmrg    key <AD03> { [	   e,          E,        eacute,           Eacute ] }; // é É
1094143081caSmrg    key <AD04> { [	   r,          R,        egrave,           Egrave ] }; // è È
1095143081caSmrg    key <AD06> { [	   y,          Y,    ydiaeresis,       Ydiaeresis ] }; // ÿ Ÿ
1096143081caSmrg    key <AD07> { [	   u,          U,        ugrave,           Ugrave ] }; // ù Ù
1097143081caSmrg    key <AD08> { [	   i,          I,    idiaeresis,       Idiaeresis ] }; // ï Ï
1098143081caSmrg    key <AD09> { [	   o,          O,   ocircumflex,      Ocircumflex ] }; // ô Ô
1099143081caSmrg    key <AD10> { [	   p,          P,            oe,               OE ] }; // œ Œ
1100143081caSmrg    key <AD11> { [ bracketleft,  braceleft,  guillemotleft,  leftdoublequotemark ] }; // « “
1101143081caSmrg    key <AD12> { [bracketright, braceright, guillemotright, rightdoublequotemark ] }; // » ”
1102143081caSmrg
1103143081caSmrg    key <AE04> { [        4,     dollar,      EuroSign,         currency ] }; // € ¤
1104143081caSmrg};
1105143081caSmrg
11060412cdedSmrg// EXTRAS:
11070412cdedSmrg
11080412cdedSmrgpartial alphanumeric_keys
11090412cdedSmrg	xkb_symbols "sun_type6" {
11100412cdedSmrg	include "sun_vndr/fr(sun_type6)"
11110412cdedSmrg};
1112188967beSsnj
1113188967beSsnj
1114188967beSsnjpartial alphanumeric_keys
1115188967beSsnjxkb_symbols "azerty" {
11169184b9c8Smrg    name[Group1]="French (AZERTY)";
1117188967beSsnj
1118188967beSsnj    include "level3(ralt_switch)"
1119188967beSsnj
1120188967beSsnj// French AZERTY-Keyboard layout
1121188967beSsnj// Author : 2015, Mats Blakstad <mats @ globalbility.org>
1122188967beSsnj// Based on the layout at https://en.wikipedia.org/wiki/File:KB_France.svg
1123188967beSsnj
1124188967beSsnj// LAYOUT OVERVIEW                              
1125188967beSsnj//  ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ _______
1126188967beSsnj// |    | 1  | 2  | 3  | 4  | 5  | 6  | 7  | 8  | 9  | 0  | °  | +  | <--   |
1127188967beSsnj// | ²  | &  | é ~| " #| ' {| ( [| - || è `| _ \| ç ^| à @| ) ]| = }|       |
1128188967beSsnj//  ========================================================================
1129188967beSsnj// | |<-  | A  | Z  | E  | R  | T  | Y  | U  | I  | O  | P  | ¨  | $  |   , |
1130188967beSsnj// |  ->| | a  | z  | e €| r  | t  | y  | u  | i  | o  | p  | ^  | £ ¤| <-' |
1131188967beSsnj//  ===================================================================¬    |
1132188967beSsnj// |       | Q  | S  | D  | F  | G  | H  | J  | K  | L  | M  | %  | µ  |    |
1133188967beSsnj// | MAJ   | q  | s  | d  | f  | g  | h  | j  | k  | l  | m  | ù  | *  |    |
1134188967beSsnj//  ========================================================================
1135188967beSsnj// | ^   | >  | W  | X  | C  | V  | B  | N  | ?  | .  | /  | §  |     ^     |
1136188967beSsnj// | |   | <  | w  | x  | c  | v  | b  | n  | ,  | ;  | :  | !  |     |     |
1137188967beSsnj//  ========================================================================
1138188967beSsnj// |      |      |      |                       |       |      |     |      |
1139188967beSsnj// | Ctrl | Super| Alt  | Space    Nobreakspace | AltGr | Super|Menu | Ctrl |
1140188967beSsnj//  ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯ ¯¯¯¯¯¯
1141188967beSsnj
1142188967beSsnj    // First row
1143188967beSsnj    key <TLDE>	{ [	twosuperior 						] };
1144188967beSsnj    key <AE01>	{ [	ampersand,	1 					] };
1145188967beSsnj    key <AE02> { [	eacute,		2,		asciitilde	 	] };
1146188967beSsnj    key <AE03>	{ [	quotedbl,	3,		numbersign		] };
1147188967beSsnj    key <AE04>	{ [	apostrophe,	4,		braceleft		] };
1148188967beSsnj    key <AE05>	{ [	parenleft,	5,		bracketleft		] };
1149188967beSsnj    key <AE06>	{ [	minus,		6,		bar			] };
1150188967beSsnj    key <AE07>	{ [	egrave,		7,		grave			] };
1151188967beSsnj    key <AE08>	{ [	underscore, 	8,		backslash		] };
1152188967beSsnj    key <AE09>	{ [	ccedilla, 	9,		asciicircum		] };
1153188967beSsnj    key <AE10>	{ [	agrave,		0,		at			] };
1154188967beSsnj    key <AE11>	{ [	parenright,	degree,		bracketright		] };
1155188967beSsnj    key <AE12>	{ [	equal,		plus,		braceright		] };
1156188967beSsnj
1157188967beSsnj    // Second row
1158188967beSsnj    key <AD01>	{ [	a,		A					] };
1159188967beSsnj    key <AD02>	{ [	z,		Z				 	] };
1160188967beSsnj    key <AD03>	{ [	e,		E,		EuroSign		] };	
1161188967beSsnj    key <AD04>	{ [	r,		R				 	] };
1162188967beSsnj    key <AD05>	{ [	t,		T					] };
1163188967beSsnj    key <AD06>	{ [	y,		Y					] };	
1164188967beSsnj    key <AD07>	{ [	u,		U					] };	
1165188967beSsnj    key <AD08>	{ [	i,		I					] };	
1166188967beSsnj    key <AD09>	{ [	o,		O					] };	
1167188967beSsnj    key <AD10>	{ [	p,		P					] };
1168188967beSsnj    key <AD11>	{ [	dead_circumflex,dead_diaeresis				] };
1169188967beSsnj    key <AD12>	{ [	dollar,		sterling,	currency		] };	
1170188967beSsnj
1171188967beSsnj    // Third row
1172188967beSsnj    key <AC01>	{ [	q,		Q					] };
1173188967beSsnj    key <AC02>	{ [	s,		S				 	] };
1174188967beSsnj    key <AC03>	{ [	d,		D					] };	
1175188967beSsnj    key <AC04>	{ [	f,		F					] };
1176188967beSsnj    key <AC05>	{ [	g,		G					] };	
1177188967beSsnj    key <AC06>	{ [	h,		H				 	] };
1178188967beSsnj    key <AC07>	{ [	j,		J					] };
1179188967beSsnj    key <AC08>	{ [	k,		K					] };
1180188967beSsnj    key <AC09>	{ [	l,		L					] };
1181188967beSsnj    key <AC10>	{ [	m,		M					] };	
1182188967beSsnj    key <AC11>	{ [	ugrave,		percent					] };
1183188967beSsnj    key <BKSL>  { [	asterisk,	mu					] };
1184188967beSsnj
1185188967beSsnj    // Fourth row
1186188967beSsnj    key <LSGT>	{ [	less,		greater					] };
1187188967beSsnj    key <AB01>	{ [	w,		W					] };
1188188967beSsnj    key <AB02>	{ [	x,		X					] };
1189188967beSsnj    key <AB03>	{ [	c,		C					] };
1190188967beSsnj    key <AB04>	{ [	v,		V					] };	
1191188967beSsnj    key <AB05>  { [	b,		B				 	] };
1192188967beSsnj    key <AB06>	{ [	n,		N				 	] };
1193188967beSsnj    key <AB07>	{ [	comma,		question				] };
1194188967beSsnj    key <AB08>	{ [ 	semicolon,	period					] };
1195188967beSsnj    key <AB09>	{ [ 	colon,		slash					] };
1196188967beSsnj    key <AB10>	{ [	exclam,		section					] };
1197188967beSsnj};
1198143081caSmrg
1199143081caSmrg// US keyboard made French (with dead keys, alternative)
1200143081caSmrg//
1201143081caSmrg// Copyright (C) 2018, Florent Gallaire <f@gallai.re>
1202143081caSmrg
1203143081caSmrgpartial alphanumeric_keys
1204143081caSmrgxkb_symbols "us-alt" {
1205143081caSmrg
1206143081caSmrg    include "us(euro)"
1207143081caSmrg    name[Group1]= "French (US, with French letters, with dead keys, alternative)";
1208143081caSmrg
1209143081caSmrg    key <AB03> { [         c,          C,      ccedilla,         Ccedilla ] }; // ç Ç
1210143081caSmrg
1211143081caSmrg    key <AC01> { [         a,          A,            ae,               AE ] }; // æ Æ
1212143081caSmrg    key <AC11> { [dead_diaeresis, quotedbl,  apostrophe ] };
1213143081caSmrg
1214143081caSmrg    key <AD03> { [         e,          E,        eacute,           Eacute ] }; // é É
1215143081caSmrg    key <AD09> { [         o,          O,            oe,               OE ] }; // œ Œ
1216143081caSmrg    key <AD11> { [ bracketleft,  braceleft,  guillemotleft,  leftdoublequotemark ] }; // « “
1217143081caSmrg    key <AD12> { [bracketright, braceright, guillemotright, rightdoublequotemark ] }; // » ”
1218143081caSmrg
1219143081caSmrg    key <TLDE> { [dead_grave, asciitilde,         grave ] };
1220143081caSmrg    key <AE06> { [dead_circumflex, asciicircum,       6 ] };
1221143081caSmrg    key <AE04> { [         4,     dollar,      EuroSign,         currency ] }; // € ¤
1222143081caSmrg
1223143081caSmrg};
1224143081caSmrg
12259d99ee05Smrg// For physically modified US keyboard (Q <-> A, W <-> Z and ; <-> M)
12269d99ee05Smrg//
12279d99ee05Smrg// Copyright (C) 2018, Florent Gallaire <f@gallai.re>
12289d99ee05Smrg
12299d99ee05Smrgpartial alphanumeric_keys
12309d99ee05Smrgxkb_symbols "us-azerty" {
12319d99ee05Smrg
12329d99ee05Smrg    include "us"
12339d99ee05Smrg    name[Group1]= "French (US, AZERTY)";
12349d99ee05Smrg
12359d99ee05Smrg    key <AB01> { [         w,          W, guillemotleft, leftdoublequotemark ] }; // « “
12369d99ee05Smrg    key <AB02> { [         x,          X,guillemotright,rightdoublequotemark ] }; // » ”
12379d99ee05Smrg    key <AB07> { [ semicolon,      colon                                  ] };
12389d99ee05Smrg
12399d99ee05Smrg    key <AC01> { [         q,          Q                                  ] };
12409d99ee05Smrg    key <AC10> { [         m,          M                                  ] };
12419d99ee05Smrg    key <AC11> { [apostrophe,   quotedbl,        ugrave,           Ugrave ] }; // ù Ù
12429d99ee05Smrg
12439d99ee05Smrg    key <AD01> { [         a,          A,            ae,               AE ] }; // æ Æ
12449d99ee05Smrg    key <AD02> { [         z,          Z                                  ] };
12459d99ee05Smrg    key <AD09> { [         o,          O,            oe,               OE ] }; // œ Œ
12469d99ee05Smrg    key <AD11> { [bracketleft, braceleft,dead_circumflex,  dead_diaeresis ] };
12479d99ee05Smrg
12489d99ee05Smrg    key <TLDE> { [     grave, asciitilde,    dead_grave                   ] };
12499d99ee05Smrg    key <AE02> { [         2,         at,        eacute,           Eacute ] }; // é É
12509d99ee05Smrg    key <AE04> { [         4,     dollar,      currency                   ] }; // ¤
12519d99ee05Smrg    key <AE06> { [         6,asciicircum,dead_circumflex                  ] };
12529d99ee05Smrg    key <AE07> { [         7,  ampersand,        egrave,           Egrave ] }; // è È
12539d99ee05Smrg    key <AE09> { [         9,  parenleft,      ccedilla,         Ccedilla ] }; // ç Ç
12549d99ee05Smrg    key <AE10> { [         0, parenright,        agrave,           Agrave ] }; // à À
12559d99ee05Smrg
12569d99ee05Smrg    include "eurosign(e)"
12579d99ee05Smrg    include "level3(ralt_switch)"
12589d99ee05Smrg};
12591c606da7Smrg
12601c606da7Smrg// Unicode French standardized new azerty
12611c606da7Smrg// Defined by the French national organization for standardization (AFNOR) in norm NF Z71-300 (http://norme-azerty.fr/)
12621c606da7Smrg//
12631c606da7Smrg// Credits
12641c606da7Smrg//   © 2019 Cimbali <me @ cimba.li>
12651c606da7Smrg//
12661c606da7Smrg// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
12671c606da7Smrg// │ # ̑  │ 1 À │ 2 É │ 3 È │ 4 Ê │ 5 ̋  │ 6 ̏  │ 7   │ 8 — │ 9 ‹ │ 0 › │ "   │ ¨   ┃ ⌫ Retour┃
12681c606da7Smrg// │ @ ̆̆̆  ̆│ à § │ é  ́ │ è  ̀ │ ê & │ ( [ │ ) ] │ ‘ ̄̄  │ ’ _ │ « “ │ » ” │ ' ° │ ̂  ̌̌̌  ┃  arrière┃
12691c606da7Smrg// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
12701c606da7Smrg// ┃       ┃ A Æ │ Z   │ E   │ R   │ T ™ │ Y   │ U Ù │ I  ̣ │ O Œ │ P ‰ │ – ‑ │ ± ‡ ┃Entrée ┃
12711c606da7Smrg// ┃Tab ↹  ┃ a æ │ z £ │ e € │ r ® │ t { │ y } │ u ù │ i ̇  │ o œ │ p % │ - − │ + † ┃   ⏎   ┃
12721c606da7Smrg// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓      ┃
12731c606da7Smrg// ┃        ┃ Q   │ S ẞ │ D   │ F   │ G   │ H ̱  │ J", │ K   │ L   │ M   │ \ √ │ ½ ¼ ┃      ┃
12741c606da7Smrg// ┃Maj ⇬   ┃ q θ │ s ß │ d $ │ f ¤ │ g µ │ h   │ j   │ k ̷  │ l | │ m ∞ │ / ÷ │ * × ┃      ┃
12751c606da7Smrg// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫
12761c606da7Smrg// ┃       ┃ > ≥ │ W “ │ X ” │ C ® │ V ← │ B ↑ │ N → │ ? … │ . . │ / ∕ │ § − ┃             ┃
12771c606da7Smrg// ┃Shift ⇧┃ < ≤ │ w « │ x » │ c © │ v ⍽ │ b ↓ │ n ¬ │ , ¿ │ ; × │ : ÷ │ ! ¡ ┃Shift ⇧      ┃
12781c606da7Smrg// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛
12791c606da7Smrg// ┃       ┃       ┃       ┃ ␣         Espace fine insécable ⍽ ┃       ┃       ┃       ┃
12801c606da7Smrg// ┃Ctrl   ┃Meta   ┃Alt    ┃ ␣ Espace       Espace insécable ⍽ ┃AltGr ⇮┃Menu   ┃Ctrl   ┃
12811c606da7Smrg// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
12821c606da7Smrgpartial alphanumeric_keys
12831c606da7Smrgxkb_symbols "afnor" {
12841c606da7Smrg
12851c606da7Smrg    include "latin"
12861c606da7Smrg    include "level3(ralt_switch)"
12871c606da7Smrg    include "nbsp(level3n)"
12881c606da7Smrg    include "keypad(oss)"
12891c606da7Smrg
12901c606da7Smrg    name[Group1]="French (AFNOR standardized AZERTY)";
12911c606da7Smrg
12921c606da7Smrg     // First row
12931c606da7Smrg     key <TLDE> { [                  at,      numbersign,               dead_breve,   dead_invertedbreve ] }; // @ # ̑  ̆̆̆  //
12941c606da7Smrg     key <AE01> { [              agrave,               1,                  section,               Agrave ] }; // à 1 § À
12951c606da7Smrg     key <AE02> { [              eacute,               2,               dead_acute,               Eacute ] }; // é 2  ́ É
12961c606da7Smrg     key <AE03> { [              egrave,               3,               dead_grave,               Egrave ] }; // è 3  ̀ È
12971c606da7Smrg     key <AE04> { [         ecircumflex,               4,                ampersand,          Ecircumflex ] }; // ê 4 & Ê
12981c606da7Smrg     key <AE05> { [           parenleft,               5,              bracketleft,     dead_doubleacute ] }; // ( 5 [
12991c606da7Smrg     key <AE06> { [          parenright,               6,             bracketright,     dead_doublegrave ] }; // ) 6 ]
13001c606da7Smrg     key <AE07> { [ leftsinglequotemark,               7,              dead_macron,           VoidSymbol ] }; // ‘ 7
13011c606da7Smrg     key <AE08> { [rightsinglequotemark,               8,               underscore,               emdash ] }; // ’ 8 _ —
13021c606da7Smrg     key <AE09> { [       guillemotleft,               9,      leftdoublequotemark,           VoidSymbol ] }; // « 9 “ ‹
13031c606da7Smrg     key <AE10> { [      guillemotright,               0,     rightdoublequotemark,           VoidSymbol ] }; // » 0 ” ›
13041c606da7Smrg     key <AE11> { [          apostrophe,        quotedbl,                   degree,       dead_abovering ] }; // ' " °
13051c606da7Smrg     key <AE12> { [     dead_circumflex,  dead_diaeresis,               dead_caron,           VoidSymbol ] }; // ̂  ¨ ̌̌̌    //
13061c606da7Smrg
13071c606da7Smrg     // Second  ow
13081c606da7Smrg     key <AD01> { [                   a,               A,                       ae,                   AE ] }; // a A æ Æ
13091c606da7Smrg     key <AD02> { [                   z,               Z,                 sterling,           VoidSymbol ] }; // z Z £
13101c606da7Smrg     key <AD03> { [                   e,               E,                 EuroSign,           VoidSymbol ] }; // e E €
13111c606da7Smrg     key <AD04> { [                   r,               R,               registered,           VoidSymbol ] }; // r R ®
13121c606da7Smrg     key <AD05> { [                   t,               T,                braceleft,            trademark ] }; // t T { ™
13131c606da7Smrg     key <AD06> { [                   y,               Y,               braceright,           VoidSymbol ] }; // y Y }
13141c606da7Smrg     key <AD07> { [                   u,               U,                   ugrave,               Ugrave ] }; // u U ù Ù
13151c606da7Smrg     key <AD08> { [                   i,               I,            dead_abovedot,        dead_belowdot ] }; // i I ̇   ̣ //
13161c606da7Smrg     key <AD09> { [                   o,               O,                       oe,                   OE ] }; // o O œ Œ
13171c606da7Smrg     key <AD10> { [                   p,               P,                  percent,             permille ] }; // p P % ‰
13181c606da7Smrg     key <AD11> { [               minus,          endash,                0x1002212,            0x1002011 ] }; // - – − ‑ // signe moins (minus sign), trait d'union insécable (non-breaking hyphen)
13191c606da7Smrg     key <AD12> { [                plus,       plusminus,                   dagger,         doubledagger ] }; // + ± † ‡
13201c606da7Smrg
13211c606da7Smrg     // Third r w
13221c606da7Smrg     key <AC01> { [                   q,               Q,              Greek_theta,           VoidSymbol ] }; // q Q θ
13231c606da7Smrg     key <AC02> { [                   s,               S,                   ssharp,            0x1001E9E ] }; // s S ß ẞ // lettre majuscule latine S dur (latin capital letter sharp s)
13241c606da7Smrg     key <AC03> { [                   d,               D,                   dollar,           VoidSymbol ] }; // d D $
13251c606da7Smrg     key <AC04> { [                   f,               F,            dead_currency,           VoidSymbol ] }; // f F ¤
13261c606da7Smrg     key <AC05> { [                   g,               G,               dead_greek,           VoidSymbol ] }; // g G µ
13271c606da7Smrg     key <AC06> { [                   h,               H,               VoidSymbol,     dead_belowmacron ] }; // h H   ̱  // Missing dead key for other european keys (ªəƏþÞıݺſðÐƞȠijIJ)
13281c606da7Smrg     key <AC07> { [                   j,               J,               VoidSymbol,           VoidSymbol ] }; // j J
13291c606da7Smrg     key <AC08> { [                   k,               K,  dead_longsolidusoverlay,           VoidSymbol ] }; // k K ̷    //
13301c606da7Smrg     key <AC09> { [                   l,               L,                      bar,           VoidSymbol ] }; // l L |
13311c606da7Smrg     key <AC10> { [                   m,               M,                 infinity,           VoidSymbol ] }; // m M ∞
13321c606da7Smrg     key <AC11> { [               slash,       backslash,                 division,              radical ] }; // / \ ÷ √
13331c606da7Smrg     key <BKSL> { [            asterisk,         onehalf,                 multiply,           onequarter ] }; // * ½ × ¼
13341c606da7Smrg
13351c606da7Smrg     // Fourth row
13361c606da7Smrg     key <LSGT> { [                less,         greater,            lessthanequal,    greaterthanequal ] }; // < > ≤ ≥
13371c606da7Smrg     key <AB01> { [                   w,               W,                      ezh,                 EZH ] }; // w W ʒ Ʒ
13381c606da7Smrg     key <AB02> { [                   x,               X,                copyright,          VoidSymbol ] }; // x X ©
13391c606da7Smrg     key <AB03> { [                   c,               C,                 ccedilla,            Ccedilla ] }; // c C ç Ç
13401c606da7Smrg     key <AB04> { [                   v,               V,             dead_cedilla,         dead_ogonek ] }; // v V ̧  ̨  //
13411c606da7Smrg     key <AB05> { [                   b,               B,              dead_stroke,          VoidSymbol ] }; // b B ̵    //
13421c606da7Smrg     key <AB06> { [                   n,               N,               dead_tilde,          VoidSymbol ] }; // n N ~
13431c606da7Smrg     key <AB07> { [              period,        question,             questiondown,          VoidSymbol ] }; // . ? ¿
13441c606da7Smrg     key <AB08> { [               comma,          exclam,               exclamdown,     dead_belowcomma ] }; // , ! ¡ ̦  //
13451c606da7Smrg     key <AB09> { [               colon,        ellipsis,           periodcentered,          VoidSymbol ] }; // : … ·
13461c606da7Smrg     key <AB10> { [           semicolon,           equal,             similarequal,            notequal ] }; // ; = ≃ ≠
13471c606da7Smrg};
1348