# A Dvorak keyboard for French
#
# This is a Dvorak-like layout for French
# according to Francis Leboutte on 
# http://www.algo.be/ergo/dvorak-fr.html
#
# Note that letters with accents won't be correctly
# displayed unless one uses the correct font:
#   vidcontrol -f iso15-8x16.fnt
#
#   -Frédéric Praca <frederic.praca@freebsd-fr.org>
#   -Clément Pillias <clement.pillias@free.fr> for accent keys
#
#                                                         alt
# scan                       cntrl          alt    alt   cntrl lock
# code  base   shift  cntrl  shift  alt    shift  cntrl  shift state
# ------------------------------------------------------------------
  000   nop    nop    nop    nop    nop    nop    nop    nop     O
  001   esc    esc    esc    esc    esc    esc    debug  esc     O
  002   '='    '1'    nop    nop    nop    nop    nop    nop     C
  003   '/'    '2'    nop    nop    nop    nop    nop    nop     C
  004   '-'    '3'    nop    nop    nop    nop    nop    nop     C
  005   0xe8   '4'    nop    nop    nop    nop    nop    nop     C
  006   '\'    '5'    nop    nop    nop    nop    nop    nop     C
  007   dcir   '6'    nop    nop    nop    nop    nop    nop     C
  008   '('    '7'    nop    nop    nop    nop    nop    nop     C
  009   dgra   '8'    nop    nop    nop    nop    nop    nop     C
  010   ')'    '9'    nop    nop    nop    nop    nop    nop     C
  011   '"'    '0'    nop    nop    nop    nop    nop    nop     C
  012   '['    '+'    nop    nop    nop    nop    nop    nop     C
  013   ']'    '%'    nop    nop    nop    nop    nop    nop     C
  014   bs     bs     del    del    bs     bs     del    del     O
  015   ht     btab   nop    nop    ht     btab   nop    nop     O
  016   ':'    '?'    nop    nop    nop    nop    nop    nop     O
  017   '''    '<'    nop    nop    nop    nop    nop    nop     C
  018   0xe9   '>'    nop    nop    nop    nop    nop    nop     C
  019   'g'    'G'    nop    nop    nop    nop    nop    nop     C
  020   '.'    '!'    nop    nop    nop    nop    nop    nop     O
  021   'h'    'H'    nop    nop    nop    nop    nop    nop     C
  022   'v'    'V'    nop    nop    nop    nop    nop    nop     C
  023   'c'    'C'    nop    nop    nop    nop    nop    nop     C
  024   'm'    'M'    nop    nop    nop    nop    nop    nop     C
  025   'k'    'K'    nop    nop    nop    nop    nop    nop     C
  026   'z'    'Z'    nop    nop    nop    nop    nop    nop     C
  027   ddia   '&'    nop    nop    nop    nop    nop    nop     O
  028   cr     cr     nl     nl     cr     cr     nl     nl      O
  029   lctrl  lctrl  lctrl  lctrl  lctrl  lctrl  lctrl  lctrl   O
  030   'o'    'O'    nop    nop    nop    nop    nop    nop     C
  031   'a'    'A'    nop    nop    nop    nop    nop    nop     C
  032   'u'    'U'    nop    nop    nop    nop    nop    nop     C
  033   'e'    'E'    nop    nop    nop    nop    nop    nop     C
  034   'b'    'B'    nop    nop    nop    nop    nop    nop     C
  035   'f'    'F'    nop    nop    nop    nop    nop    nop     C
  036   's'    'S'    nop    nop    nop    nop    nop    nop     C
  037   't'    'T'    nop    nop    nop    nop    nop    nop     C
  038   'n'    'N'    nop    nop    nop    nop    nop    nop     C
  039   'd'    'D'    nop    nop    nop    nop    nop    nop     C
  040   'w'    'W'    nop    nop    nop    nop    nop    nop     C
  041   '_'    '*'    nop    nop    nop    nop    nop    nop     C
  042   lshift lshift lshift lshift lshift lshift lshift lshift  O
  043   dtil   '#'    nop    nop    nop    nop    nop    nop     O
  044   ';'    '|'    nop    nop    nop    nop    nop    nop     O
  045   'q'    'Q'    nop    nop    nop    nop    nop    nop     C
  046   ','    '@'    nop    nop    nop    nop    nop    nop     O
  047   'i'    'I'    nop    nop    nop    nop    nop    nop     C
  048   'y'    'Y'    nop    nop    nop    nop    nop    nop     C
  049   'x'    'X'    nop    nop    nop    nop    nop    nop     C
  050   'r'    'R'    nop    nop    nop    nop    nop    nop     C
  051   'l'    'L'    nop    nop    nop    nop    nop    nop     C
  052   'p'    'P'    nop    nop    nop    nop    nop    nop     C
  053   'j'    'J'    nop    nop    nop    nop    nop    nop     C
  054   rshift rshift rshift rshift rshift rshift rshift rshift  O
  055   '*'    '*'    '*'    '*'    '*'    '*'    '*'    '*'     O
  056   lalt   lalt   lalt   lalt   lalt   lalt   lalt   lalt    O
  057   ' '    ' '    nul    ' '    ' '    ' '    susp   ' '     O
  058   clock  clock  clock  clock  clock  clock  clock  clock   O
  059   fkey01 fkey13 fkey25 fkey37 scr01  scr11  scr01  scr11   O
  060   fkey02 fkey14 fkey26 fkey38 scr02  scr12  scr02  scr12   O
  061   fkey03 fkey15 fkey27 fkey39 scr03  scr13  scr03  scr13   O
  062   fkey04 fkey16 fkey28 fkey40 scr04  scr14  scr04  scr14   O
  063   fkey05 fkey17 fkey29 fkey41 scr05  scr15  scr05  scr15   O
  064   fkey06 fkey18 fkey30 fkey42 scr06  scr16  scr06  scr16   O
  065   fkey07 fkey19 fkey31 fkey43 scr07  scr07  scr07  scr07   O
  066   fkey08 fkey20 fkey32 fkey44 scr08  scr08  scr08  scr08   O
  067   fkey09 fkey21 fkey33 fkey45 scr09  scr09  scr09  scr09   O
  068   fkey10 fkey22 fkey34 fkey46 scr10  scr10  scr10  scr10   O
  069   nlock  nlock  nlock  nlock  nlock  nlock  nlock  nlock   O
  070   slock  slock  slock  slock  slock  slock  slock  slock   O
  071   fkey49 '7'    '7'    '7'    '7'    '7'    '7'    '7'     N
  072   fkey50 '8'    '8'    '8'    '8'    '8'    '8'    '8'     N
  073   fkey51 '9'    '9'    '9'    '9'    '9'    '9'    '9'     N
  074   fkey52 '-'    '-'    '-'    '-'    '-'    '-'    '-'     N
  075   fkey53 '4'    '4'    '4'    '4'    '4'    '4'    '4'     N
  076   fkey54 '5'    '5'    '5'    '5'    '5'    '5'    '5'     N
  077   fkey55 '6'    '6'    '6'    '6'    '6'    '6'    '6'     N
  078   fkey56 '+'    '+'    '+'    '+'    '+'    '+'    '+'     N
  079   fkey57 '1'    '1'    '1'    '1'    '1'    '1'    '1'     N
  080   fkey58 '2'    '2'    '2'    '2'    '2'    '2'    '2'     N
  081   fkey59 '3'    '3'    '3'    '3'    '3'    '3'    '3'     N
  082   fkey60 '0'    '0'    '0'    '0'    '0'    '0'    '0'     N
  083   del    '.'    '.'    '.'    '.'    '.'    boot   boot    N
  084   nop    nop    nop    nop    nop    nop    nop    nop     O
  085   nop    nop    nop    nop    nop    nop    nop    nop     O
  086   0xe0   0xe7   nop    nop    nop    nop    nop    nop     O
  087   fkey11 fkey23 fkey35 fkey47 scr11  scr11  scr11  scr11   O
  088   fkey12 fkey24 fkey36 fkey48 scr12  scr12  scr12  scr12   O
  089   cr     cr     nl     nl     cr     cr     nl     nl      O
  090   rctrl  rctrl  rctrl  rctrl  rctrl  rctrl  rctrl  rctrl   O
  091   '/'    '/'    '/'    '/'    '/'    '/'    '/'    '/'     O
  092   nscr   nscr   debug  debug  nop    nop    nop    nop     O
  093   ralt   ralt   ralt   ralt   ralt   ralt   ralt   ralt    O
  094   fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49  O
  095   fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50  O
  096   fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51  O
  097   fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53  O
  098   fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55  O
  099   fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57  O
  100   fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58  O
  101   fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59  O
  102   fkey60 fkey60 fkey60 fkey60 fkey60 fkey60 fkey60 fkey60  O
  103   fkey61 fkey61 fkey61 fkey61 fkey61 fkey61 boot   fkey61  O
  104   slock  saver  slock  saver  susp   nop    susp   nop     O
  105   fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62  O
  106   fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63  O
  107   fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64  O
  108   nop    nop    nop    nop    nop    nop    nop    nop     O

  dgra '`' ( '/'  0xb1 ) ( '-' 0xbc ) ( 0xe8 0xbd ) ( '\' 0xbe )
           ( '?'  0xc6 ) ( 'C' 0xc7 )
           ( ':'  0xe6 ) ( '`' '$'  ) ( 0xe9 0xc9 ) ( 'g' 0xa4 )
			 ( '.' 0xb0 ) ( 'c'  0xe7 ) ( 'm' 0xb5 )
           ( 'O'  0xd2 ) ( 'A' 0xc0 ) ( 'U'  0xd9 ) ( 'E' 0xc8 )
           ( 'o'  0xf2 ) ( 'a' 0xe0 ) ( 'u'  0xf9 ) ( 'e' 0xe8 )
				      ( 's'  0xab ) ( 'n' 0xbb )
           ( 0xe7 0xc7 ) ( '|' 0xbc ) ( 'I'  0xcc )
           ( 0xe0 0xc0 ) ( ';' 0xbd ) ( 'q'  '{'  ) ( ',' '}'  )
		         ( 'i' 0xec ) ( 'r'  0xba ) ( 'p' 0xa7 )
           ( '!'  0xa1 )

  dcir '^' ( 'a'  0xe2 ) ( 'e' 0xea ) ( 'i'  0xee ) ( 'o' 0xf4 ) ( 'u' 0xfb )
           ( 'A'  0xc2 ) ( 'E' 0xca ) ( 'I'  0xce ) ( 'O' 0xd4 ) ( 'U' 0xdb )

  dtil '~' ( 'n'  0xf1 ) ( 'N' 0xd1 )
           ( 'a'  0xe3 ) ( 'A' 0xc3 ) ( 'o'  0xf5 ) ( 'O' 0xd5 )

  ddia '"' ( 'a'  0xe4 ) ( 'e' 0xeb ) ( 'i'  0xef ) ( 'o' 0xf6 ) ( 'u' 0xfc )
           ( 'A'  0xc4 ) ( 'E' 0xcb ) ( 'I'  0xcf ) ( 'O' 0xd6 ) ( 'U' 0xdc )
           ( 'y'  0xff ) ( 'Y' 0xbe )

  dacu 0xb4( 'a'  0xe1 ) ( 'e' 0xe9 ) ( 'i'  0xed ) ( 'o' 0xf3 ) ( 'u' 0xfa )
           ( 'A'  0xc1 ) ( 'E' 0xc9 ) ( 'I'  0xcd ) ( 'O' 0xd3 ) ( 'U' 0xda )
           ( 'Y'  0xdd ) ( 'y' 0xfd )
