keymap_belgian.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. /* Copyright 2015-2016 Jack Humbert
  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_BELGIAN_H
  17. #define KEYMAP_BELGIAN_H
  18. #include "keymap.h"
  19. #define BE_LGUI KC_LALT
  20. #define BE_LALT KC_LGUI
  21. // Alt gr
  22. #define BE_ALGR KC_RALT
  23. // Normal characters
  24. // Line 1
  25. #define BE_SUP2 KC_GRV
  26. #define BE_AMP KC_1
  27. #define BE_EACU KC_2
  28. #define BE_QUOT KC_3
  29. #define BE_APOS KC_4
  30. #define BE_LPRN KC_5
  31. #define BE_PARA KC_6
  32. #define BE_EGRV KC_7
  33. #define BE_EXLM KC_8
  34. #define BE_CCED KC_9
  35. #define BE_AGRV KC_0
  36. #define BE_RPRN KC_MINS
  37. #define BE_MINS KC_EQL
  38. // Line 2
  39. #define BE_A KC_Q
  40. #define BE_Z KC_W
  41. #define BE_CIRC KC_LBRC
  42. #define BE_DLR KC_RBRC
  43. // Line 3
  44. #define BE_Q KC_A
  45. #define BE_M KC_SCLN
  46. #define BE_UGRV KC_QUOT
  47. #define BE_MU KC_NUHS
  48. // Line 4
  49. #define BE_LESS KC_NUBS
  50. #define BE_W KC_Z
  51. #define BE_COMM KC_M
  52. #define BE_SCLN KC_COMM
  53. #define BE_COLN KC_DOT
  54. #define BE_EQL KC_SLSH
  55. // Shifted characters
  56. // Line 1
  57. #define BE_SUP3 KC_TILD
  58. #define BE_1 LSFT(KC_1)
  59. #define BE_2 LSFT(KC_2)
  60. #define BE_3 LSFT(KC_3)
  61. #define BE_4 LSFT(KC_4)
  62. #define BE_5 LSFT(KC_5)
  63. #define BE_6 LSFT(KC_6)
  64. #define BE_7 LSFT(KC_7)
  65. #define BE_8 LSFT(KC_8)
  66. #define BE_9 LSFT(KC_9)
  67. #define BE_0 LSFT(KC_0)
  68. #define BE_OVRR KC_UNDS
  69. #define BE_UNDS KC_PLUS
  70. // Line 2
  71. #define BE_UMLT LSFT(BE_CIRC)
  72. #define BE_PND LSFT(BE_DLR)
  73. // Line 3
  74. #define BE_PERC LSFT(BE_UGRV)
  75. // Line 4
  76. #define BE_GRTR LSFT(BE_LESS)
  77. #define BE_QUES LSFT(BE_COMM)
  78. #define BE_DOT LSFT(BE_SCLN)
  79. #define BE_SLSH LSFT(BE_COLN)
  80. #define BE_PLUS LSFT(BE_EQL)
  81. // Alt Gr-ed characters
  82. // Line 1
  83. #define BE_PIPE ALGR(KC_1)
  84. #define BE_AT ALGR(KC_2)
  85. #define BE_HASH ALGR(KC_3)
  86. #define BE_LCBR ALGR(KC_9)
  87. #define BE_RCBR ALGR(KC_0)
  88. // Line 2
  89. #define BE_EURO ALGR(KC_E)
  90. #define BE_LSBR ALGR(BE_CIRC)
  91. #define BE_RSBR ALGR(BE_DLR)
  92. // Line 3
  93. #define BE_ACUT ALGR(BE_UGRV)
  94. #define BE_GRV ALGR(BE_MU)
  95. // Line 4
  96. #define BE_BSLS ALGR(BE_LESS)
  97. #define BE_TILT ALGR(BE_EQL)
  98. #endif