Blob Blame History Raw
# Bépo : Improved ergonomic french keymap using Dvorak method. -*- conf -*-
# Built by community on 'Dvorak Fr / Bépo' :
# see http://www.clavier-dvorak.org/wiki/ to join and help.

include "linux-with-alt-and-altgr"


### CapsLock with '+eacute' doesn't work, nor with egrave, ccedilla,
### ecircumflex, agrave and guillemotleft/right : bug ?


# We define at most 16 levels for each keycode :
# plain, Shift, AltGr, Shift+AltGr,
# Control, Control+Shift, Control+AltGr, Control+Shift+AltGr,
# Alt, Alt+Shift, Alt+AltGr, Alt+Shift+Altgr
# Alt+Control, Alt+Control+Shift, Alt+Control+AltGr, Alt+Control+Shift+AltGr.
#
# Note that incomplete lines are completed with VoidSymbol.
keymaps 0-15

keycode   1 = Escape Escape
keycode  14 = Delete  Delete
keycode  15 = Tab Tab
keycode  28 = Return
keycode  29 = Control
keycode  42 = Shift
keycode  54 = Shift
keycode  56 = Alt
keycode  58 = Caps_Lock
keycode  97 = Control

# First row
keycode  41 = dollar numbersign       U+2013  U+00b6
         Alt             keycode  41 = Meta_dollar
         Alt Shift       keycode  41 = Meta_numbersign

keycode   2 = +quotedbl +one          U+2014  U+201e
         Alt             keycode   2 = Meta_quotedbl
         Alt Shift       keycode   2 = Meta_one

keycode   3 = +guillemotleft  +two     less    U+201c
         Alt Shift       keycode   3 = Meta_two
         Alt       AltGr keycode   3 = Meta_less

keycode   4 = +guillemotright +three  greater U+201d
         Alt Shift       keycode   4 = Meta_three
         Alt       AltGr keycode   4 = Meta_greater

keycode   5 = +parenleft +four        bracketleft  U+2264
         Alt             keycode   5 = Meta_parenleft
         Alt Shift       keycode   5 = Meta_four
         Alt       AltGr keycode   5 = Meta_bracketleft

keycode   6 = +parenright +five       bracketright  U+2265
         Alt             keycode   6 = Meta_parenright
         Alt Shift       keycode   6 = Meta_five
         Alt       AltGr keycode   6 = Meta_bracketright
 Control Alt       AltGr keycode   6 = Meta_Control_bracketright

keycode   7 = +at       +six          asciicircum  asciicircum
         Alt             keycode   7 = Meta_at
         Alt Shift       keycode   7 = Meta_six
         Alt       AltGr keycode   7 = Meta_asciicircum
         Alt Shift AltGr keycode   7 = Meta_asciicircum
 Control Alt AltGr       keycode   7 = Meta_Control_asciicircum
 Control Alt Shift AltGr keycode   7 = Meta_Control_asciicircum

keycode   8 = +plus     +seven        U+00b1  U+00ac
         Alt             keycode   8 = Meta_plus
         Alt Shift       keycode   8 = Meta_seven

keycode   9 = +minus    +eight        U+2212  U+00bc
         Alt             keycode   9 = Meta_minus
         Alt Shift       keycode   9 = Meta_eight

keycode  10 = +slash    +nine         U+00f7  U+00bd
         Alt             keycode  10 = Meta_slash
         Alt Shift       keycode  10 = Meta_nine

keycode  11 = +asterisk +zero         U+00d7  U+00be
         Alt             keycode  11 = Meta_asterisk
         Alt Shift       keycode  11 = Meta_zero

keycode  12 = equal     U+00b0        U+2260  U+2032
         Alt             keycode  12 = Meta_equal

keycode  13 = percent   grave         U+2030  U+2033
         Alt             keycode  13 = Meta_percent
         Alt Shift       keycode  13 = Meta_grave


# Second row

# simplified letter definitions notation :
keycode 16 = b
keycode 18 = p
keycode 19 = o
keycode 22 = v
keycode 23 = d
keycode 24 = l
keycode 25 = j
keycode 26 = z
keycode 27 = w

# then, add specific definitions
                   AltGr keycode  16 = bar
             Shift AltGr keycode  16 = brokenbar
         Alt       AltGr keycode  16 = Meta_bar

