default partial alphanumeric_keys
xkb_symbols "basic" {

 include "latin"

 name[Group1]="French";

 key <AE01> { [ ampersand, 1, onesuperior, exclamdown ] };
 key <AE02> { [ eacute, 2, asciitilde, oneeighth ] };
 key <AE03> { [ quotedbl, 3, numbersign, sterling ] };
 key <AE04> { [apostrophe, 4, braceleft, dollar ] };
 key <AE05> { [ parenleft, 5, bracketleft, threeeighths ] };
 key <AE06> { [ minus, 6, bar, fiveeighths ] };
 key <AE07> { [ egrave, 7, grave, seveneighths ] };
 key <AE08> { [underscore, 8, backslash, trademark ] };
 key <AE09> { [ ccedilla, 9, asciicircum, plusminus ] };
 key <AE10> { [ agrave, 0, at, degree ] };
 key <AE11> { [parenright, degree, bracketright, questiondown ] };
 key <AE12> { [ equal, plus, braceright, dead_ogonek ] };

 key <AD01> { [ a, A, ae, AE ] };
 key <AD02> { [ z, Z, guillemotleft, less ] };
 key <AD03> { [ e, E, EuroSign, cent ] };
 key <AD11> { [dead_circumflex, dead_diaeresis, dead_diaeresis, dead_abovering ] };
 key <AD12> { [ dollar, sterling, currency, dead_macron ] };

 key <AC01> { [ q, Q, at, Greek_OMEGA ] };
 key <AC10> { [ m, M, mu, masculine ] };
 key <AC11> { [ ugrave, percent, dead_circumflex, dead_caron] };
 key <TLDE> { [twosuperior, asciitilde, notsign, notsign ] };

 key <BKSL> { [ asterisk, mu, dead_grave, dead_breve ] };
 key <AB01> { [ w, W, lstroke, Lstroke ] };
 key <AB07> { [ comma, question, dead_acute, dead_doubleacute ] };
 key <AB08> { [ semicolon, period, horizconnector, multiply ] };
 key <AB09> { [ colon, slash, periodcentered, division ] };
 key <AB10> { [ exclam, section, dead_belowdot, dead_abovedot ] };

 include "level3(ralt_switch)"
};

partial alphanumeric_keys
xkb_symbols "olpc" {
 
 include "fr(basic)"

 name[Group1]="French";

 key <I219> { [ less, greater ] };
 key <AD11> { [ dead_circumflex, dead_diaeresis, notsign, dead_abovering ] };
 key <AB08> { [ semicolon, period, underscore, multiply ] };
 key <TLDE> { [ twosuperior, asciitilde, VoidSymbol, VoidSymbol ] };

 
 
 
 key <AB02> { [ x, X, guillemotright, guillemotright ] };
 key <AC02> { [ s, S, ssharp, U1E9E ] };
 key <AD02> { [ z, Z, guillemotleft, guillemotleft ] };
};

partial alphanumeric_keys
xkb_symbols "Sundeadkeys" {

 

 include "fr(basic)"

 key <AD11> { [dead_circumflex, dead_diaeresis ] };
 key <AB07> { [comma, question, dead_acute, dead_doubleacute ] };
};

partial alphanumeric_keys
xkb_symbols "sundeadkeys" {
 include "fr(Sundeadkeys)"

 name[Group1]="French (with Sun dead keys)";
};

partial alphanumeric_keys
xkb_symbols "nodeadkeys" {

 

 include "fr(basic)"

 name[Group1]="French (no dead keys)";

 key <AE12> { [ equal, plus, braceright, ogonek ] };
 key <AD11> { [asciicircum, diaeresis ] };
 key <AD12> { [ dollar, sterling, currency, macron ] };
 key <AC11> { [ ugrave, percent, asciicircum, caron ] };
 key <BKSL> { [ asterisk, mu, grave, breve ] };
 key <AB07> { [ comma, question, acute, doubleacute ] };
 key <AB10> { [ exclam, section, dead_belowdot, abovedot ] };
};




























partial alphanumeric_keys
xkb_symbols "oss" {

 include "latin"
 include "level3(ralt_switch)"
 include "nbsp(level4n)"
 include "keypad(oss)"

 name[Group1]="French (alt.)";

 
 key <TLDE> { [ twosuperior, threesuperior, onesuperior, dead_cedilla ] }; 
 key <AE01> { [ ampersand, 1, dead_caron, dead_ogonek ] }; 
 key <AE02> { [ eacute, 2, asciitilde, Eacute ] }; 
 key <AE03> { [ quotedbl, 3, numbersign, dead_breve ] }; 
 key <AE04> { [ apostrophe, 4, braceleft, 0x1002014 ] }; 
 key <AE05> { [ parenleft, 5, bracketleft, 0x1002013 ] }; 
 key <AE06> { [ minus, 6, bar, 0x1002011 ] }; 
 key <AE07> { [ egrave, 7, grave, Egrave ] }; 
 key <AE08> { [ underscore, 8, backslash, trademark ] }; 
 key <AE09> { [ ccedilla, 9, asciicircum, Ccedilla ] }; 
 key <AE10> { [ agrave, 0, at, Agrave ] }; 
 key <AE11> { [ parenright, degree, bracketright, notequal ] }; 
 key <AE12> { [ equal, plus, braceright, plusminus ] }; 

 
 key <AD01> { [ a, A, ae, AE ] }; 
 key <AD02> { [ z, Z, acircumflex, Acircumflex ] }; 
 key <AD03> { [ e, E, EuroSign, cent ] }; 
 key <AD04> { [ r, R, ecircumflex, Ecircumflex ] }; 
 key <AD05> { [ t, T, thorn, THORN ] }; 
 key <AD06> { [ y, Y, ydiaeresis, Ydiaeresis ] }; 
 key <AD07> { [ u, U, ucircumflex, Ucircumflex ] }; 
 key <AD08> { [ i, I, icircumflex, Icircumflex ] }; 
 key <AD09> { [ o, O, oe, OE ] }; 
 key <AD10> { [ p, P, ocircumflex, Ocircumflex ] }; 
 key <AD11> { [ dead_circumflex, dead_diaeresis, dead_tilde, dead_abovering ] }; 
 key <AD12> { [ dollar, sterling, oslash, Ooblique ] }; 

 
 key <AC01> { [ q, Q, adiaeresis, Adiaeresis ] }; 
 key <AC02> { [ s, S, ssharp, doublelowquotemark ] }; 
 key <AC03> { [ d, D, ediaeresis, Ediaeresis ] }; 
 key <AC04> { [ f, F, leftsinglequotemark, singlelowquotemark ] }; 
 key <AC05> { [ g, G, rightsinglequotemark, yen ] }; 
 key <AC06> { [ h, H, eth, ETH ] }; 
 key <AC07> { [ j, J, udiaeresis, Udiaeresis ] }; 
 key <AC08> { [ k, K, idiaeresis, Idiaeresis ] }; 
 key <AC09> { [ l, L, 0x1000140, 0x100013F ] }; 
 key <AC10> { [ m, M, odiaeresis, Odiaeresis ] }; 
 key <AC11> { [ ugrave, percent, dead_acute, Ugrave ] }; 
 key <BKSL> { [ asterisk, mu, dead_grave, dead_macron ] }; 

 
 key <LSGT> { [ less, greater, lessthanequal, greaterthanequal ] }; 
 key <AB01> { [ w, W, guillemotleft, leftdoublequotemark ] }; 
 key <AB02> { [ x, X, guillemotright, rightdoublequotemark ] }; 
 key <AB03> { [ c, C, copyright, registered ] }; 
 key <AB04> { [ v, V, 0x100202F, leftarrow ] }; 
 key <AB05> { [ b, B, downarrow, uparrow ] }; 
 key <AB06> { [ n, N, notsign, rightarrow ] }; 
 key <AB07> { [ comma, question, questiondown, 0x1002026 ] }; 
 key <AB08> { [ semicolon, period, multiply, 0x10022C5 ] }; 
 key <AB09> { [ colon, slash, division, 0x1002215 ] }; 
 key <AB10> { [ exclam, section, exclamdown, 0x1002212 ] }; 
};

