

partial default 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 <AD02> { [ z, Z, VoidSymbol, guillemotleft ] };

 key <AC02> { [ s, S, VoidSymbol, ssharp ] };

 key <AB02> { [ x, X, VoidSymbol, guillemotright ] };

 key <I219> { [ less, greater ] };
};

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 (Sun dead keys)";
};

partial alphanumeric_keys
xkb_symbols "nodeadkeys" {

 

 include "fr(basic)"

 name[Group1]="French (eliminate 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(level4nl)"
 include "keypad(oss)"

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

 
 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 (alternative, 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 (alternative, Sun dead keys)";
};

partial alphanumeric_keys
xkb_symbols "oss_nodeadkeys" {

 

 include "fr(oss)"

 name[Group1]="French (alternative, eliminate 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, alternative)";

 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, quoteleft ] };
 key <AD11> { [ dead_circumflex, dead_diaeresis, dead_tilde, quoteright ] };
 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 ] };
 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, quoteright ] };

};

partial alphanumeric_keys
xkb_symbols "latin9_sundeadkeys" {

 include "fr(latin9_Sundeadkeys)"

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

partial alphanumeric_keys
xkb_symbols "latin9_nodeadkeys" {

 

 include "fr(latin9)"

 name[Group1]="French (legacy, alternative, eliminate dead keys)";

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





























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, U2030, 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, mu ] }; 
 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 ] }; 
 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 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 "keypad(oss)"

 name[Group1]= "Occitan";

 
 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, aacute, Aacute ] }; 
 key <AD02> { [ z, Z, ae, AE ] }; 
 key <AD03> { [ e, E, EuroSign, cent ] }; 
 key <AD04> { [ r, R, ecircumflex, Ecircumflex ] }; 
 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 <AD12> { [ dollar, sterling, oslash, Ooblique ] }; 

 
 key <AC01> { [ q, Q, adiaeresis, Adiaeresis ] }; 
 key <AC02> { [ s, S, ssharp, doublelowquotemark ] }; 
 key <AC03> { [ d, D, acircumflex, Acircumflex ] }; 
 key <AC04> { [ f, F, leftsinglequotemark, singlelowquotemark ] }; 
 key <AC05> { [ g, G, rightsinglequotemark, yen ] }; 
 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 <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, rightarrow, leftarrow ] }; 
 key <AB05> { [ b, B, downarrow, uparrow ] }; 
 key <AB06> { [ n, N, ntilde, Ntilde ] }; 
 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 "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, VoidSymbol ] }; 
 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> { [ 0x010010d0, 0x010010fa ] };
 key <AD02> { [ 0x010010d6, Z ] };
 key <AD03> { [ 0x010010d4, E, 0x010010f1 ] };
 key <AD04> { [ 0x010010e0, 0x010000ae ] };
 key <AD05> { [ 0x010010e2, T ] };
 key <AD06> { [ 0x010010e7, 0x010010f8 ] };
 key <AD07> { [ 0x010010e3, U ] };
 key <AD08> { [ 0x010010d8, 0x010010f2 ] };
 key <AD09> { [ 0x010010dd, O ] };
 key <AD10> { [ 0x010010de, P ] };
 key <AD11> { [ 0x010010d7, T ] };
 key <AD12> { [ 0x010010eb, Z ] };

 key <AC01> { [ 0x010010e5, Q ] };
 key <AC02> { [ 0x010010e1, S ] };
 key <AC03> { [ 0x010010d3, D ] };
 key <AC04> { [ 0x010010e4, 0x010010f6 ] };
 key <AC05> { [ 0x010010d2, 0x010010f9 ] };
 key <AC06> { [ 0x010010f0, 0x010010f5 ] };
 key <AC07> { [ 0x010010ef, 0x010010f7 ] };
 key <AC08> { [ 0x010010d9, K ] };
 key <AC09> { [ 0x010010da, L ] };
 key <AC10> { [ 0x010010db, M ] };
 key <AC11> { [ 0x010010df, J ] };
 key <BKSL> { [ 0x010010e9, 0x010000a9 ] };

 key <LSGT> { [ guillemotleft,guillemotright ] };
 key <AB01> { [ 0x010010ec, W ] };
 key <AB02> { [ 0x010010ee, 0x010010f4 ] };
 key <AB03> { [ 0x010010ea, 0x010000a9 ] };
 key <AB04> { [ 0x010010d5, 0x010010f3 ] };
 key <AB05> { [ 0x010010d1, B ] };
 key <AB06> { [ 0x010010dc, 0x010010fc ] };
 key <AB07> { [ comma, 0x01002014 ] };
 key <AB08> { [ 0x010010e8, S ] };
 key <AB09> { [ 0x010010e6, noSymbol ] };
 key <AB10> { [ 0x010010ed, noSymbol ] };

};
