// $XKeyboardConfig: xkeyboard-config/symbols/fr,v 1.17 2008-01-02 21:21:43 svu Exp $ // based on a keyboard map from an 'xkb/symbols/fr' file // // $XFree86: xc/programs/xkbcomp/symbols/fr,v 1.2 2002/11/22 04:03:28 dawes Exp $ partial default alphanumeric_keys xkb_symbols "basic" { include "latin" name[Group1]="France"; key { [ ampersand, 1, onesuperior, exclamdown ] }; key { [ eacute, 2, asciitilde, oneeighth ] }; key { [ quotedbl, 3, numbersign, sterling ] }; key { [apostrophe, 4, braceleft, dollar ] }; key { [ parenleft, 5, bracketleft, threeeighths ] }; key { [ minus, 6, bar, fiveeighths ] }; key { [ egrave, 7, grave, seveneighths ] }; key { [underscore, 8, backslash, trademark ] }; key { [ ccedilla, 9, asciicircum, plusminus ] }; key { [ agrave, 0, at, degree ] }; key { [parenright, degree, bracketright, questiondown ] }; key { [ equal, plus, braceright, dead_ogonek ] }; key { [ a, A, ae, AE ] }; key { [ z, Z, guillemotleft, less ] }; key { [ e, E, EuroSign, cent ] }; key { [dead_circumflex, dead_diaeresis, dead_diaeresis, dead_abovering ] }; key { [ dollar, sterling, currency, dead_macron ] }; key { [ q, Q, at, Greek_OMEGA ] }; key { [ m, M, mu, masculine ] }; key { [ ugrave, percent, dead_circumflex, dead_caron] }; key { [twosuperior, asciitilde, notsign, notsign ] }; key { [ asterisk, mu, dead_grave, dead_breve ] }; key { [ w, W, lstroke, Lstroke ] }; key { [ comma, question, dead_acute, dead_doubleacute ] }; key { [ semicolon, period, horizconnector, multiply ] }; key { [ colon, slash, periodcentered, division ] }; key { [ exclam, section, dead_belowdot, dead_abovedot ] }; include "level3(ralt_switch)" }; partial alphanumeric_keys xkb_symbols "Sundeadkeys" { // Modifies the basic French layout to use the Sun dead keys include "fr(basic)" key { [SunFA_Circum, SunFA_Diaeresis ] }; key { [comma, question, SunFA_Acute, dead_doubleacute ] }; }; partial alphanumeric_keys xkb_symbols "sundeadkeys" { include "fr(Sundeadkeys)" name[Group1]="France - Sun dead keys"; }; partial alphanumeric_keys xkb_symbols "nodeadkeys" { // Modifies the basic French layout to eliminate all dead keys include "fr(basic)" name[Group1]="France - Eliminate dead keys"; key { [ equal, plus, braceright, ogonek ] }; key { [asciicircum, diaeresis ] }; key { [ dollar, sterling, currency, macron ] }; key { [ ugrave, percent, asciicircum, caron ] }; key { [ asterisk, mu, grave, breve ] }; key { [ comma, question, acute, doubleacute ] }; key { [ exclam, section, dead_belowdot, abovedot ] }; }; // Unicode French derivative // Loose refactoring of the historic Linux French keyboard layout // // Copyright © 2006 Nicolas Mailhot // // Credits (fr-latin1, fr-latin0, fr-latin9) // © 199x-1996 René Cougnenc ✝ // © 1997-2002 Guylhem Aznar // © 2003-2006 Nicolas Mailhot // // ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓ // │ ³ ¸ │ 1 ̨ │ 2 É │ 3 ˘ │ 4 — │ 5 – │ 6 ‑ │ 7 È │ 8 ™ │ 9 Ç │ 0 À │ ° ≠ │ + ± ┃ ⌫ Retour┃ // │ ² ¹ │ & ˇ │ é ~ │ " # │ ' { │ ( [ │ - | │ è ` │ _ \ │ ç ^ │ à @ │ ) ] │ = } ┃ arrière┃ // ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫ // ┃ ┃ A Æ │ Z  │ E ¢ │ R Ê │ T Þ │ Y Ÿ │ U Û │ I Î │ O Œ │ P Ô │ ¨ ˚ │ £ Ø ┃Entrée ┃ // ┃Tab ↹ ┃ a æ │ z â │ e € │ r ê │ t þ │ y ÿ │ u û │ i î │ o œ │ p ô │ ^ ~ │ $ ø ┃ ⏎ ┃ // ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃ // ┃ ┃ Q Ä │ S „ │ D Ë │ F ‚ │ G ¥ │ H Ð │ J Ü │ K Ï │ L Ŀ │ M Ö │ % Ù │ µ ̄ ┃ ┃ // ┃Maj ⇬ ┃ q ä │ s ß │ d ë │ f ‘ │ g ’ │ h ð │ j ü │ k ï │ l ŀ │ m ö │ ù ' │ * ` ┃ ┃ // ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫ // ┃ ┃ > ≥ │ W “ │ X ” │ C ® │ V ← │ B ↑ │ N → │ ? … │ . . │ / ∕ │ § − ┃ ┃ // ┃Shift ⇧┃ < ≤ │ w « │ x » │ c © │ v ⍽ │ b ↓ │ n ¬ │ , ¿ │ ; × │ : ÷ │ ! ¡ ┃Shift ⇧ ┃ // ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛ // ┃ ┃ ┃ ┃ ␣ Espace fine insécable ⍽ ┃ ┃ ┃ ┃ // ┃Ctrl ┃Meta ┃Alt ┃ ␣ Espace Espace insécable ⍽ ┃AltGr ⇮┃Menu ┃Ctrl ┃ // ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛ partial alphanumeric_keys xkb_symbols "oss" { include "latin" include "level3(ralt_switch)" include "level5(rctrl_switch)" include "nbsp(level4n)" include "keypad(oss)" name[Group1]="France - Alternative"; // First row key { [ twosuperior, threesuperior, onesuperior, dead_cedilla ] }; // ² ³ ¹ ¸ key { [ ampersand, 1, dead_caron, dead_ogonek ] }; // & 1 ˇ ̨ key { [ eacute, 2, asciitilde, Eacute ] }; // é 2 ~ É key { [ quotedbl, 3, numbersign, dead_breve ] }; // " 3 # ˘ key { [ apostrophe, 4, braceleft, 0x1002014 ] }; // ' 4 { — (tiret cadratin) key { [ parenleft, 5, bracketleft, 0x1002013 ] }; // ( 5 [ – (tiret demi-cadratin) key { [ minus, 6, bar, 0x1002011 ] }; // - 6 | ‑ (tiret insécable) key { [ egrave, 7, grave, Egrave ] }; // è 7 ` È key { [ underscore, 8, backslash, trademark ] }; // _ 8 \ ™ key { [ ccedilla, 9, asciicircum, Ccedilla ] }; // ç 9 ^ Ç key { [ agrave, 0, at, Agrave ] }; // à 0 @ À key { [ parenright, degree, bracketright, notequal ] }; // ) ° ] ≠ key { [ equal, plus, braceright, plusminus ] }; // = + } ± // Second row key { [ a, A, ae, AE ] }; // a A æ Æ key { [ z, Z, acircumflex, Acircumflex ] }; // z Z â  key { [ e, E, EuroSign, cent ] }; // e E € ¢ key { [ r, R, ecircumflex, Ecircumflex ] }; // r R ê Ê key { [ t, T, thorn, THORN ] }; // t T þ Þ key { [ y, Y, ydiaeresis, Ydiaeresis ] }; // y Y ÿ Ÿ key { [ u, U, ucircumflex, Ucircumflex ] }; // u U û Û key { [ i, I, icircumflex, Icircumflex ] }; // i I î Î key { [ o, O, oe, OE ] }; // o O œ Œ key { [ p, P, ocircumflex, Ocircumflex ] }; // p P ô Ô key { [ dead_circumflex, dead_diaeresis, dead_tilde, dead_abovering ] }; // ^ ̈ ̃ ˚ key { [ dollar, sterling, oslash, Ooblique ] }; // $ £ ø Ø // Third row key { [ q, Q, adiaeresis, Adiaeresis ] }; // q Q ä Ä key { [ s, S, ssharp, doublelowquotemark ] }; // s S ß „ key { [ d, D, ediaeresis, Ediaeresis ] }; // d D ë Ë key { [ f, F, leftsinglequotemark, singlelowquotemark ] }; // f F ‘ ‚ key { [ g, G, rightsinglequotemark, yen ] }; // g G ’ ¥ key { [ h, H, eth, ETH ] }; // h H ð Ð key { [ j, J, udiaeresis, Udiaeresis ] }; // j J ü Ü key { [ k, K, idiaeresis, Idiaeresis ] }; // k K ï Ï key { [ l, L, 0x1000140, 0x100013F ] }; // l L ŀ Ŀ key { [ m, M, odiaeresis, Odiaeresis ] }; // m M ö Ö key { [ ugrave, percent, dead_acute, Ugrave ] }; // ù % ' Ù key { [ asterisk, mu, dead_grave, dead_macron ] }; // * µ ` ̄ // Fourth row key { [ less, greater, lessthanequal, greaterthanequal ] }; // < > ≤ ≥ key { [ w, W, guillemotleft, leftdoublequotemark ] }; // w W « “ key { [ x, X, guillemotright, rightdoublequotemark ] }; // x X » ” key { [ c, C, copyright, registered ] }; // c C © ® key { [ v, V, 0x100202F, leftarrow ] }; // v V ⍽ ← (espace fine insécable) key { [ b, B, downarrow, uparrow ] }; // b B ↓ ↑ key { [ n, N, notsign, rightarrow ] }; // n N ¬ → key { [ comma, question, questiondown, 0x1002026 ] }; // , ? ¿ … key { [ semicolon, period, multiply, 0x10022C5 ] }; // ; . × ⋅ key { [ colon, slash, division, 0x1002215 ] }; // : / ÷ ∕ key { [ exclam, section, exclamdown, 0x1002212 ] }; // ! § ¡ − }; partial alphanumeric_keys xkb_symbols "oss_latin9" { // Restricts the fr(oss) layout to latin9 symbols include "fr(oss)" include "keypad(oss_latin9)" name[Group1]="France - Alternative, latin-9 only"; // First row key { [ ampersand, 1, dead_caron, dead_cedilla ] }; // & 1 ˇ ¸ key { [ quotedbl, 3, numbersign, dead_tilde ] }; // " 3 # ~ key { [ apostrophe, 4, braceleft, underscore ] }; // ' 4 { _ key { [ parenleft, 5, bracketleft, minus ] }; // ( 5 [ - key { [ minus, 6, bar, minus ] }; // - 6 | - key { [ underscore, 8, backslash, backslash ] }; // _ 8 \ \ key { [ parenright, degree, bracketright, equal ] }; // ) ° ] = // Third row key { [ s, S, ssharp, guillemotleft ] }; // s S ß « key { [ f, F, apostrophe, apostrophe ] }; // f F ' ' key { [ g, G, apostrophe, yen ] }; // g G ' ¥ key { [ l, L, periodcentered, periodcentered ] }; // l L · · key { [ asterisk, mu, dead_grave, dead_circumflex ] }; // * µ ` ^ // Fourth row key { [ less, greater, less, greater ] }; // < > < > key { [ w, W, guillemotleft, guillemotleft ] }; // w W « « key { [ x, X, guillemotright, guillemotright ] }; // x X » » key { [ v, V, nobreakspace, less ] }; // v V ⍽ < (espace insécable) key { [ b, B, minus, asciicircum ] }; // b B - ^ key { [ n, N, notsign, greater ] }; // n N ¬ > key { [ comma, question, questiondown, period ] }; // , ? ¿ . key { [ semicolon, period, multiply, periodcentered ] }; // ; . × · key { [ colon, slash, division, slash ] }; // : / ÷ / key { [ exclam, section, exclamdown, minus ] }; // ! § ¡ - }; partial alphanumeric_keys xkb_symbols "oss_Sundeadkeys" { // Modifies the basic fr(oss) layout to use the Sun dead keys include "fr(oss)" // First row key { [ twosuperior, threesuperior, onesuperior, SunFA_Cedilla ] }; // ¹ ² ³ ¸ // Second row key { [ SunFA_Circum, SunFA_Diaeresis, SunFA_Tilde, dead_abovering ] }; // ^ ̈ ̃ ˚ //Third row key { [ ugrave, percent, SunFA_Acute, Ugrave ] }; // ù % ' Ù key { [ asterisk, mu, SunFA_Grave, dead_macron ] }; // * µ ` ̄ }; partial alphanumeric_keys xkb_symbols "oss_sundeadkeys" { include "fr(oss_Sundeadkeys)" name[Group1]="France - Alternative, Sun dead keys"; }; partial alphanumeric_keys xkb_symbols "oss_nodeadkeys" { // Modifies the basic fr(oss) layout to eliminate all dead keys include "fr(oss)" name[Group1]="France - Alternative, eliminate dead keys"; key { [ twosuperior, threesuperior, onesuperior, cedilla ] }; // ² ³ ¹ ¸ key { [ ampersand, 1, caron, ogonek ] }; // & 1 ˇ ̨ key { [ quotedbl, 3, numbersign, breve ] }; // " 3 # ˘ // Second row key { [ dead_circumflex, dead_diaeresis, asciitilde, Aring ] }; // ^ ̈ ̃ Å key { [ ugrave, percent, acute, Ugrave ] }; // ù % ' Ù key { [ asterisk, mu, grave, macron ] }; // * µ ` ̄ }; // Historic Linux French keyboard layout (fr-latin9) // Copyright (c) 199x, 2002 Rene Cougnenc (original work) // Guylhem Aznar (maintainer) // Nicolas Mailhot // (XFree86 submission) // // $XFree86: xc/programs/xkbcomp/symbols/fr-latin9,v 1.1 2002/12/20 02:07:11 dawes Exp $ // // This layout has long been distributed and refined outside official channels. // To this day it remains more feature-rich and popular than the 'fr' layout. // // This file is derived from an original version by Guylhem Aznar. The // original version is always available from: // http://en.tldp.org/HOWTO/Francophones-HOWTO.html // and is distributed under a GPL license. // // The author has given permission for this derived version to be distributed // under the standard XFree86 license. He would like all changes to this // version be send to him at so he can sync the // identically named linux console map (kbd, linux-console) and this // fileout-of-tree GPL version. // // Now follows the keyboard design description in French. // (If you can't read it you probably have no business changing this file anyway:) // // Les accents circonflexes des principales voyelles sont obtenus avec // la touche Alt_Gr, les trémas sont obtenus par Alt_Gr + Shift. // // ____ _________ _____________ _______ // | S A| S = Shift, A = AltGr + Shift | Imprime | Arrêt défil | Pause | // | s a| s = normal, a = AltGr | Exec | | Halte | // ¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯ // ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ _______ // | œ "| 1 ·| 2 É| 3 ,| 4 '| 5 "| 6 || 7 È| 8 ¯| 9 Ç| 0 À| ° ÿ| + °| <-- | // | Œ "| & '| é ~| " #| ' {| ( [| - || è `| _ \| ç ^| à @| ) ]| = }| | // ======================================================================== // | |<- | A ä| Z Å| E ¢| R Ç| T Þ| Y Ý| U ü| I ï| O ö| P '| " `| $ ë| , | // | ->| | a â| z å| e €| r ç| t þ| y ý| u û| i î| o ô| p ¶| ^ ~| £ ê| <-' | // ===================================================================¬ | // | | Q Ä| S Ø| D Ë| F ª| G Æ| H Ð| J Ü| K Ï| L Ö| M º| % Ù| µ ¥| | // | MAJ | q Â| s ø| d Ê| f ±| g æ| h ð| j Û| k Î| l Ô| m ¹| ù ²| * ³| | // ======================================================================== // | ^ | > | W | X | C | V | B | N | ? | . | / | § | ^ | // | | | < || w «| x »| c ©| v ®| b ß| n ¬| , ¿| ; ×| : ÷| ! ¡| | | // ======================================================================== // | | | | | | | | | // | Ctrl | Super| Alt | Space Nobreakspace | AltGr | Super|Menu | Ctrl | // ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯ ¯¯¯¯¯¯ // // // Si les touches mortes fonctionnent, utiliser les accents dits // « morts », i.e. fonctionnant comme l'accent circonflexe & le // tréma des machines à écrire ; sont disponibles : // // (^) : accent circonflexe, // Shift+(^) : tréma, // Shift+AltGr (^) : tilde, // AltGr (1) : accent aigu, // AltGr (7) : accent grave // // Pour s'en servir, procéder comme avec l'accent circonflexe & le tréma // sur les vielles machines à écrire : // // AltGr (1) puis e : é // Shift+AltGr (1) puis e : É ... partial alphanumeric_keys xkb_symbols "latin9" { include "latin" include "nbsp(level3)" name[Group1]="France - (Legacy) Alternative"; key { [ oe, OE, leftdoublequotemark, rightdoublequotemark ] }; key { [ ampersand, 1, dead_acute, periodcentered ] }; key { [ eacute, 2, asciitilde, Eacute ] }; key { [ quotedbl, 3, numbersign, cedilla ] }; key { [ apostrophe, 4, braceleft, acute ] }; key { [ parenleft, 5, bracketleft, diaeresis ] }; key { [ minus, 6, bar, brokenbar ] }; key { [ egrave, 7, dead_grave, Egrave ] }; key { [ underscore, 8, backslash, macron ] }; key { [ ccedilla, 9, asciicircum, Ccedilla ] }; key { [ agrave, 0, at, Agrave ] }; key { [ parenright, degree, bracketright, ydiaeresis ] }; key { [ equal, plus, braceright, dead_abovering ] }; key { [ a, A, acircumflex, adiaeresis ] }; key { [ z, Z, aring, Aring ] }; key { [ e, E, EuroSign, cent ] }; key { [ r, R, ccedilla, Ccedilla ] }; key { [ t, T, thorn, THORN ] }; key { [ y, Y, yacute, Yacute ] }; key { [ u, U, ucircumflex, udiaeresis ] }; key { [ i, I, icircumflex, idiaeresis ] }; key { [ o, O, ocircumflex, odiaeresis ] }; key { [ p, P, paragraph, quoteleft ] }; key { [ dead_circumflex, dead_diaeresis, dead_tilde, quoteright ] }; key { [ dollar, sterling, ecircumflex, ediaeresis ] }; key { [ q, Q, Acircumflex, Adiaeresis ] }; key { [ s, S, oslash, Ooblique ] }; key { [ d, D, Ecircumflex, Ediaeresis ] }; key { [ f, F, plusminus, ordfeminine ] }; key { [ g, G, ae, AE ] }; key { [ h, H, eth, ETH ] }; key { [ j, J, Ucircumflex, Udiaeresis ] }; key { [ k, K, Icircumflex, Idiaeresis ] }; key { [ l, L, Ocircumflex, Odiaeresis ] }; key { [ m, M, onesuperior, masculine ] }; key { [ ugrave, percent, twosuperior, Ugrave ] }; key { [ asterisk, mu, threesuperior, yen ] }; key { [ less, greater, bar ] }; key { [ w, W, guillemotleft ] }; key { [ x, X, guillemotright ] }; key { [ c, C, copyright ] }; key { [ v, V, registered ] }; key { [ b, B, ssharp ] }; key { [ n, N, notsign ] }; key { [ comma, question, questiondown ] }; key { [ semicolon, period, multiply ] }; key { [ colon, slash, division ] }; key { [ exclam, section, exclamdown ] }; // French uses a comma as decimal separator, but keyboards are labeled with a period // Will take effect when KP_Decimal is mapped to the locale decimal separator key { [ KP_Delete, period, KP_Delete, KP_Decimal ] }; include "level3(ralt_switch)" }; partial alphanumeric_keys xkb_symbols "latin9_Sundeadkeys" { // Modifies the basic fr-latin9 layout to use the Sun dead keys include "fr(latin9)" key { [ ampersand, 1, SunFA_Acute, periodcentered ] }; key { [ egrave, 7, SunFA_Grave, Egrave ] }; key { [ SunFA_Circum, SunFA_Diaeresis, SunFA_Tilde, quoteright ] }; }; partial alphanumeric_keys xkb_symbols "latin9_sundeadkeys" { include "fr(latin9_Sundeadkeys)" name[Group1]="France - (Legacy) Alternative, Sun dead keys"; }; partial alphanumeric_keys xkb_symbols "latin9_nodeadkeys" { // Modifies the basic fr-latin9 layout to eliminate all dead keys include "fr(latin9)" name[Group1]="France - (Legacy) Alternative, eliminate dead keys"; key { [ ampersand, 1, apostrophe, periodcentered ] }; key { [ egrave, 7, grave, Egrave ] }; key { [ equal, plus, braceright ] }; key { [ asciicircum, diaeresis, asciitilde, quoteright ] }; }; // Bépo : Improved ergonomic french keymap using Dvorak method. // Built by community on 'Dvorak Fr' mailing list : // dvorak-fr@gpl.insa-lyon.fr and on its wiki : http://www.clavier-dvorak.org/ . // XOrg integration in 2006 by Frédéric Boiteux // // Bépo layout (0.6.5.1 version) for a pc105 keyboard (french) and pc104 : // ┌────┐ // │ S A│ S = Shift, A = AltGr + Shift // │ s a│ s = normal, a = AltGr // └────┘ // // // ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔═════════╗ // │ # ¶│ 1 │ 2 ≤│ 3 ≥│ 4 “│ 5 ”│ 6 ║ 7 °│ 8 ′│ 9 ″│ 0 │ @ │ µ ║ ║ // │ $ §│ " —│ « <│ » >│ ( [│ ) ]│ _ ║ + ±│ - –│ / ÷│ * ×│ = ¬│ % ‰║ <-- ║ // ╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦══════╣ // ║ |<- ║ B ¦│ É ˝│ P │ O Œ│ È `║ ! ¡│ V │ D Ð│ L │ J IJ│ Z Ə│ W ║ | ║ // ║ ->| ║ b |│ é ´│ p &│ o œ│ è `║ ˆ ˇ│ v │ d ð│ l /│ j ij│ z ə│ w ˘║ <-' ║ // ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗ ║ // ║ ║ A Æ│ U Ù│ I ˙│ E ¤│ ? ¿║ C │ T Þ│ S │ R │ N Ñ│ M º│ Ç ║ ║ // ║ CAPS ║ a æ│ u ù│ i ¨│ e €│ , ’║ c ©│ t þ│ s ß│ r ®│ n ñ│ m ¯│ ç ¸║ ║ // ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩═════╣ // ║ ^ ║ Ê │ À ˜│ Y │ H │ : ·│ K ║ ; │ Q │ G │ X ‡│ F ª║ ^ ║ // ║ | ║ ê /│ à ~│ y \│ h {│ . }│ k …║ ' ‘│ q │ g °│ x †│ f ˛║ | ║ // ╠══════╩╦═══╧══╦═╧═══╦╧════╧════╧════╧════╧════╧═╦══╧══╦═╧════╬═════╦══════╣ // ║ ║ ║ ║ NBSPACE FINE-NBSPACE ║ ║ ║ ║ ║ // ║ Ctrl ║ WinG ║ Alt ║ SPACE ║AltGr║ WinD ║WinM ║ Ctrl ║ // ╚═══════╩══════╩═════╩═══════════════════════════╩═════╩══════╩═════╩══════╝ // partial alphanumeric_keys xkb_symbols "bepo" { include "keypad(oss)" name[Group1]= "France - Bepo, ergonomic, Dvorak way (V 0.6.6)"; key { type[group1] = "FOUR_LEVEL", [ dollar , numbersign , section , paragraph ] }; // $ # § ¶ key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ quotedbl , 1 , emdash , endash ] }; // " 1 — – key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotleft , 2 , less , lessthanequal ] }; // « 2 < ≤ key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotright , 3 , greater , greaterthanequal ] }; // » 3 > ≥ key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenleft , 4 , bracketleft , leftdoublequotemark ] }; // ( 4 [ “ key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenright , 5 , bracketright , rightdoublequotemark ] }; // ) 5 ] ” key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ at , 6 ] }; // @ 6 key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ plus , 7 , plusminus , degree ] }; // + 7 ± ° key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ minus , 8 , U2212 , minutes ] }; // - 8 − ′ key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ slash , 9 , division , seconds ] }; // / 9 ÷ ″ key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ asterisk , 0 , multiply ] }; // * 0 × key { type[group1] = "THREE_LEVEL", [ equal , asciicircum , notsign ] }; // = ^ ¬ key { type[group1] = "THREE_LEVEL", [ percent , grave , U2030 ] }; // % ` ‰ key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ b , B , bar , brokenbar ] }; // b B | ¦ key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ eacute , Eacute , dead_acute , dead_doubleacute ] }; // é É ´ ˝ key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ p , P , ampersand ] }; // p P & key { type[group1] = "FOUR_LEVEL_ALPHABETIC", [ o , O , oe , OE ] }; // o O œ Œ key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ egrave , Egrave , dead_grave ] }; // è È ` key { type[group1] = "FOUR_LEVEL", [ dead_circumflex, exclam , dead_caron , exclamdown ] }; // ^ ! ˇ ¡ key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ v , V ] }; // v V key { type[group1] = "FOUR_LEVEL_ALPHABETIC", [ d , D , eth , ETH ] }; // d D ð Ð key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ l , L , UFDD0 ] }; // l L / key { type[group1] = "FOUR_LEVEL_ALPHABETIC", [ j , J , U0133, U0132 ] }; // j J ij IJ key { type[group1] = "FOUR_LEVEL_ALPHABETIC", [ z , Z , schwa, SCHWA ] }; // z Z ə Ə key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ w , W , dead_breve ] }; // w W ˘ key { type[group1] = "FOUR_LEVEL_ALPHABETIC", [ a , A , ae , AE ] }; // a A æ Æ key { type[group1] = "FOUR_LEVEL_ALPHABETIC", [ u , U , ugrave , Ugrave ] }; // u U ù Ù key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ i , I , dead_diaeresis , dead_abovedot ] }; // i I ¨ ˙ key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ e , E , EuroSign , UFDD1 ] }; // e E € ¤ key { type[group1] = "FOUR_LEVEL", [ comma , question , rightsinglequotemark, questiondown ] }; // , ? ’ ¿ key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ c , C , copyright ] }; // c C © key { type[group1] = "FOUR_LEVEL_ALPHABETIC", [ t , T , thorn , THORN ] }; // t T þ Þ key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ s , S , ssharp ] }; // s S ß key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ r , R , registered ] }; // r R ® key { type[group1] = "FOUR_LEVEL_ALPHABETIC", [ n , N , ntilde , Ntilde ] }; // n N ñ Ñ key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ m , M , dead_macron , masculine ] }; // m M ¯ º key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ ccedilla , Ccedilla , dead_cedilla ] }; // ç Ç ¸ key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ ecircumflex , Ecircumflex , slash ] }; // ê Ê / key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ x , X , backslash ] }; // x X \ key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ y , Y , braceleft ] }; // y Y { key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ agrave , Agrave , braceright ] }; // à À } key { type[group1] = "FOUR_LEVEL", [ period , colon , ellipsis , periodcentered ] }; // . : … · key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ k , K , asciitilde , dead_tilde ] }; // k K ~ ~ key { type[group1] = "THREE_LEVEL", [ apostrophe , semicolon , leftsinglequotemark ] }; // ' ; ‘ key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ q , Q , dead_abovering ] }; // q Q ˚ key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ g , G , UFDD2 ] }; // g G µ key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ h , H , dagger , doubledagger ] }; // h H † ‡ key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ f , F , dead_ogonek , ordfeminine ] }; // f F ˛ ª key { type[group1] = "FOUR_LEVEL", [ space , nobreakspace, underscore , U202F ] }; // _   include "level3(ralt_switch)" }; partial alphanumeric_keys xkb_symbols "bepo_latin9" { // Restricts the fr(bepo) layout to latin9 symbols include "keypad(oss_latin9)" name[Group1]="France - Bepo, ergonomic, Dvorak way, latin-9 only"; // guillemets key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ quotedbl , 1 , emdash , doublelowquotemark ] }; // " 1 — „ key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotleft , 2 , less , leftdoublequotemark ] }; // « 2 < “ key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotright , 3 , greater , rightdoublequotemark ] }; // » 3 > ” // accents morts : circonflexe et grave key { type[group1] = "FOUR_LEVEL", [ dead_grave , exclam , VoidSymbol , exclamdown ] }; // ` ! ¡ key { type[group1] = "FOUR_LEVEL", [ u , U , dead_circumflex , dead_caron ] }; // u U ^ // accents morts en double sous {W} et {Z} key { type[group1] = "FOUR_LEVEL", [ dead_circumflex , dead_caron , schwa , SCHWA ] }; // z Z ə Ə key { type[group1] = "FOUR_LEVEL", [ dead_diaeresis , dead_avovedot , dead_breve , VoidSymbol ] }; // w W ˘ // W et Z sous la main gauche key { type[group1] = "FOUR_LEVEL", [ w , W , VoidSymbol , VoidSymbol ] }; // w W key { type[group1] = "FOUR_LEVEL", [ z , Z , braceright , rightsinglequotemark ] }; // z Z } ’ }; // Keymap Dvorak pour le Français // par Josselin Mouette . partial alphanumeric_keys xkb_symbols "dvorak" { name[Group1]= "France - (Legacy) Dvorak"; key { [ oe, OE, ae, AE ] }; key { [ slash, 1, ampersand, onesuperior ] }; key { [ plus, 2, asciitilde, twosuperior ] }; key { [ minus, 3, numbersign, threesuperior ] }; key { [ asterisk, 4, less, guillemotleft ] }; key { [ equal, 5, greater, guillemotright ] }; key { [ backslash, 6, at, notsign ] }; key { [ parenleft, 7, dead_circumflex, multiply ] }; key { [ grave, 8, dead_grave, division ] }; key { [ parenright, 9, asciicircum, plusminus ] }; key { [ quotedbl, 0, dead_diaeresis, dead_diaeresis ] }; key { [bracketleft, braceleft, bar, degree ] }; key { [bracketright, braceright, percent, percent ] }; key { [ colon, question, question, questiondown ] }; key { [ agrave, Agrave, aring, Aring ] }; key { [ eacute, Eacute, EuroSign, cent ] }; key { [ g, G, oslash, Ooblique ] }; key { [ period, exclam, periodcentered, exclamdown ] }; key { [ h, H, eth, ETH ] }; key { [ v, V ] }; key { [ c, C, copyright, registered ] }; key { [ m, M, mu, mu ] }; key { [ k, K, dollar, dollar ] }; key { [ egrave, Egrave, sterling, sterling ] }; key { [ z, Z, yen, yen ] }; key { [ o, O, ocircumflex, Ocircumflex ] }; key { [ a, A, acircumflex, Acircumflex ] }; key { [ u, U, ucircumflex, Ucircumflex ] }; key { [ e, E, ecircumflex, Ecircumflex ] }; key { [ b, B, ssharp, ssharp ] }; key { [ f, F ] }; key { [ s, S ] }; key { [ t, T, thorn, THORN ] }; key { [ n, N, ntilde, Ntilde ] }; key { [ d, D, section, section ] }; key { [ w, W, paragraph, paragraph ] }; key { [ ugrave, Ugrave, masculine, ordfeminine ] }; key { [ apostrophe, underscore, dead_acute, macron ] }; key { [ q, Q, guillemotleft, guillemotleft ] }; key { [ comma, semicolon, guillemotright, guillemotright ] }; key { [ i, I, icircumflex, Icircumflex ] }; key { [ y, Y, ydiaeresis, Ydiaeresis ] }; key { [ x, X, ediaeresis, Ediaeresis ] }; key { [ r, R, udiaeresis, Udiaeresis ] }; key { [ l, L, adiaeresis, Adiaeresis ] }; key { [ p, P, odiaeresis, Odiaeresis ] }; key { [ j, J, idiaeresis, Idiaeresis ] }; key { [ space, space, nobreakspace, nobreakspace ] }; key { [ ccedilla, Ccedilla ] }; include "level3(ralt_switch)" }; // Marc.Shapiro@inria.fr 19-sep-1998 // modifications : Etienne Herlent june 2000 // adapted to the new input layer : // Martin Costabel 3-jan-2001 // adapted for Latin9 alphabet (ISO-8859-15): // Etienne Herlent march 2005 // This map is an almost-complete mapping of the standard French // MacIntosh keyboard under Xwindows. I tried to remain as faithful // as possible to the Mac meaning of each key. I did this entirely by // hand and by intuition, relying on the Clavier (Keyboard?) Desktop // Accessory for the Mac meaning of keys, and on reading keysymdef.h // to intuit the corresponding X names. Lacking proper documentation, // I may have made some mistakes. // Entries marked CHECK are particularly uncertain // Entries marked MISSING mark Mac characters for which I was unable // to find a corresponding keysym. (Some for sure don't: e.g. the // Apple mark and the oe/OE character; others I may have simply not // found.) // Copied from macintosh_vndr/fr partial alphanumeric_keys xkb_symbols "mac" { name[Group1]= "France - Macintosh"; // Alphanumeric section key { [ at, numbersign, periodcentered, Ydiaeresis ] }; // MISSING: Ydiaeresis; eherlent : ok in Latin9 key { [ ampersand, 1, VoidSymbol, dead_acute ] }; // MISSING: Apple key { [ eacute, 2, ediaeresis, Eacute ] }; key { [ quotedbl, 3, VoidSymbol, VoidSymbol ] }; // CHECK all quotemarks key { [ apostrophe, 4, VoidSymbol, VoidSymbol ] }; key { [ parenleft, 5, braceleft, bracketleft ] }; // CHECK section key { [ section, 6, paragraph, aring ] }; key { [ egrave, 7, guillemotleft, guillemotright ] }; key { [ exclam, 8, exclamdown, Ucircumflex ] }; key { [ ccedilla, 9, Ccedilla, Aacute ] }; key { [ agrave, 0, oslash, VoidSymbol ] }; // MISSING: Oslash key { [ parenright, degree, braceright, bracketright ] }; key { [ minus, underscore, emdash, endash ] }; // CHECK dashes key { [ a, A, ae, AE ] }; key { [ z, Z, Acircumflex, Aring ] }; key { [ e, E, ecircumflex, Ecircumflex ] }; key { [ r, R, registered, currency ] }; key { [ t, T, VoidSymbol, VoidSymbol ] }; key { [ y, Y, Uacute, Ydiaeresis ] }; // MISSING: Ydiaeresis; eherlent : ok in Latin9 key { [ u, U, VoidSymbol, ordfeminine ] }; // MISSING: ordmasculine? key { [ i, I, icircumflex, idiaeresis ] }; key { [ o, O, oe, OE ] }; // MISSING: oe, OE lacking in Latin1; eherlent ok in Latin9 key { [ p, P, VoidSymbol, VoidSymbol ] }; key { [dead_circumflex,dead_diaeresis, ocircumflex, Ocircumflex ] }; key { [ dollar, asterisk, EuroSign, yen ] }; // eherlent : EuroSign in Latin9 key { [ q, Q, acircumflex, Agrave ] }; key { [ s, S, Ograve, VoidSymbol ] }; key { [ d, D, VoidSymbol, VoidSymbol ] }; key { [ f, F, VoidSymbol, periodcentered ] }; // MISSING: oblong script f?? key { [ g, G, VoidSymbol, VoidSymbol ] }; // MISSING: kerned fi, fl key { [ h, H, Igrave, Icircumflex ] }; key { [ j, J, Idiaeresis, Iacute ] }; key { [ k, K, Egrave, Ediaeresis ] }; key { [ l, L, notsign, bar ] }; key { [ m, M, mu, Oacute ] }; key { [ ugrave,percent, Ugrave, ucircumflex ] }; // MISSING: per-mille key { [ dead_grave, sterling, at, numbersign ] }; key { [ less, greater, VoidSymbol, VoidSymbol ] }; key { [ w, W, VoidSymbol, VoidSymbol ] }; // MISSING: half-guillemot (single angle bracket) key { [ x, X, VoidSymbol, VoidSymbol ] }; // CHECK similarequal; MISSING: extra-slanted slash key { [ c, C, copyright, cent ] }; key { [ v, V, diamond, leftradical ] }; // CHECK diamond, leftradical key { [ b, B, ssharp, VoidSymbol ] }; // CHECK: Greek_beta or ssharp?; MISSING: oblong script s key { [ n, N, dead_tilde, asciitilde ] }; key { [ comma, question, VoidSymbol, questiondown ] }; key { [ semicolon, period, VoidSymbol, periodcentered ] }; key { [ colon, slash, division, backslash ] }; key { [ equal, plus, VoidSymbol, plusminus ] }; key { [ space, space, nobreakspace, nobreakspace ] }; // End alphanumeric section key { [ comma,KP_Decimal ] }; include "level3(ralt_switch)" }; partial alphanumeric_keys xkb_symbols "geo" { include "ge(basic)" name[Group1]= "France - Georgian AZERTY Tskapo"; key { [ exclam, noSymbol ] }; key { [ 0x0100201e, 1 ] }; key { [ 0x01002116, 2 ] }; key { [ percent, 3 ] }; key { [ parenleft, 4 ] }; key { [ colon, 5 ] }; key { [ semicolon, 6 ] }; key { [ question, 7 ] }; key { [ 0x01002116, 8 ] }; key { [ degree, 9 ] }; key { [ parenright, 0 ] }; key { [ minus, underscore, 0x01002014 ] }; key { [ less, greater ] }; key { [ 0x010010d0, 0x010010fa ] }; key { [ 0x010010d6, Z ] }; key { [ 0x010010d4, E, 0x010010f1 ] }; key { [ 0x010010e0, 0x010000ae ] }; key { [ 0x010010e2, T ] }; key { [ 0x010010e7, 0x010010f8 ] }; key { [ 0x010010e3, U ] }; key { [ 0x010010d8, 0x010010f2 ] }; key { [ 0x010010dd, O ] }; key { [ 0x010010de, P ] }; key { [ 0x010010d7, T ] }; key { [ 0x010010eb, Z ] }; key { [ 0x010010e5, Q ] }; key { [ 0x010010e1, S ] }; key { [ 0x010010d3, D ] }; key { [ 0x010010e4, 0x010010f6 ] }; key { [ 0x010010d2, 0x010010f9 ] }; key { [ 0x010010f0, 0x010010f5 ] }; key { [ 0x010010ef, 0x010010f7 ] }; key { [ 0x010010d9, K ] }; key { [ 0x010010da, L ] }; key { [ 0x010010db, M ] }; key { [ 0x010010df, J ] }; key { [ 0x010010e9, 0x010000a9 ] }; key { [ guillemotleft,guillemotright ] }; key { [ 0x010010ec, W ] }; key { [ 0x010010ee, 0x010010f4 ] }; key { [ 0x010010ea, 0x010000a9 ] }; key { [ 0x010010d5, 0x010010f3 ] }; key { [ 0x010010d1, B ] }; key { [ 0x010010dc, 0x010010fc ] }; key { [ comma, 0x01002014 ] }; key { [ 0x010010e8, S ] }; key { [ 0x010010e6, noSymbol ] }; key { [ 0x010010ed, noSymbol ] }; };