partial alphanumeric_keys
xkb_symbols "oss_latin9" {

 

 include "fr(oss)"
 include "keypad(oss_latin9)"

 name[Group1]="French (alt., Latin-9 only)";

 
 key <AE01> { [ ampersand, 1, dead_caron, dead_cedilla ] }; 
 key <AE03> { [ quotedbl, 3, numbersign, dead_tilde ] }; 
 key <AE04> { [ apostrophe, 4, braceleft, underscore ] }; 
 key <AE05> { [ parenleft, 5, bracketleft, minus ] }; 
 key <AE06> { [ minus, 6, bar, minus ] }; 
 key <AE08> { [ underscore, 8, backslash, backslash ] }; 
 key <AE11> { [ parenright, degree, bracketright, equal ] }; 

 
 key <AC02> { [ s, S, ssharp, guillemotleft ] }; 
 key <AC04> { [ f, F, apostrophe, apostrophe ] }; 
 key <AC05> { [ g, G, apostrophe, yen ] }; 
 key <AC09> { [ l, L, periodcentered, periodcentered ] }; 
 key <BKSL> { [ asterisk, mu, dead_grave, dead_circumflex ] }; 

 
 key <LSGT> { [ less, greater, less, greater ] }; 
 key <AB01> { [ w, W, guillemotleft, guillemotleft ] }; 
 key <AB02> { [ x, X, guillemotright, guillemotright ] }; 
 key <AB04> { [ v, V, nobreakspace, less ] }; 
 key <AB05> { [ b, B, minus, asciicircum ] }; 
 key <AB06> { [ n, N, notsign, greater ] }; 
 key <AB07> { [ comma, question, questiondown, period ] }; 
 key <AB08> { [ semicolon, period, multiply, periodcentered ] }; 
 key <AB09> { [ colon, slash, division, slash ] }; 
 key <AB10> { [ exclam, section, exclamdown, minus ] }; 
};

partial alphanumeric_keys
xkb_symbols "oss_Sundeadkeys" {

 

 include "fr(oss)"

 key <TLDE> { [ twosuperior, threesuperior, onesuperior, dead_cedilla ] }; 

 key <AD11> { [ dead_circumflex, dead_diaeresis, dead_tilde, dead_abovering ] }; 

 key <AC11> { [ ugrave, percent, dead_acute, Ugrave ] }; 
 key <BKSL> { [ asterisk, mu, dead_grave, dead_macron ] }; 
};

partial alphanumeric_keys
xkb_symbols "oss_sundeadkeys" {

 include "fr(oss_Sundeadkeys)"

 name[Group1]="French (alt., with Sun dead keys)";
};

partial alphanumeric_keys
xkb_symbols "oss_nodeadkeys" {

 

 include "fr(oss)"

 name[Group1]="French (alt., no dead keys)";

 key <TLDE> { [ twosuperior, threesuperior, onesuperior, cedilla ] }; 
 key <AE01> { [ ampersand, 1, caron, ogonek ] }; 
 key <AE03> { [ quotedbl, 3, numbersign, breve ] }; 

 key <AD11> { [ asciicircum, diaeresis, asciitilde, Aring ] }; 
 key <AC11> { [ ugrave, percent, acute, Ugrave ] }; 
 key <BKSL> { [ asterisk, mu, grave, macron ] }; 
};


































































partial alphanumeric_keys

