keymap_swiss_de.h 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  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)