keycode 17 = +eacute +Eacute dead_acute

                   AltGr keycode  18 = ampersand
             Shift AltGr keycode  18 = U+00a7
         Alt       AltGr keycode  18 = Meta_ampersand

                   AltGr keycode  19 = +U+0153
             Shift AltGr keycode  19 = +U+0152

keycode 20 = +egrave +Egrave dead_grave grave # no Meta !

keycode 21 = dead_circumflex exclam exclamdown
         Alt Shift       keycode  21 = Meta_exclam

                   AltGr keycode  22 = dead_caron
             Shift AltGr keycode  22 = dead_caron

                   AltGr keycode  23 = eth
             Shift AltGr keycode  23 = ETH

                   AltGr keycode  25 = +U+0133
             Shift AltGr keycode  25 = +U+0132

                   AltGr keycode  26 = +U+0259
             Shift AltGr keycode  26 = +U+018f



# Third row

# simplified letter definitions notation :
keycode 30 = a
keycode 31 = u
keycode 32 = i
keycode 33 = e
keycode 35 = c
keycode 36 = t
keycode 37 = s
keycode 38 = r
keycode 39 = n
keycode 40 = m

# then, add specific definitions
                   AltGr keycode  30 = +ae
             Shift AltGr keycode  30 = +AE

                   AltGr keycode  31 = +ugrave
             Shift AltGr keycode  31 = +ugrave

                   AltGr keycode  32 = dead_diaeresis
             Shift AltGr keycode  32 = VoidSymbol

                   AltGr keycode  33 = U+20ac
             Shift AltGr keycode  33 = VoidSymbol

keycode 34 = comma semicolon U+2019 +U+031b
         Alt             keycode  34 = Meta_comma
         Alt Shift       keycode  34 = Meta_semicolon

                   AltGr keycode  35 = copyright
             Shift AltGr keycode  35 = U+017f

                   AltGr keycode  36 = +thorn
             Shift AltGr keycode  36 = +THORN

                   AltGr keycode  37 = +ssharp
             Shift AltGr keycode  37 = U+1e9e

                   AltGr keycode  38 = registered
             Shift AltGr keycode  38 = U+2122

                   AltGr keycode  39 = dead_tilde
             Shift AltGr keycode  39 = dead_tilde

                   AltGr keycode  40 = VoidSymbol
             Shift AltGr keycode  40 = masculine

keycode 43 = +ccedilla +Ccedilla dead_cedilla


# Fourth row

# simplified letter definitions notation :
keycode 45 = y
keycode 46 = x
keycode 48 = k
keycode 50 = q
keycode 51 = g
keycode 52 = h
keycode 53 = f

# then, add specific definitions
keycode 86 = +ecircumflex +Ecircumflex slash slash
         Alt       AltGr keycode  86 = Meta_slash
         Alt Shift AltGr keycode  86 = Meta_slash

keycode 44 = +agrave +Agrave backslash backslash
         Alt       AltGr keycode  44 = Meta_backslash
         Alt Shift AltGr keycode  44 = Meta_backslash

                   AltGr keycode  45 = braceleft
             Shift AltGr keycode  45 = U+2018
         Alt       AltGr keycode  45 = Meta_braceleft

                   AltGr keycode  46 = braceright
             Shift AltGr keycode  46 = U+2019
         Alt       AltGr keycode  46 = Meta_braceright

keycode 47 = period colon U+2026 periodcentered
         Alt             keycode  47 = Meta_period
         Alt Shift       keycode  47 = Meta_colon

                   AltGr keycode  48 = asciitilde
             Shift AltGr keycode  48 = asciitilde
         Alt       AltGr keycode  48 = Meta_asciitilde
         Alt Shift AltGr keycode  48 = Meta_asciitilde

keycode 49 = apostrophe question questiondown +U+0309
         Alt             keycode  49 = Meta_apostrophe
         Alt Shift       keycode  49 = Meta_question

                   AltGr keycode  51 = mu
             Shift AltGr keycode  51 = VoidSymbol

                   AltGr keycode  52 = U+2020
             Shift AltGr keycode  52 = U+2021

                   AltGr keycode  53 = VoidSymbol
             Shift AltGr keycode  53 = ordfeminine



keycode 57 = space nobreakspace underscore U+202f
         Alt             keycode  52 = Meta_space
         Alt       AltGr keycode  52 = Meta_underscore
 Control Alt       AltGr keycode  52 = Meta_Control_underscore