

default partial alphanumeric_keys
xkb_symbols "basic" {

    include "latin"

    name[Group1]="French";

    key <TLDE>	{ [twosuperior, asciitilde,     notsign,      notsign ]	};
    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 <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,        U2022,     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 "nodeadkeys" {

    

    include "fr(basic)"

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

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




























partial alphanumeric_keys
xkb_symbols "oss" {

    include "level3(ralt_switch)"
    include "nbsp(level3n)"
    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,                Oslash ] }; 

    
    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_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,               Oslash ] };
    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_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)";

    
    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, 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, AFNOR)";

	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, permille, 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 "ergol" {

    name[group1]= "French (Ergo‑L)";

    key.type[group1] = "EIGHT_LEVEL";

    
    key <AE01> {[ 1               , EuroSign        , U2081           , onesuperior     , U201E           , U201A           ]}; 
    key <AE02> {[ 2               , guillemotleft   , U2082           , twosuperior     , U201C           , U2018           ]}; 
    key <AE03> {[ 3               , guillemotright  , U2083           , threesuperior   , U201D           , U2019           ]}; 
    key <AE04> {[ 4               , dollar          , U2084           , U2074           , cent            , VoidSymbol      ]}; 
    key <AE05> {[ 5               , percent         , U2085           , U2075           , U2030           , VoidSymbol      ]}; 
    key <AE06> {[ 6               , asciicircum     , U2086           , U2076           , VoidSymbol      , VoidSymbol      ]}; 
    key <AE07> {[ 7               , ampersand       , U2087           , U2077           , VoidSymbol      , VoidSymbol      ]}; 
    key <AE08> {[ 8               , asterisk        , U2088           , U2078           , section         , VoidSymbol      ]}; 
    key <AE09> {[ 9               , numbersign      , U2089           , U2079           , paragraph       , VoidSymbol      ]}; 
    key <AE10> {[ 0               , at              , U2080           , U2070           , degree          , VoidSymbol      ]}; 

    
    key <AD01> {[ q               , Q               , asciicircum     , dead_circumflex , acircumflex     , Acircumflex     ]}; 
    key <AD02> {[ c               , C               , less            , lessthanequal   , ccedilla        , Ccedilla        ]}; 
    key <AD03> {[ o               , O               , greater         , greaterthanequal, oe              , OE              ]}; 
    key <AD04> {[ p               , P               , dollar          , dead_currency   , ocircumflex     , Ocircumflex     ]}; 
    key <AD05> {[ w               , W               , percent         , U2030           , VoidSymbol      , VoidSymbol      ]}; 
    key <AD06> {[ j               , J               , at              , dead_abovering  , VoidSymbol      , VoidSymbol      ]}; 
    key <AD07> {[ m               , M               , ampersand       , VoidSymbol      , mu              , VoidSymbol      ]}; 
    key <AD08> {[ d               , D               , asterisk        , multiply        , underscore      , underscore      ]}; 
    key <AD09> {[ ISO_Level5_Latch, exclam          , apostrophe      , dead_acute      , dead_diaeresis  , exclamdown      ]}; 
    key <AD10> {[ y               , Y               , grave           , dead_grave      , ucircumflex     , Ucircumflex     ]}; 

    
    key <AC01> {[ a               , A               , braceleft       , dead_caron      , agrave          , Agrave          ]}; 
    key <AC02> {[ s               , S               , parenleft       , VoidSymbol      , eacute          , Eacute          ]}; 
    key <AC03> {[ e               , E               , parenright      , VoidSymbol      , egrave          , Egrave          ]}; 
    key <AC04> {[ n               , N               , braceright      , dead_abovedot   , ecircumflex     , Ecircumflex     ]}; 
    key <AC05> {[ f               , F               , equal           , notequal        , ntilde          , Ntilde          ]}; 
    key <AC06> {[ l               , L               , backslash       , dead_stroke     , parenleft       , VoidSymbol      ]}; 
    key <AC07> {[ r               , R               , plus            , plusminus       , parenright      , VoidSymbol      ]}; 
    key <AC08> {[ t               , T               , minus           , dead_macron     , icircumflex     , Icircumflex     ]}; 
    key <AC09> {[ i               , I               , slash           , division        , idiaeresis      , Idiaeresis      ]}; 
    key <AC10> {[ u               , U               , quotedbl        , dead_doubleacute, ugrave          , Ugrave          ]}; 

    
    key <AB01> {[ z               , Z               , asciitilde      , dead_tilde      , ae              , AE              ]}; 
    key <AB02> {[ x               , X               , bracketleft     , dead_belowcomma , ssharp          , U1E9E           ]}; 
    key <AB03> {[ minus           , question        , bracketright    , dead_ogonek     , U2011           , questiondown    ]}; 
    key <AB04> {[ v               , V               , underscore      , endash          , endash          , VoidSymbol      ]}; 
    key <AB05> {[ b               , B               , numbersign      , VoidSymbol      , emdash          , VoidSymbol      ]}; 
    key <AB06> {[ period          , colon           , bar             , brokenbar       , ellipsis        , VoidSymbol      ]}; 
    key <AB07> {[ h               , H               , exclam          , notsign         , VoidSymbol      , VoidSymbol      ]}; 
    key <AB08> {[ g               , G               , semicolon       , dead_cedilla    , dead_greek      , VoidSymbol      ]}; 
    key <AB09> {[ comma           , semicolon       , colon           , colon           , periodcentered  , U2022           ]}; 
    key <AB10> {[ k               , K               , question        , dead_breve      , VoidSymbol      , VoidSymbol      ]}; 

    
    key <AE11> {[ slash           , underscore      , VoidSymbol      , VoidSymbol      , division        , endash          ]}; 
    key <AE12> {[ equal           , plus            , VoidSymbol      , VoidSymbol      , notequal        , plusminus       ]}; 
    key <AE13> {[ VoidSymbol      , VoidSymbol      , VoidSymbol      , VoidSymbol      , VoidSymbol      , VoidSymbol      ]}; 
    key <AD11> {[ bracketleft     , braceleft       , VoidSymbol      , VoidSymbol      , VoidSymbol      , VoidSymbol      ]}; 
    key <AD12> {[ bracketright    , braceright      , VoidSymbol      , VoidSymbol      , VoidSymbol      , VoidSymbol      ]}; 
    key <AC11> {[ apostrophe      , quotedbl        , VoidSymbol      , VoidSymbol      , VoidSymbol      , VoidSymbol      ]}; 
    key <AB11> {[ VoidSymbol      , VoidSymbol      , VoidSymbol      , VoidSymbol      , VoidSymbol      , VoidSymbol      ]}; 
    key <TLDE> {[ grave           , asciitilde      , VoidSymbol      , VoidSymbol      , VoidSymbol      , VoidSymbol      ]}; 
    key <BKSL> {[ backslash       , bar             , VoidSymbol      , VoidSymbol      , VoidSymbol      , VoidSymbol      ]}; 
    key <LSGT> {[ less            , greater         , VoidSymbol      , VoidSymbol      , VoidSymbol      , VoidSymbol      ]}; 

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

    include "level3(ralt_switch)"
};






