keymap_dvorak_fr.h 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  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) // @