You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

135 lines
6.2 KiB

  1. /* Copyright 2020 Guillaume Gérard
  2. *
  3. * This program is free software: you can redistribute it and/or modify
  4. * it under the terms of the GNU General Public License as published by
  5. * the Free Software Foundation, either version 2 of the License, or
  6. * (at your option) any later version.
  7. *
  8. * This program is distributed in the hope that it will be useful,
  9. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. * GNU General Public License for more details.
  12. *
  13. * You should have received a copy of the GNU General Public License
  14. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  15. */
  16. /* Dvorak for the French language
  17. * Version: 2
  18. *
  19. * The layout is designed by Francis Leboutte <dvorak-fr@algo.be>
  20. *
  21. * Source: https://algo.be/ergo/dvorak-fr.html
  22. */
  23. #pragma once
  24. #include "keymap.h"
  25. // clang-format off
  26. /*
  27. *
  28. * « » / - è \ ^ ( ` ) _ [ ]
  29. *
  30. * : ' é G . H V C M K Z ¨
  31. *
  32. * O A U E B F S T N D W ~
  33. *
  34. * à ; Q , I Y X R L P J
  35. *
  36. *
  37. *
  38. */
  39. // Row 1
  40. #define DV_LDAQ KC_GRV // «
  41. #define DV_RDAQ KC_1 // »
  42. #define DV_SLSH KC_2 // /
  43. #define DV_MINS KC_3 // -
  44. #define DV_EGRV KC_4 // è
  45. #define DV_BSLS KC_5 // (backslash)
  46. #define DV_CIRC KC_6 // ^ (dead)
  47. #define DV_LPRN KC_7 // (
  48. #define DV_GRV KC_8 // ` (dead)
  49. #define DV_RPRN KC_9 // )
  50. #define DV_UNDS KC_0 // _
  51. #define DV_LBRC KC_MINS // [
  52. #define DV_RBRC KC_EQL // ]
  53. // Row 2
  54. #define DV_COLN KC_Q // :
  55. #define DV_QUOT KC_W // '
  56. #define DV_EACU KC_E // é
  57. #define DV_G KC_R // G
  58. #define DV_DOT KC_T // .
  59. #define DV_H KC_Y // H
  60. #define DV_V KC_U // V
  61. #define DV_C KC_I // C
  62. #define DV_M KC_O // M
  63. #define DV_K KC_P // K
  64. #define DV_Z KC_LBRC // Z
  65. #define DV_DIAE KC_RBRC // ¨ (dead)
  66. // Row 3
  67. #define DV_O KC_A // O
  68. #define DV_A KC_S // A
  69. #define DV_U KC_D // U
  70. #define DV_E KC_F // E
  71. #define DV_B KC_G // B
  72. #define DV_F KC_H // F
  73. #define DV_S KC_J // S
  74. #define DV_T KC_K // T
  75. #define DV_N KC_L // N
  76. #define DV_D KC_SCLN // D
  77. #define DV_W KC_QUOT // W
  78. #define DV_TILD KC_NUHS // ~ (dead)
  79. // Row 4
  80. #define DV_AGRV KC_NUBS // à
  81. #define DV_SCLN KC_Z // ;
  82. #define DV_Q KC_X // Q
  83. #define DV_COMM KC_C // ,
  84. #define DV_I KC_V // I
  85. #define DV_Y KC_B // Y
  86. #define DV_X KC_N // X
  87. #define DV_R KC_M // R
  88. #define DV_L KC_COMM // L
  89. #define DV_P KC_DOT // P
  90. #define DV_J KC_SLSH // J
  91. /* Shifted symbols
  92. *
  93. * * 1 2 3 4 5 6 7 8 0 0 + %
  94. *
  95. * ? < > ! =
  96. *
  97. * #
  98. *
  99. * ç | @
  100. *
  101. *
  102. *
  103. */
  104. // Row 1
  105. #define DV_ASTR S(DV_LDAQ) // *
  106. #define DV_1 S(DV_RDAQ) // 1
  107. #define DV_2 S(DV_SLSH) // 2
  108. #define DV_3 S(DV_MINS) // 3
  109. #define DV_4 S(DV_EGRV) // 4
  110. #define DV_5 S(DV_BSLS) // 5
  111. #define DV_6 S(DV_CIRC) // 6
  112. #define DV_7 S(DV_LPRN) // 7
  113. #define DV_8 S(DV_GRV) // 8
  114. #define DV_9 S(DV_RPRN) // 9
  115. #define DV_0 S(DV_UNDS) // 0
  116. #define DV_PLUS S(DV_LBRC) // +
  117. #define DV_PERC S(DV_RBRC) // %
  118. // Row 2
  119. #define DV_QUES S(DV_COLN) // ?
  120. #define DV_LABK S(DV_QUOT) // <
  121. #define DV_RABK S(DV_EACU) // >
  122. #define DV_EXLM S(DV_DOT) // !
  123. #define DV_EQL S(DV_DIAE) // =
  124. // Row 3
  125. #define DV_HASH S(DV_TILD) // #
  126. // Row 4
  127. #define DV_CCED S(DV_AGRV) // ç
  128. #define DV_PIPE S(DV_SCLN) // |
  129. #define DV_AT S(DV_COMM) // @