keymap_qwerty_fr.h 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. /* Copyright 2022
  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. #pragma once
  17. #include "keymap.h"
  18. // clang-format off
  19. // keymap adapted for http://marin.jb.free.fr/qwerty-fr/
  20. /* AltGr symbols
  21. * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
  22. * │ ` │ ¹ │ ² │ ³ │ ê │ € │ ^ │ ŷ │ û │ î │ ô │ – │ ≠ │ │
  23. * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
  24. * │ │ â │ é │ è │ ® │ π │ ¥ │ ù │ î │ ò │ œ │ « │ » │ │
  25. * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
  26. * │ │ à │ æ │ ë │ ε │ α │ ÿ │ ü │ ï │ ö │ ¶ │ ´ │ ¦ │ │
  27. * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
  28. * │ │ ≤ │ ä │ × │ ç │ ω │ ß │ ñ │ µ │ ¸ │ ° │ ʕ │ │
  29. * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
  30. * │ │ │ │   │ │ │ │ │
  31. * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
  32. */
  33. // Row 1
  34. #define QF_DGRV RALT(KC_GRV) // ` (dead)
  35. #define QF_SUP1 RALT(KC_1) // ¹
  36. #define QF_SUP2 RALT(KC_2) // ²
  37. #define QF_SUP3 RALT(KC_3) // ³
  38. #define QF_ECIR RALT(KC_4) // ê
  39. #define QF_EURO RALT(KC_5) // €
  40. #define QF_DCIR RALT(KC_6) // ^ (dead)
  41. #define QF_YCIR RALT(KC_7) // ŷ
  42. #define QF_UCIR RALT(KC_8) // û
  43. #define QF_ICIR RALT(KC_9) // î
  44. #define QF_OCIR RALT(KC_0) // ô
  45. #define QF_DASH RALT(KC_MINUS) // –
  46. #define QF_NEQL RALT(KC_EQUAL) // ≠
  47. // Row 2
  48. #define QF_ACIR RALT(KC_Q) // â
  49. #define QF_EACU RALT(KC_W) // é
  50. #define QF_EGRV RALT(KC_E) // è
  51. #define QF_REGD RALT(KC_R) // ®
  52. #define QF_PI RALT(KC_T) // π
  53. #define QF_YEN RALT(KC_Y) // ¥
  54. #define QF_UGRV RALT(KC_U) // ù
  55. #define QF_IGRV RALT(KC_I) // ì
  56. #define QF_OGRV RALT(KC_O) // ò
  57. #define QF_OE RALT(KC_P) // œ
  58. #define QF_LDAQ RALT(KC_LBRC) // «
  59. #define QF_RDAQ RALT(KC_RBRC) // »
  60. // Row 3
  61. #define QF_AGRV RALT(KC_A) // à
  62. #define QF_AE RALT(KC_S) // æ
  63. #define QF_EDIA RALT(KC_D) // ë
  64. #define QF_EPSL RALT(KC_F) // ε
  65. #define QF_ALPH RALT(KC_G) // α
  66. #define QF_YDIA RALT(KC_H) // ÿ
  67. #define QF_UDIA RALT(KC_J) // ü
  68. #define QF_IDIA RALT(KC_K) // ï
  69. #define QF_ODIA RALT(KC_L) // ö
  70. #define QF_PILC RALT(KC_SCLN) // ¶
  71. #define QF_ACUT RALT(KC_QUOT) // ´ (dead)
  72. #define QF_BRKP RALT(KC_BSLS) // ¦
  73. // Row 4
  74. #define QF_LTEQ RALT(KC_NUBS) // ≤
  75. #define QF_ADIA RALT(KC_Z) // ä
  76. #define QF_MUL RALT(KC_X) // ×
  77. #define QF_CCED RALT(KC_C) // ç
  78. #define QF_OMEG RALT(KC_V) // ω
  79. #define QF_SS RALT(KC_B) // ß
  80. #define QF_NTIL RALT(KC_N) // ñ
  81. #define QF_MICR RALT(KC_M) // µ
  82. #define QF_CEDL RALT(KC_COMM) // ¸ (dead)
  83. #define QF_DEG RALT(KC_DOT) // °
  84. #define QF_VOPH RALT(KC_SLSH) // ʕ
  85. // Row 5
  86. #define QF_NBSP RALT(KC_SPC) //   (non-breaking space)
  87. /* Shift+AltGr symbols
  88. * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
  89. * │ ~ │ ¡ │ ˝ │ ¯ │ Ê │ £ │ ˇ │ Ŷ │ Û │ Î │ Ô │ — │ ± │ │
  90. * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
  91. * │ │  │ É │ È │ © │ Π │ ¤ │ Ù │ Ì │ Ò │ Œ │ “ │ ” │ │
  92. * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
  93. * │ │ À │ Æ │ Ë │ Δ │ β │ Ÿ │ Ü │ Ï │ ö │ § │ ¨ │ ø │ │
  94. * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
  95. * │ │ ≥ │ Ä │ ÷ │ Ç │ Ω │ þ │ Ñ │ Σ │ ˛ │ ˚ │ ¿ │ │
  96. * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
  97. * │ │ │ │   │ │ │ │ │
  98. * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
  99. */
  100. // Row 1
  101. #define QF_DTIL S(RALT(KC_GRV)) // ~ (dead)
  102. #define QF_IEXL S(RALT(KC_1)) // ¡
  103. #define QF_DACU S(RALT(KC_2)) // ˝ (dead)
  104. #define QF_MACR S(RALT(KC_3)) // ¯ (dead)
  105. #define QF_ECIU S(RALT(KC_4)) // Ê
  106. #define QF_PND S(RALT(KC_5)) // £
  107. #define QF_CARN S(RALT(KC_6)) // ˇ (dead)
  108. #define QF_YCIU S(RALT(KC_7)) // Ŷ
  109. #define QF_UCIU S(RALT(KC_8)) // Û
  110. #define QF_ICIU S(RALT(KC_9)) // Î
  111. #define QF_OCIO S(RALT(KC_0)) // Ô
  112. #define QF_NDSH S(RALT(KC_MINUS)) // —
  113. #define QF_PLMN S(RALT(KC_EQUAL)) // ±
  114. // Row 2
  115. #define QF_ACIU S(RALT(KC_Q)) // Â
  116. #define QF_ECUU S(RALT(KC_W)) // É
  117. #define QF_EGRU S(RALT(KC_E)) // È
  118. #define QF_COPY S(RALT(KC_R)) // ©
  119. #define QF_PIU S(RALT(KC_T)) // Π
  120. #define QF_CURR S(RALT(KC_Y)) // ¤
  121. #define QF_UGRU S(RALT(KC_U)) // Ù
  122. #define QF_IGRU S(RALT(KC_I)) // Ì
  123. #define QF_OGRU S(RALT(KC_O)) // Ò
  124. #define QF_OEU S(RALT(KC_P)) // Œ
  125. #define QF_LDQU S(RALT(KC_LBRC)) // “
  126. #define QF_RDQU S(RALT(KC_RBRC)) // ”
  127. // Row 3
  128. #define QF_AGRU S(RALT(KC_A)) // À
  129. #define QF_AEU S(RALT(KC_S)) // Æ
  130. #define QF_EDIU S(RALT(KC_D)) // Ë
  131. #define QF_DELT S(RALT(KC_F)) // Δ
  132. #define QF_BETA S(RALT(KC_G)) // β
  133. #define QF_YDIU S(RALT(KC_H)) // Ÿ
  134. #define QF_UDIU S(RALT(KC_J)) // Ü
  135. #define QF_IDIU S(RALT(KC_K)) // Ï
  136. #define QF_ODIU S(RALT(KC_L)) // Ö
  137. #define QF_SECT S(RALT(KC_SCLN)) // §
  138. #define QF_DIAE S(RALT(KC_QUOT)) // ¨ (dead)
  139. #define QF_OSTR S(RALT(KC_BSLS)) // ø
  140. // Row 4
  141. #define QF_GTEQ S(RALT(KC_NUBS)) // ≥
  142. #define QF_ADIU S(RALT(KC_Z)) // Ä
  143. #define QF_DIV S(RALT(KC_X)) // ÷
  144. #define QF_CCDU S(RALT(KC_C)) // Ç
  145. #define QF_OMEU S(RALT(KC_V)) // Ω
  146. #define QF_THRN S(RALT(KC_B)) // þ
  147. #define QF_NTIU S(RALT(KC_N)) // Ñ
  148. #define QF_SIGM S(RALT(KC_M)) // Σ
  149. #define QF_OGON S(RALT(KC_COMM)) // ˛ (dead)
  150. #define QF_RNGA S(RALT(KC_DOT)) // ˚ (dead)
  151. #define QF_IQUE S(RALT(KC_SLSH)) // ¿