« Utilisateur:Marcel/Bac à sable » : différence entre les versions

De Disposition de clavier bépo
Aucun résumé des modifications
(début de compose perso)
Ligne 1 : Ligne 1 :
  // COPY
<pre>
  // Bépo : Improved ergonomic french keymap using Dvorak method.
  $ cat ~/.XCompose
  // Built by community on 'Dvorak Fr / Bépo' :
#  You may wish to use YAML syntaxic highlighting to view this file.
  // see http://www.clavier-dvorak.org/wiki/ to join and help.
#  Non-breakable whitespaces are marked up with down-pointing triangles
  // XOrg integration (1.0rc2 version) in 2008
  #  in Gedit 3.18.3 +"Draw Spaces" plugin: U+25BF for NBSP, U+25BE for NNBSP.
  // by Frédéric Boiteux <fboiteux at free dot fr>
include "%L"  # import the default Compose file for your locale
  //
#############################################################################
  // Bépo layout (1.0rc2 version) for a pc105 keyboard (french) :
#  Set Keyboard Input Method System to XIM in Settings > Language Support. #
  // ┌─────┐
#  Compose sequences with multiple character output are broken if the IME  #
  // │ S A │  S = Shift, A = AltGr + Shift
  #  is set to either "None" or "iBus".    Tested on Ubuntu 16.04 LTS.      #
  // │ s a │  s = normal, a = AltGr
#############################################################################
  // └─────┘
#  http://manpages.ubuntu.com/manpages/cosmic/man5/Compose.5.html
  //
  #  https://bugzilla.gnome.org/show_bug.cgi?id=537457#c7
  // ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
#  https://bugs.launchpad.net/ubuntu/+source/xkeyboard-config/+bug/1584314
  // │ # ¶ │ 1 „ │ 2 “ │ 3 ” │ 4 ≤ │ 5 ≥ │ 6   │ 7 ¬ │ 8 ¼ │ 9 ½ │ 0 ¾ │ ° ′ │ ` ″ ┃ ⌫ Retour┃
#############################################################################
  // │ $ – │ " — │ « < │ » > ( [ │ ) ] │ @ ^ │ + ± │ - − │ / ÷ │ * × │ = ≠ │ % ‰ ┃ arrière┃
#
  // ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
#  Circumflex accent dead key enhancement
  // ┃      ┃ B ¦ │ É ˝ │ P § │ O Œ │ È ` │ !   │ V  │ D Ð │ L  │ J IJ │ Z Ə │ W  ┃Entrée ┃
<dead_circumflex> <b> : "êb"
  // ┃Tab ↹ ┃ b | │ é ˊ │ p & │ o œ │ è ` │ ˆ ¡ │ v ˇ │ d ð │ l / │ j ij │ z ə │ w ̆   ⏎  ┃
<dead_circumflex> <B> : "ÊB"
  // ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓      ┃
<dead_circumflex> <x> : "êch"
  // ┃        ┃ A Æ │ U Ù │ I ˙ │ E ¤ │ ; ̛ │ C ſ │ T Þ │ S ẞ │ R ™ │ N  │ M º │ Ç , ┃      ┃
<dead_circumflex> <X> : "ÊCH"
  // ┃Maj ⇬  ┃ a æ │ u ù │ i ̈ │ e € │ , ’ │ c © │ t þ │ s ß │ r ® │ n ˜ │ m ¯ │ ç ¸ ┃      ┃
<dead_circumflex> <q> : "cʼh"
  // ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫
<dead_circumflex> <Q> : "CʼH"
  // ┃      ┃ Ê   │ À  │ Y ‘ │ X ’ │ : · │ K   │ ? ̉ │ Q ̣ │ G  │ H ‡ │ F ª ┃            ┃
<dead_circumflex> <d> : "êd"
  // ┃Shift ⇧┃ ê / │ à \ │ y { │ x } │ . … │ k ~ │ ' ¿ │ q ˚ │ g µ │ h † │ f ˛ ┃Shift ⇧      ┃
<dead_circumflex> <D> : "ÊD"
  // ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛
<dead_circumflex> <f> : "êf"
  // ┃      ┃      ┃      ┃ Espace inséc.   Espace inséc. fin ┃      ┃      ┃      ┃
<dead_circumflex> <F> : "ÊF"
  // ┃Ctrl   ┃Meta   ┃Alt    ┃ ␣ (Espace)     _              ␣ ┃AltGr ⇮┃Menu  ┃Ctrl  ┃
<dead_circumflex> <l> : "êl"
  // ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
<dead_circumflex> <L> : "ÊL"
 
<dead_circumflex> <m> : "êm"
  // DRAFT UNFINISHED
<dead_circumflex> <M> : "ÊM"
  partial alphanumeric_keys
