2
0

keymap.c 23 KB

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