fr revision 154daed1
1// $XKeyboardConfig: xkeyboard-config/symbols/fr,v 1.21 2008-04-22 19:54:11 svu Exp $ 2 3// based on a keyboard map from an 'xkb/symbols/fr' file 4// 5// $XFree86: xc/programs/xkbcomp/symbols/fr,v 1.2 2002/11/22 04:03:28 dawes Exp $ 6 7partial default alphanumeric_keys 8xkb_symbols "basic" { 9 10 include "latin" 11 12 name[Group1]="France"; 13 14 key <AE01> { [ ampersand, 1, onesuperior, exclamdown ] }; 15 key <AE02> { [ eacute, 2, asciitilde, oneeighth ] }; 16 key <AE03> { [ quotedbl, 3, numbersign, sterling ] }; 17 key <AE04> { [apostrophe, 4, braceleft, dollar ] }; 18 key <AE05> { [ parenleft, 5, bracketleft, threeeighths ] }; 19 key <AE06> { [ minus, 6, bar, fiveeighths ] }; 20 key <AE07> { [ egrave, 7, grave, seveneighths ] }; 21 key <AE08> { [underscore, 8, backslash, trademark ] }; 22 key <AE09> { [ ccedilla, 9, asciicircum, plusminus ] }; 23 key <AE10> { [ agrave, 0, at, degree ] }; 24 key <AE11> { [parenright, degree, bracketright, questiondown ] }; 25 key <AE12> { [ equal, plus, braceright, dead_ogonek ] }; 26 27 key <AD01> { [ a, A, ae, AE ] }; 28 key <AD02> { [ z, Z, guillemotleft, less ] }; 29 key <AD03> { [ e, E, EuroSign, cent ] }; 30 key <AD11> { [dead_circumflex, dead_diaeresis, dead_diaeresis, dead_abovering ] }; 31 key <AD12> { [ dollar, sterling, currency, dead_macron ] }; 32 33 key <AC01> { [ q, Q, at, Greek_OMEGA ] }; 34 key <AC10> { [ m, M, mu, masculine ] }; 35 key <AC11> { [ ugrave, percent, dead_circumflex, dead_caron] }; 36 key <TLDE> { [twosuperior, asciitilde, notsign, notsign ] }; 37 38 key <BKSL> { [ asterisk, mu, dead_grave, dead_breve ] }; 39 key <AB01> { [ w, W, lstroke, Lstroke ] }; 40 key <AB07> { [ comma, question, dead_acute, dead_doubleacute ] }; 41 key <AB08> { [ semicolon, period, horizconnector, multiply ] }; 42 key <AB09> { [ colon, slash, periodcentered, division ] }; 43 key <AB10> { [ exclam, section, dead_belowdot, dead_abovedot ] }; 44 45 include "level3(ralt_switch)" 46}; 47 48partial alphanumeric_keys 49xkb_symbols "Sundeadkeys" { 50 51 // Modifies the basic French layout to use the Sun dead keys 52 53 include "fr(basic)" 54 55 key <AD11> { [SunFA_Circum, SunFA_Diaeresis ] }; 56 key <AB07> { [comma, question, SunFA_Acute, dead_doubleacute ] }; 57}; 58 59partial alphanumeric_keys 60xkb_symbols "sundeadkeys" { 61 include "fr(Sundeadkeys)" 62 63 name[Group1]="France - Sun dead keys"; 64}; 65 66partial alphanumeric_keys 67xkb_symbols "nodeadkeys" { 68 69 // Modifies the basic French layout to eliminate all dead keys 70 71 include "fr(basic)" 72 73 name[Group1]="France - Eliminate dead keys"; 74 75 key <AE12> { [ equal, plus, braceright, ogonek ] }; 76 key <AD11> { [asciicircum, diaeresis ] }; 77 key <AD12> { [ dollar, sterling, currency, macron ] }; 78 key <AC11> { [ ugrave, percent, asciicircum, caron ] }; 79 key <BKSL> { [ asterisk, mu, grave, breve ] }; 80 key <AB07> { [ comma, question, acute, doubleacute ] }; 81 key <AB10> { [ exclam, section, dead_belowdot, abovedot ] }; 82}; 83 84 85// Unicode French derivative 86// Loose refactoring of the historic Linux French keyboard layout 87// 88// Copyright © 2006-2008 Nicolas Mailhot <nicolas.mailhot @ laposte.net> 89// 90// Credits (fr-latin1, fr-latin0, fr-latin9) 91// © 199x-1996 René Cougnenc ✝ 92// © 1997-2002 Guylhem Aznar <clavier @ externe.net> 93// © 2003-2006 Nicolas Mailhot <nicolas.mailhot @ laposte.net> 94// 95// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓ 96// │ ³ ¸ │ 1 ̨ │ 2 É │ 3 ˘ │ 4 — │ 5 – │ 6 ‑ │ 7 È │ 8 ™ │ 9 Ç │ 0 À │ ° ≠ │ + ± ┃ ⌫ Retour┃ 97// │ ² ¹ │ & ˇ │ é ~ │ " # │ ' { │ ( [ │ - | │ è ` │ _ \ │ ç ^ │ à @ │ ) ] │ = } ┃ arrière┃ 98// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫ 99// ┃ ┃ A Æ │ Z  │ E ¢ │ R Ê │ T Þ │ Y Ÿ │ U Û │ I Î │ O Œ │ P Ô │ ¨ ˚ │ £ Ø ┃Entrée ┃ 100// ┃Tab ↹ ┃ a æ │ z â │ e € │ r ê │ t þ │ y ÿ │ u û │ i î │ o œ │ p ô │ ^ ~ │ $ ø ┃ ⏎ ┃ 101// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃ 102// ┃ ┃ Q Ä │ S „ │ D Ë │ F ‚ │ G ¥ │ H Ð │ J Ü │ K Ï │ L Ŀ │ M Ö │ % Ù │ µ ̄ ┃ ┃ 103// ┃Maj ⇬ ┃ q ä │ s ß │ d ë │ f ‘ │ g ’ │ h ð │ j ü │ k ï │ l ŀ │ m ö │ ù ' │ * ` ┃ ┃ 104// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫ 105// ┃ ┃ > ≥ │ W “ │ X ” │ C ® │ V ← │ B ↑ │ N → │ ? … │ . . │ / ∕ │ § − ┃ ┃ 106// ┃Shift ⇧┃ < ≤ │ w « │ x » │ c © │ v ⍽ │ b ↓ │ n ¬ │ , ¿ │ ; × │ : ÷ │ ! ¡ ┃Shift ⇧ ┃ 107// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛ 108// ┃ ┃ ┃ ┃ ␣ Espace fine insécable ⍽ ┃ ┃ ┃ ┃ 109// ┃Ctrl ┃Meta ┃Alt ┃ ␣ Espace Espace insécable ⍽ ┃AltGr ⇮┃Menu ┃Ctrl ┃ 110// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛ 111partial alphanumeric_keys 112xkb_symbols "oss" { 113 114 include "latin" 115 include "level3(ralt_switch)" 116 include "nbsp(level4nl)" 117 include "keypad(oss)" 118 119 name[Group1]="France - Alternative"; 120 121 // First row 122 key <TLDE> { [ twosuperior, threesuperior, onesuperior, dead_cedilla ] }; // ² ³ ¹ ¸ 123 key <AE01> { [ ampersand, 1, dead_caron, dead_ogonek ] }; // & 1 ˇ ̨ 124 key <AE02> { [ eacute, 2, asciitilde, Eacute ] }; // é 2 ~ É 125 key <AE03> { [ quotedbl, 3, numbersign, dead_breve ] }; // " 3 # ˘ 126 key <AE04> { [ apostrophe, 4, braceleft, 0x1002014 ] }; // ' 4 { — (tiret cadratin) 127 key <AE05> { [ parenleft, 5, bracketleft, 0x1002013 ] }; // ( 5 [ – (tiret demi-cadratin) 128 key <AE06> { [ minus, 6, bar, 0x1002011 ] }; // - 6 | ‑ (tiret insécable) 129 key <AE07> { [ egrave, 7, grave, Egrave ] }; // è 7 ` È 130 key <AE08> { [ underscore, 8, backslash, trademark ] }; // _ 8 \ ™ 131 key <AE09> { [ ccedilla, 9, asciicircum, Ccedilla ] }; // ç 9 ^ Ç 132 key <AE10> { [ agrave, 0, at, Agrave ] }; // à 0 @ À 133 key <AE11> { [ parenright, degree, bracketright, notequal ] }; // ) ° ] ≠ 134 key <AE12> { [ equal, plus, braceright, plusminus ] }; // = + } ± 135 136 // Second row 137 key <AD01> { [ a, A, ae, AE ] }; // a A æ Æ 138 key <AD02> { [ z, Z, acircumflex, Acircumflex ] }; // z Z â  139 key <AD03> { [ e, E, EuroSign, cent ] }; // e E € ¢ 140 key <AD04> { [ r, R, ecircumflex, Ecircumflex ] }; // r R ê Ê 141 key <AD05> { [ t, T, thorn, THORN ] }; // t T þ Þ 142 key <AD06> { [ y, Y, ydiaeresis, Ydiaeresis ] }; // y Y ÿ Ÿ 143 key <AD07> { [ u, U, ucircumflex, Ucircumflex ] }; // u U û Û 144 key <AD08> { [ i, I, icircumflex, Icircumflex ] }; // i I î Î 145 key <AD09> { [ o, O, oe, OE ] }; // o O œ Œ 146 key <AD10> { [ p, P, ocircumflex, Ocircumflex ] }; // p P ô Ô 147 key <AD11> { [ dead_circumflex, dead_diaeresis, dead_tilde, dead_abovering ] }; // ^ ̈ ̃ ˚ 148 key <AD12> { [ dollar, sterling, oslash, Ooblique ] }; // $ £ ø Ø 149 150 // Third row 151 key <AC01> { [ q, Q, adiaeresis, Adiaeresis ] }; // q Q ä Ä 152 key <AC02> { [ s, S, ssharp, doublelowquotemark ] }; // s S ß „ 153 key <AC03> { [ d, D, ediaeresis, Ediaeresis ] }; // d D ë Ë 154 key <AC04> { [ f, F, leftsinglequotemark, singlelowquotemark ] }; // f F ‘ ‚ 155 key <AC05> { [ g, G, rightsinglequotemark, yen ] }; // g G ’ ¥ 156 key <AC06> { [ h, H, eth, ETH ] }; // h H ð Ð 157 key <AC07> { [ j, J, udiaeresis, Udiaeresis ] }; // j J ü Ü 158 key <AC08> { [ k, K, idiaeresis, Idiaeresis ] }; // k K ï Ï 159 key <AC09> { [ l, L, 0x1000140, 0x100013F ] }; // l L ŀ Ŀ 160 key <AC10> { [ m, M, odiaeresis, Odiaeresis ] }; // m M ö Ö 161 key <AC11> { [ ugrave, percent, dead_acute, Ugrave ] }; // ù % ' Ù 162 key <BKSL> { [ asterisk, mu, dead_grave, dead_macron ] }; // * µ ` ̄ 163 164 // Fourth row 165 key <LSGT> { [ less, greater, lessthanequal, greaterthanequal ] }; // < > ≤ ≥ 166 key <AB01> { [ w, W, guillemotleft, leftdoublequotemark ] }; // w W « “ 167 key <AB02> { [ x, X, guillemotright, rightdoublequotemark ] }; // x X » ” 168 key <AB03> { [ c, C, copyright, registered ] }; // c C © ® 169 key <AB04> { [ v, V, 0x100202F, leftarrow ] }; // v V ⍽ ← (espace fine insécable) 170 key <AB05> { [ b, B, downarrow, uparrow ] }; // b B ↓ ↑ 171 key <AB06> { [ n, N, notsign, rightarrow ] }; // n N ¬ → 172 key <AB07> { [ comma, question, questiondown, 0x1002026 ] }; // , ? ¿ … 173 key <AB08> { [ semicolon, period, multiply, 0x10022C5 ] }; // ; . × ⋅ 174 key <AB09> { [ colon, slash, division, 0x1002215 ] }; // : / ÷ ∕ 175 key <AB10> { [ exclam, section, exclamdown, 0x1002212 ] }; // ! § ¡ − 176}; 177 178partial alphanumeric_keys 179xkb_symbols "oss_latin9" { 180 181 // Restricts the fr(oss) layout to latin9 symbols 182 183 include "fr(oss)" 184 include "keypad(oss_latin9)" 185 186 name[Group1]="France - Alternative, latin-9 only"; 187 188 // First row 189 key <AE01> { [ ampersand, 1, dead_caron, dead_cedilla ] }; // & 1 ˇ ¸ 190 key <AE03> { [ quotedbl, 3, numbersign, dead_tilde ] }; // " 3 # ~ 191 key <AE04> { [ apostrophe, 4, braceleft, underscore ] }; // ' 4 { _ 192 key <AE05> { [ parenleft, 5, bracketleft, minus ] }; // ( 5 [ - 193 key <AE06> { [ minus, 6, bar, minus ] }; // - 6 | - 194 key <AE08> { [ underscore, 8, backslash, backslash ] }; // _ 8 \ \ 195 key <AE11> { [ parenright, degree, bracketright, equal ] }; // ) ° ] = 196 197 // Third row 198 key <AC02> { [ s, S, ssharp, guillemotleft ] }; // s S ß « 199 key <AC04> { [ f, F, apostrophe, apostrophe ] }; // f F ' ' 200 key <AC05> { [ g, G, apostrophe, yen ] }; // g G ' ¥ 201 key <AC09> { [ l, L, periodcentered, periodcentered ] }; // l L · · 202 key <BKSL> { [ asterisk, mu, dead_grave, dead_circumflex ] }; // * µ ` ^ 203 204 // Fourth row 205 key <LSGT> { [ less, greater, less, greater ] }; // < > < > 206 key <AB01> { [ w, W, guillemotleft, guillemotleft ] }; // w W « « 207 key <AB02> { [ x, X, guillemotright, guillemotright ] }; // x X » » 208 key <AB04> { [ v, V, nobreakspace, less ] }; // v V ⍽ < (espace insécable) 209 key <AB05> { [ b, B, minus, asciicircum ] }; // b B - ^ 210 key <AB06> { [ n, N, notsign, greater ] }; // n N ¬ > 211 key <AB07> { [ comma, question, questiondown, period ] }; // , ? ¿ . 212 key <AB08> { [ semicolon, period, multiply, periodcentered ] }; // ; . × · 213 key <AB09> { [ colon, slash, division, slash ] }; // : / ÷ / 214 key <AB10> { [ exclam, section, exclamdown, minus ] }; // ! § ¡ - 215}; 216 217partial alphanumeric_keys 218xkb_symbols "oss_Sundeadkeys" { 219 220 // Modifies the basic fr(oss) layout to use the Sun dead keys 221 222 include "fr(oss)" 223 224 // First row 225 key <TLDE> { [ twosuperior, threesuperior, onesuperior, SunFA_Cedilla ] }; // ¹ ² ³ ¸ 226 227 // Second row 228 key <AD11> { [ SunFA_Circum, SunFA_Diaeresis, SunFA_Tilde, dead_abovering ] }; // ^ ̈ ̃ ˚ 229 230 //Third row 231 key <AC11> { [ ugrave, percent, SunFA_Acute, Ugrave ] }; // ù % ' Ù 232 key <BKSL> { [ asterisk, mu, SunFA_Grave, dead_macron ] }; // * µ ` ̄ 233}; 234 235partial alphanumeric_keys 236xkb_symbols "oss_sundeadkeys" { 237 238 include "fr(oss_Sundeadkeys)" 239 240 name[Group1]="France - Alternative, Sun dead keys"; 241}; 242 243partial alphanumeric_keys 244xkb_symbols "oss_nodeadkeys" { 245 246 // Modifies the basic fr(oss) layout to eliminate all dead keys 247 248 include "fr(oss)" 249 250 name[Group1]="France - Alternative, eliminate dead keys"; 251 252 key <TLDE> { [ twosuperior, threesuperior, onesuperior, cedilla ] }; // ² ³ ¹ ¸ 253 key <AE01> { [ ampersand, 1, caron, ogonek ] }; // & 1 ˇ ̨ 254 key <AE03> { [ quotedbl, 3, numbersign, breve ] }; // " 3 # ˘ 255 256 // Second row 257 key <AD11> { [ circumflex, diaeresis, asciitilde, Aring ] }; // ^ ̈ ̃ Å 258 key <AC11> { [ ugrave, percent, acute, Ugrave ] }; // ù % ' Ù 259 key <BKSL> { [ asterisk, mu, grave, macron ] }; // * µ ` ̄ 260}; 261 262 263// Historic Linux French keyboard layout (fr-latin9) 264// Copyright (c) 199x, 2002 Rene Cougnenc (original work) 265// Guylhem Aznar <clavier @ externe.net> (maintainer) 266// Nicolas Mailhot <Nicolas.Mailhot @ laposte.net> 267// (XFree86 submission) 268// 269// $XFree86: xc/programs/xkbcomp/symbols/fr-latin9,v 1.1 2002/12/20 02:07:11 dawes Exp $ 270// 271// This layout has long been distributed and refined outside official channels. 272// To this day it remains more feature-rich and popular than the 'fr' layout. 273// 274// This file is derived from an original version by Guylhem Aznar. The 275// original version is always available from: 276// http://en.tldp.org/HOWTO/Francophones-HOWTO.html 277// and is distributed under a GPL license. 278// 279// The author has given permission for this derived version to be distributed 280// under the standard XFree86 license. He would like all changes to this 281// version be send to him at <clavier @ externe.net> so he can sync the 282// identically named linux console map (kbd, linux-console) and this 283// fileout-of-tree GPL version. 284// 285// Now follows the keyboard design description in French. 286// (If you can't read it you probably have no business changing this file anyway:) 287// 288// Les accents circonflexes des principales voyelles sont obtenus avec 289// la touche Alt_Gr, les trémas sont obtenus par Alt_Gr + Shift. 290// 291// ____ _________ _____________ _______ 292// | S A| S = Shift, A = AltGr + Shift | Imprime | Arrêt défil | Pause | 293// | s a| s = normal, a = AltGr | Exec | | Halte | 294// ¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯ 295// ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ _______ 296// | œ "| 1 ·| 2 É| 3 ,| 4 '| 5 "| 6 || 7 È| 8 ¯| 9 Ç| 0 À| ° ÿ| + °| <-- | 297// | Œ "| & '| é ~| " #| ' {| ( [| - || è `| _ \| ç ^| à @| ) ]| = }| | 298// ======================================================================== 299// | |<- | A ä| Z Å| E ¢| R Ç| T Þ| Y Ý| U ü| I ï| O ö| P '| " `| $ ë| , | 300// | ->| | a â| z å| e €| r ç| t þ| y ý| u û| i î| o ô| p ¶| ^ ~| £ ê| <-' | 301// ===================================================================¬ | 302// | | Q Ä| S Ø| D Ë| F ª| G Æ| H Ð| J Ü| K Ï| L Ö| M º| % Ù| µ ¥| | 303// | MAJ | q Â| s ø| d Ê| f ±| g æ| h ð| j Û| k Î| l Ô| m ¹| ù ²| * ³| | 304// ======================================================================== 305// | ^ | > | W | X | C | V | B | N | ? | . | / | § | ^ | 306// | | | < || w «| x »| c ©| v ®| b ß| n ¬| , ¿| ; ×| : ÷| ! ¡| | | 307// ======================================================================== 308// | | | | | | | | | 309// | Ctrl | Super| Alt | Space Nobreakspace | AltGr | Super|Menu | Ctrl | 310// ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯ ¯¯¯¯¯¯ 311// 312// 313// Si les touches mortes fonctionnent, utiliser les accents dits 314// « morts », i.e. fonctionnant comme l'accent circonflexe & le 315// tréma des machines à écrire ; sont disponibles : 316// 317// (^) : accent circonflexe, 318// Shift+(^) : tréma, 319// Shift+AltGr (^) : tilde, 320// AltGr (1) : accent aigu, 321// AltGr (7) : accent grave 322// 323// Pour s'en servir, procéder comme avec l'accent circonflexe & le tréma 324// sur les vielles machines à écrire : 325// 326// AltGr (1) puis e : é 327// Shift+AltGr (1) puis e : É ... 328partial alphanumeric_keys 329 330xkb_symbols "latin9" { 331 332 include "latin" 333 include "nbsp(level3)" 334 335 name[Group1]="France - (Legacy) Alternative"; 336 337 key <TLDE> { [ oe, OE, leftdoublequotemark, rightdoublequotemark ] }; 338 key <AE01> { [ ampersand, 1, dead_acute, periodcentered ] }; 339 key <AE02> { [ eacute, 2, asciitilde, Eacute ] }; 340 key <AE03> { [ quotedbl, 3, numbersign, cedilla ] }; 341 key <AE04> { [ apostrophe, 4, braceleft, acute ] }; 342 key <AE05> { [ parenleft, 5, bracketleft, diaeresis ] }; 343 key <AE06> { [ minus, 6, bar, brokenbar ] }; 344 key <AE07> { [ egrave, 7, dead_grave, Egrave ] }; 345 key <AE08> { [ underscore, 8, backslash, macron ] }; 346 key <AE09> { [ ccedilla, 9, asciicircum, Ccedilla ] }; 347 key <AE10> { [ agrave, 0, at, Agrave ] }; 348 key <AE11> { [ parenright, degree, bracketright, ydiaeresis ] }; 349 key <AE12> { [ equal, plus, braceright, dead_abovering ] }; 350 351 key <AD01> { [ a, A, acircumflex, adiaeresis ] }; 352 key <AD02> { [ z, Z, aring, Aring ] }; 353 key <AD03> { [ e, E, EuroSign, cent ] }; 354 key <AD04> { [ r, R, ccedilla, Ccedilla ] }; 355 key <AD05> { [ t, T, thorn, THORN ] }; 356 key <AD06> { [ y, Y, yacute, Yacute ] }; 357 key <AD07> { [ u, U, ucircumflex, udiaeresis ] }; 358 key <AD08> { [ i, I, icircumflex, idiaeresis ] }; 359 key <AD09> { [ o, O, ocircumflex, odiaeresis ] }; 360 key <AD10> { [ p, P, paragraph, quoteleft ] }; 361 key <AD11> { [ dead_circumflex, dead_diaeresis, dead_tilde, quoteright ] }; 362 key <AD12> { [ dollar, sterling, ecircumflex, ediaeresis ] }; 363 364 key <AC01> { [ q, Q, Acircumflex, Adiaeresis ] }; 365 key <AC02> { [ s, S, oslash, Ooblique ] }; 366 key <AC03> { [ d, D, Ecircumflex, Ediaeresis ] }; 367 key <AC04> { [ f, F, plusminus, ordfeminine ] }; 368 key <AC05> { [ g, G, ae, AE ] }; 369 key <AC06> { [ h, H, eth, ETH ] }; 370 key <AC07> { [ j, J, Ucircumflex, Udiaeresis ] }; 371 key <AC08> { [ k, K, Icircumflex, Idiaeresis ] }; 372 key <AC09> { [ l, L, Ocircumflex, Odiaeresis ] }; 373 key <AC10> { [ m, M, onesuperior, masculine ] }; 374 key <AC11> { [ ugrave, percent, twosuperior, Ugrave ] }; 375 key <BKSL> { [ asterisk, mu, threesuperior, yen ] }; 376 377 key <LSGT> { [ less, greater, bar ] }; 378 key <AB01> { [ w, W, guillemotleft ] }; 379 key <AB02> { [ x, X, guillemotright ] }; 380 key <AB03> { [ c, C, copyright ] }; 381 key <AB04> { [ v, V, registered ] }; 382 key <AB05> { [ b, B, ssharp ] }; 383 key <AB06> { [ n, N, notsign ] }; 384 key <AB07> { [ comma, question, questiondown ] }; 385 key <AB08> { [ semicolon, period, multiply ] }; 386 key <AB09> { [ colon, slash, division ] }; 387 key <AB10> { [ exclam, section, exclamdown ] }; 388 389 // French uses a comma as decimal separator, but keyboards are labeled with a period 390 // Will take effect when KP_Decimal is mapped to the locale decimal separator 391 key <KPDL> { [ KP_Delete, period, KP_Delete, KP_Decimal ] }; 392 393 include "level3(ralt_switch)" 394}; 395 396partial alphanumeric_keys 397xkb_symbols "latin9_Sundeadkeys" { 398 399 // Modifies the basic fr-latin9 layout to use the Sun dead keys 400 401 include "fr(latin9)" 402 403 key <AE01> { [ ampersand, 1, SunFA_Acute, periodcentered ] }; 404 key <AE07> { [ egrave, 7, SunFA_Grave, Egrave ] }; 405 key <AD11> { [ SunFA_Circum, SunFA_Diaeresis, SunFA_Tilde, quoteright ] }; 406 407}; 408 409partial alphanumeric_keys 410xkb_symbols "latin9_sundeadkeys" { 411 412 include "fr(latin9_Sundeadkeys)" 413 414 name[Group1]="France - (Legacy) Alternative, Sun dead keys"; 415}; 416 417partial alphanumeric_keys 418xkb_symbols "latin9_nodeadkeys" { 419 420 // Modifies the basic fr-latin9 layout to eliminate all dead keys 421 422 include "fr(latin9)" 423 424 name[Group1]="France - (Legacy) Alternative, eliminate dead keys"; 425 426 key <AE01> { [ ampersand, 1, apostrophe, periodcentered ] }; 427 key <AE07> { [ egrave, 7, grave, Egrave ] }; 428 key <AE12> { [ equal, plus, braceright ] }; 429 key <AD11> { [ asciicircum, diaeresis, asciitilde, quoteright ] }; 430}; 431 432// Bépo : Improved ergonomic french keymap using Dvorak method. 433// Built by community on 'Dvorak Fr' mailing list : 434// dvorak-fr@gpl.insa-lyon.fr and on its wiki : http://gpl.insa-lyon.fr/Dvorak-Fr/ . 435// XOrg integration in 2006 by Frédéric Boiteux <fboiteux @ free.fr> 436// 437// Bépo layout (6.2.1.1 version) for a pc105 keyboard (french) : 438// ┌────┐ 439// │ S A│ S = Shift, A = AltGr + Shift 440// │ s a│ s = normal, a = AltGr 441// └────┘ 442// 443// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓ 444// │ $ │ 1 ¹ │ 2 ² │ 3 ³ │ 4 ° │ 5 ˚ │ 6 │ 7 │ 8 │ 9 │ 0 │ ^ │ µ ┃ ⌫ Retour┃ 445// │ @ # │ _ { │ " } │ « < │ » > │ ( [ │ ) ] │ + ± │ - ¬ │ * × │ / ÷ │ = ¯ │ % ┃ arrière┃ 446// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫ 447// ┃ ┃ B │ É ˊ │ P ¶ │ O Œ │ È ` │ Ç │ V │ D Ð │ L │ F │ J │ Z ┃Entrée ┃ 448// ┃Tab ↹ ┃ b | │ é & │ p § │ o œ │ è ` │ ç │ v │ d ð │ l £ │ f ª │ j │ z ┃ ⏎ ┃ 449// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃ 450// ┃ ┃ A Æ │ U Ù │ I ˇ │ E │ ? │ C ¢ │ T Þ │ S │ N │ R │ M │ ! ┃ ┃ 451// ┃Maj ⇬ ┃ a æ │ u ù │ i ̈ │ e € │ , ¿ │ c © │ t þ │ s ß │ n │ r ® │ m º │ ˆ ¡ ┃ ┃ 452// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫ 453// ┃ ┃ ù │ À ˜ │ H │ Y │ : · │ K │ ; │ Q │ G │ X │ W ┃ ┃ 454// ┃Shift ⇧┃ ê / │ à ~ │ h ! │ y ¥ │ . \ │ k │ ' │ q │ g │ x │ w ┃Shift ⇧ ┃ 455// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛ 456// ┃ ┃ ┃ ┃ ⍽ Espace insécable ␣ ┃ ┃ ┃ ┃ 457// ┃Ctrl ┃Meta ┃Alt ┃ ␣ Espace ␣ ┃AltGr ⇮┃Menu ┃Ctrl ┃ 458// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛ 459partial alphanumeric_keys 460xkb_symbols "bepo" { 461 462 include "keypad(oss)" 463 464 name[Group1]= "France - Bepo, ergonomic, Dvorak way"; 465 466 // First row 467 key <TLDE> { [ at, dollar, numbersign ] }; // @ $ # 468 key <AE01> { [ underscore, 1, braceleft, onesuperior ] }; // _ 1 { ¹ 469 key <AE02> { [ quotedbl, 2, braceright, twosuperior ] }; // " 2 } ² 470 key <AE03> { [ guillemotleft, 3, less, threesuperior ] }; // « 3 < ³ 471 key <AE04> { [ guillemotright, 4, greater, degree ] }; // » 4 > ° 472 key <AE05> { [ parenleft, 5, bracketleft, dead_abovering ] }; // ( 5 [ ˚ 473 key <AE06> { [ parenright, 6, bracketright ] }; // ) 6 ] 474 key <AE07> { [ plus, 7, plusminus ] }; // + 7 ± 475 key <AE08> { [ minus, 8, notsign ] }; // - 8 ¬ 476 key <AE09> { [ asterisk, 9, multiply ] }; // * 9 × 477 key <AE10> { [ slash, 0, division ] }; // / 0 ÷ 478 key <AE11> { [ equal, asciicircum, macron ] }; // = ^ ¯ 479 key <AE12> { [ percent, mu ] }; // % µ 480 481 // Second row 482 key <AD01> { [ b, B, bar ] }; // b B | 483 key <AD02> { [ eacute, Eacute, ampersand, dead_acute ] }; // é É & ˊ 484 key <AD03> { [ p, P, section, paragraph ] }; // p P § ¶ 485 key <AD04> { [ o, O, oe, OE ] }; // o O œ Œ 486 key <AD05> { [ egrave, Egrave, grave, dead_grave ] }; // è È ` ` 487 key <AD06> { [ ccedilla, Ccedilla ] }; // ç Ç 488 key <AD07> { [ v, V ] }; // v V 489 key <AD08> { [ d, D, eth, ETH ] }; // d D ð Ð 490 key <AD09> { [ l, L, sterling ] }; // l L £ 491 key <AD10> { [ f, F, ordfeminine ] }; // f F ª 492 key <AD11> { [ j, J ] }; // j J 493 key <AD12> { [ z, Z ] }; // z Z 494 495 // Third row 496 key <AC01> { [ a, A, ae, AE ] }; // a A æ Æ 497 key <AC02> { [ u, U, ugrave, Ugrave ] }; // u U ù Ù 498 key <AC03> { [ i, I, dead_diaeresis, dead_caron ] }; // i I ̈ ˇ 499 key <AC04> { [ e, E, EuroSign ] }; // e E € 500 key <AC05> { [ comma, question, questiondown ] }; // , ? ¿ 501 key <AC06> { [ c, C, copyright, cent ] }; // c C © ¢ 502 key <AC07> { [ t, T, thorn, Thorn ] }; // t T þ Þ 503 key <AC08> { [ s, S, ssharp ] }; // s S ß 504 key <AC09> { [ n, N ] }; // n N 505 key <AC10> { [ r, R, registered ] }; // r R ® 506 key <AC11> { [ m, M, masculine ] }; // m M º 507 key <BKSL> { [ dead_circumflex, exclam, exclamdown ] }; // ^ ! ¡ 508 509 // Fourth row 510 key <LSGT> { [ ecircumflex, ugrave, slash ] }; // ê ù / 511 key <AB01> { [ agrave, Agrave, asciitilde, dead_tilde ] }; // à À ~ ~ 512 key <AB02> { [ h, H, exclam ] }; // h H ! 513 key <AB03> { [ y, Y, yen ] }; // y Y ¥ 514 key <AB04> { [ period, colon, backslash, periodcentered ] }; // . : \ · 515 key <AB05> { [ k, K ] }; // k K 516 key <AB06> { [ apostrophe, semicolon ] }; // ' ; 517 key <AB07> { [ q, Q, oslash, Ooblique ] }; // q Q ø Ø 518 key <AB08> { [ g, G ] }; // g G 519 key <AB09> { [ x, X ] }; // x X 520 key <AB10> { [ w, W ] }; // w W 521 522 key <SPCE> { [ space, nobreakspace, space, space ] }; // ␣ ⍽ (espace insécable) ␣ ␣ 523 524 include "level3(ralt_switch)" 525}; 526 527partial alphanumeric_keys 528xkb_symbols "bepo_latin9" { 529 530 // Restricts the fr(bepo) layout to latin9 symbols 531 532 include "keypad(oss_latin9)" 533 include "fr(bepo)" 534 535 name[Group1]="France - Bepo, ergonomic, Dvorak way, latin-9 only"; 536 537 // at now, no difference (oss keypad excepted), but will change ! 538}; 539 540 541// Keymap Dvorak pour le Français 542// par Josselin Mouette <josselin.mouette@ens-lyon.org>. 543 544partial alphanumeric_keys 545xkb_symbols "dvorak" { 546 547 name[Group1]= "France - (Legacy) Dvorak"; 548 549 key <TLDE> { [ oe, OE, ae, AE ] }; 550 551 key <AE01> { [ slash, 1, ampersand, onesuperior ] }; 552 key <AE02> { [ plus, 2, asciitilde, twosuperior ] }; 553 key <AE03> { [ minus, 3, numbersign, threesuperior ] }; 554 key <AE04> { [ asterisk, 4, less, guillemotleft ] }; 555 key <AE05> { [ equal, 5, greater, guillemotright ] }; 556 key <AE06> { [ backslash, 6, at, notsign ] }; 557 key <AE07> { [ parenleft, 7, dead_circumflex, multiply ] }; 558 key <AE08> { [ grave, 8, dead_grave, division ] }; 559 key <AE09> { [ parenright, 9, asciicircum, plusminus ] }; 560 key <AE10> { [ quotedbl, 0, dead_diaeresis, dead_diaeresis ] }; 561 key <AE11> { [bracketleft, braceleft, bar, degree ] }; 562 key <AE12> { [bracketright, braceright, percent, percent ] }; 563 564 key <AD01> { [ colon, question, question, questiondown ] }; 565 key <AD02> { [ agrave, Agrave, aring, Aring ] }; 566 key <AD03> { [ eacute, Eacute, EuroSign, cent ] }; 567 key <AD04> { [ g, G, oslash, Ooblique ] }; 568 key <AD05> { [ period, exclam, periodcentered, exclamdown ] }; 569 key <AD06> { [ h, H, eth, ETH ] }; 570 key <AD07> { [ v, V ] }; 571 key <AD08> { [ c, C, copyright, registered ] }; 572 key <AD09> { [ m, M, mu, mu ] }; 573 key <AD10> { [ k, K, dollar, dollar ] }; 574 key <AD11> { [ egrave, Egrave, sterling, sterling ] }; 575 key <AD12> { [ z, Z, yen, yen ] }; 576 577 key <AC01> { [ o, O, ocircumflex, Ocircumflex ] }; 578 key <AC02> { [ a, A, acircumflex, Acircumflex ] }; 579 key <AC03> { [ u, U, ucircumflex, Ucircumflex ] }; 580 key <AC04> { [ e, E, ecircumflex, Ecircumflex ] }; 581 key <AC05> { [ b, B, ssharp, ssharp ] }; 582 key <AC06> { [ f, F ] }; 583 key <AC07> { [ s, S ] }; 584 key <AC08> { [ t, T, thorn, THORN ] }; 585 key <AC09> { [ n, N, ntilde, Ntilde ] }; 586 key <AC10> { [ d, D, section, section ] }; 587 key <AC11> { [ w, W, paragraph, paragraph ] }; 588 key <BKSL> { [ ugrave, Ugrave, masculine, ordfeminine ] }; 589 590 key <AB01> { [ apostrophe, underscore, dead_acute, macron ] }; 591 key <AB02> { [ q, Q, guillemotleft, guillemotleft ] }; 592 key <AB03> { [ comma, semicolon, guillemotright, guillemotright ] }; 593 key <AB04> { [ i, I, icircumflex, Icircumflex ] }; 594 key <AB05> { [ y, Y, ydiaeresis, Ydiaeresis ] }; 595 key <AB06> { [ x, X, ediaeresis, Ediaeresis ] }; 596 key <AB07> { [ r, R, udiaeresis, Udiaeresis ] }; 597 key <AB08> { [ l, L, adiaeresis, Adiaeresis ] }; 598 key <AB09> { [ p, P, odiaeresis, Odiaeresis ] }; 599 key <AB10> { [ j, J, idiaeresis, Idiaeresis ] }; 600 601 key <SPCE> { [ space, space, nobreakspace, nobreakspace ] }; 602 key <LSGT> { [ ccedilla, Ccedilla ] }; 603 604 include "level3(ralt_switch)" 605}; 606 607// Marc.Shapiro@inria.fr 19-sep-1998 608// modifications : Etienne Herlent <eherlent@linux-france.org> june 2000 609// adapted to the new input layer : 610// Martin Costabel <costabel@wanadoo.fr> 3-jan-2001 611// adapted for Latin9 alphabet (ISO-8859-15): 612// Etienne Herlent <eherlent@linux-france.org> march 2005 613 614// This map is an almost-complete mapping of the standard French 615// MacIntosh keyboard under Xwindows. I tried to remain as faithful 616// as possible to the Mac meaning of each key. I did this entirely by 617// hand and by intuition, relying on the Clavier (Keyboard?) Desktop 618// Accessory for the Mac meaning of keys, and on reading keysymdef.h 619// to intuit the corresponding X names. Lacking proper documentation, 620// I may have made some mistakes. 621 622// Entries marked CHECK are particularly uncertain 623 624// Entries marked MISSING mark Mac characters for which I was unable 625// to find a corresponding keysym. (Some for sure don't: e.g. the 626// Apple mark and the oe/OE character; others I may have simply not 627// found.) 628 629// Copied from macintosh_vndr/fr 630partial alphanumeric_keys 631xkb_symbols "mac" { 632 633 name[Group1]= "France - Macintosh"; 634 635 // Alphanumeric section 636 key <TLDE> { [ at, numbersign, periodcentered, Ydiaeresis ] }; // MISSING: Ydiaeresis; eherlent : ok in Latin9 637 key <AE01> { [ ampersand, 1, VoidSymbol, dead_acute ] }; // MISSING: Apple 638 key <AE02> { [ eacute, 2, ediaeresis, Eacute ] }; 639 key <AE03> { [ quotedbl, 3, VoidSymbol, VoidSymbol ] }; // CHECK all quotemarks 640 key <AE04> { [ apostrophe, 4, VoidSymbol, VoidSymbol ] }; 641 key <AE05> { [ parenleft, 5, braceleft, bracketleft ] }; 642 // CHECK section 643 key <AE06> { [ section, 6, paragraph, aring ] }; 644 key <AE07> { [ egrave, 7, guillemotleft, guillemotright ] }; 645 key <AE08> { [ exclam, 8, exclamdown, Ucircumflex ] }; 646 key <AE09> { [ ccedilla, 9, Ccedilla, Aacute ] }; 647 key <AE10> { [ agrave, 0, oslash, VoidSymbol ] }; // MISSING: Oslash 648 key <AE11> { [ parenright, degree, braceright, bracketright ] }; 649 key <AE12> { [ minus, underscore, emdash, endash ] }; // CHECK dashes 650 651 key <AD01> { [ a, A, ae, AE ] }; 652 key <AD02> { [ z, Z, Acircumflex, Aring ] }; 653 key <AD03> { [ e, E, ecircumflex, Ecircumflex ] }; 654 key <AD04> { [ r, R, registered, currency ] }; 655 key <AD05> { [ t, T, VoidSymbol, VoidSymbol ] }; 656 key <AD06> { [ y, Y, Uacute, Ydiaeresis ] }; // MISSING: Ydiaeresis; eherlent : ok in Latin9 657 key <AD07> { [ u, U, VoidSymbol, ordfeminine ] }; // MISSING: ordmasculine? 658 key <AD08> { [ i, I, icircumflex, idiaeresis ] }; 659 key <AD09> { [ o, O, oe, OE ] }; // MISSING: oe, OE lacking in Latin1; eherlent ok in Latin9 660 key <AD10> { [ p, P, VoidSymbol, VoidSymbol ] }; 661 key <AD11> { [dead_circumflex,dead_diaeresis, ocircumflex, Ocircumflex ] }; 662 key <AD12> { [ dollar, asterisk, EuroSign, yen ] }; // eherlent : EuroSign in Latin9 663 664 key <AC01> { [ q, Q, acircumflex, Agrave ] }; 665 key <AC02> { [ s, S, Ograve, VoidSymbol ] }; 666 key <AC03> { [ d, D, VoidSymbol, VoidSymbol ] }; 667 key <AC04> { [ f, F, VoidSymbol, periodcentered ] }; // MISSING: oblong script f?? 668 key <AC05> { [ g, G, VoidSymbol, VoidSymbol ] }; // MISSING: kerned fi, fl 669 key <AC06> { [ h, H, Igrave, Icircumflex ] }; 670 key <AC07> { [ j, J, Idiaeresis, Iacute ] }; 671 key <AC08> { [ k, K, Egrave, Ediaeresis ] }; 672 key <AC09> { [ l, L, notsign, bar ] }; 673 key <AC10> { [ m, M, mu, Oacute ] }; 674 key <AC11> { [ ugrave,percent, Ugrave, ucircumflex ] }; // MISSING: per-mille 675 key <BKSL> { [ dead_grave, sterling, at, numbersign ] }; 676 677 key <LSGT> { [ less, greater, VoidSymbol, VoidSymbol ] }; 678 key <AB01> { [ w, W, VoidSymbol, VoidSymbol ] }; // MISSING: half-guillemot (single angle bracket) 679 key <AB02> { [ x, X, VoidSymbol, VoidSymbol ] }; // CHECK similarequal; MISSING: extra-slanted slash 680 key <AB03> { [ c, C, copyright, cent ] }; 681 key <AB04> { [ v, V, diamond, leftradical ] }; // CHECK diamond, leftradical 682 key <AB05> { [ b, B, ssharp, VoidSymbol ] }; // CHECK: Greek_beta or ssharp?; MISSING: oblong script s 683 key <AB06> { [ n, N, dead_tilde, asciitilde ] }; 684 key <AB07> { [ comma, question, VoidSymbol, questiondown ] }; 685 key <AB08> { [ semicolon, period, VoidSymbol, periodcentered ] }; 686 key <AB09> { [ colon, slash, division, backslash ] }; 687 key <AB10> { [ equal, plus, VoidSymbol, plusminus ] }; 688 689 key <SPCE> { [ space, space, nobreakspace, nobreakspace ] }; 690 // End alphanumeric section 691 692 key <KPDL> { [ comma,KP_Decimal ] }; 693 694 include "level3(ralt_switch)" 695}; 696 697partial alphanumeric_keys 698xkb_symbols "geo" { 699 include "ge(basic)" 700 701 name[Group1]= "France - Georgian AZERTY Tskapo"; 702 703 key <TLDE> { [ exclam, noSymbol ] }; 704 key <AE01> { [ 0x0100201e, 1 ] }; 705 key <AE02> { [ 0x01002116, 2 ] }; 706 key <AE03> { [ percent, 3 ] }; 707 key <AE04> { [ parenleft, 4 ] }; 708 key <AE05> { [ colon, 5 ] }; 709 key <AE06> { [ semicolon, 6 ] }; 710 key <AE07> { [ question, 7 ] }; 711 key <AE08> { [ 0x01002116, 8 ] }; 712 key <AE09> { [ degree, 9 ] }; 713 key <AE10> { [ parenright, 0 ] }; 714 key <AE11> { [ minus, underscore, 0x01002014 ] }; 715 key <AE12> { [ less, greater ] }; 716 717 key <AD01> { [ 0x010010d0, 0x010010fa ] }; 718 key <AD02> { [ 0x010010d6, Z ] }; 719 key <AD03> { [ 0x010010d4, E, 0x010010f1 ] }; 720 key <AD04> { [ 0x010010e0, 0x010000ae ] }; 721 key <AD05> { [ 0x010010e2, T ] }; 722 key <AD06> { [ 0x010010e7, 0x010010f8 ] }; 723 key <AD07> { [ 0x010010e3, U ] }; 724 key <AD08> { [ 0x010010d8, 0x010010f2 ] }; 725 key <AD09> { [ 0x010010dd, O ] }; 726 key <AD10> { [ 0x010010de, P ] }; 727 key <AD11> { [ 0x010010d7, T ] }; 728 key <AD12> { [ 0x010010eb, Z ] }; 729 730 key <AC01> { [ 0x010010e5, Q ] }; 731 key <AC02> { [ 0x010010e1, S ] }; 732 key <AC03> { [ 0x010010d3, D ] }; 733 key <AC04> { [ 0x010010e4, 0x010010f6 ] }; 734 key <AC05> { [ 0x010010d2, 0x010010f9 ] }; 735 key <AC06> { [ 0x010010f0, 0x010010f5 ] }; 736 key <AC07> { [ 0x010010ef, 0x010010f7 ] }; 737 key <AC08> { [ 0x010010d9, K ] }; 738 key <AC09> { [ 0x010010da, L ] }; 739 key <AC10> { [ 0x010010db, M ] }; 740 key <AC11> { [ 0x010010df, J ] }; 741 key <BKSL> { [ 0x010010e9, 0x010000a9 ] }; 742 743 key <LSGT> { [ guillemotleft,guillemotright ] }; 744 key <AB01> { [ 0x010010ec, W ] }; 745 key <AB02> { [ 0x010010ee, 0x010010f4 ] }; 746 key <AB03> { [ 0x010010ea, 0x010000a9 ] }; 747 key <AB04> { [ 0x010010d5, 0x010010f3 ] }; 748 key <AB05> { [ 0x010010d1, B ] }; 749 key <AB06> { [ 0x010010dc, 0x010010fc ] }; 750 key <AB07> { [ comma, 0x01002014 ] }; 751 key <AB08> { [ 0x010010e8, S ] }; 752 key <AB09> { [ 0x010010e6, noSymbol ] }; 753 key <AB10> { [ 0x010010ed, noSymbol ] }; 754 755}; 756 757