xkb_symbols "latin9" {

 include "latin"
 include "nbsp(level3)"

 name[Group1]="French (legacy, alt.)";

 key <TLDE> { [ oe, OE, leftdoublequotemark, rightdoublequotemark ] };
 key <AE01> { [ ampersand, 1, dead_acute, periodcentered ] };
 key <AE02> { [ eacute, 2, asciitilde, Eacute ] };
 key <AE03> { [ quotedbl, 3, numbersign, cedilla ] };
 key <AE04> { [ apostrophe, 4, braceleft, acute ] };
 key <AE05> { [ parenleft, 5, bracketleft, diaeresis ] };
 key <AE06> { [ minus, 6, bar, brokenbar ] };
 key <AE07> { [ egrave, 7, dead_grave, Egrave ] };
 key <AE08> { [ underscore, 8, backslash, macron ] };
 key <AE09> { [ ccedilla, 9, asciicircum, Ccedilla ] };
 key <AE10> { [ agrave, 0, at, Agrave ] };
 key <AE11> { [ parenright, degree, bracketright, ydiaeresis ] };
 key <AE12> { [ equal, plus, braceright, dead_abovering ] };

 key <AD01> { [ a, A, acircumflex, adiaeresis ] };
 key <AD02> { [ z, Z, aring, Aring ] };
 key <AD03> { [ e, E, EuroSign, cent ] };
 key <AD04> { [ r, R, ccedilla, Ccedilla ] };
 key <AD05> { [ t, T, thorn, THORN ] };
 key <AD06> { [ y, Y, yacute, Yacute ] };
 key <AD07> { [ u, U, ucircumflex, udiaeresis ] };
 key <AD08> { [ i, I, icircumflex, idiaeresis ] };
 key <AD09> { [ o, O, ocircumflex, odiaeresis ] };
 key <AD10> { [ p, P, paragraph, grave ] };
 key <AD11> { [ dead_circumflex, dead_diaeresis, dead_tilde, apostrophe ] };
 key <AD12> { [ dollar, sterling, ecircumflex, ediaeresis ] };

 key <AC01> { [ q, Q, Acircumflex, Adiaeresis ] };
 key <AC02> { [ s, S, oslash, Ooblique ] };
 key <AC03> { [ d, D, Ecircumflex, Ediaeresis ] };
 key <AC04> { [ f, F, plusminus, ordfeminine ] };
 key <AC05> { [ g, G, ae, AE ] };
 key <AC06> { [ h, H, eth, ETH ] };
 key <AC07> { [ j, J, Ucircumflex, Udiaeresis ] };
 key <AC08> { [ k, K, Icircumflex, Idiaeresis ] };
 key <AC09> { [ l, L, Ocircumflex, Odiaeresis ] };
 key <AC10> { [ m, M, onesuperior, masculine ] };
 key <AC11> { [ ugrave, percent, twosuperior, Ugrave ] };
 key <BKSL> { [ asterisk, mu, threesuperior, yen ] };

 key <LSGT> { [ less, greater, bar ] };
 key <AB01> { [ w, W, guillemotleft ] };
 key <AB02> { [ x, X, guillemotright ] };
 key <AB03> { [ c, C, copyright ] };
 key <AB04> { [ v, V, registered ] };
 key <AB05> { [ b, B, ssharp, U1E9E ] };
 key <AB06> { [ n, N, notsign ] };
 key <AB07> { [ comma, question, questiondown ] };
 key <AB08> { [ semicolon, period, multiply ] };
 key <AB09> { [ colon, slash, division ] };
 key <AB10> { [ exclam, section, exclamdown ] };

 
 
 key <KPDL> { [ KP_Delete, KP_Decimal, KP_Delete, KP_Decimal ] };

 include "level3(ralt_switch)"
};

partial alphanumeric_keys
xkb_symbols "latin9_Sundeadkeys" {

 

 include "fr(latin9)"

 key <AE01> { [ ampersand, 1, dead_acute, periodcentered ] };
 key <AE07> { [ egrave, 7, dead_grave, Egrave ] };
 key <AD11> { [ dead_circumflex, dead_diaeresis, dead_tilde, apostrophe ] };
};

partial alphanumeric_keys
xkb_symbols "latin9_sundeadkeys" {

 include "fr(latin9_Sundeadkeys)"

 name[Group1]="French (legacy, alt., with Sun dead keys)";
};

partial alphanumeric_keys
xkb_symbols "latin9_nodeadkeys" {

 

 include "fr(latin9)"

 name[Group1]="French (legacy, alt., no dead keys)";

 key <AE01> { [ ampersand, 1, apostrophe, periodcentered ] };
 key <AE07> { [ egrave, 7, grave, Egrave ] };
 key <AE12> { [ equal, plus, braceright ] };
 key <AD11> { [ asciicircum, diaeresis, asciitilde, apostrophe ] };
};





























partial alphanumeric_keys
xkb_symbols "bepo" {

 include "level3(ralt_switch)"
 include "keypad(oss)"

 name[Group1]= "French (Bepo, ergonomic, Dvorak way)";

 
 key <TLDE> { [ dollar, numbersign, endash, paragraph ] }; 
 key <AE01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ quotedbl, 1, emdash, doublelowquotemark ] }; 
 key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotleft, 2, less, leftdoublequotemark ] }; 
 key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotright, 3, greater, rightdoublequotemark ] }; 
 key <AE04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenleft, 4, bracketleft, lessthanequal ] }; 
 key <AE05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenright, 5, bracketright, greaterthanequal ] }; 
 key <AE06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ at, 6, asciicircum ] }; 
 key <AE07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ plus, 7, plusminus, notsign ] }; 
 key <AE08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ minus, 8, U2212, onequarter ] }; 
 key <AE09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ slash, 9, division, onehalf ] }; 
 key <AE10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ asterisk, 0, multiply, threequarters ] }; 
 key <AE11> { [ equal, degree, notequal, minutes ] }; 
 key <AE12> { [ percent, grave, permille, seconds ] }; 

 
 key <AD01> { [ b, B, bar, brokenbar ] }; 
 key <AD02> { [ eacute, Eacute, dead_acute, dead_doubleacute ] }; 
 key <AD03> { [ p, P, ampersand, section ] }; 
 key <AD04> { [ o, O, oe, OE ] }; 
 key <AD05> { [ egrave, Egrave, dead_grave, grave ] }; 
 key <AD06> { [ dead_circumflex, exclam, exclamdown ] }; 
 key <AD07> { [ v, V, dead_caron ] }; 
 key <AD08> { [ d, D, eth, ETH ] }; 
 key <AD09> { [ l, L, dead_stroke ] }; 
 key <AD10> { [ j, J, U0133, U0132 ] }; 
 key <AD11> { [ z, Z, schwa, SCHWA ] }; 
 key <AD12> { [ w, W, dead_breve ] }; 

 
 key <AC01> { [ a, A, ae, AE ] }; 
 key <AC02> { [ u, U, ugrave, Ugrave ] }; 
 key <AC03> { [ i, I, dead_diaeresis, dead_abovedot ] }; 
 key <AC04> { [ e, E, EuroSign, dead_currency ] }; 
 key <AC05> { [ comma, semicolon, rightsinglequotemark, dead_horn ] }; 
 key <AC06> { [ c, C, copyright, U017F ] }; 
 key <AC07> { [ t, T, thorn, THORN ] }; 
 key <AC08> { [ s, S, ssharp, U1E9E ] }; 
 key <AC09> { [ r, R, registered, trademark ] }; 
 key <AC10> { [ n, N, dead_tilde ] }; 
 key <AC11> { [ m, M, dead_macron, masculine ] }; 
 key <BKSL> { [ ccedilla, Ccedilla, dead_cedilla, dead_belowcomma ] }; 

 
 key <LSGT> { [ ecircumflex, Ecircumflex, slash ] }; 
 key <AB01> { [ agrave, Agrave, backslash ] }; 
 key <AB02> { [ y, Y, braceleft, leftsinglequotemark ] }; 
 key <AB03> { [ x, X, braceright, rightsinglequotemark ] }; 
 key <AB04> { [ period, colon, ellipsis, periodcentered ] }; 
 key <AB05> { [ k, K, asciitilde ] }; 
 key <AB06> { [ apostrophe, question, questiondown, dead_hook ] }; 
 key <AB07> { [ q, Q, dead_abovering, dead_belowdot ] }; 
 key <AB08> { [ g, G, dead_greek ] }; 
 key <AB09> { [ h, H, dagger, doubledagger ] }; 
 key <AB10> { [ f, F, dead_ogonek, ordfeminine ] }; 

 key <SPCE> { [ space, nobreakspace, underscore, U202F ] }; 
};

