// COPY
// Bépo : Improved ergonomic french keymap using Dvorak method.
// Built by community on 'Dvorak Fr / Bépo' :
// see http://www.clavier-dvorak.org/wiki/ to join and help.
// XOrg integration (1.0rc2 version) in 2008
// by Frédéric Boiteux <fboiteux at free dot fr>
//
// Bépo layout (1.0rc2 version) for a pc105 keyboard (french) :
// ┌─────┐
// │ S A │ S = Shift, A = AltGr + Shift
// │ s a │ s = normal, a = AltGr
// └─────┘
//
// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
// │ # ¶ │ 1 „ │ 2 “ │ 3 ” │ 4 ≤ │ 5 ≥ │ 6 │ 7 ¬ │ 8 ¼ │ 9 ½ │ 0 ¾ │ ° ′ │ ` ″ ┃ ⌫ Retour┃
// │ $ – │ " — │ « < │ » > │ ( [ │ ) ] │ @ ^ │ + ± │ - − │ / ÷ │ * × │ = ≠ │ % ‰ ┃ arrière┃
// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
// ┃ ┃ B ¦ │ É ˝ │ P § │ O Œ │ È ` │ ! │ V │ D Ð │ L │ J IJ │ Z Ə │ W ┃Entrée ┃
// ┃Tab ↹ ┃ b | │ é ˊ │ p & │ o œ │ è ` │ ˆ ¡ │ v ˇ │ d ð │ l / │ j ij │ z ə │ w ̆ ┃ ⏎ ┃
// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃
// ┃ ┃ A Æ │ U Ù │ I ˙ │ E ¤ │ ; ̛ │ C ſ │ T Þ │ S ẞ │ R ™ │ N │ M º │ Ç , ┃ ┃
// ┃Maj ⇬ ┃ a æ │ u ù │ i ̈ │ e € │ , ’ │ c © │ t þ │ s ß │ r ® │ n ˜ │ m ¯ │ ç ¸ ┃ ┃
// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫
// ┃ ┃ Ê │ À │ Y ‘ │ X ’ │ : · │ K │ ? ̉ │ Q ̣ │ G │ H ‡ │ F ª ┃ ┃
// ┃Shift ⇧┃ ê / │ à \ │ y { │ x } │ . … │ k ~ │ ' ¿ │ q ˚ │ g µ │ h † │ f ˛ ┃Shift ⇧ ┃
// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛
// ┃ ┃ ┃ ┃ Espace inséc. Espace inséc. fin ┃ ┃ ┃ ┃
// ┃Ctrl ┃Meta ┃Alt ┃ ␣ (Espace) _ ␣ ┃AltGr ⇮┃Menu ┃Ctrl ┃
// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
// DRAFT UNFINISHED
partial alphanumeric_keys
xkb_symbols "bepo_standard" {
include "level3(ralt_switch)"
include "level5(modifier_mapping)" // For ISO_Level5_Latch on key AC08, implementing the Latin&punctuation dead key.
include "keypad(oss)"
name[Group1]= "French (Bepo, ergonomic, Dvorak way, standardized)"; // Version 1.1rc2 (2018).
// First row
key.type[Group1] = "EIGHT_LEVEL"; // Levels 5..8 are meant as an XKB conformant implementation of the Latin&punctuation dead key.
key <TLDE> { [ dollar, numbersign, endash, paragraph, 5, 6, 7, 8 ] }; // $ # – ¶
key.type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC"; // Levels 5-6 are capsed too, for consistency with other implementations.
key <AE01> { [ quotedbl, 1, emdash, doublelowquotemark, 5, 6, 7, 8 ] }; // " 1 — „
key <AE02> { [ guillemotleft, 2, less, leftdoublequotemark, U2039, 6, 7, 8 ] }; // « 2 < “
key <AE03> { [ guillemotright, 3, greater, rightdoublequotemark, U203A, 6, 7, 8 ] }; // » 3 > ”
key <AE04> { [ parenleft, 4, bracketleft, U2A7D, 5, 6, 7, 8 ] }; // ( 4 [ ≤
key <AE05> { [ parenright, 5, bracketright, U2A7E, 5, 6, 7, 8 ] }; // ) 5 ] ≥
key <AE06> { [ at, 6, asciicircum, 4, 5, 6, 7, 8 ] }; // @ 6 ^
key <AE07> { [ plus, 7, plusminus, notsign, 5, 6, 7, 8 ] }; // + 7 ± ¬
key <AE08> { [ minus, 8, U2212, onequarter, 5, 6, 7, 8 ] }; // - 8 − ¼
key <AE09> { [ slash, 9, division, onehalf, 5, 6, 7, 8 ] }; // / 9 ÷ ½
key <AE10> { [ asterisk, 0, multiply, threequarters, 5, 6, 7, 8 ] }; // * 0 × ¾
key.type[Group1] = "EIGHT_LEVEL";
key <AE11> { [ equal, degree, notequal, minutes, 5, 6, 7, 8 ] }; // = ° ≠ ′
key <AE12> { [ percent, grave, U2030, seconds, 5, 6, 7, 8 ] }; // % ` ‰ ″
// Second row
key <AD01> { [ b, B, bar, brokenbar, 5, 6, 7, 8 ] }; // b B | ¦
key <AD02> { [ eacute, Eacute, dead_acute, dead_doubleacute, 5, 6, 7, 8 ] }; // é É ˊ ˝
key <AD03> { [ p, P, ampersand, section, 5, 6, 7, 8 ] }; // p P & §
key <AD04> { [ o, O, oe, OE, 5, 6, 7, 8 ] }; // o O œ Œ
key <AD05> { [ egrave, Egrave, dead_grave, grave, 5, 6, 7, 8 ] }; // è È ` `
key <AD06> { [ dead_circumflex, exclam, exclamdown, 4, 5, 6, 7, 8 ] }; // ^ ! ¡
key <AD07> { [ v, V, dead_caron, 4, 5, 6, 7, 8 ] }; // v V ˇ
key <AD08> { [ d, D, eth, ETH, 5, 6, 7, 8 ] }; // d D ð Ð
key <AD09> { [ l, L, dead_stroke, 4, 5, 6, 7, 8 ] }; // l L /
key <AD10> { [ j, J, U0133, U0132, 5, 6, 7, 8 ] }; // j J ij IJ
key <AD11> { [ z, Z, schwa, SCHWA, 5, 6, 7, 8 ] }; // z Z ə Ə
key <AD12> { [ w, W, dead_breve, 4, 5, 6, 7, 8 ] }; // w W ̆
// Third row
key <AC01> { [ a, A, ae, AE, 5, 6, 7, 8 ] }; // a A æ Æ
key <AC02> { [ u, U, ugrave, Ugrave, 5, 6, 7, 8 ] }; // u U ù Ù
key <AC03> { [ i, I, dead_diaeresis, dead_abovedot, 5, 6, 7, 8 ] }; // i I ̈ ˙
key <AC04> { [ e, E, EuroSign, dead_currency, 5, 6, 7, 8 ] }; // e E € ¤
key <AC05> { [ comma, semicolon, rightsinglequotemark, dead_horn, 5, 6, 7, 8 ] }; // , ; ’ ̛
key <AC06> { [ c, C, copyright, U017F, 5, 6, 7, 8 ] }; // c C © ſ
key <AC07> { [ t, T, thorn, THORN, 5, 6, 7, 8 ] }; // t T þ Þ
key <AC08> { [ s, S,ISO_Level5_Latch, U1E9E, 5, 6, 7, 8 ] }; // s S ß ẞ
key <AC09> { [ r, R, registered, trademark, 5, 6, 7, 8 ] }; // r R ® ™
key <AC10> { [ n, N, dead_tilde, 4, 5, 6, 7, 8 ] }; // n N ~
key <AC11> { [ m, M, dead_macron, masculine, 5, 6, 7, 8 ] }; // m M ̄ º
key <BKSL> { [ ccedilla, Ccedilla, dead_cedilla, dead_belowcomma, 5, 6, 7, 8 ] }; // ç Ç ¸ ,
// Fourth row
key <LSGT> { [ ecircumflex, Ecircumflex, slash, 4, 5, 6, 7, 8 ] }; // ê Ê /
key <AB01> { [ agrave, Agrave, backslash, 4, 5, 6, 7, 8 ] }; // à À \
key <AB02> { [ y, Y, braceleft, leftsinglequotemark, 5, 6, 7, 8 ] }; // y Y { ‘
key <AB03> { [ x, X, braceright, rightsinglequotemark, 5, 6, 7, 8 ] }; // x X } ’
key <AB04> { [ period, colon, ellipsis, periodcentered, 5, 6, 7, 8 ] }; // . : … ·
key <AB05> { [ k, K, asciitilde, 4, 5, 6, 7, 8 ] }; // k K ~
key <AB06> { [ apostrophe, question, questiondown, dead_hook, 5, 6, 7, 8 ] }; // ' ? ¿ ̉
key <AB07> { [ q, Q, dead_abovering, dead_belowdot, 5, 6, 7, 8 ] }; // q Q ˚ ̣
key <AB08> { [ g, G, dead_greek, 4, 5, 6, 7, 8 ] }; // g G µ
key <AB09> { [ h, H, dagger, doubledagger, 5, 6, 7, 8 ] }; // h H † ‡
key <AB10> { [ f, F, dead_ogonek, ordfeminine, 5, 6, 7, 8 ] }; // f F ̨ ª
key <SPCE> { [ space, U202F, underscore, nobreakspace, 5, 6, 7, 8 ] }; // ␣ (espace insécable) _ (espace insécable fin)
};