keymap.c 42 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420
  1. #include QMK_KEYBOARD_H
  2. #include "spacebarracecar.h"
  3. #define LOWER MO(_LOWER)
  4. #define RAISE MO(_RAISE)
  5. #define LEFTNUM
  6. enum layers {
  7. _BASE,
  8. _RAISE,
  9. _LOWER,
  10. _GAME = _NAV+1
  11. };
  12. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  13. #ifdef LEFTNUM
  14. /* Base
  15. ,---------------------------------------------------------------------------------------------------------------------------------------------------------------.
  16. |- |* |/ |Numlock |` |1 |2 |3 |4 |5 |6 |7 |8 |9 |0 |\ |
  17. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  18. |+ |7 |8 |9 |Tab |Q |W |E |R |T |Z |U |I |O |P |Backspace|
  19. |---------+---------+---------+---------|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  20. |= |4 |5 |6 |Esc/Nav |A |S |D |F |G |H |J |K |L |; |' |
  21. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  22. |Backspace|1 |2 |3 |(/LShift |Y |X |C |V |B |N |M |, |. |/ |)/RShift |
  23. |---------+---------+---------+---------|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  24. |Enter |. |0 |00 |RCtrl | |Alt |Win |Lower |Space |Enter |Raise |Win |AltGr | |LCtrl |
  25. `---------------------------------------------------------------------------------------------------------------------------------------------------------------'
  26. */
  27. [_BASE] = LAYOUT(
  28. KC_PMNS, KC_PAST, KC_PSLS, KC_NLCK, CU_GRV, DE_1, DE_2, CU_3, DE_4, DE_5, CU_6, CU_7, CU_8, CU_9, CU_0, CU_BSLS,
  29. KC_PPLS, KC_P7, KC_P8, KC_P9, KC_TAB, DE_Q, DE_W, DE_E, DE_R, DE_T, CU_Z, DE_U, DE_I, DE_O, DE_P, KC_BSPC,
  30. CU_EQL, KC_P4, KC_P5, KC_P6, CU_NAV, DE_A, DE_S, DE_D, DE_F, DE_G, DE_H, DE_J, DE_K, DE_L, CU_SCLN, CU_QUOT,
  31. KC_BSPC, KC_P1, KC_P2, KC_P3, CU_LSFT, CU_Y, DE_X, DE_C, DE_V, DE_B, DE_N, DE_M, CU_COMM, CU_DOT, CU_SLSH, CU_RSFT,
  32. KC_PENT, KC_PDOT, KC_P0, KC_P00, KC_LCTL, XXXXXXX, KC_LGUI, KC_LALT, LOWER, KC_SPC, CTLENT, RAISE, KC_RALT, KC_RGUI, KC_APP, KC_RCTL
  33. ),
  34. /* Lower
  35. ,---------------------------------------------------------------------------------------------------------------------------------------------------------------.
  36. |- |* |/ |Numlock |` |1 |2 |3 |4 |5 |6 |7 |8 |9 |0 | |
  37. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  38. |+ |7 |8 |9 |~ |! |" |# |$ |% |^ |& |* |( |) | |
  39. |---------+---------+---------+---------|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  40. |= |4 |5 |6 | |@ |Strg+X |Strg+C |Strg+V | | |_ |+ |{ |} || |
  41. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  42. |Backspace|1 |2 |3 | |? | | | | | | | | | | |
  43. |---------+---------+---------+---------|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  44. |Enter |. |0 |00 | | | | | | | | | | | | |
  45. `---------------------------------------------------------------------------------------------------------------------------------------------------------------'
  46. */
  47. [_LOWER] = LAYOUT(
  48. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
  49. _______, _______, _______, _______, DE_TILD, DE_EXLM, DE_DQOT, DE_HASH, DE_DLR, DE_PERC, CU_CIRC, DE_AMPR, DE_ASTR, DE_LPRN, DE_RPRN, _______,
  50. _______, _______, _______, _______, _______, DE_AT, CTRLX, CTRLC, CTRLV, XXXXXXX, XXXXXXX, DE_UNDS, DE_PLUS, DE_LCBR, DE_RCBR, DE_PIPE,
  51. _______, _______, _______, _______, _______, DE_EURO, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DE_MINS, CU_EQL, CU_LBRC, CU_RBRC, _______,
  52. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
  53. ),
  54. /* Raise
  55. ,---------------------------------------------------------------------------------------------------------------------------------------------------------------.
  56. |- |* |/ |Numlock |` |1 |2 |3 |4 |5 |6 |7 |8 |9 |0 | |
  57. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  58. |+ |7 |8 |9 |` |1 |2 |3 |4 |5 |6 |7 |8 |9 |0 | |
  59. |---------+---------+---------+---------|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  60. |= |4 |5 |6 | |F1 |F2 |F3 |F4 |F5 |F6 |- |= |[ |] |\ |
  61. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  62. |Backspace|1 |2 |3 | |F7 |F8 |F9 |F10 |F11 |F12 | | | | | |
  63. |---------+---------+---------+---------|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  64. |Enter |. |0 |00 | | | | | | | | | | | | |
  65. `---------------------------------------------------------------------------------------------------------------------------------------------------------------'
  66. */
  67. [_RAISE] = LAYOUT(
  68. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
  69. _______, _______, _______, _______, CU_GRV, DE_1, DE_2, CU_3, DE_4, DE_5, CU_6, CU_7, CU_8, CU_9, CU_0, _______,
  70. _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, DE_MINS, CU_EQL, CU_LBRC, CU_RBRC, CU_BSLS,
  71. _______, _______, _______, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, _______, _______, _______, _______,
  72. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
  73. ),
  74. /* Deadkey
  75. ,---------------------------------------------------------------------------------------------------------------------------------------------------------------.
  76. |- |* |/ |Numlock | | | | | | | | | | | | |
  77. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  78. |+ |7 |8 |9 | | | | | | | |Ü | |Ö | | |
  79. |---------+---------+---------+---------|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  80. |= |4 |5 |6 | |Ä |ß | | | | | | | | | |
  81. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  82. |Backspace|1 |2 |3 | | | | | | | | | | | | |
  83. |---------+---------+---------+---------|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  84. |Enter |. |0 |00 | | | | | |" |" | | | | | |
  85. `---------------------------------------------------------------------------------------------------------------------------------------------------------------'
  86. */
  87. [_DEADKEY] = LAYOUT(
  88. _______, _______, _______, _______, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED,
  89. _______, _______, _______, _______, KC_TAB, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, CU_UE, CU_ED, CU_OE, CU_ED, _______,
  90. _______, _______, _______, _______, _______, CU_AE, CU_SS, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, CU_DDQ,
  91. _______, _______, _______, _______, _______, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, _______,
  92. _______, _______, _______, _______, _______, _______, _______, _______, _______, CU_DDQ, CU_DDQ, _______, _______, _______, _______, _______
  93. ),
  94. /* Navigation
  95. ,---------------------------------------------------------------------------------------------------------------------------------------------------------------.
  96. |- |* |/ |Numlock |Escape | | | | | | | | | | | |
  97. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  98. |+ |7 |8 |9 |ALT F4 |PageDown |Up |PageUp |Home | | | |Win+Up | | |Del |
  99. |---------+---------+---------+---------|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  100. |= |4 |5 |6 | |Left |Down |Right |End | | |Win+Left |Win+Down |Win+Right| |Enter |
  101. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  102. |Backspace|1 |2 |3 | |Prev |Pause |Next |LowerVol |RaiseVol |Mute | | | | | |
  103. |---------+---------+---------+---------|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  104. |Enter |. |0 |00 |RESET |ESCT | | | | | | | | | |Game |
  105. `---------------------------------------------------------------------------------------------------------------------------------------------------------------'
  106. */
  107. [_NAV] = LAYOUT(
  108. _______, _______, _______, _______, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
  109. _______, _______, _______, _______, ALTF4, KC_PGDN, KC_UP, KC_PGUP, KC_HOME, XXXXXXX, XXXXXXX, XXXXXXX, GUIU, XXXXXXX, XXXXXXX, KC_DEL,
  110. _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, XXXXXXX, XXXXXXX, GUIL, GUID, GUIR, EMOJI, KC_ENT,
  111. _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_VOLU, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
  112. _______, _______, _______, _______, RESET, CU_ESCT, _______, _______, _______, KC_SPC, CTLENT, _______, _______, _______, _______, CU_GAME
  113. ),
  114. // Can be used to place macros on the numpad
  115. [_GAME] = LAYOUT(
  116. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
  117. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
  118. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
  119. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
  120. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
  121. )
  122. #elif defined CENTERNUM
  123. /* Base
  124. ,---------------------------------------------------------------------------------------------------------------------------------------------------------------.
  125. |` |1 |2 |3 |4 |5 |Numlock |/ |* |= |6 |7 |8 |9 |0 |\ |
  126. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  127. |Tab |Q |W |E |R |T |7 |8 |9 |- |Z |U |I |O |P |Backspace|
  128. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  129. |Esc/Nav |A |S |D |F |G |4 |5 |6 |+ |H |J |K |L |; |' |
  130. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  131. |(/LShift |Y |X |C |V |B |1 |2 |3 |Tab |N |M |, |. |/ |)/RShift |
  132. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  133. |RCtrl | |Alt |Win |Lower |Space |00 |0 |. |Enter |Enter |Raise |Win |AltGr | |LCtrl |
  134. `---------------------------------------------------------------------------------------------------------------------------------------------------------------'
  135. */
  136. [_BASE] = LAYOUT(
  137. CU_GRV, DE_1, DE_2, CU_3, DE_4, DE_5, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, CU_6, CU_7, CU_8, CU_9, CU_0, CU_BSLS,
  138. KC_TAB, DE_Q, DE_W, DE_E, DE_R, DE_T, KC_P7, KC_P8, KC_P9, KC_PPLS, CU_Z, DE_U, DE_I, DE_O, DE_P, KC_BSPC,
  139. CU_NAV, DE_A, DE_S, DE_D, DE_F, DE_G, KC_P4, KC_P5, KC_P6, CU_EQL, DE_H, DE_J, DE_K, DE_L, CU_SCLN, CU_QUOT,
  140. CU_LSFT, CU_Y, DE_X, DE_C, DE_V, DE_B, KC_P1, KC_P2, KC_P3, KC_TAB, DE_N, DE_M, CU_COMM, CU_DOT, CU_SLSH, CU_RSFT,
  141. KC_LCTL, XXXXXXX, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_P00, KC_P0, KC_PDOT, KC_PENT, CTLENT, RAISE, KC_RALT, KC_RGUI, KC_APP, KC_RCTL
  142. ),
  143. /* Lower
  144. ,---------------------------------------------------------------------------------------------------------------------------------------------------------------.
  145. |` |1 |2 |3 |4 |5 |Numlock |/ |* |- |6 |7 |8 |9 |0 | |
  146. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  147. |~ |! |" |# |$ |% |7 |8 |9 |+ |^ |& |* |( |) | |
  148. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  149. | |@ |Strg+X |Strg+C |Strg+V | |4 |5 |6 |= | |_ |+ |{ |} || |
  150. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  151. | |? | | | | |1 |2 |3 |Tab | | | | | | |
  152. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  153. | | | | | | |00 |0 |. |Enter | | | | | | |
  154. `---------------------------------------------------------------------------------------------------------------------------------------------------------------'
  155. */
  156. [_LOWER] = LAYOUT(
  157. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
  158. DE_TILD, DE_EXLM, DE_DQOT, DE_HASH, DE_DLR, DE_PERC, _______, _______, _______, _______, CU_CIRC, DE_AMPR, DE_ASTR, DE_LPRN, DE_RPRN, _______,
  159. _______, DE_AT, CTRLX, CTRLC, CTRLV, XXXXXXX, _______, _______, _______, _______, XXXXXXX, DE_UNDS, DE_PLUS, DE_LCBR, DE_RCBR, DE_PIPE,
  160. _______, DE_EURO, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, XXXXXXX, DE_MINS, CU_EQL, CU_LBRC, CU_RBRC, _______,
  161. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
  162. ),
  163. /* Raise
  164. ,---------------------------------------------------------------------------------------------------------------------------------------------------------------.
  165. |` |1 |2 |3 |4 |5 |Numlock |/ |* |- |6 |7 |8 |9 |0 | |
  166. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  167. |` |1 |2 |3 |4 |5 |7 |8 |9 |+ |6 |7 |8 |9 |0 | |
  168. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  169. | |F1 |F2 |F3 |F4 |F5 |4 |5 |6 |= |F6 |- |= |[ |] |\ |
  170. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  171. | |F7 |F8 |F9 |F10 |F11 |1 |2 |3 |Tab |F12 | | | | | |
  172. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  173. | | | | | | |00 |0 |. |Enter | | | | | | |
  174. `---------------------------------------------------------------------------------------------------------------------------------------------------------------'
  175. */
  176. [_RAISE] = LAYOUT(
  177. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
  178. CU_GRV, DE_1, DE_2, CU_3, DE_4, DE_5, _______, _______, _______, _______, CU_6, CU_7, CU_8, CU_9, CU_0, _______,
  179. _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, _______, KC_F6, DE_MINS, CU_EQL, CU_LBRC, CU_RBRC, CU_BSLS,
  180. _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______, _______, _______, _______, KC_F12, XXXXXXX, _______, _______, _______, _______,
  181. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
  182. ),
  183. /* Deadkey
  184. ,---------------------------------------------------------------------------------------------------------------------------------------------------------------.
  185. | | | | | | |Numlock |/ |* |- | | | | | | |
  186. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  187. | | | | | | |7 |8 |9 |+ | |Ü | |Ö | | |
  188. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  189. | |Ä |ß | | | |4 |5 |6 |= | | | | | | |
  190. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  191. | | | | | | |1 |2 |3 |Tab | | | | | | |
  192. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  193. | | | | | |" |00 |0 |. |Enter |" | | | | | |
  194. `---------------------------------------------------------------------------------------------------------------------------------------------------------------'
  195. */
  196. [_DEADKEY] = LAYOUT(
  197. CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, _______, _______, _______, _______, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED,
  198. KC_TAB, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, _______, _______, _______, _______, CU_ED, CU_UE, CU_ED, CU_OE, CU_ED, _______,
  199. _______, CU_AE, CU_SS, CU_ED, CU_ED, CU_ED, _______, _______, _______, _______, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, CU_DDQ,
  200. _______, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, _______, _______, _______, _______, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, _______,
  201. _______, _______, _______, _______, _______, CU_DDQ, _______, _______, _______, _______, CU_DDQ, _______, _______, _______, _______, _______
  202. ),
  203. /* Navigation
  204. ,---------------------------------------------------------------------------------------------------------------------------------------------------------------.
  205. |Escape | | | | | |Numlock |/ |* |- | | | | | | |
  206. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  207. |ALT F4 |PageDown |Up |PageUp |Home | |7 |8 |9 |+ | | |Win+Up | | |Del |
  208. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  209. | |Left |Down |Right |End | |4 |5 |6 |= | |Win+Left |Win+Down |Win+Right| |Enter |
  210. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  211. | |Prev |Pause |Next |LowerVol |RaiseVol |1 |2 |3 |Tab |Mute | | | | | |
  212. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  213. |RESET |ESCT | | | | |00 |0 |. |Enter | | | | | |Game |
  214. `---------------------------------------------------------------------------------------------------------------------------------------------------------------'
  215. */
  216. [_NAV] = LAYOUT(
  217. KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
  218. ALTF4, KC_PGDN, KC_UP, KC_PGUP, KC_HOME, XXXXXXX, _______, _______, _______, _______, XXXXXXX, XXXXXXX, GUIU, XXXXXXX, XXXXXXX, KC_DEL,
  219. _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, XXXXXXX, _______, _______, _______, _______, XXXXXXX, GUIL, GUID, GUIR, EMOJI, KC_ENT,
  220. _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_VOLU, _______, _______, _______, _______, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
  221. RESET, CU_ESCT, _______, _______, _______, KC_SPC, _______, _______, _______, _______, CTLENT, _______, _______, _______, _______, CU_GAME
  222. ),
  223. // Can be used to place macros on the numpad
  224. [_GAME] = LAYOUT(
  225. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
  226. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
  227. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
  228. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
  229. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
  230. )
  231. #else
  232. /* Base
  233. ,---------------------------------------------------------------------------------------------------------------------------------------------------------------.
  234. |` |1 |2 |3 |4 |5 |6 |7 |8 |9 |0 |\ |Numlock |/ |* |= |
  235. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  236. |Tab |Q |W |E |R |T |Z |U |I |O |P |Backspace|7 |8 |9 |- |
  237. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  238. |Esc/Nav |A |S |D |F |G |H |J |K |L |; |' |4 |5 |6 |+ |
  239. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  240. |(/LShift |Y |X |C |V |B |N |M |, |. |/ |)/RShift |1 |2 |3 |Tab |
  241. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
  242. |RCtrl | |Alt |Win |Lower |Space |Enter |Raise |Win |AltGr | |LCtrl |00 |0 |. |Enter |
  243. `---------------------------------------------------------------------------------------------------------------------------------------------------------------'
  244. */
  245. [_BASE] = LAYOUT(
  246. CU_GRV, DE_1, DE_2, CU_3, DE_4, DE_5, CU_6, CU_7, CU_8, CU_9, CU_0, CU_BSLS, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
  247. KC_TAB, DE_Q, DE_W, DE_E, DE_R, DE_T, CU_Z, DE_U, DE_I, DE_O, DE_P, KC_BSPC, KC_P7, KC_P8, KC_P9, KC_PPLS,
  248. CU_NAV, DE_A, DE_S, DE_D, DE_F, DE_G, DE_H, DE_J, DE_K, DE_L, CU_SCLN, CU_QUOT, KC_P4, KC_P5, KC_P6, CU_EQL,
  249. CU_LSFT, CU_Y, DE_X, DE_C, DE_V, DE_B, DE_N, DE_M, CU_COMM, CU_DOT, CU_SLSH, CU_RSFT, KC_P1, KC_P2, KC_P3, KC_TAB,
  250. KC_LCTL, XXXXXXX, KC_LGUI, KC_LALT, LOWER, KC_SPC, CTLENT, RAISE, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_P00, KC_P0, KC_PDOT, KC_PENT
  251. ),
  252. /* Lower
  253. ,---------------------------------------------------------------------------------------------------------------------------------------------------------------.
  254. |` |1 |2 |3 |4 |5 |6 |7 |8 |9 |0 | |Numlock |/ |* |- |
  255. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  256. |~ |! |" |# |$ |% |^ |& |* |( |) | |7 |8 |9 |+ |
  257. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  258. | |@ |Strg+X |Strg+C |Strg+V | | |_ |+ |{ |} || |4 |5 |6 |= |
  259. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  260. | |? | | | | | | | | | | |1 |2 |3 |Tab |
  261. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
  262. | | | | | | | | | | | | |00 |0 |. |Enter |
  263. `---------------------------------------------------------------------------------------------------------------------------------------------------------------'
  264. */
  265. [_LOWER] = LAYOUT(
  266. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
  267. DE_TILD, DE_EXLM, DE_DQOT, DE_HASH, DE_DLR, DE_PERC, CU_CIRC, DE_AMPR, DE_ASTR, DE_LPRN, DE_RPRN, _______, _______, _______, _______, _______,
  268. _______, DE_AT, CTRLX, CTRLC, CTRLV, XXXXXXX, XXXXXXX, DE_UNDS, DE_PLUS, DE_LCBR, DE_RCBR, DE_PIPE, _______, _______, _______, _______,
  269. _______, DE_EURO, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DE_MINS, CU_EQL, CU_LBRC, CU_RBRC, _______, _______, _______, _______, _______,
  270. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
  271. ),
  272. /* Raise
  273. ,---------------------------------------------------------------------------------------------------------------------------------------------------------------.
  274. |` |1 |2 |3 |4 |5 |6 |7 |8 |9 |0 | |Numlock |/ |* |- |
  275. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  276. |` |1 |2 |3 |4 |5 |6 |7 |8 |9 |0 | |7 |8 |9 |+ |
  277. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  278. | |F1 |F2 |F3 |F4 |F5 |F6 |- |= |[ |] |\ |4 |5 |6 |= |
  279. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  280. | |F7 |F8 |F9 |F10 |F11 |F12 | | | | | |1 |2 |3 |Tab |
  281. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
  282. | | | | | | | | | | | | |00 |0 |. |Enter |
  283. `---------------------------------------------------------------------------------------------------------------------------------------------------------------'
  284. */
  285. [_RAISE] = LAYOUT(
  286. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
  287. CU_GRV, DE_1, DE_2, CU_3, DE_4, DE_5, CU_6, CU_7, CU_8, CU_9, CU_0, _______, _______, _______, _______, _______,
  288. _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, DE_MINS, CU_EQL, CU_LBRC, CU_RBRC, CU_BSLS, _______, _______, _______, _______,
  289. _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______,
  290. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
  291. ),
  292. /* Deadkey
  293. ,---------------------------------------------------------------------------------------------------------------------------------------------------------------.
  294. | | | | | | | | | | | | |Numlock |/ |* |- |
  295. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  296. | | | | | | | |Ü | |Ö | | |7 |8 |9 |+ |
  297. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  298. | |Ä |ß | | | | | | | | | |4 |5 |6 |= |
  299. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  300. | | | | | | | | | | | | |1 |2 |3 |Tab |
  301. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
  302. | | | | | |" |" | | | | | |00 |0 |. |Enter |
  303. `---------------------------------------------------------------------------------------------------------------------------------------------------------------'
  304. */
  305. [_DEADKEY] = LAYOUT(
  306. CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, _______, _______, _______, _______,
  307. KC_TAB, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, CU_UE, CU_ED, CU_OE, CU_ED, _______, _______, _______, _______, _______,
  308. _______, CU_AE, CU_SS, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, CU_DDQ, _______, _______, _______, _______,
  309. _______, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, CU_ED, _______, _______, _______, _______, _______,
  310. _______, _______, _______, _______, _______, CU_DDQ, CU_DDQ, _______, _______, _______, _______, _______, _______, _______, _______, _______
  311. ),
  312. /* Navigation
  313. ,---------------------------------------------------------------------------------------------------------------------------------------------------------------.
  314. |Escape | | | | | | | | | | | |Numlock |/ |* |- |
  315. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  316. |ALT F4 |PageDown |Up |PageUp |Home | | | |Win+Up | | |Del |7 |8 |9 |+ |
  317. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  318. | |Left |Down |Right |End | | |Win+Left |Win+Down |Win+Right| |Enter |4 |5 |6 |= |
  319. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
  320. | |Prev |Pause |Next |LowerVol |RaiseVol |Mute | | | | | |1 |2 |3 |Tab |
  321. |---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
  322. |RESET |ESCT | | | | | | | | | |Game |00 |0 |. |Enter |
  323. `---------------------------------------------------------------------------------------------------------------------------------------------------------------'
  324. */
  325. [_NAV] = LAYOUT(
  326. KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______,
  327. ALTF4, KC_PGDN, KC_UP, KC_PGUP, KC_HOME, XXXXXXX, XXXXXXX, XXXXXXX, GUIU, XXXXXXX, XXXXXXX, KC_DEL, _______, _______, _______, _______,
  328. _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, XXXXXXX, XXXXXXX, GUIL, GUID, GUIR, EMOJI, KC_ENT, _______, _______, _______, _______,
  329. _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_VOLU, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______,
  330. RESET, CU_ESCT, _______, _______, _______, KC_SPC, CTLENT, _______, _______, _______, _______, CU_GAME, _______, _______, _______, _______
  331. ),
  332. // Can be used to place macros on the numpad
  333. [_GAME] = LAYOUT(
  334. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
  335. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
  336. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
  337. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
  338. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
  339. )
  340. #endif
  341. };
  342. bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
  343. switch (keycode) {
  344. case MO(_LOWER):
  345. if (game){
  346. if(record->event.pressed) {
  347. register_code(KC_SPC);
  348. } else {
  349. unregister_code(KC_SPC);
  350. }
  351. return false;
  352. } else {
  353. return true;
  354. }
  355. case KC_LALT:
  356. if (game) {
  357. if (record->event.pressed){
  358. layer_on(_RAISE);
  359. } else {
  360. layer_off(_RAISE);
  361. }
  362. return false;
  363. } else {
  364. return true;
  365. }
  366. case CU_GAME:
  367. if(record->event.pressed) {
  368. if (game)
  369. layer_on(_GAME);
  370. else
  371. layer_off(_GAME);
  372. }
  373. return false;
  374. default:
  375. return true;
  376. }
  377. }