partial alphanumeric_keys
xkb_symbols "bepo_latin9" {

 

 include "fr(bepo)"
 include "keypad(oss_latin9)"

 name[Group1]="French (Bepo, ergonomic, Dvorak way, Latin-9 only)";

 key <TLDE> { [ dollar, numbersign, dollar, paragraph ] }; 

 key <AE01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ quotedbl, 1 ] }; 
 key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotleft, 2, less ] }; 
 key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotright, 3, greater ] }; 
 key <AE04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenleft, 4, bracketleft ] }; 
 key <AE05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenright, 5, bracketright ] }; 
 key <AE08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ minus, 8, minus, onequarter ] }; 
 key <AE11> { [ equal, degree ] }; 
 key <AE12> { [ percent, grave ] }; 

 key <AD01> { [ b, B, bar ] }; 
 key <AD02> { [ eacute, Eacute, dead_acute ] }; 
 key <AD10> { [ j, J ] }; 
 key <AD11> { [ z, Z ] }; 
 key <AD12> { [ w, W ] }; 

 key <AC03> { [ i, I, dead_diaeresis ] }; 
 key <AC05> { [ comma, semicolon, comma, dead_horn ] }; 
 key <AC06> { [ c, C, copyright ] }; 
 key <AC08> { [ s, S, ssharp, U1E9E ] }; 
 key <AC09> { [ r, R, registered ] }; 
 key <AC11> { [ m, M, macron, masculine ] }; 

 key <AB02> { [ y, Y, braceleft ] }; 
 key <AB03> { [ x, X, braceright ] }; 
 key <AB04> { [ period, colon ] }; 
 key <AB09> { [ h, H ] }; 
 key <AB10> { [ f, F, f, ordfeminine ] }; 

 
 
 key <SPCE> { [ space, nobreakspace, underscore, nobreakspace ] }; 
};























partial alphanumeric_keys
xkb_symbols "bepo_afnor" {

 name[Group1]= "French (Bepo, ergonomic, Dvorak way, AFNOR)";

 include "pc(pc105)"

 key <TLDE> { type[group1] = "FOUR_LEVEL", [ dollar, numbersign, endash, paragraph ] }; 
 key <AE01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ quotedbl, 1, emdash, doublelowquotemark ] }; 
 key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotleft, 2, less, leftdoublequotemark ] }; 
 key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotright, 3, greater, rightdoublequotemark ] }; 
 key <AE04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenleft, 4, bracketleft, U2A7D ] }; 
 key <AE05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenright, 5, bracketright, U2A7E ] }; 
 key <AE06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ at, 6, asciicircum, U262D ] }; 
 key <AE07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ plus, 7, plusminus, notsign ] }; 
 key <AE08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ minus, 8, U2212, onequarter ] }; 
 key <AE09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ slash, 9, division, onehalf ] }; 
 key <AE10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ asterisk, 0, multiply, threequarters ] }; 
 key <AE11> { type[group1] = "FOUR_LEVEL", [ equal, degree, notequal, minutes ] }; 
 key <AE12> { type[group1] = "FOUR_LEVEL", [ percent, grave, U2030, seconds ] }; 

 key <AD01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ b, B, bar, underscore ] }; 
 key <AD02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ eacute, Eacute, dead_acute, heart ] }; 
 key <AD03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ p, P, ampersand, section ] }; 
 key <AD04> { type[group1] = "FOUR_LEVEL_ALPHABETIC", [ o, O, oe, OE ] }; 
 key <AD05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ egrave, Egrave, dead_grave, grave ] }; 
 key <AD06> { type[group1] = "FOUR_LEVEL", [ dead_circumflex, exclam, exclamdown, U2620 ] }; 
 key <AD07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ v, V, dead_caron, U2622 ] }; 
 key <AD08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ d, D, UFDD7, U2623 ] }; 
 key <AD09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ l, L, dead_stroke, sterling ] }; 
 key <AD10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ j, J, U262E, U262F ] }; 
 key <AD11> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ z, Z, UFDD8, U2619 ] }; 
 key <AD12> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ w, W, U269C, U267F ] }; 

 key <AC01> { type[group1] = "FOUR_LEVEL_ALPHABETIC", [ a, A, ae, AE ] }; 
 key <AC02> { type[group1] = "FOUR_LEVEL_ALPHABETIC", [ u, U, ugrave, Ugrave ] }; 
 key <AC03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ i, I, dead_diaeresis, dead_abovedot ] }; 
 key <AC04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ e, E, EuroSign, dead_currency ] }; 
 key <AC05> { type[group1] = "FOUR_LEVEL", [ comma, semicolon, apostrophe, dead_belowcomma ] }; 
 key <AC06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ c, C, dead_cedilla, copyright ] }; 
 key <AC07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ t, T, UFDD5, trademark ] }; 
 key <AC08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ s, S, UFDD4, U017F ] }; 
 key <AC09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ r, R, dead_breve, registered ] }; 
 key <AC10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ n, N, dead_tilde, U2693 ] }; 
 key <AC11> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ m, M, dead_macron, U26FD ] }; 
 key <BKSL> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ ccedilla, Ccedilla, U2708, U1F12F ] }; 

 key <LSGT> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ ecircumflex, Ecircumflex, slash, asciicircum ] }; 
 key <AB01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ agrave, Agrave, backslash, singlelowquotemark ] }; 
 key <AB02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ y, Y, braceleft, leftsinglequotemark ] }; 
 key <AB03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ x, X, braceright, rightsinglequotemark ] }; 
 key <AB04> { type[group1] = "FOUR_LEVEL", [ period, colon, ellipsis, periodcentered ] }; 
 key <AB05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ k, K, asciitilde, U2011 ] }; 
 key <AB06> { type[group1] = "FOUR_LEVEL", [ rightsinglequotemark, question, questiondown, dead_hook ] }; 
 key <AB07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ q, Q, dead_abovering, dead_horn ] }; 
 key <AB08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ g, G, dead_greek, dagger ] }; 
 key <AB09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ h, H, dead_belowdot, doubledagger ] }; 
 key <AB10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ f, F, dead_ogonek, U26C4 ] }; 
 key <SPCE> { type[group1] = "FOUR_LEVEL", [ space, U202F, underscore, nobreakspace ] }; 


 include "level3(ralt_switch)"
};










































