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