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.

164 lines
8.2 KiB

  1. /* Copyright 2016 heartsekai
  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_UDIA 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_ODIA KC_SCLN // ö
  74. #define CH_ADIA 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_EGRV S(CH_UDIA) // è
  117. #define CH_EXLM S(CH_DIAE) // !
  118. // Row 3
  119. #define CH_EACU S(CH_ODIA) // é
  120. #define CH_AGRV S(CH_ADIA) // à
  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_UDIA) // [
  152. #define CH_RBRC ALGR(CH_DIAE) // ]
  153. // Row 3
  154. #define CH_LCBR ALGR(CH_ADIA) // {
  155. #define CH_RCBR ALGR(CH_DLR) // }
  156. // Row 4
  157. #define CH_BSLS ALGR(CH_LABK) // (backslash)