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.

113 lines
3.1 KiB

  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. #ifndef KEYMAP_FR_CH
  17. #define KEYMAP_FR_CH
  18. #include "keymap.h"
  19. // Alt gr
  20. #define ALGR(kc) RALT(kc)
  21. #define FR_CH_ALGR KC_RALT
  22. // normal characters
  23. #define FR_CH_Z KC_Y
  24. #define FR_CH_Y KC_Z
  25. #define FR_CH_A KC_A
  26. #define FR_CH_B KC_B
  27. #define FR_CH_C KC_C
  28. #define FR_CH_D KC_D
  29. #define FR_CH_E KC_E
  30. #define FR_CH_F KC_F
  31. #define FR_CH_G KC_G
  32. #define FR_CH_H KC_H
  33. #define FR_CH_I KC_I
  34. #define FR_CH_J KC_J
  35. #define FR_CH_K KC_K
  36. #define FR_CH_L KC_L
  37. #define FR_CH_M KC_M
  38. #define FR_CH_N KC_N
  39. #define FR_CH_O KC_O
  40. #define FR_CH_P KC_P
  41. #define FR_CH_Q KC_Q
  42. #define FR_CH_R KC_R
  43. #define FR_CH_S KC_S
  44. #define FR_CH_T KC_T
  45. #define FR_CH_U KC_U
  46. #define FR_CH_V KC_V
  47. #define FR_CH_W KC_W
  48. #define FR_CH_X KC_X
  49. #define FR_CH_0 KC_0
  50. #define FR_CH_1 KC_1
  51. #define FR_CH_2 KC_2
  52. #define FR_CH_3 KC_3
  53. #define FR_CH_4 KC_4
  54. #define FR_CH_5 KC_5
  55. #define FR_CH_6 KC_6
  56. #define FR_CH_7 KC_7
  57. #define FR_CH_8 KC_8
  58. #define FR_CH_9 KC_9
  59. #define FR_CH_DOT KC_DOT
  60. #define FR_CH_COMM KC_COMM
  61. #define FR_CH_QUOT KC_MINS
  62. #define FR_CH_AE KC_QUOT
  63. #define FR_CH_UE KC_LBRC
  64. #define FR_CH_OE KC_SCLN
  65. #define FR_CH_CIRC KC_EQL // accent circumflex ^ and grave ` and ~
  66. #define FR_CH_LESS KC_NUBS // < and > and backslash
  67. #define FR_CH_MINS KC_SLSH // - and _
  68. #define FR_CH_DLR KC_BSLS // $, £ and }
  69. #define FR_CH_PARA KC_GRV // § and ring °
  70. #define FR_CH_DIAE KC_RBRC // accent ¨
  71. // shifted characters
  72. #define FR_CH_RING LSFT(KC_GRV) // °
  73. #define FR_CH_EXLM LSFT(KC_RBRC) // !
  74. #define FR_CH_PLUS LSFT(KC_1) // +
  75. #define FR_CH_DQOT LSFT(KC_2) // "
  76. #define FR_CH_ASTR LSFT(KC_3) // *
  77. #define FR_CH_PERC LSFT(KC_5) // %
  78. #define FR_CH_AMPR LSFT(KC_6) // &
  79. #define FR_CH_SLSH LSFT(KC_7) // /
  80. #define FR_CH_LPRN LSFT(KC_8) // (
  81. #define FR_CH_RPRN LSFT(KC_9) // )
  82. #define FR_CH_EQL LSFT(KC_0) // =
  83. #define FR_CH_QST LSFT(FR_CH_QUOT) // ?
  84. #define FR_CH_MORE LSFT(FR_CH_LESS) // >
  85. #define FR_CH_COLN LSFT(KC_DOT) // :
  86. #define FR_CH_SCLN LSFT(KC_COMM) // ;
  87. #define FR_CH_UNDS LSFT(FR_CH_MINS) // _
  88. #define FR_CH_CCED LSFT(KC_4) // ç
  89. #define FR_CH_GRV LSFT(FR_CH_CIRC) // accent grave `
  90. // Alt Gr-ed characters
  91. #define FR_CH_LCBR ALGR(KC_QUOT) // {
  92. #define FR_CH_LBRC ALGR(KC_LBRC) // [
  93. #define FR_CH_RBRC ALGR(KC_9) // ]
  94. #define FR_CH_RCBR ALGR(KC_0) // }
  95. #define FR_CH_BSLS ALGR(FR_CH_LESS) // backslash
  96. #define FR_CH_AT ALGR(KC_2) // @
  97. #define FR_CH_EURO ALGR(KC_E) // €
  98. #define FR_CH_TILD ALGR(FR_CH_CIRC) // ~
  99. #define FR_CH_PIPE ALGR(KC_1) // |
  100. #define FR_CH_HASH ALGR(KC_3) // #
  101. #define FR_CH_ACUT ALGR(FR_CH_QUOT) // accent acute ´
  102. #endif