partial alphanumeric_keys modifier_keys
xkb_symbols "ergol_iso" {

    include "fr(ergol)"
    name[group1]= "French (Ergo‑L, ISO variant)";

    key <AB01> {[ x               , X               , bracketleft     , dead_belowcomma , ssharp          , U1E9E           ]}; 
    key <AB02> {[ minus           , question        , bracketright    , dead_ogonek     , U2011           , questiondown    ]}; 
    key <AB03> {[ v               , V               , underscore      , endash          , endash          , VoidSymbol      ]}; 
    key <AB04> {[ b               , B               , numbersign      , VoidSymbol      , emdash          , VoidSymbol      ]}; 
    key <AB05> {[ BackSpace       , BackSpace       , Delete          , Delete          , VoidSymbol      , VoidSymbol      ]}; 
    key <LSGT> {[ z               , Z               , asciitilde      , dead_tilde      , ae              , AE              ]}; 
};










































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]= "Breton (France)";

    
    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> { [             c_h,            C_h,     Greek_alpha,    Greek_ALPHA, C_H ], type[group1]="FOUR_LEVEL_PLUS_LOCK" };
    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_finalsmallsigma ] };
    key <AB04> { [               v,              V,   Greek_omicron,  Greek_OMICRON ] };
    key <AB05> { [               b,              B,      Greek_beta,     Greek_BETA ] };
    key <AB06> { [               n,              N,        Greek_nu,       Greek_NU ] };
    
    key <AB07> { [              ch,             Ch,       Greek_chi,      Greek_CHI, CH ], type[group1]="FOUR_LEVEL_PLUS_LOCK" };
    key <AB08> { [          ntilde,         Ntilde,      asciitilde,     dead_tilde ] };
    key <AB09> { [          period,          colon,         section,      copyright ] };
    key <AB10> { [           comma,      semicolon,         percent,       permille ] };

    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, leftdoublequotemark, rightdoublequotemark ]};
    key <AE04> {	[  apostrophe,    4, leftsinglequotemark, rightsinglequotemark ]};
    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,        Oslash	]	};
    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,       dagger,   trademark	]	};
    key <AD06> {	[           y,  Y,       Uacute,  Ydiaeresis	]	};
    key <AD07> {	[           u,  U,    masculine, ordfeminine	]	};
    key <AD08> {	[           i,  I,  icircumflex,  idiaeresis	]	};
    key <AD09> {	[           o,  O,           oe,          OE	]	};
    key <AD10> {	[           p,  P,     Greek_pi,    Greek_PI	]	};
    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, Greek_delta,    Greek_DELTA	]	};
    key <AC04> {	[         f, F,       U0192, periodcentered	]	}; 
    key <AC05> {	[         g, G,       UFB01,          UFB02	]	}; 
    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, lessthanequal, greaterthanequal ]	};
    key <AB01> {	[         w, W,      U2039,        U203A	]	}; 
    key <AB02> {	[         x, X, similarequal,      U2044	]	}; 
    key <AB03> {	[         c, C,  copyright,         cent	]	};
    key <AB04> {	[         v, V,    diamond,      radical	]	}; 
    key <AB05> {	[         b, B,     ssharp,     integral	]	};
    key <AB06> {	[         n, N,  dead_tilde,  asciitilde	]	};
    key <AB07> {	[     comma,  question, VoidSymbol,  questiondown	]	};
    key <AB08> {	[ semicolon,  period,  ellipsis,   periodcentered	]	};
    key <AB09> {	[     colon,  slash,   division,        backslash	]	};
    key <AB10> {	[     equal,   plus,   notequal,        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,         any            ]};
    key <AE01>	{[ U201E,          1              ]};
    key <AE02>	{[ U2116,          2              ]};
    key <AE03>	{[ percent,        3              ]};
    key <AE04>	{[ parenleft,      4              ]};
    key <AE05>	{[ colon,          5              ]};
    key <AE06>	{[ semicolon,      6              ]};
    key <AE07>	{[ question,       7              ]};
    key <AE08>	{[ U2116,          8              ]};
    key <AE09>	{[ degree,         9              ]};
    key <AE10>	{[ parenright,     0              ]};
    key <AE11>	{[ minus,          underscore,    emdash ]};
    key <AE12>	{[ less,           greater        ]};

    key <AD01>	{[ Georgian_an,    U10FA          ]};
    key <AD02>	{[ Georgian_zen,   Z              ]};
    key <AD03>	{[ Georgian_en,    E,             Georgian_he ]};
    key <AD04>	{[ Georgian_rae,   registered     ]};
    key <AD05>	{[ Georgian_tar,   T              ]};
    key <AD06>	{[ Georgian_qar,   U10F8          ]};
    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,   U10F9          ]};
    key <AC06>	{[ Georgian_hae,   Georgian_hoe   ]};
    key <AC07>	{[ Georgian_jhan,  U10F7          ]};
    key <AC08>	{[ Georgian_kan,   K              ]};
    key <AC09>	{[ Georgian_las,   L              ]};
    key <AC10>	{[ Georgian_man,   M              ]};
    key <AC11>	{[ Georgian_zhar,  J              ]};
    key <BKSL>	{[ Georgian_chin,  copyright      ]};

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