partial alphanumeric_keys modifier_keys
xkb_symbols "dvorak" {
 name[Group1]="French (Dvorak)";

 
 key <TLDE> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ underscore, asterisk ] };
 key <AE01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ equal, 1 ] };
 key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ slash, 2, plusminus ] };
 key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ minus, 3, onequarter ] };
 key <AE04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ egrave, 4, onehalf ] };
 key <AE05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ backslash, 5, threequarters ] };
 key <AE06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ dead_circumflex, 6 ] };
 key <AE07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenleft, 7 ] };
 key <AE08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ ISO_Level3_Latch, 8, grave ] };
 key <AE09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenright, 9 ] };
 key <AE10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ quotedbl, 0 ] };
 key <AE11> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ bracketleft, plus ] };
 key <AE12> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ bracketright, percent ] };

 
 key <AD01> { [ colon, question, ae, AE ] };
 key <AD02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ apostrophe, less, dollar ] };
 key <AD03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ eacute, greater, Eacute ] };
 key <AD04> { [ g, G, EuroSign ] };
 key <AD05> { [ period, exclam, degree ] };
 key <AD06> { [ h, H ] };
 key <AD07> { [ v, V ] };
 key <AD08> { [ c, C, ccedilla, Ccedilla ] };
 key <AD09> { [ m, M, mu ] };
 key <AD10> { [ k, K ] };
 key <AD11> { [ z, Z ] };
 key <AD12> { [ dead_diaeresis, ampersand ] };

 
 key <AC01> { [ o, O, ograve, Ograve ] };
 key <AC02> { [ a, A, agrave, Agrave ] };
 key <AC03> { [ u, U, ugrave, Ugrave ] };
 key <AC04> { [ e, E, egrave, Egrave ] };
 key <AC05> { [ b, B ] };
 key <AC06> { [ f, F ] };
 key <AC07> { [ s, S, guillemotleft ] };
 key <AC08> { [ t, T ] };
 key <AC09> { [ n, N, guillemotright ] };
 key <AC10> { [ d, D ] };
 key <AC11> { [ w, W ] };
 key <BKSL> { [ asciitilde, numbersign ] };

 
 key <LSGT> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ agrave, ccedilla, Agrave, Ccedilla, slash ] };
 key <AB01> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ semicolon, bar, oe, OE, minus ] };
 key <AB02> { [ q, Q, braceleft ] };
 key <AB03> { [ comma, at, braceright ] };
 key <AB04> { [ i, I, igrave, Igrave ] };
 key <AB05> { [ y, Y, sterling ] };
 key <AB06> { [ x, X ] };
 key <AB07> { [ r, R, masculine ] };
 key <AB08> { [ l, L ] };
 key <AB09> { [ p, P, section ] };
 key <AB10> { [ j, J ] };

 key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
};


























partial alphanumeric_keys
xkb_symbols "bre" {

 include "keypad(oss)"

 name[Group1]= "French (Breton)";

 
 key <TLDE> { [ twosuperior, dead_tilde, dead_abovedot, Greek_GAMMA ] };
 key <AE01> { [ ampersand, 1, dead_macron, Greek_DELTA ] };
 key <AE02> { [ eacute, 2, dead_acute, Greek_THETA ] };
 key <AE03> { [ quotedbl, 3, numbersign, Greek_LAMDA ] };
 key <AE04> { [ apostrophe, 4, braceleft, Greek_XI ] };
 key <AE05> { [ parenleft, 5, bracketleft, Greek_PI ] };
 key <AE06> { [ minus, 6, bar, Greek_SIGMA ] };
 key <AE07> { [ egrave, 7, dead_grave, Greek_PHI ] };
 key <AE08> { [ underscore, 8, backslash, Greek_PSI ] };
 key <AE09> { [ ccedilla, 9, plusminus, Ccedilla ] };
 key <AE10> { [ agrave, 0, at, Greek_OMEGA ] };
 key <AE11> { [ parenright, dead_abovering, bracketright, ssharp ] };
 key <AE12> { [ equal, plus, braceright, notsign ] };

 
 
 
 
 key <AD01> { [ UF8FD, UF8FE, UF8FF, Greek_alpha ] };
 key <AD02> { [ w, W, Greek_omega, Greek_omega ] };
 key <AD03> { [ e, E, EuroSign, Greek_epsilon ] };
 key <AD04> { [ r, R, Greek_rho, Greek_rho ] };
 key <AD05> { [ t, T, Greek_tau, Greek_tau ] };
 key <AD06> { [ y, Y, Greek_psi, Greek_psi ] };
 key <AD07> { [ u, U, Greek_upsilon, Greek_upsilon ] };
 key <AD08> { [ i, I, idotless, Greek_iota ] };
 key <AD09> { [ o, O, oe, OE ] };
 key <AD10> { [ p, P, Greek_pi, Greek_pi ] };
 key <AD11> { [ dead_circumflex, dead_diaeresis, guillemotleft, yen ] };
 key <AD12> { [ slash, asterisk, guillemotright, sterling ] };

 
 key <AC01> { [ a, A, ae, AE ] };
 key <AC02> { [ s, S, Greek_sigma, Greek_sigma ] };
 key <AC03> { [ d, D, dollar, Greek_delta ] };
 key <AC04> { [ f, F, Greek_phi, Greek_phi ] };
 key <AC05> { [ g, G, Greek_gamma, Greek_gamma ] };
 key <AC06> { [ h, H, Greek_eta, Greek_eta ] };
 key <AC07> { [ j, J, Greek_finalsmallsigma, Greek_finalsmallsigma ] };
 key <AC08> { [ k, K, Greek_kappa, Greek_kappa ] };
 key <AC09> { [ l, L, Greek_lamda, Greek_lambda ] };
 key <AC10> { [ m, M, Greek_mu, Greek_mu ] };
 key <AC11> { [ ugrave, Ugrave, ubreve, registered ] };
 key <BKSL> { [ question, exclam, questiondown, exclamdown ] };

 
 key <LSGT> { [ q, Q, less, Greek_theta ] };
 key <AB01> { [ z, Z, greater, Greek_zeta ] };
 key <AB02> { [ x, X, Greek_xi, Greek_xi ] };
 key <AB03> { [ c, C, cent, Greek_chi ] };
 key <AB04> { [ v, V ] };
 key <AB05> { [ b, B, Greek_beta, Greek_beta ] };
 key <AB06> { [ n, N, Greek_nu, Greek_nu ] };
 
 
 
 key <AB07> { [ UF8FA, UF8FB, UF8FC, Greek_omicron ] };
 key <AB08> { [ ntilde, Ntilde ] };
 key <AB09> { [ period, colon, section, copyright ] };
 key <AB10> { [ comma, semicolon, percent ] };

 key <SPCE> { [ space, nobreakspace, space, nobreakspace ] };

 include "level3(ralt_switch)"
};

























