fr revision 5a35480e
15a35480eSmrg// $XKeyboardConfig$
2154daed1Smrg
3154daed1Smrg// based on a keyboard map from an 'xkb/symbols/fr' file
4154daed1Smrg//
5154daed1Smrg// $XFree86: xc/programs/xkbcomp/symbols/fr,v 1.2 2002/11/22 04:03:28 dawes Exp $
6154daed1Smrg
7154daed1Smrgpartial default alphanumeric_keys
8154daed1Smrgxkb_symbols "basic" {
9154daed1Smrg
10154daed1Smrg    include "latin"
11154daed1Smrg
12154daed1Smrg    name[Group1]="France";
13154daed1Smrg
14154daed1Smrg    key <AE01>	{ [ ampersand,          1,  onesuperior,   exclamdown ]	};
15154daed1Smrg    key <AE02>	{ [    eacute,          2,   asciitilde,    oneeighth ]	};
16154daed1Smrg    key <AE03>	{ [  quotedbl,          3,   numbersign,     sterling ]	};
17154daed1Smrg    key <AE04>	{ [apostrophe,          4,    braceleft,       dollar ]	};
18154daed1Smrg    key <AE05>	{ [ parenleft,          5,  bracketleft, threeeighths ]	};
19154daed1Smrg    key <AE06>	{ [     minus,          6,          bar,  fiveeighths ]	};
20154daed1Smrg    key <AE07>	{ [    egrave,          7,        grave, seveneighths ]	};
21154daed1Smrg    key <AE08>	{ [underscore,          8,    backslash,    trademark ]	};
22154daed1Smrg    key <AE09>	{ [  ccedilla,          9,  asciicircum,    plusminus ]	};
23154daed1Smrg    key <AE10>	{ [    agrave,          0,           at,       degree ]	};
24154daed1Smrg    key <AE11>	{ [parenright,     degree, bracketright, questiondown ]	};
25154daed1Smrg    key <AE12>	{ [     equal,       plus,   braceright,  dead_ogonek ]	};
26154daed1Smrg
27154daed1Smrg    key <AD01>	{ [         a,          A,           ae,           AE ]	};
28154daed1Smrg    key <AD02>	{ [         z,          Z, guillemotleft,        less ]	};
29154daed1Smrg    key <AD03>	{ [         e,          E,     EuroSign,         cent ]	};
30154daed1Smrg    key <AD11>	{ [dead_circumflex, dead_diaeresis, dead_diaeresis, dead_abovering ] };
31154daed1Smrg    key <AD12>	{ [    dollar,   sterling,     currency,  dead_macron ]	};
32154daed1Smrg
33154daed1Smrg    key <AC01>	{ [         q,          Q,           at,  Greek_OMEGA ]	};
34154daed1Smrg    key <AC10>	{ [         m,          M,           mu,    masculine ]	};
35154daed1Smrg    key <AC11>	{ [    ugrave,    percent, dead_circumflex, dead_caron]	};
36154daed1Smrg    key <TLDE>	{ [twosuperior, asciitilde,     notsign,      notsign ]	};
37154daed1Smrg
38154daed1Smrg    key <BKSL>	{ [  asterisk,         mu,   dead_grave,   dead_breve ]	};
39154daed1Smrg    key <AB01>	{ [         w,          W,      lstroke,      Lstroke ]	};
40154daed1Smrg    key <AB07>	{ [     comma,   question,   dead_acute, dead_doubleacute ] };
41154daed1Smrg    key <AB08>	{ [ semicolon,     period, horizconnector,   multiply ]	};
42154daed1Smrg    key <AB09>	{ [     colon,      slash, periodcentered,   division ]	};
43154daed1Smrg    key <AB10>	{ [    exclam,    section, dead_belowdot, dead_abovedot ] };
44154daed1Smrg
45154daed1Smrg    include "level3(ralt_switch)"
46154daed1Smrg};
47154daed1Smrg
48154daed1Smrgpartial alphanumeric_keys
49154daed1Smrgxkb_symbols "Sundeadkeys" {
50154daed1Smrg
51154daed1Smrg    // Modifies the basic French layout to use the Sun dead keys
52154daed1Smrg
53154daed1Smrg    include "fr(basic)"
54154daed1Smrg
55154daed1Smrg    key <AD11>	{ [SunFA_Circum, SunFA_Diaeresis ]	};
56154daed1Smrg    key <AB07>	{ [comma,   question,  SunFA_Acute, dead_doubleacute ]	};
57154daed1Smrg};
58154daed1Smrg
59154daed1Smrgpartial alphanumeric_keys
60154daed1Smrgxkb_symbols "sundeadkeys" {
61154daed1Smrg    include "fr(Sundeadkeys)"
62154daed1Smrg
63154daed1Smrg    name[Group1]="France - Sun dead keys";
64154daed1Smrg};
65154daed1Smrg
66154daed1Smrgpartial alphanumeric_keys
67154daed1Smrgxkb_symbols "nodeadkeys" {
68154daed1Smrg
69154daed1Smrg    // Modifies the basic French layout to eliminate all dead keys
70154daed1Smrg
71154daed1Smrg    include "fr(basic)"
72154daed1Smrg
73154daed1Smrg    name[Group1]="France - Eliminate dead keys";
74154daed1Smrg
75154daed1Smrg    key <AE12>	{ [     equal,       plus,   braceright,       ogonek ]	};
76154daed1Smrg    key <AD11>	{ [asciicircum,  diaeresis ]	};
77154daed1Smrg    key <AD12>	{ [    dollar,   sterling,     currency,       macron ]	};
78154daed1Smrg    key <AC11>	{ [    ugrave,    percent,  asciicircum,        caron ]	};
79154daed1Smrg    key <BKSL>	{ [  asterisk,         mu,        grave,        breve ]	};
80154daed1Smrg    key <AB07>	{ [     comma,   question,        acute,  doubleacute ]	};
81154daed1Smrg    key <AB10>	{ [    exclam,    section, dead_belowdot,    abovedot ]	};
82154daed1Smrg};
83154daed1Smrg
84154daed1Smrg
85154daed1Smrg// Unicode French derivative
86154daed1Smrg// Loose refactoring of the historic Linux French keyboard layout
87154daed1Smrg//
88154daed1Smrg// Copyright © 2006-2008 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
89154daed1Smrg//
90154daed1Smrg// Credits (fr-latin1, fr-latin0, fr-latin9)
91154daed1Smrg//   © 199x-1996 René Cougnenc ✝
92154daed1Smrg//   © 1997-2002 Guylhem Aznar <clavier @ externe.net>
93154daed1Smrg//   © 2003-2006 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
94154daed1Smrg//
95154daed1Smrg// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
96154daed1Smrg// │ ³ ¸ │ 1 ̨ │ 2 É │ 3 ˘ │ 4 — │ 5 – │ 6 ‑ │ 7 È │ 8 ™ │ 9 Ç │ 0 À │ ° ≠ │ + ± ┃ ⌫ Retour┃
97154daed1Smrg// │ ² ¹ │ & ˇ │ é ~ │ " # │ ' { │ ( [ │ - | │ è ` │ _ \ │ ç ^ │ à @ │ ) ] │ = } ┃  arrière┃
98154daed1Smrg// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
99154daed1Smrg// ┃       ┃ A Æ │ Z  │ E ¢ │ R Ê │ T Þ │ Y Ÿ │ U Û │ I Î │ O Œ │ P Ô │ ¨ ˚ │ £ Ø ┃Entrée ┃
100154daed1Smrg// ┃Tab ↹  ┃ a æ │ z â │ e € │ r ê │ t þ │ y ÿ │ u û │ i î │ o œ │ p ô │ ^ ~ │ $ ø ┃   ⏎   ┃
101154daed1Smrg// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓      ┃
102154daed1Smrg// ┃        ┃ Q Ä │ S „ │ D Ë │ F ‚ │ G ¥ │ H Ð │ J Ü │ K Ï │ L Ŀ │ M Ö │ % Ù │ µ ̄ ┃      ┃
103154daed1Smrg// ┃Maj ⇬   ┃ q ä │ s ß │ d ë │ f ‘ │ g ’ │ h ð │ j ü │ k ï │ l ŀ │ m ö │ ù ' │ * ` ┃      ┃
104154daed1Smrg// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫
105154daed1Smrg// ┃       ┃ > ≥ │ W “ │ X ” │ C ® │ V ← │ B ↑ │ N → │ ? … │ . . │ / ∕ │ § − ┃             ┃
106154daed1Smrg// ┃Shift ⇧┃ < ≤ │ w « │ x » │ c © │ v ⍽ │ b ↓ │ n ¬ │ , ¿ │ ; × │ : ÷ │ ! ¡ ┃Shift ⇧      ┃
107154daed1Smrg// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛
108154daed1Smrg// ┃       ┃       ┃       ┃ ␣         Espace fine insécable ⍽ ┃       ┃       ┃       ┃
109154daed1Smrg// ┃Ctrl   ┃Meta   ┃Alt    ┃ ␣ Espace       Espace insécable ⍽ ┃AltGr ⇮┃Menu   ┃Ctrl   ┃
110154daed1Smrg// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
111154daed1Smrgpartial alphanumeric_keys
112154daed1Smrgxkb_symbols "oss" {
113154daed1Smrg
114154daed1Smrg    include "latin"
115154daed1Smrg    include "level3(ralt_switch)"
116154daed1Smrg    include "nbsp(level4nl)"
117154daed1Smrg    include "keypad(oss)"
118154daed1Smrg
119154daed1Smrg    name[Group1]="France - Alternative";
120154daed1Smrg
121154daed1Smrg    // First row
122154daed1Smrg    key <TLDE>	{ [      twosuperior,    threesuperior,          onesuperior,          dead_cedilla ] }; // ² ³ ¹ ¸ 
123154daed1Smrg    key <AE01>	{ [        ampersand,                1,           dead_caron,           dead_ogonek ] }; // & 1 ˇ ̨
124154daed1Smrg    key <AE02>	{ [           eacute,                2,           asciitilde,                Eacute ] }; // é 2 ~ É
125154daed1Smrg    key <AE03>	{ [         quotedbl,                3,           numbersign,            dead_breve ] }; // " 3 # ˘
126154daed1Smrg    key <AE04>	{ [       apostrophe,                4,            braceleft,             0x1002014 ] }; // ' 4 { — (tiret cadratin)
127154daed1Smrg    key <AE05>	{ [        parenleft,                5,          bracketleft,             0x1002013 ] }; // ( 5 [ – (tiret demi-cadratin)
128154daed1Smrg    key <AE06>	{ [            minus,                6,                  bar,             0x1002011 ] }; // - 6 | ‑ (tiret insécable)
129154daed1Smrg    key <AE07>	{ [           egrave,                7,                grave,                Egrave ] }; // è 7 ` È
130154daed1Smrg    key <AE08>	{ [       underscore,                8,            backslash,             trademark ] }; // _ 8 \ ™
131154daed1Smrg    key <AE09>	{ [         ccedilla,                9,          asciicircum,              Ccedilla ] }; // ç 9 ^ Ç
132154daed1Smrg    key <AE10>	{ [           agrave,                0,                   at,                Agrave ] }; // à 0 @ À
133154daed1Smrg    key <AE11>	{ [       parenright,           degree,         bracketright,              notequal ] }; // ) ° ] ≠ 
134154daed1Smrg    key <AE12>	{ [            equal,             plus,           braceright,             plusminus ] }; // = + } ±
135154daed1Smrg
136154daed1Smrg    // Second row
137154daed1Smrg    key <AD01>	{ [                a,                A,                   ae,                    AE ] }; // a A æ Æ
138154daed1Smrg    key <AD02>	{ [                z,                Z,          acircumflex,           Acircumflex ] }; // z Z â Â
139154daed1Smrg    key <AD03>	{ [                e,                E,             EuroSign,                  cent ] }; // e E € ¢
140154daed1Smrg    key <AD04>	{ [                r,                R,          ecircumflex,           Ecircumflex ] }; // r R ê Ê
141154daed1Smrg    key <AD05>	{ [                t,                T,                thorn,                 THORN ] }; // t T þ Þ
142154daed1Smrg    key <AD06>	{ [                y,                Y,           ydiaeresis,            Ydiaeresis ] }; // y Y ÿ Ÿ
143154daed1Smrg    key <AD07>	{ [                u,                U,          ucircumflex,           Ucircumflex ] }; // u U û Û
144154daed1Smrg    key <AD08>	{ [                i,                I,          icircumflex,           Icircumflex ] }; // i I î Î
145154daed1Smrg    key <AD09>	{ [                o,                O,                   oe,                    OE ] }; // o O œ Œ
146154daed1Smrg    key <AD10>	{ [                p,                P,          ocircumflex,           Ocircumflex ] }; // p P ô Ô
147154daed1Smrg    key <AD11>	{ [  dead_circumflex,   dead_diaeresis,           dead_tilde,        dead_abovering ] }; // ^ ̈ ̃ ˚
148154daed1Smrg    key <AD12>	{ [           dollar,         sterling,               oslash,              Ooblique ] }; // $ £ ø Ø
149154daed1Smrg
150154daed1Smrg    // Third row
151154daed1Smrg    key <AC01>	{ [                q,                Q,           adiaeresis,            Adiaeresis ] }; // q Q ä Ä
152154daed1Smrg    key <AC02>	{ [                s,                S,               ssharp,    doublelowquotemark ] }; // s S ß „ 
153154daed1Smrg    key <AC03>	{ [                d,                D,           ediaeresis,            Ediaeresis ] }; // d D ë Ë
154154daed1Smrg    key <AC04>	{ [                f,                F,  leftsinglequotemark,    singlelowquotemark ] }; // f F ‘ ‚
155154daed1Smrg    key <AC05>	{ [                g,                G, rightsinglequotemark,                   yen ] }; // g G ’ ¥
156154daed1Smrg    key <AC06>	{ [                h,                H,                  eth,                   ETH ] }; // h H ð Ð
157154daed1Smrg    key <AC07>	{ [                j,                J,           udiaeresis,            Udiaeresis ] }; // j J ü Ü
158154daed1Smrg    key <AC08>	{ [                k,                K,           idiaeresis,            Idiaeresis ] }; // k K ï Ï
159154daed1Smrg    key <AC09>	{ [                l,                L,            0x1000140,             0x100013F ] }; // l L ŀ Ŀ
160154daed1Smrg    key <AC10>	{ [                m,                M,           odiaeresis,            Odiaeresis ] }; // m M ö Ö
161154daed1Smrg    key <AC11>	{ [           ugrave,          percent,           dead_acute,                Ugrave ] }; // ù % ' Ù
162154daed1Smrg    key <BKSL>	{ [         asterisk,               mu,           dead_grave,           dead_macron ] }; // * µ ` ̄
163154daed1Smrg
164154daed1Smrg    // Fourth row
165154daed1Smrg    key <LSGT>  { [             less,          greater,        lessthanequal,      greaterthanequal ] }; // < > ≤ ≥
166154daed1Smrg    key <AB01>  { [                w,                W,        guillemotleft,   leftdoublequotemark ] }; // w W « “
167154daed1Smrg    key <AB02>  { [                x,                X,       guillemotright,  rightdoublequotemark ] }; // x X » ”
168154daed1Smrg    key <AB03>  { [                c,                C,            copyright,            registered ] }; // c C © ®
169154daed1Smrg    key <AB04>  { [                v,                V,            0x100202F,             leftarrow ] }; // v V ⍽ ← (espace fine insécable)
170154daed1Smrg    key <AB05>  { [                b,                B,            downarrow,               uparrow ] }; // b B ↓ ↑
171154daed1Smrg    key <AB06>  { [                n,                N,              notsign,            rightarrow ] }; // n N ¬ →
172154daed1Smrg    key <AB07>  { [            comma,         question,         questiondown,             0x1002026 ] }; // , ? ¿ …
173154daed1Smrg    key <AB08>  { [        semicolon,           period,             multiply,             0x10022C5 ] }; // ; . × ⋅
174154daed1Smrg    key <AB09>  { [            colon,            slash,             division,             0x1002215 ] }; // : / ÷ ∕
175154daed1Smrg    key <AB10>  { [           exclam,          section,           exclamdown,             0x1002212 ] }; // ! § ¡ −
176154daed1Smrg};
177154daed1Smrg
178154daed1Smrgpartial alphanumeric_keys
179154daed1Smrgxkb_symbols "oss_latin9" {
180154daed1Smrg
181154daed1Smrg    // Restricts the fr(oss) layout to latin9 symbols
182154daed1Smrg
183154daed1Smrg    include "fr(oss)"
184154daed1Smrg    include "keypad(oss_latin9)"
185154daed1Smrg
186154daed1Smrg    name[Group1]="France - Alternative, latin-9 only";
187154daed1Smrg
188154daed1Smrg    // First row
189154daed1Smrg    key <AE01>	{ [        ampersand,                1,           dead_caron,          dead_cedilla ] }; // & 1 ˇ ¸
190154daed1Smrg    key <AE03>	{ [         quotedbl,                3,           numbersign,            dead_tilde ] }; // " 3 # ~
191154daed1Smrg    key <AE04>	{ [       apostrophe,                4,            braceleft,            underscore ] }; // ' 4 { _
192154daed1Smrg    key <AE05>	{ [        parenleft,                5,          bracketleft,                 minus ] }; // ( 5 [ -
193154daed1Smrg    key <AE06>  { [            minus,                6,                  bar,                 minus ] }; // - 6 | -
194154daed1Smrg    key <AE08>  { [       underscore,                8,            backslash,             backslash ] }; // _ 8 \ \
195154daed1Smrg    key <AE11>	{ [       parenright,           degree,         bracketright,                 equal ] }; // ) ° ] =
196154daed1Smrg
197154daed1Smrg    // Third row
198154daed1Smrg    key <AC02>	{ [                s,                S,               ssharp,         guillemotleft ] }; // s S ß « 
199154daed1Smrg    key <AC04>	{ [                f,                F,           apostrophe,            apostrophe ] }; // f F ' '
200154daed1Smrg    key <AC05>	{ [                g,                G,           apostrophe,                   yen ] }; // g G ' ¥
201154daed1Smrg    key <AC09>  { [                l,                L,       periodcentered,        periodcentered ] }; // l L · ·
202154daed1Smrg    key <BKSL>	{ [         asterisk,               mu,           dead_grave,       dead_circumflex ] }; // * µ ` ^ 
203154daed1Smrg
204154daed1Smrg    // Fourth row
205154daed1Smrg    key <LSGT>  { [             less,          greater,                 less,               greater ] }; // < > < >
206154daed1Smrg    key <AB01>  { [                w,                W,        guillemotleft,         guillemotleft ] }; // w W « «
207154daed1Smrg    key <AB02>  { [                x,                X,       guillemotright,        guillemotright ] }; // x X » »
208154daed1Smrg    key <AB04>  { [                v,                V,         nobreakspace,                  less ] }; // v V ⍽ < (espace insécable)
209154daed1Smrg    key <AB05>  { [                b,                B,                minus,           asciicircum ] }; // b B - ^
210154daed1Smrg    key <AB06>  { [                n,                N,              notsign,               greater ] }; // n N ¬ >
211154daed1Smrg    key <AB07>  { [            comma,         question,         questiondown,                period ] }; // , ? ¿ .
212154daed1Smrg    key <AB08>  { [        semicolon,           period,             multiply,        periodcentered ] }; // ; . × ·
213154daed1Smrg    key <AB09>  { [            colon,            slash,             division,                 slash ] }; // : / ÷ /
214154daed1Smrg    key <AB10>  { [           exclam,          section,           exclamdown,                 minus ] }; // ! § ¡ -
215154daed1Smrg};
216154daed1Smrg
217154daed1Smrgpartial alphanumeric_keys
218154daed1Smrgxkb_symbols "oss_Sundeadkeys" {
219154daed1Smrg
220154daed1Smrg    // Modifies the basic fr(oss) layout to use the Sun dead keys
221154daed1Smrg
222154daed1Smrg    include "fr(oss)"
223154daed1Smrg
224154daed1Smrg    // First row
225154daed1Smrg    key <TLDE>	{ [      twosuperior,    threesuperior,          onesuperior,         SunFA_Cedilla ] }; // ¹ ² ³ ¸ 
226154daed1Smrg
227154daed1Smrg    // Second row
228154daed1Smrg    key <AD11>	{ [     SunFA_Circum,  SunFA_Diaeresis,          SunFA_Tilde,        dead_abovering ] }; // ^ ̈ ̃ ˚
229154daed1Smrg
230154daed1Smrg    //Third row
231154daed1Smrg    key <AC11>	{ [           ugrave,          percent,          SunFA_Acute,                Ugrave ] }; // ù % ' Ù
232154daed1Smrg    key <BKSL>	{ [         asterisk,               mu,          SunFA_Grave,           dead_macron ] }; // * µ ` ̄
233154daed1Smrg};
234154daed1Smrg
235154daed1Smrgpartial alphanumeric_keys
236154daed1Smrgxkb_symbols "oss_sundeadkeys" {
237154daed1Smrg
238154daed1Smrg    include "fr(oss_Sundeadkeys)"
239154daed1Smrg
240154daed1Smrg    name[Group1]="France - Alternative, Sun dead keys";
241154daed1Smrg};
242154daed1Smrg
243154daed1Smrgpartial alphanumeric_keys
244154daed1Smrgxkb_symbols "oss_nodeadkeys" {
245154daed1Smrg
246154daed1Smrg    // Modifies the basic fr(oss) layout to eliminate all dead keys
247154daed1Smrg
248154daed1Smrg    include "fr(oss)"
249154daed1Smrg
250154daed1Smrg    name[Group1]="France - Alternative, eliminate dead keys";
251154daed1Smrg
252154daed1Smrg    key <TLDE>	{ [      twosuperior,    threesuperior,          onesuperior,               cedilla ] }; // ² ³ ¹ ¸ 
253154daed1Smrg    key <AE01>	{ [        ampersand,                1,                caron,                ogonek ] }; // & 1 ˇ ̨
254154daed1Smrg    key <AE03>	{ [         quotedbl,                3,           numbersign,                 breve ] }; // " 3 # ˘
255154daed1Smrg
256154daed1Smrg    // Second row
2575a35480eSmrg    key <AD11>	{ [  asciicircum,   diaeresis,           asciitilde,                 Aring ] }; // ^ ̈ ̃ Å
258154daed1Smrg    key <AC11>	{ [           ugrave,          percent,                acute,                Ugrave ] }; // ù % ' Ù
259154daed1Smrg    key <BKSL>	{ [         asterisk,               mu,                grave,                macron ] }; // * µ ` ̄
260154daed1Smrg};
261154daed1Smrg
262154daed1Smrg
263154daed1Smrg// Historic Linux French keyboard layout (fr-latin9)
264154daed1Smrg// Copyright (c) 199x, 2002 Rene Cougnenc (original work)
265154daed1Smrg//                          Guylhem Aznar <clavier @ externe.net> (maintainer)
266154daed1Smrg//                          Nicolas Mailhot <Nicolas.Mailhot @ laposte.net>
267154daed1Smrg//                              (XFree86 submission)
268154daed1Smrg//
269154daed1Smrg//  $XFree86: xc/programs/xkbcomp/symbols/fr-latin9,v 1.1 2002/12/20 02:07:11 dawes Exp $
270154daed1Smrg//
271154daed1Smrg// This layout has long been distributed and refined outside official channels.
272154daed1Smrg// To this day it remains more feature-rich and popular than the 'fr' layout.
273154daed1Smrg//
274154daed1Smrg// This file is derived from an original version by Guylhem Aznar.  The
275154daed1Smrg// original version is always available from:
276154daed1Smrg// http://en.tldp.org/HOWTO/Francophones-HOWTO.html
277154daed1Smrg// and is distributed under a GPL license.
278154daed1Smrg//
279154daed1Smrg// The author has given permission for this derived version to be distributed
280154daed1Smrg// under the standard XFree86 license. He would like all changes to this
281154daed1Smrg// version be send to him at <clavier @ externe.net> so he can sync the
282154daed1Smrg// identically named linux console map (kbd, linux-console) and this
283154daed1Smrg// fileout-of-tree GPL version.
284154daed1Smrg//
285154daed1Smrg// Now follows the keyboard design description in French.
286154daed1Smrg// (If you can't read it you probably have no business changing this file anyway:)
287154daed1Smrg//
288154daed1Smrg// Les accents circonflexes des principales voyelles sont obtenus avec
289154daed1Smrg// la touche Alt_Gr, les trémas sont obtenus par Alt_Gr + Shift.
290154daed1Smrg//
291154daed1Smrg//  ____                                     _________ _____________ _______
292154daed1Smrg// | S A| S = Shift,  A = AltGr + Shift     | Imprime | Arrêt défil | Pause |
293154daed1Smrg// | s a| s = normal, a = AltGr             |  Exec   |             | Halte |
294154daed1Smrg//  ¯¯¯¯                                     ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯
295154daed1Smrg//  ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ _______
296154daed1Smrg// | œ "| 1 ·| 2 É| 3 ,| 4 '| 5 "| 6 || 7 È| 8 ¯| 9 Ç| 0 À| ° ÿ| + °| <--   |
297154daed1Smrg// | Œ "| & '| é ~| " #| ' {| ( [| - || è `| _ \| ç ^| à @| ) ]| = }|       |
298154daed1Smrg//  ========================================================================
299154daed1Smrg// | |<-  | A ä| Z Å| E ¢| R Ç| T Þ| Y Ý| U ü| I ï| O ö| P '| " `| $ ë|   , |
300154daed1Smrg// |  ->| | a â| z å| e €| r ç| t þ| y ý| u û| i î| o ô| p ¶| ^ ~| £ ê| <-' |
301154daed1Smrg//  ===================================================================¬    |
302154daed1Smrg// |       | Q Ä| S Ø| D Ë| F ª| G Æ| H Ð| J Ü| K Ï| L Ö| M º| % Ù| µ ¥|    |
303154daed1Smrg// | MAJ   | q Â| s ø| d Ê| f ±| g æ| h ð| j Û| k Î| l Ô| m ¹| ù ²| * ³|    |
304154daed1Smrg//  ========================================================================
305154daed1Smrg// | ^   | >  | W  | X  | C  | V  | B  | N  | ?  | .  | /  | §  |     ^     |
306154daed1Smrg// | |   | < || w «| x »| c ©| v ®| b ß| n ¬| , ¿| ; ×| : ÷| ! ¡|     |     |
307154daed1Smrg//  ========================================================================
308154daed1Smrg// |      |      |      |                       |       |      |     |      |
309154daed1Smrg// | Ctrl | Super| Alt  | Space    Nobreakspace | AltGr | Super|Menu | Ctrl |
310154daed1Smrg//  ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯ ¯¯¯¯¯¯
311154daed1Smrg//
312154daed1Smrg//
313154daed1Smrg//		Si les touches mortes fonctionnent, utiliser les accents dits
314154daed1Smrg//		« morts », i.e. fonctionnant comme l'accent circonflexe & le
315154daed1Smrg//		tréma des machines à écrire ; sont disponibles :
316154daed1Smrg//
317154daed1Smrg// (^) : accent circonflexe,
318154daed1Smrg// Shift+(^) : tréma,
319154daed1Smrg// Shift+AltGr (^) : tilde,
320154daed1Smrg// AltGr (1) : accent aigu,
321154daed1Smrg// AltGr (7) : accent grave
322154daed1Smrg//
323154daed1Smrg// Pour s'en servir, procéder comme avec l'accent circonflexe & le tréma
324154daed1Smrg// sur les vielles machines à écrire :
325154daed1Smrg//
326154daed1Smrg// AltGr (1) puis e : é
327154daed1Smrg// Shift+AltGr (1) puis e : É ...
328154daed1Smrgpartial alphanumeric_keys
329154daed1Smrg
330154daed1Smrgxkb_symbols "latin9" {
331154daed1Smrg
332154daed1Smrg    include "latin"
333154daed1Smrg    include "nbsp(level3)"
334154daed1Smrg
335154daed1Smrg    name[Group1]="France - (Legacy) Alternative";
336154daed1Smrg
337154daed1Smrg    key <TLDE>	{ [              oe,              OE, leftdoublequotemark, rightdoublequotemark ] };
338154daed1Smrg    key <AE01>	{ [       ampersand,               1,          dead_acute,       periodcentered ] };
339154daed1Smrg    key <AE02>	{ [          eacute,               2,          asciitilde,               Eacute ] };
340154daed1Smrg    key <AE03>	{ [        quotedbl,               3,          numbersign,              cedilla ] };
341154daed1Smrg    key <AE04>	{ [      apostrophe,               4,           braceleft,                acute ] };
342154daed1Smrg    key <AE05>	{ [       parenleft,               5,         bracketleft,            diaeresis ] };
343154daed1Smrg    key <AE06>	{ [           minus,               6,                 bar,            brokenbar ] };
344154daed1Smrg    key <AE07>	{ [          egrave,               7,          dead_grave,               Egrave ] };
345154daed1Smrg    key <AE08>	{ [      underscore,               8,           backslash,               macron ] };
346154daed1Smrg    key <AE09>	{ [        ccedilla,               9,         asciicircum,             Ccedilla ] };
347154daed1Smrg    key <AE10>	{ [          agrave,               0,                  at,               Agrave ] };
348154daed1Smrg    key <AE11>	{ [      parenright,          degree,        bracketright,           ydiaeresis ] };
349154daed1Smrg    key <AE12>	{ [           equal,            plus,          braceright,       dead_abovering ] };
350154daed1Smrg
351154daed1Smrg    key <AD01>	{ [               a,               A,         acircumflex,           adiaeresis ] };
352154daed1Smrg    key <AD02>	{ [               z,               Z,               aring,                Aring ] };
353154daed1Smrg    key <AD03>	{ [               e,               E,            EuroSign,                 cent ] };
354154daed1Smrg    key <AD04>	{ [               r,               R,            ccedilla,             Ccedilla ] };
355154daed1Smrg    key <AD05>	{ [               t,               T,               thorn,                THORN ] };
356154daed1Smrg    key <AD06>	{ [               y,               Y,              yacute,               Yacute ] };
357154daed1Smrg    key <AD07>	{ [               u,               U,         ucircumflex,           udiaeresis ] };
358154daed1Smrg    key <AD08>	{ [               i,               I,         icircumflex,           idiaeresis ] };
359154daed1Smrg    key <AD09>	{ [               o,               O,         ocircumflex,           odiaeresis ] };
360154daed1Smrg    key <AD10>	{ [               p,               P,           paragraph,            quoteleft ] };
361154daed1Smrg    key <AD11>	{ [ dead_circumflex,  dead_diaeresis,          dead_tilde,           quoteright ] };
362154daed1Smrg    key <AD12>	{ [          dollar,	    sterling,         ecircumflex,           ediaeresis ] };
363154daed1Smrg
364154daed1Smrg    key <AC01>	{ [               q,               Q,         Acircumflex,           Adiaeresis ] };
365154daed1Smrg    key <AC02>	{ [               s,               S,              oslash,             Ooblique ] };
366154daed1Smrg    key <AC03>	{ [               d,               D,         Ecircumflex,           Ediaeresis ] };
367154daed1Smrg    key <AC04>	{ [               f,               F,           plusminus,          ordfeminine ] };
368154daed1Smrg    key <AC05>	{ [               g,               G,                  ae,                   AE ] };
369154daed1Smrg    key <AC06>	{ [               h,               H,                 eth,                  ETH ] };
370154daed1Smrg    key <AC07>	{ [               j,               J,         Ucircumflex,           Udiaeresis ] };
371154daed1Smrg    key <AC08>	{ [               k,               K,         Icircumflex,           Idiaeresis ] };
372154daed1Smrg    key <AC09>	{ [               l,               L,         Ocircumflex,           Odiaeresis ] };
373154daed1Smrg    key <AC10>	{ [               m,               M,         onesuperior,            masculine ] };
374154daed1Smrg    key <AC11>	{ [          ugrave,         percent,         twosuperior,               Ugrave ] };
375154daed1Smrg    key <BKSL>  { [        asterisk,              mu,       threesuperior,                  yen ] };
376154daed1Smrg
377154daed1Smrg    key <LSGT>	{ [            less,         greater,                 bar                       ] };
378154daed1Smrg    key <AB01>	{ [               w,               W,       guillemotleft	        	] };
379154daed1Smrg    key <AB02>	{ [               x,               X,      guillemotright                       ] };
380154daed1Smrg    key <AB03>	{ [               c,               C,           copyright                       ] };
381154daed1Smrg    key <AB04>	{ [               v,               V,          registered		        ] };
382154daed1Smrg    key <AB05>	{ [               b,               B,              ssharp                       ] };
383154daed1Smrg    key <AB06>	{ [               n,               N,             notsign                       ] };
384154daed1Smrg    key <AB07>	{ [           comma,        question,        questiondown                       ] };
385154daed1Smrg    key <AB08>	{ [       semicolon,          period,            multiply		        ] };
386154daed1Smrg    key <AB09>	{ [           colon,           slash,            division                       ] };
387154daed1Smrg    key <AB10>	{ [          exclam,         section,          exclamdown                       ] };
388154daed1Smrg
389154daed1Smrg    // French uses a comma as decimal separator, but keyboards are labeled with a period
390154daed1Smrg    // Will take effect when KP_Decimal is mapped to the locale decimal separator
391154daed1Smrg    key <KPDL>  { [       KP_Delete,          period,           KP_Delete,           KP_Decimal ] };
392154daed1Smrg
393154daed1Smrg    include "level3(ralt_switch)"
394154daed1Smrg};
395154daed1Smrg
396154daed1Smrgpartial alphanumeric_keys
397154daed1Smrgxkb_symbols "latin9_Sundeadkeys" {
398154daed1Smrg
399154daed1Smrg    // Modifies the basic fr-latin9 layout to use the Sun dead keys
400154daed1Smrg
401154daed1Smrg    include "fr(latin9)"
402154daed1Smrg
403154daed1Smrg    key <AE01>	{ [       ampersand,               1,         SunFA_Acute,       periodcentered ] };
404154daed1Smrg    key <AE07>	{ [          egrave,               7,         SunFA_Grave,               Egrave ] };
405154daed1Smrg    key <AD11>	{ [    SunFA_Circum, SunFA_Diaeresis,         SunFA_Tilde,           quoteright ] };
406154daed1Smrg
407154daed1Smrg};
408154daed1Smrg
409154daed1Smrgpartial alphanumeric_keys
410154daed1Smrgxkb_symbols "latin9_sundeadkeys" {
411154daed1Smrg
412154daed1Smrg    include "fr(latin9_Sundeadkeys)"
413154daed1Smrg
414154daed1Smrg    name[Group1]="France - (Legacy) Alternative, Sun dead keys";
415154daed1Smrg};
416154daed1Smrg
417154daed1Smrgpartial alphanumeric_keys
418154daed1Smrgxkb_symbols "latin9_nodeadkeys" {
419154daed1Smrg
420154daed1Smrg    // Modifies the basic fr-latin9 layout to eliminate all dead keys
421154daed1Smrg
422154daed1Smrg    include "fr(latin9)"
423154daed1Smrg
424154daed1Smrg    name[Group1]="France - (Legacy) Alternative, eliminate dead keys";
425154daed1Smrg
426154daed1Smrg    key <AE01>	{ [       ampersand,               1,          apostrophe,       periodcentered ] };
427154daed1Smrg    key <AE07>	{ [          egrave,               7,               grave,               Egrave ] };
428154daed1Smrg    key <AE12>	{ [           equal,            plus,          braceright         	        ] };
429154daed1Smrg    key <AD11>	{ [	asciicircum,  	   diaeresis,          asciitilde,           quoteright ] };
430154daed1Smrg};
431154daed1Smrg
432154daed1Smrg// Bépo : Improved ergonomic french keymap using Dvorak method.
433154daed1Smrg// Built by community on 'Dvorak Fr' mailing list :
434154daed1Smrg// dvorak-fr@gpl.insa-lyon.fr and on its wiki : http://gpl.insa-lyon.fr/Dvorak-Fr/ .
435154daed1Smrg// XOrg integration in 2006 by Frédéric Boiteux <fboiteux @ free.fr>
436154daed1Smrg//
437154daed1Smrg// Bépo layout (6.2.1.1 version) for a pc105 keyboard (french) :
438154daed1Smrg// ┌────┐
439154daed1Smrg// │ S A│   S = Shift,  A = AltGr + Shift
440154daed1Smrg// │ s a│   s = normal, a = AltGr
441154daed1Smrg// └────┘
442154daed1Smrg//
443154daed1Smrg// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
444154daed1Smrg// │ $   │ 1 ¹ │ 2 ² │ 3 ³ │ 4 ° │ 5 ˚ │ 6   │ 7   │ 8   │ 9   │ 0   │ ^   │ µ   ┃ ⌫ Retour┃
445154daed1Smrg// │ @ # │ _ { │ " } │ « < │ » > │ ( [ │ ) ] │ + ± │ - ¬ │ * × │ / ÷ │ = ¯ │ %   ┃  arrière┃
446154daed1Smrg// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
447154daed1Smrg// ┃       ┃ B   │ É ˊ │ P ¶ │ O Œ │ È ` │ Ç   │ V   │ D Ð │ L   │ F   │ J   │ Z   ┃Entrée ┃
448154daed1Smrg// ┃Tab ↹  ┃ b | │ é & │ p § │ o œ │ è ` │ ç   │ v   │ d ð │ l £ │ f ª │ j   │ z   ┃   ⏎   ┃
449154daed1Smrg// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓      ┃
450154daed1Smrg// ┃        ┃ A Æ │ U Ù │ I ˇ │ E   │ ?   │ C ¢ │ T Þ │ S   │ N   │ R   │ M   │ !   ┃      ┃
451154daed1Smrg// ┃Maj ⇬   ┃ a æ │ u ù │ i ̈ │ e € │ , ¿ │ c © │ t þ │ s ß │ n   │ r ® │ m º │ ˆ ¡ ┃      ┃
452154daed1Smrg// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫
453154daed1Smrg// ┃       ┃ ù   │ À ˜ │ H   │ Y   │ : · │ K   │ ;   │ Q   │ G   │ X   │ W   ┃             ┃
454154daed1Smrg// ┃Shift ⇧┃ ê / │ à ~ │ h ! │ y ¥ │ . \ │ k   │ '   │ q   │ g   │ x   │ w   ┃Shift ⇧      ┃
455154daed1Smrg// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛
456154daed1Smrg// ┃       ┃       ┃       ┃ ⍽ Espace insécable              ␣ ┃       ┃       ┃       ┃
457154daed1Smrg// ┃Ctrl   ┃Meta   ┃Alt    ┃ ␣ Espace                        ␣ ┃AltGr ⇮┃Menu   ┃Ctrl   ┃
458154daed1Smrg// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
459154daed1Smrgpartial alphanumeric_keys
460154daed1Smrgxkb_symbols "bepo" {
461154daed1Smrg
462154daed1Smrg    include "keypad(oss)"
463154daed1Smrg
464154daed1Smrg    name[Group1]= "France - Bepo, ergonomic, Dvorak way";
465154daed1Smrg
466154daed1Smrg    // First row
467154daed1Smrg    key <TLDE> { [              at,       dollar,     numbersign                 ] }; // @ $ #
468154daed1Smrg    key <AE01> { [      underscore,            1,      braceleft,    onesuperior ] }; // _ 1 { ¹
469154daed1Smrg    key <AE02> { [        quotedbl,            2,     braceright,    twosuperior ] }; // " 2 } ²
470154daed1Smrg    key <AE03> { [   guillemotleft,            3,           less,  threesuperior ] }; // « 3 < ³
471154daed1Smrg    key <AE04> { [  guillemotright,            4,        greater,         degree ] }; // » 4 > °
472154daed1Smrg    key <AE05> { [       parenleft,            5,    bracketleft, dead_abovering ] }; // ( 5 [ ˚
473154daed1Smrg    key <AE06> { [      parenright,            6,   bracketright                 ] }; // ) 6 ]
474154daed1Smrg    key <AE07> { [            plus,            7,      plusminus                 ] }; // + 7 ±
475154daed1Smrg    key <AE08> { [           minus,            8,        notsign                 ] }; // - 8 ¬
476154daed1Smrg    key <AE09> { [        asterisk,            9,       multiply                 ] }; // * 9 ×
477154daed1Smrg    key <AE10> { [           slash,            0,       division                 ] }; // / 0 ÷
478154daed1Smrg    key <AE11> { [           equal,  asciicircum,         macron                 ] }; // = ^ ¯
479154daed1Smrg    key <AE12> { [         percent,           mu                                 ] }; // % µ
480154daed1Smrg
481154daed1Smrg    // Second row
482154daed1Smrg    key <AD01> { [               b,            B,            bar                 ] }; // b B |
483154daed1Smrg    key <AD02> { [          eacute,       Eacute,      ampersand,     dead_acute ] }; // é É & ˊ
484154daed1Smrg    key <AD03> { [               p,            P,        section,      paragraph ] }; // p P § ¶
485154daed1Smrg    key <AD04> { [               o,            O,             oe,             OE ] }; // o O œ Œ
486154daed1Smrg    key <AD05> { [          egrave,       Egrave,          grave,     dead_grave ] }; // è È ` `
487154daed1Smrg    key <AD06> { [        ccedilla,     Ccedilla                                 ] }; // ç Ç
488154daed1Smrg    key <AD07> { [               v,            V                                 ] }; // v V
489154daed1Smrg    key <AD08> { [               d,            D,            eth,            ETH ] }; // d D ð Ð
490154daed1Smrg    key <AD09> { [               l,            L,       sterling                 ] }; // l L £
491154daed1Smrg    key <AD10> { [               f,            F,    ordfeminine                 ] }; // f F ª
492154daed1Smrg    key <AD11> { [               j,            J                                 ] }; // j J
493154daed1Smrg    key <AD12> { [               z,            Z                                 ] }; // z Z
494154daed1Smrg
495154daed1Smrg    // Third row
496154daed1Smrg    key <AC01> { [               a,            A,             ae,             AE ] }; // a A æ Æ
497154daed1Smrg    key <AC02> { [               u,            U,         ugrave,         Ugrave ] }; // u U ù Ù
498154daed1Smrg    key <AC03> { [               i,            I, dead_diaeresis,     dead_caron ] }; // i I ̈ ˇ
499154daed1Smrg    key <AC04> { [               e,            E,       EuroSign                 ] }; // e E €
500154daed1Smrg    key <AC05> { [           comma,     question,   questiondown                 ] }; // , ? ¿
501154daed1Smrg    key <AC06> { [               c,            C,      copyright,           cent ] }; // c C © ¢
502154daed1Smrg    key <AC07> { [               t,            T,          thorn,          Thorn ] }; // t T þ Þ
503154daed1Smrg    key <AC08> { [               s,            S,         ssharp                 ] }; // s S ß
504154daed1Smrg    key <AC09> { [               n,            N                                 ] }; // n N
505154daed1Smrg    key <AC10> { [               r,            R,     registered                 ] }; // r R ®
506154daed1Smrg    key <AC11> { [               m,            M,      masculine                 ] }; // m M º
507154daed1Smrg    key <BKSL> { [ dead_circumflex,       exclam,     exclamdown                 ] }; // ^ ! ¡
508154daed1Smrg
509154daed1Smrg    // Fourth row
510154daed1Smrg    key <LSGT> { [     ecircumflex,       ugrave,          slash                 ] }; // ê ù /
511154daed1Smrg    key <AB01> { [          agrave,       Agrave,     asciitilde,     dead_tilde ] }; // à À ~ ~
512154daed1Smrg    key <AB02> { [               h,            H,         exclam                 ] }; // h H !
513154daed1Smrg    key <AB03> { [               y,            Y,            yen                 ] }; // y Y ¥
514154daed1Smrg    key <AB04> { [          period,        colon,      backslash, periodcentered ] }; // . : \ ·
515154daed1Smrg    key <AB05> { [               k,            K                                 ] }; // k K
516154daed1Smrg    key <AB06> { [      apostrophe,    semicolon                                 ] }; // ' ;
517154daed1Smrg    key <AB07> { [               q,            Q,         oslash,       Ooblique ] }; // q Q ø Ø
518154daed1Smrg    key <AB08> { [               g,            G                                 ] }; // g G
519154daed1Smrg    key <AB09> { [               x,            X                                 ] }; // x X
520154daed1Smrg    key <AB10> { [               w,            W                                 ] }; // w W
521154daed1Smrg
522154daed1Smrg    key <SPCE> { [           space, nobreakspace,          space,          space ] }; // ␣ ⍽ (espace insécable) ␣ ␣
523154daed1Smrg
524154daed1Smrg    include "level3(ralt_switch)"
525154daed1Smrg};
526154daed1Smrg
527154daed1Smrgpartial alphanumeric_keys
528154daed1Smrgxkb_symbols "bepo_latin9" {
529154daed1Smrg
530154daed1Smrg    // Restricts the fr(bepo) layout to latin9 symbols
531154daed1Smrg
532154daed1Smrg    include "keypad(oss_latin9)"
533154daed1Smrg    include "fr(bepo)"
534154daed1Smrg
535154daed1Smrg    name[Group1]="France - Bepo, ergonomic, Dvorak way, latin-9 only";
536154daed1Smrg
537154daed1Smrg    // at now, no difference (oss keypad excepted), but will change !
538154daed1Smrg};
539154daed1Smrg
5405a35480eSmrg// Author   : Francis Leboutte, http://www.algo.be/ergo/dvorak-fr.html
5415a35480eSmrg//            thanks to Fabien Cazenave for his help
5425a35480eSmrg// Licence  : X11 (the layout itself is released under CC-NC-ND licence)
5435a35480eSmrg// Version  : 0.3
5445a35480eSmrg
5455a35480eSmrg// Base layer + dead AltGr key (`):
5465a35480eSmrg// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━━┓
5475a35480eSmrg// │ *   │ 1   │ 2   │ 3   │ 4   │ 5   │ 6   │ 7   │ 8   │ 9   │ 0   │ +   │ %   ┃          ┃
5485a35480eSmrg// │ _   │ =   │ / ± │ - ¼ │ è ½ │ \ ¾ │ ^   │ (   │ ` ` │ )   │ "   │ [   │ ]   ┃ ⌫        ┃
5495a35480eSmrg// ┢━━━━━┷━━┱──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┺━━┳━━━━━━━┫
5505a35480eSmrg// ┃        ┃ ? Æ │ <   │ >   │ G   │ !   │ H   │ V   │ C Ç │ M   │ K   │ Z   │ &   ┃       ┃
5515a35480eSmrg// ┃ ↹      ┃ : æ │ ' $ │ é É │ g € │ . ° │ h   │ v   │ c ç │ m µ │ k   │ z   │ ¨   ┃       ┃
5525a35480eSmrg// ┣━━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓  ⏎   ┃
5535a35480eSmrg// ┃         ┃ O Ò │ A À │ U Ù │ E È │ B   │ F   │ S   │ T   │ N   │ D   │ W   │ #   ┃      ┃
5545a35480eSmrg// ┃ ⇬       ┃ o ò │ a à │ u ù │ e è │ b   │ f   │ s « │ t   │ n » │ d   │ w   │ ~   ┃      ┃
5555a35480eSmrg// ┣━━━━━━┳━━┹──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┲━━┷━━━━━┻━━━━━━┫
5565a35480eSmrg// ┃      ┃ ç Ç │ | Œ │ Q   │ @   │ I Ì │ Y   │ X   │ R   │ L   │ P   │ J   ┃               ┃
5575a35480eSmrg// ┃ ⇧    ┃ à À │ ; œ │ q { │ , } │ i ì │ y £ │ x   │ r º │ l   │ p § │ j   ┃ ⇧             ┃
5585a35480eSmrg// ┣━━━━━━┻┳━━━━┷━━┳━━┷━━━━┱┴─────┴─────┴─────┴─────┴─────┴─┲━━━┷━━━┳━┷━━━━━╋━━━━━━━┳━━━━━━━┫
5595a35480eSmrg// ┃       ┃       ┃       ┃ ␣                            ⍽ ┃       ┃       ┃       ┃       ┃
5605a35480eSmrg// ┃ ctrl  ┃ super ┃ alt   ┃ ␣ Espace    Espace insécable ⍽ ┃ alt   ┃ super ┃ menu  ┃ ctrl  ┃
5615a35480eSmrg// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┻━━━━━━━┛
5625a35480eSmrg
5635a35480eSmrg// Notice the specific Caps_Lock layer:
5645a35480eSmrg// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━━┓
5655a35480eSmrg// │ *   │ 1   │ 2   │ 3   │ 4   │ 5   │ 6   │ 7   │ 8   │ 9   │ 0   │ +   │ %   ┃          ┃
5665a35480eSmrg// │     │     │     │     │     │     │     │     │     │     │     │     │     ┃ ⌫        ┃
5675a35480eSmrg// ┢━━━━━┷━━┱──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┺━━┳━━━━━━━┫
5685a35480eSmrg// ┃        ┃     │ <   │ >   │     │     │     │     │     │     │     │     │     ┃       ┃
5695a35480eSmrg// ┃ ↹      ┃     │     │     │     │     │     │     │     │     │     │     │     ┃       ┃
5705a35480eSmrg// ┣━━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓  ⏎   ┃
5715a35480eSmrg// ┃         ┃     │     │     │     │     │     │     │     │     │     │     │     ┃      ┃
5725a35480eSmrg// ┃ ⇬       ┃     │     │     │     │     │     │     │     │     │     │     │     ┃      ┃
5735a35480eSmrg// ┣━━━━━━┳━━┹──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┲━━┷━━━━━┻━━━━━━┫
5745a35480eSmrg// ┃      ┃ /   │ -   │     │     │     │     │     │     │     │     │     ┃               ┃
5755a35480eSmrg// ┃ ⇧    ┃     │     │     │     │     │     │     │     │     │     │     ┃ ⇧             ┃
5765a35480eSmrg// ┣━━━━━━┻┳━━━━┷━━┳━━┷━━━━┱┴─────┴─────┴─────┴─────┴─────┴─┲━━━┷━━━┳━┷━━━━━╋━━━━━━━┳━━━━━━━┫
5775a35480eSmrg// ┃       ┃       ┃       ┃ ␣                            ⍽ ┃       ┃       ┃       ┃       ┃
5785a35480eSmrg// ┃ ctrl  ┃ super ┃ alt   ┃ ␣ Espace    Espace insécable ⍽ ┃ alt   ┃ super ┃ menu  ┃ ctrl  ┃
5795a35480eSmrg// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┻━━━━━━━┛
5805a35480eSmrg
5815a35480eSmrgpartial alphanumeric_keys modifier_keys
582154daed1Smrgxkb_symbols "dvorak" {
5835a35480eSmrg  name[Group1]="France - Dvorak";
5845a35480eSmrg
5855a35480eSmrg  // First row
5865a35480eSmrg  key <TLDE> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [       underscore,   asterisk                  ] };
5875a35480eSmrg  key <AE01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [            equal,          1                  ] };
5885a35480eSmrg  key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [            slash,          2,       plusminus ] };
5895a35480eSmrg  key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [            minus,          3,      onequarter ] };
5905a35480eSmrg  key <AE04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [           egrave,          4,         onehalf ] };
5915a35480eSmrg  key <AE05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [        backslash,          5,   threequarters ] };
5925a35480eSmrg  key <AE06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [  dead_circumflex,          6                  ] };
5935a35480eSmrg  key <AE07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [        parenleft,          7                  ] };
5945a35480eSmrg  key <AE08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ ISO_Level3_Latch,          8,           grave ] };
5955a35480eSmrg  key <AE09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [       parenright,          9                  ] };
5965a35480eSmrg  key <AE10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [         quotedbl,          0                  ] };
5975a35480eSmrg  key <AE11> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [      bracketleft,       plus                  ] };
5985a35480eSmrg  key <AE12> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [     bracketright,    percent                  ] };
5995a35480eSmrg
6005a35480eSmrg  // Second row
6015a35480eSmrg  key <AD01> { [            colon,         question,              ae,               AE ] };
6025a35480eSmrg  key <AD02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [       apostrophe,       less,          dollar ] };
6035a35480eSmrg  key <AD03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [           eacute,    greater,          Eacute ] };
6045a35480eSmrg  key <AD04> { [                g,                G,        EuroSign                   ] };
6055a35480eSmrg  key <AD05> { [           period,           exclam,          degree                   ] };
6065a35480eSmrg  key <AD06> { [                h,                H                                    ] };
6075a35480eSmrg  key <AD07> { [                v,                V                                    ] };
6085a35480eSmrg  key <AD08> { [                c,                C,        ccedilla,         Ccedilla ] };
6095a35480eSmrg  key <AD09> { [                m,                M,              mu                   ] };
6105a35480eSmrg  key <AD10> { [                k,                K                                    ] };
6115a35480eSmrg  key <AD11> { [                z,                Z                                    ] };
6125a35480eSmrg  key <AD12> { [   dead_diaeresis,        ampersand                                    ] };
6135a35480eSmrg
6145a35480eSmrg  // Third row
6155a35480eSmrg  key <AC01> { [                o,                O,          ograve,           Ograve ] };
6165a35480eSmrg  key <AC02> { [                a,                A,          agrave,           Agrave ] };
6175a35480eSmrg  key <AC03> { [                u,                U,          ugrave,           Ugrave ] };
6185a35480eSmrg  key <AC04> { [                e,                E,          egrave,           Egrave ] };
6195a35480eSmrg  key <AC05> { [                b,                B                                    ] };
6205a35480eSmrg  key <AC06> { [                f,                F                                    ] };
6215a35480eSmrg  key <AC07> { [                s,                S,   guillemotleft                   ] };
6225a35480eSmrg  key <AC08> { [                t,                T                                    ] };
6235a35480eSmrg  key <AC09> { [                n,                N,  guillemotright                   ] };
6245a35480eSmrg  key <AC10> { [                d,                D                                    ] };
6255a35480eSmrg  key <AC11> { [                w,                W                                    ] };
6265a35480eSmrg  key <BKSL> { [       asciitilde,       numbersign                                    ] };
6275a35480eSmrg
6285a35480eSmrg  // Fourth row
6295a35480eSmrg  key <LSGT> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [       agrave, ccedilla,  Agrave, Ccedilla,   slash ] };
6305a35480eSmrg  key <AB01> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [    semicolon,      bar,      oe,       OE,   minus ] };
6315a35480eSmrg  key <AB02> { [                q,                Q,       braceleft                   ] };
6325a35480eSmrg  key <AB03> { [            comma,               at,      braceright                   ] };
6335a35480eSmrg  key <AB04> { [                i,                I,          igrave,           Igrave ] };
6345a35480eSmrg  key <AB05> { [                y,                Y,        sterling                   ] };
6355a35480eSmrg  key <AB06> { [                x,                X                                    ] };
6365a35480eSmrg  key <AB07> { [                r,                R,       masculine                   ] };
6375a35480eSmrg  key <AB08> { [                l,                L                                    ] };
6385a35480eSmrg  key <AB09> { [                p,                P,         section                   ] };
6395a35480eSmrg  key <AB10> { [                j,                J                                    ] };
6405a35480eSmrg
6415a35480eSmrg  key <SPCE> { [            space,            space,    nobreakspace,     nobreakspace ] };
642154daed1Smrg};
643154daed1Smrg
644154daed1Smrg// Marc.Shapiro@inria.fr 19-sep-1998
645154daed1Smrg// modifications : Etienne Herlent <eherlent@linux-france.org> june 2000
646154daed1Smrg// adapted to the new input layer :
647154daed1Smrg//        Martin Costabel <costabel@wanadoo.fr> 3-jan-2001
648154daed1Smrg// adapted for Latin9 alphabet (ISO-8859-15): 
649154daed1Smrg//        Etienne Herlent <eherlent@linux-france.org> march 2005
650154daed1Smrg
651154daed1Smrg// This map is an almost-complete mapping of the standard French
652154daed1Smrg// MacIntosh keyboard under Xwindows.  I tried to remain as faithful
653154daed1Smrg// as possible to the Mac meaning of each key.	I did this entirely by
654154daed1Smrg// hand and by intuition, relying on the Clavier (Keyboard?) Desktop
655154daed1Smrg// Accessory for the Mac meaning of keys, and on reading keysymdef.h
656154daed1Smrg// to intuit the corresponding X names.	 Lacking proper documentation,
657154daed1Smrg// I may have made some mistakes.
658154daed1Smrg
659154daed1Smrg// Entries marked CHECK are particularly uncertain
660154daed1Smrg
661154daed1Smrg// Entries marked MISSING mark Mac characters for which I was unable
662154daed1Smrg// to find a corresponding keysym.  (Some for sure don't: e.g. the
663154daed1Smrg// Apple mark and the oe/OE character; others I may have simply not
664154daed1Smrg// found.)
665154daed1Smrg
666154daed1Smrg// Copied from macintosh_vndr/fr
667154daed1Smrgpartial alphanumeric_keys
668154daed1Smrgxkb_symbols "mac" {
669154daed1Smrg
670154daed1Smrg    name[Group1]= "France - Macintosh";
671154daed1Smrg
672154daed1Smrg    // Alphanumeric section
673154daed1Smrg    key <TLDE> {	[          at,     numbersign, periodcentered,  Ydiaeresis	]	}; // MISSING: Ydiaeresis; eherlent : ok in Latin9
674154daed1Smrg    key <AE01> {	[   ampersand,    1,   VoidSymbol,    dead_acute	]	}; // MISSING: Apple
675154daed1Smrg    key <AE02> {	[      eacute,    2,   ediaeresis,        Eacute	]	};
676154daed1Smrg    key <AE03> {	[    quotedbl,    3,   VoidSymbol,    VoidSymbol	] 	}; // CHECK all quotemarks
677154daed1Smrg    key <AE04> {	[  apostrophe,    4,   VoidSymbol,    VoidSymbol	] 	};
678154daed1Smrg    key <AE05> {	[   parenleft,    5,    braceleft,   bracketleft	]	};
679154daed1Smrg // CHECK section
680154daed1Smrg    key <AE06> {	[     section,    6,    paragraph,         aring	]	};
681154daed1Smrg    key <AE07> {	[      egrave,    7, guillemotleft, guillemotright	]	};
682154daed1Smrg    key <AE08> {	[      exclam,    8,   exclamdown,   Ucircumflex	]	};
683154daed1Smrg    key <AE09> {	[    ccedilla,    9,     Ccedilla,        Aacute	]	};
684154daed1Smrg    key <AE10> {	[      agrave,    0,       oslash,    VoidSymbol	]	}; // MISSING: Oslash
685154daed1Smrg    key <AE11> {	[  parenright, degree, braceright,  bracketright	]	};
686154daed1Smrg    key <AE12> {	[       minus, underscore, emdash,        endash	]	}; // CHECK dashes
687154daed1Smrg
688154daed1Smrg    key <AD01> {	[           a,  A,           ae,          AE	]	};
689154daed1Smrg    key <AD02> {	[           z,  Z,  Acircumflex,       Aring		]	};
690154daed1Smrg    key <AD03> {	[           e,  E,  ecircumflex, Ecircumflex	]	};
691154daed1Smrg    key <AD04> {	[           r,  R,   registered,    currency	]	};
692154daed1Smrg    key <AD05> {	[           t,  T,   VoidSymbol,  VoidSymbol	]	};
693154daed1Smrg    key <AD06> {	[           y,  Y,       Uacute,  Ydiaeresis	]	}; // MISSING: Ydiaeresis; eherlent : ok in Latin9
694154daed1Smrg    key <AD07> {	[           u,  U,   VoidSymbol, ordfeminine	]	}; // MISSING: ordmasculine?
695154daed1Smrg    key <AD08> {	[           i,  I,  icircumflex,  idiaeresis	]	};
696154daed1Smrg    key <AD09> {	[           o,  O,           oe,          OE      	]	}; // MISSING: oe, OE lacking in Latin1; eherlent ok in Latin9
697154daed1Smrg    key <AD10> {	[           p,  P,   VoidSymbol,  VoidSymbol	]	};
698154daed1Smrg    key <AD11> {	[dead_circumflex,dead_diaeresis, ocircumflex, Ocircumflex	]	};
699154daed1Smrg    key <AD12> {	[      dollar, asterisk,   EuroSign, yen		]	}; // eherlent : EuroSign in Latin9
700154daed1Smrg
701154daed1Smrg    key <AC01> {	[         q, Q, acircumflex,         Agrave		]	};
702154daed1Smrg    key <AC02> {	[         s, S,      Ograve,     VoidSymbol	]	};
703154daed1Smrg    key <AC03> {	[         d, D,  VoidSymbol,     VoidSymbol	]	};
704154daed1Smrg    key <AC04> {	[         f, F,  VoidSymbol, periodcentered	]	}; // MISSING: oblong script f??
705154daed1Smrg    key <AC05> {	[         g, G,  VoidSymbol,     VoidSymbol	]	}; // MISSING: kerned fi, fl
706154daed1Smrg    key <AC06> {	[         h, H,      Igrave,    Icircumflex	]	};
707154daed1Smrg    key <AC07> {	[         j, J,  Idiaeresis,         Iacute	]	};
708154daed1Smrg    key <AC08> {	[         k, K,      Egrave,     Ediaeresis	]	};
709154daed1Smrg    key <AC09> {	[         l, L,     notsign,            bar	]	};
710154daed1Smrg    key <AC10> {	[         m, M,          mu,         Oacute	]	};
711154daed1Smrg    key <AC11> {	[    ugrave,percent, Ugrave,    ucircumflex	]	}; // MISSING: per-mille
712154daed1Smrg    key <BKSL> {	[ dead_grave, sterling,  at,     numbersign	]	};
713154daed1Smrg
714154daed1Smrg    key <LSGT> {	[      less, greater, VoidSymbol, VoidSymbol	]	};
715154daed1Smrg    key <AB01> {	[         w, W, VoidSymbol,   VoidSymbol	]	};	// MISSING: half-guillemot (single angle bracket)
716154daed1Smrg    key <AB02> {	[         x, X, VoidSymbol,   VoidSymbol	]	}; // CHECK similarequal; MISSING: extra-slanted slash
717154daed1Smrg    key <AB03> {	[         c, C,  copyright,         cent	]	};
718154daed1Smrg    key <AB04> {	[         v, V,    diamond,  leftradical	]	}; // CHECK diamond, leftradical
719154daed1Smrg    key <AB05> {	[         b, B,     ssharp,   VoidSymbol	]	}; // CHECK: Greek_beta or ssharp?; MISSING: oblong script s
720154daed1Smrg    key <AB06> {	[         n, N,  dead_tilde,  asciitilde	]	};
721154daed1Smrg    key <AB07> {	[     comma,  question, VoidSymbol,  questiondown	]	};
722154daed1Smrg    key <AB08> {	[ semicolon,  period, VoidSymbol,  periodcentered	]	};
723154daed1Smrg    key <AB09> {	[     colon,  slash,   division,        backslash	]	};
724154daed1Smrg    key <AB10> {	[     equal,   plus, VoidSymbol,        plusminus	]	};
725154daed1Smrg
726154daed1Smrg    key <SPCE> {	[     space,  space, nobreakspace,   nobreakspace	]	};
727154daed1Smrg    // End alphanumeric section
728154daed1Smrg
729154daed1Smrg    key <KPDL> {	[  comma,KP_Decimal	]	};
730154daed1Smrg
731154daed1Smrg    include "level3(ralt_switch)"
732154daed1Smrg};
733154daed1Smrg
734154daed1Smrgpartial alphanumeric_keys
735154daed1Smrgxkb_symbols "geo" {
736154daed1Smrg    include "ge(basic)"
737154daed1Smrg
738154daed1Smrg    name[Group1]= "France - Georgian AZERTY Tskapo";
739154daed1Smrg
740154daed1Smrg    key <TLDE> { [ exclam, noSymbol ] };
741154daed1Smrg    key <AE01> { [ 0x0100201e, 1 ] };
742154daed1Smrg    key <AE02> { [ 0x01002116, 2 ] };
743154daed1Smrg    key <AE03> { [ percent, 3    ] };
744154daed1Smrg    key <AE04> { [ parenleft, 4  ] };
745154daed1Smrg    key <AE05> { [ colon, 5      ] };
746154daed1Smrg    key <AE06> { [ semicolon, 6  ] };
747154daed1Smrg    key <AE07> { [ question, 7   ] };
748154daed1Smrg    key <AE08> { [ 0x01002116, 8 ] };
749154daed1Smrg    key <AE09> { [ degree, 9     ] };
750154daed1Smrg    key <AE10> { [ parenright, 0 ] };
751154daed1Smrg    key <AE11> { [ minus, underscore, 0x01002014 ] };
752154daed1Smrg    key <AE12> { [ less, greater ] };
753154daed1Smrg
754154daed1Smrg    key <AD01> { [ 0x010010d0,  0x010010fa     ] };
755154daed1Smrg    key <AD02> { [ 0x010010d6,  Z              ] };
756154daed1Smrg    key <AD03> { [ 0x010010d4,  E, 0x010010f1  ] };
757154daed1Smrg    key <AD04> { [ 0x010010e0,  0x010000ae     ] };
758154daed1Smrg    key <AD05> { [ 0x010010e2,  T              ] };
759154daed1Smrg    key <AD06> { [ 0x010010e7,  0x010010f8     ] };
760154daed1Smrg    key <AD07> { [ 0x010010e3,  U              ] };
761154daed1Smrg    key <AD08> { [ 0x010010d8,  0x010010f2     ] };
762154daed1Smrg    key <AD09> { [ 0x010010dd,  O              ] };
763154daed1Smrg    key <AD10> { [ 0x010010de,  P              ] };
764154daed1Smrg    key <AD11> { [ 0x010010d7,  T              ] };
765154daed1Smrg    key <AD12> { [ 0x010010eb,  Z              ] };
766154daed1Smrg
767154daed1Smrg    key <AC01> { [ 0x010010e5,  Q              ] };
768154daed1Smrg    key <AC02> { [ 0x010010e1,  S              ] };
769154daed1Smrg    key <AC03> { [ 0x010010d3,  D              ] };
770154daed1Smrg    key <AC04> { [ 0x010010e4,  0x010010f6     ] };
771154daed1Smrg    key <AC05> { [ 0x010010d2,  0x010010f9     ] };
772154daed1Smrg    key <AC06> { [ 0x010010f0,  0x010010f5     ] };
773154daed1Smrg    key <AC07> { [ 0x010010ef,  0x010010f7     ] };
774154daed1Smrg    key <AC08> { [ 0x010010d9,  K              ] };
775154daed1Smrg    key <AC09> { [ 0x010010da,  L              ] };
776154daed1Smrg    key <AC10> { [ 0x010010db,  M              ] };
777154daed1Smrg    key <AC11> { [ 0x010010df,  J              ] };
778154daed1Smrg    key <BKSL> { [ 0x010010e9,  0x010000a9     ] };
779154daed1Smrg
780154daed1Smrg    key <LSGT> { [ guillemotleft,guillemotright ] };
781154daed1Smrg    key <AB01> { [ 0x010010ec,  W               ] };
782154daed1Smrg    key <AB02> { [ 0x010010ee,  0x010010f4      ] };
783154daed1Smrg    key <AB03> { [ 0x010010ea,  0x010000a9      ] };
784154daed1Smrg    key <AB04> { [ 0x010010d5,  0x010010f3      ] };
785154daed1Smrg    key <AB05> { [ 0x010010d1,  B               ] };
786154daed1Smrg    key <AB06> { [ 0x010010dc,  0x010010fc      ] };
787154daed1Smrg    key <AB07> { [ comma,       0x01002014      ] };
788154daed1Smrg    key <AB08> { [ 0x010010e8,  S               ] };
789154daed1Smrg    key <AB09> { [ 0x010010e6,  noSymbol        ] };
790154daed1Smrg    key <AB10> { [ 0x010010ed,  noSymbol        ] };
791154daed1Smrg
792154daed1Smrg};
793154daed1Smrg
794