partial alphanumeric_keys
xkb_symbols "us" {

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


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

    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 <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,           degree ] };

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

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



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






















partial alphanumeric_keys
xkb_symbols "azerty" {

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

    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				]};

    include "level3(ralt_switch)"
};





partial alphanumeric_keys
xkb_symbols "us-alt" {

    include "us(basic)"
    name[Group1]= "French (US with dead keys, alt.)";

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

    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 <AC01> { [         a,          A,            ae,               AE ] }; 
    key <AC11> { [dead_diaeresis, quotedbl,  apostrophe ] };

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

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





partial alphanumeric_keys
xkb_symbols "us-azerty" {

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

    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 ] }; 

    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 <AC01> { [         q,          Q                                  ] };
    key <AC10> { [         m,          M                                  ] };
    key <AC11> { [apostrophe,   quotedbl,        ugrave,           Ugrave ] }; 

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

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






















partial alphanumeric_keys
xkb_symbols "afnor" {

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

    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,               none, singlelowquotemark, U203A ], type[Group1]="EIGHT_LEVEL" }; 
    key <AE08>	{[ rightsinglequotemark,          8,        underscore,             emdash, leftsinglequotemark, U2039 ], type[Group1]="EIGHT_LEVEL" }; 
    key <AE09>	{[    guillemotleft,              9,   leftdoublequotemark,          U2039, doublelowquotemark, guillemotright ], type[Group1]="EIGHT_LEVEL" }; 
    key <AE10>	{[   guillemotright,              0,  rightdoublequotemark,          U203A, leftdoublequotemark, guillemotleft ], type[Group1]="EIGHT_LEVEL" }; 
    key <AE11>	{[       apostrophe,       quotedbl,            degree,     dead_abovering, rightsinglequotemark, none ], type[Group1]="EIGHT_LEVEL" }; 
    key <AE12>	{[  dead_circumflex, dead_diaeresis,        dead_caron,               none ]}; 

    key <AD01>	{[                a,              A,                ae,                 AE, ordfeminine, ordfeminine ], type[Group1]="EIGHT_LEVEL_ALPHABETIC" }; 
    key <AD02>	{[                z,              Z,          sterling,               none ]}; 
    key <AD03>	{[                e,              E,          EuroSign,               none, schwa, SCHWA ], type[Group1]="EIGHT_LEVEL_SEMIALPHABETIC" }; 
    key <AD04>	{[                r,              R,        registered,               none ]}; 
    key <AD05>	{[                t,              T,         braceleft,          trademark, thorn, THORN ], type[Group1]="EIGHT_LEVEL_SEMIALPHABETIC" }; 
    key <AD06>	{[                y,              Y,        braceright,               none ]}; 
    key <AD07>	{[                u,              U,            ugrave,             Ugrave ]}; 
    key <AD08>	{[                i,              I,     dead_abovedot,      dead_belowdot, idotless, Iabovedot ], type[Group1]="EIGHT_LEVEL_SEMIALPHABETIC" }; 
    key <AD09>	{[                o,              O,                oe,                 OE, ordmasculine, ordmasculine ], type[Group1]="EIGHT_LEVEL_ALPHABETIC" }; 
    key <AD10>	{[                p,              P,           percent,           permille ]}; 
    key <AD11>	{[            minus,         endash,             U2212,              U2011 ]}; 
    key <AD12>	{[             plus,      plusminus,            dagger,       doubledagger ]}; 

    key <AC01>	{[                q,              Q,       Greek_theta,        Greek_THETA ]}; 
    key <AC02>	{[                s,              S,            ssharp,              U1E9E, U017F, S ], type[Group1]="EIGHT_LEVEL_ALPHABETIC" }; 
    key <AC03>	{[                d,              D,            dollar,               none, eth, ETH ], type[Group1]="EIGHT_LEVEL_SEMIALPHABETIC" }; 
    key <AC04>	{[                f,              F,     dead_currency,               none ]}; 
    key <AC05>	{[                g,              G,        dead_greek,               none, eng, ENG ], type[Group1]="EIGHT_LEVEL_SEMIALPHABETIC" }; 
    key <AC06>	{[                h,              H,  ISO_Level5_Latch,   dead_belowmacron ]}; 
    key <AC07>	{[                j,              J,              none,               none, U0133, U0132 ], type[Group1]="EIGHT_LEVEL_ALPHABETIC" }; 
    key <AC08>	{[                k,              K,       dead_stroke,               none ]}; 
    key <AC09>	{[                l,              L,               bar,               none ]}; 
    key <AC10>	{[                m,              M,          infinity,               none ]}; 
    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,              none ]}; 
    key <AB03>	{[                c,              C,          ccedilla,          Ccedilla ]}; 
    key <AB04>	{[                v,              V,      dead_cedilla,       dead_ogonek ]}; 
    key <AB05>	{[                b,              B,       dead_stroke,              none ]}; 
    key <AB06>	{[                n,              N,        dead_tilde,              none ]}; 
    key <AB07>	{[           period,       question,      questiondown,              none ]}; 
    key <AB08>	{[            comma,         exclam,        exclamdown,   dead_belowcomma ]}; 
    key <AB09>	{[            colon,       ellipsis,    periodcentered,              none ]}; 
    key <AB10>	{[        semicolon,          equal,      similarequal,          notequal ]}; 

    include "nbsp(level3n)"
    include "keypad(oss)"

    include "level3(ralt_switch)"
};