partial alphanumeric_keys
xkb_symbols "oci" {

 include "fr(oss)"

 name[Group1]= "Occitan";

 key <AD01> { [ a, A, aacute, Aacute ] }; 
 key <AD02> { [ z, Z, ae, AE ] }; 
 key <AD05> { [ t, T, ediaeresis, Ediaeresis ] }; 
 key <AD06> { [ y, Y, ucircumflex, Ucircumflex ] }; 
 key <AD07> { [ u, U, uacute, Uacute ] }; 
 key <AD08> { [ i, I, iacute, Iacute ] }; 
 key <AD09> { [ o, O, oacute, Oacute ] }; 
 key <AD10> { [ p, P, ograve, Ograve ] }; 
 key <AD11> { [ dead_circumflex, dead_diaeresis, oe, OE ] }; 

 key <AC03> { [ d, D, acircumflex, Acircumflex ] }; 
 key <AC06> { [ h, H, udiaeresis, Udiaeresis ] }; 
 key <AC07> { [ j, J, icircumflex, Icircumflex ] }; 
 key <AC08> { [ k, K, idiaeresis, Idiaeresis ] }; 
 key <AC09> { [ l, L, ocircumflex, Ocircumflex ] }; 

 key <AB04> { [ v, V, rightarrow, leftarrow ] }; 
 key <AB06> { [ n, N, ntilde, Ntilde ] }; 
};
























partial alphanumeric_keys
xkb_symbols "mac" {

 name[Group1]= "French (Macintosh)";

 key <TLDE> { [ at, numbersign, periodcentered, Ydiaeresis ] }; 
 key <AE01> { [ ampersand, 1, VoidSymbol, dead_acute ] }; 
 key <AE02> { [ eacute, 2, ediaeresis, Eacute ] };
 key <AE03> { [ quotedbl, 3, VoidSymbol, VoidSymbol ] }; 
 key <AE04> { [ apostrophe, 4, VoidSymbol, VoidSymbol ] };
 key <AE05> { [ parenleft, 5, braceleft, bracketleft ] };
 
 key <AE06> { [ section, 6, paragraph, aring ] };
 key <AE07> { [ egrave, 7, guillemotleft, guillemotright ] };
 key <AE08> { [ exclam, 8, exclamdown, Ucircumflex ] };
 key <AE09> { [ ccedilla, 9, Ccedilla, Aacute ] };
 key <AE10> { [ agrave, 0, oslash, VoidSymbol ] }; 
 key <AE11> { [ parenright, degree, braceright, bracketright ] };
 key <AE12> { [ minus, underscore, emdash, endash ] }; 

 key <AD01> { [ a, A, ae, AE ] };
 key <AD02> { [ z, Z, Acircumflex, Aring ] };
 key <AD03> { [ e, E, ecircumflex, Ecircumflex ] };
 key <AD04> { [ r, R, registered, currency ] };
 key <AD05> { [ t, T, VoidSymbol, VoidSymbol ] };
 key <AD06> { [ y, Y, Uacute, Ydiaeresis ] }; 
 key <AD07> { [ u, U, VoidSymbol, ordfeminine ] }; 
 key <AD08> { [ i, I, icircumflex, idiaeresis ] };
 key <AD09> { [ o, O, oe, OE ] }; 
 key <AD10> { [ p, P, VoidSymbol, VoidSymbol ] };
 key <AD11> { [dead_circumflex,dead_diaeresis, ocircumflex, Ocircumflex ] };
 key <AD12> { [ dollar, asterisk, EuroSign, yen ] }; 

 key <AC01> { [ q, Q, acircumflex, Agrave ] };
 key <AC02> { [ s, S, Ograve, VoidSymbol ] };
 key <AC03> { [ d, D, VoidSymbol, VoidSymbol ] };
 key <AC04> { [ f, F, VoidSymbol, periodcentered ] }; 
 key <AC05> { [ g, G, VoidSymbol, VoidSymbol ] }; 
 key <AC06> { [ h, H, Igrave, Icircumflex ] };
 key <AC07> { [ j, J, Idiaeresis, Iacute ] };
 key <AC08> { [ k, K, Egrave, Ediaeresis ] };
 key <AC09> { [ l, L, notsign, bar ] };
 key <AC10> { [ m, M, mu, Oacute ] };
 key <AC11> { [ ugrave,percent, Ugrave, ucircumflex ] }; 
 key <BKSL> { [ dead_grave, sterling, at, numbersign ] };

 key <LSGT> { [ less, greater, VoidSymbol, VoidSymbol ] };
 key <AB01> { [ w, W, VoidSymbol, VoidSymbol ] }; 
 key <AB02> { [ x, X, VoidSymbol, VoidSymbol ] }; 
 key <AB03> { [ c, C, copyright, cent ] };
 key <AB04> { [ v, V, diamond, leftradical ] }; 
 key <AB05> { [ b, B, ssharp, U1E9E ] }; 
 key <AB06> { [ n, N, dead_tilde, asciitilde ] };
 key <AB07> { [ comma, question, VoidSymbol, questiondown ] };
 key <AB08> { [ semicolon, period, VoidSymbol, periodcentered ] };
 key <AB09> { [ colon, slash, division, backslash ] };
 key <AB10> { [ equal, plus, VoidSymbol, plusminus ] };

 key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };

 key <KPDL> { [ comma,KP_Decimal ] };

 include "level3(ralt_switch)"
};

