Home | History | Annotate | Line # | Download | only in symbols
      1  1.1.1.17   mrg default partial alphanumeric_keys
      2       1.1   mrg xkb_symbols "basic" {
      3       1.1   mrg 
      4       1.1   mrg     include "latin"
      5       1.1   mrg 
      6   1.1.1.7   mrg     name[Group1]="French";
      7       1.1   mrg 
      8  1.1.1.20   mrg     key <TLDE>	{ [twosuperior, asciitilde,     notsign,      notsign ]	};
      9       1.1   mrg     key <AE01>	{ [ ampersand,          1,  onesuperior,   exclamdown ]	};
     10       1.1   mrg     key <AE02>	{ [    eacute,          2,   asciitilde,    oneeighth ]	};
     11       1.1   mrg     key <AE03>	{ [  quotedbl,          3,   numbersign,     sterling ]	};
     12       1.1   mrg     key <AE04>	{ [apostrophe,          4,    braceleft,       dollar ]	};
     13       1.1   mrg     key <AE05>	{ [ parenleft,          5,  bracketleft, threeeighths ]	};
     14       1.1   mrg     key <AE06>	{ [     minus,          6,          bar,  fiveeighths ]	};
     15       1.1   mrg     key <AE07>	{ [    egrave,          7,        grave, seveneighths ]	};
     16       1.1   mrg     key <AE08>	{ [underscore,          8,    backslash,    trademark ]	};
     17       1.1   mrg     key <AE09>	{ [  ccedilla,          9,  asciicircum,    plusminus ]	};
     18       1.1   mrg     key <AE10>	{ [    agrave,          0,           at,       degree ]	};
     19       1.1   mrg     key <AE11>	{ [parenright,     degree, bracketright, questiondown ]	};
     20       1.1   mrg     key <AE12>	{ [     equal,       plus,   braceright,  dead_ogonek ]	};
     21       1.1   mrg 
     22       1.1   mrg     key <AD01>	{ [         a,          A,           ae,           AE ]	};
     23       1.1   mrg     key <AD02>	{ [         z,          Z, guillemotleft,        less ]	};
     24       1.1   mrg     key <AD03>	{ [         e,          E,     EuroSign,         cent ]	};
     25       1.1   mrg     key <AD11>	{ [dead_circumflex, dead_diaeresis, dead_diaeresis, dead_abovering ] };
     26       1.1   mrg     key <AD12>	{ [    dollar,   sterling,     currency,  dead_macron ]	};
     27       1.1   mrg 
     28       1.1   mrg     key <AC01>	{ [         q,          Q,           at,  Greek_OMEGA ]	};
     29       1.1   mrg     key <AC10>	{ [         m,          M,           mu,    masculine ]	};
     30       1.1   mrg     key <AC11>	{ [    ugrave,    percent, dead_circumflex, dead_caron]	};
     31       1.1   mrg     key <BKSL>	{ [  asterisk,         mu,   dead_grave,   dead_breve ]	};
     32  1.1.1.20   mrg 
     33       1.1   mrg     key <AB01>	{ [         w,          W,      lstroke,      Lstroke ]	};
     34       1.1   mrg     key <AB07>	{ [     comma,   question,   dead_acute, dead_doubleacute ] };
     35  1.1.1.20   mrg     key <AB08>	{ [ semicolon,     period,        U2022,     multiply ]	}; // bullet
     36       1.1   mrg     key <AB09>	{ [     colon,      slash, periodcentered,   division ]	};
     37       1.1   mrg     key <AB10>	{ [    exclam,    section, dead_belowdot, dead_abovedot ] };
     38       1.1   mrg 
     39       1.1   mrg     include "level3(ralt_switch)"
     40       1.1   mrg };
     41       1.1   mrg 
     42       1.1   mrg partial alphanumeric_keys
     43   1.1.1.3  ghen xkb_symbols "olpc" {
     44  1.1.1.20   mrg 
     45  1.1.1.20   mrg     // #HW-SPECIFIC
     46  1.1.1.20   mrg 
     47   1.1.1.3  ghen     // Contact: Sayamindu Dasgupta <sayamindu (a] laptop.org>
     48   1.1.1.3  ghen     include "fr(basic)"
     49   1.1.1.3  ghen 
     50   1.1.1.7   mrg     name[Group1]="French";
     51   1.1.1.3  ghen 
     52   1.1.1.8   mrg     key <I219>	{ [ less, greater ]	};
     53   1.1.1.8   mrg     key <AD11>	{ [ dead_circumflex, dead_diaeresis, notsign, dead_abovering ]	};
     54   1.1.1.8   mrg     key <AB08>	{ [ semicolon, period, underscore, multiply ]	};
     55   1.1.1.8   mrg     key <TLDE>	{ [ twosuperior, asciitilde, VoidSymbol, VoidSymbol ]	};
     56   1.1.1.8   mrg 
     57   1.1.1.8   mrg     // Some keys only have the Shift+AltGr character printed on them (alongside
     58   1.1.1.8   mrg     // the unmodified one). Make such keys shift-invariant so that the printed
     59   1.1.1.8   mrg     // value is achieved by pressing AltGr or Shift+AltGr.
     60   1.1.1.8   mrg     key <AB02>	{ [ x,  X,  guillemotright, guillemotright ]	};
     61  1.1.1.15   mrg     key <AC02>	{ [ s,  S,  ssharp, U1E9E ]	};
     62   1.1.1.8   mrg     key <AD02>	{ [ z,  Z,  guillemotleft, guillemotleft ]	};
     63   1.1.1.3  ghen };
     64   1.1.1.3  ghen 
     65   1.1.1.3  ghen partial alphanumeric_keys
     66       1.1   mrg xkb_symbols "nodeadkeys" {
     67       1.1   mrg 
     68       1.1   mrg     // Modifies the basic French layout to eliminate all dead keys
     69       1.1   mrg 
     70       1.1   mrg     include "fr(basic)"
     71       1.1   mrg 
     72  1.1.1.13   mrg     name[Group1]="French (no dead keys)";
     73       1.1   mrg 
     74       1.1   mrg     key <AE12>	{ [     equal,       plus,   braceright,       ogonek ]	};
     75       1.1   mrg     key <AD11>	{ [asciicircum,  diaeresis ]	};
     76       1.1   mrg     key <AD12>	{ [    dollar,   sterling,     currency,       macron ]	};
     77       1.1   mrg     key <AC11>	{ [    ugrave,    percent,  asciicircum,        caron ]	};
     78       1.1   mrg     key <BKSL>	{ [  asterisk,         mu,        grave,        breve ]	};
     79       1.1   mrg     key <AB07>	{ [     comma,   question,        acute,  doubleacute ]	};
     80       1.1   mrg     key <AB10>	{ [    exclam,    section, dead_belowdot,    abovedot ]	};
     81       1.1   mrg };
     82       1.1   mrg 
     83       1.1   mrg 
     84       1.1   mrg // Unicode French derivative
     85       1.1   mrg // Loose refactoring of the historic Linux French keyboard layout
     86       1.1   mrg //
     87       1.1   mrg // Copyright  2006-2008 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
     88       1.1   mrg //
     89       1.1   mrg // Credits (fr-latin1, fr-latin0, fr-latin9)
     90       1.1   mrg //    199x-1996 Ren Cougnenc 
     91       1.1   mrg //    1997-2002 Guylhem Aznar <clavier @ externe.net>
     92       1.1   mrg //    2003-2006 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
     93       1.1   mrg //
     94       1.1   mrg // 
     95   1.1.1.9   mrg //     1    2   3   4   5   6   7   8   9   0      +    Retour
     96       1.1   mrg //     &    ~  " #  ' {  ( [  - |   `  _ \   ^   @  ) ]  = }   arrire
     97       1.1   mrg // 
     98       1.1   mrg //         A   Z   E   R   T   Y   U   I   O   P        Entre 
     99       1.1   mrg // Tab    a   z   e   r   t   y   u   i   o   p   ^ ~  $        
    100       1.1   mrg //       
    101   1.1.1.9   mrg //          Q   S   D   F   G   H   J   K   L   M   %            
    102       1.1   mrg // Maj     q   s   d   f   g   h   j   k   l   m    '  * `       
    103       1.1   mrg // 
    104       1.1   mrg //         >   W   X   C   V   B   N   ?   . .  /                  
    105       1.1   mrg // Shift  <   w   x   c   v   b   n   ,   ;   :   !  Shift       
    106       1.1   mrg // 
    107       1.1   mrg //                                Espace fine inscable                       
    108       1.1   mrg // Ctrl   Meta   Alt      Espace       Espace inscable  AltGr Menu   Ctrl   
    109       1.1   mrg // 
    110       1.1   mrg partial alphanumeric_keys
    111       1.1   mrg xkb_symbols "oss" {
    112       1.1   mrg 
    113       1.1   mrg     include "latin"
    114       1.1   mrg     include "level3(ralt_switch)"
    115   1.1.1.8   mrg     include "nbsp(level4n)"
    116       1.1   mrg     include "keypad(oss)"
    117       1.1   mrg 
    118  1.1.1.13   mrg     name[Group1]="French (alt.)";
    119       1.1   mrg 
    120       1.1   mrg     // First row
    121   1.1.1.9   mrg     key <TLDE>	{ [      twosuperior,    threesuperior,          onesuperior,          dead_cedilla ] }; //    
    122       1.1   mrg     key <AE01>	{ [        ampersand,                1,           dead_caron,           dead_ogonek ] }; // & 1  
    123       1.1   mrg     key <AE02>	{ [           eacute,                2,           asciitilde,                Eacute ] }; //  2 ~ 
    124       1.1   mrg     key <AE03>	{ [         quotedbl,                3,           numbersign,            dead_breve ] }; // " 3 # 
    125       1.1   mrg     key <AE04>	{ [       apostrophe,                4,            braceleft,             0x1002014 ] }; // ' 4 {  (tiret cadratin)
    126       1.1   mrg     key <AE05>	{ [        parenleft,                5,          bracketleft,             0x1002013 ] }; // ( 5 [  (tiret demi-cadratin)
    127       1.1   mrg     key <AE06>	{ [            minus,                6,                  bar,             0x1002011 ] }; // - 6 |  (tiret inscable)
    128       1.1   mrg     key <AE07>	{ [           egrave,                7,                grave,                Egrave ] }; //  7 ` 
    129       1.1   mrg     key <AE08>	{ [       underscore,                8,            backslash,             trademark ] }; // _ 8 \ 
    130       1.1   mrg     key <AE09>	{ [         ccedilla,                9,          asciicircum,              Ccedilla ] }; //  9 ^ 
    131       1.1   mrg     key <AE10>	{ [           agrave,                0,                   at,                Agrave ] }; //  0 @ 
    132   1.1.1.9   mrg     key <AE11>	{ [       parenright,           degree,         bracketright,              notequal ] }; // )  ] 
    133       1.1   mrg     key <AE12>	{ [            equal,             plus,           braceright,             plusminus ] }; // = + } 
    134       1.1   mrg 
    135       1.1   mrg     // Second row
    136       1.1   mrg     key <AD01>	{ [                a,                A,                   ae,                    AE ] }; // a A  
    137       1.1   mrg     key <AD02>	{ [                z,                Z,          acircumflex,           Acircumflex ] }; // z Z  
    138       1.1   mrg     key <AD03>	{ [                e,                E,             EuroSign,                  cent ] }; // e E  
    139       1.1   mrg     key <AD04>	{ [                r,                R,          ecircumflex,           Ecircumflex ] }; // r R  
    140       1.1   mrg     key <AD05>	{ [                t,                T,                thorn,                 THORN ] }; // t T  
    141       1.1   mrg     key <AD06>	{ [                y,                Y,           ydiaeresis,            Ydiaeresis ] }; // y Y  
    142       1.1   mrg     key <AD07>	{ [                u,                U,          ucircumflex,           Ucircumflex ] }; // u U  
    143       1.1   mrg     key <AD08>	{ [                i,                I,          icircumflex,           Icircumflex ] }; // i I  
    144       1.1   mrg     key <AD09>	{ [                o,                O,                   oe,                    OE ] }; // o O  
    145       1.1   mrg     key <AD10>	{ [                p,                P,          ocircumflex,           Ocircumflex ] }; // p P  
    146       1.1   mrg     key <AD11>	{ [  dead_circumflex,   dead_diaeresis,           dead_tilde,        dead_abovering ] }; // ^   
    147  1.1.1.20   mrg     key <AD12>	{ [           dollar,         sterling,               oslash,                Oslash ] }; // $   
    148       1.1   mrg 
    149       1.1   mrg     // Third row
    150       1.1   mrg     key <AC01>	{ [                q,                Q,           adiaeresis,            Adiaeresis ] }; // q Q  
    151   1.1.1.9   mrg     key <AC02>	{ [                s,                S,               ssharp,    doublelowquotemark ] }; // s S  
    152       1.1   mrg     key <AC03>	{ [                d,                D,           ediaeresis,            Ediaeresis ] }; // d D  
    153       1.1   mrg     key <AC04>	{ [                f,                F,  leftsinglequotemark,    singlelowquotemark ] }; // f F  
    154       1.1   mrg     key <AC05>	{ [                g,                G, rightsinglequotemark,                   yen ] }; // g G  
    155       1.1   mrg     key <AC06>	{ [                h,                H,                  eth,                   ETH ] }; // h H  
    156       1.1   mrg     key <AC07>	{ [                j,                J,           udiaeresis,            Udiaeresis ] }; // j J  
    157       1.1   mrg     key <AC08>	{ [                k,                K,           idiaeresis,            Idiaeresis ] }; // k K  
    158       1.1   mrg     key <AC09>	{ [                l,                L,            0x1000140,             0x100013F ] }; // l L  
    159       1.1   mrg     key <AC10>	{ [                m,                M,           odiaeresis,            Odiaeresis ] }; // m M  
    160       1.1   mrg     key <AC11>	{ [           ugrave,          percent,           dead_acute,                Ugrave ] }; //  % ' 
    161       1.1   mrg     key <BKSL>	{ [         asterisk,               mu,           dead_grave,           dead_macron ] }; // *  ` 
    162       1.1   mrg 
    163       1.1   mrg     // Fourth row
    164       1.1   mrg     key <LSGT>  { [             less,          greater,        lessthanequal,      greaterthanequal ] }; // < >  
    165       1.1   mrg     key <AB01>  { [                w,                W,        guillemotleft,   leftdoublequotemark ] }; // w W  
    166       1.1   mrg     key <AB02>  { [                x,                X,       guillemotright,  rightdoublequotemark ] }; // x X  
    167       1.1   mrg     key <AB03>  { [                c,                C,            copyright,            registered ] }; // c C  
    168       1.1   mrg     key <AB04>  { [                v,                V,            0x100202F,             leftarrow ] }; // v V   (espace fine inscable)
    169       1.1   mrg     key <AB05>  { [                b,                B,            downarrow,               uparrow ] }; // b B  
    170       1.1   mrg     key <AB06>  { [                n,                N,              notsign,            rightarrow ] }; // n N  
    171       1.1   mrg     key <AB07>  { [            comma,         question,         questiondown,             0x1002026 ] }; // , ?  
    172       1.1   mrg     key <AB08>  { [        semicolon,           period,             multiply,             0x10022C5 ] }; // ; .  
    173       1.1   mrg     key <AB09>  { [            colon,            slash,             division,             0x1002215 ] }; // : /  
    174       1.1   mrg     key <AB10>  { [           exclam,          section,           exclamdown,             0x1002212 ] }; // !   
    175       1.1   mrg };
    176       1.1   mrg 
    177       1.1   mrg partial alphanumeric_keys
    178       1.1   mrg xkb_symbols "oss_latin9" {
    179       1.1   mrg 
    180       1.1   mrg     // Restricts the fr(oss) layout to latin9 symbols
    181       1.1   mrg 
    182       1.1   mrg     include "fr(oss)"
    183       1.1   mrg     include "keypad(oss_latin9)"
    184       1.1   mrg 
    185  1.1.1.13   mrg     name[Group1]="French (alt., Latin-9 only)";
    186       1.1   mrg 
    187       1.1   mrg     // First row
    188       1.1   mrg     key <AE01>	{ [        ampersand,                1,           dead_caron,          dead_cedilla ] }; // & 1  
    189       1.1   mrg     key <AE03>	{ [         quotedbl,                3,           numbersign,            dead_tilde ] }; // " 3 # ~
    190       1.1   mrg     key <AE04>	{ [       apostrophe,                4,            braceleft,            underscore ] }; // ' 4 { _
    191       1.1   mrg     key <AE05>	{ [        parenleft,                5,          bracketleft,                 minus ] }; // ( 5 [ -
    192   1.1.1.9   mrg     key <AE06>	{ [            minus,                6,                  bar,                 minus ] }; // - 6 | -
    193   1.1.1.9   mrg     key <AE08>	{ [       underscore,                8,            backslash,             backslash ] }; // _ 8 \ \
    194       1.1   mrg     key <AE11>	{ [       parenright,           degree,         bracketright,                 equal ] }; // )  ] =
    195       1.1   mrg 
    196       1.1   mrg     // Third row
    197   1.1.1.9   mrg     key <AC02>	{ [                s,                S,               ssharp,         guillemotleft ] }; // s S  
    198       1.1   mrg     key <AC04>	{ [                f,                F,           apostrophe,            apostrophe ] }; // f F ' '
    199       1.1   mrg     key <AC05>	{ [                g,                G,           apostrophe,                   yen ] }; // g G ' 
    200   1.1.1.9   mrg     key <AC09>	{ [                l,                L,       periodcentered,        periodcentered ] }; // l L  
    201   1.1.1.9   mrg     key <BKSL>	{ [         asterisk,               mu,           dead_grave,       dead_circumflex ] }; // *  ` ^
    202       1.1   mrg 
    203       1.1   mrg     // Fourth row
    204       1.1   mrg     key <LSGT>  { [             less,          greater,                 less,               greater ] }; // < > < >
    205       1.1   mrg     key <AB01>  { [                w,                W,        guillemotleft,         guillemotleft ] }; // w W  
    206       1.1   mrg     key <AB02>  { [                x,                X,       guillemotright,        guillemotright ] }; // x X  
    207       1.1   mrg     key <AB04>  { [                v,                V,         nobreakspace,                  less ] }; // v V  < (espace inscable)
    208       1.1   mrg     key <AB05>  { [                b,                B,                minus,           asciicircum ] }; // b B - ^
    209       1.1   mrg     key <AB06>  { [                n,                N,              notsign,               greater ] }; // n N  >
    210       1.1   mrg     key <AB07>  { [            comma,         question,         questiondown,                period ] }; // , ?  .
    211       1.1   mrg     key <AB08>  { [        semicolon,           period,             multiply,        periodcentered ] }; // ; .  
    212       1.1   mrg     key <AB09>  { [            colon,            slash,             division,                 slash ] }; // : /  /
    213       1.1   mrg     key <AB10>  { [           exclam,          section,           exclamdown,                 minus ] }; // !   -
    214       1.1   mrg };
    215       1.1   mrg 
    216       1.1   mrg partial alphanumeric_keys
    217       1.1   mrg xkb_symbols "oss_nodeadkeys" {
    218       1.1   mrg 
    219       1.1   mrg     // Modifies the basic fr(oss) layout to eliminate all dead keys
    220       1.1   mrg 
    221       1.1   mrg     include "fr(oss)"
    222       1.1   mrg 
    223  1.1.1.13   mrg     name[Group1]="French (alt., no dead keys)";
    224       1.1   mrg 
    225   1.1.1.9   mrg     key <TLDE>	{ [      twosuperior,    threesuperior,          onesuperior,               cedilla ] }; //    
    226       1.1   mrg     key <AE01>	{ [        ampersand,                1,                caron,                ogonek ] }; // & 1  
    227       1.1   mrg     key <AE03>	{ [         quotedbl,                3,           numbersign,                 breve ] }; // " 3 # 
    228       1.1   mrg 
    229   1.1.1.9   mrg     key <AD11>	{ [      asciicircum,        diaeresis,           asciitilde,                 Aring ] }; // ^   
    230       1.1   mrg     key <AC11>	{ [           ugrave,          percent,                acute,                Ugrave ] }; //  % ' 
    231       1.1   mrg     key <BKSL>	{ [         asterisk,               mu,                grave,                macron ] }; // *  ` 
    232       1.1   mrg };
    233       1.1   mrg 
    234       1.1   mrg 
    235       1.1   mrg // Historic Linux French keyboard layout (fr-latin9)
    236       1.1   mrg // Copyright (c) 199x, 2002 Rene Cougnenc (original work)
    237       1.1   mrg //                          Guylhem Aznar <clavier @ externe.net> (maintainer)
    238       1.1   mrg //                          Nicolas Mailhot <Nicolas.Mailhot @ laposte.net>
    239       1.1   mrg //                              (XFree86 submission)
    240       1.1   mrg //
    241       1.1   mrg // This layout has long been distributed and refined outside official channels.
    242       1.1   mrg // To this day it remains more feature-rich and popular than the 'fr' layout.
    243       1.1   mrg //
    244   1.1.1.9   mrg // This layout is derived from an original version by Guylhem Aznar.
    245   1.1.1.9   mrg // The original version is always available from:
    246       1.1   mrg // http://en.tldp.org/HOWTO/Francophones-HOWTO.html
    247       1.1   mrg // and is distributed under a GPL license.
    248       1.1   mrg //
    249       1.1   mrg // The author has given permission for this derived version to be distributed
    250       1.1   mrg // under the standard XFree86 license. He would like all changes to this
    251   1.1.1.9   mrg // version to be sent to him at <clavier @ externe.net>, so he can sync
    252   1.1.1.9   mrg // the identically named linux console map (kbd, linux-console) and his
    253   1.1.1.9   mrg // out-of-tree GPL version.
    254       1.1   mrg //
    255       1.1   mrg // Now follows the keyboard design description in French.
    256       1.1   mrg // (If you can't read it you probably have no business changing this file anyway:)
    257       1.1   mrg //
    258       1.1   mrg // Les accents circonflexes des principales voyelles sont obtenus avec
    259       1.1   mrg // la touche Alt_Gr, les trmas sont obtenus par Alt_Gr + Shift.
    260       1.1   mrg //
    261       1.1   mrg //  ____                                     _________ _____________ _______
    262       1.1   mrg // | S A| S = Shift,  A = AltGr + Shift     | Imprime | Arrt dfil | Pause |
    263       1.1   mrg // | s a| s = normal, a = AltGr             |  Exec   |             | Halte |
    264       1.1   mrg //                                         
    265       1.1   mrg //  ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ _______
    266       1.1   mrg // |  "| 1 | 2 | 3 ,| 4 '| 5 "| 6 || 7 | 8 | 9 | 0 |  | + | <--   |
    267       1.1   mrg // |  "| & '|  ~| " #| ' {| ( [| - ||  `| _ \|  ^|  @| ) ]| = }|       |
    268       1.1   mrg //  ========================================================================
    269       1.1   mrg // | |<-  | A | Z | E | R | T | Y | U | I | O | P '| " `| $ |   , |
    270       1.1   mrg // |  ->| | a | z | e | r | t | y | u | i | o | p | ^ ~|  | <-' |
    271       1.1   mrg //  ===================================================================    |
    272       1.1   mrg // |       | Q | S | D | F | G | H | J | K | L | M | % |  |    |
    273       1.1   mrg // | MAJ   | q | s | d | f | g | h | j | k | l | m |  | * |    |
    274       1.1   mrg //  ========================================================================
    275       1.1   mrg // | ^   | >  | W  | X  | C  | V  | B  | N  | ?  | .  | /  |   |     ^     |
    276       1.1   mrg // | |   | < || w | x | c | v | b | n | , | ; | : | ! |     |     |
    277       1.1   mrg //  ========================================================================
    278       1.1   mrg // |      |      |      |                       |       |      |     |      |
    279       1.1   mrg // | Ctrl | Super| Alt  | Space    Nobreakspace | AltGr | Super|Menu | Ctrl |
    280       1.1   mrg //         
    281       1.1   mrg //
    282       1.1   mrg //
    283       1.1   mrg //		Si les touches mortes fonctionnent, utiliser les accents dits
    284       1.1   mrg //		 morts , i.e. fonctionnant comme l'accent circonflexe & le
    285       1.1   mrg //		trma des machines  crire ; sont disponibles :
    286       1.1   mrg //
    287       1.1   mrg // (^) : accent circonflexe,
    288       1.1   mrg // Shift+(^) : trma,
    289   1.1.1.9   mrg // Shift+AltGr+(^) : tilde,
    290   1.1.1.9   mrg // AltGr+(1) : accent aigu,
    291   1.1.1.9   mrg // AltGr+(7) : accent grave
    292       1.1   mrg //
    293       1.1   mrg // Pour s'en servir, procder comme avec l'accent circonflexe & le trma
    294       1.1   mrg // sur les vielles machines  crire :
    295       1.1   mrg //
    296   1.1.1.9   mrg // AltGr+(1) puis e : 
    297   1.1.1.9   mrg // AltGr+(1) puis E : 
    298   1.1.1.9   mrg //
    299       1.1   mrg partial alphanumeric_keys
    300       1.1   mrg 
    301       1.1   mrg xkb_symbols "latin9" {
    302       1.1   mrg 
    303       1.1   mrg     include "latin"
    304       1.1   mrg     include "nbsp(level3)"
    305       1.1   mrg 
    306  1.1.1.13   mrg     name[Group1]="French (legacy, alt.)";
    307       1.1   mrg 
    308       1.1   mrg     key <TLDE>	{ [              oe,              OE, leftdoublequotemark, rightdoublequotemark ] };
    309       1.1   mrg     key <AE01>	{ [       ampersand,               1,          dead_acute,       periodcentered ] };
    310       1.1   mrg     key <AE02>	{ [          eacute,               2,          asciitilde,               Eacute ] };
    311       1.1   mrg     key <AE03>	{ [        quotedbl,               3,          numbersign,              cedilla ] };
    312       1.1   mrg     key <AE04>	{ [      apostrophe,               4,           braceleft,                acute ] };
    313       1.1   mrg     key <AE05>	{ [       parenleft,               5,         bracketleft,            diaeresis ] };
    314       1.1   mrg     key <AE06>	{ [           minus,               6,                 bar,            brokenbar ] };
    315       1.1   mrg     key <AE07>	{ [          egrave,               7,          dead_grave,               Egrave ] };
    316       1.1   mrg     key <AE08>	{ [      underscore,               8,           backslash,               macron ] };
    317       1.1   mrg     key <AE09>	{ [        ccedilla,               9,         asciicircum,             Ccedilla ] };
    318       1.1   mrg     key <AE10>	{ [          agrave,               0,                  at,               Agrave ] };
    319       1.1   mrg     key <AE11>	{ [      parenright,          degree,        bracketright,           ydiaeresis ] };
    320       1.1   mrg     key <AE12>	{ [           equal,            plus,          braceright,       dead_abovering ] };
    321       1.1   mrg 
    322       1.1   mrg     key <AD01>	{ [               a,               A,         acircumflex,           adiaeresis ] };
    323       1.1   mrg     key <AD02>	{ [               z,               Z,               aring,                Aring ] };
    324       1.1   mrg     key <AD03>	{ [               e,               E,            EuroSign,                 cent ] };
    325       1.1   mrg     key <AD04>	{ [               r,               R,            ccedilla,             Ccedilla ] };
    326       1.1   mrg     key <AD05>	{ [               t,               T,               thorn,                THORN ] };
    327       1.1   mrg     key <AD06>	{ [               y,               Y,              yacute,               Yacute ] };
    328       1.1   mrg     key <AD07>	{ [               u,               U,         ucircumflex,           udiaeresis ] };
    329       1.1   mrg     key <AD08>	{ [               i,               I,         icircumflex,           idiaeresis ] };
    330       1.1   mrg     key <AD09>	{ [               o,               O,         ocircumflex,           odiaeresis ] };
    331   1.1.1.9   mrg     key <AD10>	{ [               p,               P,           paragraph,                grave ] };
    332   1.1.1.9   mrg     key <AD11>	{ [ dead_circumflex,  dead_diaeresis,          dead_tilde,           apostrophe ] };
    333       1.1   mrg     key <AD12>	{ [          dollar,	    sterling,         ecircumflex,           ediaeresis ] };
    334       1.1   mrg 
    335       1.1   mrg     key <AC01>	{ [               q,               Q,         Acircumflex,           Adiaeresis ] };
    336  1.1.1.20   mrg     key <AC02>	{ [               s,               S,              oslash,               Oslash ] };
    337       1.1   mrg     key <AC03>	{ [               d,               D,         Ecircumflex,           Ediaeresis ] };
    338       1.1   mrg     key <AC04>	{ [               f,               F,           plusminus,          ordfeminine ] };
    339       1.1   mrg     key <AC05>	{ [               g,               G,                  ae,                   AE ] };
    340       1.1   mrg     key <AC06>	{ [               h,               H,                 eth,                  ETH ] };
    341       1.1   mrg     key <AC07>	{ [               j,               J,         Ucircumflex,           Udiaeresis ] };
    342       1.1   mrg     key <AC08>	{ [               k,               K,         Icircumflex,           Idiaeresis ] };
    343       1.1   mrg     key <AC09>	{ [               l,               L,         Ocircumflex,           Odiaeresis ] };
    344       1.1   mrg     key <AC10>	{ [               m,               M,         onesuperior,            masculine ] };
    345       1.1   mrg     key <AC11>	{ [          ugrave,         percent,         twosuperior,               Ugrave ] };
    346       1.1   mrg     key <BKSL>  { [        asterisk,              mu,       threesuperior,                  yen ] };
    347       1.1   mrg 
    348       1.1   mrg     key <LSGT>	{ [            less,         greater,                 bar                       ] };
    349       1.1   mrg     key <AB01>	{ [               w,               W,       guillemotleft	        	] };
    350       1.1   mrg     key <AB02>	{ [               x,               X,      guillemotright                       ] };
    351       1.1   mrg     key <AB03>	{ [               c,               C,           copyright                       ] };
    352       1.1   mrg     key <AB04>	{ [               v,               V,          registered		        ] };
    353  1.1.1.15   mrg     key <AB05>	{ [               b,               B,              ssharp,                U1E9E ] };
    354       1.1   mrg     key <AB06>	{ [               n,               N,             notsign                       ] };
    355       1.1   mrg     key <AB07>	{ [           comma,        question,        questiondown                       ] };
    356       1.1   mrg     key <AB08>	{ [       semicolon,          period,            multiply		        ] };
    357       1.1   mrg     key <AB09>	{ [           colon,           slash,            division                       ] };
    358       1.1   mrg     key <AB10>	{ [          exclam,         section,          exclamdown                       ] };
    359       1.1   mrg 
    360       1.1   mrg     // French uses a comma as decimal separator, but keyboards are labeled with a period
    361       1.1   mrg     // Will take effect when KP_Decimal is mapped to the locale decimal separator
    362   1.1.1.3  ghen     key <KPDL>  { [       KP_Delete,      KP_Decimal,           KP_Delete,           KP_Decimal ] };
    363       1.1   mrg 
    364       1.1   mrg     include "level3(ralt_switch)"
    365       1.1   mrg };
    366       1.1   mrg 
    367       1.1   mrg partial alphanumeric_keys
    368       1.1   mrg xkb_symbols "latin9_nodeadkeys" {
    369       1.1   mrg 
    370       1.1   mrg     // Modifies the basic fr-latin9 layout to eliminate all dead keys
    371       1.1   mrg 
    372       1.1   mrg     include "fr(latin9)"
    373       1.1   mrg 
    374  1.1.1.13   mrg     name[Group1]="French (legacy, alt., no dead keys)";
    375       1.1   mrg 
    376       1.1   mrg     key <AE01>	{ [       ampersand,               1,          apostrophe,       periodcentered ] };
    377       1.1   mrg     key <AE07>	{ [          egrave,               7,               grave,               Egrave ] };
    378       1.1   mrg     key <AE12>	{ [           equal,            plus,          braceright         	        ] };
    379   1.1.1.9   mrg     key <AD11>	{ [	asciicircum,  	   diaeresis,          asciitilde,           apostrophe ] };
    380       1.1   mrg };
    381       1.1   mrg 
    382       1.1   mrg // Bpo:Improved ergonomic french keymap using Dvorak method.
    383   1.1.1.3  ghen // Built by community on 'Dvorak Fr / Bpo':
    384   1.1.1.3  ghen // see http://www.clavier-dvorak.org/wiki/ to join and help.
    385   1.1.1.3  ghen // XOrg integration (1.0rc2 version) in 2008
    386   1.1.1.3  ghen // by Frdric Boiteux <fboiteux at free dot fr>
    387       1.1   mrg //
    388   1.1.1.3  ghen // Bpo layout (1.0rc2 version) for a pc105 keyboard (french):
    389   1.1.1.9   mrg // 
    390   1.1.1.9   mrg //  S A    S = Shift,  A = AltGr + Shift
    391   1.1.1.9   mrg //  s a    s = normal, a = AltGr
    392   1.1.1.9   mrg // 
    393       1.1   mrg //
    394       1.1   mrg // 
    395   1.1.1.3  ghen //  #   1   2   3   4   5   6    7   8   9   0      `    Retour
    396   1.1.1.3  ghen //  $   "    <   >  ( [  ) ]  @ ^  +   -   /   *   =   %    arrire
    397       1.1   mrg // 
    398   1.1.1.3  ghen //         B      P   O    `  !    V    D   L    J   Z   W   Entre 
    399   1.1.1.9   mrg // Tab    b |     p &  o    `     v   d   l /  j   z   w         
    400       1.1   mrg //       
    401   1.1.1.9   mrg //          A   U   I   E   ;    C   T   S   R   N    M    ,       
    402   1.1.1.9   mrg // Maj     a   u   i    e   ,   c   t   s   r   n   m           
    403       1.1   mrg // 
    404   1.1.1.9   mrg //                 Y   X   :   K    ?    Q    G    H   F               
    405   1.1.1.3  ghen // Shift   /   \  y {  x }  .   k ~  '   q   g   h   f  Shift       
    406       1.1   mrg // 
    407   1.1.1.3  ghen //                       Espace insc.   Espace insc. fin                      
    408   1.1.1.3  ghen // Ctrl   Meta   Alt      (Espace)      _                AltGr Menu   Ctrl   
    409       1.1   mrg // 
    410       1.1   mrg partial alphanumeric_keys
    411       1.1   mrg xkb_symbols "bepo" {
    412       1.1   mrg 
    413   1.1.1.3  ghen     include "level3(ralt_switch)"
    414       1.1   mrg     include "keypad(oss)"
    415       1.1   mrg 
    416  1.1.1.17   mrg     name[Group1]= "French (BEPO)";
    417       1.1   mrg 
    418       1.1   mrg     // First row
    419   1.1.1.3  ghen     key <TLDE> { [          dollar,   numbersign,        endash,       paragraph ] }; // $ #  
    420   1.1.1.3  ghen     key <AE01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [        quotedbl,            1,         emdash, doublelowquotemark ] }; // " 1  
    421   1.1.1.3  ghen     key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [   guillemotleft,            2,           less,  leftdoublequotemark ] }; //  2 < 
    422   1.1.1.3  ghen     key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [  guillemotright,            3,        greater, rightdoublequotemark ] }; //  3 > 
    423   1.1.1.3  ghen     key <AE04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [       parenleft,            4,    bracketleft,      lessthanequal ] }; // ( 4 [ 
    424   1.1.1.3  ghen     key <AE05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [      parenright,            5,   bracketright,   greaterthanequal ] }; // ) 5 ] 
    425   1.1.1.3  ghen     key <AE06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [              at,            6,    asciicircum                 ] }; // @ 6 ^
    426   1.1.1.3  ghen     key <AE07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [            plus,            7,      plusminus,        notsign ] }; // + 7  
    427   1.1.1.3  ghen     key <AE08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [           minus,            8,          U2212,     onequarter ] }; // - 8  
    428   1.1.1.3  ghen     key <AE09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [           slash,            9,       division,        onehalf ] }; // / 9  
    429   1.1.1.3  ghen     key <AE10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [        asterisk,            0,       multiply,  threequarters ] }; // * 0  
    430   1.1.1.3  ghen     key <AE11> { [           equal,       degree,       notequal,        minutes ] }; // =   
    431  1.1.1.14   mrg     key <AE12> { [         percent,        grave,       permille,        seconds ] }; // % `  
    432       1.1   mrg 
    433       1.1   mrg     // Second row
    434   1.1.1.3  ghen     key <AD01> { [               b,            B,            bar,      brokenbar ] }; // b B | 
    435   1.1.1.3  ghen     key <AD02> { [          eacute,       Eacute,     dead_acute, dead_doubleacute ] }; //    
    436   1.1.1.3  ghen     key <AD03> { [               p,            P,      ampersand,        section ] }; // p P & 
    437       1.1   mrg     key <AD04> { [               o,            O,             oe,             OE ] }; // o O  
    438   1.1.1.3  ghen     key <AD05> { [          egrave,       Egrave,     dead_grave,          grave ] }; //   ` `
    439   1.1.1.3  ghen     key <AD06> { [ dead_circumflex,       exclam,     exclamdown                 ] }; // ^ ! 
    440   1.1.1.3  ghen     key <AD07> { [               v,            V,     dead_caron                 ] }; // v V 
    441       1.1   mrg     key <AD08> { [               d,            D,            eth,            ETH ] }; // d D  
    442   1.1.1.3  ghen     key <AD09> { [               l,            L,    dead_stroke                 ] }; // l L /
    443   1.1.1.3  ghen     key <AD10> { [               j,            J,          U0133,          U0132 ] }; // j J  
    444   1.1.1.3  ghen     key <AD11> { [               z,            Z,          schwa,          SCHWA ] }; // z Z  
    445   1.1.1.3  ghen     key <AD12> { [               w,            W,     dead_breve                 ] }; // w W 
    446       1.1   mrg 
    447       1.1   mrg     // Third row
    448       1.1   mrg     key <AC01> { [               a,            A,             ae,             AE ] }; // a A  
    449       1.1   mrg     key <AC02> { [               u,            U,         ugrave,         Ugrave ] }; // u U  
    450   1.1.1.3  ghen     key <AC03> { [               i,            I, dead_diaeresis,  dead_abovedot ] }; // i I  
    451   1.1.1.3  ghen     key <AC04> { [               e,            E,       EuroSign,  dead_currency ] }; // e E  
    452   1.1.1.3  ghen     key <AC05> { [           comma,    semicolon, rightsinglequotemark, dead_horn ] }; // , ;  
    453   1.1.1.3  ghen     key <AC06> { [               c,            C,      copyright,          U017F ] }; // c C  
    454   1.1.1.3  ghen     key <AC07> { [               t,            T,          thorn,          THORN ] }; // t T  
    455   1.1.1.3  ghen     key <AC08> { [               s,            S,         ssharp,          U1E9E ] }; // s S  
    456   1.1.1.3  ghen     key <AC09> { [               r,            R,     registered,      trademark ] }; // r R  
    457   1.1.1.3  ghen     key <AC10> { [               n,            N,     dead_tilde                 ] }; // n N ~
    458   1.1.1.3  ghen     key <AC11> { [               m,            M,    dead_macron,      masculine ] }; // m M  
    459   1.1.1.3  ghen     key <BKSL> { [        ccedilla,     Ccedilla,   dead_cedilla, dead_belowcomma ] }; //    ,
    460       1.1   mrg 
    461       1.1   mrg     // Fourth row
    462   1.1.1.3  ghen     key <LSGT> { [     ecircumflex,  Ecircumflex,          slash                 ] }; //   /
    463   1.1.1.3  ghen     key <AB01> { [          agrave,       Agrave,      backslash                 ] }; //   \
    464   1.1.1.3  ghen     key <AB02> { [               y,            Y,      braceleft, leftsinglequotemark  ] }; // y Y { 
    465   1.1.1.3  ghen     key <AB03> { [               x,            X,     braceright, rightsinglequotemark ] }; // x X } 
    466   1.1.1.3  ghen     key <AB04> { [          period,        colon,       ellipsis, periodcentered ] }; // . :  
    467   1.1.1.3  ghen     key <AB05> { [               k,            K,     asciitilde                 ] }; // k K ~
    468   1.1.1.3  ghen     key <AB06> { [      apostrophe,     question,   questiondown,      dead_hook ] }; // ' ?  
    469   1.1.1.3  ghen     key <AB07> { [               q,            Q, dead_abovering,  dead_belowdot ] }; // q Q  
    470   1.1.1.8   mrg     key <AB08> { [               g,            G,     dead_greek                 ] }; // g G 
    471   1.1.1.3  ghen     key <AB09> { [               h,            H,         dagger,   doubledagger ] }; // h H  
    472   1.1.1.3  ghen     key <AB10> { [               f,            F,    dead_ogonek,    ordfeminine ] }; // f F  
    473       1.1   mrg 
    474   1.1.1.3  ghen     key <SPCE> { [           space, nobreakspace,     underscore,          U202F ] }; //  (espace inscable) _ (espace inscable fin)
    475       1.1   mrg };
    476       1.1   mrg 
    477       1.1   mrg partial alphanumeric_keys
    478       1.1   mrg xkb_symbols "bepo_latin9" {
    479       1.1   mrg 
    480       1.1   mrg     // Restricts the fr(bepo) layout to latin9 symbols
    481       1.1   mrg 
    482       1.1   mrg     include "fr(bepo)"
    483   1.1.1.3  ghen     include "keypad(oss_latin9)"
    484       1.1   mrg 
    485  1.1.1.17   mrg     name[Group1]="French (BEPO, Latin-9 only)";
    486       1.1   mrg 
    487   1.1.1.3  ghen     key <TLDE> { [          dollar,   numbersign,        dollar,       paragraph ] }; // $ # $ 
    488   1.1.1.3  ghen 
    489   1.1.1.3  ghen     key <AE01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [        quotedbl,            1                                 ] }; // " 1
    490   1.1.1.3  ghen     key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [   guillemotleft,            2,           less                 ] }; //  2 <
    491   1.1.1.3  ghen     key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [  guillemotright,            3,        greater                 ] }; //  3 >
    492   1.1.1.3  ghen     key <AE04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [       parenleft,            4,    bracketleft                 ] }; // ( 4 [
    493   1.1.1.3  ghen     key <AE05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [      parenright,            5,   bracketright                 ] }; // ) 5 ]
    494   1.1.1.3  ghen     key <AE08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [           minus,            8,          minus,     onequarter ] }; // - 8 - 
    495   1.1.1.3  ghen     key <AE11> { [           equal,       degree                                 ] }; // = 
    496   1.1.1.3  ghen     key <AE12> { [         percent,        grave                                 ] }; // % `
    497   1.1.1.3  ghen 
    498   1.1.1.3  ghen     key <AD01> { [               b,            B,            bar                 ] }; // b B |
    499   1.1.1.3  ghen     key <AD02> { [          eacute,       Eacute,     dead_acute                 ] }; //   
    500   1.1.1.3  ghen     key <AD10> { [               j,            J                                 ] }; // j J
    501   1.1.1.3  ghen     key <AD11> { [               z,            Z                                 ] }; // z Z
    502   1.1.1.3  ghen     key <AD12> { [               w,            W                                 ] }; // w W
    503   1.1.1.3  ghen 
    504   1.1.1.3  ghen     key <AC03> { [               i,            I, dead_diaeresis                 ] }; // i I 
    505   1.1.1.3  ghen     key <AC05> { [           comma,    semicolon,          comma,      dead_horn ] }; // , ; , 
    506   1.1.1.3  ghen     key <AC06> { [               c,            C,      copyright                 ] }; // c C 
    507  1.1.1.15   mrg     key <AC08> { [               s,            S,         ssharp,          U1E9E ] }; // s S  
    508   1.1.1.3  ghen     key <AC09> { [               r,            R,     registered                 ] }; // r R 
    509   1.1.1.3  ghen     key <AC11> { [               m,            M,         macron,      masculine ] }; // m M  
    510   1.1.1.3  ghen 
    511   1.1.1.3  ghen     key <AB02> { [               y,            Y,      braceleft                 ] }; // y Y {
    512   1.1.1.3  ghen     key <AB03> { [               x,            X,     braceright                 ] }; // x X }
    513   1.1.1.3  ghen     key <AB04> { [          period,        colon                                 ] }; // . :
    514   1.1.1.3  ghen     key <AB09> { [               h,            H                                 ] }; // h H
    515   1.1.1.3  ghen     key <AB10> { [               f,            F,              f,    ordfeminine ] }; // f F   
    516   1.1.1.3  ghen 
    517   1.1.1.3  ghen     // Note: on a besoin de redfinir les niveaux 3 et 4,
    518   1.1.1.3  ghen     // donc nbsp(level2) ne suffit pas!
    519   1.1.1.3  ghen     key <SPCE> { [           space,  nobreakspace,    underscore,   nobreakspace ] }; //  (espace inscable) _ (espace inscable)
    520       1.1   mrg };
    521       1.1   mrg 
    522  1.1.1.16   mrg // Version 1.1rc2 of the Bpo keyboard layout, 
    523  1.1.1.16   mrg // normalized by the AFNOR NF Z71300 norm.
    524  1.1.1.16   mrg // 
    525  1.1.1.16   mrg // Layout: https://bepo.fr/wiki/Version_1.1rc2
    526  1.1.1.16   mrg // Normalization: https://normalisation.afnor.org/actualites/faq-clavier-francais/
    527  1.1.1.16   mrg // 
    528  1.1.1.16   mrg // 
    529  1.1.1.16   mrg //  #  1  2  3  4  5  6   7  8  9  0    `          
    530  1.1.1.16   mrg //  $  "   <  > ( [ ) ] @ ^ +  -  /  *  =  %  <--     
    531  1.1.1.16   mrg // 
    532  1.1.1.16   mrg //   |<-   B _    P  O   ` !   V   D   L  J   Z   W     |  
    533  1.1.1.16   mrg //   ->|   b |   p & o   `   v  d  l / j   z  w   <-'  
    534  1.1.1.16   mrg //      
    535  1.1.1.16   mrg //          A  U  I  E  ; , C  T  S  R  N   M         
    536  1.1.1.16   mrg //   CAPS   a  u  i  e  , ' c  t  s  r  n ~ m         
    537  1.1.1.16   mrg // 
    538  1.1.1.16   mrg //    ^    ^   Y  X  :  K  ?   Q  G  H  F       ^      
    539  1.1.1.16   mrg //    |    /  \ y { x } .  k ~   q  g  h   f      |      
    540  1.1.1.16   mrg // 
    541  1.1.1.16   mrg //                    Fine inscable  Inscable                       
    542  1.1.1.16   mrg //  Ctrl   WinG  Alt  Espace                  _ AltGr WinD WinM  Ctrl 
    543  1.1.1.16   mrg // 
    544  1.1.1.16   mrg partial alphanumeric_keys
    545  1.1.1.16   mrg xkb_symbols "bepo_afnor" {
    546  1.1.1.16   mrg 
    547  1.1.1.17   mrg 	name[Group1]= "French (BEPO, AFNOR)";
    548  1.1.1.16   mrg 
    549  1.1.1.16   mrg 	include "pc(pc105)"
    550  1.1.1.16   mrg 
    551  1.1.1.16   mrg 	key <TLDE> { type[group1] = "FOUR_LEVEL", [ dollar, numbersign, endash, paragraph ] }; // $ #  
    552  1.1.1.16   mrg 	key <AE01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ quotedbl, 1, emdash, doublelowquotemark ] }; // " 1  
    553  1.1.1.16   mrg 	key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotleft, 2, less, leftdoublequotemark ] }; //  2 < 
    554  1.1.1.16   mrg 	key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotright, 3, greater, rightdoublequotemark ] }; //  3 > 
    555  1.1.1.16   mrg 	key <AE04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenleft, 4, bracketleft, U2A7D ] }; // ( 4 [ 
    556  1.1.1.16   mrg 	key <AE05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenright, 5, bracketright, U2A7E ] }; // ) 5 ] 
    557  1.1.1.16   mrg 	key <AE06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ at, 6, asciicircum, U262D ] }; // @ 6 ^ 
    558  1.1.1.16   mrg 	key <AE07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ plus, 7, plusminus, notsign ] }; // + 7  
    559  1.1.1.16   mrg 	key <AE08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ minus, 8, U2212, onequarter ] }; // - 8  
    560  1.1.1.16   mrg 	key <AE09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ slash, 9, division, onehalf ] }; // / 9  
    561  1.1.1.16   mrg 	key <AE10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ asterisk, 0, multiply, threequarters ] }; // * 0  
    562  1.1.1.16   mrg 	key <AE11> { type[group1] = "FOUR_LEVEL", [ equal, degree, notequal, minutes ] }; // =   
    563  1.1.1.16   mrg 	key <AE12> { type[group1] = "FOUR_LEVEL", [ percent, grave, U2030, seconds ] }; // % `  
    564  1.1.1.16   mrg 
    565  1.1.1.16   mrg 	key <AD01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ b, B, bar, underscore ] }; // b B | _
    566  1.1.1.16   mrg 	key <AD02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ eacute, Eacute, dead_acute, heart ] }; //    
    567  1.1.1.16   mrg 	key <AD03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ p, P, ampersand, section ] }; // p P & 
    568  1.1.1.16   mrg 	key <AD04> { type[group1] = "FOUR_LEVEL_ALPHABETIC", [ o, O, oe, OE ] }; // o O  
    569  1.1.1.16   mrg 	key <AD05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ egrave, Egrave, dead_grave, grave ] }; //   ` `
    570  1.1.1.16   mrg 	key <AD06> { type[group1] = "FOUR_LEVEL", [ dead_circumflex, exclam, exclamdown, U2620 ] }; // ^ !  
    571  1.1.1.16   mrg 	key <AD07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ v, V, dead_caron, U2622 ] }; // v V  
    572  1.1.1.16   mrg 	key <AD08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ d, D, UFDD7, U2623 ] }; // d D  
    573  1.1.1.16   mrg 	key <AD09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ l, L, dead_stroke, sterling ] }; // l L / 
    574  1.1.1.16   mrg 	key <AD10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ j, J, U262E, U262F ] }; // j J  
    575  1.1.1.16   mrg 	key <AD11> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ z, Z, UFDD8, U2619 ] }; // z Z  
    576  1.1.1.16   mrg 	key <AD12> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ w, W, U269C, U267F ] }; // w W  
    577  1.1.1.16   mrg 
    578  1.1.1.16   mrg 	key <AC01> { type[group1] = "FOUR_LEVEL_ALPHABETIC", [ a, A, ae, AE ] }; // a A  
    579  1.1.1.16   mrg 	key <AC02> { type[group1] = "FOUR_LEVEL_ALPHABETIC", [ u, U, ugrave, Ugrave ] }; // u U  
    580  1.1.1.16   mrg 	key <AC03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ i, I, dead_diaeresis, dead_abovedot ] }; // i I  
    581  1.1.1.16   mrg 	key <AC04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ e, E, EuroSign, dead_currency ] }; // e E  
    582  1.1.1.16   mrg 	key <AC05> { type[group1] = "FOUR_LEVEL", [ comma, semicolon, apostrophe, dead_belowcomma ] }; // , ; ' ,
    583  1.1.1.16   mrg 	key <AC06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ c, C, dead_cedilla, copyright ] }; // c C  
    584  1.1.1.16   mrg 	key <AC07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ t, T, UFDD5, trademark ] }; // t T  
    585  1.1.1.16   mrg 	key <AC08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ s, S, UFDD4, U017F ] }; // s S  
    586  1.1.1.16   mrg 	key <AC09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ r, R, dead_breve, registered ] }; // r R  
    587  1.1.1.16   mrg 	key <AC10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ n, N, dead_tilde, U2693 ] }; // n N ~ 
    588  1.1.1.16   mrg 	key <AC11> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ m, M, dead_macron, U26FD ] }; // m M  
    589  1.1.1.16   mrg 	key <BKSL> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ ccedilla, Ccedilla, U2708, U1F12F ] }; //    
    590  1.1.1.16   mrg 
    591  1.1.1.16   mrg 	key <LSGT> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ ecircumflex, Ecircumflex, slash, asciicircum ] }; //   / ^
    592  1.1.1.16   mrg 	key <AB01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ agrave, Agrave, backslash, singlelowquotemark ] }; //   \ 
    593  1.1.1.16   mrg 	key <AB02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ y, Y, braceleft, leftsinglequotemark ] }; // y Y { 
    594  1.1.1.16   mrg 	key <AB03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ x, X, braceright, rightsinglequotemark ] }; // x X } 
    595  1.1.1.16   mrg 	key <AB04> { type[group1] = "FOUR_LEVEL", [ period, colon, ellipsis, periodcentered ] }; // . :  
    596  1.1.1.16   mrg 	key <AB05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ k, K, asciitilde, U2011 ] }; // k K ~ 
    597  1.1.1.16   mrg 	key <AB06> { type[group1] = "FOUR_LEVEL", [ rightsinglequotemark, question, questiondown, dead_hook ] }; //  ?  
    598  1.1.1.16   mrg 	key <AB07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ q, Q, dead_abovering, dead_horn ] }; // q Q  
    599  1.1.1.16   mrg 	key <AB08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ g, G, dead_greek, dagger ] }; // g G  
    600  1.1.1.16   mrg 	key <AB09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ h, H, dead_belowdot, doubledagger ] }; // h H  
    601  1.1.1.16   mrg 	key <AB10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ f, F, dead_ogonek, U26C4 ] }; // f F  
    602  1.1.1.16   mrg 	key <SPCE> { type[group1] = "FOUR_LEVEL", [ space, U202F, underscore, nobreakspace ] }; //    _  
    603  1.1.1.16   mrg 
    604  1.1.1.16   mrg 
    605  1.1.1.16   mrg 	include "level3(ralt_switch)"
    606  1.1.1.16   mrg };
    607  1.1.1.16   mrg 
    608   1.1.1.2   mrg // Author   : Francis Leboutte, http://www.algo.be/ergo/dvorak-fr.html
    609   1.1.1.2   mrg //            thanks to Fabien Cazenave for his help
    610   1.1.1.7   mrg // Licence  : X11
    611   1.1.1.2   mrg // Version  : 0.3
    612   1.1.1.2   mrg 
    613   1.1.1.2   mrg // Base layer + dead AltGr key (`):
    614   1.1.1.2   mrg // 
    615   1.1.1.2   mrg //  *    1    2    3    4    5    6    7    8    9    0    +    %             
    616   1.1.1.2   mrg //  _    =    /   -      \   ^    (    ` `  )    "    [    ]            
    617   1.1.1.2   mrg // 
    618   1.1.1.2   mrg //          ?   <    >    G    !    H    V    C   M    K    Z    &          
    619   1.1.1.2   mrg //         :   ' $     g   .   h    v    c   m   k    z              
    620   1.1.1.2   mrg //      
    621   1.1.1.2   mrg //           O   A   U   E   B    F    S    T    N    D    W    #         
    622   1.1.1.2   mrg //          o   a   u   e   b    f    s   t    n   d    w    ~         
    623   1.1.1.2   mrg // 
    624   1.1.1.2   mrg //           |   Q    @    I   Y    X    R    L    P    J                  
    625   1.1.1.2   mrg //          ;   q {  , }  i   y   x    r   l    p   j                 
    626   1.1.1.2   mrg // 
    627   1.1.1.2   mrg //                                                                                
    628   1.1.1.2   mrg //  ctrl   super  alt     Espace    Espace inscable   alt    super  menu   ctrl  
    629   1.1.1.2   mrg // 
    630   1.1.1.2   mrg 
    631   1.1.1.2   mrg // Notice the specific Caps_Lock layer:
    632   1.1.1.2   mrg // 
    633   1.1.1.2   mrg //  *    1    2    3    4    5    6    7    8    9    0    +    %             
    634   1.1.1.2   mrg //                                                                           
    635   1.1.1.2   mrg // 
    636   1.1.1.2   mrg //               <    >                                                       
    637   1.1.1.2   mrg //                                                                           
    638   1.1.1.2   mrg //      
    639   1.1.1.2   mrg //                                                                            
    640   1.1.1.2   mrg //                                                                           
    641   1.1.1.2   mrg // 
    642   1.1.1.2   mrg //        /    -                                                               
    643   1.1.1.2   mrg //                                                                           
    644   1.1.1.2   mrg // 
    645   1.1.1.2   mrg //                                                                                
    646   1.1.1.2   mrg //  ctrl   super  alt     Espace    Espace inscable   alt    super  menu   ctrl  
    647   1.1.1.2   mrg // 
    648       1.1   mrg 
    649   1.1.1.2   mrg partial alphanumeric_keys modifier_keys
    650       1.1   mrg xkb_symbols "dvorak" {
    651   1.1.1.7   mrg   name[Group1]="French (Dvorak)";
    652       1.1   mrg 
    653   1.1.1.2   mrg   // First row
    654   1.1.1.2   mrg   key <TLDE> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [       underscore,   asterisk                  ] };
    655   1.1.1.2   mrg   key <AE01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [            equal,          1                  ] };
    656   1.1.1.2   mrg   key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [            slash,          2,       plusminus ] };
    657   1.1.1.2   mrg   key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [            minus,          3,      onequarter ] };
    658   1.1.1.2   mrg   key <AE04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [           egrave,          4,         onehalf ] };
    659   1.1.1.2   mrg   key <AE05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [        backslash,          5,   threequarters ] };
    660   1.1.1.2   mrg   key <AE06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [  dead_circumflex,          6                  ] };
    661   1.1.1.2   mrg   key <AE07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [        parenleft,          7                  ] };
    662   1.1.1.2   mrg   key <AE08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ ISO_Level3_Latch,          8,           grave ] };
    663   1.1.1.2   mrg   key <AE09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [       parenright,          9                  ] };
    664   1.1.1.2   mrg   key <AE10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [         quotedbl,          0                  ] };
    665   1.1.1.2   mrg   key <AE11> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [      bracketleft,       plus                  ] };
    666   1.1.1.2   mrg   key <AE12> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [     bracketright,    percent                  ] };
    667   1.1.1.2   mrg 
    668   1.1.1.2   mrg   // Second row
    669   1.1.1.2   mrg   key <AD01> { [            colon,         question,              ae,               AE ] };
    670   1.1.1.2   mrg   key <AD02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [       apostrophe,       less,          dollar ] };
    671   1.1.1.2   mrg   key <AD03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [           eacute,    greater,          Eacute ] };
    672   1.1.1.2   mrg   key <AD04> { [                g,                G,        EuroSign                   ] };
    673   1.1.1.2   mrg   key <AD05> { [           period,           exclam,          degree                   ] };
    674   1.1.1.2   mrg   key <AD06> { [                h,                H                                    ] };
    675   1.1.1.2   mrg   key <AD07> { [                v,                V                                    ] };
    676   1.1.1.2   mrg   key <AD08> { [                c,                C,        ccedilla,         Ccedilla ] };
    677   1.1.1.2   mrg   key <AD09> { [                m,                M,              mu                   ] };
    678   1.1.1.2   mrg   key <AD10> { [                k,                K                                    ] };
    679   1.1.1.2   mrg   key <AD11> { [                z,                Z                                    ] };
    680   1.1.1.2   mrg   key <AD12> { [   dead_diaeresis,        ampersand                                    ] };
    681   1.1.1.2   mrg 
    682   1.1.1.2   mrg   // Third row
    683   1.1.1.2   mrg   key <AC01> { [                o,                O,          ograve,           Ograve ] };
    684   1.1.1.2   mrg   key <AC02> { [                a,                A,          agrave,           Agrave ] };
    685   1.1.1.2   mrg   key <AC03> { [                u,                U,          ugrave,           Ugrave ] };
    686   1.1.1.2   mrg   key <AC04> { [                e,                E,          egrave,           Egrave ] };
    687   1.1.1.2   mrg   key <AC05> { [                b,                B                                    ] };
    688   1.1.1.2   mrg   key <AC06> { [                f,                F                                    ] };
    689   1.1.1.2   mrg   key <AC07> { [                s,                S,   guillemotleft                   ] };
    690   1.1.1.2   mrg   key <AC08> { [                t,                T                                    ] };
    691   1.1.1.2   mrg   key <AC09> { [                n,                N,  guillemotright                   ] };
    692   1.1.1.2   mrg   key <AC10> { [                d,                D                                    ] };
    693   1.1.1.2   mrg   key <AC11> { [                w,                W                                    ] };
    694   1.1.1.2   mrg   key <BKSL> { [       asciitilde,       numbersign                                    ] };
    695   1.1.1.2   mrg 
    696   1.1.1.2   mrg   // Fourth row
    697   1.1.1.2   mrg   key <LSGT> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [       agrave, ccedilla,  Agrave, Ccedilla,   slash ] };
    698   1.1.1.2   mrg   key <AB01> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [    semicolon,      bar,      oe,       OE,   minus ] };
    699   1.1.1.2   mrg   key <AB02> { [                q,                Q,       braceleft                   ] };
    700   1.1.1.2   mrg   key <AB03> { [            comma,               at,      braceright                   ] };
    701   1.1.1.2   mrg   key <AB04> { [                i,                I,          igrave,           Igrave ] };
    702   1.1.1.2   mrg   key <AB05> { [                y,                Y,        sterling                   ] };
    703   1.1.1.2   mrg   key <AB06> { [                x,                X                                    ] };
    704   1.1.1.2   mrg   key <AB07> { [                r,                R,       masculine                   ] };
    705   1.1.1.2   mrg   key <AB08> { [                l,                L                                    ] };
    706   1.1.1.2   mrg   key <AB09> { [                p,                P,         section                   ] };
    707   1.1.1.2   mrg   key <AB10> { [                j,                J                                    ] };
    708       1.1   mrg 
    709   1.1.1.2   mrg   key <SPCE> { [            space,            space,    nobreakspace,     nobreakspace ] };
    710       1.1   mrg };
    711       1.1   mrg 
    712   1.1.1.3  ghen // C'WHERTY:Breton keyboard. Ar c'hlavier brezhoneg.
    713   1.1.1.3  ghen // Copyright  2009 Dominique Pell <dominique.pelle (a] gmail.com>
    714   1.1.1.3  ghen // Version: 0.1
    715   1.1.1.3  ghen //
    716   1.1.1.9   mrg // 
    717   1.1.1.9   mrg //  S A    S = Reol = Shift,  A = ArErl + Pennlizherenn = AltGr + Shift
    718   1.1.1.9   mrg //  s a    s = normal,        a = ArErl = AltGr
    719   1.1.1.9   mrg // 
    720   1.1.1.3  ghen //
    721   1.1.1.3  ghen // 
    722   1.1.1.3  ghen //  $   1   2   3   4   5   6   7   8   9   0      +    Souza
    723   1.1.1.3  ghen //     &      " #  ' {  ( [  - |   `  - \      @  ) ]  = }          
    724   1.1.1.3  ghen // 
    725   1.1.1.3  ghen // Toalenn C'h  W   E   R   T   Y   U   I   O OE P      *  Enanka
    726   1.1.1.3  ghen //        c'h  w    e   r    t    y    u    i   o oe p    ^   /        
    727   1.1.1.3  ghen //       
    728   1.1.1.3  ghen // Prenn    A   S   D   F   G   H   J   K   L   M      !        
    729   1.1.1.3  ghen // Pennli  a   s    d $  f    g    h    j    k    l    m       ?        
    730   1.1.1.3  ghen // 
    731   1.1.1.3  ghen //         Q   Z   X   C   V    B   N   CH       :   ;                
    732   1.1.1.3  ghen // Shift  q <  z >  x    c   v    b    n    ch       .    ,   Shift       
    733   1.1.1.3  ghen // 
    734   1.1.1.3  ghen //                        Espace inscable                                    
    735   1.1.1.3  ghen // Reol   Meta   Erl      Espace                         ArErl Menu   Reol   
    736   1.1.1.3  ghen // 
    737   1.1.1.3  ghen partial alphanumeric_keys
    738   1.1.1.3  ghen xkb_symbols "bre" {
    739   1.1.1.3  ghen 
    740   1.1.1.3  ghen     include "keypad(oss)"
    741   1.1.1.3  ghen 
    742  1.1.1.20   mrg     name[Group1]= "Breton (France)";
    743   1.1.1.3  ghen 
    744   1.1.1.3  ghen     // First row
    745   1.1.1.3  ghen     key <TLDE> { [     twosuperior,     dead_tilde,   dead_abovedot,    Greek_GAMMA ] };
    746   1.1.1.3  ghen     key <AE01> { [       ampersand,              1,     dead_macron,    Greek_DELTA ] };
    747   1.1.1.3  ghen     key <AE02> { [          eacute,              2,      dead_acute,    Greek_THETA ] };
    748   1.1.1.3  ghen     key <AE03> { [        quotedbl,              3,      numbersign,    Greek_LAMDA ] };
    749   1.1.1.3  ghen     key <AE04> { [      apostrophe,              4,       braceleft,       Greek_XI ] };
    750   1.1.1.3  ghen     key <AE05> { [       parenleft,              5,     bracketleft,       Greek_PI ] };
    751   1.1.1.3  ghen     key <AE06> { [           minus,              6,             bar,    Greek_SIGMA ] };
    752   1.1.1.3  ghen     key <AE07> { [          egrave,              7,      dead_grave,      Greek_PHI ] };
    753   1.1.1.3  ghen     key <AE08> { [      underscore,              8,       backslash,      Greek_PSI ] };
    754   1.1.1.3  ghen     key <AE09> { [        ccedilla,              9,       plusminus,       Ccedilla ] };
    755   1.1.1.3  ghen     key <AE10> { [          agrave,              0,              at,    Greek_OMEGA ] };
    756   1.1.1.3  ghen     key <AE11> { [      parenright, dead_abovering,    bracketright,         ssharp ] };
    757   1.1.1.3  ghen     key <AE12> { [           equal,           plus,      braceright,        notsign ] };
    758   1.1.1.3  ghen 
    759   1.1.1.3  ghen     // Second row
    760   1.1.1.3  ghen     // Handling the C'H key correctly requires an inputmethod (XIM)
    761   1.1.1.3  ghen     // See https://bugs.freedesktop.org/show_bug.cgi?id=19506
    762   1.1.1.3  ghen  // key <AD01> { [    trigraph_c_h,   trigraph_C_h,    trigraph_C_H,    Greek_alpha ] };
    763   1.1.1.3  ghen     key <AD01> { [           UF8FD,          UF8FE,           UF8FF,    Greek_alpha ] };
    764   1.1.1.3  ghen     key <AD02> { [               w,              W,     Greek_omega,    Greek_omega ] };
    765   1.1.1.3  ghen     key <AD03> { [               e,              E,        EuroSign,  Greek_epsilon ] };
    766   1.1.1.3  ghen     key <AD04> { [               r,              R,       Greek_rho,      Greek_rho ] };
    767   1.1.1.3  ghen     key <AD05> { [               t,              T,       Greek_tau,      Greek_tau ] };
    768   1.1.1.3  ghen     key <AD06> { [               y,              Y,       Greek_psi,      Greek_psi ] };
    769   1.1.1.3  ghen     key <AD07> { [               u,              U,   Greek_upsilon,  Greek_upsilon ] };
    770   1.1.1.3  ghen     key <AD08> { [               i,              I,        idotless,     Greek_iota ] };
    771   1.1.1.3  ghen     key <AD09> { [               o,              O,              oe,             OE ] };
    772   1.1.1.3  ghen     key <AD10> { [               p,              P,        Greek_pi,       Greek_pi ] };
    773   1.1.1.3  ghen     key <AD11> { [ dead_circumflex, dead_diaeresis,   guillemotleft,            yen ] };
    774   1.1.1.3  ghen     key <AD12> { [           slash,       asterisk,  guillemotright,       sterling ] };
    775   1.1.1.3  ghen 
    776   1.1.1.3  ghen     // Third row
    777   1.1.1.3  ghen     key <AC01> { [               a,              A,              ae,             AE ] };
    778   1.1.1.3  ghen     key <AC02> { [               s,              S,     Greek_sigma,    Greek_sigma ] };
    779   1.1.1.3  ghen     key <AC03> { [               d,              D,          dollar,    Greek_delta ] };
    780   1.1.1.3  ghen     key <AC04> { [               f,              F,       Greek_phi,      Greek_phi ] };
    781   1.1.1.3  ghen     key <AC05> { [               g,              G,     Greek_gamma,    Greek_gamma ] };
    782   1.1.1.3  ghen     key <AC06> { [               h,              H,       Greek_eta,      Greek_eta ] };
    783   1.1.1.3  ghen     key <AC07> { [               j,              J, Greek_finalsmallsigma, Greek_finalsmallsigma ] };
    784   1.1.1.3  ghen     key <AC08> { [               k,              K,       Greek_kappa,  Greek_kappa ] };
    785   1.1.1.3  ghen     key <AC09> { [               l,              L,       Greek_lamda, Greek_lambda ] };
    786   1.1.1.3  ghen     key <AC10> { [               m,              M,          Greek_mu,     Greek_mu ] };
    787   1.1.1.3  ghen     key <AC11> { [          ugrave,         Ugrave,            ubreve,   registered ] };
    788   1.1.1.3  ghen     key <BKSL> { [        question,         exclam,      questiondown,   exclamdown ] };
    789   1.1.1.3  ghen 
    790   1.1.1.3  ghen     // Fourth row
    791   1.1.1.3  ghen     key <LSGT> { [               q,              Q,            less,    Greek_theta ] };
    792   1.1.1.3  ghen     key <AB01> { [               z,              Z,         greater,     Greek_zeta ] };
    793   1.1.1.3  ghen     key <AB02> { [               x,              X,        Greek_xi,       Greek_xi ] };
    794   1.1.1.3  ghen     key <AB03> { [               c,              C,            cent,      Greek_chi ] };
    795   1.1.1.3  ghen     key <AB04> { [               v,              V                                  ] };
    796   1.1.1.3  ghen     key <AB05> { [               b,              B,      Greek_beta,     Greek_beta ] };
    797   1.1.1.3  ghen     key <AB06> { [               n,              N,        Greek_nu,       Greek_nu ] };
    798   1.1.1.3  ghen     // Handling the CH key correctly requires an inputmethod (XIM)
    799   1.1.1.3  ghen     // See https://bugs.freedesktop.org/show_bug.cgi?id=19506
    800   1.1.1.3  ghen  // key <AB07> { [      digraph_ch,     digraph_Ch,      digraph_CH,  Greek_omicron ] };
    801   1.1.1.3  ghen     key <AB07> { [           UF8FA,          UF8FB,           UF8FC,  Greek_omicron ] };
    802   1.1.1.3  ghen     key <AB08> { [          ntilde,         Ntilde                                  ] };
    803   1.1.1.3  ghen     key <AB09> { [          period,          colon,         section,      copyright ] };
    804   1.1.1.3  ghen     key <AB10> { [           comma,      semicolon,         percent                 ] };
    805   1.1.1.3  ghen 
    806   1.1.1.3  ghen     key <SPCE> { [           space,   nobreakspace,           space,   nobreakspace ] };
    807   1.1.1.3  ghen 
    808   1.1.1.3  ghen     include "level3(ralt_switch)"
    809   1.1.1.3  ghen };
    810   1.1.1.3  ghen 
    811   1.1.1.3  ghen // Occitan layout
    812   1.1.1.3  ghen // Author : 2009 Thomas Metz <tmetz @ free.fr>
    813   1.1.1.9   mrg // Derived from the layout defined at http://www.panoccitan.org
    814   1.1.1.3  ghen // Version: 0.1
    815   1.1.1.9   mrg // Differences from OSS French keyboard :
    816   1.1.1.3  ghen // - add , , ,  et , , , , , , , 
    817   1.1.1.3  ghen // - change position of , , , , , , , , , 
    818   1.1.1.9   mrg //
    819   1.1.1.3  ghen // 
    820   1.1.1.9   mrg //     1    2   3   4   5   6   7   8   9   0      +    Retour
    821   1.1.1.3  ghen //     &    ~  " #  ' {  ( [  - |   `  _ \   ^   @  ) ]  = }   arrire
    822   1.1.1.3  ghen // 
    823   1.1.1.3  ghen //         A   Z   E   R   T   Y   U   I   O   P        Entre 
    824   1.1.1.3  ghen // Tab    a   z   e   r   t   y   u   i   o   p   ^   $        
    825   1.1.1.3  ghen //       
    826   1.1.1.9   mrg //          Q   S   D   F   G   H   J   K   L   M   %            
    827   1.1.1.3  ghen // Maj     q   s   d   f   g   h   j   k   l   m    '  * `       
    828   1.1.1.3  ghen // 
    829   1.1.1.3  ghen //         >   W   X   C   V   B   N   ?   . .  /                  
    830   1.1.1.3  ghen // Shift  <   w   x   c   v   b   n   ,   ;   :   !  Shift       
    831   1.1.1.3  ghen // 
    832   1.1.1.3  ghen //                                Espace fine inscable                       
    833   1.1.1.3  ghen // Ctrl   Meta   Alt      Espace       Espace inscable  AltGr Menu   Ctrl   
    834   1.1.1.3  ghen // 
    835   1.1.1.3  ghen partial alphanumeric_keys
    836   1.1.1.3  ghen xkb_symbols "oci" {
    837   1.1.1.3  ghen 
    838   1.1.1.8   mrg     include "fr(oss)"
    839   1.1.1.3  ghen 
    840   1.1.1.7   mrg     name[Group1]= "Occitan";
    841   1.1.1.3  ghen 
    842   1.1.1.3  ghen     key <AD01>	{ [                a,                A,               aacute,                Aacute ] }; // a A  
    843   1.1.1.3  ghen     key <AD02>	{ [                z,                Z,                   ae,                    AE ] }; // z Z  
    844   1.1.1.3  ghen     key <AD05>	{ [                t,                T,           ediaeresis,            Ediaeresis ] }; // t T  
    845   1.1.1.3  ghen     key <AD06>	{ [                y,                Y,          ucircumflex,           Ucircumflex ] }; // y Y  
    846   1.1.1.3  ghen     key <AD07>	{ [                u,                U,               uacute,                Uacute ] }; // u U  
    847   1.1.1.3  ghen     key <AD08>	{ [                i,                I,               iacute,                Iacute ] }; // i I  
    848   1.1.1.3  ghen     key <AD09>	{ [                o,                O,               oacute,                Oacute ] }; // o O  
    849   1.1.1.3  ghen     key <AD10>	{ [                p,                P,               ograve,                Ograve ] }; // p P  
    850   1.1.1.3  ghen     key <AD11>	{ [  dead_circumflex,   dead_diaeresis,                   oe,                    OE ] }; // ^    
    851   1.1.1.3  ghen 
    852   1.1.1.9   mrg     key <AC03>	{ [                d,                D,          acircumflex,           Acircumflex ] }; // d D  
    853   1.1.1.3  ghen     key <AC06>	{ [                h,                H,           udiaeresis,            Udiaeresis ] }; // h H  
    854   1.1.1.9   mrg     key <AC07>	{ [                j,                J,          icircumflex,           Icircumflex ] }; // j J  
    855   1.1.1.9   mrg     key <AC08>	{ [                k,                K,           idiaeresis,            Idiaeresis ] }; // k K  
    856   1.1.1.3  ghen     key <AC09>	{ [                l,                L,          ocircumflex,           Ocircumflex ] }; // l L  
    857   1.1.1.3  ghen 
    858   1.1.1.9   mrg     key <AB04>  { [                v,                V,           rightarrow,             leftarrow ] }; // v V  
    859   1.1.1.9   mrg     key <AB06>  { [                n,                N,               ntilde,                Ntilde ] }; // n N  
    860   1.1.1.3  ghen };
    861   1.1.1.3  ghen 
    862       1.1   mrg // Marc.Shapiro (a] inria.fr 19-sep-1998
    863       1.1   mrg // modifications : Etienne Herlent <eherlent (a] linux-france.org> june 2000
    864       1.1   mrg // adapted to the new input layer :
    865       1.1   mrg //        Martin Costabel <costabel (a] wanadoo.fr> 3-jan-2001
    866   1.1.1.9   mrg // adapted for Latin9 alphabet (ISO-8859-15):
    867       1.1   mrg //        Etienne Herlent <eherlent (a] linux-france.org> march 2005
    868       1.1   mrg 
    869       1.1   mrg // This map is an almost-complete mapping of the standard French
    870       1.1   mrg // MacIntosh keyboard under Xwindows.  I tried to remain as faithful
    871       1.1   mrg // as possible to the Mac meaning of each key.	I did this entirely by
    872       1.1   mrg // hand and by intuition, relying on the Clavier (Keyboard?) Desktop
    873       1.1   mrg // Accessory for the Mac meaning of keys, and on reading keysymdef.h
    874       1.1   mrg // to intuit the corresponding X names.	 Lacking proper documentation,
    875       1.1   mrg // I may have made some mistakes.
    876       1.1   mrg 
    877       1.1   mrg // Entries marked CHECK are particularly uncertain
    878       1.1   mrg 
    879       1.1   mrg // Entries marked MISSING mark Mac characters for which I was unable
    880       1.1   mrg // to find a corresponding keysym.  (Some for sure don't: e.g. the
    881       1.1   mrg // Apple mark and the oe/OE character; others I may have simply not
    882       1.1   mrg // found.)
    883       1.1   mrg 
    884       1.1   mrg // Copied from macintosh_vndr/fr
    885       1.1   mrg partial alphanumeric_keys
    886       1.1   mrg xkb_symbols "mac" {
    887       1.1   mrg 
    888   1.1.1.7   mrg     name[Group1]= "French (Macintosh)";
    889       1.1   mrg 
    890   1.1.1.9   mrg     key <TLDE> {	[          at, numbersign, periodcentered,  Ydiaeresis	]	}; // MISSING: Ydiaeresis; eherlent : ok in Latin9
    891       1.1   mrg     key <AE01> {	[   ampersand,    1,   VoidSymbol,    dead_acute	]	}; // MISSING: Apple
    892       1.1   mrg     key <AE02> {	[      eacute,    2,   ediaeresis,        Eacute	]	};
    893       1.1   mrg     key <AE03> {	[    quotedbl,    3,   VoidSymbol,    VoidSymbol	] 	}; // CHECK all quotemarks
    894       1.1   mrg     key <AE04> {	[  apostrophe,    4,   VoidSymbol,    VoidSymbol	] 	};
    895       1.1   mrg     key <AE05> {	[   parenleft,    5,    braceleft,   bracketleft	]	};
    896       1.1   mrg  // CHECK section
    897       1.1   mrg     key <AE06> {	[     section,    6,    paragraph,         aring	]	};
    898       1.1   mrg     key <AE07> {	[      egrave,    7, guillemotleft, guillemotright	]	};
    899       1.1   mrg     key <AE08> {	[      exclam,    8,   exclamdown,   Ucircumflex	]	};
    900       1.1   mrg     key <AE09> {	[    ccedilla,    9,     Ccedilla,        Aacute	]	};
    901       1.1   mrg     key <AE10> {	[      agrave,    0,       oslash,    VoidSymbol	]	}; // MISSING: Oslash
    902       1.1   mrg     key <AE11> {	[  parenright, degree, braceright,  bracketright	]	};
    903       1.1   mrg     key <AE12> {	[       minus, underscore, emdash,        endash	]	}; // CHECK dashes
    904       1.1   mrg 
    905       1.1   mrg     key <AD01> {	[           a,  A,           ae,          AE	]	};
    906   1.1.1.9   mrg     key <AD02> {	[           z,  Z,  Acircumflex,       Aring	]	};
    907       1.1   mrg     key <AD03> {	[           e,  E,  ecircumflex, Ecircumflex	]	};
    908       1.1   mrg     key <AD04> {	[           r,  R,   registered,    currency	]	};
    909       1.1   mrg     key <AD05> {	[           t,  T,   VoidSymbol,  VoidSymbol	]	};
    910       1.1   mrg     key <AD06> {	[           y,  Y,       Uacute,  Ydiaeresis	]	}; // MISSING: Ydiaeresis; eherlent : ok in Latin9
    911       1.1   mrg     key <AD07> {	[           u,  U,   VoidSymbol, ordfeminine	]	}; // MISSING: ordmasculine?
    912       1.1   mrg     key <AD08> {	[           i,  I,  icircumflex,  idiaeresis	]	};
    913   1.1.1.9   mrg     key <AD09> {	[           o,  O,           oe,          OE	]	}; // MISSING: oe, OE lacking in Latin1; eherlent ok in Latin9
    914       1.1   mrg     key <AD10> {	[           p,  P,   VoidSymbol,  VoidSymbol	]	};
    915       1.1   mrg     key <AD11> {	[dead_circumflex,dead_diaeresis, ocircumflex, Ocircumflex	]	};
    916   1.1.1.9   mrg     key <AD12> {	[      dollar, asterisk,   EuroSign, yen	]	}; // eherlent : EuroSign in Latin9
    917       1.1   mrg 
    918   1.1.1.9   mrg     key <AC01> {	[         q, Q, acircumflex,         Agrave	]	};
    919       1.1   mrg     key <AC02> {	[         s, S,      Ograve,     VoidSymbol	]	};
    920       1.1   mrg     key <AC03> {	[         d, D,  VoidSymbol,     VoidSymbol	]	};
    921       1.1   mrg     key <AC04> {	[         f, F,  VoidSymbol, periodcentered	]	}; // MISSING: oblong script f??
    922       1.1   mrg     key <AC05> {	[         g, G,  VoidSymbol,     VoidSymbol	]	}; // MISSING: kerned fi, fl
    923       1.1   mrg     key <AC06> {	[         h, H,      Igrave,    Icircumflex	]	};
    924       1.1   mrg     key <AC07> {	[         j, J,  Idiaeresis,         Iacute	]	};
    925       1.1   mrg     key <AC08> {	[         k, K,      Egrave,     Ediaeresis	]	};
    926       1.1   mrg     key <AC09> {	[         l, L,     notsign,            bar	]	};
    927       1.1   mrg     key <AC10> {	[         m, M,          mu,         Oacute	]	};
    928       1.1   mrg     key <AC11> {	[    ugrave,percent, Ugrave,    ucircumflex	]	}; // MISSING: per-mille
    929       1.1   mrg     key <BKSL> {	[ dead_grave, sterling,  at,     numbersign	]	};
    930       1.1   mrg 
    931       1.1   mrg     key <LSGT> {	[      less, greater, VoidSymbol, VoidSymbol	]	};
    932   1.1.1.9   mrg     key <AB01> {	[         w, W, VoidSymbol,   VoidSymbol	]	}; // MISSING: half-guillemot (single angle bracket)
    933       1.1   mrg     key <AB02> {	[         x, X, VoidSymbol,   VoidSymbol	]	}; // CHECK similarequal; MISSING: extra-slanted slash
    934       1.1   mrg     key <AB03> {	[         c, C,  copyright,         cent	]	};
    935       1.1   mrg     key <AB04> {	[         v, V,    diamond,  leftradical	]	}; // CHECK diamond, leftradical
    936  1.1.1.15   mrg     key <AB05> {	[         b, B,     ssharp,        U1E9E	]	}; // CHECK: Greek_beta or ssharp?; MISSING: oblong script s
    937       1.1   mrg     key <AB06> {	[         n, N,  dead_tilde,  asciitilde	]	};
    938       1.1   mrg     key <AB07> {	[     comma,  question, VoidSymbol,  questiondown	]	};
    939       1.1   mrg     key <AB08> {	[ semicolon,  period, VoidSymbol,  periodcentered	]	};
    940       1.1   mrg     key <AB09> {	[     colon,  slash,   division,        backslash	]	};
    941       1.1   mrg     key <AB10> {	[     equal,   plus, VoidSymbol,        plusminus	]	};
    942       1.1   mrg 
    943       1.1   mrg     key <SPCE> {	[     space,  space, nobreakspace,   nobreakspace	]	};
    944       1.1   mrg 
    945       1.1   mrg     key <KPDL> {	[  comma,KP_Decimal	]	};
    946       1.1   mrg 
    947       1.1   mrg     include "level3(ralt_switch)"
    948       1.1   mrg };
    949       1.1   mrg 
    950       1.1   mrg partial alphanumeric_keys
    951       1.1   mrg xkb_symbols "geo" {
    952       1.1   mrg     include "ge(basic)"
    953       1.1   mrg 
    954   1.1.1.7   mrg     name[Group1]= "Georgian (France, AZERTY Tskapo)";
    955       1.1   mrg 
    956       1.1   mrg     key <TLDE> { [ exclam, noSymbol ] };
    957       1.1   mrg     key <AE01> { [ 0x0100201e, 1 ] };
    958       1.1   mrg     key <AE02> { [ 0x01002116, 2 ] };
    959       1.1   mrg     key <AE03> { [ percent, 3    ] };
    960       1.1   mrg     key <AE04> { [ parenleft, 4  ] };
    961       1.1   mrg     key <AE05> { [ colon, 5      ] };
    962       1.1   mrg     key <AE06> { [ semicolon, 6  ] };
    963       1.1   mrg     key <AE07> { [ question, 7   ] };
    964       1.1   mrg     key <AE08> { [ 0x01002116, 8 ] };
    965       1.1   mrg     key <AE09> { [ degree, 9     ] };
    966       1.1   mrg     key <AE10> { [ parenright, 0 ] };
    967       1.1   mrg     key <AE11> { [ minus, underscore, 0x01002014 ] };
    968       1.1   mrg     key <AE12> { [ less, greater ] };
    969       1.1   mrg 
    970  1.1.1.14   mrg     key <AD01> { [ Georgian_an,    0x010010fa     ] };
    971  1.1.1.14   mrg     key <AD02> { [ Georgian_zen,   Z              ] };
    972  1.1.1.14   mrg     key <AD03> { [ Georgian_en,    E, Georgian_he ] };
    973  1.1.1.14   mrg     key <AD04> { [ Georgian_rae,   0x010000ae     ] };
    974  1.1.1.14   mrg     key <AD05> { [ Georgian_tar,   T              ] };
    975  1.1.1.14   mrg     key <AD06> { [ Georgian_qar,   0x010010f8     ] };
    976  1.1.1.14   mrg     key <AD07> { [ Georgian_un,    U              ] };
    977  1.1.1.14   mrg     key <AD08> { [ Georgian_in,    Georgian_hie   ] };
    978  1.1.1.14   mrg     key <AD09> { [ Georgian_on,    O              ] };
    979  1.1.1.14   mrg     key <AD10> { [ Georgian_par,   P              ] };
    980  1.1.1.14   mrg     key <AD11> { [ Georgian_tan,   T              ] };
    981  1.1.1.14   mrg     key <AD12> { [ Georgian_jil,   Z              ] };
    982  1.1.1.14   mrg 
    983  1.1.1.14   mrg     key <AC01> { [ Georgian_khar,  Q              ] };
    984  1.1.1.14   mrg     key <AC02> { [ Georgian_san,   S              ] };
    985  1.1.1.14   mrg     key <AC03> { [ Georgian_don,   D              ] };
    986  1.1.1.14   mrg     key <AC04> { [ Georgian_phar,  Georgian_fi    ] };
    987  1.1.1.14   mrg     key <AC05> { [ Georgian_gan,   0x010010f9     ] };
    988  1.1.1.14   mrg     key <AC06> { [ Georgian_hae,   Georgian_hoe   ] };
    989  1.1.1.14   mrg     key <AC07> { [ Georgian_jhan,  0x010010f7     ] };
    990  1.1.1.14   mrg     key <AC08> { [ Georgian_kan,   K              ] };
    991  1.1.1.14   mrg     key <AC09> { [ Georgian_las,   L              ] };
    992  1.1.1.14   mrg     key <AC10> { [ Georgian_man,   M              ] };
    993  1.1.1.14   mrg     key <AC11> { [ Georgian_zhar,  J              ] };
    994  1.1.1.14   mrg     key <BKSL> { [ Georgian_chin,  0x010000a9     ] };
    995  1.1.1.14   mrg 
    996  1.1.1.14   mrg     key <LSGT> { [ guillemotleft,  guillemotright ] };
    997  1.1.1.14   mrg     key <AB01> { [ Georgian_cil,   W              ] };
    998  1.1.1.14   mrg     key <AB02> { [ Georgian_xan,   Georgian_har   ] };
    999  1.1.1.14   mrg     key <AB03> { [ Georgian_can,   0x010000a9     ] };
   1000  1.1.1.14   mrg     key <AB04> { [ Georgian_vin,   Georgian_we    ] };
   1001  1.1.1.14   mrg     key <AB05> { [ Georgian_ban,   B              ] };
   1002  1.1.1.14   mrg     key <AB06> { [ Georgian_nar,   0x010010fc     ] };
   1003  1.1.1.14   mrg     key <AB07> { [ comma,          0x01002014     ] };
   1004  1.1.1.14   mrg     key <AB08> { [ Georgian_shin,  S              ] };
   1005  1.1.1.14   mrg     key <AB09> { [ Georgian_ghan,  noSymbol       ] };
   1006  1.1.1.14   mrg     key <AB10> { [ Georgian_char,  noSymbol       ] };
   1007       1.1   mrg };
   1008   1.1.1.8   mrg 
   1009  1.1.1.14   mrg // US keyboard made French
   1010  1.1.1.14   mrg //
   1011  1.1.1.14   mrg // Copyright (C) 2018, Florent Gallaire <f (a] gallai.re>
   1012  1.1.1.14   mrg partial alphanumeric_keys
   1013  1.1.1.14   mrg xkb_symbols "us" {
   1014  1.1.1.14   mrg 
   1015  1.1.1.19   mrg     include "us(basic)"
   1016  1.1.1.17   mrg     name[Group1]= "French (US)";
   1017  1.1.1.15   mrg 
   1018  1.1.1.15   mrg 
   1019  1.1.1.15   mrg     key <TLDE> { [     grave, asciitilde,    dead_grave                   ] };
   1020  1.1.1.20   mrg     key <AE04> { [         4,     dollar,      EuroSign,         currency ] }; //  
   1021  1.1.1.15   mrg     key <AE06> { [         6,asciicircum,dead_circumflex                  ] };
   1022  1.1.1.14   mrg 
   1023  1.1.1.14   mrg     key <AD03> { [	   e,          E,        eacute,           Eacute ] }; //  
   1024  1.1.1.14   mrg     key <AD04> { [	   r,          R,        egrave,           Egrave ] }; //  
   1025  1.1.1.14   mrg     key <AD06> { [	   y,          Y,    ydiaeresis,       Ydiaeresis ] }; //  
   1026  1.1.1.14   mrg     key <AD07> { [	   u,          U,        ugrave,           Ugrave ] }; //  
   1027  1.1.1.14   mrg     key <AD08> { [	   i,          I,    idiaeresis,       Idiaeresis ] }; //  
   1028  1.1.1.14   mrg     key <AD09> { [	   o,          O,   ocircumflex,      Ocircumflex ] }; //  
   1029  1.1.1.14   mrg     key <AD10> { [	   p,          P,            oe,               OE ] }; //  
   1030  1.1.1.14   mrg     key <AD11> { [ bracketleft,  braceleft,  guillemotleft,  leftdoublequotemark ] }; //  
   1031  1.1.1.14   mrg     key <AD12> { [bracketright, braceright, guillemotright, rightdoublequotemark ] }; //  
   1032  1.1.1.14   mrg 
   1033  1.1.1.20   mrg     key <AC01> { [	   a,          A,        agrave,           Agrave ] }; //  
   1034  1.1.1.20   mrg     key <AC02> { [	   s,          S,            ae,               AE ] }; //  
   1035  1.1.1.20   mrg     key <AC03> { [	   d,          D,   ecircumflex,      Ecircumflex ] }; //  
   1036  1.1.1.20   mrg     key <AC04> { [	   f,          F,    ediaeresis,       Ediaeresis ] }; //  
   1037  1.1.1.20   mrg     key <AC06> { [	   h,          H,    udiaeresis,       Udiaeresis ] }; //  
   1038  1.1.1.20   mrg     key <AC07> { [	   j,          J,   ucircumflex,      Ucircumflex ] }; //  
   1039  1.1.1.20   mrg     key <AC08> { [	   k,          K,   icircumflex,      Icircumflex ] }; //  
   1040  1.1.1.20   mrg     key <AC11> { [apostrophe,   quotedbl,dead_diaeresis,           degree ] };
   1041  1.1.1.20   mrg 
   1042  1.1.1.20   mrg     key <AB01> { [	   z,          Z,   acircumflex,      Acircumflex ] }; //  
   1043  1.1.1.20   mrg     key <AB03> { [	   c,          C,      ccedilla,         Ccedilla ] }; //  
   1044  1.1.1.19   mrg 
   1045  1.1.1.19   mrg     include "level3(ralt_switch)"
   1046  1.1.1.19   mrg     include "eurosign(5)"
   1047  1.1.1.14   mrg };
   1048  1.1.1.14   mrg 
   1049   1.1.1.8   mrg // EXTRAS:
   1050   1.1.1.8   mrg 
   1051   1.1.1.8   mrg partial alphanumeric_keys
   1052   1.1.1.8   mrg 	xkb_symbols "sun_type6" {
   1053   1.1.1.8   mrg 	include "sun_vndr/fr(sun_type6)"
   1054   1.1.1.8   mrg };
   1055  1.1.1.12   snj 
   1056  1.1.1.12   snj 
   1057  1.1.1.12   snj partial alphanumeric_keys
   1058  1.1.1.12   snj xkb_symbols "azerty" {
   1059  1.1.1.13   mrg     name[Group1]="French (AZERTY)";
   1060  1.1.1.12   snj 
   1061  1.1.1.12   snj     include "level3(ralt_switch)"
   1062  1.1.1.12   snj 
   1063  1.1.1.12   snj // French AZERTY-Keyboard layout
   1064  1.1.1.12   snj // Author : 2015, Mats Blakstad <mats @ globalbility.org>
   1065  1.1.1.12   snj // Based on the layout at https://en.wikipedia.org/wiki/File:KB_France.svg
   1066  1.1.1.12   snj 
   1067  1.1.1.12   snj // LAYOUT OVERVIEW                              
   1068  1.1.1.12   snj //  ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ _______
   1069  1.1.1.12   snj // |    | 1  | 2  | 3  | 4  | 5  | 6  | 7  | 8  | 9  | 0  |   | +  | <--   |
   1070  1.1.1.12   snj // |   | &  |  ~| " #| ' {| ( [| - ||  `| _ \|  ^|  @| ) ]| = }|       |
   1071  1.1.1.12   snj //  ========================================================================
   1072  1.1.1.12   snj // | |<-  | A  | Z  | E  | R  | T  | Y  | U  | I  | O  | P  |   | $  |   , |
   1073  1.1.1.12   snj // |  ->| | a  | z  | e | r  | t  | y  | u  | i  | o  | p  | ^  |  | <-' |
   1074  1.1.1.12   snj //  ===================================================================    |
   1075  1.1.1.12   snj // |       | Q  | S  | D  | F  | G  | H  | J  | K  | L  | M  | %  |   |    |
   1076  1.1.1.12   snj // | MAJ   | q  | s  | d  | f  | g  | h  | j  | k  | l  | m  |   | *  |    |
   1077  1.1.1.12   snj //  ========================================================================
   1078  1.1.1.12   snj // | ^   | >  | W  | X  | C  | V  | B  | N  | ?  | .  | /  |   |     ^     |
   1079  1.1.1.12   snj // | |   | <  | w  | x  | c  | v  | b  | n  | ,  | ;  | :  | !  |     |     |
   1080  1.1.1.12   snj //  ========================================================================
   1081  1.1.1.12   snj // |      |      |      |                       |       |      |     |      |
   1082  1.1.1.12   snj // | Ctrl | Super| Alt  | Space    Nobreakspace | AltGr | Super|Menu | Ctrl |
   1083  1.1.1.12   snj //         
   1084  1.1.1.12   snj 
   1085  1.1.1.12   snj     // First row
   1086  1.1.1.12   snj     key <TLDE>	{ [	twosuperior 						] };
   1087  1.1.1.12   snj     key <AE01>	{ [	ampersand,	1 					] };
   1088  1.1.1.12   snj     key <AE02> { [	eacute,		2,		asciitilde	 	] };
   1089  1.1.1.12   snj     key <AE03>	{ [	quotedbl,	3,		numbersign		] };
   1090  1.1.1.12   snj     key <AE04>	{ [	apostrophe,	4,		braceleft		] };
   1091  1.1.1.12   snj     key <AE05>	{ [	parenleft,	5,		bracketleft		] };
   1092  1.1.1.12   snj     key <AE06>	{ [	minus,		6,		bar			] };
   1093  1.1.1.12   snj     key <AE07>	{ [	egrave,		7,		grave			] };
   1094  1.1.1.12   snj     key <AE08>	{ [	underscore, 	8,		backslash		] };
   1095  1.1.1.12   snj     key <AE09>	{ [	ccedilla, 	9,		asciicircum		] };
   1096  1.1.1.12   snj     key <AE10>	{ [	agrave,		0,		at			] };
   1097  1.1.1.12   snj     key <AE11>	{ [	parenright,	degree,		bracketright		] };
   1098  1.1.1.12   snj     key <AE12>	{ [	equal,		plus,		braceright		] };
   1099  1.1.1.12   snj 
   1100  1.1.1.12   snj     // Second row
   1101  1.1.1.12   snj     key <AD01>	{ [	a,		A					] };
   1102  1.1.1.12   snj     key <AD02>	{ [	z,		Z				 	] };
   1103  1.1.1.12   snj     key <AD03>	{ [	e,		E,		EuroSign		] };	
   1104  1.1.1.12   snj     key <AD04>	{ [	r,		R				 	] };
   1105  1.1.1.12   snj     key <AD05>	{ [	t,		T					] };
   1106  1.1.1.12   snj     key <AD06>	{ [	y,		Y					] };	
   1107  1.1.1.12   snj     key <AD07>	{ [	u,		U					] };	
   1108  1.1.1.12   snj     key <AD08>	{ [	i,		I					] };	
   1109  1.1.1.12   snj     key <AD09>	{ [	o,		O					] };	
   1110  1.1.1.12   snj     key <AD10>	{ [	p,		P					] };
   1111  1.1.1.12   snj     key <AD11>	{ [	dead_circumflex,dead_diaeresis				] };
   1112  1.1.1.12   snj     key <AD12>	{ [	dollar,		sterling,	currency		] };	
   1113  1.1.1.12   snj 
   1114  1.1.1.12   snj     // Third row
   1115  1.1.1.12   snj     key <AC01>	{ [	q,		Q					] };
   1116  1.1.1.12   snj     key <AC02>	{ [	s,		S				 	] };
   1117  1.1.1.12   snj     key <AC03>	{ [	d,		D					] };	
   1118  1.1.1.12   snj     key <AC04>	{ [	f,		F					] };
   1119  1.1.1.12   snj     key <AC05>	{ [	g,		G					] };	
   1120  1.1.1.12   snj     key <AC06>	{ [	h,		H				 	] };
   1121  1.1.1.12   snj     key <AC07>	{ [	j,		J					] };
   1122  1.1.1.12   snj     key <AC08>	{ [	k,		K					] };
   1123  1.1.1.12   snj     key <AC09>	{ [	l,		L					] };
   1124  1.1.1.12   snj     key <AC10>	{ [	m,		M					] };	
   1125  1.1.1.12   snj     key <AC11>	{ [	ugrave,		percent					] };
   1126  1.1.1.12   snj     key <BKSL>  { [	asterisk,	mu					] };
   1127  1.1.1.12   snj 
   1128  1.1.1.12   snj     // Fourth row
   1129  1.1.1.12   snj     key <LSGT>	{ [	less,		greater					] };
   1130  1.1.1.12   snj     key <AB01>	{ [	w,		W					] };
   1131  1.1.1.12   snj     key <AB02>	{ [	x,		X					] };
   1132  1.1.1.12   snj     key <AB03>	{ [	c,		C					] };
   1133  1.1.1.12   snj     key <AB04>	{ [	v,		V					] };	
   1134  1.1.1.12   snj     key <AB05>  { [	b,		B				 	] };
   1135  1.1.1.12   snj     key <AB06>	{ [	n,		N				 	] };
   1136  1.1.1.12   snj     key <AB07>	{ [	comma,		question				] };
   1137  1.1.1.12   snj     key <AB08>	{ [ 	semicolon,	period					] };
   1138  1.1.1.12   snj     key <AB09>	{ [ 	colon,		slash					] };
   1139  1.1.1.12   snj     key <AB10>	{ [	exclam,		section					] };
   1140  1.1.1.12   snj };
   1141  1.1.1.14   mrg 
   1142  1.1.1.14   mrg // US keyboard made French (with dead keys, alternative)
   1143  1.1.1.14   mrg //
   1144  1.1.1.14   mrg // Copyright (C) 2018, Florent Gallaire <f (a] gallai.re>
   1145  1.1.1.14   mrg 
   1146  1.1.1.14   mrg partial alphanumeric_keys
   1147  1.1.1.14   mrg xkb_symbols "us-alt" {
   1148  1.1.1.14   mrg 
   1149  1.1.1.19   mrg     include "us(basic)"
   1150  1.1.1.17   mrg     name[Group1]= "French (US with dead keys, alt.)";
   1151  1.1.1.14   mrg 
   1152  1.1.1.20   mrg     key <TLDE> { [dead_grave, asciitilde,         grave ] };
   1153  1.1.1.20   mrg     key <AE04> { [         4,     dollar,      EuroSign,         currency ] }; //  
   1154  1.1.1.20   mrg     key <AE06> { [dead_circumflex, asciicircum,       6 ] };
   1155  1.1.1.14   mrg 
   1156  1.1.1.14   mrg     key <AD03> { [         e,          E,        eacute,           Eacute ] }; //  
   1157  1.1.1.14   mrg     key <AD09> { [         o,          O,            oe,               OE ] }; //  
   1158  1.1.1.14   mrg     key <AD11> { [ bracketleft,  braceleft,  guillemotleft,  leftdoublequotemark ] }; //  
   1159  1.1.1.14   mrg     key <AD12> { [bracketright, braceright, guillemotright, rightdoublequotemark ] }; //  
   1160  1.1.1.14   mrg 
   1161  1.1.1.20   mrg     key <AC01> { [         a,          A,            ae,               AE ] }; //  
   1162  1.1.1.20   mrg     key <AC11> { [dead_diaeresis, quotedbl,  apostrophe ] };
   1163  1.1.1.20   mrg 
   1164  1.1.1.20   mrg     key <AB03> { [         c,          C,      ccedilla,         Ccedilla ] }; //  
   1165  1.1.1.19   mrg 
   1166  1.1.1.19   mrg     include "level3(ralt_switch)"
   1167  1.1.1.19   mrg     include "eurosign(5)"
   1168  1.1.1.14   mrg };
   1169  1.1.1.14   mrg 
   1170  1.1.1.15   mrg // For physically modified US keyboard (Q <-> A, W <-> Z and ; <-> M)
   1171  1.1.1.15   mrg //
   1172  1.1.1.15   mrg // Copyright (C) 2018, Florent Gallaire <f (a] gallai.re>
   1173  1.1.1.15   mrg 
   1174  1.1.1.15   mrg partial alphanumeric_keys
   1175  1.1.1.15   mrg xkb_symbols "us-azerty" {
   1176  1.1.1.15   mrg 
   1177  1.1.1.15   mrg     include "us"
   1178  1.1.1.15   mrg     name[Group1]= "French (US, AZERTY)";
   1179  1.1.1.15   mrg 
   1180  1.1.1.15   mrg     key <TLDE> { [     grave, asciitilde,    dead_grave                   ] };
   1181  1.1.1.15   mrg     key <AE02> { [         2,         at,        eacute,           Eacute ] }; //  
   1182  1.1.1.15   mrg     key <AE04> { [         4,     dollar,      currency                   ] }; // 
   1183  1.1.1.15   mrg     key <AE06> { [         6,asciicircum,dead_circumflex                  ] };
   1184  1.1.1.15   mrg     key <AE07> { [         7,  ampersand,        egrave,           Egrave ] }; //  
   1185  1.1.1.15   mrg     key <AE09> { [         9,  parenleft,      ccedilla,         Ccedilla ] }; //  
   1186  1.1.1.15   mrg     key <AE10> { [         0, parenright,        agrave,           Agrave ] }; //  
   1187  1.1.1.15   mrg 
   1188  1.1.1.20   mrg     key <AD01> { [         a,          A,            ae,               AE ] }; //  
   1189  1.1.1.20   mrg     key <AD02> { [         z,          Z                                  ] };
   1190  1.1.1.20   mrg     key <AD09> { [         o,          O,            oe,               OE ] }; //  
   1191  1.1.1.20   mrg     key <AD11> { [bracketleft, braceleft,dead_circumflex,  dead_diaeresis ] };
   1192  1.1.1.20   mrg 
   1193  1.1.1.20   mrg     key <AC01> { [         q,          Q                                  ] };
   1194  1.1.1.20   mrg     key <AC10> { [         m,          M                                  ] };
   1195  1.1.1.20   mrg     key <AC11> { [apostrophe,   quotedbl,        ugrave,           Ugrave ] }; //  
   1196  1.1.1.20   mrg 
   1197  1.1.1.20   mrg     key <AB01> { [         w,          W, guillemotleft, leftdoublequotemark ] }; //  
   1198  1.1.1.20   mrg     key <AB02> { [         x,          X,guillemotright,rightdoublequotemark ] }; //  
   1199  1.1.1.20   mrg     key <AB07> { [ semicolon,      colon                                  ] };
   1200  1.1.1.20   mrg 
   1201  1.1.1.15   mrg     include "eurosign(e)"
   1202  1.1.1.15   mrg     include "level3(ralt_switch)"
   1203  1.1.1.15   mrg };
   1204  1.1.1.16   mrg 
   1205  1.1.1.16   mrg // Unicode French standardized new azerty
   1206  1.1.1.16   mrg // Defined by the French national organization for standardization (AFNOR) in norm NF Z71-300 (http://norme-azerty.fr/)
   1207  1.1.1.16   mrg //
   1208  1.1.1.16   mrg // Credits
   1209  1.1.1.16   mrg //    2019 Cimbali <me @ cimba.li>
   1210  1.1.1.16   mrg //
   1211  1.1.1.16   mrg // 
   1212  1.1.1.19   mrg //  #    1   2   3   4   5    6    7    8   9   0   "        Retour
   1213  1.1.1.16   mrg //  @                &  ( [  ) ]       _        '         arrire
   1214  1.1.1.16   mrg // 
   1215  1.1.1.16   mrg //         A   Z    E    R    T   Y    U   I    O   P        Entre 
   1216  1.1.1.16   mrg // Tab    a   z   e   r   t {  y }  u   i    o   p %  -   +        
   1217  1.1.1.16   mrg //       
   1218  1.1.1.19   mrg //          Q    S   D    F    G    H    J    K    L    M    \           
   1219  1.1.1.16   mrg // Maj     q   s   d $  f   g   h    j    k    l |  m   /   *        
   1220  1.1.1.16   mrg // 
   1221  1.1.1.19   mrg //         >   W   X    C   V   B    N    ?    !        =               
   1222  1.1.1.19   mrg // Shift  <   w   x   c   v   b    n ~  .   ,   :   ;  Shift       
   1223  1.1.1.16   mrg // 
   1224  1.1.1.16   mrg //                                Espace fine inscable                       
   1225  1.1.1.16   mrg // Ctrl   Meta   Alt      Espace       Espace inscable  AltGr Menu   Ctrl   
   1226  1.1.1.16   mrg // 
   1227  1.1.1.16   mrg partial alphanumeric_keys
   1228  1.1.1.16   mrg xkb_symbols "afnor" {
   1229  1.1.1.16   mrg 
   1230  1.1.1.16   mrg     include "latin"
   1231  1.1.1.16   mrg     include "level3(ralt_switch)"
   1232  1.1.1.16   mrg     include "nbsp(level3n)"
   1233  1.1.1.16   mrg     include "keypad(oss)"
   1234  1.1.1.16   mrg 
   1235  1.1.1.17   mrg     name[Group1]="French (AZERTY, AFNOR)";
   1236  1.1.1.16   mrg 
   1237  1.1.1.16   mrg      // First row
   1238  1.1.1.16   mrg      key <TLDE> { [                  at,      numbersign,               dead_breve,   dead_invertedbreve ] }; // @ #     //
   1239  1.1.1.16   mrg      key <AE01> { [              agrave,               1,                  section,               Agrave ] }; //  1  
   1240  1.1.1.16   mrg      key <AE02> { [              eacute,               2,               dead_acute,               Eacute ] }; //  2   
   1241  1.1.1.16   mrg      key <AE03> { [              egrave,               3,               dead_grave,               Egrave ] }; //  3   
   1242  1.1.1.16   mrg      key <AE04> { [         ecircumflex,               4,                ampersand,          Ecircumflex ] }; //  4 & 
   1243  1.1.1.16   mrg      key <AE05> { [           parenleft,               5,              bracketleft,     dead_doubleacute ] }; // ( 5 [
   1244  1.1.1.16   mrg      key <AE06> { [          parenright,               6,             bracketright,     dead_doublegrave ] }; // ) 6 ]
   1245  1.1.1.16   mrg      key <AE07> { [ leftsinglequotemark,               7,              dead_macron,           VoidSymbol ] }; //  7
   1246  1.1.1.16   mrg      key <AE08> { [rightsinglequotemark,               8,               underscore,               emdash ] }; //  8 _ 
   1247  1.1.1.20   mrg      key <AE09> { [       guillemotleft,               9,      leftdoublequotemark,                U2039 ] }; //  9  
   1248  1.1.1.20   mrg      key <AE10> { [      guillemotright,               0,     rightdoublequotemark,                U203A ] }; //  0  
   1249  1.1.1.16   mrg      key <AE11> { [          apostrophe,        quotedbl,                   degree,       dead_abovering ] }; // ' " 
   1250  1.1.1.16   mrg      key <AE12> { [     dead_circumflex,  dead_diaeresis,               dead_caron,           VoidSymbol ] }; //        //
   1251  1.1.1.16   mrg 
   1252  1.1.1.19   mrg      // Second row
   1253  1.1.1.16   mrg      key <AD01> { [                   a,               A,                       ae,                   AE ] }; // a A  
   1254  1.1.1.16   mrg      key <AD02> { [                   z,               Z,                 sterling,           VoidSymbol ] }; // z Z 
   1255  1.1.1.16   mrg      key <AD03> { [                   e,               E,                 EuroSign,           VoidSymbol ] }; // e E 
   1256  1.1.1.16   mrg      key <AD04> { [                   r,               R,               registered,           VoidSymbol ] }; // r R 
   1257  1.1.1.16   mrg      key <AD05> { [                   t,               T,                braceleft,            trademark ] }; // t T { 
   1258  1.1.1.16   mrg      key <AD06> { [                   y,               Y,               braceright,           VoidSymbol ] }; // y Y }
   1259  1.1.1.16   mrg      key <AD07> { [                   u,               U,                   ugrave,               Ugrave ] }; // u U  
   1260  1.1.1.16   mrg      key <AD08> { [                   i,               I,            dead_abovedot,        dead_belowdot ] }; // i I     //
   1261  1.1.1.16   mrg      key <AD09> { [                   o,               O,                       oe,                   OE ] }; // o O  
   1262  1.1.1.16   mrg      key <AD10> { [                   p,               P,                  percent,             permille ] }; // p P % 
   1263  1.1.1.20   mrg      key <AD11> { [               minus,          endash,                    U2212,                U2011 ] }; // -    // signe moins (minus sign), trait d'union inscable (non-breaking hyphen)
   1264  1.1.1.16   mrg      key <AD12> { [                plus,       plusminus,                   dagger,         doubledagger ] }; // +   
   1265  1.1.1.16   mrg 
   1266  1.1.1.19   mrg      // Third row
   1267  1.1.1.16   mrg      key <AC01> { [                   q,               Q,              Greek_theta,           VoidSymbol ] }; // q Q 
   1268  1.1.1.20   mrg      key <AC02> { [                   s,               S,                   ssharp,                U1E9E ] }; // s S   // lettre majuscule latine S dur (latin capital letter sharp s)
   1269  1.1.1.16   mrg      key <AC03> { [                   d,               D,                   dollar,           VoidSymbol ] }; // d D $
   1270  1.1.1.16   mrg      key <AC04> { [                   f,               F,            dead_currency,           VoidSymbol ] }; // f F 
   1271  1.1.1.16   mrg      key <AC05> { [                   g,               G,               dead_greek,           VoidSymbol ] }; // g G 
   1272  1.1.1.16   mrg      key <AC06> { [                   h,               H,               VoidSymbol,     dead_belowmacron ] }; // h H     // Missing dead key for other european keys ()
   1273  1.1.1.16   mrg      key <AC07> { [                   j,               J,               VoidSymbol,           VoidSymbol ] }; // j J
   1274  1.1.1.20   mrg      key <AC08> { [                   k,               K,              dead_stroke,           VoidSymbol ] }; // k K     //
   1275  1.1.1.16   mrg      key <AC09> { [                   l,               L,                      bar,           VoidSymbol ] }; // l L |
   1276  1.1.1.16   mrg      key <AC10> { [                   m,               M,                 infinity,           VoidSymbol ] }; // m M 
   1277  1.1.1.16   mrg      key <AC11> { [               slash,       backslash,                 division,              radical ] }; // / \  
   1278  1.1.1.16   mrg      key <BKSL> { [            asterisk,         onehalf,                 multiply,           onequarter ] }; // *   
   1279  1.1.1.16   mrg 
   1280  1.1.1.16   mrg      // Fourth row
   1281  1.1.1.16   mrg      key <LSGT> { [                less,         greater,            lessthanequal,    greaterthanequal ] }; // < >  
   1282  1.1.1.16   mrg      key <AB01> { [                   w,               W,                      ezh,                 EZH ] }; // w W  
   1283  1.1.1.16   mrg      key <AB02> { [                   x,               X,                copyright,          VoidSymbol ] }; // x X 
   1284  1.1.1.16   mrg      key <AB03> { [                   c,               C,                 ccedilla,            Ccedilla ] }; // c C  
   1285  1.1.1.16   mrg      key <AB04> { [                   v,               V,             dead_cedilla,         dead_ogonek ] }; // v V     //
   1286  1.1.1.16   mrg      key <AB05> { [                   b,               B,              dead_stroke,          VoidSymbol ] }; // b B     //
   1287  1.1.1.16   mrg      key <AB06> { [                   n,               N,               dead_tilde,          VoidSymbol ] }; // n N ~
   1288  1.1.1.16   mrg      key <AB07> { [              period,        question,             questiondown,          VoidSymbol ] }; // . ? 
   1289  1.1.1.16   mrg      key <AB08> { [               comma,          exclam,               exclamdown,     dead_belowcomma ] }; // , !    //
   1290  1.1.1.16   mrg      key <AB09> { [               colon,        ellipsis,           periodcentered,          VoidSymbol ] }; // :  
   1291  1.1.1.16   mrg      key <AB10> { [           semicolon,           equal,             similarequal,            notequal ] }; // ; =  
   1292  1.1.1.16   mrg };
   1293