<dead_circumflex> <n> : "ên"
  xkb_symbols "bepo_standard" {
<dead_circumflex> <N> : "ÊN"
<dead_circumflex> <p> : "êp"
<dead_circumflex> <P> : "ÊP"
<dead_circumflex> <r> : "êr"
<dead_circumflex> <R> : "ÊR"
<dead_circumflex> <t> : "êt"
<dead_circumflex> <T> : "ÊT"
<dead_circumflex> <v> : "êv"
<dead_circumflex> <V> : "ÊV"
#
#  Output sequences for keymaps
#
#  It’s hard to add new special keysyms and to bind them to mnemonic names.
  #  But only keysyms are looked up in Compose, not characters in the Uxxxx format.
#  So best is to use keysyms based on hex template derived from Private Use characters.
#  See <https://www.cl.cam.ac.uk/~mgk25/ucs/keysymdef.h>. (New keysyms have been added.)
  #  Unicode Private Use areas are managed by CSUR and UCSUR:
  #  http://www.evertype.com/standards/csur/
  #  http://www.kreativekorp.com/ucsur/
#
#  Automated punctuation spacing for fr-FR, regular (with NNBSP U+202F)
<0x0100EF60> : " !"
<0x0100EF60> : " !"
<0x0100EF61> : " :"
  <0x0100EF62> : " ;"
  <0x0100EF63> : " ?"
  <0x0100EF64> : "« "
  <0x0100EF65> : " »"
  <0x0100EF66> : "‹ "
  <0x0100EF67> : " ›"
  #
  #  Abbreviation "Numéro" with regular superscript o and NNBSP (U+202F)
  <0x0100EF68> : "nᵒ "
<0x0100EF69> : "Nᵒ "
#
#  Breton trigraphs, with regular letter apostrophe (U+02BC)
<0x0100EF6A> : "cʼh
<0x0100EF6B> : "Cʼh
  <0x0100EF6C> : "CʼH"
  #
  #   Breton digraphs
<0x0100EF6D> : "ch"
<0x0100EF6E> : "Ch"
  <0x0100EF6F> : "CH"
  #
  #   Automated punctuation spacing for fr-FR, Latin-1 fallbacks with NBSP (U+00A0)
<0x0100EF70> : " !"
  <0x0100EF71> : " :"
  <0x0100EF72> : " ;"
  <0x0100EF73> : " ?"
<0x0100EF74> : "« "
<0x0100EF75> : " »"
  <0x0100EF76> : "‹ "
  <0x0100EF77> : " ›"
  #
  #   Double and triple zeroes for Numpad extended
<0x0100EF78> : "00"
<0x0100EF79> : "000"
#
#   Prefixes
  <0x0100EF7A> : "&#"
  <0x0100EF7B> : "&#x"
  <0x0100EF7C> : "\\x"
<0x0100EF7D> : "0x"
<0x0100EF7E> : "\\u"
<0x0100EF7F> : "U+"
  #
  #   Justifying non-breakable spaces (other than NBSP U+00A0, tailored as fixed-width)
  <0x0100EF80> : " ⁠"  # With WORD JOINER U+2060 (for OpenOffice/LibreOffice Writer)
<0x0100EF81> : " "  # With ZERO-WIDTH NO-BREAK SPACE U+FEFF (deprecated)
#
#   HTML entities of non-breaking spaces
<0x0100EF82> : "&nbsp;"   # NO-BREAK SPACE U+00A0
<0x0100EF83> : "&#8239;"  # NARROW NO-BREAK SPACE U+202F (shorter than &#x202F;)
<0x0100EF84> : "&#8199;"  # FIGURE SPACE U+2007 (shorter than &#x2007;)
  #
#  Reserved: U+EF85..U+EF8F
  #
  #  Dead keys
  <0x0100EF90> : "" # dead_bar (required for disambiguation
   
   
    include "level3(ralt_switch)"
</pre>
    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)
};