partial alphanumeric_keys
xkb_symbols "geo" {
 include "ge(basic)"

 name[Group1]= "Georgian (France, AZERTY Tskapo)";

 key <TLDE> { [ exclam, noSymbol ] };
 key <AE01> { [ 0x0100201e, 1 ] };
 key <AE02> { [ 0x01002116, 2 ] };
 key <AE03> { [ percent, 3 ] };
 key <AE04> { [ parenleft, 4 ] };
 key <AE05> { [ colon, 5 ] };
 key <AE06> { [ semicolon, 6 ] };
 key <AE07> { [ question, 7 ] };
 key <AE08> { [ 0x01002116, 8 ] };
 key <AE09> { [ degree, 9 ] };
 key <AE10> { [ parenright, 0 ] };
 key <AE11> { [ minus, underscore, 0x01002014 ] };
 key <AE12> { [ less, greater ] };

 key <AD01> { [ Georgian_an, 0x010010fa ] };
 key <AD02> { [ Georgian_zen, Z ] };
 key <AD03> { [ Georgian_en, E, Georgian_he ] };
 key <AD04> { [ Georgian_rae, 0x010000ae ] };
 key <AD05> { [ Georgian_tar, T ] };
 key <AD06> { [ Georgian_qar, 0x010010f8 ] };
 key <AD07> { [ Georgian_un, U ] };
 key <AD08> { [ Georgian_in, Georgian_hie ] };
 key <AD09> { [ Georgian_on, O ] };
 key <AD10> { [ Georgian_par, P ] };
 key <AD11> { [ Georgian_tan, T ] };
 key <AD12> { [ Georgian_jil, Z ] };

 key <AC01> { [ Georgian_khar, Q ] };
 key <AC02> { [ Georgian_san, S ] };
 key <AC03> { [ Georgian_don, D ] };
 key <AC04> { [ Georgian_phar, Georgian_fi ] };
 key <AC05> { [ Georgian_gan, 0x010010f9 ] };
 key <AC06> { [ Georgian_hae, Georgian_hoe ] };
 key <AC07> { [ Georgian_jhan, 0x010010f7 ] };
 key <AC08> { [ Georgian_kan, K ] };
 key <AC09> { [ Georgian_las, L ] };
 key <AC10> { [ Georgian_man, M ] };
 key <AC11> { [ Georgian_zhar, J ] };
 key <BKSL> { [ Georgian_chin, 0x010000a9 ] };

 key <LSGT> { [ guillemotleft, guillemotright ] };
 key <AB01> { [ Georgian_cil, W ] };
 key <AB02> { [ Georgian_xan, Georgian_har ] };
 key <AB03> { [ Georgian_can, 0x010000a9 ] };
 key <AB04> { [ Georgian_vin, Georgian_we ] };
 key <AB05> { [ Georgian_ban, B ] };
 key <AB06> { [ Georgian_nar, 0x010010fc ] };
 key <AB07> { [ comma, 0x01002014 ] };
 key <AB08> { [ Georgian_shin, S ] };
 key <AB09> { [ Georgian_ghan, noSymbol ] };
 key <AB10> { [ Georgian_char, noSymbol ] };

};




partial alphanumeric_keys
xkb_symbols "us" {

 include "us(euro)"
 name[Group1]= "French (US, with French letters)";


 key <TLDE> { [ grave, asciitilde, dead_grave ] };
 key <AE06> { [ 6,asciicircum,dead_circumflex ] };

 key <AB01> { [ z, Z, acircumflex, Acircumflex ] }; 
 key <AB03> { [ c, C, ccedilla, Ccedilla ] }; 

 key <AC01> { [ a, A, agrave, Agrave ] }; 
 key <AC02> { [ s, S, ae, AE ] }; 
 key <AC03> { [ d, D, ecircumflex, Ecircumflex ] }; 
 key <AC04> { [ f, F, ediaeresis, Ediaeresis ] }; 
 key <AC06> { [ h, H, udiaeresis, Udiaeresis ] }; 
 key <AC07> { [ j, J, ucircumflex, Ucircumflex ] }; 
 key <AC08> { [ k, K, icircumflex, Icircumflex ] }; 
 key <AC11> { [apostrophe, quotedbl,dead_diaeresis ] };

 key <AD03> { [ e, E, eacute, Eacute ] }; 
 key <AD04> { [ r, R, egrave, Egrave ] }; 
 key <AD06> { [ y, Y, ydiaeresis, Ydiaeresis ] }; 
 key <AD07> { [ u, U, ugrave, Ugrave ] }; 
 key <AD08> { [ i, I, idiaeresis, Idiaeresis ] }; 
 key <AD09> { [ o, O, ocircumflex, Ocircumflex ] }; 
 key <AD10> { [ p, P, oe, OE ] }; 
 key <AD11> { [ bracketleft, braceleft, guillemotleft, leftdoublequotemark ] }; 
 key <AD12> { [bracketright, braceright, guillemotright, rightdoublequotemark ] }; 

 key <AE04> { [ 4, dollar, EuroSign, currency ] }; 
};



partial alphanumeric_keys
 xkb_symbols "sun_type6" {
 include "sun_vndr/fr(sun_type6)"
};


partial alphanumeric_keys
xkb_symbols "azerty" {
 name[Group1]="French (AZERTY)";

 include "level3(ralt_switch)"























 
 key <TLDE> { [ twosuperior ] };
 key <AE01> { [ ampersand, 1 ] };
 key <AE02> { [ eacute, 2, asciitilde ] };
 key <AE03> { [ quotedbl, 3, numbersign ] };
 key <AE04> { [ apostrophe, 4, braceleft ] };
 key <AE05> { [ parenleft, 5, bracketleft ] };
 key <AE06> { [ minus, 6, bar ] };
 key <AE07> { [ egrave, 7, grave ] };
 key <AE08> { [ underscore, 8, backslash ] };
 key <AE09> { [ ccedilla, 9, asciicircum ] };
 key <AE10> { [ agrave, 0, at ] };
 key <AE11> { [ parenright, degree, bracketright ] };
 key <AE12> { [ equal, plus, braceright ] };

 
 key <AD01> { [ a, A ] };
 key <AD02> { [ z, Z ] };
 key <AD03> { [ e, E, EuroSign ] }; 
 key <AD04> { [ r, R ] };
 key <AD05> { [ t, T ] };
 key <AD06> { [ y, Y ] }; 
 key <AD07> { [ u, U ] }; 
 key <AD08> { [ i, I ] }; 
 key <AD09> { [ o, O ] }; 
 key <AD10> { [ p, P ] };
 key <AD11> { [ dead_circumflex,dead_diaeresis ] };
 key <AD12> { [ dollar, sterling, currency ] }; 

 
 key <AC01> { [ q, Q ] };
 key <AC02> { [ s, S ] };
 key <AC03> { [ d, D ] }; 
 key <AC04> { [ f, F ] };
 key <AC05> { [ g, G ] }; 
 key <AC06> { [ h, H ] };
 key <AC07> { [ j, J ] };
 key <AC08> { [ k, K ] };
 key <AC09> { [ l, L ] };
 key <AC10> { [ m, M ] }; 
 key <AC11> { [ ugrave, percent ] };
 key <BKSL> { [ asterisk, mu ] };

 
 key <LSGT> { [ less, greater ] };
 key <AB01> { [ w, W ] };
 key <AB02> { [ x, X ] };
 key <AB03> { [ c, C ] };
 key <AB04> { [ v, V ] }; 
 key <AB05> { [ b, B ] };
 key <AB06> { [ n, N ] };
 key <AB07> { [ comma, question ] };
 key <AB08> { [ semicolon, period ] };
 key <AB09> { [ colon, slash ] };
 key <AB10> { [ exclam, section ] };
};





