De Disposition de clavier bépo
$ 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