keymap_belgian.h 2.5 KB

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