partial alphanumeric_keys
xkb_symbols "us-alt" {

 include "us(euro)"
 name[Group1]= "French (US, with French letters, with dead keys, alternative)";

 key <AB03> { [ c, C, ccedilla, Ccedilla ] }; 

 key <AC01> { [ a, A, ae, AE ] }; 
 key <AC11> { [dead_diaeresis, quotedbl, apostrophe ] };

 key <AD03> { [ e, E, eacute, Eacute ] }; 
 key <AD09> { [ o, O, oe, OE ] }; 
 key <AD11> { [ bracketleft, braceleft, guillemotleft, leftdoublequotemark ] }; 
 key <AD12> { [bracketright, braceright, guillemotright, rightdoublequotemark ] }; 

 key <TLDE> { [dead_grave, asciitilde, grave ] };
 key <AE06> { [dead_circumflex, asciicircum, 6 ] };
 key <AE04> { [ 4, dollar, EuroSign, currency ] }; 

};





partial alphanumeric_keys
xkb_symbols "us-azerty" {

 include "us"
 name[Group1]= "French (US, AZERTY)";

 key <AB01> { [ w, W, guillemotleft, leftdoublequotemark ] }; 
 key <AB02> { [ x, X,guillemotright,rightdoublequotemark ] }; 
 key <AB07> { [ semicolon, colon ] };

 key <AC01> { [ q, Q ] };
 key <AC10> { [ m, M ] };
 key <AC11> { [apostrophe, quotedbl, ugrave, Ugrave ] }; 

 key <AD01> { [ a, A, ae, AE ] }; 
 key <AD02> { [ z, Z ] };
 key <AD09> { [ o, O, oe, OE ] }; 
 key <AD11> { [bracketleft, braceleft,dead_circumflex, dead_diaeresis ] };

 key <TLDE> { [ grave, asciitilde, dead_grave ] };
 key <AE02> { [ 2, at, eacute, Eacute ] }; 
 key <AE04> { [ 4, dollar, currency ] }; 
 key <AE06> { [ 6,asciicircum,dead_circumflex ] };
 key <AE07> { [ 7, ampersand, egrave, Egrave ] }; 
 key <AE09> { [ 9, parenleft, ccedilla, Ccedilla ] }; 
 key <AE10> { [ 0, parenright, agrave, Agrave ] }; 

 include "eurosign(e)"
 include "level3(ralt_switch)"
};























partial alphanumeric_keys
xkb_symbols "afnor" {

 include "latin"
 include "level3(ralt_switch)"
 include "nbsp(level3n)"
 include "keypad(oss)"

 name[Group1]="French (AFNOR standardized AZERTY)";

 
 key <TLDE> { [ at, numbersign, dead_breve, dead_invertedbreve ] }; 
 key <AE01> { [ agrave, 1, section, Agrave ] }; 
 key <AE02> { [ eacute, 2, dead_acute, Eacute ] }; 
 key <AE03> { [ egrave, 3, dead_grave, Egrave ] }; 
 key <AE04> { [ ecircumflex, 4, ampersand, Ecircumflex ] }; 
 key <AE05> { [ parenleft, 5, bracketleft, dead_doubleacute ] }; 
 key <AE06> { [ parenright, 6, bracketright, dead_doublegrave ] }; 
 key <AE07> { [ leftsinglequotemark, 7, dead_macron, VoidSymbol ] }; 
 key <AE08> { [rightsinglequotemark, 8, underscore, emdash ] }; 
 key <AE09> { [ guillemotleft, 9, leftdoublequotemark, VoidSymbol ] }; 
 key <AE10> { [ guillemotright, 0, rightdoublequotemark, VoidSymbol ] }; 
 key <AE11> { [ apostrophe, quotedbl, degree, dead_abovering ] }; 
 key <AE12> { [ dead_circumflex, dead_diaeresis, dead_caron, VoidSymbol ] }; 

 
 key <AD01> { [ a, A, ae, AE ] }; 
 key <AD02> { [ z, Z, sterling, VoidSymbol ] }; 
 key <AD03> { [ e, E, EuroSign, VoidSymbol ] }; 
 key <AD04> { [ r, R, registered, VoidSymbol ] }; 
 key <AD05> { [ t, T, braceleft, trademark ] }; 
 key <AD06> { [ y, Y, braceright, VoidSymbol ] }; 
 key <AD07> { [ u, U, ugrave, Ugrave ] }; 
 key <AD08> { [ i, I, dead_abovedot, dead_belowdot ] }; 
 key <AD09> { [ o, O, oe, OE ] }; 
 key <AD10> { [ p, P, percent, permille ] }; 
 key <AD11> { [ minus, endash, 0x1002212, 0x1002011 ] }; 
 key <AD12> { [ plus, plusminus, dagger, doubledagger ] }; 

 
 key <AC01> { [ q, Q, Greek_theta, VoidSymbol ] }; 
 key <AC02> { [ s, S, ssharp, 0x1001E9E ] }; 
 key <AC03> { [ d, D, dollar, VoidSymbol ] }; 
 key <AC04> { [ f, F, dead_currency, VoidSymbol ] }; 
 key <AC05> { [ g, G, dead_greek, VoidSymbol ] }; 
 key <AC06> { [ h, H, VoidSymbol, dead_belowmacron ] }; 
 key <AC07> { [ j, J, VoidSymbol, VoidSymbol ] }; 
 key <AC08> { [ k, K, dead_longsolidusoverlay, VoidSymbol ] }; 
 key <AC09> { [ l, L, bar, VoidSymbol ] }; 
 key <AC10> { [ m, M, infinity, VoidSymbol ] }; 
 key <AC11> { [ slash, backslash, division, radical ] }; 
 key <BKSL> { [ asterisk, onehalf, multiply, onequarter ] }; 

 
 key <LSGT> { [ less, greater, lessthanequal, greaterthanequal ] }; 
 key <AB01> { [ w, W, ezh, EZH ] }; 
 key <AB02> { [ x, X, copyright, VoidSymbol ] }; 
 key <AB03> { [ c, C, ccedilla, Ccedilla ] }; 
 key <AB04> { [ v, V, dead_cedilla, dead_ogonek ] }; 
 key <AB05> { [ b, B, dead_stroke, VoidSymbol ] }; 
 key <AB06> { [ n, N, dead_tilde, VoidSymbol ] }; 
 key <AB07> { [ period, question, questiondown, VoidSymbol ] }; 
 key <AB08> { [ comma, exclam, exclamdown, dead_belowcomma ] }; 
 key <AB09> { [ colon, ellipsis, periodcentered, VoidSymbol ] }; 
 key <AB10> { [ semicolon, equal, similarequal, notequal ] }; 
};
