keymap_fr_ch.h 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  1. /* Copyright 2016 Vincent Pochet
  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. #ifdef CH_H
  20. // The ChibiOS ch.h file defines this...
  21. # undef CH_H
  22. #endif
  23. /*
  24. * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
  25. * │ § │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ^ │ │
  26. * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
  27. * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ è │ ¨ │ │
  28. * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
  29. * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ é │ à │ $ │ │
  30. * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
  31. * │ │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
  32. * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
  33. * │ │ │ │ │ │ │ │ │
  34. * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
  35. */
  36. // Row 1
  37. #define CH_SECT KC_GRV // §
  38. #define CH_1 KC_1 // 1
  39. #define CH_2 KC_2 // 2
  40. #define CH_3 KC_3 // 3
  41. #define CH_4 KC_4 // 4
  42. #define CH_5 KC_5 // 5
  43. #define CH_6 KC_6 // 6
  44. #define CH_7 KC_7 // 7
  45. #define CH_8 KC_8 // 8
  46. #define CH_9 KC_9 // 9
  47. #define CH_0 KC_0 // 0
  48. #define CH_QUOT KC_MINS // '
  49. #define CH_CIRC KC_EQL // ^ (dead)
  50. // Row 2
  51. #define CH_Q KC_Q // Q
  52. #define CH_W KC_W // W
  53. #define CH_E KC_E // E
  54. #define CH_R KC_R // R
  55. #define CH_T KC_T // T
  56. #define CH_Z KC_Y // Z
  57. #define CH_U KC_U // U
  58. #define CH_I KC_I // I
  59. #define CH_O KC_O // O
  60. #define CH_P KC_P // P
  61. #define CH_EGRV KC_LBRC // è
  62. #define CH_DIAE KC_RBRC // ¨ (dead)
  63. // Row 3
  64. #define CH_A KC_A // A
  65. #define CH_S KC_S // S
  66. #define CH_D KC_D // D
  67. #define CH_F KC_F // F
  68. #define CH_G KC_G // G
  69. #define CH_H KC_H // H
  70. #define CH_J KC_J // J
  71. #define CH_K KC_K // K
  72. #define CH_L KC_L // L
  73. #define CH_EACU KC_SCLN // é
  74. #define CH_AGRV KC_QUOT // à
  75. #define CH_DLR KC_NUHS // $
  76. // Row 4
  77. #define CH_LABK KC_NUBS // <
  78. #define CH_Y KC_Z // Y
  79. #define CH_X KC_X // X
  80. #define CH_C KC_C // C
  81. #define CH_V KC_V // V
  82. #define CH_B KC_B // B
  83. #define CH_N KC_N // N
  84. #define CH_M KC_M // M
  85. #define CH_COMM KC_COMM // ,
  86. #define CH_DOT KC_DOT // .
  87. #define CH_MINS KC_SLSH // -
  88. /* Shifted symbols
  89. * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
  90. * │ ° │ + │ " │ * │ ç │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
  91. * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
  92. * │ │ │ │ │ │ │ │ │ │ │ │ ü │ ! │ │
  93. * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
  94. * │ │ │ │ │ │ │ │ │ │ │ ö │ ä │ £ │ │
  95. * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
  96. * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
  97. * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
  98. * │ │ │ │ │ │ │ │ │
  99. * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
  100. */
  101. // Row 1
  102. #define CH_DEG S(CH_SECT) // °
  103. #define CH_PLUS S(CH_1) // +
  104. #define CH_DQUO S(CH_2) // "
  105. #define CH_ASTR S(CH_3) // *
  106. #define CH_CCED S(CH_4) // ç
  107. #define CH_PERC S(CH_5) // %
  108. #define CH_AMPR S(CH_6) // &
  109. #define CH_SLSH S(CH_7) // /
  110. #define CH_LPRN S(CH_8) // (
  111. #define CH_RPRN S(CH_9) // )
  112. #define CH_EQL S(CH_0) // =
  113. #define CH_QUES S(CH_QUOT) // ?
  114. #define CH_GRV S(CH_CIRC) // ` (dead)
  115. // Row 2
  116. #define CH_UDIA S(CH_EGRV) // ü
  117. #define CH_EXLM S(CH_DIAE) // !
  118. // Row 3
  119. #define CH_ODIA S(CH_EACU) // ö
  120. #define CH_ADIA S(CH_AGRV) // ä
  121. #define CH_PND S(CH_DLR) // £
  122. // Row 4
  123. #define CH_RABK S(CH_LABK) // >
  124. #define CH_SCLN S(CH_COMM) // ;
  125. #define CH_COLN S(CH_DOT) // :
  126. #define CH_UNDS S(CH_MINS) // _
  127. /* AltGr symbols
  128. * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
  129. * │ │ ¦ │ @ │ # │ │ │ ¬ │ | │ ¢ │ │ │ ´ │ ~ │ │
  130. * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
  131. * │ │ │ │ € │ │ │ │ │ │ │ │ [ │ ] │ │
  132. * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
  133. * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │
  134. * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
  135. * │ │ \ │ │ │ │ │ │ │ │ │ │ │ │
  136. * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
  137. * │ │ │ │ │ │ │ │ │
  138. * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
  139. */
  140. // Row 1
  141. #define CH_BRKP ALGR(CH_1) // ¦
  142. #define CH_AT ALGR(CH_2) // @
  143. #define CH_HASH ALGR(CH_3) // #
  144. #define CH_NOT ALGR(CH_6) // ¬
  145. #define CH_PIPE ALGR(CH_7) // |
  146. #define CH_CENT ALGR(CH_8) // ¢
  147. #define CH_ACUT ALGR(CH_QUOT) // ´ (dead)
  148. #define CH_TILD ALGR(CH_CIRC) // ~ (dead)
  149. // Row 2
  150. #define CH_EURO ALGR(CH_E) // €
  151. #define CH_LBRC ALGR(CH_EGRV) // [
  152. #define CH_RBRC ALGR(CH_DIAE) // ]
  153. // Row 3
  154. #define CH_LCBR ALGR(CH_AGRV) // {
  155. #define CH_RCBR ALGR(CH_DLR) // }
  156. // Row 4
  157. #define CH_BSLS ALGR(CH_LABK) // (backslash)
  158. // DEPRECATED
  159. #define FR_CH_Z CH_Z
  160. #define FR_CH_Y CH_Y
  161. #define FR_CH_A CH_A
  162. #define FR_CH_B CH_B
  163. #define FR_CH_C CH_C
  164. #define FR_CH_D CH_D
  165. #define FR_CH_E CH_E
  166. #define FR_CH_F CH_F
  167. #define FR_CH_G CH_G
  168. #define FR_CH_H CH_H
  169. #define FR_CH_I CH_I
  170. #define FR_CH_J CH_J
  171. #define FR_CH_K CH_K
  172. #define FR_CH_L CH_L
  173. #define FR_CH_M CH_M
  174. #define FR_CH_N CH_N
  175. #define FR_CH_O CH_O
  176. #define FR_CH_P CH_P
  177. #define FR_CH_Q CH_Q
  178. #define FR_CH_R CH_R
  179. #define FR_CH_S CH_S
  180. #define FR_CH_T CH_T
  181. #define FR_CH_U CH_U
  182. #define FR_CH_V CH_V
  183. #define FR_CH_W CH_W
  184. #define FR_CH_X CH_X
  185. #define FR_CH_0 CH_0
  186. #define FR_CH_1 CH_1
  187. #define FR_CH_2 CH_2
  188. #define FR_CH_3 CH_3
  189. #define FR_CH_4 CH_4
  190. #define FR_CH_5 CH_5
  191. #define FR_CH_6 CH_6
  192. #define FR_CH_7 CH_7
  193. #define FR_CH_8 CH_8
  194. #define FR_CH_9 CH_9
  195. #define FR_CH_DOT CH_DOT
  196. #define FR_CH_COMM CH_COMM
  197. #define FR_CH_QUOT CH_QUOT
  198. #define FR_CH_AE CH_AGRV
  199. #define FR_CH_UE CH_EGRV
  200. #define FR_CH_OE CH_EACU
  201. #define FR_CH_CIRC CH_CIRC
  202. #define FR_CH_LESS CH_LABK
  203. #define FR_CH_MINS CH_MINS
  204. #define FR_CH_DLR CH_DLR
  205. #define FR_CH_PARA CH_SECT
  206. #define FR_CH_DIAE CH_DIAE
  207. #define FR_CH_RING CH_DEG
  208. #define FR_CH_EXLM CH_EXLM
  209. #define FR_CH_PLUS CH_PLUS
  210. #define FR_CH_DQOT CH_DQUO
  211. #define FR_CH_ASTR CH_ASTR
  212. #define FR_CH_PERC CH_PERC
  213. #define FR_CH_AMPR CH_AMPR
  214. #define FR_CH_SLSH CH_SLSH
  215. #define FR_CH_LPRN CH_LPRN
  216. #define FR_CH_RPRN CH_RPRN
  217. #define FR_CH_EQL CH_EQL
  218. #define FR_CH_QST CH_QUES
  219. #define FR_CH_MORE CH_RABK
  220. #define FR_CH_COLN CH_COLN
  221. #define FR_CH_SCLN CH_SCLN
  222. #define FR_CH_UNDS CH_UNDS
  223. #define FR_CH_CCED CH_CCED
  224. #define FR_CH_GRV CH_GRV
  225. #define FR_CH_LCBR CH_LCBR
  226. #define FR_CH_LBRC CH_LBRC
  227. #define FR_CH_RBRC CH_RBRC
  228. #define FR_CH_RCBR CH_RCBR
  229. #define FR_CH_BSLS CH_BSLS
  230. #define FR_CH_AT CH_AT
  231. #define FR_CH_EURO CH_EURO
  232. #define FR_CH_TILD CH_TILD
  233. #define FR_CH_PIPE CH_PIPE
  234. #define FR_CH_HASH CH_HASH
  235. #define FR_CH_ACUT CH_ACUT