fr revision 0412cded
1// based on a keyboard map from an 'xkb/symbols/fr' file 2 3partial default alphanumeric_keys 4xkb_symbols "basic" { 5 6 include "latin" 7 8 name[Group1]="French"; 9 10 key <AE01> { [ ampersand, 1, onesuperior, exclamdown ] }; 11 key <AE02> { [ eacute, 2, asciitilde, oneeighth ] }; 12 key <AE03> { [ quotedbl, 3, numbersign, sterling ] }; 13 key <AE04> { [apostrophe, 4, braceleft, dollar ] }; 14 key <AE05> { [ parenleft, 5, bracketleft, threeeighths ] }; 15 key <AE06> { [ minus, 6, bar, fiveeighths ] }; 16 key <AE07> { [ egrave, 7, grave, seveneighths ] }; 17 key <AE08> { [underscore, 8, backslash, trademark ] }; 18 key <AE09> { [ ccedilla, 9, asciicircum, plusminus ] }; 19 key <AE10> { [ agrave, 0, at, degree ] }; 20 key <AE11> { [parenright, degree, bracketright, questiondown ] }; 21 key <AE12> { [ equal, plus, braceright, dead_ogonek ] }; 22 23 key <AD01> { [ a, A, ae, AE ] }; 24 key <AD02> { [ z, Z, guillemotleft, less ] }; 25 key <AD03> { [ e, E, EuroSign, cent ] }; 26 key <AD11> { [dead_circumflex, dead_diaeresis, dead_diaeresis, dead_abovering ] }; 27 key <AD12> { [ dollar, sterling, currency, dead_macron ] }; 28 29 key <AC01> { [ q, Q, at, Greek_OMEGA ] }; 30 key <AC10> { [ m, M, mu, masculine ] }; 31 key <AC11> { [ ugrave, percent, dead_circumflex, dead_caron] }; 32 key <TLDE> { [twosuperior, asciitilde, notsign, notsign ] }; 33 34 key <BKSL> { [ asterisk, mu, dead_grave, dead_breve ] }; 35 key <AB01> { [ w, W, lstroke, Lstroke ] }; 36 key <AB07> { [ comma, question, dead_acute, dead_doubleacute ] }; 37 key <AB08> { [ semicolon, period, horizconnector, multiply ] }; 38 key <AB09> { [ colon, slash, periodcentered, division ] }; 39 key <AB10> { [ exclam, section, dead_belowdot, dead_abovedot ] }; 40 41 include "level3(ralt_switch)" 42}; 43 44partial alphanumeric_keys 45xkb_symbols "olpc" { 46 // Contact: Sayamindu Dasgupta <sayamindu@laptop.org> 47 include "fr(basic)" 48 49 name[Group1]="French"; 50 51 key <I219> { [ less, greater ] }; 52 key <AD11> { [ dead_circumflex, dead_diaeresis, notsign, dead_abovering ] }; 53 key <AB08> { [ semicolon, period, underscore, multiply ] }; 54 key <TLDE> { [ twosuperior, asciitilde, VoidSymbol, VoidSymbol ] }; 55 56 // Some keys only have the Shift+AltGr character printed on them (alongside 57 // the unmodified one). Make such keys shift-invariant so that the printed 58 // value is achieved by pressing AltGr or Shift+AltGr. 59 key <AB02> { [ x, X, guillemotright, guillemotright ] }; 60 key <AC02> { [ s, S, ssharp, ssharp ] }; 61 key <AD02> { [ z, Z, guillemotleft, guillemotleft ] }; 62}; 63 64partial alphanumeric_keys 65xkb_symbols "Sundeadkeys" { 66 67 // Modifies the basic French layout to use the Sun dead keys 68 69 include "fr(basic)" 70 71 key <AD11> { [dead_circumflex, dead_diaeresis ] }; 72 key <AB07> { [comma, question, dead_acute, dead_doubleacute ] }; 73}; 74 75partial alphanumeric_keys 76xkb_symbols "sundeadkeys" { 77 include "fr(Sundeadkeys)" 78 79 name[Group1]="French (Sun dead keys)"; 80}; 81 82partial alphanumeric_keys 83xkb_symbols "nodeadkeys" { 84 85 // Modifies the basic French layout to eliminate all dead keys 86 87 include "fr(basic)" 88 89 name[Group1]="French (eliminate dead keys)"; 90 91 key <AE12> { [ equal, plus, braceright, ogonek ] }; 92 key <AD11> { [asciicircum, diaeresis ] }; 93 key <AD12> { [ dollar, sterling, currency, macron ] }; 94 key <AC11> { [ ugrave, percent, asciicircum, caron ] }; 95 key <BKSL> { [ asterisk, mu, grave, breve ] }; 96 key <AB07> { [ comma, question, acute, doubleacute ] }; 97 key <AB10> { [ exclam, section, dead_belowdot, abovedot ] }; 98}; 99 100 101// Unicode French derivative 102// Loose refactoring of the historic Linux French keyboard layout 103// 104// Copyright © 2006-2008 Nicolas Mailhot <nicolas.mailhot @ laposte.net> 105// 106// Credits (fr-latin1, fr-latin0, fr-latin9) 107// © 199x-1996 René Cougnenc ✝ 108// © 1997-2002 Guylhem Aznar <clavier @ externe.net> 109// © 2003-2006 Nicolas Mailhot <nicolas.mailhot @ laposte.net> 110// 111// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓ 112// │ ³ ¸ │ 1 ̨ │ 2 É │ 3 ˘ │ 4 — │ 5 – │ 6 ‑ │ 7 È │ 8 ™ │ 9 Ç │ 0 À │ ° ≠ │ + ± ┃ ⌫ Retour┃ 113// │ ² ¹ │ & ˇ │ é ~ │ " # │ ' { │ ( [ │ - | │ è ` │ _ \ │ ç ^ │ à @ │ ) ] │ = } ┃ arrière┃ 114// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫ 115// ┃ ┃ A Æ │ Z  │ E ¢ │ R Ê │ T Þ │ Y Ÿ │ U Û │ I Î │ O Œ │ P Ô │ ¨ ˚ │ £ Ø ┃Entrée ┃ 116// ┃Tab ↹ ┃ a æ │ z â │ e € │ r ê │ t þ │ y ÿ │ u û │ i î │ o œ │ p ô │ ^ ~ │ $ ø ┃ ⏎ ┃ 117// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃ 118// ┃ ┃ Q Ä │ S „ │ D Ë │ F ‚ │ G ¥ │ H Ð │ J Ü │ K Ï │ L Ŀ │ M Ö │ % Ù │ µ ̄ ┃ ┃ 119// ┃Maj ⇬ ┃ q ä │ s ß │ d ë │ f ‘ │ g ’ │ h ð │ j ü │ k ï │ l ŀ │ m ö │ ù ' │ * ` ┃ ┃ 120// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫ 121// ┃ ┃ > ≥ │ W “ │ X ” │ C ® │ V ← │ B ↑ │ N → │ ? … │ . . │ / ∕ │ § − ┃ ┃ 122// ┃Shift ⇧┃ < ≤ │ w « │ x » │ c © │ v ⍽ │ b ↓ │ n ¬ │ , ¿ │ ; × │ : ÷ │ ! ¡ ┃Shift ⇧ ┃ 123// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛ 124// ┃ ┃ ┃ ┃ ␣ Espace fine insécable ⍽ ┃ ┃ ┃ ┃ 125// ┃Ctrl ┃Meta ┃Alt ┃ ␣ Espace Espace insécable ⍽ ┃AltGr ⇮┃Menu ┃Ctrl ┃ 126// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛ 127partial alphanumeric_keys 128xkb_symbols "oss" { 129 130 include "latin" 131 include "level3(ralt_switch)" 132 include "nbsp(level4n)" 133 include "level5(rctrl_switch)" 134 include "keypad(oss)" 135 136 name[Group1]="French (alternative)"; 137 138 // First row 139 key <TLDE> { [ twosuperior, threesuperior, onesuperior, dead_cedilla ] }; // ² ³ ¹ ¸ 140 key <AE01> { [ ampersand, 1, dead_caron, dead_ogonek ] }; // & 1 ˇ ̨ 141 key <AE02> { [ eacute, 2, asciitilde, Eacute ] }; // é 2 ~ É 142 key <AE03> { [ quotedbl, 3, numbersign, dead_breve ] }; // " 3 # ˘ 143 key <AE04> { [ apostrophe, 4, braceleft, 0x1002014 ] }; // ' 4 { — (tiret cadratin) 144 key <AE05> { [ parenleft, 5, bracketleft, 0x1002013 ] }; // ( 5 [ – (tiret demi-cadratin) 145 key <AE06> { [ minus, 6, bar, 0x1002011 ] }; // - 6 | ‑ (tiret insécable) 146 key <AE07> { [ egrave, 7, grave, Egrave ] }; // è 7 ` È 147 key <AE08> { [ underscore, 8, backslash, trademark ] }; // _ 8 \ ™ 148 key <AE09> { [ ccedilla, 9, asciicircum, Ccedilla ] }; // ç 9 ^ Ç 149 key <AE10> { [ agrave, 0, at, Agrave ] }; // à 0 @ À 150 key <AE11> { [ parenright, degree, bracketright, notequal ] }; // ) ° ] ≠ 151 key <AE12> { [ equal, plus, braceright, plusminus ] }; // = + } ± 152 153 // Second row 154 key <AD01> { [ a, A, ae, AE ] }; // a A æ Æ 155 key <AD02> { [ z, Z, acircumflex, Acircumflex ] }; // z Z â  156 key <AD03> { [ e, E, EuroSign, cent ] }; // e E € ¢ 157 key <AD04> { [ r, R, ecircumflex, Ecircumflex ] }; // r R ê Ê 158 key <AD05> { [ t, T, thorn, THORN ] }; // t T þ Þ 159 key <AD06> { [ y, Y, ydiaeresis, Ydiaeresis ] }; // y Y ÿ Ÿ 160 key <AD07> { [ u, U, ucircumflex, Ucircumflex ] }; // u U û Û 161 key <AD08> { [ i, I, icircumflex, Icircumflex ] }; // i I î Î 162 key <AD09> { [ o, O, oe, OE ] }; // o O œ Œ 163 key <AD10> { [ p, P, ocircumflex, Ocircumflex ] }; // p P ô Ô 164 key <AD11> { [ dead_circumflex, dead_diaeresis, dead_tilde, dead_abovering ] }; // ^ ̈ ̃ ˚ 165 key <AD12> { [ dollar, sterling, oslash, Ooblique ] }; // $ £ ø Ø 166 167 // Third row 168 key <AC01> { [ q, Q, adiaeresis, Adiaeresis ] }; // q Q ä Ä 169 key <AC02> { [ s, S, ssharp, doublelowquotemark ] }; // s S ß „ 170 key <AC03> { [ d, D, ediaeresis, Ediaeresis ] }; // d D ë Ë 171 key <AC04> { [ f, F, leftsinglequotemark, singlelowquotemark ] }; // f F ‘ ‚ 172 key <AC05> { [ g, G, rightsinglequotemark, yen ] }; // g G ’ ¥ 173 key <AC06> { [ h, H, eth, ETH ] }; // h H ð Ð 174 key <AC07> { [ j, J, udiaeresis, Udiaeresis ] }; // j J ü Ü 175 key <AC08> { [ k, K, idiaeresis, Idiaeresis ] }; // k K ï Ï 176 key <AC09> { [ l, L, 0x1000140, 0x100013F ] }; // l L ŀ Ŀ 177 key <AC10> { [ m, M, odiaeresis, Odiaeresis ] }; // m M ö Ö 178 key <AC11> { [ ugrave, percent, dead_acute, Ugrave ] }; // ù % ' Ù 179 key <BKSL> { [ asterisk, mu, dead_grave, dead_macron ] }; // * µ ` ̄ 180 181 // Fourth row 182 key <LSGT> { [ less, greater, lessthanequal, greaterthanequal ] }; // < > ≤ ≥ 183 key <AB01> { [ w, W, guillemotleft, leftdoublequotemark ] }; // w W « “ 184 key <AB02> { [ x, X, guillemotright, rightdoublequotemark ] }; // x X » ” 185 key <AB03> { [ c, C, copyright, registered ] }; // c C © ® 186 key <AB04> { [ v, V, 0x100202F, leftarrow ] }; // v V ⍽ ← (espace fine insécable) 187 key <AB05> { [ b, B, downarrow, uparrow ] }; // b B ↓ ↑ 188 key <AB06> { [ n, N, notsign, rightarrow ] }; // n N ¬ → 189 key <AB07> { [ comma, question, questiondown, 0x1002026 ] }; // , ? ¿ … 190 key <AB08> { [ semicolon, period, multiply, 0x10022C5 ] }; // ; . × ⋅ 191 key <AB09> { [ colon, slash, division, 0x1002215 ] }; // : / ÷ ∕ 192 key <AB10> { [ exclam, section, exclamdown, 0x1002212 ] }; // ! § ¡ − 193}; 194 195partial alphanumeric_keys 196xkb_symbols "oss_latin9" { 197 198 // Restricts the fr(oss) layout to latin9 symbols 199 200 include "fr(oss)" 201 include "keypad(oss_latin9)" 202 203 name[Group1]="French (alternative, latin-9 only)"; 204 205 // First row 206 key <AE01> { [ ampersand, 1, dead_caron, dead_cedilla ] }; // & 1 ˇ ¸ 207 key <AE03> { [ quotedbl, 3, numbersign, dead_tilde ] }; // " 3 # ~ 208 key <AE04> { [ apostrophe, 4, braceleft, underscore ] }; // ' 4 { _ 209 key <AE05> { [ parenleft, 5, bracketleft, minus ] }; // ( 5 [ - 210 key <AE06> { [ minus, 6, bar, minus ] }; // - 6 | - 211 key <AE08> { [ underscore, 8, backslash, backslash ] }; // _ 8 \ \ 212 key <AE11> { [ parenright, degree, bracketright, equal ] }; // ) ° ] = 213 214 // Third row 215 key <AC02> { [ s, S, ssharp, guillemotleft ] }; // s S ß « 216 key <AC04> { [ f, F, apostrophe, apostrophe ] }; // f F ' ' 217 key <AC05> { [ g, G, apostrophe, yen ] }; // g G ' ¥ 218 key <AC09> { [ l, L, periodcentered, periodcentered ] }; // l L · · 219 key <BKSL> { [ asterisk, mu, dead_grave, dead_circumflex ] }; // * µ ` ^ 220 221 // Fourth row 222 key <LSGT> { [ less, greater, less, greater ] }; // < > < > 223 key <AB01> { [ w, W, guillemotleft, guillemotleft ] }; // w W « « 224 key <AB02> { [ x, X, guillemotright, guillemotright ] }; // x X » » 225 key <AB04> { [ v, V, nobreakspace, less ] }; // v V ⍽ < (espace insécable) 226 key <AB05> { [ b, B, minus, asciicircum ] }; // b B - ^ 227 key <AB06> { [ n, N, notsign, greater ] }; // n N ¬ > 228 key <AB07> { [ comma, question, questiondown, period ] }; // , ? ¿ . 229 key <AB08> { [ semicolon, period, multiply, periodcentered ] }; // ; . × · 230 key <AB09> { [ colon, slash, division, slash ] }; // : / ÷ / 231 key <AB10> { [ exclam, section, exclamdown, minus ] }; // ! § ¡ - 232}; 233 234partial alphanumeric_keys 235xkb_symbols "oss_Sundeadkeys" { 236 237 // Modifies the basic fr(oss) layout to use the Sun dead keys 238 239 include "fr(oss)" 240 241 // First row 242 key <TLDE> { [ twosuperior, threesuperior, onesuperior, dead_cedilla ] }; // ¹ ² ³ ¸ 243 244 // Second row 245 key <AD11> { [ dead_circumflex, dead_diaeresis, dead_tilde, dead_abovering ] }; // ^ ̈ ̃ ˚ 246 247 //Third row 248 key <AC11> { [ ugrave, percent, dead_acute, Ugrave ] }; // ù % ' Ù 249 key <BKSL> { [ asterisk, mu, dead_grave, dead_macron ] }; // * µ ` ̄ 250}; 251 252partial alphanumeric_keys 253xkb_symbols "oss_sundeadkeys" { 254 255 include "fr(oss_Sundeadkeys)" 256 257 name[Group1]="French (alternative, Sun dead keys)"; 258}; 259 260partial alphanumeric_keys 261xkb_symbols "oss_nodeadkeys" { 262 263 // Modifies the basic fr(oss) layout to eliminate all dead keys 264 265 include "fr(oss)" 266 267 name[Group1]="French (alternative, eliminate dead keys)"; 268 269 key <TLDE> { [ twosuperior, threesuperior, onesuperior, cedilla ] }; // ² ³ ¹ ¸ 270 key <AE01> { [ ampersand, 1, caron, ogonek ] }; // & 1 ˇ ̨ 271 key <AE03> { [ quotedbl, 3, numbersign, breve ] }; // " 3 # ˘ 272 273 // Second row 274 key <AD11> { [ asciicircum, diaeresis, asciitilde, Aring ] }; // ^ ̈ ̃ Å 275 key <AC11> { [ ugrave, percent, acute, Ugrave ] }; // ù % ' Ù 276 key <BKSL> { [ asterisk, mu, grave, macron ] }; // * µ ` ̄ 277}; 278 279 280// Historic Linux French keyboard layout (fr-latin9) 281// Copyright (c) 199x, 2002 Rene Cougnenc (original work) 282// Guylhem Aznar <clavier @ externe.net> (maintainer) 283// Nicolas Mailhot <Nicolas.Mailhot @ laposte.net> 284// (XFree86 submission) 285// 286// This layout has long been distributed and refined outside official channels. 287// To this day it remains more feature-rich and popular than the 'fr' layout. 288// 289// This file is derived from an original version by Guylhem Aznar. The 290// original version is always available from: 291// http://en.tldp.org/HOWTO/Francophones-HOWTO.html 292// and is distributed under a GPL license. 293// 294// The author has given permission for this derived version to be distributed 295// under the standard XFree86 license. He would like all changes to this 296// version be send to him at <clavier @ externe.net> so he can sync the 297// identically named linux console map (kbd, linux-console) and this 298// fileout-of-tree GPL version. 299// 300// Now follows the keyboard design description in French. 301// (If you can't read it you probably have no business changing this file anyway:) 302// 303// Les accents circonflexes des principales voyelles sont obtenus avec 304// la touche Alt_Gr, les trémas sont obtenus par Alt_Gr + Shift. 305// 306// ____ _________ _____________ _______ 307// | S A| S = Shift, A = AltGr + Shift | Imprime | Arrêt défil | Pause | 308// | s a| s = normal, a = AltGr | Exec | | Halte | 309// ¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯ 310// ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ _______ 311// | œ "| 1 ·| 2 É| 3 ,| 4 '| 5 "| 6 || 7 È| 8 ¯| 9 Ç| 0 À| ° ÿ| + °| <-- | 312// | Œ "| & '| é ~| " #| ' {| ( [| - || è `| _ \| ç ^| à @| ) ]| = }| | 313// ======================================================================== 314// | |<- | A ä| Z Å| E ¢| R Ç| T Þ| Y Ý| U ü| I ï| O ö| P '| " `| $ ë| , | 315// | ->| | a â| z å| e €| r ç| t þ| y ý| u û| i î| o ô| p ¶| ^ ~| £ ê| <-' | 316// ===================================================================¬ | 317// | | Q Ä| S Ø| D Ë| F ª| G Æ| H Ð| J Ü| K Ï| L Ö| M º| % Ù| µ ¥| | 318// | MAJ | q Â| s ø| d Ê| f ±| g æ| h ð| j Û| k Î| l Ô| m ¹| ù ²| * ³| | 319// ======================================================================== 320// | ^ | > | W | X | C | V | B | N | ? | . | / | § | ^ | 321// | | | < || w «| x »| c ©| v ®| b ß| n ¬| , ¿| ; ×| : ÷| ! ¡| | | 322// ======================================================================== 323// | | | | | | | | | 324// | Ctrl | Super| Alt | Space Nobreakspace | AltGr | Super|Menu | Ctrl | 325// ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯ ¯¯¯¯¯¯ 326// 327// 328// Si les touches mortes fonctionnent, utiliser les accents dits 329// « morts », i.e. fonctionnant comme l'accent circonflexe & le 330// tréma des machines à écrire ; sont disponibles : 331// 332// (^) : accent circonflexe, 333// Shift+(^) : tréma, 334// Shift+AltGr (^) : tilde, 335// AltGr (1) : accent aigu, 336// AltGr (7) : accent grave 337// 338// Pour s'en servir, procéder comme avec l'accent circonflexe & le tréma 339// sur les vielles machines à écrire : 340// 341// AltGr (1) puis e : é 342// Shift+AltGr (1) puis e : É ... 343partial alphanumeric_keys 344 345xkb_symbols "latin9" { 346 347 include "latin" 348 include "nbsp(level3)" 349 350 name[Group1]="French (legacy, alternative)"; 351 352 key <TLDE> { [ oe, OE, leftdoublequotemark, rightdoublequotemark ] }; 353 key <AE01> { [ ampersand, 1, dead_acute, periodcentered ] }; 354 key <AE02> { [ eacute, 2, asciitilde, Eacute ] }; 355 key <AE03> { [ quotedbl, 3, numbersign, cedilla ] }; 356 key <AE04> { [ apostrophe, 4, braceleft, acute ] }; 357 key <AE05> { [ parenleft, 5, bracketleft, diaeresis ] }; 358 key <AE06> { [ minus, 6, bar, brokenbar ] }; 359 key <AE07> { [ egrave, 7, dead_grave, Egrave ] }; 360 key <AE08> { [ underscore, 8, backslash, macron ] }; 361 key <AE09> { [ ccedilla, 9, asciicircum, Ccedilla ] }; 362 key <AE10> { [ agrave, 0, at, Agrave ] }; 363 key <AE11> { [ parenright, degree, bracketright, ydiaeresis ] }; 364 key <AE12> { [ equal, plus, braceright, dead_abovering ] }; 365 366 key <AD01> { [ a, A, acircumflex, adiaeresis ] }; 367 key <AD02> { [ z, Z, aring, Aring ] }; 368 key <AD03> { [ e, E, EuroSign, cent ] }; 369 key <AD04> { [ r, R, ccedilla, Ccedilla ] }; 370 key <AD05> { [ t, T, thorn, THORN ] }; 371 key <AD06> { [ y, Y, yacute, Yacute ] }; 372 key <AD07> { [ u, U, ucircumflex, udiaeresis ] }; 373 key <AD08> { [ i, I, icircumflex, idiaeresis ] }; 374 key <AD09> { [ o, O, ocircumflex, odiaeresis ] }; 375 key <AD10> { [ p, P, paragraph, quoteleft ] }; 376 key <AD11> { [ dead_circumflex, dead_diaeresis, dead_tilde, quoteright ] }; 377 key <AD12> { [ dollar, sterling, ecircumflex, ediaeresis ] }; 378 379 key <AC01> { [ q, Q, Acircumflex, Adiaeresis ] }; 380 key <AC02> { [ s, S, oslash, Ooblique ] }; 381 key <AC03> { [ d, D, Ecircumflex, Ediaeresis ] }; 382 key <AC04> { [ f, F, plusminus, ordfeminine ] }; 383 key <AC05> { [ g, G, ae, AE ] }; 384 key <AC06> { [ h, H, eth, ETH ] }; 385 key <AC07> { [ j, J, Ucircumflex, Udiaeresis ] }; 386 key <AC08> { [ k, K, Icircumflex, Idiaeresis ] }; 387 key <AC09> { [ l, L, Ocircumflex, Odiaeresis ] }; 388 key <AC10> { [ m, M, onesuperior, masculine ] }; 389 key <AC11> { [ ugrave, percent, twosuperior, Ugrave ] }; 390 key <BKSL> { [ asterisk, mu, threesuperior, yen ] }; 391 392 key <LSGT> { [ less, greater, bar ] }; 393 key <AB01> { [ w, W, guillemotleft ] }; 394 key <AB02> { [ x, X, guillemotright ] }; 395 key <AB03> { [ c, C, copyright ] }; 396 key <AB04> { [ v, V, registered ] }; 397 key <AB05> { [ b, B, ssharp ] }; 398 key <AB06> { [ n, N, notsign ] }; 399 key <AB07> { [ comma, question, questiondown ] }; 400 key <AB08> { [ semicolon, period, multiply ] }; 401 key <AB09> { [ colon, slash, division ] }; 402 key <AB10> { [ exclam, section, exclamdown ] }; 403 404 // French uses a comma as decimal separator, but keyboards are labeled with a period 405 // Will take effect when KP_Decimal is mapped to the locale decimal separator 406 key <KPDL> { [ KP_Delete, KP_Decimal, KP_Delete, KP_Decimal ] }; 407 408 include "level3(ralt_switch)" 409}; 410 411partial alphanumeric_keys 412xkb_symbols "latin9_Sundeadkeys" { 413 414 // Modifies the basic fr-latin9 layout to use the Sun dead keys 415 416 include "fr(latin9)" 417 418 key <AE01> { [ ampersand, 1, dead_acute, periodcentered ] }; 419 key <AE07> { [ egrave, 7, dead_grave, Egrave ] }; 420 key <AD11> { [ dead_circumflex, dead_diaeresis, dead_tilde, quoteright ] }; 421 422}; 423 424partial alphanumeric_keys 425xkb_symbols "latin9_sundeadkeys" { 426 427 include "fr(latin9_Sundeadkeys)" 428 429 name[Group1]="French (legacy, alternative, Sun dead keys)"; 430}; 431 432partial alphanumeric_keys 433xkb_symbols "latin9_nodeadkeys" { 434 435 // Modifies the basic fr-latin9 layout to eliminate all dead keys 436 437 include "fr(latin9)" 438 439 name[Group1]="French (legacy, alternative, eliminate dead keys)"; 440 441 key <AE01> { [ ampersand, 1, apostrophe, periodcentered ] }; 442 key <AE07> { [ egrave, 7, grave, Egrave ] }; 443 key <AE12> { [ equal, plus, braceright ] }; 444 key <AD11> { [ asciicircum, diaeresis, asciitilde, quoteright ] }; 445}; 446 447// Bépo : Improved ergonomic french keymap using Dvorak method. 448// Built by community on 'Dvorak Fr / Bépo' : 449// see http://www.clavier-dvorak.org/wiki/ to join and help. 450// XOrg integration (1.0rc2 version) in 2008 451// by Frédéric Boiteux <fboiteux at free dot fr> 452// 453// Bépo layout (1.0rc2 version) for a pc105 keyboard (french) : 454// ┌────┐ 455// │ S A│ S = Shift, A = AltGr + Shift 456// │ s a│ s = normal, a = AltGr 457// └────┘ 458// 459// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓ 460// │ # ¶ │ 1 „ │ 2 “ │ 3 ” │ 4 ≤ │ 5 ≥ │ 6 │ 7 ¬ │ 8 ¼ │ 9 ½ │ 0 ¾ │ ° ′ │ ` ″ ┃ ⌫ Retour┃ 461// │ $ – │ " — │ « < │ » > │ ( [ │ ) ] │ @ ^ │ + ± │ - − │ / ÷ │ * × │ = ≠ │ % ‰ ┃ arrière┃ 462// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫ 463// ┃ ┃ B ¦ │ É ˝ │ P § │ O Œ │ È ` │ ! │ V │ D Ð │ L │ J IJ │ Z Ə │ W ┃Entrée ┃ 464// ┃Tab ↹ ┃ b | │ é ˊ │ p & │ o œ │ è ` │ ˆ ¡ │ v ˇ │ d ð │ l / │ j ij │ z ə │ w ̆ ┃ ⏎ ┃ 465// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃ 466// ┃ ┃ A Æ │ U Ù │ I ˙ │ E ¤ │ ; ̛ │ C ſ │ T Þ │ S ẞ │ R ™ │ N │ M º │ Ç , ┃ ┃ 467// ┃Maj ⇬ ┃ a æ │ u ù │ i ̈ │ e € │ , ’ │ c © │ t þ │ s ß │ r ® │ n ˜ │ m ¯ │ ç ¸ ┃ ┃ 468// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫ 469// ┃ ┃ Ê │ À │ Y ‘ │ X ’ │ : · │ K │ ? ̉ │ Q ̣ │ G │ H ‡ │ F ª ┃ ┃ 470// ┃Shift ⇧┃ ê / │ à \ │ y { │ x } │ . … │ k ~ │ ' ¿ │ q ˚ │ g µ │ h † │ f ˛ ┃Shift ⇧ ┃ 471// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛ 472// ┃ ┃ ┃ ┃ Espace inséc. Espace inséc. fin ┃ ┃ ┃ ┃ 473// ┃Ctrl ┃Meta ┃Alt ┃ ␣ (Espace) _ ␣ ┃AltGr ⇮┃Menu ┃Ctrl ┃ 474// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛ 475partial alphanumeric_keys 476xkb_symbols "bepo" { 477 478 include "level3(ralt_switch)" 479 include "keypad(oss)" 480 481 name[Group1]= "French (Bepo, ergonomic, Dvorak way)"; 482 483 // First row 484 key <TLDE> { [ dollar, numbersign, endash, paragraph ] }; // $ # – ¶ 485 key <AE01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ quotedbl, 1, emdash, doublelowquotemark ] }; // " 1 — „ 486 key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotleft, 2, less, leftdoublequotemark ] }; // « 2 < “ 487 key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotright, 3, greater, rightdoublequotemark ] }; // » 3 > ” 488 key <AE04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenleft, 4, bracketleft, lessthanequal ] }; // ( 4 [ ≤ 489 key <AE05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenright, 5, bracketright, greaterthanequal ] }; // ) 5 ] ≥ 490 key <AE06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ at, 6, asciicircum ] }; // @ 6 ^ 491 key <AE07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ plus, 7, plusminus, notsign ] }; // + 7 ± ¬ 492 key <AE08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ minus, 8, U2212, onequarter ] }; // - 8 − ¼ 493 key <AE09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ slash, 9, division, onehalf ] }; // / 9 ÷ ½ 494 key <AE10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ asterisk, 0, multiply, threequarters ] }; // * 0 × ¾ 495 key <AE11> { [ equal, degree, notequal, minutes ] }; // = ° ≠ ′ 496 key <AE12> { [ percent, grave, U2030, seconds ] }; // % ` ‰ ″ 497 498 // Second row 499 key <AD01> { [ b, B, bar, brokenbar ] }; // b B | ¦ 500 key <AD02> { [ eacute, Eacute, dead_acute, dead_doubleacute ] }; // é É ˊ ˝ 501 key <AD03> { [ p, P, ampersand, section ] }; // p P & § 502 key <AD04> { [ o, O, oe, OE ] }; // o O œ Œ 503 key <AD05> { [ egrave, Egrave, dead_grave, grave ] }; // è È ` ` 504 key <AD06> { [ dead_circumflex, exclam, exclamdown ] }; // ^ ! ¡ 505 key <AD07> { [ v, V, dead_caron ] }; // v V ˇ 506 key <AD08> { [ d, D, eth, ETH ] }; // d D ð Ð 507 key <AD09> { [ l, L, dead_stroke ] }; // l L / 508 key <AD10> { [ j, J, U0133, U0132 ] }; // j J ij IJ 509 key <AD11> { [ z, Z, schwa, SCHWA ] }; // z Z ə Ə 510 key <AD12> { [ w, W, dead_breve ] }; // w W ̆ 511 512 // Third row 513 key <AC01> { [ a, A, ae, AE ] }; // a A æ Æ 514 key <AC02> { [ u, U, ugrave, Ugrave ] }; // u U ù Ù 515 key <AC03> { [ i, I, dead_diaeresis, dead_abovedot ] }; // i I ̈ ˙ 516 key <AC04> { [ e, E, EuroSign, dead_currency ] }; // e E € ¤ 517 key <AC05> { [ comma, semicolon, rightsinglequotemark, dead_horn ] }; // , ; ’ ̛ 518 key <AC06> { [ c, C, copyright, U017F ] }; // c C © ſ 519 key <AC07> { [ t, T, thorn, THORN ] }; // t T þ Þ 520 key <AC08> { [ s, S, ssharp, U1E9E ] }; // s S ß ẞ 521 key <AC09> { [ r, R, registered, trademark ] }; // r R ® ™ 522 key <AC10> { [ n, N, dead_tilde ] }; // n N ~ 523 key <AC11> { [ m, M, dead_macron, masculine ] }; // m M ̄ º 524 key <BKSL> { [ ccedilla, Ccedilla, dead_cedilla, dead_belowcomma ] }; // ç Ç ¸ , 525 526 // Fourth row 527 key <LSGT> { [ ecircumflex, Ecircumflex, slash ] }; // ê Ê / 528 key <AB01> { [ agrave, Agrave, backslash ] }; // à À \ 529 key <AB02> { [ y, Y, braceleft, leftsinglequotemark ] }; // y Y { ‘ 530 key <AB03> { [ x, X, braceright, rightsinglequotemark ] }; // x X } ’ 531 key <AB04> { [ period, colon, ellipsis, periodcentered ] }; // . : … · 532 key <AB05> { [ k, K, asciitilde ] }; // k K ~ 533 key <AB06> { [ apostrophe, question, questiondown, dead_hook ] }; // ' ? ¿ ̉ 534 key <AB07> { [ q, Q, dead_abovering, dead_belowdot ] }; // q Q ˚ ̣ 535 key <AB08> { [ g, G, dead_greek ] }; // g G µ 536 key <AB09> { [ h, H, dagger, doubledagger ] }; // h H † ‡ 537 key <AB10> { [ f, F, dead_ogonek, ordfeminine ] }; // f F ̨ ª 538 539 key <SPCE> { [ space, nobreakspace, underscore, U202F ] }; // ␣ (espace insécable) _ (espace insécable fin) 540}; 541 542partial alphanumeric_keys 543xkb_symbols "bepo_latin9" { 544 545 // Restricts the fr(bepo) layout to latin9 symbols 546 547 include "fr(bepo)" 548 include "keypad(oss_latin9)" 549 550 name[Group1]="French (Bepo, ergonomic, Dvorak way, latin-9 only)"; 551 552 key <TLDE> { [ dollar, numbersign, dollar, paragraph ] }; // $ # $ ¶ 553 554 key <AE01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ quotedbl, 1 ] }; // " 1 555 key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotleft, 2, less ] }; // « 2 < 556 key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotright, 3, greater ] }; // » 3 > 557 key <AE04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenleft, 4, bracketleft ] }; // ( 4 [ 558 key <AE05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenright, 5, bracketright ] }; // ) 5 ] 559 key <AE08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ minus, 8, minus, onequarter ] }; // - 8 - ¼ 560 key <AE11> { [ equal, degree ] }; // = ° 561 key <AE12> { [ percent, grave ] }; // % ` 562 563 key <AD01> { [ b, B, bar ] }; // b B | 564 key <AD02> { [ eacute, Eacute, dead_acute ] }; // é É ˊ 565 key <AD10> { [ j, J ] }; // j J 566 key <AD11> { [ z, Z ] }; // z Z 567 key <AD12> { [ w, W ] }; // w W 568 569 key <AC03> { [ i, I, dead_diaeresis ] }; // i I ̈ 570 key <AC05> { [ comma, semicolon, comma, dead_horn ] }; // , ; , ̛ 571 key <AC06> { [ c, C, copyright ] }; // c C © 572 key <AC08> { [ s, S, ssharp ] }; // s S ß 573 key <AC09> { [ r, R, registered ] }; // r R ® 574 key <AC11> { [ m, M, macron, masculine ] }; // m M ̄ º 575 576 key <AB02> { [ y, Y, braceleft ] }; // y Y { 577 key <AB03> { [ x, X, braceright ] }; // x X } 578 key <AB04> { [ period, colon ] }; // . : 579 key <AB09> { [ h, H ] }; // h H 580 key <AB10> { [ f, F, f, ordfeminine ] }; // f F ª 581 582 // Note : on a besoin de redéfinir les niveaux 3 et 4, 583 // donc nbsp(level2) ne suffit pas ! 584 key <SPCE> { [ space, nobreakspace, underscore, nobreakspace ] }; // ␣ (espace insécable) _ (espace insécable) 585}; 586 587// Author : Francis Leboutte, http://www.algo.be/ergo/dvorak-fr.html 588// thanks to Fabien Cazenave for his help 589// Licence : X11 590// Version : 0.3 591 592// Base layer + dead AltGr key (`): 593// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━━┓ 594// │ * │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ % ┃ ┃ 595// │ _ │ = │ / ± │ - ¼ │ è ½ │ \ ¾ │ ^ │ ( │ ` ` │ ) │ " │ [ │ ] ┃ ⌫ ┃ 596// ┢━━━━━┷━━┱──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┺━━┳━━━━━━━┫ 597// ┃ ┃ ? Æ │ < │ > │ G │ ! │ H │ V │ C Ç │ M │ K │ Z │ & ┃ ┃ 598// ┃ ↹ ┃ : æ │ ' $ │ é É │ g € │ . ° │ h │ v │ c ç │ m µ │ k │ z │ ¨ ┃ ┃ 599// ┣━━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ⏎ ┃ 600// ┃ ┃ O Ò │ A À │ U Ù │ E È │ B │ F │ S │ T │ N │ D │ W │ # ┃ ┃ 601// ┃ ⇬ ┃ o ò │ a à │ u ù │ e è │ b │ f │ s « │ t │ n » │ d │ w │ ~ ┃ ┃ 602// ┣━━━━━━┳━━┹──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┲━━┷━━━━━┻━━━━━━┫ 603// ┃ ┃ ç Ç │ | Œ │ Q │ @ │ I Ì │ Y │ X │ R │ L │ P │ J ┃ ┃ 604// ┃ ⇧ ┃ à À │ ; œ │ q { │ , } │ i ì │ y £ │ x │ r º │ l │ p § │ j ┃ ⇧ ┃ 605// ┣━━━━━━┻┳━━━━┷━━┳━━┷━━━━┱┴─────┴─────┴─────┴─────┴─────┴─┲━━━┷━━━┳━┷━━━━━╋━━━━━━━┳━━━━━━━┫ 606// ┃ ┃ ┃ ┃ ␣ ⍽ ┃ ┃ ┃ ┃ ┃ 607// ┃ ctrl ┃ super ┃ alt ┃ ␣ Espace Espace insécable ⍽ ┃ alt ┃ super ┃ menu ┃ ctrl ┃ 608// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┻━━━━━━━┛ 609 610// Notice the specific Caps_Lock layer: 611// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━━┓ 612// │ * │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ % ┃ ┃ 613// │ │ │ │ │ │ │ │ │ │ │ │ │ ┃ ⌫ ┃ 614// ┢━━━━━┷━━┱──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┺━━┳━━━━━━━┫ 615// ┃ ┃ │ < │ > │ │ │ │ │ │ │ │ │ ┃ ┃ 616// ┃ ↹ ┃ │ │ │ │ │ │ │ │ │ │ │ ┃ ┃ 617// ┣━━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ⏎ ┃ 618// ┃ ┃ │ │ │ │ │ │ │ │ │ │ │ ┃ ┃ 619// ┃ ⇬ ┃ │ │ │ │ │ │ │ │ │ │ │ ┃ ┃ 620// ┣━━━━━━┳━━┹──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┲━━┷━━━━━┻━━━━━━┫ 621// ┃ ┃ / │ - │ │ │ │ │ │ │ │ │ ┃ ┃ 622// ┃ ⇧ ┃ │ │ │ │ │ │ │ │ │ │ ┃ ⇧ ┃ 623// ┣━━━━━━┻┳━━━━┷━━┳━━┷━━━━┱┴─────┴─────┴─────┴─────┴─────┴─┲━━━┷━━━┳━┷━━━━━╋━━━━━━━┳━━━━━━━┫ 624// ┃ ┃ ┃ ┃ ␣ ⍽ ┃ ┃ ┃ ┃ ┃ 625// ┃ ctrl ┃ super ┃ alt ┃ ␣ Espace Espace insécable ⍽ ┃ alt ┃ super ┃ menu ┃ ctrl ┃ 626// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┻━━━━━━━┛ 627 628partial alphanumeric_keys modifier_keys 629xkb_symbols "dvorak" { 630 name[Group1]="French (Dvorak)"; 631 632 // First row 633 key <TLDE> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ underscore, asterisk ] }; 634 key <AE01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ equal, 1 ] }; 635 key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ slash, 2, plusminus ] }; 636 key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ minus, 3, onequarter ] }; 637 key <AE04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ egrave, 4, onehalf ] }; 638 key <AE05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ backslash, 5, threequarters ] }; 639 key <AE06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ dead_circumflex, 6 ] }; 640 key <AE07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenleft, 7 ] }; 641 key <AE08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ ISO_Level3_Latch, 8, grave ] }; 642 key <AE09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenright, 9 ] }; 643 key <AE10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ quotedbl, 0 ] }; 644 key <AE11> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ bracketleft, plus ] }; 645 key <AE12> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ bracketright, percent ] }; 646 647 // Second row 648 key <AD01> { [ colon, question, ae, AE ] }; 649 key <AD02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ apostrophe, less, dollar ] }; 650 key <AD03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ eacute, greater, Eacute ] }; 651 key <AD04> { [ g, G, EuroSign ] }; 652 key <AD05> { [ period, exclam, degree ] }; 653 key <AD06> { [ h, H ] }; 654 key <AD07> { [ v, V ] }; 655 key <AD08> { [ c, C, ccedilla, Ccedilla ] }; 656 key <AD09> { [ m, M, mu ] }; 657 key <AD10> { [ k, K ] }; 658 key <AD11> { [ z, Z ] }; 659 key <AD12> { [ dead_diaeresis, ampersand ] }; 660 661 // Third row 662 key <AC01> { [ o, O, ograve, Ograve ] }; 663 key <AC02> { [ a, A, agrave, Agrave ] }; 664 key <AC03> { [ u, U, ugrave, Ugrave ] }; 665 key <AC04> { [ e, E, egrave, Egrave ] }; 666 key <AC05> { [ b, B ] }; 667 key <AC06> { [ f, F ] }; 668 key <AC07> { [ s, S, guillemotleft ] }; 669 key <AC08> { [ t, T ] }; 670 key <AC09> { [ n, N, guillemotright ] }; 671 key <AC10> { [ d, D ] }; 672 key <AC11> { [ w, W ] }; 673 key <BKSL> { [ asciitilde, numbersign ] }; 674 675 // Fourth row 676 key <LSGT> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ agrave, ccedilla, Agrave, Ccedilla, slash ] }; 677 key <AB01> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ semicolon, bar, oe, OE, minus ] }; 678 key <AB02> { [ q, Q, braceleft ] }; 679 key <AB03> { [ comma, at, braceright ] }; 680 key <AB04> { [ i, I, igrave, Igrave ] }; 681 key <AB05> { [ y, Y, sterling ] }; 682 key <AB06> { [ x, X ] }; 683 key <AB07> { [ r, R, masculine ] }; 684 key <AB08> { [ l, L ] }; 685 key <AB09> { [ p, P, section ] }; 686 key <AB10> { [ j, J ] }; 687 688 key <SPCE> { [ space, space, nobreakspace, nobreakspace ] }; 689}; 690 691// C'WHERTY: Breton keyboard. Ar c'hlavier brezhoneg. 692// Copyright © 2009 Dominique Pellé <dominique.pelle@gmail.com> 693// Version: 0.1 694// 695// ┌────┐ 696// │ S A│ S = Reol = Shift, A = ArErl + Pennlizherenn = AltGr + Shift 697// │ s a│ s = normal, a = AltGr 698// └────┘ 699// 700// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓ 701// │ $ Γ │ 1 Δ │ 2 Θ │ 3 Λ │ 4 Ξ │ 5 Π │ 6 Σ │ 7 Φ │ 8 Ψ │ 9 Ç │ 0 Ω │ ° ß │ + ¬ ┃ ⌫ Souzañ┃ 702// │ ² ˙ │ & ¯ │ é ´ │ " # │ ' { │ ( [ │ - | │ è ` │ - \ │ ç ± │ à @ │ ) ] │ = } ┃ ┃ 703// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫ 704// ┃Toalenn┃ C'h │ W ω │ E ε │ R ρ │ T τ │ Y ψ │ U υ │ I ι │ O OE│ P π │ ¨ ¥ │ * £ ┃Enankañ┃ 705// ┃ ↹ ┃ c'h │ w │ e € │ r │ t │ y │ u │ i ı │ o oe│ p │ ^ « │ / » ┃ ⏎ ┃ 706// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃ 707// ┃Prenn ┃ A Æ │ S σ │ D δ │ F φ │ G γ │ H η │ J ς │ K κ │ L λ │ M μ │ Ù ® │ ! ¡ ┃ ┃ 708// ┃Pennli ⇬┃ a æ │ s │ d $ │ f │ g │ h │ j │ k │ l │ m │ ù ŭ │ ? ¿ ┃ ┃ 709// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫ 710// ┃ ┃ Q θ │ Z ζ │ X ξ │ C χ │ V │ B β │ N ν │ CH │ Ñ │ : © │ ; ┃ ┃ 711// ┃Shift ⇧┃ q < │ z > │ x │ c ¢ │ v │ b │ n │ ch │ ñ │ . │ , ┃Shift ⇧ ┃ 712// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛ 713// ┃ ┃ ┃ ┃ ⍽ Espace insécable ␣ ┃ ┃ ┃ ┃ 714// ┃Reol ┃Meta ┃Erl ┃ ␣ Espace ␣ ┃ArErl ⇮┃Menu ┃Reol ┃ 715// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛ 716partial alphanumeric_keys 717xkb_symbols "bre" { 718 719 include "keypad(oss)" 720 721 name[Group1]= "French (Breton)"; 722 723 // First row 724 key <TLDE> { [ twosuperior, dead_tilde, dead_abovedot, Greek_GAMMA ] }; 725 key <AE01> { [ ampersand, 1, dead_macron, Greek_DELTA ] }; 726 key <AE02> { [ eacute, 2, dead_acute, Greek_THETA ] }; 727 key <AE03> { [ quotedbl, 3, numbersign, Greek_LAMDA ] }; 728 key <AE04> { [ apostrophe, 4, braceleft, Greek_XI ] }; 729 key <AE05> { [ parenleft, 5, bracketleft, Greek_PI ] }; 730 key <AE06> { [ minus, 6, bar, Greek_SIGMA ] }; 731 key <AE07> { [ egrave, 7, dead_grave, Greek_PHI ] }; 732 key <AE08> { [ underscore, 8, backslash, Greek_PSI ] }; 733 key <AE09> { [ ccedilla, 9, plusminus, Ccedilla ] }; 734 key <AE10> { [ agrave, 0, at, Greek_OMEGA ] }; 735 key <AE11> { [ parenright, dead_abovering, bracketright, ssharp ] }; 736 key <AE12> { [ equal, plus, braceright, notsign ] }; 737 738 // Second row 739 // Handling the C'H key correctly requires an inputmethod (XIM) 740 // See https://bugs.freedesktop.org/show_bug.cgi?id=19506 741 // key <AD01> { [ trigraph_c_h, trigraph_C_h, trigraph_C_H, Greek_alpha ] }; 742 key <AD01> { [ UF8FD, UF8FE, UF8FF, Greek_alpha ] }; 743 key <AD02> { [ w, W, Greek_omega, Greek_omega ] }; 744 key <AD03> { [ e, E, EuroSign, Greek_epsilon ] }; 745 key <AD04> { [ r, R, Greek_rho, Greek_rho ] }; 746 key <AD05> { [ t, T, Greek_tau, Greek_tau ] }; 747 key <AD06> { [ y, Y, Greek_psi, Greek_psi ] }; 748 key <AD07> { [ u, U, Greek_upsilon, Greek_upsilon ] }; 749 key <AD08> { [ i, I, idotless, Greek_iota ] }; 750 key <AD09> { [ o, O, oe, OE ] }; 751 key <AD10> { [ p, P, Greek_pi, Greek_pi ] }; 752 key <AD11> { [ dead_circumflex, dead_diaeresis, guillemotleft, yen ] }; 753 key <AD12> { [ slash, asterisk, guillemotright, sterling ] }; 754 755 // Third row 756 key <AC01> { [ a, A, ae, AE ] }; 757 key <AC02> { [ s, S, Greek_sigma, Greek_sigma ] }; 758 key <AC03> { [ d, D, dollar, Greek_delta ] }; 759 key <AC04> { [ f, F, Greek_phi, Greek_phi ] }; 760 key <AC05> { [ g, G, Greek_gamma, Greek_gamma ] }; 761 key <AC06> { [ h, H, Greek_eta, Greek_eta ] }; 762 key <AC07> { [ j, J, Greek_finalsmallsigma, Greek_finalsmallsigma ] }; 763 key <AC08> { [ k, K, Greek_kappa, Greek_kappa ] }; 764 key <AC09> { [ l, L, Greek_lamda, Greek_lambda ] }; 765 key <AC10> { [ m, M, Greek_mu, Greek_mu ] }; 766 key <AC11> { [ ugrave, Ugrave, ubreve, registered ] }; 767 key <BKSL> { [ question, exclam, questiondown, exclamdown ] }; 768 769 // Fourth row 770 key <LSGT> { [ q, Q, less, Greek_theta ] }; 771 key <AB01> { [ z, Z, greater, Greek_zeta ] }; 772 key <AB02> { [ x, X, Greek_xi, Greek_xi ] }; 773 key <AB03> { [ c, C, cent, Greek_chi ] }; 774 key <AB04> { [ v, V ] }; 775 key <AB05> { [ b, B, Greek_beta, Greek_beta ] }; 776 key <AB06> { [ n, N, Greek_nu, Greek_nu ] }; 777 // Handling the CH key correctly requires an inputmethod (XIM) 778 // See https://bugs.freedesktop.org/show_bug.cgi?id=19506 779 // key <AB07> { [ digraph_ch, digraph_Ch, digraph_CH, Greek_omicron ] }; 780 key <AB07> { [ UF8FA, UF8FB, UF8FC, Greek_omicron ] }; 781 key <AB08> { [ ntilde, Ntilde ] }; 782 key <AB09> { [ period, colon, section, copyright ] }; 783 key <AB10> { [ comma, semicolon, percent ] }; 784 785 key <SPCE> { [ space, nobreakspace, space, nobreakspace ] }; 786 787 include "level3(ralt_switch)" 788}; 789 790// Occitan layout 791// Author : 2009 Thomas Metz <tmetz @ free.fr> 792// Derivated from the layout defined at http://www.panoccitan.org 793// Version: 0.1 794// From OSS french keyboard : 795// - add á, í, ò, ó et ú, Á, Í, Ò, Ó, Ú, ñ, Ñ 796// - change position of æ, ü, î, û, œ, ô, ö, ï, â, ë 797// 798// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓ 799// │ ³ ¸ │ 1 ̨ │ 2 É │ 3 ˘ │ 4 — │ 5 – │ 6 ‑ │ 7 È │ 8 ™ │ 9 Ç │ 0 À │ ° ≠ │ + ± ┃ ⌫ Retour┃ 800// │ ² ¹ │ & ˇ │ é ~ │ " # │ ' { │ ( [ │ - | │ è ` │ _ \ │ ç ^ │ à @ │ ) ] │ = } ┃ arrière┃ 801// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫ 802// ┃ ┃ A Á │ Z Æ │ E ¢ │ R Ê │ T Ë │ Y Û │ U Ú │ I Í │ O Ó │ P Ò │ ¨ Œ │ £ Ø ┃Entrée ┃ 803// ┃Tab ↹ ┃ a á │ z æ │ e € │ r ê │ t ë │ y û │ u ú │ i í │ o ó │ p ò │ ^ œ │ $ ø ┃ ⏎ ┃ 804// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃ 805// ┃ ┃ Q Ä │ S „ │ D  │ F ‚ │ G ¥ │ H Ü │ J Î │ K Ï │ L Ô │ M Ö │ % Ù │ µ ̄ ┃ ┃ 806// ┃Maj ⇬ ┃ q ä │ s ß │ d â │ f ‘ │ g ’ │ h ü │ j î │ k ï │ l ô │ m ö │ ù ' │ * ` ┃ ┃ 807// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫ 808// ┃ ┃ > ≥ │ W “ │ X ” │ C ® │ V ← │ B ↑ │ N Ñ │ ? … │ . . │ / ∕ │ § − ┃ ┃ 809// ┃Shift ⇧┃ < ≤ │ w « │ x » │ c © │ v → │ b ↓ │ n ñ │ , ¿ │ ; × │ : ÷ │ ! ¡ ┃Shift ⇧ ┃ 810// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛ 811// ┃ ┃ ┃ ┃ ␣ Espace fine insécable ⍽ ┃ ┃ ┃ ┃ 812// ┃Ctrl ┃Meta ┃Alt ┃ ␣ Espace Espace insécable ⍽ ┃AltGr ⇮┃Menu ┃Ctrl ┃ 813// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛ 814partial alphanumeric_keys 815xkb_symbols "oci" { 816 817 include "fr(oss)" 818 819 name[Group1]= "Occitan"; 820 821 // First row 822 key <TLDE> { [ twosuperior, threesuperior, onesuperior, dead_cedilla ] }; // ² ³ ¹ ¸ 823 key <AE01> { [ ampersand, 1, dead_caron, dead_ogonek ] }; // & 1 ˇ ̨ 824 key <AE02> { [ eacute, 2, asciitilde, Eacute ] }; // é 2 ~ É 825 key <AE03> { [ quotedbl, 3, numbersign, dead_breve ] }; // " 3 # ˘ 826 key <AE04> { [ apostrophe, 4, braceleft, 0x1002014 ] }; // ' 4 { — (tiret cadratin) 827 key <AE05> { [ parenleft, 5, bracketleft, 0x1002013 ] }; // ( 5 [ – (tiret demi-cadratin) 828 key <AE06> { [ minus, 6, bar, 0x1002011 ] }; // - 6 | ‑ (tiret insécable) 829 key <AE07> { [ egrave, 7, grave, Egrave ] }; // è 7 ` È 830 key <AE08> { [ underscore, 8, backslash, trademark ] }; // _ 8 \ ™ 831 key <AE09> { [ ccedilla, 9, asciicircum, Ccedilla ] }; // ç 9 ^ Ç 832 key <AE10> { [ agrave, 0, at, Agrave ] }; // à 0 @ À 833 key <AE11> { [ parenright, degree, bracketright, notequal ] }; // ) ° ] ≠ 834 key <AE12> { [ equal, plus, braceright, plusminus ] }; // = + } ± 835 836 // Second row 837 key <AD01> { [ a, A, aacute, Aacute ] }; // a A á Á 838 key <AD02> { [ z, Z, ae, AE ] }; // z Z æ Æ 839 key <AD03> { [ e, E, EuroSign, cent ] }; // e E € ¢ 840 key <AD04> { [ r, R, ecircumflex, Ecircumflex ] }; // r R ê Ê 841 key <AD05> { [ t, T, ediaeresis, Ediaeresis ] }; // t T ë Ë 842 key <AD06> { [ y, Y, ucircumflex, Ucircumflex ] }; // y Y û Û 843 key <AD07> { [ u, U, uacute, Uacute ] }; // u U ú Ú 844 key <AD08> { [ i, I, iacute, Iacute ] }; // i I í Í 845 key <AD09> { [ o, O, oacute, Oacute ] }; // o O ó Ó 846 key <AD10> { [ p, P, ograve, Ograve ] }; // p P ò Ò 847 key <AD11> { [ dead_circumflex, dead_diaeresis, oe, OE ] }; // ^ ̈ ̃ œ Œ 848 key <AD12> { [ dollar, sterling, oslash, Ooblique ] }; // $ £ ø Ø 849 850 // Third row 851 key <AC01> { [ q, Q, adiaeresis, Adiaeresis ] }; // q Q ä Ä 852 key <AC02> { [ s, S, ssharp, doublelowquotemark ] }; // s S ß „ 853 key <AC03> { [ d, D, acircumflex, Acircumflex ] }; // d D â  854 key <AC04> { [ f, F, leftsinglequotemark, singlelowquotemark ] }; // f F ‘ ‚ 855 key <AC05> { [ g, G, rightsinglequotemark, yen ] }; // g G ’ ¥ 856 key <AC06> { [ h, H, udiaeresis, Udiaeresis ] }; // h H ü Ü 857 key <AC07> { [ j, J, icircumflex, Icircumflex] }; // j J î Î 858 key <AC08> { [ k, K, idiaeresis, Idiaeresis] }; // k K ï Ï 859 key <AC09> { [ l, L, ocircumflex, Ocircumflex ] }; // l L ô Ô 860 key <AC10> { [ m, M, odiaeresis, Odiaeresis ] }; // m M ö Ö 861 key <AC11> { [ ugrave, percent, dead_acute, Ugrave ] }; // ù % ' Ù 862 key <BKSL> { [ asterisk, mu, dead_grave, dead_macron ] }; // * µ ` ̄ 863 864 // Fourth row 865 key <LSGT> { [ less, greater, lessthanequal, greaterthanequal ] }; // < > ≤ ≥ 866 key <AB01> { [ w, W, guillemotleft, leftdoublequotemark ] }; // w W « “ 867 key <AB02> { [ x, X, guillemotright, rightdoublequotemark ] }; // x X » ” 868 key <AB03> { [ c, C, copyright, registered ] }; // c C © ® 869 key <AB04> { [ v, V, rightarrow, leftarrow ] }; // v V → ← 870 key <AB05> { [ b, B, downarrow, uparrow ] }; // b B ↓ ↑ 871 key <AB06> { [ n, N, ntilde, Ntilde ] }; // n N ñ Ñ 872 key <AB07> { [ comma, question, questiondown, 0x1002026 ] }; // , ? ¿ … 873 key <AB08> { [ semicolon, period, multiply, 0x10022C5 ] }; // ; . × ⋅ 874 key <AB09> { [ colon, slash, division, 0x1002215 ] }; // : / ÷ ∕ 875 key <AB10> { [ exclam, section, exclamdown, 0x1002212 ] }; // ! § ¡ − 876}; 877 878// Marc.Shapiro@inria.fr 19-sep-1998 879// modifications : Etienne Herlent <eherlent@linux-france.org> june 2000 880// adapted to the new input layer : 881// Martin Costabel <costabel@wanadoo.fr> 3-jan-2001 882// adapted for Latin9 alphabet (ISO-8859-15): 883// Etienne Herlent <eherlent@linux-france.org> march 2005 884 885// This map is an almost-complete mapping of the standard French 886// MacIntosh keyboard under Xwindows. I tried to remain as faithful 887// as possible to the Mac meaning of each key. I did this entirely by 888// hand and by intuition, relying on the Clavier (Keyboard?) Desktop 889// Accessory for the Mac meaning of keys, and on reading keysymdef.h 890// to intuit the corresponding X names. Lacking proper documentation, 891// I may have made some mistakes. 892 893// Entries marked CHECK are particularly uncertain 894 895// Entries marked MISSING mark Mac characters for which I was unable 896// to find a corresponding keysym. (Some for sure don't: e.g. the 897// Apple mark and the oe/OE character; others I may have simply not 898// found.) 899 900// Copied from macintosh_vndr/fr 901partial alphanumeric_keys 902xkb_symbols "mac" { 903 904 name[Group1]= "French (Macintosh)"; 905 906 // Alphanumeric section 907 key <TLDE> { [ at, numbersign, periodcentered, Ydiaeresis ] }; // MISSING: Ydiaeresis; eherlent : ok in Latin9 908 key <AE01> { [ ampersand, 1, VoidSymbol, dead_acute ] }; // MISSING: Apple 909 key <AE02> { [ eacute, 2, ediaeresis, Eacute ] }; 910 key <AE03> { [ quotedbl, 3, VoidSymbol, VoidSymbol ] }; // CHECK all quotemarks 911 key <AE04> { [ apostrophe, 4, VoidSymbol, VoidSymbol ] }; 912 key <AE05> { [ parenleft, 5, braceleft, bracketleft ] }; 913 // CHECK section 914 key <AE06> { [ section, 6, paragraph, aring ] }; 915 key <AE07> { [ egrave, 7, guillemotleft, guillemotright ] }; 916 key <AE08> { [ exclam, 8, exclamdown, Ucircumflex ] }; 917 key <AE09> { [ ccedilla, 9, Ccedilla, Aacute ] }; 918 key <AE10> { [ agrave, 0, oslash, VoidSymbol ] }; // MISSING: Oslash 919 key <AE11> { [ parenright, degree, braceright, bracketright ] }; 920 key <AE12> { [ minus, underscore, emdash, endash ] }; // CHECK dashes 921 922 key <AD01> { [ a, A, ae, AE ] }; 923 key <AD02> { [ z, Z, Acircumflex, Aring ] }; 924 key <AD03> { [ e, E, ecircumflex, Ecircumflex ] }; 925 key <AD04> { [ r, R, registered, currency ] }; 926 key <AD05> { [ t, T, VoidSymbol, VoidSymbol ] }; 927 key <AD06> { [ y, Y, Uacute, Ydiaeresis ] }; // MISSING: Ydiaeresis; eherlent : ok in Latin9 928 key <AD07> { [ u, U, VoidSymbol, ordfeminine ] }; // MISSING: ordmasculine? 929 key <AD08> { [ i, I, icircumflex, idiaeresis ] }; 930 key <AD09> { [ o, O, oe, OE ] }; // MISSING: oe, OE lacking in Latin1; eherlent ok in Latin9 931 key <AD10> { [ p, P, VoidSymbol, VoidSymbol ] }; 932 key <AD11> { [dead_circumflex,dead_diaeresis, ocircumflex, Ocircumflex ] }; 933 key <AD12> { [ dollar, asterisk, EuroSign, yen ] }; // eherlent : EuroSign in Latin9 934 935 key <AC01> { [ q, Q, acircumflex, Agrave ] }; 936 key <AC02> { [ s, S, Ograve, VoidSymbol ] }; 937 key <AC03> { [ d, D, VoidSymbol, VoidSymbol ] }; 938 key <AC04> { [ f, F, VoidSymbol, periodcentered ] }; // MISSING: oblong script f?? 939 key <AC05> { [ g, G, VoidSymbol, VoidSymbol ] }; // MISSING: kerned fi, fl 940 key <AC06> { [ h, H, Igrave, Icircumflex ] }; 941 key <AC07> { [ j, J, Idiaeresis, Iacute ] }; 942 key <AC08> { [ k, K, Egrave, Ediaeresis ] }; 943 key <AC09> { [ l, L, notsign, bar ] }; 944 key <AC10> { [ m, M, mu, Oacute ] }; 945 key <AC11> { [ ugrave,percent, Ugrave, ucircumflex ] }; // MISSING: per-mille 946 key <BKSL> { [ dead_grave, sterling, at, numbersign ] }; 947 948 key <LSGT> { [ less, greater, VoidSymbol, VoidSymbol ] }; 949 key <AB01> { [ w, W, VoidSymbol, VoidSymbol ] }; // MISSING: half-guillemot (single angle bracket) 950 key <AB02> { [ x, X, VoidSymbol, VoidSymbol ] }; // CHECK similarequal; MISSING: extra-slanted slash 951 key <AB03> { [ c, C, copyright, cent ] }; 952 key <AB04> { [ v, V, diamond, leftradical ] }; // CHECK diamond, leftradical 953 key <AB05> { [ b, B, ssharp, VoidSymbol ] }; // CHECK: Greek_beta or ssharp?; MISSING: oblong script s 954 key <AB06> { [ n, N, dead_tilde, asciitilde ] }; 955 key <AB07> { [ comma, question, VoidSymbol, questiondown ] }; 956 key <AB08> { [ semicolon, period, VoidSymbol, periodcentered ] }; 957 key <AB09> { [ colon, slash, division, backslash ] }; 958 key <AB10> { [ equal, plus, VoidSymbol, plusminus ] }; 959 960 key <SPCE> { [ space, space, nobreakspace, nobreakspace ] }; 961 // End alphanumeric section 962 963 key <KPDL> { [ comma,KP_Decimal ] }; 964 965 include "level3(ralt_switch)" 966}; 967 968partial alphanumeric_keys 969xkb_symbols "geo" { 970 include "ge(basic)" 971 972 name[Group1]= "Georgian (France, AZERTY Tskapo)"; 973 974 key <TLDE> { [ exclam, noSymbol ] }; 975 key <AE01> { [ 0x0100201e, 1 ] }; 976 key <AE02> { [ 0x01002116, 2 ] }; 977 key <AE03> { [ percent, 3 ] }; 978 key <AE04> { [ parenleft, 4 ] }; 979 key <AE05> { [ colon, 5 ] }; 980 key <AE06> { [ semicolon, 6 ] }; 981 key <AE07> { [ question, 7 ] }; 982 key <AE08> { [ 0x01002116, 8 ] }; 983 key <AE09> { [ degree, 9 ] }; 984 key <AE10> { [ parenright, 0 ] }; 985 key <AE11> { [ minus, underscore, 0x01002014 ] }; 986 key <AE12> { [ less, greater ] }; 987 988 key <AD01> { [ 0x010010d0, 0x010010fa ] }; 989 key <AD02> { [ 0x010010d6, Z ] }; 990 key <AD03> { [ 0x010010d4, E, 0x010010f1 ] }; 991 key <AD04> { [ 0x010010e0, 0x010000ae ] }; 992 key <AD05> { [ 0x010010e2, T ] }; 993 key <AD06> { [ 0x010010e7, 0x010010f8 ] }; 994 key <AD07> { [ 0x010010e3, U ] }; 995 key <AD08> { [ 0x010010d8, 0x010010f2 ] }; 996 key <AD09> { [ 0x010010dd, O ] }; 997 key <AD10> { [ 0x010010de, P ] }; 998 key <AD11> { [ 0x010010d7, T ] }; 999 key <AD12> { [ 0x010010eb, Z ] }; 1000 1001 key <AC01> { [ 0x010010e5, Q ] }; 1002 key <AC02> { [ 0x010010e1, S ] }; 1003 key <AC03> { [ 0x010010d3, D ] }; 1004 key <AC04> { [ 0x010010e4, 0x010010f6 ] }; 1005 key <AC05> { [ 0x010010d2, 0x010010f9 ] }; 1006 key <AC06> { [ 0x010010f0, 0x010010f5 ] }; 1007 key <AC07> { [ 0x010010ef, 0x010010f7 ] }; 1008 key <AC08> { [ 0x010010d9, K ] }; 1009 key <AC09> { [ 0x010010da, L ] }; 1010 key <AC10> { [ 0x010010db, M ] }; 1011 key <AC11> { [ 0x010010df, J ] }; 1012 key <BKSL> { [ 0x010010e9, 0x010000a9 ] }; 1013 1014 key <LSGT> { [ guillemotleft,guillemotright ] }; 1015 key <AB01> { [ 0x010010ec, W ] }; 1016 key <AB02> { [ 0x010010ee, 0x010010f4 ] }; 1017 key <AB03> { [ 0x010010ea, 0x010000a9 ] }; 1018 key <AB04> { [ 0x010010d5, 0x010010f3 ] }; 1019 key <AB05> { [ 0x010010d1, B ] }; 1020 key <AB06> { [ 0x010010dc, 0x010010fc ] }; 1021 key <AB07> { [ comma, 0x01002014 ] }; 1022 key <AB08> { [ 0x010010e8, S ] }; 1023 key <AB09> { [ 0x010010e6, noSymbol ] }; 1024 key <AB10> { [ 0x010010ed, noSymbol ] }; 1025 1026}; 1027 1028// EXTRAS: 1029 1030partial alphanumeric_keys 1031 xkb_symbols "sun_type6" { 1032 include "sun_vndr/fr(sun_type6)" 1033}; 1034