keymap.c 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254
  1. #include QMK_KEYBOARD_H
  2. #include "debug.h"
  3. #include "action_layer.h"
  4. #define BASE 0 // Base layer - QWERTY
  5. #define SPEC 1 // Special keys favoring programming in c-like languages
  6. #define NUM 2 // Numeric layer with number row functional keys
  7. #define ___ KC_TRNS
  8. #define BSLASH LSFT(KC_SLSH)
  9. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  10. [BASE] = LAYOUT_ergodox(
  11. // Left side
  12. /*=========================================================================================================*/
  13. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  14. /**/ KC_VOLU, /**/ KC_1, /**/ KC_2, /**/ KC_3, /**/ KC_4, /**/ KC_5, /**/ KC_F11, /**/
  15. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  16. /*=========================================================================================================*/
  17. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  18. /**/ KC_VOLD, /**/ KC_Q, /**/ KC_W, /**/ KC_E, /**/ KC_R, /**/ KC_T, /**/ KC_ESC, /**/
  19. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  20. /*==========================================================================================*/ /**/
  21. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  22. /**/ KC_MPLY, /**/ KC_A, /**/ KC_S, /**/ KC_D, /**/ KC_F, /**/ KC_G, /*===============*/
  23. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  24. /*==========================================================================================*/ /**/
  25. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  26. /**/ KC_MUTE, /**/ KC_Z, /**/ KC_X, /**/ KC_C, /**/ KC_V, /**/ KC_B, /**/ KC_BSPC, /**/
  27. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  28. /*=========================================================================================================*/
  29. /**/ /**/ /**/ /**/ /**/ /**/
  30. /**/ ___, /**/ ___, /**/ ___, /**/ KC_RALT, /**/ KC_LCTL, /**/
  31. /**/ /**/ /**/ /**/ /**/ /**/
  32. /*=======================================================================*/
  33. /*==============================*/
  34. /**/ /**/ /**/
  35. /**/ ___, /**/ KC_DEL, /**/
  36. /**/ /**/ /**/
  37. /*=============================================*/
  38. /**/ /**/ /**/ /**/
  39. /**/ /**/ /**/ KC_LALT, /**/
  40. /**/ /**/ /**/ /**/
  41. /**/ /**/ /*===============*/
  42. /**/ /**/ /**/ /**/
  43. /**/ KC_SPACE, /**/ KC_LGUI, /**/ KC_LCTL, /**/
  44. /**/ /**/ /**/ /**/
  45. /*=============================================*/
  46. // Right side
  47. //
  48. /*=========================================================================================================*/
  49. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  50. /**/ KC_F12, /**/ KC_1, /**/ KC_2, /**/ KC_3, /**/ KC_4, /**/ KC_5, /**/ ___, /**/
  51. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  52. /*=========================================================================================================*/
  53. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  54. /**/ ___, /**/ KC_Y, /**/ KC_U, /**/ KC_I, /**/ KC_O, /**/ KC_P, /**/ ___, /**/
  55. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  56. /**/ /*==========================================================================================*/
  57. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  58. /*===============*/ KC_H, /**/ KC_J, /**/ KC_K, /**/ KC_L, /**/ KC_SCLN, /**/ ___, /**/
  59. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  60. /**/ /*==========================================================================================*/
  61. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  62. /**/ KC_ENT, /**/ KC_N, /**/ KC_M, /**/ KC_COMM, /**/ KC_DOT, /**/ KC_SLSH, /**/ ___, /**/
  63. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  64. /*=========================================================================================================*/
  65. /**/ /**/ /**/ /**/ /**/ /**/
  66. /**/ MO(NUM), /**/ ___, /**/ ___, /**/ ___, /**/ ___, /**/
  67. /**/ /**/ /**/ /**/ /**/ /**/
  68. /*=======================================================================*/
  69. /*==============================*/
  70. /**/ /**/ /**/
  71. /**/ ___, /**/ ___, /**/
  72. /**/ /**/ /**/
  73. /*=============================================*/
  74. /**/ /**/ /**/ /**/
  75. /**/ ___, /**/ /**/ /**/
  76. /**/ /**/ /**/ /**/
  77. /*===============*/ /**/ /**/
  78. /**/ /**/ /**/ /**/
  79. /**/ ___, /**/ KC_RSFT, /**/ MO(SPEC) /**/
  80. /**/ /**/ /**/ /**/
  81. /*=============================================*/
  82. ),
  83. [SPEC] = LAYOUT_ergodox(
  84. // Left side
  85. /*=========================================================================================================*/
  86. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  87. /**/ ___, /**/ KC_EXLM, /**/ KC_AT, /**/ KC_HASH, /**/ KC_DLR, /**/ KC_PERC, /**/ ___, /**/
  88. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  89. /*=========================================================================================================*/
  90. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  91. /**/ ___, /**/ KC_GRV, /**/ KC_QUOT, /**/ KC_LCBR, /**/ KC_RCBR, /**/ KC_PLUS, /**/ KC_ESC, /**/
  92. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  93. /*==========================================================================================*/ /**/
  94. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  95. /**/ ___, /**/ KC_TAB, /**/ KC_ASTR, /**/ KC_LPRN, /**/ KC_RPRN, /**/ KC_EQUAL, /*===============*/
  96. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  97. /*==========================================================================================*/ /**/
  98. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  99. /**/ ___, /**/ KC_HASH, /**/ KC_PERC, /**/ KC_LBRC, /**/ KC_RBRC, /**/ KC_MINUS, /**/ KC_BSPC, /**/
  100. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  101. /*=========================================================================================================*/
  102. /**/ /**/ /**/ /**/ /**/ /**/
  103. /**/ ___, /**/ ___, /**/ ___, /**/ KC_LALT, /**/ KC_LCTL, /**/
  104. /**/ /**/ /**/ /**/ /**/ /**/
  105. /*=======================================================================*/
  106. /*==============================*/
  107. /**/ /**/ /**/
  108. /**/ ___, /**/ KC_DEL, /**/
  109. /**/ /**/ /**/
  110. /*=============================================*/
  111. /**/ /**/ /**/ /**/
  112. /**/ /**/ /**/ KC_LALT, /**/
  113. /**/ /**/ /**/ /**/
  114. /**/ /**/ /*===============*/
  115. /**/ /**/ /**/ /**/
  116. /**/ KC_SPACE, /**/ KC_LGUI, /**/ KC_LCTL, /**/
  117. /**/ /**/ /**/ /**/
  118. /*=============================================*/
  119. // Right side
  120. //
  121. /*=========================================================================================================*/
  122. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  123. /**/ ___, /**/ KC_CIRC, /**/ KC_AMPR, /**/ KC_ASTR, /**/ KC_LPRN, /**/ KC_RPRN, /**/ ___, /**/
  124. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  125. /*=========================================================================================================*/
  126. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  127. /**/ ___, /**/ KC_AMPR, /**/ KC_HOME, /**/ KC_UP, /**/ KC_END, /**/ KC_CIRC, /**/ KC_F7, /**/
  128. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  129. /**/ /*==========================================================================================*/
  130. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  131. /*===============*/ KC_EXLM, /**/ KC_LEFT, /**/ KC_DOWN, /**/ KC_RIGHT, /**/ KC_COLN, /**/ KC_F8, /**/
  132. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  133. /**/ /*==========================================================================================*/
  134. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  135. /**/ KC_ENT, /**/ KC_PIPE, /**/ KC_UNDS, /**/ KC_LT, /**/ KC_GT, /**/ KC_BSLS, /**/ KC_F9, /**/
  136. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  137. /*=========================================================================================================*/
  138. /**/ /**/ /**/ /**/ /**/ /**/
  139. /**/ ___, /**/ ___, /**/ ___, /**/ ___, /**/KC_F10,/**/
  140. /**/ /**/ /**/ /**/ /**/ /**/
  141. /*=======================================================================*/
  142. /*==============================*/
  143. /**/ /**/ /**/
  144. /**/ ___, /**/ ___, /**/
  145. /**/ /**/ /**/
  146. /*=============================================*/
  147. /**/ /**/ /**/ /**/
  148. /**/ ___, /**/ /**/ /**/
  149. /**/ /**/ /**/ /**/
  150. /*===============*/ /**/ /**/
  151. /**/ /**/ /**/ /**/
  152. /**/ ___, /**/ KC_RSFT, /**/ ___ /**/
  153. /**/ /**/ /**/ /**/
  154. /*=============================================*/
  155. ),
  156. [NUM] = LAYOUT_ergodox(
  157. // Left side
  158. /*=========================================================================================================*/
  159. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  160. /**/ ___, /**/ KC_F1, /**/ KC_F2, /**/ KC_F3, /**/ KC_F4, /**/ KC_F5, /**/ KC_F11, /**/
  161. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  162. /*=========================================================================================================*/
  163. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  164. /**/ ___, /**/ KC_EXLM, /**/ KC_AT, /**/ KC_HASH, /**/ KC_DLR, /**/ KC_PERC, /**/ KC_ESC, /**/
  165. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  166. /*==========================================================================================*/ /**/
  167. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  168. /**/ ___, /**/ KC_1, /**/ KC_2, /**/ KC_3, /**/ KC_4, /**/ KC_5, /*===============*/
  169. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  170. /*==========================================================================================*/ /**/
  171. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  172. /**/ ___, /**/ KC_HASH, /**/ KC_PERC, /**/ KC_LBRC, /**/ KC_RBRC, /**/ KC_MINUS, /**/ KC_BSPC, /**/
  173. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  174. /*=========================================================================================================*/
  175. /**/ /**/ /**/ /**/ /**/ /**/
  176. /**/ ___, /**/ ___, /**/ ___, /**/ KC_LALT, /**/ KC_LCTL, /**/
  177. /**/ /**/ /**/ /**/ /**/ /**/
  178. /*=======================================================================*/
  179. /*==============================*/
  180. /**/ /**/ /**/
  181. /**/ ___, /**/ KC_DEL, /**/
  182. /**/ /**/ /**/
  183. /*=============================================*/
  184. /**/ /**/ /**/ /**/
  185. /**/ /**/ /**/ KC_LALT, /**/
  186. /**/ /**/ /**/ /**/
  187. /**/ /**/ /*===============*/
  188. /**/ /**/ /**/ /**/
  189. /**/ KC_SPACE, /**/ KC_LGUI, /**/ KC_LCTL, /**/
  190. /**/ /**/ /**/ /**/
  191. /*=============================================*/
  192. // Right side
  193. //
  194. /*=========================================================================================================*/
  195. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  196. /**/ KC_F12, /**/ KC_F6, /**/ KC_F7, /**/ KC_F8, /**/ KC_F9, /**/ KC_F10, /**/ ___, /**/
  197. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  198. /*=========================================================================================================*/
  199. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  200. /**/ ___, /**/ KC_CIRC, /**/ KC_AMPR, /**/ KC_ASTR, /**/ KC_LPRN, /**/ KC_RPRN, /**/ ___, /**/
  201. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  202. /**/ /*==========================================================================================*/
  203. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  204. /*===============*/ KC_6, /**/ KC_7, /**/ KC_8, /**/ KC_9, /**/ KC_0, /**/ ___, /**/
  205. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  206. /**/ /*==========================================================================================*/
  207. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  208. /**/ KC_ENT, /**/ KC_PIPE, /**/ KC_UNDS, /**/ KC_COMM, /**/ KC_DOT, /**/ KC_BSLS, /**/ ___, /**/
  209. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  210. /*=========================================================================================================*/
  211. /**/ /**/ /**/ /**/ /**/ /**/
  212. /**/ ___, /**/ ___, /**/ ___, /**/ ___, /**/ ___, /**/
  213. /**/ /**/ /**/ /**/ /**/ /**/
  214. /*=======================================================================*/
  215. /*==============================*/
  216. /**/ /**/ /**/
  217. /**/ ___, /**/ ___, /**/
  218. /**/ /**/ /**/
  219. /*=============================================*/
  220. /**/ /**/ /**/ /**/
  221. /**/ ___, /**/ /**/ /**/
  222. /**/ /**/ /**/ /**/
  223. /*===============*/ /**/ /**/
  224. /**/ /**/ /**/ /**/
  225. /**/ ___, /**/ KC_RSFT, /**/ ___ /**/
  226. /**/ /**/ /**/ /**/
  227. /*=============================================*/
  228. ),
  229. };