Version du 14 août 2018 à 06:03

 $ cat ~/.XCompose 
 #   You may wish to use YAML syntaxic highlighting to view this file.
 #   Non-breakable whitespaces are marked up with down-pointing triangles
 #   in Gedit 3.18.3 +"Draw Spaces" plugin: U+25BF for NBSP, U+25BE for NNBSP.
 include "%L"   # import the default Compose file for your locale
 #############################################################################
 #   Set Keyboard Input Method System to XIM in Settings > Language Support. # 
 #   Compose sequences with multiple character output are broken if the IME  #
 #   is set to either "None" or "iBus".    Tested on Ubuntu 16.04 LTS.       #
 #############################################################################
 #   http://manpages.ubuntu.com/manpages/cosmic/man5/Compose.5.html
 #   https://bugzilla.gnome.org/show_bug.cgi?id=537457#c7
 #   https://bugs.launchpad.net/ubuntu/+source/xkeyboard-config/+bug/1584314
 #############################################################################
 #
 #   Circumflex accent dead key enhancement
 <dead_circumflex> <b> : "êb"
 <dead_circumflex> <B> : "ÊB"
 <dead_circumflex> <x> : "êch"
 <dead_circumflex> <X> : "ÊCH"
 <dead_circumflex> <q> : "cʼh"
 <dead_circumflex> <Q> : "CʼH"
 <dead_circumflex> <d> : "êd"
 <dead_circumflex> <D> : "ÊD"
 <dead_circumflex> <f> : "êf"
 <dead_circumflex> <F> : "ÊF"
 <dead_circumflex> <l> : "êl"
 <dead_circumflex> <L> : "ÊL"
 <dead_circumflex> <m> : "êm"
 <dead_circumflex> <M> : "ÊM"
 <dead_circumflex> <n> : "ên"
 <dead_circumflex> <N> : "ÊN"
 <dead_circumflex> <p> : "êp"
 <dead_circumflex> <P> : "ÊP"
 <dead_circumflex> <r> : "êr"
 <dead_circumflex> <R> : "ÊR"
 <dead_circumflex> <t> : "êt"
 <dead_circumflex> <T> : "ÊT"
 <dead_circumflex> <v> : "êv"
 <dead_circumflex> <V> : "ÊV"
 #
 #   Output sequences for keymaps
 #
 #   It’s hard to add new special keysyms and to bind them to mnemonic names.
 #   But only keysyms are looked up in Compose, not characters in the Uxxxx format.
 #   So best is to use keysyms based on hex template derived from Private Use characters.
 #   See <https://www.cl.cam.ac.uk/~mgk25/ucs/keysymdef.h>. (New keysyms have been added.)
 #   Unicode Private Use areas are managed by CSUR and UCSUR:
 #   http://www.evertype.com/standards/csur/
 #   http://www.kreativekorp.com/ucsur/
 #
 #   Automated punctuation spacing for fr-FR, regular (with NNBSP U+202F)
 <0x0100EF60> : " !"
 <0x0100EF60> : " !"
 <0x0100EF61> : " :"
 <0x0100EF62> : " ;"
 <0x0100EF63> : " ?"
 <0x0100EF64> : "« "
 <0x0100EF65> : " »"
 <0x0100EF66> : "‹ "
 <0x0100EF67> : " ›"
 #
 #   Abbreviation "Numéro" with regular superscript o and NNBSP (U+202F)
 <0x0100EF68> : "nᵒ "
 <0x0100EF69> : "Nᵒ "
 #
 #   Breton trigraphs, with regular letter apostrophe (U+02BC)
 <0x0100EF6A> : "cʼh
 <0x0100EF6B> : "Cʼh
 <0x0100EF6C> : "CʼH"
 #
 #   Breton digraphs
 <0x0100EF6D> : "ch"
 <0x0100EF6E> : "Ch"
 <0x0100EF6F> : "CH"
 #
 #   Automated punctuation spacing for fr-FR, Latin-1 fallbacks with NBSP (U+00A0)
 <0x0100EF70> : " !"
 <0x0100EF71> : " :"
 <0x0100EF72> : " ;"
 <0x0100EF73> : " ?"
 <0x0100EF74> : "« "
 <0x0100EF75> : " »"
 <0x0100EF76> : "‹ "
 <0x0100EF77> : " ›"
 #
 #   Double and triple zeroes for Numpad extended
 <0x0100EF78> : "00"
 <0x0100EF79> : "000"
 #
 #   Prefixes
 <0x0100EF7A> : "&#"
 <0x0100EF7B> : "&#x"
 <0x0100EF7C> : "\\x"
 <0x0100EF7D> : "0x"
 <0x0100EF7E> : "\\u"
 <0x0100EF7F> : "U+"
 #
 #   Justifying non-breakable spaces (other than NBSP U+00A0, tailored as fixed-width)
 <0x0100EF80> : " ⁠"  # With WORD JOINER U+2060 (for OpenOffice/LibreOffice Writer)
 <0x0100EF81> : " "  # With ZERO-WIDTH NO-BREAK SPACE U+FEFF (deprecated)
 #
 #   HTML entities of non-breaking spaces
 <0x0100EF82> : " "   # NO-BREAK SPACE U+00A0
 <0x0100EF83> : " "  # NARROW NO-BREAK SPACE U+202F (shorter than  )
 <0x0100EF84> : " "  # FIGURE SPACE U+2007 (shorter than  )
 #
 #   Reserved: U+EF85..U+EF8F
 #
 #   Dead keys
 <0x0100EF90> : ""  # dead_bar (required for disambiguation